是否有某种C ++库包含代表C ++源代码的类? 它当然应该能够将源代码输出到流。 我正在寻找支持大多数C ++ 11特性的东西,并且还能够生成模板化结构。
当我谷歌这个时,我没有得到我想要的结果。我敢肯定,有一些可用的东西。也许我只是使用错误的条款。
答案 0 :(得分:5)
查看使用Clang的library-based architecture编译器,以支持实现需要处理AST的IDE和其他工具。 Clang完全支持所有C ++ 11特性(以及一些C ++ 1y特性)
可以在Clang documentation中找到更多信息。或者在this blog中使用clang::Rewriter
描述源转换的基本来源。
答案 1 :(得分:0)
这仍处于试验阶段,但在我们的实验室中,我们正在开发一个基于Clang的工具(Clava),它使用类似Javascript的语言来查询和转换给定的C / C ++代码。它将于2017年8月底开源。
例如,演示网站中的当前默认示例读取C / C ++代码中的所有类和结构,并为这些类创建带有HDF5包装的C ++ / H对(但是,代码生成是AST和字符串文字)。