MathConstructors.mesa
Carl Waldspurger, August 17, 1986 4:00:20 pm PDT
DIRECTORY
MathExpr USING [EXPR],
Rope USING [ROPE];
MathConstructors: CEDAR DEFINITIONS ~
BEGIN
Type Abbreviations
ROPE: TYPE ~ Rope.ROPE;
EXPR: TYPE ~ MathExpr.EXPR;
High Level Expression Constructors
MakePlaceHolder: PROC[] RETURNS[EXPR];
MakeInt: PROC[n: ROPE] RETURNS[EXPR];
effects: Constructs and returns an integer expression for n.
SIGNALS badFormat if n is not a legal integer.
MakeReal: PROC[r: REAL] RETURNS[EXPR];
effects: Constructs and returns a real expression for n.
MakeVariable: PROC[var: ROPE] RETURNS[EXPR];
effects: Constructs and returns a variable expression for var.
SIGNALS badFormat if n is not a legal variable (e.g. invalid chars).
MakeNot: PROC[a: EXPR] RETURNS[EXPR];
MakeNegation: PROC[a: EXPR] RETURNS[EXPR];
MakeAnd: PROC[a, b: EXPR] RETURNS[EXPR];
MakeOr: PROC[a, b: EXPR] RETURNS[EXPR];
MakeSum: PROC[addend, augend: EXPR] RETURNS[EXPR];
MakeComplex: PROC[a, b: EXPR] RETURNS[EXPR];
MakeDifference: PROC[subtrahend, minuend: EXPR] RETURNS[EXPR];
MakeProduct: PROC[multiplier, multiplicand: EXPR] RETURNS[EXPR];
MakeFraction: PROC[numerator, denominator: EXPR] RETURNS[EXPR];
MakeParen: PROC[a: EXPR] RETURNS[EXPR];
MakePow: PROC[base, exponent: EXPR] RETURNS[EXPR];
MakeRadical: PROC[radicand, n: EXPR] RETURNS[EXPR];
MakeSummation: PROC[lb, ub, summand: EXPR] RETURNS[EXPR];
MakeIntegral: PROC[llim, ulim, integrand, wrt: EXPR] RETURNS[EXPR];
MakeMatrix: PROC[nRows, nCols: NAT, rows: LIST OF LIST OF EXPR] RETURNS[EXPR];
MakeEqFormula: PROC[lhs, rhs: EXPR] RETURNS[EXPR];
MakeLtFormula: PROC[lhs, rhs: EXPR] RETURNS[EXPR];
MakeLeFormula: PROC[lhs, rhs: EXPR] RETURNS[EXPR];
MakeGtFormula: PROC[lhs, rhs: EXPR] RETURNS[EXPR];
MakeGeFormula: PROC[lhs, rhs: EXPR] RETURNS[EXPR];
Signals & Errors
badFormat: ERROR;
END.