DIRECTORY CodeDefs: TYPE USING [CaseCVState, CCIndex, LabelCCIndex, Lexeme], CompilerUtil: TYPE USING [], P5: TYPE USING [Module], Symbols: TYPE USING [ContextLevel, CTXIndex, ISEIndex, RecordSEIndex]; Code: PROGRAM IMPORTS P5 EXPORTS CompilerUtil = PUBLIC BEGIN OPEN CodeDefs; curctxlvl: Symbols.ContextLevel; codeptr: CCIndex; bodyRetLabel, bodyComRetLabel: LabelCCIndex; reentryLabel: LabelCCIndex; bodyInRecord, bodyOutRecord: Symbols.RecordSEIndex; bodyFileIndex: CARDINAL; mainBody: BOOL; ZEROlexeme: word literal Lexeme; stking: BOOL; tailJumpOK: BOOL; caseCVState: CaseCVState; mwCaseCV: Lexeme; fileindex, inlineFileIndex: CARDINAL; catchcount: CARDINAL; catchoutrecord: Symbols.RecordSEIndex; tempcontext: Symbols.CTXIndex; firstTemp, tempstart, framesz: CARDINAL; cfSize: CARDINAL; cfsi: CARDINAL; actenable, substenable: LabelCCIndex; xtracting: BOOL; xtractlex: Lexeme; xtractsei: Symbols.ISEIndex; ACStackOverflow: SIGNAL = CODE; ACStackUnderflow: SIGNAL = CODE; StackNotEmptyAtStatement: SIGNAL = CODE; CodeNotImplemented: SIGNAL = CODE; DeletingUnreachableCode: SIGNAL = CODE; CodePassInconsistency: SIGNAL = CODE; P5module: PROC = BEGIN -- starts the code generation pass P5.Module[]; END; END. Äfile Code.mesa last modified by Sweet, July 23, 1980 10:00 AM last modified by Satterthwaite, November 2, 1982 3:28 pm the following variables are shared among the code generation modules Êê˜J˜Jšœ™Jšœ/™/Jšœ8™8J˜šÏk ˜ Jšœ œœ.˜BJšœœœ˜Jšœœœ ˜Jšœ œœ3˜FJ˜—šœœ˜Jšœ˜ Jšœ˜Jšœœœ ˜J˜JšœD™D˜J˜ J˜J˜,J˜J˜3Jšœœ˜Jšœ œ˜J˜ Jšœœ˜ Jšœ œ˜J˜J˜Jšœœ˜%Jšœ œ˜J˜&J˜Jšœœ˜(Jšœœ˜Jšœœ˜J˜%Jšœ œ˜J˜J˜J˜Jšœœœ˜Jšœœœ˜ Jšœœœ˜(Jšœœœ˜"Jšœœœ˜'Jšœœœ˜%J˜J˜šÏnœœ˜JšœÏc"˜(J˜ Jšœ˜J˜—Jšœ˜J˜J˜———…—Êx