是否有类似于pygccxml的Python Clang封装器?
我已经使用pygccxml很长时间了,它可以帮助我解析和检查我的C++源代码,这在我们的构建过程中帮助我进行一些聪明的代码生成。
最近,我读了很多关于LLVM工具链的好处,特别是LLVM Clang解析器在C++编译中的优势。我现在在想,是否有Python接口可以使用Clang,这样我就可以用它来支持我现有的一些代码生成任务呢?
1 个回答
5
经过进一步的研究,我发现,在LLVM 2.7 版本中,可能开始有一些有用的东西:
在 LLVM 2.7 的时间段内,Clang 团队做了很多改进……
CIndex API 和 Python 绑定:Clang 现在在 CIndex 库中包含了一个 C API。虽然我们将来可能会对这个 API 做一些修改,但它的设计目标是保持稳定,并且是为了外部项目使用而设计的。有关更多细节,请查看 Clang 的 doxygen CIndex 文档。CIndex API 还包括一套初步的 Python 绑定。
我不太确定这在实际应用中有多有用,当然,看起来这可能是基于 LLVM 构建一个类似 pygccxml 的库的基础,但它本身并不是这样的库。