-- SaffronAG1bDef.mesa -- Copyright Ó 1987 by Xerox Corporation. All rights reserved. -- Generated by Rauen.pa at September 1, 1988 7:24:24 pm PDT -- using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT DIRECTORY SaffronTreeDeclsDef, SaffronGenericDef, SaffronATDef; SaffronAG1bDef: CEDAR DEFINITIONS = BEGIN OPEN SaffronTreeDeclsDef, SaffronGenericDef, SaffronATDef; -- ExpvalProd ExpvalProdData: TYPE = REF ExpvalProdDataBody; ExpvalProdDataBody: TYPE = RECORD[ OrderList: OrderListNode]; ExpvalProdProcs: ExpNodeProcs; BuildExpvalProdNode: PROC[position: INT, length: INT, OrderList: OrderListNode] RETURNS[ExpNode]; ExpvalProdIdVal: IdValProcType; ExpvalProdCompileExpression: CompileExpressionProcType; ExpvalProdAddValueDependencies: AddValueDependenciesProcType; ExpvalProdCompileLValue: CompileLValueProcType; ExpvalProdEvaluateExpression: EvaluateExpressionProcType; -- ExpallProd ExpallProdData: TYPE = REF ExpallProdDataBody; ExpallProdDataBody: TYPE = RECORD[ OrderList: OrderListNode]; ExpallProdProcs: ExpNodeProcs; BuildExpallProdNode: PROC[position: INT, length: INT, OrderList: OrderListNode] RETURNS[ExpNode]; ExpallProdIdVal: IdValProcType; ExpallProdCompileExpression: CompileExpressionProcType; ExpallProdAddValueDependencies: AddValueDependenciesProcType; ExpallProdCompileLValue: CompileLValueProcType; ExpallProdEvaluateExpression: EvaluateExpressionProcType; -- ExpnewProd ExpnewProdData: TYPE = REF ExpnewProdDataBody; ExpnewProdDataBody: TYPE = RECORD[ New: NewNode, TypeExp: TypeExpNode, Initialization: InitializationNode, Catch: CatchNode]; ExpnewProdProcs: ExpNodeProcs; BuildExpnewProdNode: PROC[position: INT, length: INT, New: NewNode, TypeExp: TypeExpNode, Initialization: InitializationNode, Catch: CatchNode] RETURNS[ExpNode]; ExpnewProdIdVal: IdValProcType; ExpnewProdCompileExpression: CompileExpressionProcType; ExpnewProdAddValueDependencies: AddValueDependenciesProcType; ExpnewProdCompileLValue: CompileLValueProcType; ExpnewProdEvaluateExpression: EvaluateExpressionProcType; -- ExpconsProd ExpconsProdData: TYPE = REF ExpconsProdDataBody; ExpconsProdDataBody: TYPE = RECORD[ Cons: ConsNode, ExpList: ExpListNode, Catch: CatchNode]; ExpconsProdProcs: ExpNodeProcs; BuildExpconsProdNode: PROC[position: INT, length: INT, Cons: ConsNode, ExpList: ExpListNode, Catch: CatchNode] RETURNS[ExpNode]; ExpconsProdIdVal: IdValProcType; ExpconsProdCompileExpression: CompileExpressionProcType; ExpconsProdAddValueDependencies: AddValueDependenciesProcType; ExpconsProdCompileLValue: CompileLValueProcType; ExpconsProdEvaluateExpression: EvaluateExpressionProcType; -- ExplistconsProd ExplistconsProdData: TYPE = REF ExplistconsProdDataBody; ExplistconsProdDataBody: TYPE = RECORD[ ListCons: ListConsNode, ExpList: ExpListNode]; ExplistconsProdProcs: ExpNodeProcs; BuildExplistconsProdNode: PROC[position: INT, length: INT, ListCons: ListConsNode, ExpList: ExpListNode] RETURNS[ExpNode]; ExplistconsProdIdVal: IdValProcType; ExplistconsProdCompileExpression: CompileExpressionProcType; ExplistconsProdAddValueDependencies: AddValueDependenciesProcType; ExplistconsProdCompileLValue: CompileLValueProcType; ExplistconsProdEvaluateExpression: EvaluateExpressionProcType; -- ExpnilProd ExpnilProdData: TYPE = REF ExpnilProdDataBody; ExpnilProdDataBody: TYPE = RECORD[ ]; ExpnilProdProcs: ExpNodeProcs; BuildExpnilProdNode: PROC[position: INT, length: INT] RETURNS[ExpNode]; ExpnilProdIdVal: IdValProcType; ExpnilProdCompileExpression: CompileExpressionProcType; ExpnilProdAddValueDependencies: AddValueDependenciesProcType; ExpnilProdCompileLValue: CompileLValueProcType; ExpnilProdEvaluateExpression: EvaluateExpressionProcType; -- ExptypeopProd ExptypeopProdData: TYPE = REF ExptypeopProdDataBody; ExptypeopProdDataBody: TYPE = RECORD[ TypeOp: TypeOpNode, TypeExp: TypeExpNode]; ExptypeopProdProcs: ExpNodeProcs; BuildExptypeopProdNode: PROC[position: INT, length: INT, TypeOp: TypeOpNode, TypeExp: TypeExpNode] RETURNS[ExpNode]; ExptypeopProdIdVal: IdValProcType; ExptypeopProdCompileExpression: CompileExpressionProcType; ExptypeopProdAddValueDependencies: AddValueDependenciesProcType; ExptypeopProdCompileLValue: CompileLValueProcType; ExptypeopProdEvaluateExpression: EvaluateExpressionProcType; -- ExpsizeProd ExpsizeProdData: TYPE = REF ExpsizeProdDataBody; ExpsizeProdDataBody: TYPE = RECORD[ TypeExp: TypeExpNode]; ExpsizeProdProcs: ExpNodeProcs; BuildExpsizeProdNode: PROC[position: INT, length: INT, TypeExp: TypeExpNode] RETURNS[ExpNode]; ExpsizeProdIdVal: IdValProcType; ExpsizeProdCompileExpression: CompileExpressionProcType; ExpsizeProdAddValueDependencies: AddValueDependenciesProcType; ExpsizeProdCompileLValue: CompileLValueProcType; ExpsizeProdEvaluateExpression: EvaluateExpressionProcType; -- Expsize2Prod Expsize2ProdData: TYPE = REF Expsize2ProdDataBody; Expsize2ProdDataBody: TYPE = RECORD[ TypeExp: TypeExpNode, Exp: ExpNode]; Expsize2ProdProcs: ExpNodeProcs; BuildExpsize2ProdNode: PROC[position: INT, length: INT, TypeExp: TypeExpNode, Exp: ExpNode] RETURNS[ExpNode]; Expsize2ProdIdVal: IdValProcType; Expsize2ProdCompileExpression: CompileExpressionProcType; Expsize2ProdAddValueDependencies: AddValueDependenciesProcType; Expsize2ProdCompileLValue: CompileLValueProcType; Expsize2ProdEvaluateExpression: EvaluateExpressionProcType; -- ExpbitsProd ExpbitsProdData: TYPE = REF ExpbitsProdDataBody; ExpbitsProdDataBody: TYPE = RECORD[ TypeExp: TypeExpNode]; ExpbitsProdProcs: ExpNodeProcs; BuildExpbitsProdNode: PROC[position: INT, length: INT, TypeExp: TypeExpNode] RETURNS[ExpNode]; ExpbitsProdIdVal: IdValProcType; ExpbitsProdCompileExpression: CompileExpressionProcType; ExpbitsProdAddValueDependencies: AddValueDependenciesProcType; ExpbitsProdCompileLValue: CompileLValueProcType; ExpbitsProdEvaluateExpression: EvaluateExpressionProcType; -- Expbits2Prod Expbits2ProdData: TYPE = REF Expbits2ProdDataBody; Expbits2ProdDataBody: TYPE = RECORD[ TypeExp: TypeExpNode, Exp: ExpNode]; Expbits2ProdProcs: ExpNodeProcs; BuildExpbits2ProdNode: PROC[position: INT, length: INT, TypeExp: TypeExpNode, Exp: ExpNode] RETURNS[ExpNode]; Expbits2ProdIdVal: IdValProcType; Expbits2ProdCompileExpression: CompileExpressionProcType; Expbits2ProdAddValueDependencies: AddValueDependenciesProcType; Expbits2ProdCompileLValue: CompileLValueProcType; Expbits2ProdEvaluateExpression: EvaluateExpressionProcType; -- ExpbytesProd ExpbytesProdData: TYPE = REF ExpbytesProdDataBody; ExpbytesProdDataBody: TYPE = RECORD[ TypeExp: TypeExpNode]; ExpbytesProdProcs: ExpNodeProcs; BuildExpbytesProdNode: PROC[position: INT, length: INT, TypeExp: TypeExpNode] RETURNS[ExpNode]; ExpbytesProdIdVal: IdValProcType; ExpbytesProdCompileExpression: CompileExpressionProcType; ExpbytesProdAddValueDependencies: AddValueDependenciesProcType; ExpbytesProdCompileLValue: CompileLValueProcType; ExpbytesProdEvaluateExpression: EvaluateExpressionProcType; -- Expbytes2Prod Expbytes2ProdData: TYPE = REF Expbytes2ProdDataBody; Expbytes2ProdDataBody: TYPE = RECORD[ TypeExp: TypeExpNode, Exp: ExpNode]; Expbytes2ProdProcs: ExpNodeProcs; BuildExpbytes2ProdNode: PROC[position: INT, length: INT, TypeExp: TypeExpNode, Exp: ExpNode] RETURNS[ExpNode]; Expbytes2ProdIdVal: IdValProcType; Expbytes2ProdCompileExpression: CompileExpressionProcType; Expbytes2ProdAddValueDependencies: AddValueDependenciesProcType; Expbytes2ProdCompileLValue: CompileLValueProcType; Expbytes2ProdEvaluateExpression: EvaluateExpressionProcType; -- ExpunitsProd ExpunitsProdData: TYPE = REF ExpunitsProdDataBody; ExpunitsProdDataBody: TYPE = RECORD[ TypeExp: TypeExpNode]; ExpunitsProdProcs: ExpNodeProcs; BuildExpunitsProdNode: PROC[position: INT, length: INT, TypeExp: TypeExpNode] RETURNS[ExpNode]; ExpunitsProdIdVal: IdValProcType; ExpunitsProdCompileExpression: CompileExpressionProcType; ExpunitsProdAddValueDependencies: AddValueDependenciesProcType; ExpunitsProdCompileLValue: CompileLValueProcType; ExpunitsProdEvaluateExpression: EvaluateExpressionProcType; -- Expunits2Prod Expunits2ProdData: TYPE = REF Expunits2ProdDataBody; Expunits2ProdDataBody: TYPE = RECORD[ TypeExp: TypeExpNode, Exp: ExpNode]; Expunits2ProdProcs: ExpNodeProcs; BuildExpunits2ProdNode: PROC[position: INT, length: INT, TypeExp: TypeExpNode, Exp: ExpNode] RETURNS[ExpNode]; Expunits2ProdIdVal: IdValProcType; Expunits2ProdCompileExpression: CompileExpressionProcType; Expunits2ProdAddValueDependencies: AddValueDependenciesProcType; Expunits2ProdCompileLValue: CompileLValueProcType; Expunits2ProdEvaluateExpression: EvaluateExpressionProcType; -- ExpwordsProd ExpwordsProdData: TYPE = REF ExpwordsProdDataBody; ExpwordsProdDataBody: TYPE = RECORD[ TypeExp: TypeExpNode]; ExpwordsProdProcs: ExpNodeProcs; BuildExpwordsProdNode: PROC[position: INT, length: INT, TypeExp: TypeExpNode] RETURNS[ExpNode]; ExpwordsProdIdVal: IdValProcType; ExpwordsProdCompileExpression: CompileExpressionProcType; ExpwordsProdAddValueDependencies: AddValueDependenciesProcType; ExpwordsProdCompileLValue: CompileLValueProcType; ExpwordsProdEvaluateExpression: EvaluateExpressionProcType; -- Expwords2Prod Expwords2ProdData: TYPE = REF Expwords2ProdDataBody; Expwords2ProdDataBody: TYPE = RECORD[ TypeExp: TypeExpNode, Exp: ExpNode]; Expwords2ProdProcs: ExpNodeProcs; BuildExpwords2ProdNode: PROC[position: INT, length: INT, TypeExp: TypeExpNode, Exp: ExpNode] RETURNS[ExpNode]; Expwords2ProdIdVal: IdValProcType; Expwords2ProdCompileExpression: CompileExpressionProcType; Expwords2ProdAddValueDependencies: AddValueDependenciesProcType; Expwords2ProdCompileLValue: CompileLValueProcType; Expwords2ProdEvaluateExpression: EvaluateExpressionProcType; -- ExpistypeProd ExpistypeProdData: TYPE = REF ExpistypeProdDataBody; ExpistypeProdDataBody: TYPE = RECORD[ Exp: ExpNode, TypeExp: TypeExpNode]; ExpistypeProdProcs: ExpNodeProcs; BuildExpistypeProdNode: PROC[position: INT, length: INT, Exp: ExpNode, TypeExp: TypeExpNode] RETURNS[ExpNode]; ExpistypeProdIdVal: IdValProcType; ExpistypeProdCompileExpression: CompileExpressionProcType; ExpistypeProdAddValueDependencies: AddValueDependenciesProcType; ExpistypeProdCompileLValue: CompileLValueProcType; ExpistypeProdEvaluateExpression: EvaluateExpressionProcType; -- ExpaddressProd ExpaddressProdData: TYPE = REF ExpaddressProdDataBody; ExpaddressProdDataBody: TYPE = RECORD[ Exp: ExpNode]; ExpaddressProdProcs: ExpNodeProcs; BuildExpaddressProdNode: PROC[position: INT, length: INT, Exp: ExpNode] RETURNS[ExpNode]; ExpaddressProdIdVal: IdValProcType; ExpaddressProdCompileExpression: CompileExpressionProcType; ExpaddressProdAddValueDependencies: AddValueDependenciesProcType; ExpaddressProdCompileLValue: CompileLValueProcType; ExpaddressProdEvaluateExpression: EvaluateExpressionProcType; -- ExpdescriptorProd ExpdescriptorProdData: TYPE = REF ExpdescriptorProdDataBody; ExpdescriptorProdDataBody: TYPE = RECORD[ DescList: DescListNode]; ExpdescriptorProdProcs: ExpNodeProcs; BuildExpdescriptorProdNode: PROC[position: INT, length: INT, DescList: DescListNode] RETURNS[ExpNode]; ExpdescriptorProdIdVal: IdValProcType; ExpdescriptorProdCompileExpression: CompileExpressionProcType; ExpdescriptorProdAddValueDependencies: AddValueDependenciesProcType; ExpdescriptorProdCompileLValue: CompileLValueProcType; ExpdescriptorProdEvaluateExpression: EvaluateExpressionProcType; -- ExperrorProd ExperrorProdData: TYPE = REF ExperrorProdDataBody; ExperrorProdDataBody: TYPE = RECORD[ ]; ExperrorProdProcs: ExpNodeProcs; BuildExperrorProdNode: PROC[position: INT, length: INT] RETURNS[ExpNode]; ExperrorProdIdVal: IdValProcType; ExperrorProdCompileExpression: CompileExpressionProcType; ExperrorProdAddValueDependencies: AddValueDependenciesProcType; ExperrorProdCompileLValue: CompileLValueProcType; ExperrorProdEvaluateExpression: EvaluateExpressionProcType; -- ExptransferProd ExptransferProdData: TYPE = REF ExptransferProdDataBody; ExptransferProdDataBody: TYPE = RECORD[ TransferOp: TransferOpNode, Exp: ExpNode]; ExptransferProdProcs: ExpNodeProcs; BuildExptransferProdNode: PROC[position: INT, length: INT, TransferOp: TransferOpNode, Exp: ExpNode] RETURNS[ExpNode]; ExptransferProdIdVal: IdValProcType; ExptransferProdCompileExpression: CompileExpressionProcType; ExptransferProdAddValueDependencies: AddValueDependenciesProcType; ExptransferProdCompileLValue: CompileLValueProcType; ExptransferProdEvaluateExpression: EvaluateExpressionProcType; -- NumdecimalProd NumdecimalProdData: TYPE = REF NumdecimalProdDataBody; NumdecimalProdDataBody: TYPE = RECORD[ Decimalnum: DecimalnumNode]; NumdecimalProdProcs: NumNodeProcs; BuildNumdecimalProdNode: PROC[position: INT, length: INT, Decimalnum: DecimalnumNode] RETURNS[NumNode]; NumdecimalProdIntegerValueFromLiteral: IntegerValueFromLiteralProcType; -- NumoctalProd NumoctalProdData: TYPE = REF NumoctalProdDataBody; NumoctalProdDataBody: TYPE = RECORD[ Octalnum: OctalnumNode]; NumoctalProdProcs: NumNodeProcs; BuildNumoctalProdNode: PROC[position: INT, length: INT, Octalnum: OctalnumNode] RETURNS[NumNode]; NumoctalProdIntegerValueFromLiteral: IntegerValueFromLiteralProcType; -- NumhexProd NumhexProdData: TYPE = REF NumhexProdDataBody; NumhexProdDataBody: TYPE = RECORD[ Hexnum: HexnumNode]; NumhexProdProcs: NumNodeProcs; BuildNumhexProdNode: PROC[position: INT, length: INT, Hexnum: HexnumNode] RETURNS[NumNode]; NumhexProdIntegerValueFromLiteral: IntegerValueFromLiteralProcType; -- AddOpplusProd AddOpplusProdData: TYPE = REF AddOpplusProdDataBody; AddOpplusProdDataBody: TYPE = RECORD[ ]; AddOpplusProdProcs: AddOpNodeProcs; BuildAddOpplusProdNode: PROC[position: INT, length: INT] RETURNS[AddOpNode]; AddOpplusProdIsPlus: IsPlusProcType; AddOpplusProdIsMinus: IsMinusProcType; -- AddOpminusProd AddOpminusProdData: TYPE = REF AddOpminusProdDataBody; AddOpminusProdDataBody: TYPE = RECORD[ ]; AddOpminusProdProcs: AddOpNodeProcs; BuildAddOpminusProdNode: PROC[position: INT, length: INT] RETURNS[AddOpNode]; AddOpminusProdIsPlus: IsPlusProcType; AddOpminusProdIsMinus: IsMinusProcType; -- MultOptimesProd MultOptimesProdData: TYPE = REF MultOptimesProdDataBody; MultOptimesProdDataBody: TYPE = RECORD[ ]; MultOptimesProdProcs: MultOpNodeProcs; BuildMultOptimesProdNode: PROC[position: INT, length: INT] RETURNS[MultOpNode]; MultOptimesProdIsTimes: IsTimesProcType; MultOptimesProdIsDivide: IsDivideProcType; MultOptimesProdIsMod: IsModProcType; -- MultOpdivideProd MultOpdivideProdData: TYPE = REF MultOpdivideProdDataBody; MultOpdivideProdDataBody: TYPE = RECORD[ ]; MultOpdivideProdProcs: MultOpNodeProcs; BuildMultOpdivideProdNode: PROC[position: INT, length: INT] RETURNS[MultOpNode]; MultOpdivideProdIsTimes: IsTimesProcType; MultOpdivideProdIsDivide: IsDivideProcType; MultOpdivideProdIsMod: IsModProcType; -- MultOpmodProd MultOpmodProdData: TYPE = REF MultOpmodProdDataBody; MultOpmodProdDataBody: TYPE = RECORD[ ]; MultOpmodProdProcs: MultOpNodeProcs; BuildMultOpmodProdNode: PROC[position: INT, length: INT] RETURNS[MultOpNode]; MultOpmodProdIsTimes: IsTimesProcType; MultOpmodProdIsDivide: IsDivideProcType; MultOpmodProdIsMod: IsModProcType; END..