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 |