OutStmt
::= output := Expr
IfStmt
::= if Test then StmtList end
WhileStmt
::= while Test do StmtList end
Test
::= odd Sum | Sum Relop Sum
Relop
::= <= | <> | < | >=
| > | =
Exprs
::= Expr {, Expr }
Expr
::= Sum
Sum
::= Term { (+ | -) Term }
Term
::= Factor { (* | /) Factor }
Factor
::= - Factor | LValue | Integer | input
| ( Expr )