希望这是一个非常快的一个;)我已经在 ANTLR3 中编写了一个词法分析器/解析器规范,并且目标是 CSharp2 目标。生成的代码可以正常工作,但我无法让 ANTLR 将 C# 输出放入命名空间。
语法文件的相关部分如下:
grammar MyGrammar;
options
{
language = CSharp2;
output = AST;
ASTLabelType = CommonTree;
}
为了生成正确的命名空间,我尝试过:
@namespace { MyNamespace }
和
@lexer::namespace { MyNamespace }
@parser::namespace { MyNamespace }
但是这两个都会产生错误,声称该文件没有规则。
任何帮助表示赞赏。