-- SaffronAG1aDef.mesa -- Copyright Ó 1987 by Xerox Corporation. All rights reserved. -- Generated by Rauen.pa at September 1, 1988 7:24:17 pm PDT -- using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT DIRECTORY SaffronTreeDeclsDef, SaffronGenericDef, SaffronATDef; SaffronAG1aDef: CEDAR DEFINITIONS = BEGIN OPEN SaffronTreeDeclsDef, SaffronGenericDef, SaffronATDef; -- JunkProd JunkProdData: TYPE = REF JunkProdDataBody; JunkProdDataBody: TYPE = RECORD[ ]; JunkProdProcs: JunkNodeProcs; BuildJunkProdNode: PROC[position: INT, length: INT] RETURNS[JunkNode]; JunkProdfoo: fooProcType; -- TopmodulepProd TopmodulepProdData: TYPE = REF TopmodulepProdDataBody; TopmodulepProdDataBody: TYPE = RECORD[ ModuleP: ModulePNode]; TopmodulepProdProcs: TopNodeProcs; BuildTopmodulepProdNode: PROC[position: INT, length: INT, ModuleP: ModulePNode] RETURNS[TopNode]; TopmodulepProdDoTop: DoTopProcType; -- ExpsumProd ExpsumProdData: TYPE = REF ExpsumProdDataBody; ExpsumProdDataBody: TYPE = RECORD[ Expleft: ExpNode, AddOp: AddOpNode, Expright: ExpNode]; ExpsumProdProcs: ExpNodeProcs; BuildExpsumProdNode: PROC[position: INT, length: INT, Expleft: ExpNode, AddOp: AddOpNode, Expright: ExpNode] RETURNS[ExpNode]; ExpsumProdIdVal: IdValProcType; ExpsumProdCompileExpression: CompileExpressionProcType; ExpsumProdAddValueDependencies: AddValueDependenciesProcType; ExpsumProdCompileLValue: CompileLValueProcType; ExpsumProdEvaluateExpression: EvaluateExpressionProcType; -- ExpunarysumProd ExpunarysumProdData: TYPE = REF ExpunarysumProdDataBody; ExpunarysumProdDataBody: TYPE = RECORD[ AddOp: AddOpNode, Exp: ExpNode]; ExpunarysumProdProcs: ExpNodeProcs; BuildExpunarysumProdNode: PROC[position: INT, length: INT, AddOp: AddOpNode, Exp: ExpNode] RETURNS[ExpNode]; ExpunarysumProdIdVal: IdValProcType; ExpunarysumProdCompileExpression: CompileExpressionProcType; ExpunarysumProdAddValueDependencies: AddValueDependenciesProcType; ExpunarysumProdCompileLValue: CompileLValueProcType; ExpunarysumProdEvaluateExpression: EvaluateExpressionProcType; -- ExpproductProd ExpproductProdData: TYPE = REF ExpproductProdDataBody; ExpproductProdDataBody: TYPE = RECORD[ Expleft: ExpNode, MultOp: MultOpNode, Expright: ExpNode]; ExpproductProdProcs: ExpNodeProcs; BuildExpproductProdNode: PROC[position: INT, length: INT, Expleft: ExpNode, MultOp: MultOpNode, Expright: ExpNode] RETURNS[ExpNode]; ExpproductProdIdVal: IdValProcType; ExpproductProdCompileExpression: CompileExpressionProcType; ExpproductProdAddValueDependencies: AddValueDependenciesProcType; ExpproductProdCompileLValue: CompileLValueProcType; ExpproductProdEvaluateExpression: EvaluateExpressionProcType; -- ExporProd ExporProdData: TYPE = REF ExporProdDataBody; ExporProdDataBody: TYPE = RECORD[ Expleft: ExpNode, Expright: ExpNode]; ExporProdProcs: ExpNodeProcs; BuildExporProdNode: PROC[position: INT, length: INT, Expleft: ExpNode, Expright: ExpNode] RETURNS[ExpNode]; ExporProdIdVal: IdValProcType; ExporProdCompileExpression: CompileExpressionProcType; ExporProdAddValueDependencies: AddValueDependenciesProcType; ExporProdCompileLValue: CompileLValueProcType; ExporProdEvaluateExpression: EvaluateExpressionProcType; -- ExpandProd ExpandProdData: TYPE = REF ExpandProdDataBody; ExpandProdDataBody: TYPE = RECORD[ Expleft: ExpNode, Expright: ExpNode]; ExpandProdProcs: ExpNodeProcs; BuildExpandProdNode: PROC[position: INT, length: INT, Expleft: ExpNode, Expright: ExpNode] RETURNS[ExpNode]; ExpandProdIdVal: IdValProcType; ExpandProdCompileExpression: CompileExpressionProcType; ExpandProdAddValueDependencies: AddValueDependenciesProcType; ExpandProdCompileLValue: CompileLValueProcType; ExpandProdEvaluateExpression: EvaluateExpressionProcType; -- ExpnotProd ExpnotProdData: TYPE = REF ExpnotProdDataBody; ExpnotProdDataBody: TYPE = RECORD[ Exp: ExpNode]; ExpnotProdProcs: ExpNodeProcs; BuildExpnotProdNode: PROC[position: INT, length: INT, Exp: ExpNode] RETURNS[ExpNode]; ExpnotProdIdVal: IdValProcType; ExpnotProdCompileExpression: CompileExpressionProcType; ExpnotProdAddValueDependencies: AddValueDependenciesProcType; ExpnotProdCompileLValue: CompileLValueProcType; ExpnotProdEvaluateExpression: EvaluateExpressionProcType; -- ExprelationProd ExprelationProdData: TYPE = REF ExprelationProdDataBody; ExprelationProdDataBody: TYPE = RECORD[ Exp: ExpNode, Relation: RelationNode]; ExprelationProdProcs: ExpNodeProcs; BuildExprelationProdNode: PROC[position: INT, length: INT, Exp: ExpNode, Relation: RelationNode] RETURNS[ExpNode]; ExprelationProdIdVal: IdValProcType; ExprelationProdCompileExpression: CompileExpressionProcType; ExprelationProdAddValueDependencies: AddValueDependenciesProcType; ExprelationProdCompileLValue: CompileLValueProcType; ExprelationProdEvaluateExpression: EvaluateExpressionProcType; -- ExpifthenelseProd ExpifthenelseProdData: TYPE = REF ExpifthenelseProdDataBody; ExpifthenelseProdDataBody: TYPE = RECORD[ Expcond: ExpNode, Expthenpart: ExpNode, Expelsepart: ExpNode]; ExpifthenelseProdProcs: ExpNodeProcs; BuildExpifthenelseProdNode: PROC[position: INT, length: INT, Expcond: ExpNode, Expthenpart: ExpNode, Expelsepart: ExpNode] RETURNS[ExpNode]; ExpifthenelseProdIdVal: IdValProcType; ExpifthenelseProdCompileExpression: CompileExpressionProcType; ExpifthenelseProdAddValueDependencies: AddValueDependenciesProcType; ExpifthenelseProdCompileLValue: CompileLValueProcType; ExpifthenelseProdEvaluateExpression: EvaluateExpressionProcType; -- ExpselectProd ExpselectProdData: TYPE = REF ExpselectProdDataBody; ExpselectProdDataBody: TYPE = RECORD[ SelectHead: SelectHeadNode, SelectExpList: SelectExpListNode, Expdefault: ExpNode]; ExpselectProdProcs: ExpNodeProcs; BuildExpselectProdNode: PROC[position: INT, length: INT, SelectHead: SelectHeadNode, SelectExpList: SelectExpListNode, Expdefault: ExpNode] RETURNS[ExpNode]; ExpselectProdIdVal: IdValProcType; ExpselectProdCompileExpression: CompileExpressionProcType; ExpselectProdAddValueDependencies: AddValueDependenciesProcType; ExpselectProdCompileLValue: CompileLValueProcType; ExpselectProdEvaluateExpression: EvaluateExpressionProcType; -- ExpassignProd ExpassignProdData: TYPE = REF ExpassignProdDataBody; ExpassignProdDataBody: TYPE = RECORD[ Explhs: ExpNode, Exprhs: ExpNode]; ExpassignProdProcs: ExpNodeProcs; BuildExpassignProdNode: PROC[position: INT, length: INT, Explhs: ExpNode, Exprhs: ExpNode] RETURNS[ExpNode]; ExpassignProdIdVal: IdValProcType; ExpassignProdCompileExpression: CompileExpressionProcType; ExpassignProdAddValueDependencies: AddValueDependenciesProcType; ExpassignProdCompileLValue: CompileLValueProcType; ExpassignProdEvaluateExpression: EvaluateExpressionProcType; -- ExpmultiassignProd ExpmultiassignProdData: TYPE = REF ExpmultiassignProdDataBody; ExpmultiassignProdDataBody: TYPE = RECORD[ ExpList: ExpListNode, Exp: ExpNode]; ExpmultiassignProdProcs: ExpNodeProcs; BuildExpmultiassignProdNode: PROC[position: INT, length: INT, ExpList: ExpListNode, Exp: ExpNode] RETURNS[ExpNode]; ExpmultiassignProdIdVal: IdValProcType; ExpmultiassignProdCompileExpression: CompileExpressionProcType; ExpmultiassignProdAddValueDependencies: AddValueDependenciesProcType; ExpmultiassignProdCompileLValue: CompileLValueProcType; ExpmultiassignProdEvaluateExpression: EvaluateExpressionProcType; -- ExpidProd ExpidProdData: TYPE = REF ExpidProdDataBody; ExpidProdDataBody: TYPE = RECORD[ Id: IdNode]; ExpidProdProcs: ExpNodeProcs; BuildExpidProdNode: PROC[position: INT, length: INT, Id: IdNode] RETURNS[ExpNode]; ExpidProdIdVal: IdValProcType; ExpidProdCompileExpression: CompileExpressionProcType; ExpidProdAddValueDependencies: AddValueDependenciesProcType; ExpidProdCompileLValue: CompileLValueProcType; ExpidProdEvaluateExpression: EvaluateExpressionProcType; -- ExpnumProd ExpnumProdData: TYPE = REF ExpnumProdDataBody; ExpnumProdDataBody: TYPE = RECORD[ Num: NumNode]; ExpnumProdProcs: ExpNodeProcs; BuildExpnumProdNode: PROC[position: INT, length: INT, Num: NumNode] RETURNS[ExpNode]; ExpnumProdIdVal: IdValProcType; ExpnumProdCompileExpression: CompileExpressionProcType; ExpnumProdAddValueDependencies: AddValueDependenciesProcType; ExpnumProdCompileLValue: CompileLValueProcType; ExpnumProdEvaluateExpression: EvaluateExpressionProcType; -- ExpstringProd ExpstringProdData: TYPE = REF ExpstringProdDataBody; ExpstringProdDataBody: TYPE = RECORD[ String: StringNode]; ExpstringProdProcs: ExpNodeProcs; BuildExpstringProdNode: PROC[position: INT, length: INT, String: StringNode] RETURNS[ExpNode]; ExpstringProdIdVal: IdValProcType; ExpstringProdCompileExpression: CompileExpressionProcType; ExpstringProdAddValueDependencies: AddValueDependenciesProcType; ExpstringProdCompileLValue: CompileLValueProcType; ExpstringProdEvaluateExpression: EvaluateExpressionProcType; -- ExpflnumProd ExpflnumProdData: TYPE = REF ExpflnumProdDataBody; ExpflnumProdDataBody: TYPE = RECORD[ Flnum: FlnumNode]; ExpflnumProdProcs: ExpNodeProcs; BuildExpflnumProdNode: PROC[position: INT, length: INT, Flnum: FlnumNode] RETURNS[ExpNode]; ExpflnumProdIdVal: IdValProcType; ExpflnumProdCompileExpression: CompileExpressionProcType; ExpflnumProdAddValueDependencies: AddValueDependenciesProcType; ExpflnumProdCompileLValue: CompileLValueProcType; ExpflnumProdEvaluateExpression: EvaluateExpressionProcType; -- ExpcharProd ExpcharProdData: TYPE = REF ExpcharProdDataBody; ExpcharProdDataBody: TYPE = RECORD[ Char: CharNode]; ExpcharProdProcs: ExpNodeProcs; BuildExpcharProdNode: PROC[position: INT, length: INT, Char: CharNode] RETURNS[ExpNode]; ExpcharProdIdVal: IdValProcType; ExpcharProdCompileExpression: CompileExpressionProcType; ExpcharProdAddValueDependencies: AddValueDependenciesProcType; ExpcharProdCompileLValue: CompileLValueProcType; ExpcharProdEvaluateExpression: EvaluateExpressionProcType; -- ExpatomProd ExpatomProdData: TYPE = REF ExpatomProdDataBody; ExpatomProdDataBody: TYPE = RECORD[ Atom: AtomNode]; ExpatomProdProcs: ExpNodeProcs; BuildExpatomProdNode: PROC[position: INT, length: INT, Atom: AtomNode] RETURNS[ExpNode]; ExpatomProdIdVal: IdValProcType; ExpatomProdCompileExpression: CompileExpressionProcType; ExpatomProdAddValueDependencies: AddValueDependenciesProcType; ExpatomProdCompileLValue: CompileLValueProcType; ExpatomProdEvaluateExpression: EvaluateExpressionProcType; -- ExpnarrowProd ExpnarrowProdData: TYPE = REF ExpnarrowProdDataBody; ExpnarrowProdDataBody: TYPE = RECORD[ Exp: ExpNode, OptType: OptTypeNode, Catch: CatchNode]; ExpnarrowProdProcs: ExpNodeProcs; BuildExpnarrowProdNode: PROC[position: INT, length: INT, Exp: ExpNode, OptType: OptTypeNode, Catch: CatchNode] RETURNS[ExpNode]; ExpnarrowProdIdVal: IdValProcType; ExpnarrowProdCompileExpression: CompileExpressionProcType; ExpnarrowProdAddValueDependencies: AddValueDependenciesProcType; ExpnarrowProdCompileLValue: CompileLValueProcType; ExpnarrowProdEvaluateExpression: EvaluateExpressionProcType; -- ExploopholeProd ExploopholeProdData: TYPE = REF ExploopholeProdDataBody; ExploopholeProdDataBody: TYPE = RECORD[ Exp: ExpNode, OptType: OptTypeNode]; ExploopholeProdProcs: ExpNodeProcs; BuildExploopholeProdNode: PROC[position: INT, length: INT, Exp: ExpNode, OptType: OptTypeNode] RETURNS[ExpNode]; ExploopholeProdIdVal: IdValProcType; ExploopholeProdCompileExpression: CompileExpressionProcType; ExploopholeProdAddValueDependencies: AddValueDependenciesProcType; ExploopholeProdCompileLValue: CompileLValueProcType; ExploopholeProdEvaluateExpression: EvaluateExpressionProcType; -- ExpapplyProd ExpapplyProdData: TYPE = REF ExpapplyProdDataBody; ExpapplyProdDataBody: TYPE = RECORD[ Exprator: ExpNode, Exprand: ExpNode, Catch: CatchNode]; ExpapplyProdProcs: ExpNodeProcs; BuildExpapplyProdNode: PROC[position: INT, length: INT, Exprator: ExpNode, Exprand: ExpNode, Catch: CatchNode] RETURNS[ExpNode]; ExpapplyProdIdVal: IdValProcType; ExpapplyProdCompileExpression: CompileExpressionProcType; ExpapplyProdAddValueDependencies: AddValueDependenciesProcType; ExpapplyProdCompileLValue: CompileLValueProcType; ExpapplyProdEvaluateExpression: EvaluateExpressionProcType; -- ExpqualifierProd ExpqualifierProdData: TYPE = REF ExpqualifierProdDataBody; ExpqualifierProdDataBody: TYPE = RECORD[ Exp: ExpNode, Qualifier: QualifierNode]; ExpqualifierProdProcs: ExpNodeProcs; BuildExpqualifierProdNode: PROC[position: INT, length: INT, Exp: ExpNode, Qualifier: QualifierNode] RETURNS[ExpNode]; ExpqualifierProdIdVal: IdValProcType; ExpqualifierProdCompileExpression: CompileExpressionProcType; ExpqualifierProdAddValueDependencies: AddValueDependenciesProcType; ExpqualifierProdCompileLValue: CompileLValueProcType; ExpqualifierProdEvaluateExpression: EvaluateExpressionProcType; -- ExpexplistProd ExpexplistProdData: TYPE = REF ExpexplistProdDataBody; ExpexplistProdDataBody: TYPE = RECORD[ ExpList: ExpListNode]; ExpexplistProdProcs: ExpNodeProcs; BuildExpexplistProdNode: PROC[position: INT, length: INT, ExpList: ExpListNode] RETURNS[ExpNode]; ExpexplistProdIdVal: IdValProcType; ExpexplistProdCompileExpression: CompileExpressionProcType; ExpexplistProdAddValueDependencies: AddValueDependenciesProcType; ExpexplistProdCompileLValue: CompileLValueProcType; ExpexplistProdEvaluateExpression: EvaluateExpressionProcType; -- ExpprefixopProd ExpprefixopProdData: TYPE = REF ExpprefixopProdDataBody; ExpprefixopProdDataBody: TYPE = RECORD[ PrefixOp: PrefixOpNode, OrderList: OrderListNode]; ExpprefixopProdProcs: ExpNodeProcs; BuildExpprefixopProdNode: PROC[position: INT, length: INT, PrefixOp: PrefixOpNode, OrderList: OrderListNode] RETURNS[ExpNode]; ExpprefixopProdIdVal: IdValProcType; ExpprefixopProdCompileExpression: CompileExpressionProcType; ExpprefixopProdAddValueDependencies: AddValueDependenciesProcType; ExpprefixopProdCompileLValue: CompileLValueProcType; ExpprefixopProdEvaluateExpression: EvaluateExpressionProcType; END..