DIRECTORY P3: TYPE USING [Attr, NPUse, Safety], Symbols: TYPE USING [ CSEIndex, RecordSEIndex, CTXIndex, BTIndex, ContextLevel], Tree: TYPE USING [Index, Link]; P3S: DEFINITIONS = { OPEN Symbols; BodyData: TYPE = RECORD [ -- shared communication record level: Symbols.ContextLevel, -- current level bodyNode: Tree.Index, -- current body argCtx: Symbols.CTXIndex, -- ctx for inputRecord inputRecord: RecordSEIndex, -- input record for current body returnRecord: RecordSEIndex, -- return record for current body entry: BOOL, -- set for entry procedures lockHeld: BOOL, -- set for entry or internal procedures noXfers: BOOL, -- set by embedded xfer (except return) reachable: BOOL, labelList: Tree.Link, -- list of accessible labels loopDepth: CARDINAL, -- depth of loop nesting catchDepth: CARDINAL, -- depth of catch phrase nesting unwindEnabled: BOOL, -- set iff in scope of unwind resumeFlag: BOOL, -- set iff a resume is legal resumeRecord: RecordSEIndex]; -- for current catch phrase ImplicitInfo: TYPE = RECORD [ -- info about subtree used as an expr type: CSEIndex, tree: Tree.Link, attr: P3.Attr]; SelfInfo: TYPE = RECORD [ -- info about x in x.op[args] => op[x, args] tree: Tree.Link, type: CSEIndex, attr: P3.Attr, np: P3.NPUse]; safety: READONLY P3.Safety; currentBody: VAR BodyData; currentScope: READONLY BTIndex; implicitRecord: VAR RecordSEIndex; -- type of extraction record markCatch: VAR BOOL; -- reset in Stmt, set in CatchPhrase continued: VAR BOOL; self: VAR SelfInfo; implicit: VAR ImplicitInfo; -- implied interpretation of Tree.Null }. ¬file P3S.mesa last modified by Satterthwaite, December 10, 1982 10:57 am shared state variables for pass 3 exported by Pass3S exported by Pass3Xa exported by Pass3Xb Ê)˜Jšœ ™ Jšœ:™:J˜šÏk ˜ Jšœœœ˜%šœ œœ˜J˜:—Jšœœœ˜J˜—šœ œ˜Jšœ ˜ J˜Jšœ!™!˜šœ œœÏc˜8Jšœž˜-Jšœž˜&Jšœž˜1Jšœž ˜=Jšœž!˜>Jšœœž˜+Jšœ œž'˜9J˜Jšœ œž'˜9J˜Jšœ œ˜Jšœž˜3Jšœ œž˜.J˜Jšœ œž ˜7Jšœœž˜3Jšœ œž˜0Jšœž˜9J˜J˜—šœœœž%˜DJ˜J˜J˜J˜—šœ œœž,˜GJ˜J˜J˜J˜J˜J˜——Jšœ™˜Jšœœ ˜Jšœ œ ˜Jšœœ ˜J˜—Jšœ™˜Jšœœž˜?Jšœ œœž$˜;Jšœ œœ˜Jšœœ ˜J˜—Jšœ™˜Jšœ œž&˜CJ˜J˜J˜———…—@