[antlr-interest] lexer woes
Matt Benson
gudnabrsam at yahoo.com
Wed Mar 5 15:55:13 PST 2008
--- Loring Craymer <lgcraymer at yahoo.com> 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 <antlr at mirality.co.nz>
> > To: Loring Craymer <lgcraymer at yahoo.com>; Matt
> Benson <gudnabrsam at yahoo.com>; Antlr List
> <antlr-interest at antlr.org>
> > 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
More information about the antlr-interest
mailing list