Updated grammar to be more in line with official bnf.