Каков идиоматический способ обработки ошибок при обходе дерева синтаксического анализа в ANTLR4?

Я только начинаю работать с ANTLR4 и нахожусь в процессе создания слушателя, который проходит по дереву синтаксического анализа. У меня также есть собственный прослушиватель ошибок, добавленный экземпляр Parser; чтобы опираться на это, я хотел бы, чтобы любые ошибки, о которых я сообщаю во время вызова ParseTreeWalker.walk(), также попадали в прослушиватели ошибок синтаксического анализатора. Мне пришло в голову, что я мог бы вызвать Parser.getErrorListeners() и внедрить его в свой класс слушателя, но я надеялся на что-то более встроенное.

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


person Tim Clemons    schedule 11.04.2013    source источник


Ответы (1)