首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Parboiled生成AST (Java)

使用Parboiled生成AST (Java)
EN

Stack Overflow用户
提问于 2014-05-04 13:14:42
回答 1查看 1.4K关注 0票数 1

我已经使用Parboiled library创建了一个聚乙二醇。

我是基于this example设计的。

它工作得很好,但现在我需要实际创建AST。

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

在Google上浏览了一下,并查看了Github上的示例后,我发现您打算使用push、pop、swap等来创建AST,但我很难弄清楚如何使用我的解析器来做这件事。我的解析器与Java解析器非常相似,如果您能帮助我理解它在Java解析器中是如何工作的,我就可以使它适应我的解析器。

EN

回答 1

Stack Overflow用户

发布于 2014-09-09 23:36:08

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

查看https://github.com/sirthias/parboiled/blob/master/examples-java/src/main/java/org/parboiled/examples/calculators/CalculatorParser4.java作为如何使用推送和弹出的示例。

也检查一下(相当不错!)半沸腾项目的文档。下面是特定于AST创建https://github.com/sirthias/parboiled/wiki/Working-with-the-Value-Stack的部分

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23452875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档