我正在构建一个antlr中的解析器,它可以编译成一个可用的java目标。当我重新定位c#2时,它产生一个解析器,其中所有的解析方法都是私有的,但标有[GrammarRule(“rulename”)]属性。
实际调用解析器的批准方法是什么?
我正在使用ANTLR 3.3 2010年11月30日12:45:30
谢谢, 安迪
答案 0 :(得分:20)
将至少一个解析器规则设为“public”,如下所示:
grammar T;
options {
language=CSharp2;
}
public parse
: privateRule+ EOF
;
privateRule
: Token+
;
// ...
然后,您可以在生成的解析器上调用parse()
。
protected
和private
(默认情况下,如果未指定任何内容)也受支持。