[antlr-interest] Fragment for Parserrules

Alexander Gängel alexander at gaengel.de
Mon Jan 15 01:16:31 PST 2007


Can anybody give me a Hint where I am wrong?

Alexander

Alexander Gängel schrieb:
> Here is a small Grammar to show my Problem:
>
>     grammar small;
>     start    :(Identifier |    '->' keyword    )+;
>     keyword:'test'|'test2';
>     Identifier:('a'..'z'|'A'..'Z'|'_') (Letter)*;
>     fragment
>     Letter    :'a'..'z'|'A'..'Z'|'0'..'9'|'_'|'$';
>     WS    :(' '|'\r'|'\t'|'\u000C'|'\n') {$channel=HIDDEN;};
>
> for this Grammar input like this is true:
>
> word word -> test word -> test2
>
> but I would like that if the Input is just test it would also be true
> but then be identified as an Identifier not a keyword.
>
> ok in this example I could put my keyword also into the start rule but
> in actual grammar I'm working on I would use it with a lot of keyword
> (about 20) inside  a Syntactic Predicates so I would prefer to make
> the rule keyword a fragment so it#s just recognized inside the start
> rule when a -> is found.
>
> Ok I hope you now understand what I want.
>
> maybe there is a better way to do such a thing with Antlr I just don't
> know about it.
>
> Alexander
>
>
> Kay Roepke schrieb:
>>
>> On 10. Jan 2007, at 12:27 , Alexander Gängel wrote:
>>
>>> I have some parserrule which should only be applied at special points,
>>> the problem why I can't inline it because I use in an Syntactic
>>> Predicate.
>>>
>>> or is there some better way I just don't see
>>
>> could you post some sample code/grammar?
>>
>> I can't really see what you want to do here, that's easier to discuss
>> if we have some sample stuff to
>> talk about ;)
>>
>> cheers,
>>
>> -k
>> --Kay Röpke
>> http://classdump.org/
>>
>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20070115/b5827961/attachment.html 


More information about the antlr-interest mailing list