DIRECTORY MathExpr USING [EXPR], Rope USING [ROPE]; MathConstructors: CEDAR DEFINITIONS ~ BEGIN ROPE: TYPE ~ Rope.ROPE; EXPR: TYPE ~ MathExpr.EXPR; MakePlaceHolder: PROC[] RETURNS[EXPR]; MakeInt: PROC[n: ROPE] RETURNS[EXPR]; MakeReal: PROC[r: REAL] RETURNS[EXPR]; MakeVariable: PROC[var: ROPE] RETURNS[EXPR]; 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]; 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. ΨMathConstructors.mesa Carl Waldspurger, August 19, 1986 7:30:44 pm PDT Type Abbreviations High Level Expression Constructors effects: Constructs and returns an integer expression for n. SIGNALS badFormat if n is not a legal integer. effects: Constructs and returns a real expression for n. effects: Constructs and returns a variable expression for var. SIGNALS badFormat if n is not a legal variable (e.g. invalid chars). Signals & Errors ΚΫ˜Jšœ™Jšœ0™0J˜J˜codešΟk ˜ Kšœ œœ˜Kšœœœ˜K˜—J˜šΟnœœ œ˜&J˜Jš˜—˜Jšž™˜Jšœœœ˜Jšœœ œ˜J˜—J™šž"™"K˜Kšžœœœœ˜&K˜š žœœœœœ˜%Kšœ=™=Kšœ8™8—K˜š žœœœœœ˜&Kšœ9™9—K˜š ž œœœœœ˜,Kšœ?™?KšœN™NK™—Kš žœœœœœ˜%K˜Kš ž œœœœœ˜*K˜š žœœœœœ˜(K˜—Kš žœœœœœ˜'K˜Kš žœœœœœ˜2K˜Kš ž œœœœœ˜,K˜Kš žœœœœœ˜>K˜Kš ž œœœœœ˜@K˜Kš ž œœœœœ˜?K˜Kš ž œœœœœ˜'K˜Kš žœœœœœ˜2K˜Kš ž œœœœœ˜3K˜Kš ž œœœœœ˜9K˜Kš ž œœœœœ˜CK˜Kšž œœœœœ œœœ˜NK˜Kš ž œœ œœœ˜2Kšœ˜Kš žœœ œœœ˜6K˜š ž œœ œœœ˜3K˜—š ž œœ œœœ˜2K˜—š ž œœ œœœ˜2K˜—Kš ž œœ œœœ˜3K˜—šž™K™Kšœ œ˜K˜K˜—šœ˜K˜———…—Κ }