hay esta https://github.com/graph/qc qc = C rápida que le permite hacer esto en los archivos de código fuente que terminan con qc.h
$replace asdf_(\d+) => asdf_ :) $1 blabla
// and now in your code anything that matches the above regular expression
asdf_123
// will become asdf_ :) 123 blabla
y va a emitir una .cpp & a eso .h preprocesados. Está hecho para evitar la necesidad de mantener archivos de encabezado. Y algunas otras cosas que no lo hacen compatible con C++, pero genera un código C++ para que pueda hacer todas las cosas de C++ que desee al final del día.
Editar: Lo hice y tengo un sesgo hacia la CC.
Alguien podría saber de una solución si dio más detalles del problema real. – krs1
Tengo varios casos donde es útil tal cosa. Por ejemplo, tomar un grupo de miembros enum y crear automáticamente una declaración de conmutación de los mismos para que, incluso si se agrega un miembro, el código se actualiza con una implementación predeterminada o con un # error. Si encuentras esta información es muy importante que lo pondrá en la pregunta –
@aiwarrior - para su problema especificado anteriormente - se puede utilizar [X-macro] (http://en.wikibooks.org/wiki/C_Programming/Preprocessor # X-Macros) truco para generar declaraciones ENUM y SWITCH juntas. También puede leer sobre x-macros en este [e-book] (http://www.keithschwarz.com/coursereader.pdf) - página 173 - "Aplicaciones prácticas del preprocesador II: el truco macro X". –