Надеюсь, это действительно быстро;) Я написал спецификацию лексера / парсера в ANTLR3 и нацеливаюсь на цель CSharp2. Сгенерированный код работает правильно, но я не могу заставить ANTLR поместить вывод C # в пространство имен.
Соответствующий раздел файла грамматики выглядит следующим образом:
grammar MyGrammar;
options
{
language = CSharp2;
output = AST;
ASTLabelType = CommonTree;
}
Чтобы создать правильное пространство имен, я попытался:
@namespace { MyNamespace }
и
@lexer::namespace { MyNamespace }
@parser::namespace { MyNamespace }
, но оба они генерируют ошибки, утверждая, что файл не имеет правил.
Любая помощь приветствуется.