Hasty Briefsbeta

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.