<> <> <> <> <> 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; <> ownSymbols: PUBLIC SymbolTable.Base; <> typeINT, typeCARDINAL: PUBLIC CSEIndex; typeBOOL, typeCHAR, typeREAL: PUBLIC CSEIndex; typeSTRING, typeStringBody: PUBLIC CSEIndex; typeATOM, typeAtomRecord: PUBLIC CSEIndex; typeRefANY, typeListANY: PUBLIC CSEIndex; typeLOCK, typeCONDITION: PUBLIC CSEIndex; <> 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 CARDINAL; linkCount: PUBLIC CARDINAL; -- global control links (externals, etc) cedar: PUBLIC BOOL; monitored: PUBLIC BOOL; stopping: PUBLIC BOOL; <> idANY: PUBLIC ISEIndex; idINT, idCARDINAL, idCHAR, idBOOL, idREAL, idSTRING: PUBLIC ISEIndex; idTEXT: PUBLIC ISEIndex; idLOCK: PUBLIC ISEIndex; idATOM: PUBLIC ISEIndex; <> seAnon: PUBLIC ISEIndex; <> tC0, tC1: PUBLIC Tree.Link; idUNWIND: PUBLIC ISEIndex; <> table: PUBLIC Alloc.Handle; <> switches: PUBLIC PACKED ARRAY CHAR['a..'z] OF BOOL; <> source: PUBLIC FileParms.ActualId; sourceTokens: PUBLIC CARDINAL; pattern: PUBLIC FileParms.ActualId; -- old bcd to match matched: PUBLIC BOOL; <> nErrors: PUBLIC CARDINAL; nWarnings: PUBLIC CARDINAL; bodyIndex: PUBLIC CBTIndex; -- current body textIndex: PUBLIC SourceMap.Loc; -- start index of phrase with error <> compilerVersion: PUBLIC BcdDefs.VersionStamp; <> 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 LONG CARDINAL; }.