JOPA: Javac One Patch Away

Пока я тут использую нейросети для развлечения, некоторые ребята пробуют их для чего-то более полезного — например, один наш соотечественник (о чём можно догадаться по неймингу) за две недели дописал форк старого джава-компилятора Jikes, написанный на Си++. Теперь компилятор называется JOPA и поддерживает Джаву версий 5, 6 и 7.

Это может быть нужно, например, для «бутстрапинга» — когда нужно с «нуля», из исходников собрать джава-компилятор + рантайм + инструменты, без использования проприетарных бинарников.

Я попробовал у себя собрать этот компилятор. Сходу не удалось, но дописанное нейросетью можно нейросетью и запустить. В общем, пять минут и всё получилось.

Правда, на моём тестовом примере JOPA упала с ошибкой при попытке открыть rt.jar (это главный архив стандартной библиотеки), но это удалось решить, просто распаковав его рядом.

В общем, вывод такой: проект интересный, но это не полная JOPA, только компилятор, хотя и работоспособный, поэтому запустить скомпилированную в class программу нечем. У себя я запускал системной Джавой.

Скриншот терминала с командами настройки JAVA_HOME и сборки проекта BouncingBall.java, рядом — окно приложения с красным шаром на белом фоне.

Добавлено позднее: за такое меня ещё не благодарили, какой-то новый опыт:

Письмо от Paul S. с уведомлением о комментарии pshirshov в 7mind/jopa#21: «Thank your your contributions into JOPA», с ссылками на GitHub и отписку.