Работа над игровым проектом, который включает язык сценариев, который я хочу интерпретировать в код виртуальной машины, который может быть выполнен непосредственно. Я включил грамматику ниже. Все правила lexer отображаются правильно в диаграмме синтаксиса, но когда я нажимаю на тела любого из правил парсера, я получаю «Не могу отобразить правило« X », потому что состояние начала не найдено» для данного правила синтаксического анализатора X.Ошибки грамматики AntlrWorks и языка
Я не совсем уверен, почему ANTLR жалуется, что у него нет начального состояния. Грамматика должна начинаться с кодировки, на которую не ссылается ни одно другое правило парсера. Кроме того, поле в правом верхнем углу экрана зеленое, что указывает на отсутствие синтаксических ошибок.
Я прочесал некоторые из других сообщений на доске сообщений, а также многие из грамматик, содержащихся в загрузке грамматики образца ANTLRv3, но ни один из них не имеет специального кода, который указывает ANTLR, что одним из правил парсера является начало. Я чувствую, что что-то простое сломано, но я в тупике относительно того, что именно это.
Любые советы или помощь были бы высоко оценены! Даже если это просто так: «Пойдите, прочитайте это».
grammar RobotWarsGrammar;
EQUAL
options {
paraphrase = "=";
}
: '='
;
любая помощь? Я все еще не могу понять. – 2010-12-03 13:49:11