[antlr-interest] Reporting errors from rules

Florian Weimer fw at deneb.enyo.de
Tue Sep 2 03:54:30 PDT 2008


I'd like to report errors from rules because I want to reuse existing,
non-ANTLR parsers and make the lexer rules a bit more lenient than
what's actually in the language.  For instance, in

IPV4_ADDRESS : ('0' .. '9' | '.')+;

address returns [IPv4Address address]
    : IPV4_ADDRESS
        {
            try {
                $address = new IPv4Address($IPV4_ADDRESS.text);
            } catch (IllegalArgumentException e) {
                ???
            }
        };

I want to report an error at the location of the IPV4_ADDRESS token if
the token is not actually an IPv4 address.

Do I have to throw a special exception to achieve this?


More information about the antlr-interest mailing list