The limited features of the GCC preprocessor helps us control the versions of code easily along with giving macros and other stuff.
But is there a software out there (preferably open-source) that helps us define complex language rules, that later get "preprocessed" to the C language? The "powerful" preprocessor must be enough to let us define rules similar to the C++ language. This is just a random thought that occurred to me. So is there a software out there that does this?