JOPA: Java compiler in C++, Jikes modernized to Java 6 with Claude
3 days ago
- #Java
- #Compiler
- #OpenSource
- A fork of Jikes, the historical independent javac implementation in C++, modernized with comprehensive Java 5 and Java 6 language features.
- Key Java 5/6 features added: Generics, Enhanced For-Loop, Varargs, Enums, Autoboxing/Unboxing, Static Imports, Annotations, Class file version 50.0, and Debug information.
- Requirements include CMake 3.20+, a C++17 compiler, and optional iconv/ICU for encoding support.
- Build instructions provided for both Nix and generic CMake setups, including useful CMake options.
- Jikes was originally developed by Philippe Charles and Dave Shields at IBM Research, first released in 1997.
- Notable for its speed (10-20x faster than javac), error correction, and quality of error messages.
- IBM's first open-source project, included in Red Hat Linux in 1999, with IBM ending involvement in late 1999.
- Active development ceased in 2005 due to changes in Java language, particularly generics.
- Still useful for beginners or as a study subject for compiler courses.
- Notable features: written from scratch in C++, efficient storage allocator, no third-party parser tools except Jikes Parser Generator.
- Repository includes versions 1.04 through 1.22, sourced from Sourceforge in 2012.
- Original authors and numerous contributors listed, highlighting the project's collaborative nature.