[antlr-interest] Re: wierdness - or perhaps my ignorance
genericised
trigonometric at softhome.net
Mon Aug 5 00:40:44 PDT 2002
That doesn't work. I was under the impression that the
rule didn't need to be anything, because it was set as
the filter for the lexer with options { filter=blah; }.
A filter has to be protected. The same output occurs
if a filter is specified or not and the rule is protected,
or not, if the rule contains a dot, the rule is not protected
and no filter is used and if the token type is set or not.
Davy
--- In antlr-interest at y..., Bogdan Mitu <bogdan_mt at y...> wrote:
> Hi Davy,
>
> First of all, protected rules don't return any token. Second, if
you set the
> token type to SKIP, lexer won't output it. Third, if the rule is
empty, it
> won't consume any char. Try:
>
> BLAH : . // Note the dot, which means "anything"
> { System.out.println("ignoring: "+ $getText); }
> ;
>
> Bogdan
>
> --- genericised <trigonometric at s...> wrote:
> > class SillyLexer extends Lexer;
> > options { filter=BLAH; }
> >
> > protected BLAH : {
> > $setType(Token.SKIP);
> > System.out.println("ignoring: "+getText());
> > } ;
> > ---------------------------------------------------
> >
> > called from a main like so:
> >
> > ---------------------------------------------------
> > while(true) {
> > try {
> > sillyLexer.nextToken();
> > } catch(Exception e) {}
> > }
> > ---------------------------------------------------
> >
> > when executed, no output is generated and
> > the lexer gets stuck in an infinate loop, why?
> >
> > I comprehend that if newlines were an issue I
> > would have to catch them otherwise the lexer
> > would be stuck on one line, but here input is
> > from stdin so newlines should not be an issue?
> >
> > Note: I am not trying to achieve anything specific
> > here, I am just curious.
> >
> > Davy
> >
> >
> >
> >
> > Your use of Yahoo! Groups is subject to
http://docs.yahoo.com/info/terms/
> >
> >
> >
>
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Health - Feel better, live better
> http://health.yahoo.com
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
More information about the antlr-interest
mailing list