C++ 抽象语法树组合和代码生成库
Library for C++ abstract syntax trees composition and code generation
我正在寻找 C/C++ 库。它应该能够解析C++源代码并生成抽象语法树。我还想从我的程序中 explore/edit AST,例如添加一个函数调用。这意味着,语法树不应该是某种文本格式,而是作为 C++ 对象的集合,基于库本身的对象模型。
它还应该能够从 AST 生成 C++ 代码。
很明显,任何编译器都会这样做,并且可能有一些 API。我听说 GCC 公开了一些功能,但它在引擎盖下相当庞大。
我知道 Elsa,但该项目似乎有一段时间没有活动了。
我想知道是否还有其他选择。任何跨平台的都是加分项。
clang 和 libtooling 正是您要找的。它能够做你想做的一切,但缺点是它没有很好的记录(据我所知)。这是一个包含有用示例的博客 post:http://eli.thegreenplace.net/2014/05/01/modern-source-to-source-transformation-with-clang-and-libtooling
我正在寻找 C/C++ 库。它应该能够解析C++源代码并生成抽象语法树。我还想从我的程序中 explore/edit AST,例如添加一个函数调用。这意味着,语法树不应该是某种文本格式,而是作为 C++ 对象的集合,基于库本身的对象模型。
它还应该能够从 AST 生成 C++ 代码。
很明显,任何编译器都会这样做,并且可能有一些 API。我听说 GCC 公开了一些功能,但它在引擎盖下相当庞大。
我知道 Elsa,但该项目似乎有一段时间没有活动了。
我想知道是否还有其他选择。任何跨平台的都是加分项。
clang 和 libtooling 正是您要找的。它能够做你想做的一切,但缺点是它没有很好的记录(据我所知)。这是一个包含有用示例的博客 post:http://eli.thegreenplace.net/2014/05/01/modern-source-to-source-transformation-with-clang-and-libtooling