InternalPackageSymbols.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Sweet, May 12, 1980 3:21 PM
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 = {
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/ConstRecord.SIZE);
constType: Table.Selector = SymbolSegment.constType;
body data for outer callable bodies
OuterPackRecord: TYPE = MACHINE DEPENDENT RECORD[
hti: Symbols.HTIndex,
placed, attr1, attr2: BOOLFALSE,
length: CARDINAL,
firstSon: IPIndex,
resident: BOOL,
entryIndex: [0..MaxEntries)];
OPIndex: TYPE = CARDINAL [0..MaxEntries];
OPNull: OPIndex = OPIndex.LAST;
body data for inner callable bodies
InnerPackRecord: TYPE = RECORD[
length: CARDINAL,
lastSon: BOOL,
entryIndex: [0..MaxEntries)];
IPIndex: TYPE = CARDINAL [0..MaxEntries]; -- waste a bit to get a null
IPNull: IPIndex = IPIndex.LAST;
}.