Code.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Sweet, May 31, 1986 4:27:24 pm PDT
Satterthwaite, October 10, 1985 1:50:49 pm PDT
Russ Atkinson (RRA) March 6, 1985 11:09:50 pm PST
DIRECTORY
IntCodeDefs: TYPE USING [Label, Node],
SourceMap: TYPE USING [Loc],
Symbols: TYPE USING [ContextLevel, CTXIndex, ISEIndex, RecordSEIndex];
Code: PROGRAM = PUBLIC BEGIN OPEN IntCodeDefs;
the following variables are shared among the code generation modules
curctxlvl: Symbols.ContextLevel;
bodyRetLabel, bodyComRetLabel: Label;
bodyInRecord, bodyOutRecord: Symbols.RecordSEIndex;
bodyStartLoc: SourceMap.Loc;
mainBody: BOOL;
tailJumpOK: BOOL;
caseCV: Node;
fileLoc, inlineFileLoc: SourceMap.Loc;
catchcount: CARDINAL;
catchoutrecord: Symbols.RecordSEIndex;
tempcontext: Symbols.CTXIndex;
xtracting: BOOL;
xtractNode: Node;
xtractsei: Symbols.ISEIndex;
nC0, nC1: Node; -- initialized to 0 and 1 constants
trueNode, falseNode: Node;
ACStackOverflow: SIGNAL = CODE;
ACStackUnderflow: SIGNAL = CODE;
StackNotEmptyAtStatement: SIGNAL = CODE;
CodeNotImplemented: SIGNAL = CODE;
DeletingUnreachableCode: SIGNAL = CODE;
CodePassInconsistency: SIGNAL = CODE;
END.