[antlr-interest] lexer woes
Loring Craymer
lgcraymer at yahoo.com
Wed Mar 5 16:16:48 PST 2008
There is also some significant analysis to remove BACKTRACK_SYNPREDs when they are not needed. For this case, they would not be needed (LL* is sufficient), so they are removed and you are back to the FOLLOW set problem.
--Loring
----- Original Message ----
> From: Matt Benson <gudnabrsam at yahoo.com>
> To: Loring Craymer <lgcraymer at yahoo.com>; Gavin Lambert <antlr at mirality.co.nz>; Antlr List <antlr-interest at antlr.org>
> Sent: Wednesday, March 5, 2008 3:55:13 PM
> Subject: Re: [antlr-interest] lexer woes
>
>
> --- Loring Craymer wrote:
>
> > Setting backtracking in combined grammars only
> > affects the parser (again, see the prefixWithSynPred
> > code); from the code, though, setting
> > backtracking=true in lexer grammars does introduce
> > synpreds at all decision points.
> >
>
> From the code... but try to tool this:
> ----
> lexer grammar EasyLexer;
> options {
> backtrack=true;
> memoize=true;
> }
>
> Ident
> : Letter (Letter|Digit)*
> ;
>
> fragment
> Letter
> : 'A'..'Z'|'a'..'z'|'_'
> ;
>
> fragment
> Digit
> : '0'..'9'
> ;
>
> ---
>
> Does it work, or have I had too much crack?
>
> -Matt
>
> > --Loring
> >
> > ----- Original Message ----
> > > From: Gavin Lambert
> > > To: Loring Craymer ; Matt
> > Benson ; Antlr List
> >
> > > Sent: Wednesday, March 5, 2008 12:09:41 AM
> > > Subject: Re: [antlr-interest] lexer woes
> > >
> > > At 11:35 5/03/2008, Loring Craymer wrote:
> > > >> 1) Whether backtracking mode is supported for
> > lexers,
> > > >1.) Yes--see calls to prefixWithSynPred() in
> > antlr.g
> > >
> > > I think that answer is a little misleading :)
> > >
> > > As far as I know, the "backtrack=true" option has
> > no effect in the
> > > lexer. However, backtracking in general is
> > supported through
> > > adding your own syntactic predicates.
> > >
> > > Note that syntactic predicates can only be used to
> > disambiguate
> > > between alts in a single rule -- you can't use
> > them to distinguish
> > > between tokens at the top level. (If you need to
> > do that, you'll
> > > have to merge the rules.)
> > >
> > >
> >
> >
> >
> >
> >
> >
> ____________________________________________________________________________________
> > Never miss a thing. Make Yahoo your home page.
> > http://www.yahoo.com/r/hs
> >
>
>
>
>
> ____________________________________________________________________________________
> Never miss a thing. Make Yahoo your home page.
> http://www.yahoo.com/r/hs
>
____________________________________________________________________________________
Looking for last minute shopping deals?
Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsearch/category.php?category=shopping
More information about the antlr-interest
mailing list