A C-like preprocessor written in Java with features beyond the C preprocessor