Есть ли оболочка Python Clang в вене pygccxml, которая обертывает GCC-XML? - PullRequest
15 голосов
/ 26 июля 2010

В течение долгого времени я использовал pygccxml для анализа и анализа моего исходного кода на C ++: это помогает мне делать некоторые умные генерации кода во время процесса сборки.

Недавно я прочиталмного о преимуществах стека LLVM, и особенно о преимуществах, которые парсер LLVM Clang приносит в компиляцию C ++.Теперь мне интересно, есть ли какой-нибудь интерфейс Python для Clang, чтобы я мог использовать его в качестве основы для некоторых из моих существующих задач генерации кода?

1 Ответ

5 голосов
/ 27 июля 2010

После дальнейших раскопок я обнаружил, что в LLVM 2.7 версии может быть что-то полезное:

За время LLVM 2.7 команда Clang сделала много улучшений ....

Привязки API CIndex и Python: Clang теперь включает C API в составе библиотеки CIndex. Хотя в будущем мы сделаем некоторые изменения в API, он предназначен для обеспечения стабильности и предназначен для использования внешними проектами. См. Документацию Clang doxygen CIndex для более подробной информации. CIndex API также включает в себя предварительный набор привязок Python.

Я не уверен, насколько это полезно на практике, конечно, похоже, что это может быть основой для создания эквивалента pygccxml на основе LLVM, но сама по себе такая библиотека не является.

...