L'analyse précise de C++ correspond à des années-lumière de quelque chose que vous pouvez faire avec une expression régulière. Vous avez besoin d'un analyseur C++ complet, et ils sont assez difficiles à construire. J'ai été impliqué dans la construction d'un sur plusieurs années, et suivre qui le fait; Je ne connais pas d'être tenté dans Python.
Celui que je travaille sur est DMS C++ Front End. Il fournit non seulement l'analyse, mais le nom complet et la résolution de type. Après l'analyse syntaxique, vous pouvez extraire des informations détaillées sur le code à n'importe quel niveau de détail, y compris des détails arbitraires sur le contenu de la fonction.
Vous pouvez envisager d'utiliser GCCXML, qui contient un analyseur, et produira, je crois, les noms de toutes les classes, fonctions et variables de premier niveau. GCCXML ne vous donnera aucune information sur ce qu'est à l'intérieur une fonction.
edit: Je n'impliquais pas qu'en utilisant une expression régulière je pourrais correctement analyser C++, ce serait absurde puisque c'est un langage non-régulier. Je voulais dire que pour ce dont j'ai besoin, une expression rationnelle pourrait suffire. – Mike
Même pour ce cas limité, je doute que vous pourriez le faire avec une regex seul. Peut-être que si vous le réduisez à des classes simples, bien éduquées sans magie de macro ou de modèle (et peut-être sans héritage aussi bien). – jalf
Avez-vous essayé http://eli.thegreenplace.net/2011/07/03/parsing-c-in-python-with-clang/? – refi64