SaffronAG1Def.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Generated by BJackson.pa at April 27, 1987 10:51:08 pm PDT
using ThreeCasabaFour [1.1] of April 14, 1987 6:34:07 pm PDT
DIRECTORY
SaffronTreeBucketDef,
SaffronTreeDeclsDef,
SaffronGenericDef,
SaffronATDef;
SaffronAG1Def: CEDAR DEFINITIONS =
BEGIN
OPEN SaffronTreeBucketDef, 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];
TopmodulepProdfoo: fooProcType;
TopmodulepProdDoTop: DoTopProcType;
TopscopeProd
TopscopeProdData: TYPE = REF TopscopeProdDataBody;
TopscopeProdDataBody: TYPE = RECORD[
Scope: ScopeNode];
TopscopeProdProcs: TopNodeProcs;
BuildTopscopeProdNode: PROC[position: INT, length: INT, Scope: ScopeNode]
RETURNS[TopNode];
TopscopeProdfoo: fooProcType;
TopscopeProdDoTop: 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];
ExpsumProdfoo: fooProcType;
ExpsumProdMakeValue: MakeValueProcType;
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];
ExpunarysumProdfoo: fooProcType;
ExpunarysumProdMakeValue: MakeValueProcType;
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];
ExpproductProdfoo: fooProcType;
ExpproductProdMakeValue: MakeValueProcType;
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];
ExporProdfoo: fooProcType;
ExporProdMakeValue: MakeValueProcType;
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];
ExpandProdfoo: fooProcType;
ExpandProdMakeValue: MakeValueProcType;
ExpnotProd
ExpnotProdData: TYPE = REF ExpnotProdDataBody;
ExpnotProdDataBody: TYPE = RECORD[
Exp: ExpNode];
ExpnotProdProcs: ExpNodeProcs;
BuildExpnotProdNode: PROC[position: INT, length: INT, Exp: ExpNode]
RETURNS[ExpNode];
ExpnotProdfoo: fooProcType;
ExpnotProdMakeValue: MakeValueProcType;
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];
ExprelationProdfoo: fooProcType;
ExprelationProdMakeValue: MakeValueProcType;
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];
ExpifthenelseProdfoo: fooProcType;
ExpifthenelseProdMakeValue: MakeValueProcType;
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];
ExpselectProdfoo: fooProcType;
ExpselectProdMakeValue: MakeValueProcType;
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];
ExpassignProdfoo: fooProcType;
ExpassignProdMakeValue: MakeValueProcType;
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];
ExpmultiassignProdfoo: fooProcType;
ExpmultiassignProdMakeValue: MakeValueProcType;
ExpidProd
ExpidProdData: TYPE = REF ExpidProdDataBody;
ExpidProdDataBody: TYPE = RECORD[
id: idNode];
ExpidProdProcs: ExpNodeProcs;
BuildExpidProdNode: PROC[position: INT, length: INT, id: idNode]
RETURNS[ExpNode];
ExpidProdfoo: fooProcType;
ExpidProdMakeValue: MakeValueProcType;
ExpnumProd
ExpnumProdData: TYPE = REF ExpnumProdDataBody;
ExpnumProdDataBody: TYPE = RECORD[
Num: NumNode];
ExpnumProdProcs: ExpNodeProcs;
BuildExpnumProdNode: PROC[position: INT, length: INT, Num: NumNode]
RETURNS[ExpNode];
ExpnumProdfoo: fooProcType;
ExpnumProdMakeValue: MakeValueProcType;
ExpstringProd
ExpstringProdData: TYPE = REF ExpstringProdDataBody;
ExpstringProdDataBody: TYPE = RECORD[
string: stringNode];
ExpstringProdProcs: ExpNodeProcs;
BuildExpstringProdNode: PROC[position: INT, length: INT, string: stringNode]
RETURNS[ExpNode];
ExpstringProdfoo: fooProcType;
ExpstringProdMakeValue: MakeValueProcType;
ExpflnumProd
ExpflnumProdData: TYPE = REF ExpflnumProdDataBody;
ExpflnumProdDataBody: TYPE = RECORD[
flnum: flnumNode];
ExpflnumProdProcs: ExpNodeProcs;
BuildExpflnumProdNode: PROC[position: INT, length: INT, flnum: flnumNode]
RETURNS[ExpNode];
ExpflnumProdfoo: fooProcType;
ExpflnumProdMakeValue: MakeValueProcType;
ExpcharProd
ExpcharProdData: TYPE = REF ExpcharProdDataBody;
ExpcharProdDataBody: TYPE = RECORD[
char: charNode];
ExpcharProdProcs: ExpNodeProcs;
BuildExpcharProdNode: PROC[position: INT, length: INT, char: charNode]
RETURNS[ExpNode];
ExpcharProdfoo: fooProcType;
ExpcharProdMakeValue: MakeValueProcType;
ExpatomProd
ExpatomProdData: TYPE = REF ExpatomProdDataBody;
ExpatomProdDataBody: TYPE = RECORD[
atom: atomNode];
ExpatomProdProcs: ExpNodeProcs;
BuildExpatomProdNode: PROC[position: INT, length: INT, atom: atomNode]
RETURNS[ExpNode];
ExpatomProdfoo: fooProcType;
ExpatomProdMakeValue: MakeValueProcType;
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];
ExpnarrowProdfoo: fooProcType;
ExpnarrowProdMakeValue: MakeValueProcType;
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];
ExploopholeProdfoo: fooProcType;
ExploopholeProdMakeValue: MakeValueProcType;
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];
ExpapplyProdfoo: fooProcType;
ExpapplyProdMakeValue: MakeValueProcType;
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];
ExpqualifierProdfoo: fooProcType;
ExpqualifierProdMakeValue: MakeValueProcType;
ExpexplistProd
ExpexplistProdData: TYPE = REF ExpexplistProdDataBody;
ExpexplistProdDataBody: TYPE = RECORD[
ExpList: ExpListNode];
ExpexplistProdProcs: ExpNodeProcs;
BuildExpexplistProdNode: PROC[position: INT, length: INT, ExpList: ExpListNode]
RETURNS[ExpNode];
ExpexplistProdfoo: fooProcType;
ExpexplistProdMakeValue: MakeValueProcType;
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];
ExpprefixopProdfoo: fooProcType;
ExpprefixopProdMakeValue: MakeValueProcType;
ExpvalProd
ExpvalProdData: TYPE = REF ExpvalProdDataBody;
ExpvalProdDataBody: TYPE = RECORD[
OrderList: OrderListNode];
ExpvalProdProcs: ExpNodeProcs;
BuildExpvalProdNode: PROC[position: INT, length: INT, OrderList: OrderListNode]
RETURNS[ExpNode];
ExpvalProdfoo: fooProcType;
ExpvalProdMakeValue: MakeValueProcType;
ExpallProd
ExpallProdData: TYPE = REF ExpallProdDataBody;
ExpallProdDataBody: TYPE = RECORD[
OrderList: OrderListNode];
ExpallProdProcs: ExpNodeProcs;
BuildExpallProdNode: PROC[position: INT, length: INT, OrderList: OrderListNode]
RETURNS[ExpNode];
ExpallProdfoo: fooProcType;
ExpallProdMakeValue: MakeValueProcType;
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];
ExpnewProdfoo: fooProcType;
ExpnewProdMakeValue: MakeValueProcType;
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];
ExpconsProdfoo: fooProcType;
ExpconsProdMakeValue: MakeValueProcType;
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];
ExplistconsProdfoo: fooProcType;
ExplistconsProdMakeValue: MakeValueProcType;
ExpnilProd
ExpnilProdData: TYPE = REF ExpnilProdDataBody;
ExpnilProdDataBody: TYPE = RECORD[
];
ExpnilProdProcs: ExpNodeProcs;
BuildExpnilProdNode: PROC[position: INT, length: INT]
RETURNS[ExpNode];
ExpnilProdfoo: fooProcType;
ExpnilProdMakeValue: MakeValueProcType;
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];
ExptypeopProdfoo: fooProcType;
ExptypeopProdMakeValue: MakeValueProcType;
ExpsizeProd
ExpsizeProdData: TYPE = REF ExpsizeProdDataBody;
ExpsizeProdDataBody: TYPE = RECORD[
TypeExp: TypeExpNode];
ExpsizeProdProcs: ExpNodeProcs;
BuildExpsizeProdNode: PROC[position: INT, length: INT, TypeExp: TypeExpNode]
RETURNS[ExpNode];
ExpsizeProdfoo: fooProcType;
ExpsizeProdMakeValue: MakeValueProcType;
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];
Expsize2Prodfoo: fooProcType;
Expsize2ProdMakeValue: MakeValueProcType;
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];
ExpistypeProdfoo: fooProcType;
ExpistypeProdMakeValue: MakeValueProcType;
ExpaddressProd
ExpaddressProdData: TYPE = REF ExpaddressProdDataBody;
ExpaddressProdDataBody: TYPE = RECORD[
Exp: ExpNode];
ExpaddressProdProcs: ExpNodeProcs;
BuildExpaddressProdNode: PROC[position: INT, length: INT, Exp: ExpNode]
RETURNS[ExpNode];
ExpaddressProdfoo: fooProcType;
ExpaddressProdMakeValue: MakeValueProcType;
ExpdescriptorProd
ExpdescriptorProdData: TYPE = REF ExpdescriptorProdDataBody;
ExpdescriptorProdDataBody: TYPE = RECORD[
DescList: DescListNode];
ExpdescriptorProdProcs: ExpNodeProcs;
BuildExpdescriptorProdNode: PROC[position: INT, length: INT, DescList: DescListNode]
RETURNS[ExpNode];
ExpdescriptorProdfoo: fooProcType;
ExpdescriptorProdMakeValue: MakeValueProcType;
ExperrorProd
ExperrorProdData: TYPE = REF ExperrorProdDataBody;
ExperrorProdDataBody: TYPE = RECORD[
];
ExperrorProdProcs: ExpNodeProcs;
BuildExperrorProdNode: PROC[position: INT, length: INT]
RETURNS[ExpNode];
ExperrorProdfoo: fooProcType;
ExperrorProdMakeValue: MakeValueProcType;
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];
ExptransferProdfoo: fooProcType;
ExptransferProdMakeValue: MakeValueProcType;
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;
SelectHeadplainProd
SelectHeadplainProdData: TYPE = REF SelectHeadplainProdDataBody;
SelectHeadplainProdDataBody: TYPE = RECORD[
Exp: ExpNode];
SelectHeadplainProdProcs: SelectHeadNodeProcs;
BuildSelectHeadplainProdNode: PROC[position: INT, length: INT, Exp: ExpNode]
RETURNS[SelectHeadNode];
SelectHeadplainProdfoo: fooProcType;
SelectHeaddiscriminatingProd
SelectHeaddiscriminatingProdData: TYPE = REF SelectHeaddiscriminatingProdDataBody;
SelectHeaddiscriminatingProdDataBody: TYPE = RECORD[
BindItem: BindItemNode, OptExp: OptExpNode];
SelectHeaddiscriminatingProdProcs: SelectHeadNodeProcs;
BuildSelectHeaddiscriminatingProdNode: PROC[position: INT, length: INT, BindItem: BindItemNode, OptExp: OptExpNode]
RETURNS[SelectHeadNode];
SelectHeaddiscriminatingProdfoo: fooProcType;
SelectExpListemptyProd
SelectExpListemptyProdData: TYPE = REF SelectExpListemptyProdDataBody;
SelectExpListemptyProdDataBody: TYPE = RECORD[
];
SelectExpListemptyProdProcs: SelectExpListNodeProcs;
BuildSelectExpListemptyProdNode: PROC[position: INT, length: INT]
RETURNS[SelectExpListNode];
SelectExpListemptyProdfoo: fooProcType;
SelectExpListmoreProd
SelectExpListmoreProdData: TYPE = REF SelectExpListmoreProdDataBody;
SelectExpListmoreProdDataBody: TYPE = RECORD[
SelectExpList: SelectExpListNode, SelectExpItem: SelectExpItemNode];
SelectExpListmoreProdProcs: SelectExpListNodeProcs;
BuildSelectExpListmoreProdNode: PROC[position: INT, length: INT, SelectExpList: SelectExpListNode, SelectExpItem: SelectExpItemNode]
RETURNS[SelectExpListNode];
SelectExpListmoreProdfoo: fooProcType;
SelectExpItemProd
SelectExpItemProdData: TYPE = REF SelectExpItemProdDataBody;
SelectExpItemProdDataBody: TYPE = RECORD[
SelectLabel: SelectLabelNode, Exp: ExpNode];
SelectExpItemProdProcs: SelectExpItemNodeProcs;
BuildSelectExpItemProdNode: PROC[position: INT, length: INT, SelectLabel: SelectLabelNode, Exp: ExpNode]
RETURNS[SelectExpItemNode];
SelectExpItemProdfoo: fooProcType;
SelectLabeltypeProd
SelectLabeltypeProdData: TYPE = REF SelectLabeltypeProdDataBody;
SelectLabeltypeProdDataBody: TYPE = RECORD[
Ident: IdentNode, TypeExp: TypeExpNode];
SelectLabeltypeProdProcs: SelectLabelNodeProcs;
BuildSelectLabeltypeProdNode: PROC[position: INT, length: INT, Ident: IdentNode, TypeExp: TypeExpNode]
RETURNS[SelectLabelNode];
SelectLabeltypeProdfoo: fooProcType;
SelectLabeltestProd
SelectLabeltestProdData: TYPE = REF SelectLabeltestProdDataBody;
SelectLabeltestProdDataBody: TYPE = RECORD[
SelectTestList: SelectTestListNode];
SelectLabeltestProdProcs: SelectLabelNodeProcs;
BuildSelectLabeltestProdNode: PROC[position: INT, length: INT, SelectTestList: SelectTestListNode]
RETURNS[SelectLabelNode];
SelectLabeltestProdfoo: fooProcType;
SelectTestListoneProd
SelectTestListoneProdData: TYPE = REF SelectTestListoneProdDataBody;
SelectTestListoneProdDataBody: TYPE = RECORD[
Relation: RelationNode];
SelectTestListoneProdProcs: SelectTestListNodeProcs;
BuildSelectTestListoneProdNode: PROC[position: INT, length: INT, Relation: RelationNode]
RETURNS[SelectTestListNode];
SelectTestListoneProdfoo: fooProcType;
SelectTestListmoreProd
SelectTestListmoreProdData: TYPE = REF SelectTestListmoreProdDataBody;
SelectTestListmoreProdDataBody: TYPE = RECORD[
SelectTestList: SelectTestListNode, Relation: RelationNode];
SelectTestListmoreProdProcs: SelectTestListNodeProcs;
BuildSelectTestListmoreProdNode: PROC[position: INT, length: INT, SelectTestList: SelectTestListNode, Relation: RelationNode]
RETURNS[SelectTestListNode];
SelectTestListmoreProdfoo: fooProcType;
RelationnegativeProd
RelationnegativeProdData: TYPE = REF RelationnegativeProdDataBody;
RelationnegativeProdDataBody: TYPE = RECORD[
RelationTail: RelationTailNode];
RelationnegativeProdProcs: RelationNodeProcs;
BuildRelationnegativeProdNode: PROC[position: INT, length: INT, RelationTail: RelationTailNode]
RETURNS[RelationNode];
RelationnegativeProdfoo: fooProcType;
RelationpositiveProd
RelationpositiveProdData: TYPE = REF RelationpositiveProdDataBody;
RelationpositiveProdDataBody: TYPE = RECORD[
RelationTail: RelationTailNode];
RelationpositiveProdProcs: RelationNodeProcs;
BuildRelationpositiveProdNode: PROC[position: INT, length: INT, RelationTail: RelationTailNode]
RETURNS[RelationNode];
RelationpositiveProdfoo: fooProcType;
RelationTailrangeProd
RelationTailrangeProdData: TYPE = REF RelationTailrangeProdDataBody;
RelationTailrangeProdDataBody: TYPE = RECORD[
Range: RangeNode];
RelationTailrangeProdProcs: RelationTailNodeProcs;
BuildRelationTailrangeProdNode: PROC[position: INT, length: INT, Range: RangeNode]
RETURNS[RelationTailNode];
RelationTailrangeProdfoo: fooProcType;
RelationTailrelopProd
RelationTailrelopProdData: TYPE = REF RelationTailrelopProdDataBody;
RelationTailrelopProdDataBody: TYPE = RECORD[
Relop: RelopNode, Exp: ExpNode];
RelationTailrelopProdProcs: RelationTailNodeProcs;
BuildRelationTailrelopProdNode: PROC[position: INT, length: INT, Relop: RelopNode, Exp: ExpNode]
RETURNS[RelationTailNode];
RelationTailrelopProdfoo: fooProcType;
END..