-- SaffronAG4Def.mesa -- Copyright Ó 1987 by Xerox Corporation. All rights reserved. -- Generated by Rauen.pa at September 1, 1988 2:45:35 pm PDT -- using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT DIRECTORY SaffronTreeDeclsDef, SaffronGenericDef, SaffronATDef; SaffronAG4Def: CEDAR DEFINITIONS = BEGIN OPEN SaffronTreeDeclsDef, SaffronGenericDef, SaffronATDef; -- StatementifthenProd StatementifthenProdData: TYPE = REF StatementifthenProdDataBody; StatementifthenProdDataBody: TYPE = RECORD[ Exp: ExpNode, Statement: StatementNode]; StatementifthenProdProcs: StatementNodeProcs; BuildStatementifthenProdNode: PROC[position: INT, length: INT, Exp: ExpNode, Statement: StatementNode] RETURNS[StatementNode]; StatementifthenProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementifthenProdCompile: CompileProcType; -- StatementifthenelseProd StatementifthenelseProdData: TYPE = REF StatementifthenelseProdDataBody; StatementifthenelseProdDataBody: TYPE = RECORD[ Exp: ExpNode, Statementthenpart: StatementNode, Statementelsepart: StatementNode]; StatementifthenelseProdProcs: StatementNodeProcs; BuildStatementifthenelseProdNode: PROC[position: INT, length: INT, Exp: ExpNode, Statementthenpart: StatementNode, Statementelsepart: StatementNode] RETURNS[StatementNode]; StatementifthenelseProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementifthenelseProdCompile: CompileProcType; -- StatementselectProd StatementselectProdData: TYPE = REF StatementselectProdDataBody; StatementselectProdDataBody: TYPE = RECORD[ SelectHead: SelectHeadNode, SelectStmtList: SelectStmtListNode, OptStatement: OptStatementNode]; StatementselectProdProcs: StatementNodeProcs; BuildStatementselectProdNode: PROC[position: INT, length: INT, SelectHead: SelectHeadNode, SelectStmtList: SelectStmtListNode, OptStatement: OptStatementNode] RETURNS[StatementNode]; StatementselectProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementselectProdCompile: CompileProcType; -- StatementexpProd StatementexpProdData: TYPE = REF StatementexpProdDataBody; StatementexpProdDataBody: TYPE = RECORD[ Exp: ExpNode]; StatementexpProdProcs: StatementNodeProcs; BuildStatementexpProdNode: PROC[position: INT, length: INT, Exp: ExpNode] RETURNS[StatementNode]; StatementexpProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementexpProdCompile: CompileProcType; -- StatementassignProd StatementassignProdData: TYPE = REF StatementassignProdDataBody; StatementassignProdDataBody: TYPE = RECORD[ Explhs: ExpNode, Exprhs: ExpNode]; StatementassignProdProcs: StatementNodeProcs; BuildStatementassignProdNode: PROC[position: INT, length: INT, Explhs: ExpNode, Exprhs: ExpNode] RETURNS[StatementNode]; StatementassignProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementassignProdCompile: CompileProcType; -- StatementmultiassignProd StatementmultiassignProdData: TYPE = REF StatementmultiassignProdDataBody; StatementmultiassignProdDataBody: TYPE = RECORD[ ExpList: ExpListNode, Exp: ExpNode]; StatementmultiassignProdProcs: StatementNodeProcs; BuildStatementmultiassignProdNode: PROC[position: INT, length: INT, ExpList: ExpListNode, Exp: ExpNode] RETURNS[StatementNode]; StatementmultiassignProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementmultiassignProdCompile: CompileProcType; -- StatementblockProd StatementblockProdData: TYPE = REF StatementblockProdDataBody; StatementblockProdDataBody: TYPE = RECORD[ Checked: CheckedNode, Block: BlockNode]; StatementblockProdProcs: StatementNodeProcs; BuildStatementblockProdNode: PROC[position: INT, length: INT, Checked: CheckedNode, Block: BlockNode] RETURNS[StatementNode]; StatementblockProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementblockProdCompile: CompileProcType; -- StatementloopcontrolProd StatementloopcontrolProdData: TYPE = REF StatementloopcontrolProdDataBody; StatementloopcontrolProdDataBody: TYPE = RECORD[ ForClause: ForClauseNode, DoTest: DoTestNode, Scope: ScopeNode, DoExit: DoExitNode]; StatementloopcontrolProdProcs: StatementNodeProcs; BuildStatementloopcontrolProdNode: PROC[position: INT, length: INT, ForClause: ForClauseNode, DoTest: DoTestNode, Scope: ScopeNode, DoExit: DoExitNode] RETURNS[StatementNode]; StatementloopcontrolProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementloopcontrolProdCompile: CompileProcType; -- StatementexitProd StatementexitProdData: TYPE = REF StatementexitProdDataBody; StatementexitProdDataBody: TYPE = RECORD[ ]; StatementexitProdProcs: StatementNodeProcs; BuildStatementexitProdNode: PROC[position: INT, length: INT] RETURNS[StatementNode]; StatementexitProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementexitProdCompile: CompileProcType; -- StatementloopProd StatementloopProdData: TYPE = REF StatementloopProdDataBody; StatementloopProdDataBody: TYPE = RECORD[ ]; StatementloopProdProcs: StatementNodeProcs; BuildStatementloopProdNode: PROC[position: INT, length: INT] RETURNS[StatementNode]; StatementloopProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementloopProdCompile: CompileProcType; -- StatementgotoProd StatementgotoProdData: TYPE = REF StatementgotoProdDataBody; StatementgotoProdDataBody: TYPE = RECORD[ Id: IdNode]; StatementgotoProdProcs: StatementNodeProcs; BuildStatementgotoProdNode: PROC[position: INT, length: INT, Id: IdNode] RETURNS[StatementNode]; StatementgotoProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementgotoProdCompile: CompileProcType; -- StatementreturnProd StatementreturnProdData: TYPE = REF StatementreturnProdDataBody; StatementreturnProdDataBody: TYPE = RECORD[ OptArgs: OptArgsNode]; StatementreturnProdProcs: StatementNodeProcs; BuildStatementreturnProdNode: PROC[position: INT, length: INT, OptArgs: OptArgsNode] RETURNS[StatementNode]; StatementreturnProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementreturnProdCompile: CompileProcType; -- StatementtransferProd StatementtransferProdData: TYPE = REF StatementtransferProdDataBody; StatementtransferProdDataBody: TYPE = RECORD[ Transfer: TransferNode, Exp: ExpNode]; StatementtransferProdProcs: StatementNodeProcs; BuildStatementtransferProdNode: PROC[position: INT, length: INT, Transfer: TransferNode, Exp: ExpNode] RETURNS[StatementNode]; StatementtransferProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementtransferProdCompile: CompileProcType; -- StatementfreeProd StatementfreeProdData: TYPE = REF StatementfreeProdDataBody; StatementfreeProdDataBody: TYPE = RECORD[ Free: FreeNode, Exp: ExpNode, Catch: CatchNode]; StatementfreeProdProcs: StatementNodeProcs; BuildStatementfreeProdNode: PROC[position: INT, length: INT, Free: FreeNode, Exp: ExpNode, Catch: CatchNode] RETURNS[StatementNode]; StatementfreeProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementfreeProdCompile: CompileProcType; -- StatementwaitProd StatementwaitProdData: TYPE = REF StatementwaitProdDataBody; StatementwaitProdDataBody: TYPE = RECORD[ Exp: ExpNode]; StatementwaitProdProcs: StatementNodeProcs; BuildStatementwaitProdNode: PROC[position: INT, length: INT, Exp: ExpNode] RETURNS[StatementNode]; StatementwaitProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementwaitProdCompile: CompileProcType; -- StatementerrorProd StatementerrorProdData: TYPE = REF StatementerrorProdDataBody; StatementerrorProdDataBody: TYPE = RECORD[ ]; StatementerrorProdProcs: StatementNodeProcs; BuildStatementerrorProdNode: PROC[position: INT, length: INT] RETURNS[StatementNode]; StatementerrorProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementerrorProdCompile: CompileProcType; -- StatementstopProd StatementstopProdData: TYPE = REF StatementstopProdDataBody; StatementstopProdDataBody: TYPE = RECORD[ ]; StatementstopProdProcs: StatementNodeProcs; BuildStatementstopProdNode: PROC[position: INT, length: INT] RETURNS[StatementNode]; StatementstopProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementstopProdCompile: CompileProcType; -- StatementnullProd StatementnullProdData: TYPE = REF StatementnullProdDataBody; StatementnullProdDataBody: TYPE = RECORD[ ]; StatementnullProdProcs: StatementNodeProcs; BuildStatementnullProdNode: PROC[position: INT, length: INT] RETURNS[StatementNode]; StatementnullProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementnullProdCompile: CompileProcType; -- StatementresumeProd StatementresumeProdData: TYPE = REF StatementresumeProdDataBody; StatementresumeProdDataBody: TYPE = RECORD[ OptArgs: OptArgsNode]; StatementresumeProdProcs: StatementNodeProcs; BuildStatementresumeProdNode: PROC[position: INT, length: INT, OptArgs: OptArgsNode] RETURNS[StatementNode]; StatementresumeProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementresumeProdCompile: CompileProcType; -- StatementrejectProd StatementrejectProdData: TYPE = REF StatementrejectProdDataBody; StatementrejectProdDataBody: TYPE = RECORD[ ]; StatementrejectProdProcs: StatementNodeProcs; BuildStatementrejectProdNode: PROC[position: INT, length: INT] RETURNS[StatementNode]; StatementrejectProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementrejectProdCompile: CompileProcType; -- StatementcontinueProd StatementcontinueProdData: TYPE = REF StatementcontinueProdDataBody; StatementcontinueProdDataBody: TYPE = RECORD[ ]; StatementcontinueProdProcs: StatementNodeProcs; BuildStatementcontinueProdNode: PROC[position: INT, length: INT] RETURNS[StatementNode]; StatementcontinueProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementcontinueProdCompile: CompileProcType; -- StatementretryProd StatementretryProdData: TYPE = REF StatementretryProdDataBody; StatementretryProdDataBody: TYPE = RECORD[ ]; StatementretryProdProcs: StatementNodeProcs; BuildStatementretryProdNode: PROC[position: INT, length: INT] RETURNS[StatementNode]; StatementretryProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementretryProdCompile: CompileProcType; -- StatementgetstateProd StatementgetstateProdData: TYPE = REF StatementgetstateProdDataBody; StatementgetstateProdDataBody: TYPE = RECORD[ Exp: ExpNode]; StatementgetstateProdProcs: StatementNodeProcs; BuildStatementgetstateProdNode: PROC[position: INT, length: INT, Exp: ExpNode] RETURNS[StatementNode]; StatementgetstateProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementgetstateProdCompile: CompileProcType; -- StatementsetstateProd StatementsetstateProdData: TYPE = REF StatementsetstateProdDataBody; StatementsetstateProdDataBody: TYPE = RECORD[ Exp: ExpNode]; StatementsetstateProdProcs: StatementNodeProcs; BuildStatementsetstateProdNode: PROC[position: INT, length: INT, Exp: ExpNode] RETURNS[StatementNode]; StatementsetstateProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementsetstateProdCompile: CompileProcType; -- OptStatementabsentProd OptStatementabsentProdData: TYPE = REF OptStatementabsentProdDataBody; OptStatementabsentProdDataBody: TYPE = RECORD[ ]; OptStatementabsentProdProcs: OptStatementNodeProcs; BuildOptStatementabsentProdNode: PROC[position: INT, length: INT] RETURNS[OptStatementNode]; OptStatementabsentProdfoo: fooProcType; -- OptStatementpresentProd OptStatementpresentProdData: TYPE = REF OptStatementpresentProdDataBody; OptStatementpresentProdDataBody: TYPE = RECORD[ Statement: StatementNode]; OptStatementpresentProdProcs: OptStatementNodeProcs; BuildOptStatementpresentProdNode: PROC[position: INT, length: INT, Statement: StatementNode] RETURNS[OptStatementNode]; OptStatementpresentProdfoo: fooProcType; -- SelectStmtListemptyProd SelectStmtListemptyProdData: TYPE = REF SelectStmtListemptyProdDataBody; SelectStmtListemptyProdDataBody: TYPE = RECORD[ ]; SelectStmtListemptyProdProcs: SelectStmtListNodeProcs; BuildSelectStmtListemptyProdNode: PROC[position: INT, length: INT] RETURNS[SelectStmtListNode]; SelectStmtListemptyProdfoo: fooProcType; -- SelectStmtListmoreProd SelectStmtListmoreProdData: TYPE = REF SelectStmtListmoreProdDataBody; SelectStmtListmoreProdDataBody: TYPE = RECORD[ SelectStmtList: SelectStmtListNode, SelectStmtItem: SelectStmtItemNode]; SelectStmtListmoreProdProcs: SelectStmtListNodeProcs; BuildSelectStmtListmoreProdNode: PROC[position: INT, length: INT, SelectStmtList: SelectStmtListNode, SelectStmtItem: SelectStmtItemNode] RETURNS[SelectStmtListNode]; SelectStmtListmoreProdfoo: fooProcType; -- SelectStmtItemProd SelectStmtItemProdData: TYPE = REF SelectStmtItemProdDataBody; SelectStmtItemProdDataBody: TYPE = RECORD[ SelectLabel: SelectLabelNode, Statement: StatementNode]; SelectStmtItemProdProcs: SelectStmtItemNodeProcs; BuildSelectStmtItemProdNode: PROC[position: INT, length: INT, SelectLabel: SelectLabelNode, Statement: StatementNode] RETURNS[SelectStmtItemNode]; SelectStmtItemProdfoo: fooProcType; -- BlockProd BlockProdData: TYPE = REF BlockProdDataBody; BlockProdDataBody: TYPE = RECORD[ Scope: ScopeNode, ExitList: ExitListNode]; BlockProdProcs: BlockNodeProcs; BuildBlockProdNode: PROC[position: INT, length: INT, Scope: ScopeNode, ExitList: ExitListNode] RETURNS[BlockNode]; BlockProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; BlockProdMakeContextTree: MakeContextTreeProcType; BlockProdCompileFrameBlock: CompileFrameBlockProcType; BlockProdCompile: CompileProcType; BlockProdInternalCompileBlock: InternalCompileBlockProcType; -- ScopeProd ScopeProdData: TYPE = REF ScopeProdDataBody; ScopeProdDataBody: TYPE = RECORD[ BindList: BindListNode, Catch: CatchNode, OptDecList: OptDecListNode, StatementList: StatementListNode]; ScopeProdProcs: ScopeNodeProcs; BuildScopeProdNode: PROC[position: INT, length: INT, BindList: BindListNode, Catch: CatchNode, OptDecList: OptDecListNode, StatementList: StatementListNode] RETURNS[ScopeNode]; ScopeProdCompileScope: CompileScopeProcType; -- OptDecListabsentProd OptDecListabsentProdData: TYPE = REF OptDecListabsentProdDataBody; OptDecListabsentProdDataBody: TYPE = RECORD[ ]; OptDecListabsentProdProcs: OptDecListNodeProcs; BuildOptDecListabsentProdNode: PROC[position: INT, length: INT] RETURNS[OptDecListNode]; OptDecListabsentProdUpdateLocalContext: UpdateLocalContextProcType; OptDecListabsentProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; OptDecListabsentProdAddDeclarationsToFieldList: AddDeclarationsToFieldListProcType; OptDecListabsentProdCompile: CompileProcType; -- OptDecListpresentProd OptDecListpresentProdData: TYPE = REF OptDecListpresentProdDataBody; OptDecListpresentProdDataBody: TYPE = RECORD[ DecList: DecListNode]; OptDecListpresentProdProcs: OptDecListNodeProcs; BuildOptDecListpresentProdNode: PROC[position: INT, length: INT, DecList: DecListNode] RETURNS[OptDecListNode]; OptDecListpresentProdUpdateLocalContext: UpdateLocalContextProcType; OptDecListpresentProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; OptDecListpresentProdAddDeclarationsToFieldList: AddDeclarationsToFieldListProcType; OptDecListpresentProdCompile: CompileProcType; -- StatementListemptyProd StatementListemptyProdData: TYPE = REF StatementListemptyProdDataBody; StatementListemptyProdDataBody: TYPE = RECORD[ ]; StatementListemptyProdProcs: StatementListNodeProcs; BuildStatementListemptyProdNode: PROC[position: INT, length: INT] RETURNS[StatementListNode]; StatementListemptyProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementListemptyProdCompile: CompileProcType; -- StatementListmoreProd StatementListmoreProdData: TYPE = REF StatementListmoreProdDataBody; StatementListmoreProdDataBody: TYPE = RECORD[ StatementList: StatementListNode, Statement: StatementNode]; StatementListmoreProdProcs: StatementListNodeProcs; BuildStatementListmoreProdNode: PROC[position: INT, length: INT, StatementList: StatementListNode, Statement: StatementNode] RETURNS[StatementListNode]; StatementListmoreProdHangContextsFromContextTree: HangContextsFromContextTreeProcType; StatementListmoreProdCompile: CompileProcType; END..