implement EBNF.