fixed expression, and added operator precedence/associativity. Still need to deal with expression_3 non associativity (see language def)