<> <> <> <> DIRECTORY RiscAssemblerATDef, RiscAssemblerTreeDef, RiscAssemblerTokenDef; RiscAssemblerAGDef: CEDAR DEFINITIONS = BEGIN OPEN RiscAssemblerATDef, RiscAssemblerTreeDef, RiscAssemblerTokenDef; <> ProgramlistProdData: TYPE = REF ProgramlistProdDataBody; ProgramlistProdDataBody: TYPE = RECORD[ List: ListNode]; ProgramlistProdProcs: ProgramNodeProcs; BuildProgramlistProdNode: PROC[position: INT, length: INT, List: ListNode] RETURNS[ProgramNode]; ProgramlistProdAssemble: AssembleProcType; <> ListstatementProdData: TYPE = REF ListstatementProdDataBody; ListstatementProdDataBody: TYPE = RECORD[ Statement: StatementNode]; ListstatementProdProcs: ListNodeProcs; BuildListstatementProdNode: PROC[position: INT, length: INT, Statement: StatementNode] RETURNS[ListNode]; ListstatementProdSymbolTable: SymbolTableProcType; ListstatementProdCodeSequence: CodeSequenceProcType; <> ListdangleProdData: TYPE = REF ListdangleProdDataBody; ListdangleProdDataBody: TYPE = RECORD[ Statement: StatementNode]; ListdangleProdProcs: ListNodeProcs; BuildListdangleProdNode: PROC[position: INT, length: INT, Statement: StatementNode] RETURNS[ListNode]; ListdangleProdSymbolTable: SymbolTableProcType; ListdangleProdCodeSequence: CodeSequenceProcType; <> ListconsProdData: TYPE = REF ListconsProdDataBody; ListconsProdDataBody: TYPE = RECORD[ Statement: StatementNode, List: ListNode]; ListconsProdProcs: ListNodeProcs; BuildListconsProdNode: PROC[position: INT, length: INT, Statement: StatementNode, List: ListNode] RETURNS[ListNode]; ListconsProdSymbolTable: SymbolTableProcType; ListconsProdCodeSequence: CodeSequenceProcType; <> StatementlabelProdData: TYPE = REF StatementlabelProdDataBody; StatementlabelProdDataBody: TYPE = RECORD[ Label: LabelNode, Statement: StatementNode]; StatementlabelProdProcs: StatementNodeProcs; BuildStatementlabelProdNode: PROC[position: INT, length: INT, Label: LabelNode, Statement: StatementNode] RETURNS[StatementNode]; StatementlabelProdSymbolTable: SymbolTableProcType; StatementlabelProdCodeSequence: CodeSequenceProcType; <> StatementopProdData: TYPE = REF StatementopProdDataBody; StatementopProdDataBody: TYPE = RECORD[ Op: OpNode]; StatementopProdProcs: StatementNodeProcs; BuildStatementopProdNode: PROC[position: INT, length: INT, Op: OpNode] RETURNS[StatementNode]; StatementopProdSymbolTable: SymbolTableProcType; StatementopProdCodeSequence: CodeSequenceProcType; <> StatementoprandProdData: TYPE = REF StatementoprandProdDataBody; StatementoprandProdDataBody: TYPE = RECORD[ Op: OpNode, Rand: RandNode]; StatementoprandProdProcs: StatementNodeProcs; BuildStatementoprandProdNode: PROC[position: INT, length: INT, Op: OpNode, Rand: RandNode] RETURNS[StatementNode]; StatementoprandProdSymbolTable: SymbolTableProcType; StatementoprandProdCodeSequence: CodeSequenceProcType; <> LabelidProdData: TYPE = REF LabelidProdDataBody; LabelidProdDataBody: TYPE = RECORD[ id: idNode]; LabelidProdProcs: LabelNodeProcs; BuildLabelidProdNode: PROC[position: INT, length: INT, id: idNode] RETURNS[LabelNode]; LabelidProdNotePosition: NotePositionProcType; <> OpnoopProdData: TYPE = REF OpnoopProdDataBody; OpnoopProdDataBody: TYPE = RECORD[ ]; OpnoopProdProcs: OpNodeProcs; BuildOpnoopProdNode: PROC[position: INT, length: INT] RETURNS[OpNode]; OpnoopProdInstruction: InstructionProcType; OpnoopProdInstructionRand: InstructionRandProcType; <> OpgotoProdData: TYPE = REF OpgotoProdDataBody; OpgotoProdDataBody: TYPE = RECORD[ ]; OpgotoProdProcs: OpNodeProcs; BuildOpgotoProdNode: PROC[position: INT, length: INT] RETURNS[OpNode]; OpgotoProdInstruction: InstructionProcType; OpgotoProdInstructionRand: InstructionRandProcType; <> RandidProdData: TYPE = REF RandidProdDataBody; RandidProdDataBody: TYPE = RECORD[ id: idNode]; RandidProdProcs: RandNodeProcs; BuildRandidProdNode: PROC[position: INT, length: INT, id: idNode] RETURNS[RandNode]; RandidProdIndex: IndexProcType; END..