antlr — обработка ошибок ANTLR3 в C ++ target

Как я могу поймать исключения ANTLR3 в моей грамматике? Я нашел много примеров Java, но я не могу заставить работать C ++.
Например, в грамматике есть следующая строка:

func_expression : 'lengthof' '(' longid ')';

Как я могу обработать ошибку, когда ‘;’ пропал, отсутствует?
Я пытался добавить catch почти везде пытается поймать исключения ANTLR, как описано Вот.
Я также пытался переопределить displayRecognitionError() как описано Вот.

Может быть, я просто делаю это неправильно. Я хотел бы получить простой пример кода для цели C ++.

1

Решение

Решение заключается в тени

displayRecognitionError(ANTLR_UINT8**, Parser::ExceptionBaseType*)

функция (не виртуальная) в разделе parser :: context.

0

Другие решения

Других решений пока нет …