gpt4 book ai didi

java - 使用 Parboiled 生成 AST (Java)

转载 作者:太空宇宙 更新时间:2023-11-04 06:49:57 30 4
gpt4 key购买 nike

我使用Parboiled library创建了一个PEG对于Java。
我基于this example .

它工作正常,但现在我需要实际创建 AST。

我的问题是如何使用该库来做到这一点?

在 Google 上浏览了一下并查看了 Github 上的示例后,我发现您打算使用推送、弹出、交换等来创建 AST,但我无法弄清楚如何使用我的解析器来执行此操作。我的解析器与 Java 解析器非常相似,如果您能帮助我了解它如何在 Java 解析器中工作,我可以将其改编为我的解析器。

最佳答案

基本上,PEG 解析器保留一个包含值的堆栈,您可以在匹配输入时推送和弹出值。您将把值(AST 节点)压入堆栈,解析完成后,您将从解析器获取 AST 的根节点。

检查https://github.com/sirthias/parboiled/blob/master/examples-java/src/main/java/org/parboiled/examples/calculators/CalculatorParser4.java作为如何使用 push 和 pop 的示例。

还可以检查(非常好!)Parboiled 项目的文档。这是 AST 创建的具体部分 https://github.com/sirthias/parboiled/wiki/Working-with-the-Value-Stack

关于java - 使用 Parboiled 生成 AST (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23452875/

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