Я пытаюсь разобрать следующую грамматику, где Value
может быть любой символ до точки с запятой, но я не могу заставить его работать правильно:не Разбираем любой символ до точки с запятой в ANTLR4
grammar Test;
pragmaDirective : 'pragma' Identifier Value ';' ;
Identifier : [a-z]+ ;
Value : ~';'* ;
WS : [ \t\r\n\u000C]+ -> skip ;
Когда я проверить его с pragma foo bar;
, я получаю следующее сообщение об ошибке:
line 1:6 extraneous input ' ' expecting Identifier
line 1:11 extraneous input 'bar' expecting ';'
В результате я определил новое правило парсера для значения прагмы. Это была моя первая попытка написать парсер с ANTLR, и мне следовало бы продолжить чтение. Спасибо за рекомендацию! –