[antlr-interest] Grammar not detecting extraneous input at end
Bart Kiers
bkiers at gmail.com
Thu Jun 3 11:47:14 PDT 2010
Hi,
On Thu, Jun 3, 2010 at 8:38 PM, Karim Chichakly <karimc17 at gmail.com> wrote:
> Hi,
>
> I have a grammar that does not give an error (in ANTLR 3.2) if there are
> extraneous characters at the end of the input. For example, I would expect
> "(a+b))" to generate an error, but it does not. "(a+b)" is parsed fine and
> the extra ")" at the end is just ignored.
>
Since "(a+b))" does not contain any illegal tokens, the parser simply stops
after it (successfully) parses "(a+b)". You'll want to "force" the parser to
go through the entire token stream by adding an 'EOF' after your 'equation'
rule:
equation
: expr EOF
;
Regards,
Bart.
More information about the antlr-interest
mailing list