DIRECTORY CodeDefs: TYPE USING [ Byte, CCIndex, CCInfoType, CompareClass, LabelCCIndex, LabelInfoIndex, Lexeme, StatementStateRecord, TempStateRecord, StoreOptions, VarIndex], Literals: TYPE USING [STIndex], Symbols: TYPE USING [ BTIndex, CBTIndex, CSEIndex, ISEIndex, RecordSEIndex, WordLength], Tree: TYPE USING [Index, Link]; P5: DEFINITIONS = { OPEN Symbols, CodeDefs; NumberOfParams: PROC [b: Byte] RETURNS [[0..3]]; PopEffect: PROC [b: Byte] RETURNS [[0..7]]; PushEffect: PROC [b: Byte] RETURNS [[0..3]]; BuildArgRecord: PROC [t: Tree.Link, rsei: RecordSEIndex, sigerr, isResume, refSafe: BOOL] RETURNS [nparms: CARDINAL]; CallCatch: PROC [t: Tree.Link]; ConstructOnStack: PROC [maint: Tree.Link, rcsei: RecordSEIndex]; IndirectReturnRecord: PROC [node: Tree.Index, nrets: CARDINAL] RETURNS [Lexeme]; LogHeapFree: SIGNAL [calltree: Tree.Link] RETURNS [BOOL, Lexeme.se]; PRetLex: PROC [nrets: CARDINAL, node: Tree.Index, sig: BOOL _ FALSE] RETURNS [Lexeme]; PushArgRecord: PROC [t: Tree.Link, rsei: RecordSEIndex, sigerr, isResume, refSafe: BOOL] RETURNS [nparms: CARDINAL]; SysCall: PROC [alpha: Byte]; SysCallN: PROC [alpha: Byte, n: CARDINAL]; SysError: PROC; ZoneOp: PROC [ zone: Tree.Link, index: CARDINAL, pushArg: PROC, catch: Tree.Link, long: BOOL]; Module: PROC; P5Error: PROC [n: CARDINAL]; PopInVals: PROC [irecord: RecordSEIndex, isenable: BOOL]; ReleaseLock: PROC; CompareFn: PROC [class: CompareClass, code: BOOL, length: [1..2]] RETURNS [Byte]; FlowTree: PROC [t: Tree.Link, tf: BOOL, label: LabelCCIndex]; GetLabelMark: PROC RETURNS [LabelInfoIndex]; LabelList: PROC [t: Tree.Link, elabel: LabelCCIndex, mark: LabelInfoIndex]; LabelCreate: PROC [t: Tree.Link]; MakeExitLabel: PROC RETURNS [exit, loop: LabelCCIndex]; CreateTempLex: PROC [wdoffset, nwords: INTEGER] RETURNS [l: Lexeme.se]; FreeHeapLex: PROC [l: Lexeme.se]; FreeTempList: PROC; FreeTempSei: PROC [sei: ISEIndex]; GenAnonLex: PROC [nwords: CARDINAL] RETURNS [l: Lexeme.se]; GenStringBodyLex: PROC [nchars: CARDINAL] RETURNS [l: Lexeme.se]; GenHeapLex: PROC RETURNS [l: Lexeme.se]; GenTempLex: PROC [nwords: CARDINAL] RETURNS [l: Lexeme.se]; PopStatementState: PROC [p: POINTER TO StatementStateRecord]; PopTempState: PROC [p: POINTER TO TempStateRecord]; PurgeHeapList: PROC [oldheaplist: ISEIndex]; PurgePendTempList: PROC; PushHeapList: PROC RETURNS[oldheaplist: ISEIndex]; PushStatementState: PROC [p: POINTER TO StatementStateRecord]; PushTempState: PROC [p: POINTER TO TempStateRecord, newfs: CARDINAL]; ReleaseTempLex: PROC [l: Lexeme.se]; TempInit: PROC; All: PROC [t: Tree.Link, node: Tree.Index, options: StoreOptions] RETURNS [Lexeme]; Construct: PROC [t: Tree.Link, node: Tree.Index, options: StoreOptions] RETURNS [Lexeme]; New: PROC [node: Tree.Index] RETURNS [Lexeme]; RowCons: PROC [t: Tree.Link, node: Tree.Index, options: StoreOptions] RETURNS [Lexeme]; TransferConstruct: PROC [nparms: CARDINAL, resident: BOOL, t: Tree.Link, tsei: CSEIndex]; VariantConstruct: PROC [t1, t2: Tree.Link, options: StoreOptions]; ExtractFrom: PROC [ t1: Tree.Link, tsei: RecordSEIndex, r: VarIndex, transferrec: BOOL]; SAssign: PROC [sei: ISEIndex]; TTAssign: PROC [t1, t2: Tree.Link]; AdjustNilCheck: PROC [t: Tree.Link, wordOffset: CARDINAL]; Exp: PROC [t: Tree.Link] RETURNS [l: Lexeme]; LPushLex: PROC [l: Lexeme] RETURNS [Lexeme]; MultiZero: PROC [t: Tree.Link, minWords: CARDINAL_3] RETURNS [BOOL]; PushConst: PROC [t: Tree.Link]; PushLex: PROC [l: Lexeme]; PushLProcDesc: PROC [bti: CBTIndex]; PushNestedProcDesc: PROC [bti: CBTIndex]; PushNonnestedProcDesc: PROC [n: CARDINAL]; PushRhs: PROC [t: Tree.Link]; Reloc: PROC [node: Tree.Index] RETURNS [Lexeme]; StoreMod: PROC [t: Tree.Link, bSize: [0..WordLength)] RETURNS [Tree.Link]; Fixup: PROC [start: LabelCCIndex, ownEntry: CARDINAL]; ccInfo: CCInfoType; CCInfoMeaning: PROC RETURNS [CCInfoType]; FlowExp: PROC [node: Tree.Index] RETURNS [l: Lexeme]; EndCodeFile: PROC RETURNS [nbytes: CARDINAL]; MoveToCodeWord: PROC RETURNS [CARDINAL]; OutBinary: PROC [bti: CBTIndex, start: LabelCCIndex]; ProcessGlobalStrings: PROC [framestart: CARDINAL] RETURNS [nextnewframe: CARDINAL]; ProcessLocalStrings: PROC [ framestart: CARDINAL, first: Literals.STIndex] RETURNS [nextnewframe: CARDINAL]; StartCodeFile: PROC; WriteCodeWord: PROC [w: WORD]; C0: PROC [i: Byte]; C1: PROC [i: Byte, p1: WORD]; C1W: PROC [i: Byte, p1: WORD]; C2: PROC [i: Byte, p1, p2: WORD]; C3: PROC [i: Byte, p1, p2, p3: WORD]; LoadConstant: PROC [c: UNSPECIFIED]; PeepHole: PROC [start: CCIndex]; CatchPhrase: PROC [node: Tree.Index]; EnterBlock: PROC [bti: BTIndex]; ExitBlock: PROC [bti: BTIndex]; StatementTree: PROC [t: Tree.Link] RETURNS [Tree.Link]; SCatchPhrase: PROC [node: Tree.Index]; BindStmtExp: PROC [rootNode: Tree.Index, isExp: BOOL] RETURNS [Lexeme]; CaseStmtExp: PROC [rootNode: Tree.Index, isExp: BOOL] RETURNS [Lexeme]; CaseTest: PROC [t: Tree.Link, failLabel: LabelCCIndex]; NarrowExp: PROC [node: Tree.Index] RETURNS [Lexeme]; GetCanonicalType: PROC [node: Tree.Index] RETURNS [Lexeme]; TypeRel: PROC [node: Tree.Index, tf: BOOL, label: LabelCCIndex]; }. ^file P5.mesa last edited by Sweet, September 17, 1980 12:21 PM last edited by Satterthwaite, November 23, 1982 5:06 pm from FOpTable.mesa from Calls.mesa from Driver.mesa from Flow.mesa from Temp.mesa from Constructor.mesa from Store.mesa from Expression from Final from FlowExpression from OutCode from Peephole from Statement from Selection Êh˜Jšœ ™ Jšœ2™2Jšœ7™7J˜šÏk ˜ šœ œœ˜J˜FJ˜G—Jšœ œœ ˜šœ œœ˜J˜B—Jšœœœ˜J˜—šœ œ˜Jšœ˜J˜šœ™JšÏnœœ œ ˜0Jšž œœ œ ˜+Jšž œœ œ ˜,J˜—šœ™šžœœ@œ˜YJšœ œ˜—Jšž œœ˜Jšžœœ*˜@šžœœœ˜>Jšœ ˜—Jšœ œœœ ˜Dš žœœ œœœ˜DJšœ ˜—šž œœ@œ˜XJšœ œ˜—Jšžœœ˜Jšžœœœ˜*Jšžœœ˜šžœœ˜Jšœœ œœ˜OJ˜——šœ™Jšžœœ˜ Jšžœœœ˜Jšž œœ$œ˜9Jšž œœ˜J˜—šœ™Jšž œœœœ˜QJšžœœœ˜=Jšž œœœ˜,Jšž œœ<˜KJšž œœ˜!Jšž œœœ˜7J˜—šœ™Jšž œœœœ˜GJšž œœ˜!Jšž œœ˜Jšž œœ˜"Jšž œœ œœ˜Jšž œœœœ˜4Jšž œœ˜,Jšžœœ˜Jšž œœœ˜2Jšžœœœœ˜>Jš ž œœœœœ˜EJšžœœ˜$Jšžœœ˜J˜—šœ™Jšžœœ9œ ˜SJšž œœ9œ ˜YJšžœœœ ˜.Jšžœœ9œ ˜WJšžœœ œ œ ˜YJšžœœ,˜BJ˜—šœ™šž œœ˜Jšœ>œ˜D—Jšžœœ˜Jšžœœ˜#J˜—šœ™Jšžœœœ˜:Jšžœœœ ˜-Jšžœœ œ ˜,Jš ž œœœœœ˜DJšž œœ˜Jšžœœ ˜Jšž œœ˜$Jšžœœ˜)Jšžœœœ˜*Jšžœœ˜Jšžœœœ ˜0Jšžœœ(œ ˜JJ˜—šœ ™ Jšžœœ!œ˜6J˜Jšž œœœ˜)J˜—šœ™Jšžœœœ ˜5J˜—šœ ™ Jšž œœœ œ˜-Jšžœœœœ˜(Jšž œœ&˜5Jš žœœœœœ˜Sšžœœ˜Jšœ œœœ˜P—Jšž œœ˜Jšž œœœ˜J˜—šœ ™ Jšžœœ ˜Jšžœœœ˜Jšžœœœ˜Jšžœœœ˜!Jšžœœœ˜%Jšž œœ œ˜$Jšžœœ˜ J˜—šœ™Jšž œœ˜%Jšž œœ˜ Jšž œœ˜Jšž œœœ ˜7Jšž œœ˜&J˜—šœ™Jšž œœœœ ˜GJšž œœœœ ˜GJšžœœ)˜7Jšž œœœ ˜4Jšžœœœ ˜;Jšžœœœ˜@J˜J˜J˜———…—ö¼