input =) expression
expression =)value
| variable
| ( if expression expression expression)
| (while expression expression)
| ( set variable expression)
| ( begin expression+)
| (expression+)
arglist =) (variable*)
value-op =) ....
value =) integer | quoted-const | (lambda arglist expression)