shorter notation in syntax.bnf
more language constructs and error codes