make EBNF more conformant

- remove lazy terms like "characters A-Z and a-z"
- use POSIX character classes for very big character spaces