[antlr-interest] Simple question, Hard answer?

Thomas Brandon tbrandonau at gmail.com
Wed Sep 3 02:23:47 PDT 2008


On Wed, Sep 3, 2008 at 7:13 PM, Bill Mayfield <antlrinterest at gmail.com> wrote:
> Hi,
>
> Suppose I want to recognize each pattern 'okko' in a random string of
> characters. Some examples:
>
> aaaaaoookoooookkooooaaa -> should yield one match of 'okko'
> aaaokkookko -> should yield two matches of 'okko'
>
>
>
> Here is a grammar that won't work ;o)
>
> grammar test;
>
> start   :       .* pattern .*;
>
> pattern :       T1 T2 T2 T1;
>
>
> T1      :       'o';
> T2      :       'k';
>
Wildcards in parser rules match any token, not any character. As your
lexer only matches 'o'|'k' anything else will cause a lexer error. Try
adding a lexer rule to match any other input after your other lexer
rules, like:
OTHER: .;
Or you may want to look at filtering lexers as they may be better
suited to your task.

Tom.
>
> No matter what grammar I try. I can't get it to work... how hard can it be?
>
>
> Thanks for any input you may provide,
> Bill
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address
>
>


More information about the antlr-interest mailing list