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)