<> <> DIRECTORY MathExpr USING [EXPR], Rope USING [ROPE]; MathConstructors: CEDAR DEFINITIONS ~ BEGIN <> ROPE: TYPE ~ Rope.ROPE; EXPR: TYPE ~ MathExpr.EXPR; <<>> <> MakePlaceHolder: PROC[] RETURNS[EXPR]; MakeInfinity: PROC[] RETURNS[EXPR]; <> MakeInt: PROC[n: ROPE] RETURNS[EXPR]; <> << SIGNALS badFormat if n is not a legal integer.>> MakeReal: PROC[r: REAL] RETURNS[EXPR]; <> MakeVariable: PROC[var: ROPE] RETURNS[EXPR]; <> << SIGNALS badFormat if n is not a legal variable (e.g. invalid chars).>> <<>> MakeGreekVar: PROC[name: ROPE] RETURNS[EXPR]; <> << lowercase greek letter associated with name (e.g. "gamma", "lambda").>> << SIGNALS badFormat if name does not name a greek letter.>> 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]; MakeSubscript: PROC[base, subscript: 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]; MakeIndefiniteIntegral: PROC[integrand, wrt: EXPR] RETURNS[EXPR]; MakeMatrix: PROC[nRows, nCols: NAT, rows: LIST OF LIST OF EXPR] RETURNS[EXPR]; <> << SIGNALS badFormat if dimensions given don't exactly match dimension(rows).>> <<>> MakeVector: PROC[dimension: NAT, elements: LIST OF EXPR, row: BOOL] RETURNS[EXPR]; <> << SIGNALS badFormat if dimension doesn't exactly match dimension(elements).>> <<>> MakeEqFormula: PROC[lhs, rhs: EXPR] RETURNS[EXPR]; MakeNotEqFormula: 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]; <> <<>> badFormat: ERROR; END.