lexical and syntax code generator, directed by EBNF