Can you do something like this with a macro in C?
#define SUPERMACRO(X,Y) #define X Y then SUPERMACRO(A,B) expands to #define A B <
#define SUPERMACRO(X,Y) #define X Y then SUPERMACRO(A,B) expands to #define A B
You could try running it through with only the preprocess option, then compiling with the preprocessed file.