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