Jonathan M Davis wrote: > You have to look ahead to figure out whether it's .. or a floating > point literal.
This lookahead is introduced by using a petty grammar.
Please reconsider, that lexing searches for the leftmost longest pattern
of the rest of the input. This means that introducing a pattern like
`<int>\.\.' return TokenType.INTDOTDOT;
would eliminate the lookahead in the lexer.
In the parser an additional rule then has to be added:
<range> ::= INT DOTDOT INT
| INTDOTDOT INT
-manfred
