<> <> <> <> <> DIRECTORY IntCodeDefs: TYPE USING [Label, Node], SourceMap: TYPE USING [Loc], Symbols: TYPE USING [ContextLevel, CTXIndex, ISEIndex, RecordSEIndex]; Code: PROGRAM = PUBLIC BEGIN OPEN IntCodeDefs; <> 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.