A C/C++ preprocessor