gpt4 book ai didi

java - ANTLR 4.7.1 生成的解析器中存在问题

转载 作者:行者123 更新时间:2023-12-02 11:51:26 24 4
gpt4 key购买 nike

我创建了一个名为 goal.g4 的语法

然后,从终端(在 Mac 上)我启动了“java -cp“antlr-4.7.1-complete.jar”org.antlr.v4.Tool goal.g4-listener-visitor”正确终止。

然后我使用以下java代码:

input = new ANTLRInputStream(fis); /* where fis is a FileInputStream */
goalLexer lexer = new goalLexer(input);
CommonTokenStream tokens = new CommonTokenStream(lexer);
goalParser parser = new goalParser(tokens);
parser.start();

我的观点是:如何从解析器中检索 ParseTree 对象?按照建议,我用 start() 方法替换了 init() 方法。但是 eclipse 告诉我 parser.start() 不存在...

如何解决这个问题?谢谢卢卡

最佳答案

看看你的语法。您必须确定您想要遵循的开始规则。通常,起始规则位于文件顶部附近和/或者是不被任何其他规则调用的少数(或唯一)规则之一。

无论您选择什么规则,它都会返回一个解析树上下文,它构成解析树的根,例如

ParseTree tree = parser.start();

关于java - ANTLR 4.7.1 生成的解析器中存在问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47855370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com