Not sure your assumption about look ahead is correct but the gurus will have
to answer that ;-)

Try changing RULE_EQUALS to match  ';=' and  15;=0 as input will give the
expected result.

Regards
   Soren

2011/1/14 Mark Christiaens <[email protected]>

> That was my first guess too but I doubt that that is the cause.
>
> Without the space, I expect it to see the 15 (corresponding to
> the ('0'..'9')+ part) and then look ahead and see that the next part must
> start with a ':' followed by a number.  Since it doesn't see a number (it
> sees a '=') it should end the RULE_ABSTRACT_LITERAL.  Then parsing can
> continue and would start from the ':' to match the RULE_EQUALS and then
> again the RULE_ABSTRACT_LITERAL.
>
> Mark
>
>
> On Fri, Jan 14, 2011 at 4:30 PM, Søren Kristiansen <[email protected]>wrote:
>
>> Hi Mark,
>> Without the space before ':=', 15: will match your
>> RULE_ABSTRACT_LITERAL rule and then '=' can't be
>> matchted.
>>
>> Regards
>>    Soren
>>
>> 2011/1/14 Mark Christiaens <[email protected]>
>>
>>> I have a small test grammar:
>>>
>>> grammar test_grammar;
>>>
>>> testrule : t*;
>>> t: RULE_EQUALS | RULE_ABSTRACT_LITERAL | RULE_WS ;
>>> RULE_EQUALS : ':=';
>>> RULE_ABSTRACT_LITERAL : ('0'..'9')+ (':' ('0'..'9')+ ':')?;
>>> RULE_WS : (' '|'\t')+;
>>>
>>>
>>> When I debug this grammar (with ANTLRWorks 1.4.2 using ANLTR 3.3) I feed
>>> it
>>> the input (no spaces)
>>>
>>>
>>> 15:=0
>>>
>>>
>>> and it doesn't parse my input correctly.  When I change the input to
>>> (adding
>>> space before ':=')
>>>
>>> 15 :=0
>>>
>>> it parses successfully.  Any ideas what I'm missing here?
>>>
>>> Mark
>>> --
>>> <http://www.sigasi.com>
>>>
>>> Mark Christiaens, PhD
>>> Expert Research Engineer
>>> www.sigasi.com
>>>
>>> List: http://www.antlr.org/mailman/listinfo/antlr-interest
>>> Unsubscribe:
>>> http://www.antlr.org/mailman/options/antlr-interest/your-email-address
>>>
>>
>>
>
>
> --
> <http://www.sigasi.com>
> Mark Christiaens, PhD
> Expert Research Engineer
> www.sigasi.com
>
>

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.

Reply via email to