expr := number | expr ws unary_op | expr ws expr ws binary_op