JOPA: Java compiler in C++, Jikes modernized to Java 6 with Claude
3 months ago
- #Java
- #Compiler
- #OpenSource
- Jikes的分支项目,这是历史上用C++实现的独立javac编译器,现已现代化并全面支持Java 5和Java 6的语言特性。
- 新增的关键Java 5/6特性包括:泛型、增强型for循环、可变参数、枚举类型、自动装箱/拆箱、静态导入、注解、50.0版本的类文件格式及调试信息。
- 要求使用CMake 3.20+、支持C++17的编译器,可选iconv/ICU库以提供编码支持。
- 提供了Nix和通用CMake设置的构建指南,包含实用的CMake选项说明。
- Jikes最初由IBM研究院的Philippe Charles和Dave Shields开发,于1997年首次发布。
- 以速度快(比javac快10-20倍)、错误纠正能力和高质量的错误提示信息著称。
- 作为IBM首个开源项目,1999年被纳入红帽Linux发行版,同年晚期IBM终止了项目参与。
- 由于Java语言变化(尤其是泛型引入),活跃开发于2005年停止。
- 仍适用于初学者或作为编译器课程的研习对象。
- 显著特点:完全用C++编写,采用高效存储分配器,除Jikes Parser Generator外不依赖第三方解析工具。
- 代码库包含1.04至1.22版本,2012年从Sourceforge获取。
- 列出了原始作者及众多贡献者,体现了项目的协作精神。