[antlr-interest] C target: overriding parser and lexer error handlers
Vlad Roubtsov
vlad at demoninsight.com
Wed Jul 20 17:59:26 PDT 2011
I think can answer my own question: there is a reference to apifuncs at
http://antlr.org/api/C/group__apistructures.html (but not at
http://www.antlr.org/api/C/atsections.html).
On Wed, Jul 20, 2011 at 7:25 PM, Vlad Roubtsov <vlad at demoninsight.com>wrote:
> Greetings,
>
> I am new to ANTLR but have extensive experience with JavaCC. With some
> difficulty (section '@apifuncs' does not appear to be documented but was
> mentioned in this list) I can intercept parser errors with my own
> implementation of displayRecognitionError():
>
> @parser::apifuncs
> {
> RECOGNIZER->displayRecognitionError = <my parser error function>;
> }
>
> However, lexer errors continued to cause messages to be printed to stderr.
> After some more poking around the source code the following seemed to work:
>
> @lexer::apifuncs
> {
> LEXER->rec->displayRecognitionError = <my lexer error function>;
> }
>
> My question: are these @(lexer|parser)::apifuncs section declarations the
> supported way to do this? (@members does not work).
>
> Thank you,
> Vlad
>
More information about the antlr-interest
mailing list