<program> := <statements> EOF

<statements> := <statement> 
             |  <statement> SEP <statements>

<statement> := let <id> = <expr>
            |  <expr>

<expr> := if <expr> then <statements> end
       |  if <expr> then <statements> else <statements> end
       |  while <expr> SEP <statements> end
       |  <binexpr>
       |  <number>
       |  <id>


<binexpr> :=