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.
This release has support for pragmas, and passes them to user code. It has improved error reporting, better preservation of whitespace for #line markers, and allows pushing the source stack using a public API.