我正在尝试使用ANTLR为使用C#代码生成的简单语言创建解析器。
我已成功使用名为“规则”的非常简单的规则来生产MyLangLexer.cs和MyLangParser.cs。
问题是生成的方法rule()是私有的。
我想要的只是使用ANTLR将字符串解析为AST。
谢谢你, IDO。
答案 0 :(得分:5)
C#v3目标默认生成私有方法,与Java的目标相反。在您希望公开的规则前面添加关键字public
:
grammar MyLang;
...
public rule // rule is now public
: other
;
other // other is private
: ...
;
...