1: / tmg tables and global definitions
   2: 
   3: / in addition to these definitions each routine
   4: / follows the convention
   5: / f = stack frame pointer during parse and translation
   6: / g = stack frame end during parse
   7: / i = interprested instruction counter during parse and translation
   8: 
   9: .globl tables
  10: .globl x,si,j,k,n,g1,env
  11: .globl ek,ek.fs,ep,ep.fs,fs
  12: .globl lptr,sptr,rptr
  13: .globl outb,outt,outw
  14: .globl stkt,stkb,stke
  15: .globl ktat,ktab
  16: .globl input,cfile,lfile,dfile,ofile
  17: 
  18: / parse stack frame layout
  19: / 0 is previous frame pointer
  20: / return address in (sp)
  21: x = 2.  /exit bit, nonzero at end of rule
  22: si = 4. / save location for instruction counter
  23: j = 6.  / input cursor counts characters
  24: k = 8.  / ktable water mark, last use location relative to base
  25: n = 10. /address of ignored character class
  26: env = 12.       / frame pointer for static environment
  27: g1 = 14.        / frame length during parse
  28: 
  29: /symbol table entry layout
  30: /word 0 is for customer
  31: lptr=2. /index of next entry on tree to left
  32: rptr=4. /index of next entry to right
  33: sptr=6. /first character of string in this entry
  34:                 /next char is in 7, etc
  35: 
  36: / translation frame layout
  37: / used as ek(f), ep(f), etc
  38: / x and si have same meaning as in parse stack frame
  39: / return address in (sp)
  40: ek = 0  / k environment, frame where bunlde address is in si
  41: ep = 6  / p environment, frame where si points to parameter list
  42: fs = 10 / frame size
  43: ek.fs = ek+fs   / k environment in next frame
  44: ep.fs = ep+fs   / p env in next frame
  45: 
  46: .data
  47: 
  48: tables = .      /marks break between routines and tables
  49: 
  50: outt = 64.      / output buffer top
  51: stkt = 800.     /stack top for (f), not for (sp)
  52: ktat = 1200.    / k table top
  53: 
  54: 
  55: input: -1       / stream number of input
  56: cfile: 1        / stream number of current output
  57: lfile: 1        / last current output
  58: dfile: 2        / diagnostic file
  59: ofile: 1        /output file
  60: 
  61: 
  62: outw: 0 / output write pointer, number of chars in buffer
  63: .bss
  64: outb: .=.+outt  /output buffer
  65: 
  66: 
  67: 
  68: ktab: . = .+ktat        / contains translation rules that have been bundled
  69: 
  70: stkb: . = .+stkt        / stack, (f) ponts into this
  71: stke = .        /stack end

Defined functions

ek declared in line 11; defined in line 40; used 7 times
ek.fs declared in line 11; defined in line 43; used 3 times
env declared in line 10; defined in line 26; used 6 times
ep declared in line 11; defined in line 41; used 4 times
ep.fs declared in line 11; defined in line 44; used 4 times
fs declared in line 11; defined in line 42; used 7 times
g1 declared in line 10; defined in line 27; used 5 times
j declared in line 10; defined in line 23; used 7 times
k declared in line 10; defined in line 24; used 12 times
lptr declared in line 12; defined in line 31; used 1 times
  • in line 12
n declared in line 10; defined in line 25; used 5 times
rptr declared in line 12; defined in line 32; used 1 times
  • in line 12
si declared in line 10; defined in line 22; used 13 times
sptr declared in line 12; defined in line 33; used 1 times
  • in line 12
x declared in line 10; defined in line 21; used 10 times

Defined variables

cfile declared in line 16; defined in line 56; used 10 times
dfile declared in line 16; defined in line 58; used 4 times
input declared in line 16; defined in line 55; used 3 times
ktab declared in line 15; defined in line 68; used 6 times
ktat declared in line 15; defined in line 52; used 5 times
lfile declared in line 16; defined in line 57; used 5 times
ofile declared in line 16; defined in line 59; used 4 times
outb declared in line 13; defined in line 64; used 4 times
outt declared in line 13; defined in line 50; used 4 times
outw declared in line 13; defined in line 62; used 6 times
stkb declared in line 14; defined in line 70; used 3 times
stke declared in line 14; defined in line 71; used 3 times
stkt declared in line 14; defined in line 51; used 2 times
tables declared in line 9; defined in line 48; used 5 times
Last modified: 1975-05-14
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 493
Valid CSS Valid XHTML 1.0 Strict