[antlr-interest] Problem parsing float numbers

Steve McFarlin smcfarlin at ocsnet.net
Wed Nov 25 14:58:32 PST 2009


How are you using these lexer rules? Check the parse tree in  
ANTLRWorks interpreter or debugger. You should be able to determine  
what lexer rule is being used for your input. This works for me with  
input 1.0


prog	:	start* ;

start:	NUM | EXP | ENUM ;

fragment DIGIT : '0'..'9' ;
fragment INT   : DIGIT + ;
NUM     : INT ( '.' INT)? ;
EXP     : ( 'E' | 'e' ) ( '-' | '+')? NUM  ;
ENUM    : NUM ( EXP )? ;


steve

On Nov 25, 2009, at 2:43 PM, Marcel Schaible wrote:

> Hello everybody,
>
> I have a problem with parsing floating point numbers:
>
> My grammar contains the following part for recognizing floats:
>
> fragment DIGIT : '0'..'9' ;
> fragment INT   : DIGIT + ;
> NUM     : INT ( '.' INT)? ;
> EXP     : ( 'E' | 'e' ) ( '-' | '+')? NUM  ;
> ENUM    : NUM ( EXP )? ;
>
> When I feed into the parser 1.0 I got the following error message:
>
> line 1:0 required (...)+ loop did not match anything at input '1.0'
>
> I did not see the problem. Any ideas and comments are welcome!
>
> Thanks in advance for your help.
>
> Marcel
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20091125/99c68667/attachment.html 


More information about the antlr-interest mailing list