Implement C Preprocessor with tests.