[antlr-interest] antlr beginner confused over ambiguities
Gavin Lambert
antlr at mirality.co.nz
Tue Feb 24 12:32:52 PST 2009
At 08:52 25/02/2009, Rick Schumeyer wrote:
>If the input string is "12:34:45", then of course antlr returns a
>STRING token. I understand why it does that (I think) but I'm
>not really sure how to fix that. I'm fuzzy on the difference
>between a semantic and syntactic predicate, and whether one of
>those is what I need.
>
>grammar STest;
>
>line : timestamp;
>
>timestamp
> : INT ':' INT ':' INT
> ;
>
>INT : ('0'..'9')+;
>
>STRING : ('!'..'+' | '-'..'~')+; /* anything but ws or
>comma */
fragment TIMESTAMP: INT ':' INT ':' INT ;
INT : ('0'..'9')+ ;
STRING
: (TIMESTAMP) => TIMESTAMP { $type = TIMESTAMP; }
| ('!'..'+' | '-'..'~')+; /* anything but ws or comma */
;
More information about the antlr-interest
mailing list