Привет, у меня небольшая проблема в моей древовидной грамматике ANTLR.Я использую ANTLRWorks 1.4.В грамматике синтаксического анализатора у меня есть такое правило:
declaration
: 'variable' IDENTIFIER ( ',' IDENTIFIER)* ':' TYPE ';'
-> ^('variable' IDENTIFIER TYPE)+
Поэтому я хотел, чтобы по одному ИДЕНТИФИКАТОРУ было по одному дереву.
А в грамматике дерева я оставил только правила перезаписи:*
Но когда я проверяю грамматику, я получаю неожиданную ошибку синтаксиса +.И именно этот знак + в конце правила объявления в древовидной грамматике.Так что я делаю не так?
грамматика парсера работает нормально и строит дерево AST, как и ожидалось.Я сгенерировал лексер и парсер для C # и проверил его на наличие ввода.