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