У меня есть грамматика для языка шаблонов.
Я создал это для Antlr 3.2 и цели CSharp2, и он работает.
Теперь я пытаюсь перейти на antlr 3.4 и цель CSharp3 (пробовал также CSharp2) и получаю странную ошибку в Parser в функции synpred.
В нескольких объявлениях переменных отсутствует имя переменной:
IToken = default(IToken)
Некоторые также имеют неправильный тип
void = default(void);
должно быть
AstParserRuleReturnScope<CommonTree, IToken> = default(AstParserRuleReturnScope<CommonTree, IToken>);
Кто-нибудь видел это раньше и что может быть причиной.
Грамматика такая же, как и раньше.
К сожалению, я не могу поделиться грамматикой, и у меня не было времени создать тестовую грамматику, которая вызывает ту же ошибку.
Конечно, я могу исправить ошибки вручную, и код работает, но немного утомительно, когда приходится разбирать код после их исправления.