assignment makes new vars

can assign a primitive fcn to a var
rename Expr as Val
Add a "statements" to the grammar
Bug fixes in error printing