<> <> <> <> <> DIRECTORY PrincOps USING [EPRange, MaxNGfi], Symbols USING [HTIndex], SymbolSegment USING [constType], Table USING [Limit, Selector]; PackageSymbols: DEFINITIONS = BEGIN MaxEntries: CARDINAL = PrincOps.EPRange*PrincOps.MaxNGfi; <> WordIndex: TYPE = CARDINAL; ConstRecord: TYPE = RECORD [ offset: WordIndex, length: CARDINAL]; ConstIndex: TYPE = CARDINAL [0..Table.Limit/SIZE[ConstRecord]); constType: Table.Selector = SymbolSegment.constType; <> 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]; <> 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.