[antlr-interest] Antlr3 does not report error with incorrect input.
Martin Fowler
fowler at acm.org
Mon Mar 5 12:40:05 PST 2007
The "xitem foo" was deliberate - I wanted the error.
But the latter part of the message did the trick for me - thanks. I
didn't realize I needed the EOF in the grammar, although now you mention
it, it does make sense. I fixed the grammar, and now get `line 1:0
mismatched input 'xitem' expecting EOF` - which is what I was looking for.
Martin
Terence Parr wrote:
> Hi Martin,
>
> StringReader input = new StringReader("xitem foo");
>
> is the culprit. It should be "item foo". It sees xitem as STRING and
> then matches nothing, which is legal by your grammar:
>
> catalog : item*;
>
> it silently exists because it didn't find an item. ;)
>
> If you use
>
> catalog : item* EOF;
>
> then it would say missing EOF, found STRING or something.
>
> Ter
>
--
Martin Fowler
http://martinfowler.com
More information about the antlr-interest
mailing list