Я пытаюсь изучить ANTLR, написав грамматик (я использую eclipse с плагинами для ANTLR), и все шло нормально, пока я не столкнулся с ошибкой:
NoViableAltException: line 0:-1 no viable alternative at input '<EOF>'
Когда Я пытаюсь проверить свое правило парсера args
typedident : (INT|CHAR) IDENT;
args : (typedident ( COMMA typedident)*)?;
Идентификатор - это буква, за которой следует любой символ, это работает, я это тестировал. typedident также работает для теста.
Я использую ввод int a12q2efwe, char a12eqdsf
(полностью случайный), и дерево выглядит нормально в интерпретаторе, единственная проблема заключается в том, что args имеет четыре ветви вместо трех, типизировано, запятая , введенный, а затем ошибка в последнем.
Любая помощь будет принята с благодарностью.
Спасибо.