我正在寻找一个C / C ++库。它应该能够解析C ++源代码并生成抽象语法树。我还想从程序中浏览/编辑AST,例如添加一个函数调用。这意味着语法树不应采用某种文本格式,而应基于库本身的对象模型,作为C ++对象的集合。
它还应该能够从AST生成C ++代码。
显然,任何编译器都可以这样做,并且可能具有一些API。我听说GCC公开了一些功能,但在幕后却是相当压倒性的。
我知道Elsa,但是该项目似乎已经停滞了一段时间。
我想知道是否还有其他选择。跨平台的任何东西都是加号。
您正在寻找clang和libtooling。它能够完成您想要的所有事情,但是不利的是(据我所知)它没有得到很好的记录。这是一个包含有用示例的博客文章:http : //eli.thegreenplace.net/2014/05/01/modern-source-to-source-transformation-with-clang-and-libtooling
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句