【问题标题】:Library for C++ abstract syntax trees composition and code generation [closed]用于 C++ 抽象语法树组合和代码生成的库 [关闭]
【发布时间】:2015-10-28 12:02:10
【问题描述】:

我正在寻找一个 C/C++ 库。它应该能够解析 C++ 源代码并生成抽象语法树。我还想从我的程序中探索/编辑 AST,例如添加一个函数调用。这意味着,语法树不应该是某种文本格式,而是作为 C++ 对象的集合,基于库本身的对象模型。

它还应该能够从 AST 生成 C++ 代码。

很明显,任何编译器都会这样做,并且可能有一些 API。我听说 GCC 公开了一些功能,但它在幕后是相当强大的。

我知道Elsa,但该项目似乎有一段时间没有活动了。

我想知道是否还有其他选择。任何跨平台的东西都是加分项。

【问题讨论】:

标签: c++ parsing code-generation abstract-syntax-tree


【解决方案1】:

clang 和 libtooling 正是您所寻找的。它可以做任何你想做的事情,但缺点是它没有很好的文档记录(据我所知)。这是一篇包含有用示例的博客文章:http://eli.thegreenplace.net/2014/05/01/modern-source-to-source-transformation-with-clang-and-libtooling

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多