MimData.mesa
Copyright Ó 1985, 1986, 1987, 1988, 1991 by Xerox Corporation. All rights reserved.
Satterthwaite, June 18, 1986 9:50:31 am PDT
Russ Atkinson (RRA) May 17, 1989 12:17:08 pm PDT
JKF August 8, 1988 4:39:31 pm PDT
DIRECTORY
Alloc USING [BaseSeq, Handle],
FileParms USING [ActualId],
OSMiscOps USING [Stamp],
MobDefs USING [MTHandle, SGRecord, VersionStamp],
Rope USING [ROPE],
SourceMap USING [Loc],
Symbols USING [Alignment, CBTIndex, CSEIndex, CTXIndex, ISEIndex],
SymbolSegment USING [FGTEntry],
SymbolTable USING [Base],
Tree USING [Link];
MimData:
DEFINITIONS = {
OPEN Symbols;
shared instance of SymbolTable
ownSymbols: SymbolTable.Base;
global info describing module
interface: BOOL; -- interface module
moduleCtx: CTXIndex; -- module identifiers
importCtx: CTXIndex; -- import id context
exportCtx: CTXIndex; -- export id context
mainCtx: CTXIndex; -- main program's context
nBodies: CARDINAL;
nInnerBodies: CARDINAL;
nSigCodes: CARDINAL;
defBodyLimit: CARD;
linkCount: CARDINAL; -- global control links (externals, etc)
cedar: BOOL;
monitored: BOOL;
stopping: BOOL;
Exported from Pass1
bitsToAlignment:
REF BitsToAlign;
BitsToAlign: TYPE = ARRAY BitsToAlignIndex OF Symbols.Alignment;
BitsToAlignIndex: TYPE = [0..64];
wordAlignment: Symbols.Alignment;
worstAlignment: Symbols.Alignment;
outerCtx: CTXIndex; -- predefined identifiers
idANY: ISEIndex;
idINTEGER, idINT, idDINT, idINT16, idINT32, idINT64: ISEIndex;
idCARDINAL, idCARD, idDCARD, idCARD16, idCARD32, idCARD64: ISEIndex;
idNAT, idCHAR, idBOOL, idSTRING: ISEIndex;
idREAL, idDREAL, idREAL32, idREAL64: ISEIndex;
idTEXT: ISEIndex;
idLOCK: ISEIndex;
idATOM: ISEIndex;
typeSTRING, typeStringBody: CSEIndex;
typeAtomRecord: CSEIndex;
typeRefANY, typeListANY: CSEIndex;
typeLOCK, typeCONDITION: CSEIndex;
tC0, tC1: Tree.Link;
idUNWIND: ISEIndex;
seAnon: ISEIndex;
scratch storage
table: Alloc.Handle;
base: REF Alloc.BaseSeq;
compilation options
switches: PACKED ARRAY CHAR['a..'z] OF BOOL;
checks: PACKED ARRAY CHAR['a..'z] OF BOOL;
input
source: FileParms.ActualId;
sourceTokens: CARDINAL;
pattern: FileParms.ActualId; -- old mob to match
matched: BOOL;
variables used for error reporting
nErrors: CARDINAL;
nWarnings: CARDINAL;
bodyIndex: CBTIndex; -- current body
textIndex: SourceMap.Loc; -- start index of phrase with error
output
compilerVersion: MobDefs.VersionStamp;
objectVersion: MobDefs.VersionStamp;
objectStamp: OSMiscOps.Stamp;
globalFrameSize: CARD;
fgTable: LONG DESCRIPTOR FOR ARRAY OF SymbolSegment.FGTEntry;
mobSeg, codeSeg, symSeg: MobDefs.SGRecord;
mtRoot: MobDefs.MTHandle;
mtRootSize: CARDINAL;
fixupLoc: CARD;
}.