2

这个问题中,有人询问了ParseTreeANTLR4 中 java 类的 C# 等效项。这个答案对我来说很清楚,但我有一个相关的以前的问题:哪个相当于parser.prog()

似乎整个处理从这一点开始,调用,我一定是在做一些非常错误的事情,因为我在课堂parser.prog()上找不到方法。我已经在 github 源代码中搜索了它的基类,但这里也没有 Method。prog()myGrammarParserParserprog()

我做了一些猜测,以防万一该方法有不同的名称,但没有运气。

我想我要回到 ANTLR3,因为我找到了一些针对 C# 的 ANTLR3 的工作示例。很遗憾,要让它发挥作用是如此困难。

提前致谢。

4

1 回答 1

9

创建该prog()方法是因为语法包含一个规则prog。如果起始规则被命名为其他名称,例如compilationUnit,那么您将调用该compilationUnit()方法来解析输入。

ANTLR 的这一特定方面在 ANTLR 3 和 ANTLR 4 之间没有变化。

于 2013-08-25T15:31:40.893 回答