ExampleAGImpl.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Generated by BJackson.pa at April 22, 1987 2:16:56 am PDT
using ThreeCasabaFour [1.1] of April 14, 1987 6:34:07 pm PDT
DIRECTORY
ExampleBaseDef,
ExampleATDef,
ExampleAGDef,
ExampleGenericDef;
ExampleAGImpl: CEDAR PROGRAM IMPORTS ExampleAGDef EXPORTS ExampleAGDef=
BEGIN
OPEN ExampleBaseDef, ExampleATDef, ExampleAGDef, ExampleGenericDef;
ExpressionbinProd
ExpressionbinProdProcs:
PUBLIC ExpressionNodeProcs ←
NEW[ExpressionNodeProcsBody ← [ExpressionbinProdEvaluate]];
BuildExpressionbinProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
Expressionleft: ExpressionNode,
Opop: Op,
Expressionright: ExpressionNode]
RETURNS[ExpressionNode] =
BEGIN
data: ExpressionbinProdData ←
NEW[ExpressionbinProdDataBody←[
Expressionleft, Opop, Expressionright]];
RETURN[NEW[ExpressionNodeBody←[position, length, ExpressionbinProdProcs, data]]];
END;
ExpressionnumberProd
ExpressionnumberProdProcs:
PUBLIC ExpressionNodeProcs ←
NEW[ExpressionNodeProcsBody ← [ExpressionnumberProdEvaluate]];
BuildExpressionnumberProdNode:
PUBLIC
PROC[position:
INT, length:
INT, number: numberNode]
RETURNS[ExpressionNode] =
BEGIN
data: ExpressionnumberProdData ←
NEW[ExpressionnumberProdDataBody←[
number]];
RETURN[NEW[ExpressionNodeBody←[position, length, ExpressionnumberProdProcs, data]]];
END;
ExpressionlocProd
ExpressionlocProdProcs:
PUBLIC ExpressionNodeProcs ←
NEW[ExpressionNodeProcsBody ← [ExpressionlocProdEvaluate]];
BuildExpressionlocProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[ExpressionNode] =
BEGIN
RETURN[NEW[ExpressionNodeBody←[position, length, ExpressionlocProdProcs, NIL]]];
END;
ExpressionsignalProd
ExpressionsignalProdProcs:
PUBLIC ExpressionNodeProcs ←
NEW[ExpressionNodeProcsBody ← [ExpressionsignalProdEvaluate]];
BuildExpressionsignalProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[ExpressionNode] =
BEGIN
RETURN[NEW[ExpressionNodeBody←[position, length, ExpressionsignalProdProcs, NIL]]];
END;
END..