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..