[ivy]<Satterthwaite>Mimosa>ComData.mesa!4

ComData.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Satterthwaite, June 18, 1986 9:50:31 am PDT
Paul Rovner, September 8, 1983 9:53 am
Russ Atkinson (RRA) March 6, 1985 10:17:34 pm PST
DIRECTORY
Alloc: TYPE USING [Handle],
BcdDefs: TYPE USING [MTHandle, SGRecord, VersionStamp],
FileParms: TYPE USING [ActualId],
OSMiscOps: TYPE USING [Stamp],
Rope: TYPE USING [ROPE],
SourceMap: TYPE USING [Loc],
Symbols: TYPE USING [ISEIndex, CSEIndex, CTXIndex, CBTIndex],
SymbolSegment: TYPE USING [FGTEntry],
SymbolTable: TYPE USING [Base],
Tree: TYPE USING [Link];
ComData: PROGRAM = {
OPEN Symbols;
shared instance of SymbolTable
ownSymbols: PUBLIC SymbolTable.Base;
global info describing module
interface: PUBLIC BOOL;-- interface module
outerCtx: PUBLIC CTXIndex;-- predefined identifiers
moduleCtx: PUBLIC CTXIndex;-- module identifiers
importCtx: PUBLIC CTXIndex;-- import id context
exportCtx: PUBLIC CTXIndex;-- export id context
mainCtx: PUBLIC CTXIndex;-- main program's context
nBodies: PUBLIC CARDINAL;
nInnerBodies: PUBLIC CARDINAL;
nSigCodes: PUBLIC CARDINAL;
defBodyLimit: PUBLIC CARD;
linkCount: PUBLIC CARDINAL;-- global control links (externals, etc)
cedar: PUBLIC BOOL;
monitored: PUBLIC BOOL;
stopping: PUBLIC BOOL;
type identifiers (initialized in Pass1)
idANY: PUBLIC ISEIndex;
idINTEGER, idCARDINAL: PUBLIC ISEIndex;
idCARD, idREAL: PUBLIC ISEIndex;
idCHAR, idBOOL, idSTRING: PUBLIC ISEIndex;
idTEXT: PUBLIC ISEIndex;
idLOCK: PUBLIC ISEIndex;
idATOM: PUBLIC ISEIndex;
basic types (initialized in Pass1)
typeINTEGER, typeCARDINAL: PUBLIC CSEIndex;
typeBOOL, typeCHAR: PUBLIC CSEIndex;
typeREAL: PUBLIC CSEIndex;
typeSTRING, typeStringBody: PUBLIC CSEIndex;
typeATOM, typeAtomRecord: PUBLIC CSEIndex;
typeRefANY, typeListANY: PUBLIC CSEIndex;
typeLOCK, typeCONDITION: PUBLIC CSEIndex;
anonymous entry for undeclared ids
seAnon: PUBLIC ISEIndex;
symbolic constants
tC0, tC1: PUBLIC Tree.Link;
idUNWIND: PUBLIC ISEIndex;
scratch storage
table: PUBLIC Alloc.Handle;
compilation options
switches: PUBLIC PACKED ARRAY CHAR['a..'z] OF BOOL;
input
source: PUBLIC FileParms.ActualId;
sourceTokens: PUBLIC CARDINAL;
pattern: PUBLIC FileParms.ActualId;-- old bcd to match
matched: PUBLIC BOOL;
variables used for error reporting
nErrors: PUBLIC CARDINAL;
nWarnings: PUBLIC CARDINAL;
bodyIndex: PUBLIC CBTIndex;-- current body
textIndex: PUBLIC SourceMap.Loc;-- start index of phrase with error
output
compilerVersion: PUBLIC BcdDefs.VersionStamp;
objectFile: Rope.ROPE;
objectVersion: PUBLIC BcdDefs.VersionStamp;
objectStamp: PUBLIC OSMiscOps.Stamp;
globalFrameSize: PUBLIC CARDINAL;
objectBytes: PUBLIC CARDINAL;
fgTable: PUBLIC LONG DESCRIPTOR FOR ARRAY OF SymbolSegment.FGTEntry ← NIL;
bcdSeg, codeSeg, symSeg: PUBLIC BcdDefs.SGRecord;
mtRoot: PUBLIC BcdDefs.MTHandle ← NIL;
mtRootSize: PUBLIC CARDINAL;
fixupLoc: PUBLIC CARD;
}.