| Class Summary | 
| Cases | An object of type Cases stores a list of "case values" that is generated
 while an expression is being evaluated using the routine Expression.getValuesWithCases(). | 
| ConditionalExpression | A "conditional expression" is an expression using the "?" operator, such as "(x > 0)? x : -x"
 or "x <> 3 ? 1 / (x - 3)". | 
| Constant | A Constant is a Value that represents a constant real number. | 
| ExpressionProgram | An ExprssionProgram represents a mathematical expression such as "3" or "sin(x^2)", stored
 in the form of a program for a stack machine. | 
| NumUtils | This class provides a few static functions for converting real numbers
 to strings and strings to real numbers. | 
| Parser | A Parser can take a string and compile it into an ExpressionProgram. | 
| ParserContext | A ParserContext holds all the state data for a parsing operation, including the
 string that is being parsed, a pointer to the current position in that string,
 and the most recently parsed token from the string. | 
| SimpleFunction | An object belonging to this class is a function of one or more variables. | 
| StackOfDouble | A standard stack of values of type double, which can grow to arbitrary size. | 
| StandardFunction | This class exists to associate standard functions, such as sin and abs, with
 their names. | 
| SymbolTable | A symbol table contains MathObjects, associating them
 with their names. | 
| ValueMath | A ValueMath object is an easy way to create Value objects that are computed
  from other Value objects. | 
| Variable | A Variable is a Value object whose value can be changed. |