1 2 3 4 5 6 7 8 9 10
#define MODULE #define INTEGER(X) int #define FLOAT float #define DOUBLE double #__public_macro INTEGER #__private_macro FLOAT #__private_macro MODULE int (INTEGER);