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

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

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

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

谢谢,安迪

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

grammar T; options { language=CSharp2; } public parse : privateRule+ EOF ; privateRule : Token+ ; // ... 

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

protectedprivate (默认情况下,如果未指定任何内容)也受支持。