-- BrandXSymbolDefs.mesa
-- concrete definitions of TYPEs and constants for symbol tables and related elements.
-- Last Modified By Paul Rovner On January 5, 1983 10:46 pm
DIRECTORY
Symbols USING[MDIndex, CTXIndex, ISEIndex, RecordSEIndex, SEIndex, HTIndex, SENull,
CSEIndex, BTNull, RootBti, BTIndex, BodyRecord, MDNull, codeCHAR,
CBTIndex, ICBTIndex, ExtensionType, typeTYPE, StandardContext,
ContextLevel, lL, CTXNull, HTNull, typeANY, OwnMdi, lZ, codeINT],
SymbolSegment USING [FGTEntry, FGHeader],
SymbolTable USING[Base, Handle, nullHandle],
Tree USING[Index, Link];
BrandXSymbolDefs: DEFINITIONS
= BEGIN
--TYPEs--
SymbolTableHandle: TYPE = SymbolTable.Handle;
SymbolTableBase: TYPE = SymbolTable.Base;
SymbolIndex: TYPE = Symbols.SEIndex;
SymbolIdIndex: TYPE = Symbols.ISEIndex;
SymbolConstructorIndex: TYPE = Symbols.CSEIndex;
SymbolRecordIndex: TYPE = Symbols.RecordSEIndex;
SymbolContextIndex: TYPE = Symbols.CTXIndex;
StandardSymbolContextIndex: TYPE = Symbols.StandardContext;
SymbolNameIndex: TYPE = Symbols.HTIndex;
SymbolModuleIndex: TYPE = Symbols.MDIndex;
BodyIndex: TYPE = Symbols.BTIndex;
CallableBodyIndex: TYPE = Symbols.CBTIndex;
InnerCallableBodyIndex: TYPE = Symbols.ICBTIndex;
BodyTableEntry: TYPE = Symbols.BodyRecord;
FineGrainTableEntry: TYPE = SymbolSegment.FGTEntry;
FineGrainTableHeader: TYPE = SymbolSegment.FGHeader;
ExtensionClass: TYPE = Symbols.ExtensionType;
TreeIndex: TYPE = Tree.Index;
TreeLink: TYPE = Tree.Link;
BlockContextLevel: TYPE = Symbols.ContextLevel;
PreDefinedSEI: TYPE = CARDINAL[0..249];
--Constants--
nullHandle: SymbolTableHandle = SymbolTable.nullHandle;
nullSymbolIndex: SymbolIndex = Symbols.SENull;
nullSymbolContextIndex: SymbolContextIndex = Symbols.CTXNull;
nullSymbolNameIndex: SymbolNameIndex = Symbols.HTNull;
nullModuleIndex: SymbolModuleIndex = Symbols.MDNull;
nullBodyIndex: BodyIndex = Symbols.BTNull;
rootBodyIndex: BodyIndex = Symbols.RootBti;
symbolIndexForTYPE: SymbolConstructorIndex = Symbols.typeTYPE;
symbolIndexForANY: SymbolConstructorIndex = Symbols.typeANY;
thisModuleIndex: SymbolModuleIndex = Symbols.OwnMdi;
contextLevelZero: BlockContextLevel = Symbols.lZ;
outerContextLevel: BlockContextLevel = Symbols.lL;
typeCodeForINT: CARDINAL = Symbols.codeINT;
typeCodeForCHAR: CARDINAL = Symbols.codeCHAR;
END.