RiscAssemblerAGDef.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
DIRECTORY
RiscAssemblerATDef,
RiscAssemblerTreeDef,
RiscAssemblerTokenDef;
RiscAssemblerAGDef: CEDAR DEFINITIONS =
BEGIN
OPEN RiscAssemblerATDef, RiscAssemblerTreeDef, RiscAssemblerTokenDef;
ProgramlistProd
ProgramlistProdData: TYPE = REF ProgramlistProdDataBody;
ProgramlistProdDataBody: TYPE = RECORD[
List: ListNode];
ProgramlistProdProcs: ProgramNodeProcs;
BuildProgramlistProdNode: PROC[position: INT, length: INT, List: ListNode]
RETURNS[ProgramNode];
ProgramlistProdAssemble: AssembleProcType;
ListstatementProd
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;
ListdangleProd
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;
ListconsProd
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;
StatementlabelProd
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;
StatementopProd
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;
StatementoprandProd
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;
LabelidProd
LabelidProdData: TYPE = REF LabelidProdDataBody;
LabelidProdDataBody: TYPE = RECORD[
id: idNode];
LabelidProdProcs: LabelNodeProcs;
BuildLabelidProdNode: PROC[position: INT, length: INT, id: idNode]
RETURNS[LabelNode];
LabelidProdNotePosition: NotePositionProcType;
OpnoopProd
OpnoopProdData: TYPE = REF OpnoopProdDataBody;
OpnoopProdDataBody: TYPE = RECORD[
];
OpnoopProdProcs: OpNodeProcs;
BuildOpnoopProdNode: PROC[position: INT, length: INT]
RETURNS[OpNode];
OpnoopProdInstruction: InstructionProcType;
OpnoopProdInstructionRand: InstructionRandProcType;
OpgotoProd
OpgotoProdData: TYPE = REF OpgotoProdDataBody;
OpgotoProdDataBody: TYPE = RECORD[
];
OpgotoProdProcs: OpNodeProcs;
BuildOpgotoProdNode: PROC[position: INT, length: INT]
RETURNS[OpNode];
OpgotoProdInstruction: InstructionProcType;
OpgotoProdInstructionRand: InstructionRandProcType;
RandidProd
RandidProdData: TYPE = REF RandidProdDataBody;
RandidProdDataBody: TYPE = RECORD[
id: idNode];
RandidProdProcs: RandNodeProcs;
BuildRandidProdNode: PROC[position: INT, length: INT, id: idNode]
RETURNS[RandNode];
RandidProdIndex: IndexProcType;
END..