ANTLR4 прослушиватель ошибок Java grun

При лексировании/анализе ввода для грамматики antlr я хотел бы иметь исключение для ошибок, которые являются теми же ошибками, что и при использовании псевдонима grun из окна быстрого запуска веб-сайтов antlr.

Я деактивировал прослушиватели ошибок парсера и лексера с помощью

lexer.removeErrorListeners();
parser.removeErrorListeners();

потому что они сообщили о неясностях и других вещах, которые меня не волнуют, поскольку процесс синтаксического анализа прошел успешно.

Как я могу разработать прослушиватель ошибок, который сообщает об ошибках, возникающих из-за неудачного синтаксического анализа?


person Waschbaer    schedule 25.09.2016    source источник


Ответы (1)


Вы можете создать свой собственный прослушиватель ошибок. Просто создайте класс, производный от базового класса прослушивателя ошибок, создайте экземпляр и добавьте его через parser.addErrorListener().

Дополнительное примечание: обычно для лексера нет прослушивателя ошибок, так как в ANTLR4 предпочтительнее обрабатывать ошибки лексера с помощью всегда следующих ошибок парсера.

person Mike Lischke    schedule 26.09.2016