GET "LibHdr"

GET "b.Ops"

// MANIFESTs shared between the various phases.

MANIFEST {
   MajorVersion = 2; MinorVersion = 4 }

MANIFEST {
// Default extension level allowed
   default.extension.level = 10000

// Structure of a stream data element
   st.stream = 0; st.input = 1; st.link = 2; st.file = 3;
   st.size = 4

// Structure of a tag value
   tag.value = 0; tag.link = 1; tag.name = 2 }

MANIFEST {
// Offsets in a 'global' object
   gl.number = 0; gl.label = 1; gl.link = 2
   gl.size = 3

// Offsets in a 'name' object
   name.name = 0; name.type = 1; name.value = 2
   name.size = 3

// Data relating to the name block vector
   name.block.vector.size = 100

   name.block.size = 32
   name.block.mask = 31
   name.block.shift = 5 }


MANIFEST {
// Structure of a 'makelist' element
   list.count = 0; list.link = 1; list.data = 2

   list.element.data.size =  10
   list.element.size = list.element.data.size + list.data

// Structure of an element on the conditional compilation stack.
   cc.tagptr = 0; cc.inverse = 1; cc.link = 2
   cc.size = 3

// Miscellaneous values
   NameTableSize = 47
   GetMax = 20
   WordMax = 255/BytesPerWord + 1 }

GLOBAL {
// Globals shared between the SYN and TRN phases
   PrintTree: syntrng+0
   charCode: syntrng+1
   transChars: syntrng+2
   sourceStream: syntrng+3
   ch: syntrng+4
   lineCount: syntrng+5
   free.list.element.chain: syntrng+6
   zeroNode: syntrng+7
   SmallNumber: syntrng+8
   externals.list: syntrng+9
   trnLineCount: syntrng+10
   extension.level: syntrng+11
   bitswidth: syntrng+12
   slct.size.shift: syntrng+13
   slct.shift.shift: syntrng+14
   slct.mask: syntrng+15
   slct.max.offset: syntrng+16 }

GLOBAL {
   NextSymb: synrg+0
   initialise.lex: synrg+1
   SynReport: synrg+2

   symb: syng+0
   operator: syng+1
   decval: syng+2
   wordNode: syng+3
   wordv: syng+4
   chbuf: syng+5; chCount: syng+6
   nlPending: syng+7
   nullTag: syng+8
   getv: syng+9; getp: syng+10
   nameTable: syng+11
   rec.p: syng+12; rec.l: syng+13
   caseCount: syng+14
   tagptr: syng+15
   ccstack: syng+16
   free.ccstack.chain: syng+17;
   mantissa: syng+18; exponent: syng+19;
   digits: syng+20;
   lispExtensions: syng+21 }

GLOBAL {
   TransReport: trnrg+0
   NextParam: trnrg+1
   Trans: trnrg+2
   DeclLabels: trnrg+3
   FindName: trnrg+4
   FindCell: trnrg+5
   Name: trnrg+6
   JumpCond: trnrg+7
   Load: trnrg+8; LoadList: trnrg+9
   EvalConst: trnrg+10; CheckConstant: trnrg+11
   Assign: trnrg+12
   CompLab: trnrg+13
   CompDataLab: trnrg+14
   /*Out1: trnrg+15;*/ Out2: trnrg+16; OutString: trnrg+17
   CheckLabel: trnrg+18;
   OutOp: trnrg+19;

   paramNumber: trng+0
   ssp: trng+1
   vecssp: trng+2
   currentBranch: trng+3

   nameBlockV: trng+5
   nameVecE: trng+6
   namepBase: trng+7

   globList: trng+8; globCount: trng+9; globListE: trng+10

   casekvec: trng+11; caselvec: trng+12
   caseptr: trng+13; caselim: trng+14

   breakLabel: trng+15; resultLabel: trng+16
   defaultLabel: trng+17; endcaseLabel: trng+18; loopLabel: trng+19
   returnLabel: trng+20;
   ocount: trng+21;
   undefCount: trng+22;
   accessible: trng+23;
   outLineCount: trng+24 }
