Implementation
We will print an expression in fully parenthesized form
- For an IntExpr, just print the integer
- For a UnaryExpr, print (@e), where @ is the operator and e is the representation of the operand subexpression
- For a BinaryExpr, print (e1@e2), where e1 and e2 represent the subexpressions