Grammar cleanup

- Removed EOI as special 'token'
  Use semantic predicate '!(.)' instead
- Removed EndOfInputExpression and therefore AtomicExpression
- Removed distinction between terminals and non-terminals
  on rule level