DIRECTORY RiscAssemblerAGDef, RiscAssemblerATDef, RiscAssemblerTokenDef; RiscAssemblerAGImpl: CEDAR PROGRAM IMPORTS RiscAssemblerAGDef EXPORTS RiscAssemblerAGDef= BEGIN OPEN RiscAssemblerAGDef, RiscAssemblerATDef, RiscAssemblerTokenDef; ProgramlistProdProcs: PUBLIC ProgramNodeProcs _ NEW[ProgramNodeProcsBody _ [ProgramlistProdAssemble]]; BuildProgramlistProdNode: PUBLIC PROC[position: INT, length: INT, List: ListNode] RETURNS[ProgramNode] = BEGIN data: ProgramlistProdData _ NEW[ProgramlistProdDataBody _ [ List]]; RETURN[NEW[ProgramNodeBody_[position, length, ProgramlistProdProcs, data]]]; END; ListstatementProdProcs: PUBLIC ListNodeProcs _ NEW[ListNodeProcsBody _ [ListstatementProdSymbolTable, ListstatementProdCodeSequence]]; BuildListstatementProdNode: PUBLIC PROC[position: INT, length: INT, Statement: StatementNode] RETURNS[ListNode] = BEGIN data: ListstatementProdData _ NEW[ListstatementProdDataBody _ [ Statement]]; RETURN[NEW[ListNodeBody_[position, length, ListstatementProdProcs, data]]]; END; ListdangleProdProcs: PUBLIC ListNodeProcs _ NEW[ListNodeProcsBody _ [ListdangleProdSymbolTable, ListdangleProdCodeSequence]]; BuildListdangleProdNode: PUBLIC PROC[position: INT, length: INT, Statement: StatementNode] RETURNS[ListNode] = BEGIN data: ListdangleProdData _ NEW[ListdangleProdDataBody _ [ Statement]]; RETURN[NEW[ListNodeBody_[position, length, ListdangleProdProcs, data]]]; END; ListconsProdProcs: PUBLIC ListNodeProcs _ NEW[ListNodeProcsBody _ [ListconsProdSymbolTable, ListconsProdCodeSequence]]; BuildListconsProdNode: PUBLIC PROC[position: INT, length: INT, Statement: StatementNode, List: ListNode] RETURNS[ListNode] = BEGIN data: ListconsProdData _ NEW[ListconsProdDataBody _ [ Statement, List]]; RETURN[NEW[ListNodeBody_[position, length, ListconsProdProcs, data]]]; END; StatementlabelProdProcs: PUBLIC StatementNodeProcs _ NEW[StatementNodeProcsBody _ [StatementlabelProdSymbolTable, StatementlabelProdCodeSequence]]; BuildStatementlabelProdNode: PUBLIC PROC[position: INT, length: INT, Label: LabelNode, Statement: StatementNode] RETURNS[StatementNode] = BEGIN data: StatementlabelProdData _ NEW[StatementlabelProdDataBody _ [ Label, Statement]]; RETURN[NEW[StatementNodeBody_[position, length, StatementlabelProdProcs, data]]]; END; StatementopProdProcs: PUBLIC StatementNodeProcs _ NEW[StatementNodeProcsBody _ [StatementopProdSymbolTable, StatementopProdCodeSequence]]; BuildStatementopProdNode: PUBLIC PROC[position: INT, length: INT, Op: OpNode] RETURNS[StatementNode] = BEGIN data: StatementopProdData _ NEW[StatementopProdDataBody _ [ Op]]; RETURN[NEW[StatementNodeBody_[position, length, StatementopProdProcs, data]]]; END; StatementoprandProdProcs: PUBLIC StatementNodeProcs _ NEW[StatementNodeProcsBody _ [StatementoprandProdSymbolTable, StatementoprandProdCodeSequence]]; BuildStatementoprandProdNode: PUBLIC PROC[position: INT, length: INT, Op: OpNode, Rand: RandNode] RETURNS[StatementNode] = BEGIN data: StatementoprandProdData _ NEW[StatementoprandProdDataBody _ [ Op, Rand]]; RETURN[NEW[StatementNodeBody_[position, length, StatementoprandProdProcs, data]]]; END; LabelidProdProcs: PUBLIC LabelNodeProcs _ NEW[LabelNodeProcsBody _ [LabelidProdNotePosition]]; BuildLabelidProdNode: PUBLIC PROC[position: INT, length: INT, id: idNode] RETURNS[LabelNode] = BEGIN data: LabelidProdData _ NEW[LabelidProdDataBody _ [ id]]; RETURN[NEW[LabelNodeBody_[position, length, LabelidProdProcs, data]]]; END; OpnoopProdProcs: PUBLIC OpNodeProcs _ NEW[OpNodeProcsBody _ [OpnoopProdInstruction, OpnoopProdInstructionRand]]; BuildOpnoopProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[OpNode] = BEGIN RETURN[NEW[OpNodeBody_[position, length, OpnoopProdProcs, NIL]]]; END; OpgotoProdProcs: PUBLIC OpNodeProcs _ NEW[OpNodeProcsBody _ [OpgotoProdInstruction, OpgotoProdInstructionRand]]; BuildOpgotoProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[OpNode] = BEGIN RETURN[NEW[OpNodeBody_[position, length, OpgotoProdProcs, NIL]]]; END; RandidProdProcs: PUBLIC RandNodeProcs _ NEW[RandNodeProcsBody _ [RandidProdIndex]]; BuildRandidProdNode: PUBLIC PROC[position: INT, length: INT, id: idNode] RETURNS[RandNode] = BEGIN data: RandidProdData _ NEW[RandidProdDataBody _ [ id]]; RETURN[NEW[RandNodeBody_[position, length, RandidProdProcs, data]]]; END; END.. rRiscAssemblerAGImpl.mesa Copyright Ó 1987 by Xerox Corporation. All rights reserved. Generated by hederman.pa at July 15, 1987 4:53:07 pm PDT using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT ProgramlistProd ListstatementProd ListdangleProd ListconsProd StatementlabelProd StatementopProd StatementoprandProd LabelidProd OpnoopProd OpgotoProd RandidProd Êݘšœ™Jšœ<™˜HJšœ˜——J˜J˜Jšœ ™ J˜šžœœ˜)JšœJ˜M—J˜šžœœœ œ œž œžœ ˜hšœ ˜Jš˜˜Jšœ˜J˜—Jšœœ<˜FJšœ˜——J˜J˜Jšœ™J˜šžœœ˜4Jšœ[˜^—J˜šžœœœ œ œžœ ž œ˜pšœ˜Jš˜˜Jšœ˜"J˜—JšœœG˜QJšœ˜——J˜J˜Jšœ™J˜šžœœ˜1JšœU˜X—J˜š žœœœ œ œžœ ˜Mšœ˜Jš˜˜Jšœ˜J˜—JšœœD˜NJšœ˜——J˜J˜Jšœ™J˜šžœœ˜5Jšœ]˜`—J˜šžœœœ œ œžœ žœ ˜ašœ˜Jš˜˜Jšœ ˜#J˜ —JšœœH˜RJšœ˜——J˜J˜Jšœ ™ J˜šžœœ˜)Jšœ1˜4—J˜š žœœœ œ œ ˜Išœ ˜Jš˜˜Jšœ˜J˜—Jšœœ<˜FJšœ˜——J˜J˜Jšœ ™ J˜šžœœ˜%JšœG˜J—J˜š žœœœ œ œ˜<šœ ˜Jš˜Jšœœ0œ˜AJšœ˜——J˜J˜Jšœ ™ J˜šžœœ˜%JšœG˜J—J˜š žœœœ œ œ˜<šœ ˜Jš˜Jšœœ0œ˜AJšœ˜——J˜J˜Jšœ ™ J˜šžœœ˜'Jšœ(˜+—J˜š žœœœ œ œ ˜Hšœ ˜Jš˜˜Jšœ˜J˜—Jšœœ:˜DJšœ˜——J˜Jšœ˜J˜—…—Q