SaffronAG1Impl.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Generated by BJackson.pa at April 27, 1987 10:51:07 pm PDT
using ThreeCasabaFour [1.1] of April 14, 1987 6:34:07 pm PDT
DIRECTORY
SaffronAG1Def,
SaffronGenericDef,
SaffronATDef;
SaffronAG1Impl: CEDAR PROGRAM IMPORTS SaffronAG1Def EXPORTS SaffronAG1Def=
BEGIN
OPEN SaffronAG1Def, 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 ← [TopmodulepProdfoo, 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;
TopscopeProd
TopscopeProdProcs: PUBLIC TopNodeProcs ←
NEW[TopNodeProcsBody ← [TopscopeProdfoo, TopscopeProdDoTop]];
BuildTopscopeProdNode: PUBLIC PROC[position: INT, length: INT, Scope: ScopeNode]
RETURNS[TopNode] =
BEGIN
data: TopscopeProdData ←
NEW[TopscopeProdDataBody←[
Scope]];
RETURN[NEW[TopNodeBody←[position, length, TopscopeProdProcs, data]]];
END;
ExpsumProd
ExpsumProdProcs: PUBLIC ExpNodeProcs ←
NEW[ExpNodeProcsBody ← [ExpsumProdfoo, ExpsumProdMakeValue]];
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 ← [ExpunarysumProdfoo, ExpunarysumProdMakeValue]];
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 ← [ExpproductProdfoo, ExpproductProdMakeValue]];
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 ← [ExporProdfoo, ExporProdMakeValue]];
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 ← [ExpandProdfoo, ExpandProdMakeValue]];
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 ← [ExpnotProdfoo, ExpnotProdMakeValue]];
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 ← [ExprelationProdfoo, ExprelationProdMakeValue]];
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 ← [ExpifthenelseProdfoo, ExpifthenelseProdMakeValue]];
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 ← [ExpselectProdfoo, ExpselectProdMakeValue]];
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 ← [ExpassignProdfoo, ExpassignProdMakeValue]];
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 ← [ExpmultiassignProdfoo, ExpmultiassignProdMakeValue]];
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 ← [ExpidProdfoo, ExpidProdMakeValue]];
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 ← [ExpnumProdfoo, ExpnumProdMakeValue]];
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 ← [ExpstringProdfoo, ExpstringProdMakeValue]];
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 ← [ExpflnumProdfoo, ExpflnumProdMakeValue]];
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 ← [ExpcharProdfoo, ExpcharProdMakeValue]];
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 ← [ExpatomProdfoo, ExpatomProdMakeValue]];
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 ← [ExpnarrowProdfoo, ExpnarrowProdMakeValue]];
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 ← [ExploopholeProdfoo, ExploopholeProdMakeValue]];
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 ← [ExpapplyProdfoo, ExpapplyProdMakeValue]];
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 ← [ExpqualifierProdfoo, ExpqualifierProdMakeValue]];
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 ← [ExpexplistProdfoo, ExpexplistProdMakeValue]];
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 ← [ExpprefixopProdfoo, ExpprefixopProdMakeValue]];
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;
ExpvalProd
ExpvalProdProcs: PUBLIC ExpNodeProcs ←
NEW[ExpNodeProcsBody ← [ExpvalProdfoo, ExpvalProdMakeValue]];
BuildExpvalProdNode: PUBLIC PROC[position: INT, length: INT, OrderList: OrderListNode]
RETURNS[ExpNode] =
BEGIN
data: ExpvalProdData ←
NEW[ExpvalProdDataBody←[
OrderList]];
RETURN[NEW[ExpNodeBody←[position, length, ExpvalProdProcs, data]]];
END;
ExpallProd
ExpallProdProcs: PUBLIC ExpNodeProcs ←
NEW[ExpNodeProcsBody ← [ExpallProdfoo, ExpallProdMakeValue]];
BuildExpallProdNode: PUBLIC PROC[position: INT, length: INT, OrderList: OrderListNode]
RETURNS[ExpNode] =
BEGIN
data: ExpallProdData ←
NEW[ExpallProdDataBody←[
OrderList]];
RETURN[NEW[ExpNodeBody←[position, length, ExpallProdProcs, data]]];
END;
ExpnewProd
ExpnewProdProcs: PUBLIC ExpNodeProcs ←
NEW[ExpNodeProcsBody ← [ExpnewProdfoo, ExpnewProdMakeValue]];
BuildExpnewProdNode: PUBLIC PROC[position: INT, length: INT, New: NewNode, TypeExp: TypeExpNode, Initialization: InitializationNode, Catch: CatchNode]
RETURNS[ExpNode] =
BEGIN
data: ExpnewProdData ←
NEW[ExpnewProdDataBody←[
New, TypeExp, Initialization, Catch]];
RETURN[NEW[ExpNodeBody←[position, length, ExpnewProdProcs, data]]];
END;
ExpconsProd
ExpconsProdProcs: PUBLIC ExpNodeProcs ←
NEW[ExpNodeProcsBody ← [ExpconsProdfoo, ExpconsProdMakeValue]];
BuildExpconsProdNode: PUBLIC PROC[position: INT, length: INT, Cons: ConsNode, ExpList: ExpListNode, Catch: CatchNode]
RETURNS[ExpNode] =
BEGIN
data: ExpconsProdData ←
NEW[ExpconsProdDataBody←[
Cons, ExpList, Catch]];
RETURN[NEW[ExpNodeBody←[position, length, ExpconsProdProcs, data]]];
END;
ExplistconsProd
ExplistconsProdProcs: PUBLIC ExpNodeProcs ←
NEW[ExpNodeProcsBody ← [ExplistconsProdfoo, ExplistconsProdMakeValue]];
BuildExplistconsProdNode: PUBLIC PROC[position: INT, length: INT, ListCons: ListConsNode, ExpList: ExpListNode]
RETURNS[ExpNode] =
BEGIN
data: ExplistconsProdData ←
NEW[ExplistconsProdDataBody←[
ListCons, ExpList]];
RETURN[NEW[ExpNodeBody←[position, length, ExplistconsProdProcs, data]]];
END;
ExpnilProd
ExpnilProdProcs: PUBLIC ExpNodeProcs ←
NEW[ExpNodeProcsBody ← [ExpnilProdfoo, ExpnilProdMakeValue]];
BuildExpnilProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[ExpNode] =
BEGIN
RETURN[NEW[ExpNodeBody←[position, length, ExpnilProdProcs, NIL]]];
END;
ExptypeopProd
ExptypeopProdProcs: PUBLIC ExpNodeProcs ←
NEW[ExpNodeProcsBody ← [ExptypeopProdfoo, ExptypeopProdMakeValue]];
BuildExptypeopProdNode: PUBLIC PROC[position: INT, length: INT, TypeOp: TypeOpNode, TypeExp: TypeExpNode]
RETURNS[ExpNode] =
BEGIN
data: ExptypeopProdData ←
NEW[ExptypeopProdDataBody←[
TypeOp, TypeExp]];
RETURN[NEW[ExpNodeBody←[position, length, ExptypeopProdProcs, data]]];
END;
ExpsizeProd
ExpsizeProdProcs: PUBLIC ExpNodeProcs ←
NEW[ExpNodeProcsBody ← [ExpsizeProdfoo, ExpsizeProdMakeValue]];
BuildExpsizeProdNode: PUBLIC PROC[position: INT, length: INT, TypeExp: TypeExpNode]
RETURNS[ExpNode] =
BEGIN
data: ExpsizeProdData ←
NEW[ExpsizeProdDataBody←[
TypeExp]];
RETURN[NEW[ExpNodeBody←[position, length, ExpsizeProdProcs, data]]];
END;
Expsize2Prod
Expsize2ProdProcs: PUBLIC ExpNodeProcs ←
NEW[ExpNodeProcsBody ← [Expsize2Prodfoo, Expsize2ProdMakeValue]];
BuildExpsize2ProdNode: PUBLIC PROC[position: INT, length: INT, TypeExp: TypeExpNode, Exp: ExpNode]
RETURNS[ExpNode] =
BEGIN
data: Expsize2ProdData ←
NEW[Expsize2ProdDataBody←[
TypeExp, Exp]];
RETURN[NEW[ExpNodeBody←[position, length, Expsize2ProdProcs, data]]];
END;
ExpistypeProd
ExpistypeProdProcs: PUBLIC ExpNodeProcs ←
NEW[ExpNodeProcsBody ← [ExpistypeProdfoo, ExpistypeProdMakeValue]];
BuildExpistypeProdNode: PUBLIC PROC[position: INT, length: INT, Exp: ExpNode, TypeExp: TypeExpNode]
RETURNS[ExpNode] =
BEGIN
data: ExpistypeProdData ←
NEW[ExpistypeProdDataBody←[
Exp, TypeExp]];
RETURN[NEW[ExpNodeBody←[position, length, ExpistypeProdProcs, data]]];
END;
ExpaddressProd
ExpaddressProdProcs: PUBLIC ExpNodeProcs ←
NEW[ExpNodeProcsBody ← [ExpaddressProdfoo, ExpaddressProdMakeValue]];
BuildExpaddressProdNode: PUBLIC PROC[position: INT, length: INT, Exp: ExpNode]
RETURNS[ExpNode] =
BEGIN
data: ExpaddressProdData ←
NEW[ExpaddressProdDataBody←[
Exp]];
RETURN[NEW[ExpNodeBody←[position, length, ExpaddressProdProcs, data]]];
END;
ExpdescriptorProd
ExpdescriptorProdProcs: PUBLIC ExpNodeProcs ←
NEW[ExpNodeProcsBody ← [ExpdescriptorProdfoo, ExpdescriptorProdMakeValue]];
BuildExpdescriptorProdNode: PUBLIC PROC[position: INT, length: INT, DescList: DescListNode]
RETURNS[ExpNode] =
BEGIN
data: ExpdescriptorProdData ←
NEW[ExpdescriptorProdDataBody←[
DescList]];
RETURN[NEW[ExpNodeBody←[position, length, ExpdescriptorProdProcs, data]]];
END;
ExperrorProd
ExperrorProdProcs: PUBLIC ExpNodeProcs ←
NEW[ExpNodeProcsBody ← [ExperrorProdfoo, ExperrorProdMakeValue]];
BuildExperrorProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[ExpNode] =
BEGIN
RETURN[NEW[ExpNodeBody←[position, length, ExperrorProdProcs, NIL]]];
END;
ExptransferProd
ExptransferProdProcs: PUBLIC ExpNodeProcs ←
NEW[ExpNodeProcsBody ← [ExptransferProdfoo, ExptransferProdMakeValue]];
BuildExptransferProdNode: PUBLIC PROC[position: INT, length: INT, TransferOp: TransferOpNode, Exp: ExpNode]
RETURNS[ExpNode] =
BEGIN
data: ExptransferProdData ←
NEW[ExptransferProdDataBody←[
TransferOp, Exp]];
RETURN[NEW[ExpNodeBody←[position, length, ExptransferProdProcs, data]]];
END;
NumdecimalProd
NumdecimalProdProcs: PUBLIC NumNodeProcs ←
NEW[NumNodeProcsBody ← [NumdecimalProdfoo]];
BuildNumdecimalProdNode: PUBLIC PROC[position: INT, length: INT, decimalnum: decimalnumNode]
RETURNS[NumNode] =
BEGIN
data: NumdecimalProdData ←
NEW[NumdecimalProdDataBody←[
decimalnum]];
RETURN[NEW[NumNodeBody←[position, length, NumdecimalProdProcs, data]]];
END;
NumoctalProd
NumoctalProdProcs: PUBLIC NumNodeProcs ←
NEW[NumNodeProcsBody ← [NumoctalProdfoo]];
BuildNumoctalProdNode: PUBLIC PROC[position: INT, length: INT, octalnum: octalnumNode]
RETURNS[NumNode] =
BEGIN
data: NumoctalProdData ←
NEW[NumoctalProdDataBody←[
octalnum]];
RETURN[NEW[NumNodeBody←[position, length, NumoctalProdProcs, data]]];
END;
NumhexProd
NumhexProdProcs: PUBLIC NumNodeProcs ←
NEW[NumNodeProcsBody ← [NumhexProdfoo]];
BuildNumhexProdNode: PUBLIC PROC[position: INT, length: INT, hexnum: hexnumNode]
RETURNS[NumNode] =
BEGIN
data: NumhexProdData ←
NEW[NumhexProdDataBody←[
hexnum]];
RETURN[NEW[NumNodeBody←[position, length, NumhexProdProcs, data]]];
END;
AddOpplusProd
AddOpplusProdProcs: PUBLIC AddOpNodeProcs ←
NEW[AddOpNodeProcsBody ← [AddOpplusProdfoo]];
BuildAddOpplusProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[AddOpNode] =
BEGIN
RETURN[NEW[AddOpNodeBody←[position, length, AddOpplusProdProcs, NIL]]];
END;
AddOpminusProd
AddOpminusProdProcs: PUBLIC AddOpNodeProcs ←
NEW[AddOpNodeProcsBody ← [AddOpminusProdfoo]];
BuildAddOpminusProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[AddOpNode] =
BEGIN
RETURN[NEW[AddOpNodeBody←[position, length, AddOpminusProdProcs, NIL]]];
END;
MultOptimesProd
MultOptimesProdProcs: PUBLIC MultOpNodeProcs ←
NEW[MultOpNodeProcsBody ← [MultOptimesProdfoo]];
BuildMultOptimesProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[MultOpNode] =
BEGIN
RETURN[NEW[MultOpNodeBody←[position, length, MultOptimesProdProcs, NIL]]];
END;
MultOpdivideProd
MultOpdivideProdProcs: PUBLIC MultOpNodeProcs ←
NEW[MultOpNodeProcsBody ← [MultOpdivideProdfoo]];
BuildMultOpdivideProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[MultOpNode] =
BEGIN
RETURN[NEW[MultOpNodeBody←[position, length, MultOpdivideProdProcs, NIL]]];
END;
MultOpmodProd
MultOpmodProdProcs: PUBLIC MultOpNodeProcs ←
NEW[MultOpNodeProcsBody ← [MultOpmodProdfoo]];
BuildMultOpmodProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[MultOpNode] =
BEGIN
RETURN[NEW[MultOpNodeBody←[position, length, MultOpmodProdProcs, NIL]]];
END;
SelectHeadplainProd
SelectHeadplainProdProcs: PUBLIC SelectHeadNodeProcs ←
NEW[SelectHeadNodeProcsBody ← [SelectHeadplainProdfoo]];
BuildSelectHeadplainProdNode: PUBLIC PROC[position: INT, length: INT, Exp: ExpNode]
RETURNS[SelectHeadNode] =
BEGIN
data: SelectHeadplainProdData ←
NEW[SelectHeadplainProdDataBody←[
Exp]];
RETURN[NEW[SelectHeadNodeBody←[position, length, SelectHeadplainProdProcs, data]]];
END;
SelectHeaddiscriminatingProd
SelectHeaddiscriminatingProdProcs: PUBLIC SelectHeadNodeProcs ←
NEW[SelectHeadNodeProcsBody ← [SelectHeaddiscriminatingProdfoo]];
BuildSelectHeaddiscriminatingProdNode: PUBLIC PROC[position: INT, length: INT, BindItem: BindItemNode, OptExp: OptExpNode]
RETURNS[SelectHeadNode] =
BEGIN
data: SelectHeaddiscriminatingProdData ←
NEW[SelectHeaddiscriminatingProdDataBody←[
BindItem, OptExp]];
RETURN[NEW[SelectHeadNodeBody←[position, length, SelectHeaddiscriminatingProdProcs, data]]];
END;
SelectExpListemptyProd
SelectExpListemptyProdProcs: PUBLIC SelectExpListNodeProcs ←
NEW[SelectExpListNodeProcsBody ← [SelectExpListemptyProdfoo]];
BuildSelectExpListemptyProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[SelectExpListNode] =
BEGIN
RETURN[NEW[SelectExpListNodeBody←[position, length, SelectExpListemptyProdProcs, NIL]]];
END;
SelectExpListmoreProd
SelectExpListmoreProdProcs: PUBLIC SelectExpListNodeProcs ←
NEW[SelectExpListNodeProcsBody ← [SelectExpListmoreProdfoo]];
BuildSelectExpListmoreProdNode: PUBLIC PROC[position: INT, length: INT, SelectExpList: SelectExpListNode, SelectExpItem: SelectExpItemNode]
RETURNS[SelectExpListNode] =
BEGIN
data: SelectExpListmoreProdData ←
NEW[SelectExpListmoreProdDataBody←[
SelectExpList, SelectExpItem]];
RETURN[NEW[SelectExpListNodeBody←[position, length, SelectExpListmoreProdProcs, data]]];
END;
SelectExpItemProd
SelectExpItemProdProcs: PUBLIC SelectExpItemNodeProcs ←
NEW[SelectExpItemNodeProcsBody ← [SelectExpItemProdfoo]];
BuildSelectExpItemProdNode: PUBLIC PROC[position: INT, length: INT, SelectLabel: SelectLabelNode, Exp: ExpNode]
RETURNS[SelectExpItemNode] =
BEGIN
data: SelectExpItemProdData ←
NEW[SelectExpItemProdDataBody←[
SelectLabel, Exp]];
RETURN[NEW[SelectExpItemNodeBody←[position, length, SelectExpItemProdProcs, data]]];
END;
SelectLabeltypeProd
SelectLabeltypeProdProcs: PUBLIC SelectLabelNodeProcs ←
NEW[SelectLabelNodeProcsBody ← [SelectLabeltypeProdfoo]];
BuildSelectLabeltypeProdNode: PUBLIC PROC[position: INT, length: INT, Ident: IdentNode, TypeExp: TypeExpNode]
RETURNS[SelectLabelNode] =
BEGIN
data: SelectLabeltypeProdData ←
NEW[SelectLabeltypeProdDataBody←[
Ident, TypeExp]];
RETURN[NEW[SelectLabelNodeBody←[position, length, SelectLabeltypeProdProcs, data]]];
END;
SelectLabeltestProd
SelectLabeltestProdProcs: PUBLIC SelectLabelNodeProcs ←
NEW[SelectLabelNodeProcsBody ← [SelectLabeltestProdfoo]];
BuildSelectLabeltestProdNode: PUBLIC PROC[position: INT, length: INT, SelectTestList: SelectTestListNode]
RETURNS[SelectLabelNode] =
BEGIN
data: SelectLabeltestProdData ←
NEW[SelectLabeltestProdDataBody←[
SelectTestList]];
RETURN[NEW[SelectLabelNodeBody←[position, length, SelectLabeltestProdProcs, data]]];
END;
SelectTestListoneProd
SelectTestListoneProdProcs: PUBLIC SelectTestListNodeProcs ←
NEW[SelectTestListNodeProcsBody ← [SelectTestListoneProdfoo]];
BuildSelectTestListoneProdNode: PUBLIC PROC[position: INT, length: INT, Relation: RelationNode]
RETURNS[SelectTestListNode] =
BEGIN
data: SelectTestListoneProdData ←
NEW[SelectTestListoneProdDataBody←[
Relation]];
RETURN[NEW[SelectTestListNodeBody←[position, length, SelectTestListoneProdProcs, data]]];
END;
SelectTestListmoreProd
SelectTestListmoreProdProcs: PUBLIC SelectTestListNodeProcs ←
NEW[SelectTestListNodeProcsBody ← [SelectTestListmoreProdfoo]];
BuildSelectTestListmoreProdNode: PUBLIC PROC[position: INT, length: INT, SelectTestList: SelectTestListNode, Relation: RelationNode]
RETURNS[SelectTestListNode] =
BEGIN
data: SelectTestListmoreProdData ←
NEW[SelectTestListmoreProdDataBody←[
SelectTestList, Relation]];
RETURN[NEW[SelectTestListNodeBody←[position, length, SelectTestListmoreProdProcs, data]]];
END;
RelationnegativeProd
RelationnegativeProdProcs: PUBLIC RelationNodeProcs ←
NEW[RelationNodeProcsBody ← [RelationnegativeProdfoo]];
BuildRelationnegativeProdNode: PUBLIC PROC[position: INT, length: INT, RelationTail: RelationTailNode]
RETURNS[RelationNode] =
BEGIN
data: RelationnegativeProdData ←
NEW[RelationnegativeProdDataBody←[
RelationTail]];
RETURN[NEW[RelationNodeBody←[position, length, RelationnegativeProdProcs, data]]];
END;
RelationpositiveProd
RelationpositiveProdProcs: PUBLIC RelationNodeProcs ←
NEW[RelationNodeProcsBody ← [RelationpositiveProdfoo]];
BuildRelationpositiveProdNode: PUBLIC PROC[position: INT, length: INT, RelationTail: RelationTailNode]
RETURNS[RelationNode] =
BEGIN
data: RelationpositiveProdData ←
NEW[RelationpositiveProdDataBody←[
RelationTail]];
RETURN[NEW[RelationNodeBody←[position, length, RelationpositiveProdProcs, data]]];
END;
RelationTailrangeProd
RelationTailrangeProdProcs: PUBLIC RelationTailNodeProcs ←
NEW[RelationTailNodeProcsBody ← [RelationTailrangeProdfoo]];
BuildRelationTailrangeProdNode: PUBLIC PROC[position: INT, length: INT, Range: RangeNode]
RETURNS[RelationTailNode] =
BEGIN
data: RelationTailrangeProdData ←
NEW[RelationTailrangeProdDataBody←[
Range]];
RETURN[NEW[RelationTailNodeBody←[position, length, RelationTailrangeProdProcs, data]]];
END;
RelationTailrelopProd
RelationTailrelopProdProcs: PUBLIC RelationTailNodeProcs ←
NEW[RelationTailNodeProcsBody ← [RelationTailrelopProdfoo]];
BuildRelationTailrelopProdNode: PUBLIC PROC[position: INT, length: INT, Relop: RelopNode, Exp: ExpNode]
RETURNS[RelationTailNode] =
BEGIN
data: RelationTailrelopProdData ←
NEW[RelationTailrelopProdDataBody←[
Relop, Exp]];
RETURN[NEW[RelationTailNodeBody←[position, length, RelationTailrelopProdProcs, data]]];
END;
END..