为什么antlr3c#解析器方法是私有的

本文关键字:方法 antlr3c# 为什么 | 更新日期: 2023-09-27 17:59:30

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

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

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

谢谢,Andy

为什么antlr3c#解析器方法是私有的

使至少一个解析器规则"公共",如下所示:

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

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

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