[antlr-interest] Fwd: Simple question, Hard answer?

Matt Palmer mattpalms at gmail.com
Wed Sep 3 02:59:53 PDT 2008


I am not an expert - and I don't have a solution -  but chaos* will match
any sequence of T1 or T2, so it will consume all the tokens.  You'll never
get to match pattern.

Regards,

Matt Palmer.

On Wed, Sep 3, 2008 at 10:36 AM, Bill Mayfield <antlrinterest at gmail.com>wrote:

> Okay... but what if this isn't a lexer problem? Suppose I my input is
> only made up of 'o' and 'k'
>
> oooookooookkooo -> 1 match
> oookkoooookkoook -> 2 matches
>
> what would my grammar look like?
>
> grammar test;
>
> start   :       chaos* pattern* chaos*;
>
> pattern :       T1 T2 T2 T1;
>
> chaos   :       T1 | T2;
>
> T1      :       'o';
> T2      :       'k';
>
>
> This one compains that it can match multiple alternatives. I don't
> understand since I read it like: match any iteration of T1 or T2
> tokens followed by T1 T2 T2 T1 followed by any iteration of T1 or T2
> tokens....
>
>
> Thanks again :o)
>
>
> Kind regards,
> Bill
>
>
>
> On Wed, Sep 3, 2008 at 11:23 AM, Thomas Brandon <tbrandonau at gmail.com>
> wrote:
> > 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
> >>
> >>
> >
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe:
> http://www.antlr.org/mailman/options/antlr-interest/your-email-address
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20080903/f6e9b9b3/attachment.html 


More information about the antlr-interest mailing list