El análisis C++ está a años luz de algo que se puede hacer con una expresión regular. Necesita un analizador de C++ completo, y son bastante difíciles de construir. He estado involucrado en la construcción de uno durante varios años, y sigo quién lo está haciendo; No sé si se intentó en Python.
En el que trabajo es DMS C++ Front End. Proporciona no solo el análisis, sino también el nombre completo y la resolución de tipo. Después del análisis, básicamente puede extraer información detallada sobre el código con el nivel de detalle que desee, incluidos los detalles arbitrarios sobre el contenido de la función.
Puede considerar el uso de GCCXML, que sí contiene un analizador, y producirá, creo, los nombres de todas las clases, funciones y variables de nivel superior. GCCXML no le dará ninguna información acerca de lo que es dentro de una función.
editar: No estaba implicando que mediante el uso de una expresión regular podría analizar adecuadamente C++, eso sería absurdo ya que es un lenguaje no habitual. Quise decir que para lo que necesito una expresión regular podría ser suficiente. – Mike
Incluso para ese caso limitado, dudo que puedas hacerlo solo con expresiones regulares. Quizás si lo reduce a clases simples y de buen comportamiento sin magia macro o de plantilla (y tal vez sin herencia también). – jalf
¿Has probado http://eli.thegreenplace.net/2011/07/03/parsing-c-in-python-with-clang/? – refi64