15

長い間、pygccxml を使用して C++ ソース コードを解析し、内省してきました。これは、ビルド プロセス中に巧妙なコード生成を行うのに役立ちます。

最近、LLVM スタックの利点、特に LLVM Clang パーサーが C++ コンパイルにもたらす利点について多くの記事を読みました。既存のコード生成タスクの基礎として使用できる Clang への Python インターフェイスがあるかどうか疑問に思っています。

4

1 に答える 1

5

さらに掘り下げた後、LLVM 2.7 リリースで何か有用なものが始まる可能性があることがわかりました。

LLVM 2.7 の時間枠で、Clang チームは多くの改善を行いました....

CIndex API と Python バインディング: Clang には、CIndex ライブラリの一部として C API が含まれるようになりました。将来的に API にいくつかの変更を加えますが、API は安定していることを意図しており、外部プロジェクトで使用できるように設計されています。詳細については、Clang doxygen CIndex のドキュメントを参照してください。CIndex API には、Python バインディングの予備セットも含まれています。

これが実際にどれほど役立つかはわかりません。確かに、LLVM に基づいて同等の pygccxml を構築するための基盤になるように見えますが、それ自体はそのようなライブラリではありません。

于 2010-07-27T06:45:04.027 に答える