Fragmento de Python para eliminar comentarios C y C ++

Estoy buscando código Python que elimine los comentarios C y C ++ de una cadena. (Suponga que la cadena contiene un archivo fuente C completo).

Me doy cuenta de que podría .match () subcadenas con una expresión regular, pero eso no resuelve el anidamiento/*o tener un// dentro de una/* */.

Idealmente, preferiría una implementación no ingenua que maneje adecuadamente los casos incómodos.

Respuestas a la pregunta(12)

Su respuesta a la pregunta