Due: Friday, November 11th, 2011 11:11am
Start with eval.zip.
Add support for an abs expression, which has a single sub-expression for its argument and produces the absolute value of its argument’s value.
For example, if you call your new class Abs, then new Abs(new Num(-5.0)).eval() should produce 5.0.
Like parts 4 and 5 of HW 7, add function definitions and function-call expressions to the evaluator. You will need to change the eval method in IExpr to accept a list of definitions as an argument.
The factorial function is a traditional toy example to demostrate an evaluator. Make sure your function tests include calling the factorial function on 5.0 (like the last example shown for part 5 of HW 7).
Last update: Friday, November 4th, 2011mflatt@cs.utah.edu |