[antlr-interest] Grammar handling of whitespaces
Erik Kratochvil
discontinuum at gmail.com
Thu Feb 7 06:22:28 PST 2008
Aha.
First, make a new lexer lexer rule
ARROW : '=>';
and then use it in the parser rule arrow
arrow : ARROW ...whatever here...;
Does this solve your problem?
On 2/7/08, Johannes Luber <jaluber at gmx.de> wrote:
> Shawn Poulson schrieb:
> > Hello all,
> >
> > I've had success so far with generating my grammar for my C# target,
> > with help from several individuals here. One of the tips I've used is
> > to use a lexer rule to skip whitespaces using a rule like:
> >
> > WS : (' '|'\r'|'\t'|'\n') { $channel=HIDDEN; }
> >
> > This is very helpful for most parser rules, so I don't have to
> > explicitly put whitespaces throughout my parser rules. But, there are
> > times where I don't want whitespaces between certain elements. Is
> > there a way to handle this?
>
> Untested yet, but this should work:
>
> arrow
> : first=ASSIGNMENT second=GT {$first.index + 1 == $second.index}? //
> Nothing between the tokens?
> ;
>
> Johannes
>
--
Erik Kratochvíl
More information about the antlr-interest
mailing list