15

很长一段时间以来,我一直在使用 pygccxml 来解析和内省我的 C++ 源代码:它帮助我在构建过程中进行一些巧妙的代码生成。

最近我阅读了很多关于 LLVM 堆栈的好处,尤其是 LLVM Clang 解析器为 C++ 编译带来的好处。我现在想知道 Clang 是否有任何 Python 接口,以便我可以将它用作我现有的一些代码生成任务的基础?

4

1 回答 1

5

在进一步挖掘之后,我发现在LLVM 2.7 版本中可能有一些有用的开始:

在 LLVM 2.7 时间范围内,Clang 团队做了很多改进......

CIndex API 和 Python 绑定:Clang 现在包含一个 C API 作为 CIndex 库的一部分。尽管我们将来会对 API 进行一些更改,但它旨在保持稳定,并且专为外部项目使用而设计。有关更多详细信息,请参阅 Clang doxygen CIndex 文档。CIndex API 还包括一组初步的 Python 绑定。

我不确定这在实践中有多有用,当然它看起来可能是构建基于 LLVM 的 pygccxml 等价物的基础,但它本身并不是这样的库。

于 2010-07-27T06:45:04.027 回答