Num -> 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Var -> a | b
A -> Num | Var
B -> true | false | A = A
C -> x := A ; | while B do C ;
Num -> Num 0 | Num 1 | Num 2 | Num 3 | Num 4 | Num 5 | Num 6 | Num 7 | Num 8 | Num 9
Var -> a Var | b Var
A -> A + A | A * A | A - A
B -> B or B | B and B | !B 
