stmt -> assigment | cond | loop
assignment -> id := expr
cond -> if boolexpr then stmt fi |
if boolexpr then stmt else stmt fi
loop -> while boolexpr do stmt od
expr -> boolexpr | numexpr
boolexpr -> numexpr cop numexpr
numexpr -> numexpr + term | term
term -> term * factor | factor
factor -> id | const | (numexpr)