DICL3 ;SF/TKW-VA FileMan: Lookup: Lister, Part 4 ;1/26/99 08:32 [ 04/02/2003 8:25 AM ]
Source file <DICL3.m>
| Package | Total | Call Graph | 
|---|---|---|
| VA Fileman | 3 | WALK^DICLIX (BLDB,TMPB)^DICUIX1 ($$CREF,$$OREF)^DIQGU | 
| Package | Total | Caller Graph | 
|---|---|---|
| VA Fileman | 4 | DICF5 DICL10 DICLIX DICUIX1 | 
| Name | Comments | DBIA/ICR reference | 
|---|---|---|
| F1 | ; increment stack level, loop increments at top ; if pointing file lacks B index, store that in stack | |
| F2 | ; Find data type of .01 field of pointed-to file, process ; end of pointer chain. | |
| F3 | ; Advance file number, Process regular pointers within pointer chain. | |
| F4 | ; Process variable pointers within the pointer chain. | |
| SETB | ; Set temporary "B" index on pointed-to files. | |
| BACKTRAK(DIFLAGS,DIFILE,DISTACK,DIEN,DIFIEN,DINDEX0,DINDEX,DIDENT,DISCREEN,DILIST) | ; | |
| B1 | ; back up one level on stack, recover file #, root, and index file, ; and set value to match equal to the previous level's ien value | |
| B2 | ; loop through matches on pointer index, ; quit when no matches, if not back to root of pointer chain yet, ; make another recursive call to BACKTRAK to unwind to pointing ; file's matches | |
| FOLLOW(DIFILE,DIF,DIDEF,DICHNNO,DILVL,DIFRFILE,DIFIELD,DIDXFILE,DIVPTR,DISUB,DISCREEN) | ; | 
| Name | Line Occurrences (* Changed, ! Killed) | 
|---|---|
| ^DD( | F3+5, F4+3, F4+8 | 
| ^DIC - [#1] | F4+5 | 
| Name | Line Occurrences | 
|---|---|
| BACKTRAK | B2+9 | 
| FOLLOW | F3+6, F4+10 | 
| Name | Field # of Occurrence | 
|---|---|
| ^( | F4+3 | 
| >> | Not killed explicitly | 
| * | Changed | 
| ! | Killed | 
| ~ | Newed | 
| Name | Field # of Occurrence | 
|---|---|
| >> DIC | B1+16 | 
| DICHNNO | FOLLOW~, F2+4, F2+6, F2+10*, F3+6, F4+10 | 
| DIDEF | FOLLOW~, F2+2, F3+3, F3+4, F3+5*, F3+6, F4+8*, F4+10 | 
| DIDENT | BACKTRAK~, B1+16, B2+9 | 
| DIDXFILE | FOLLOW~, F1+4 | 
| DIEN | BACKTRAK~, B1+6, B1+7, B1+12*, B1+13*, B1+16, B2+5*, B2+7*, B2+8, B2+9 | 
| >> DIERR | B2+5 | 
| DIF | FOLLOW~, F3+6, F4+10 | 
| DIF( | F1+6*, F2+8, F2+9 | 
| DIF(1 | F1+4* | 
| DIFIELD | FOLLOW~, F4+2*, F4+3 | 
| DIFIEN | BACKTRAK~, B1+16, B2+9 | 
| DIFILE | FOLLOW~, F1+4, F1+6, F1+7, F1+8, F2+4, F2+6, F2+8*, F2+9, F3+1 , F3+3*, F3+4, F3+5, F3+6, F4+3, F4+5*, F4+6*, F4+7, F4+8, F4+10 , F4+11*, BACKTRAK~, B1+14*, B1+16, B1+17*, B2+9 | 
| DIFILE( | F1+7*, F1+8*, F3+4*, F4+7*, B1+7, B1+11, B2+6, SETB+3, SETB+5*, SETB+6 | 
| DIFILE("STACK" | F2+6*, B1+3, B1+17, SETB+1, SETB+3 | 
| DIFILE("STACKEND" | F2+4* | 
| DIFL | SETB+2~, SETB+3*, SETB+4, SETB+5, SETB+6 | 
| DIFLAGS | BACKTRAK~, B1+15, B2+9 | 
| DIFRFILE | FOLLOW~, F1+6, F2+6, F2+9*, F3+1~*, F3+6, F4+5, F4+6, F4+10, F4+11 | 
| DILIST | BACKTRAK~, B1+16, B2+9 | 
| DILVL | FOLLOW~, F1+3*, F1+4, F1+5, F1+6, F2+4, F2+5, F3+6, F4+6, F4+9 , F4+10, F4+11* | 
| DINDEX | BACKTRAK~, B1+16, B2+9 | 
| DINDEX( | F4+6 | 
| DINDEX0 | BACKTRAK~, B1+16, B2+9 | 
| DINDEX0(1 | B1+13* | 
| DIROOT1 | B1+11~*, B1+12, B2+6~*, B2+7 | 
| DISAVL | F4+9~*, F4+11 | 
| DISCREEN | FOLLOW~, BACKTRAK~, B1+16, B2+9 | 
| DISCREEN("V" | F4+6 | 
| DISTACK | BACKTRAK~, B1+3, B1+7, B1+9*, B1+10, B2+9 | 
| DISUB | FOLLOW~, F4+6 | 
| DITEMP | SETB+2~, SETB+4, SETB+5, SETB+6 | 
| DIVALUE | B1+5~, B1+6*, B1+7*, B1+12, B1+13, B2+7 | 
| DIVP | F4+1~, F4+3* | 
| DIVPTR | FOLLOW~, F1+6, F2+6, F2+9*, B1+3~, B1+4*, B1+6 | 
| F | F2+5~, F2+9*, B1+3~*, B1+4*, B1+9, B1+11, B1+14, B1+15*, B1+16, B2+6 | 
| G | F4+1~, F4+3*, F4+4, F4+5*, F4+6, F4+7 | 
| I | SETB+2~, SETB+3* | 
| J | SETB+2~, SETB+3* | 
| L | F2+5~*, F2+6, F2+7, F2+8, F2+9 | 
| T | F2+2~*, F2+3, F3+2 | 
| U | F1+4, F1+6, F2+2, F2+4, F2+6, F2+9, F3+3, F3+4, B1+3, B1+4 , B1+7, B1+9, B1+10, B1+17 |