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 |