PackageSymbols.Mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Sweet, May 12, 1980 3:21 PM
Satterthwaite, August 27, 1980 9:40 AM
Russ Atkinson (RRA) January 31, 1985 1:19:59 pm PST
DIRECTORY
PrincOps USING [EPRange, MaxNGfi],
Symbols USING [HTIndex],
SymbolSegment USING [constType],
Table 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.