2016-08-10 4 views
1

Я хочу поймать постороннюю ошибку в antlr4. Он печатает только на stderr что-то вродеКак поймать посторонний вход в ANTLR4?

line 1:16 extraneous input 'three' expecting {<EOF>, PLUS_MINUS, MUL_DIV} 

но не вызывает ошибок.

+0

Я предполагаю, что вам нужно сделать образец (термин), чтобы он соответствовал ему. – markspace

ответ

1

ANTLR lexer реализует интерфейс ANTLRErrorListener и инициализирует его до ConsoleErrorListener.

В коде построения лексера, возможно удалить ConsoleErrorListener и добавить собственную реализацию, т.е. , YourListener extends BaseErrorListener.