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.
| Tags | Software Development Libraries Java Libraries Embedded Systems Compilers Code Generators Build Tools Pre-processors Text Processing |
|---|---|
| Licenses | Apache 2.0 |
| Operating Systems | OS Independent |
| Implementation | Java |
Recent releases


Release Notes: This release has been relicensed to the Apache license, fixes the #line offset and whitespace bugs, adds the ability to parse more text into values, and migrates to github.


Release Notes: The set of warnings was improved. The license was changed from GPL to Apache-2.0.


Release Notes: The main routine now behaves almost exactly as GNU cpp. The API is more consistent and easier to use. More warning types and feature hooks were implemented.


Release Notes: The main preprocessor API was overhauled. Support for Feature and Warning sets was started. C99 digraph support was added. #include handling was greatly improved. An Ant <cpp> task was added. A main() routine was added to emulate GNU cpp.


Release Notes: 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.