[antlr-interest] Why doesn't this work?
Indhu Bharathi
indhu.b at s7software.com
Tue Apr 7 00:33:00 PDT 2009
I was working in a big grammar and stumbled on a problem with
predicates. I've simplified the problem as much as possible and here it is:
When I give the input "1.", I expect the tokens <INT_LIT, DOT>. But what
I get is "No viable alternative at character 'EOF'. I'm not able to
understand why this happens. Any pointers?
grammar Test;
r : INT_LIT DOT+
;
INT_FLOAT_PATTERN
: (NUMBER DOT NUMBER LETTER ) => NUMBER DOT NUMBER LETTER
{ $type=PATTERN; }
| ( NUMBER DOT NUMBER ) => NUMBER DOT NUMBER
{ $type=FLOAT_LIT; }
| (NUMBER) => NUMBER
{ $type=INT_LIT; }
;
DOT : '.'
;
fragment PATTERN
: ;
fragment FLOAT_LIT
: ;
fragment INT_LIT
: ;
fragment
NUMBER : ('0'..'9')+
;
fragment
LETTER : 'a'..'z'
;
Thanks, Indhu
More information about the antlr-interest
mailing list