用于解析规则的C#产品私有方法的ANTLR

时间:2011-12-06 15:44:05

标签: c# antlr antlr3

我正在尝试使用ANTLR为使用C#代码生成的简单语言创建解析器。

我已成功使用名为“规则”的非常简单的规则来生产MyLangLexer.cs和MyLangParser.cs。

问题是生成的方法rule()是私有的。

我想要的只是使用ANTLR将字符串解析为AST。

谢谢你, IDO。

1 个答案:

答案 0 :(得分:5)

C#v3目标默认生成私有方法,与Java的目标相反。在您希望公开的规则前面添加关键字public

grammar MyLang;

...

public rule // rule is now public
  :  other
  ;

other // other is private
  :  ...
  ;

...