很长一段时间以来,我一直在使用 pygccxml 来解析和内省我的 C++ 源代码:它帮助我在构建过程中进行一些巧妙的代码生成。
最近我读了很多关于 LLVM 堆栈的好处,特别是 LLVM Clang 解析器给 C++ 编译带来的好处。我现在想知道 Clang 是否有任何 Python 接口,以便我可以使用它作为我现有的一些代码生成任务的基础?
经过进一步挖掘,我发现在LLVM 2.7 版本 https://llvm.org/svn/llvm-project/llvm/tags/cremebrulee/cremebrulee-52/docs/ReleaseNotes.html可能会有一些有用的事情的开始:
在 LLVM 2.7 时间范围内,Clang 团队做出了许多改进......
CIndex API 和 Python 绑定:Clang 现在包含 C API 作为 CIndex 库的一部分。尽管我们将来会对 API 进行一些更改,但它的目的是保持稳定,并且是为外部项目使用而设计的。有关更多详细信息,请参阅 Clang doxygen CIndex 文档。 CIndex API 还包括一组初步的 Python 绑定。
我不确定这在实践中有多有用,当然它看起来可能是构建基于 LLVM 的 pygccxml 等效项的基础,但它本身并不是这样一个库。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)