Wiki - front page - lexing for dot, range, ..... http://www.antlr.org/wiki/display/ANTLR3/Lexer+grammar+for+floating+point%2C+dot%2C+range%2C+time+specs
This grammar also caters for 999.toString() type things as it comes from JavaFX. Jim > -----Original Message----- > From: [email protected] [mailto:antlr-interest- > [email protected]] On Behalf Of Kaleb Pederson > Sent: Thursday, October 01, 2009 3:47 PM > To: Gavin Lambert > Cc: [email protected] > Subject: Re: [antlr-interest] Disambiguating Decimal and Integer '.' > > On Thursday 01 October 2009 01:06:54 pm Gavin Lambert wrote: > > At 08:12 2/10/2009, Kaleb Pederson wrote: > > >INTEGER > > > : NUMBER+; > > > > > >DECIMAL > > > : INTEGER '.' INTEGER; > > > > You should have a look at the wiki and the mailing list > > archives. This is a fairly common problem with a fairly simple > > solution: > > I've looked, read, and re-read, but apparently I don't know exactly > what to look for, so thanks for pointing it out. I'd be interested to > any references in the wiki or archives if you have them. My google-fu > and not-so-random searching didn't bring up anything useful. > > > fragment INTEGER : NUMBER+ ; > > > > DECIMAL > > : INTEGER ('.' INTEGER | { $type = INTEGER; }) > > ; > > This did not work, nor did adding an options {k=2;} statement. > > > If that doesn't work by itself, you can add a predicate to force a > > two-character lookahead: > > > > DECIMAL > > : INTEGER (('.' NUMBER) => '.' INTEGER | { $type = INTEGER; }) > > ; > > This worked great, thank you! I would not have thought to try > something like that. I was attempting to have the DECIMAL non-terminal > avoided, rather than allowing it to match the same thing as an INTEGER > and changing the type on it. Perhaps that caused some tunnel vision. > > --Kaleb > > http://twitter.com/kalebpederson > http://kalebpederson.com > > List: http://www.antlr.org/mailman/listinfo/antlr-interest > Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your- > email-address List: http://www.antlr.org/mailman/listinfo/antlr-interest Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "il-antlr-interest" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/il-antlr-interest?hl=en -~----------~----~----~----~------~----~------~--~---
