繁体   English   中英

boost :: spirit :: x3 AST生成器?

[英]generator from boost::spirit::x3 AST?

尊敬的同事,

我有一个boost :: spirit :: x3解析器(属于AST),可以将输入文件引入我们的应用程序,因此效果很好。

我想翻转一下内容,并要求它根据同一棵树生成输出流。

这是我从未做过的事情。 我应该使用boost :: karma还是只为树写访客/步行者? boost提供了哪些设施来帮助我开始使用这两种方法?

我想这是全局地指定递归深度,并且在每个级别上都可能有用,因为否则输出可能会很大。

其他新手要考虑的问题?

谢谢!

没有像X3那样的Karma。

基础Proto库之外没有任何设施可以遍历表达式树。

然而。 您将遇到可预见的问题,其中从输入到输出的映射不是双射。 您将始终必须为此类数据选择首选的输出表示形式,这意味着您的数据可能不会往返,您可能会进行有损转换。 您需要考虑这些。

我实际上不会考虑这一点。 我不会将我的实现与复杂库的实现细节紧密结合在一起¹,而是将算法基于您实际控制的AST或数据结构。


¹像X3一样,它也是实验性的,因此情况可能会发生变化,恕不另行通知

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM