JCPP is a complete, compliant, standalone, pure Java implementation of the C preprocessor. It is intended to be of use to people writing C-style compilers in Java using tools like sablecc, antlr, JLex, CUP, and so forth. It has been used to successfully preprocess much of the source code of the GNU C library. The stated license is GPL, but additional license terms are freely available from the author.
Improved error recovery using contributed test cases. Work has been done towards a passthrough mode for non-C-like text.