Я новичок в antlr. Я хочу написать грамматику для разбора ниже входа:ANTLR4: несоответствующий ввод
commit a1b2c3d4
Грамматика приведен ниже ::
grammar commit;
file : 'commit' COMMITHASH NEWLINE;
COMMITHASH : [a-z0-9]+;
DATE : ~[\r\n]+;
NEWLINE : '\r'?'\n';
При попытке разбора выше входных данных, используя грамматику, он бросает исключение ниже: :
линия 1: 0 несовпадающими ввода 'фиксации a1b2c3d4' ожидая 'совершить'
Примечание: я намеренно добавлен трет он токен DATE. Без токена DATE он отлично работает. Но я хотел бы знать, что происходит, когда добавлен токен DATE.
Я ссылался на ссылку Antlr4: Mismatched input, но я еще не понял, что произошло.
Спасибо за ответ, теперь я могу понять, что происходит в вышеуказанном случае. Стало более ясным, когда я распечатывал жетоны, на которые давал лексер.И для этого вопроса, и для вопроса, заданного в http://stackoverflow.com/questions/16364046/antlr4-mismatched-input/16365319#16365319 – Ramg