DICF4 ;SEA/TOAD,SF/TKW-VA FileMan: Finder, (pointer indexes) ;15NOV2012
Source file <DICF4.m>
| Name | Comments | DBIA/ICR reference | 
|---|---|---|
| P2 | ; Process variable pointer | |
| P3 | ||
| P1 | ; Process regular pointer | |
| ERR(DIERN,DIFILE,DIIENS,DIFIELD,DI1,DI2,DI3) | ; ; error logging procedure | |
| SETDA(DIEN) | ; Return code that sets DA array to current level when pointer field is in a multiple.  DA itself=DA(1). | |
| DIC(DIC,DIEN,DIFILE,DINDEX,DIVALUE,DITARGET) | ; If we were called from ^DIC, we want to do recursive lookup there. | |
| BLDSCR(DISCR,DINEW,DIPRV,DIFL,DINDEX,DISCREEN,DIFILE) | ; Build screen to make sure entry is in pointer index. | |
| SETIX(DIFORCE,DINDEX,DIX,DIF) | ; If user passes list of indexes to use on pointed-to file, set up to use them. | |
| POINT(DIFILE,DIFLAGS,DINDEX,DIDENT,DIEN,DIFIEN,DISCREEN,DIVALUE,DIC,DIFORCE) | ; ; PREPIX^DICF2--transform value for indexed pointer field | |
| NUM | ||
| P21 | 
| Name | Line Occurrences (* Changed, ! Killed) | 
|---|---|
| ^DD( | P3+1, DIC+3 | 
| ^DIC - [#1] | P3+5 | 
| Name | Line Occurrences | 
|---|---|
| $$SETDA | DIC+9 | 
| BLDSCR | NUM+3, P3+17 | 
| DIC | P1+4, P2+2 | 
| P3 | P21, P21+1 | 
| SETIX | NUM+1, P3+8 | 
| Name | Field # of Occurrence | 
|---|---|
| ^( | P3+1 | 
| >> | Not killed explicitly | 
| * | Changed | 
| ! | Killed | 
| ~ | Newed | 
| Name | Field # of Occurrence | 
|---|---|
| % | SETIX+1~, SETIX+2*, SETIX+3, SETDA+1~, SETDA+2*, DIC+1~, DIC+3* | 
| %Y | DIC+1~, DIC+3* | 
| D | DIC+1~, DIC+2* | 
| DA | DIC+9~ | 
| DD | DIC+1~, DIC+3* | 
| DF | DIC+1~, DIC+2* | 
| DI | ERR+3~* | 
| DI1 | ERR~ | 
| DI2 | ERR~ | 
| DI3 | ERR~ | 
| DIC | POINT~, P1+4, P2+2, DIC~, DIC+8~* | 
| DICODE | SETDA+1~*, SETDA+2*, SETDA+3 | 
| DICR | DIC+4*, DIC+10*! | 
| DICR( | DIC+10! | 
| DICRS | DIC+1~ | 
| DICSUBS | BLDSCR+1~*, BLDSCR+4 | 
| DID | DIC+1~ | 
| DIDENT | POINT~ | 
| DIEN | POINT~, P1+4, P2+2, SETDA~, DIC~, DIC+9~ | 
| DIEN( | SETDA+2 | 
| DIEN(1 | SETDA+1 | 
| DIERN | ERR~, ERR+4 | 
| >> DIERR | NUM+5, P2+3, P21, P21+2, P3+1, P3+9 | 
| DIF | POINT+2~, POINT+3*, POINT+4*, NUM+1, NUM+2~*, NUM+4, P3+7, SETIX~, SETIX+4*, SETIX+5* | 
| DIF1 | P3~, P3+2!, P3+7*, P3+8, P3+9, P3+13*, P3+19 | 
| DIFIELD | ERR~ | 
| DIFIEN | POINT~ | 
| DIFILE | POINT~, P1+4, NUM+3, P2+2, P3+17, BLDSCR~, BLDSCR+6, BLDSCR+8, DIC~, DIC+2 , DIC+6~, ERR~ | 
| DIFILE( | BLDSCR+6, BLDSCR+8 | 
| DIFILE("CHAIN" | NUM+2, P3+16 | 
| DIFILES | P2+6~, P2+8, P21+1! | 
| DIFILES( | P3+3 | 
| DIFILES(0 | P21+1, P3+3, P3+11 | 
| DIFINDER | DIC+1~, DIC+7* | 
| DIFL | POINT+2~, P1+2*, NUM+3, NUM+4, P3+2!, P3+7*, P3+9, P3+17, P3+19, SETIX+2 , BLDSCR~, BLDSCR+3 | 
| DIFL( | BLDSCR+3 | 
| DIFL("CHAIN" | NUM+2*, P3+16* | 
| DIFLAGS | POINT~, POINT+3, POINT+4, P1+4, P1+5, P2+1 | 
| DIFORCE | POINT~, NUM+1, P3+8, SETIX~ | 
| DIFORCE("PTRIX" | NUM+1, P3+8, SETIX+1 | 
| DIIENS | ERR~ | 
| DINDEX | POINT~, P1+4, NUM+1, NUM+3, P2+2, P3+8, P3+17, SETIX~, BLDSCR~, BLDSCR+6 , BLDSCR+8, DIC~, DIC+3 | 
| DINDEX( | P3+6 | 
| DINDEX("#" | BLDSCR+5 | 
| DINDEX("START" | DIC+2 | 
| DINDEX(1 | P1+1, P1+2, NUM+6*, P2+4*, P2+8, P21+3*, P3+1, SETIX+2, BLDSCR+3, DIC+3 | 
| DINEW | POINT+2~, POINT+7*, POINT+8*, NUM+3, P3+17, BLDSCR~, BLDSCR+2, BLDSCR+4, BLDSCR+6, BLDSCR+8 | 
| DINUM | DIC+1~ | 
| DIPE | ERR+2~, ERR+4 | 
| DIPE( | ERR+3* | 
| DIPRV | POINT+2~, POINT+7*, POINT+8, NUM+3, P3+17, BLDSCR~, BLDSCR+2 | 
| DIPVAL | POINT+2~, NUM+4, P3+2!, P3+19 | 
| DIPVAL(1 | P1+3*, P3+11*, P3+14* | 
| DIS1 | P3~, P3+2!, P3+10*, P3+17, P3+19 | 
| DIS1(1 | P3+11* | 
| DISCR | POINT+2~, NUM+3, NUM+4, P3+10, BLDSCR~ | 
| DISCR( | POINT+7*, BLDSCR+2*, BLDSCR+6*, BLDSCR+8* | 
| DISCR("S" | BLDSCR+4* | 
| DISCR(1 | P1+3* | 
| DISCREEN | POINT~, NUM+3, P3+17, BLDSCR~ | 
| DISCREEN( | POINT+7 | 
| DISCREEN("S" | BLDSCR+2 | 
| DISCREEN("V" | P3+4 | 
| DISCREEN(1 | P1+3, P3+11 | 
| DISKIP | POINT+2~ | 
| >> DISUB | P3+6 | 
| DITARGET | POINT+2~, POINT+5, P1+4, NUM+4, NUM+5, NUM+6, P2+2, P2+3, P2+4, P21 , P21+1, P21+2, P21+3, P3+18, P3+19, DIC~, DIC+13 | 
| DITARGET("C" | POINT+6*, P3+18* | 
| DIVAL | DIC+1~ | 
| DIVAL(0 | DIC+2* | 
| DIVAL(1 | DIC+2* | 
| DIVALUE | POINT~, P1+4, P2+2, DIC~ | 
| DIVALUE(1 | P1+3, P2+6, P2+7, P3+11, P3+14, DIC+2 | 
| DIVP | P3~, P3+1* | 
| DIX | POINT+2~, POINT+3*, NUM+1, NUM+4, P3+2!*, P3+8, P3+19, SETIX~, SETIX+3*, SETIX+4 | 
| DIX("PTRIX" | SETIX+1*, SETIX+2 | 
| DO | DIC+1~ | 
| DO(2 | DIC+2* | 
| DS | DIC+1~, DIC+3* | 
| F | NUM+2~*! | 
| G | P3~, P3+4, P3+5*, P3+6* | 
| I | P3~, BLDSCR+3~*, BLDSCR+4, DIC+6~, DIC+8*! | 
| U | P1+2, SETIX+4, BLDSCR+3, DIC+13 | 
| V | P2+7~*, P2+8 | 
| X | P3~, P3+1*, P3+3, P3+5, P3+7, DIC+1~, DIC+2*, DIC+13 | 
| Y | DIC+1~, DIC+3*, DIC+10, DIC+12, DIC+13 |