为什么antlr3 c#解析器方法是私有的?

And*_*son 14 c# antlr antlr3

我正在构建一个antlr中的解析器,它可以编译成一个可用的java目标.当我重新定位c#2时,它产生一个解析器,其中所有的解析方法都是私有的,但标有[GrammarRule("rulename")]属性.

实际调用解析器的批准方法是什么?

我正在使用ANTLR 3.3 2010年11月30日12:45:30

谢谢,安迪

Bar*_*ers 20

至少将一个解析器规则设为"public",如下所示:

grammar T;

options {
  language=CSharp2;
}

public parse
  :  privateRule+ EOF
  ;

privateRule
  :  Token+
  ;

// ...
Run Code Online (Sandbox Code Playgroud)

然后,您可以调用parse()生成的解析器.

protectedprivate(如果未指定任何内容,则为默认值)也受支持.

  • 谢谢,我找不到任何这方面的文件. (2认同)