 
// File BCPL1_COMHDR
 
// Common header file for BCPL compiler - phase 1
 
// Copyright (C) R.D. Eager   University of Kent   MCMLXXXIV
 
GET "LIBHDR"
 
 
MANIFEST $( // AE operators and symbols
s.number=1;         s.name=2;           s.string=3;         s.true=4
s.false=5;          s.valof=6;          s.lv=7;             s.rv=8
s.vecap=9;          s.fnap=10;          s.mult=11;          s.div=12
s.rem=13;           s.plus=14;          s.minus=15;         s.query=16
s.neg=17;           s.seqlist=18;       s.abs=19
s.eq=20;            s.ne=21;            s.ls=22
s.gr=23;            s.le=24;            s.ge=25;            s.not=30
s.lshift=31;        s.rshift=32;        s.logand=33;        s.logor=34
s.eqv=35;           s.neqv=36;          s.cond=37;          s.comma=38
s.table=39;         s.and=40;           s.valdef=41;        s.vecdef=42
s.commalist=43;     s.fndef=44;         s.rtdef=45;         s.extdef=47
s.needs=48;         s.section=49;       s.ass=50;           s.rtap=51
s.goto=52;          s.resultis=53;      s.colon=54;         s.test=55
s.for=56;           s.if=57;            s.unless=58;        s.while=59
s.until=60;         s.repeat=61;        s.repeatwhile=62;   s.repeatuntil=63
s.loop=65;          s.break=66;         s.return=67;        s.finish=68
s.endcase=69;       s.switchon=70;      s.case=71;          s.default=72
s.deflist=73;       s.let=74;           s.manifest=75;      s.global=76
s.local=77;         s.label=78;         s.static=79;        s.code=80
s.external=81;      s.slctr=82;         s.slctap=84;        s.byteap=85
$)
 
MANIFEST $( //  Selectors
h1=0;               h2=1;               h3=2;               h4=3
h5=4;               h6=5
$)
 
MANIFEST $( // Code generator types
cg.emas2900 = 0   // ICL 2900 code generator (EMAS)
cg.vaxunix  = 1   // DEC VAX-11 code generator (UNIX)
cg.z80      = 2   // Zilog Z80 code generator
cg.m68k     = 3   // Motorola M68000 code generator
cg.vaxvms   = 4   // DEC VAX-11 code generator (VMS)
cg.vme2900  = 5   // ICL 2900 code generator (VME)
$)

MANIFEST $(   // Global bases
cg        = firstfreeglobal    // Common globals
sg        = cg+034             // Syntax analyser globals
tg        = sg+069             // Translator globals
$)

GLOBAL $(   // Compilation options
abort_l             : cg+000
abort_p             : cg+001
backstack_          : cg+002
caset               : cg+003
charcode            : cg+004
codegen             : cg+005
compileae           : cg+006
domapstore_         : cg+007
dvect               : cg+008
e_wrch              : cg+009
enablecode_         : cg+010
errorstream_        : cg+011
fold_const_         : cg+012
globdeclt           : cg+013
globlist_           : cg+014
host_code           : cg+015
list2               : cg+016
maxselectoroffset   : cg+017
minselectoroffset   : cg+018
noget_              : cg+019
ocode               : cg+020
plist               : cg+021
ppdebug_            : cg+022
precallsize         : cg+023
querynode           : cg+024
report              : cg+025
reportcount         : cg+026
reportmax           : cg+027
savespacesize       : cg+028
smallnumber         : cg+029
target_bitsperword  : cg+030
treelist_           : cg+031
treeprintvec        : cg+032
zeronode            : cg+033
$)

MANIFEST $(   // Tunable MANIFESTs
treeprintmax        = 30   // Maximum depth of tree listing
$)
 
// End of file BCPL1_COMHDR
 
