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