-- SaffronAG1Def.mesa -- Copyright Ó 1987 by Xerox Corporation. All rights reserved. -- Generated by hederman.pa at August 17, 1987 4:32:58 pm PDT -- using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT DIRECTORY SaffronTreeDeclsDef, SaffronGenericDef, SaffronATDef; SaffronAG1Def: 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; TopmodulepProdExplore: ExploreProcType; -- 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; -- 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; -- 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; -- 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; -- 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; -- ExpnotProd ExpnotProdData: TYPE = REF ExpnotProdDataBody; ExpnotProdDataBody: TYPE = RECORD[ Exp: ExpNode]; ExpnotProdProcs: ExpNodeProcs; BuildExpnotProdNode: PROC[position: INT, length: INT, Exp: ExpNode] RETURNS[ExpNode]; ExpnotProdIdVal: IdValProcType; -- 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; -- 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; -- 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; -- 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; -- 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; -- ExpidProd ExpidProdData: TYPE = REF ExpidProdDataBody; ExpidProdDataBody: TYPE = RECORD[ Id: IdNode]; ExpidProdProcs: ExpNodeProcs; BuildExpidProdNode: PROC[position: INT, length: INT, Id: IdNode] RETURNS[ExpNode]; ExpidProdIdVal: IdValProcType; -- ExpnumProd ExpnumProdData: TYPE = REF ExpnumProdDataBody; ExpnumProdDataBody: TYPE = RECORD[ Num: NumNode]; ExpnumProdProcs: ExpNodeProcs; BuildExpnumProdNode: PROC[position: INT, length: INT, Num: NumNode] RETURNS[ExpNode]; ExpnumProdIdVal: IdValProcType; -- ExpstringProd ExpstringProdData: TYPE = REF ExpstringProdDataBody; ExpstringProdDataBody: TYPE = RECORD[ String: StringNode]; ExpstringProdProcs: ExpNodeProcs; BuildExpstringProdNode: PROC[position: INT, length: INT, String: StringNode] RETURNS[ExpNode]; ExpstringProdIdVal: IdValProcType; -- ExpflnumProd ExpflnumProdData: TYPE = REF ExpflnumProdDataBody; ExpflnumProdDataBody: TYPE = RECORD[ Flnum: FlnumNode]; ExpflnumProdProcs: ExpNodeProcs; BuildExpflnumProdNode: PROC[position: INT, length: INT, Flnum: FlnumNode] RETURNS[ExpNode]; ExpflnumProdIdVal: IdValProcType; -- ExpcharProd ExpcharProdData: TYPE = REF ExpcharProdDataBody; ExpcharProdDataBody: TYPE = RECORD[ Char: CharNode]; ExpcharProdProcs: ExpNodeProcs; BuildExpcharProdNode: PROC[position: INT, length: INT, Char: CharNode] RETURNS[ExpNode]; ExpcharProdIdVal: IdValProcType; -- ExpatomProd ExpatomProdData: TYPE = REF ExpatomProdDataBody; ExpatomProdDataBody: TYPE = RECORD[ Atom: AtomNode]; ExpatomProdProcs: ExpNodeProcs; BuildExpatomProdNode: PROC[position: INT, length: INT, Atom: AtomNode] RETURNS[ExpNode]; ExpatomProdIdVal: IdValProcType; -- 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; -- 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; -- 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; -- 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; -- ExpexplistProd ExpexplistProdData: TYPE = REF ExpexplistProdDataBody; ExpexplistProdDataBody: TYPE = RECORD[ ExpList: ExpListNode]; ExpexplistProdProcs: ExpNodeProcs; BuildExpexplistProdNode: PROC[position: INT, length: INT, ExpList: ExpListNode] RETURNS[ExpNode]; ExpexplistProdIdVal: IdValProcType; -- 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; -- ExpvalProd ExpvalProdData: TYPE = REF ExpvalProdDataBody; ExpvalProdDataBody: TYPE = RECORD[ OrderList: OrderListNode]; ExpvalProdProcs: ExpNodeProcs; BuildExpvalProdNode: PROC[position: INT, length: INT, OrderList: OrderListNode] RETURNS[ExpNode]; ExpvalProdIdVal: IdValProcType; -- ExpallProd ExpallProdData: TYPE = REF ExpallProdDataBody; ExpallProdDataBody: TYPE = RECORD[ OrderList: OrderListNode]; ExpallProdProcs: ExpNodeProcs; BuildExpallProdNode: PROC[position: INT, length: INT, OrderList: OrderListNode] RETURNS[ExpNode]; ExpallProdIdVal: IdValProcType; -- 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; -- 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; -- 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; -- ExpnilProd ExpnilProdData: TYPE = REF ExpnilProdDataBody; ExpnilProdDataBody: TYPE = RECORD[ ]; ExpnilProdProcs: ExpNodeProcs; BuildExpnilProdNode: PROC[position: INT, length: INT] RETURNS[ExpNode]; ExpnilProdIdVal: IdValProcType; -- 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; -- ExpsizeProd ExpsizeProdData: TYPE = REF ExpsizeProdDataBody; ExpsizeProdDataBody: TYPE = RECORD[ TypeExp: TypeExpNode]; ExpsizeProdProcs: ExpNodeProcs; BuildExpsizeProdNode: PROC[position: INT, length: INT, TypeExp: TypeExpNode] RETURNS[ExpNode]; ExpsizeProdIdVal: IdValProcType; -- 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; -- ExpbitsProd ExpbitsProdData: TYPE = REF ExpbitsProdDataBody; ExpbitsProdDataBody: TYPE = RECORD[ TypeExp: TypeExpNode]; ExpbitsProdProcs: ExpNodeProcs; BuildExpbitsProdNode: PROC[position: INT, length: INT, TypeExp: TypeExpNode] RETURNS[ExpNode]; ExpbitsProdIdVal: IdValProcType; -- 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; -- ExpbytesProd ExpbytesProdData: TYPE = REF ExpbytesProdDataBody; ExpbytesProdDataBody: TYPE = RECORD[ TypeExp: TypeExpNode]; ExpbytesProdProcs: ExpNodeProcs; BuildExpbytesProdNode: PROC[position: INT, length: INT, TypeExp: TypeExpNode] RETURNS[ExpNode]; ExpbytesProdIdVal: IdValProcType; -- 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; -- ExpunitsProd ExpunitsProdData: TYPE = REF ExpunitsProdDataBody; ExpunitsProdDataBody: TYPE = RECORD[ TypeExp: TypeExpNode]; ExpunitsProdProcs: ExpNodeProcs; BuildExpunitsProdNode: PROC[position: INT, length: INT, TypeExp: TypeExpNode] RETURNS[ExpNode]; ExpunitsProdIdVal: IdValProcType; -- 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; -- ExpwordsProd ExpwordsProdData: TYPE = REF ExpwordsProdDataBody; ExpwordsProdDataBody: TYPE = RECORD[ TypeExp: TypeExpNode]; ExpwordsProdProcs: ExpNodeProcs; BuildExpwordsProdNode: PROC[position: INT, length: INT, TypeExp: TypeExpNode] RETURNS[ExpNode]; ExpwordsProdIdVal: IdValProcType; -- 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; -- 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; -- ExpaddressProd ExpaddressProdData: TYPE = REF ExpaddressProdDataBody; ExpaddressProdDataBody: TYPE = RECORD[ Exp: ExpNode]; ExpaddressProdProcs: ExpNodeProcs; BuildExpaddressProdNode: PROC[position: INT, length: INT, Exp: ExpNode] RETURNS[ExpNode]; ExpaddressProdIdVal: IdValProcType; -- ExpdescriptorProd ExpdescriptorProdData: TYPE = REF ExpdescriptorProdDataBody; ExpdescriptorProdDataBody: TYPE = RECORD[ DescList: DescListNode]; ExpdescriptorProdProcs: ExpNodeProcs; BuildExpdescriptorProdNode: PROC[position: INT, length: INT, DescList: DescListNode] RETURNS[ExpNode]; ExpdescriptorProdIdVal: IdValProcType; -- ExperrorProd ExperrorProdData: TYPE = REF ExperrorProdDataBody; ExperrorProdDataBody: TYPE = RECORD[ ]; ExperrorProdProcs: ExpNodeProcs; BuildExperrorProdNode: PROC[position: INT, length: INT] RETURNS[ExpNode]; ExperrorProdIdVal: IdValProcType; -- 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; -- NumdecimalProd NumdecimalProdData: TYPE = REF NumdecimalProdDataBody; NumdecimalProdDataBody: TYPE = RECORD[ Decimalnum: DecimalnumNode]; NumdecimalProdProcs: NumNodeProcs; BuildNumdecimalProdNode: PROC[position: INT, length: INT, Decimalnum: DecimalnumNode] RETURNS[NumNode]; NumdecimalProdfoo: fooProcType; -- NumoctalProd NumoctalProdData: TYPE = REF NumoctalProdDataBody; NumoctalProdDataBody: TYPE = RECORD[ Octalnum: OctalnumNode]; NumoctalProdProcs: NumNodeProcs; BuildNumoctalProdNode: PROC[position: INT, length: INT, Octalnum: OctalnumNode] RETURNS[NumNode]; NumoctalProdfoo: fooProcType; -- NumhexProd NumhexProdData: TYPE = REF NumhexProdDataBody; NumhexProdDataBody: TYPE = RECORD[ Hexnum: HexnumNode]; NumhexProdProcs: NumNodeProcs; BuildNumhexProdNode: PROC[position: INT, length: INT, Hexnum: HexnumNode] RETURNS[NumNode]; NumhexProdfoo: fooProcType; -- AddOpplusProd AddOpplusProdData: TYPE = REF AddOpplusProdDataBody; AddOpplusProdDataBody: TYPE = RECORD[ ]; AddOpplusProdProcs: AddOpNodeProcs; BuildAddOpplusProdNode: PROC[position: INT, length: INT] RETURNS[AddOpNode]; AddOpplusProdfoo: fooProcType; -- AddOpminusProd AddOpminusProdData: TYPE = REF AddOpminusProdDataBody; AddOpminusProdDataBody: TYPE = RECORD[ ]; AddOpminusProdProcs: AddOpNodeProcs; BuildAddOpminusProdNode: PROC[position: INT, length: INT] RETURNS[AddOpNode]; AddOpminusProdfoo: fooProcType; -- MultOptimesProd MultOptimesProdData: TYPE = REF MultOptimesProdDataBody; MultOptimesProdDataBody: TYPE = RECORD[ ]; MultOptimesProdProcs: MultOpNodeProcs; BuildMultOptimesProdNode: PROC[position: INT, length: INT] RETURNS[MultOpNode]; MultOptimesProdfoo: fooProcType; -- MultOpdivideProd MultOpdivideProdData: TYPE = REF MultOpdivideProdDataBody; MultOpdivideProdDataBody: TYPE = RECORD[ ]; MultOpdivideProdProcs: MultOpNodeProcs; BuildMultOpdivideProdNode: PROC[position: INT, length: INT] RETURNS[MultOpNode]; MultOpdivideProdfoo: fooProcType; -- MultOpmodProd MultOpmodProdData: TYPE = REF MultOpmodProdDataBody; MultOpmodProdDataBody: TYPE = RECORD[ ]; MultOpmodProdProcs: MultOpNodeProcs; BuildMultOpmodProdNode: PROC[position: INT, length: INT] RETURNS[MultOpNode]; MultOpmodProdfoo: fooProcType; END..