Yes - that is fine. The interpreter is not able to deal with the predicate
is all :)

Jim

> -----Original Message-----
> From: seoji...@gmail.com [mailto:seoji...@gmail.com] On Behalf Of Jiwon
> Seo
> Sent: Sunday, November 13, 2011 11:06 PM
> To: Jim Idle
> Cc: antlr-interest@antlr.org
> Subject: Re: [antlr-interest] Using range operator (INT .. INT)
>
> I did the following change:
>
> FLOAT
>     : ('0'..'9')+
>     (
>         {input.LA(2) != '.'}? => '.' ('0'..'9')+ EXPONENT? {$type =
> FLOAT;}
>         |  {$type = INT;}
>     )
>     |  ('0'..'9')+ EXPONENT
>     ;
>
> I tested it inside antlrworks, and very strangely, it works fine with
> the debugger(generates the right parse tree), but raises Mismatched
> token exception with the interpreter.
>
> Is the above right way to do this?
>
>
> On Sun, Nov 13, 2011 at 5:10 PM, Jim Idle <j...@temporal-wave.com>
> wrote:
> > Please read the wiki articles - your rules conflict and there are
> > simple ways around this :)
> >
> > Jim
> >
> >> -----Original Message-----
> >> From: antlr-interest-boun...@antlr.org [mailto:antlr-interest-
> >> boun...@antlr.org] On Behalf Of Jiwon Seo
> >> Sent: Sunday, November 13, 2011 9:58 AM
> >> To: Christian
> >> Cc: antlr-interest@antlr.org
> >> Subject: Re: [antlr-interest] Using range operator (INT .. INT)
> >>
> >> I attached a simplified grammar file with the problem.
> >> If you run the interpreter in antlrworks 1.4.3 the following will
> >> give an error
> >>
> >> int n:0..10
> >>
> >> But the following won't give an error:
> >>
> >> int n:0 .. 10    // white space before and after ..
> >>
> >>
> >> Note that my definition of FLOAT does not conflict with the range
> >> operator:
> >>
> >> FLOAT
> >>     :   ('0'..'9')+ '.' ('0'..'9')+ EXPONENT?
> >>     |   ('0'..'9')+ EXPONENT
> >>     ;
> >>
> >>
> >> Thanks.
> >>
> >> On Sun, Nov 13, 2011 at 3:09 AM, Christian <chw...@gmx.de> wrote:
> >> > Hello Jiwon,
> >> >
> >> > first, try to write a simple minimal grammar that represents your
> >> > usecase because I do not see anything that explains the behavior
> >> > you described. Maybe there are some other rules that influence the
> >> parsing.
> >> >
> >> > Tell us afterwards.
> >> >
> >> > Regards,
> >> > Christian
> >> >
> >> > Am 13.11.2011 10:31, schrieb Jiwon Seo:
> >> >> I'm trying to add range operator in my language, and I'm having a
> >> >> problem with it.
> >> >>
> >> >> The range operator is defined as following:
> >> >>
> >> >> range: INT '..' INT ;
> >> >>
> >> >> where INT is '0'..'9'+
> >> >>
> >> >> I do have FLOAT, but it is defined such that it does not have
> >> >> conflict with the range operator:
> >> >>
> >> >> FLOAT: ('0'..'9')+'.'('0'..'9')+ EXPONENT?
> >> >>             | ('0'..'9')+ EXPONENT
> >> >>           ;
> >> >>
> >> >> The thing is, if I use the range operator with white spaces
> before
> >> >> & after the dots(such as 10 .. 100), it parses fine But without
> >> >> the white spaces(such as 10..100), it says
> 'MismatchedTokenException' .
> >> >>
> >> >> Can anyone see why it's acting like that? I do not use dot ('.')
> >> >> in any other places.
> >> >>
> >> >> I'm using antlrworks 1.4.3 for writing grammar and testing it
> >> >> (interpreter & debugger)
> >> >>
> >> >> Thanks.
> >> >>
> >> >> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> >> >> Unsubscribe:
> >> >> http://www.antlr.org/mailman/options/antlr-interest/your-email-
> >> addres
> >> >> s
> >> >>
> >> >
> >> >
> >> > 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
> >

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 il-antlr-inter...@googlegroups.com.
To unsubscribe from this group, send email to 
il-antlr-interest+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/il-antlr-interest?hl=en.

Reply via email to