-- file PackageSymbols.Mesa -- last modified by Sweet, May 12, 1980 3:21 PM -- last modified by Satterthwaite, August 27, 1980 9:40 AM DIRECTORY PrincOps: TYPE USING [EPRange, MaxNGfi], Symbols: TYPE USING [HTIndex], SymbolSegment: TYPE USING [constType], Table: TYPE USING [Limit, Selector]; PackageSymbols: DEFINITIONS = BEGIN MaxEntries: CARDINAL = PrincOps.EPRange*PrincOps.MaxNGfi; -- constant table declarations WordIndex: TYPE = CARDINAL; ConstRecord: TYPE = RECORD [ offset: WordIndex, length: CARDINAL]; ConstIndex: TYPE = CARDINAL [0..Table.Limit/SIZE[ConstRecord]); constType: Table.Selector = SymbolSegment.constType; -- body data for outer callable bodies OuterPackRecord: TYPE = MACHINE DEPENDENT RECORD [ hti: Symbols.HTIndex, placed, attr1, attr2: BOOLEAN ← FALSE, length: CARDINAL, firstSon: IPIndex, resident: BOOLEAN, entryIndex: [0..MaxEntries)]; OPIndex: TYPE = CARDINAL [0..MaxEntries]; OPNull: OPIndex = LAST[OPIndex]; -- body data for inner callable bodies InnerPackRecord: TYPE = RECORD [ length: CARDINAL, lastSon: BOOLEAN, entryIndex: [0..MaxEntries)]; IPIndex: TYPE = CARDINAL [0..MaxEntries]; -- waste a bit to get a null IPNull: IPIndex = LAST[IPIndex]; END.