Как анализировать исходный код C ++ в Python?

Мы хотим проанализировать наше огромное дерево исходных текстов C ++, чтобы получить достаточно информации для передачи в другой инструмент для построения диаграмм отношений классов и объектов, определения общей организации вещей и т. д.

Моя лучшая попытка пока это сценарий Python, который сканирует все файлы .cpp и .h, выполняет поиск по регулярным выражениям, чтобы попытаться обнаружить объявления классов, методы и т. д. Нам не нужен полноценный анализатор для захвата каждой детали или какая-то тяжелая диаграмма UML генератор - есть много деталей, которые мы хотели бы игнорировать, и мы изобретаем новые типы диаграмм. Скрипт вроде работает, но, черт возьми, это правда: C ++ сложно разобрать!

Интересно, какие существуют инструменты для извлечения нужной информации из наших источников? Я не специалист по языкам и не хочу чего-то, что требует сложного обучения. То, что мы, простые программисты, можем использовать: P

Python предпочтительнее в качестве одного из стандартных языков, но это не обязательно.

12
задан DarenW 2 February 2011 в 23:59
поделиться