Como analisar a fonte C ++ em Python?

Queremos analisar nossa enorme árvore de fontes C ++ para obter informações suficientes para alimentar outra ferramenta para fazer diagramas de relações de classe e objeto, discernir a organização geral das coisas etc.

Minha melhor tentativa até agora é um script Python que varre todos os arquivos .cpp e .h, executa pesquisas regex para tentar detectar declarações de classe, métodos etc. Não precisamos de um analisador completo para capturar todos os detalhes, ou alguns gerador de diagrama UML pesado - há muitos detalhes que gostaríamos de ignorar e estamos inventando novos tipos de diagramas. O script meio que funciona, mas, pelo amor de Deus, é verdade: C ++é difícil de analisar!

Então, eu me pergunto quais ferramentas existem para extrair as informações que queremos de nossas fontes. Não sou especialista em idiomas e não quero algo com uma curva de aprendizado acentuada. Algo que os grunhidos de programadores de baixo colarinho podem usar: P

O Python é preferido como uma das linguagens padrão aqui, mas não é essencial.

questionAnswers(6)

yourAnswerToTheQuestion