http://habrahabr.ru/post/218577/
Коллеги,
Некоторое время назад я начал работать над обучающим проектом, совмещающим java + python + некоторые базовые алгоритмы. Промежуточный этап разработки — имплементация спецификации jdk7 на python. (Java исполняемая в python)
Код доступен
www.pyjvm.org или @github:
github.com/andrewromanenco/pyjvm
Фактически проект можно описать так:
java -cp . some.code.ToExecute
превращается в…
python java.py -cp . some.code.ToExecute
Несколько заметок (не вдаваясь в подробности будущих планов):
- python 2.7
- поддерживаются все byte code операции
- большинство конструкция языка (напр. исключения)
- многопоточность
- stdin/stdout
- примеры java кода в testcases/src
(!!) Стоит заметить, что далеко не все java api native методы поддерживаются — скорее всего ваше java приложение завершится сообщением:
Exception: Op (SOME_NAME_HERE) is not yet supported in natives
Что явно отсутствует в этом проекте: тестирование на различных платформах
Если у вас есть 5 свободных минут, пожалуйста, попробуйте запустить проект на вашем компьютере.
1.
git clone
github.com/andrewromanenco/pyjvm.git
2.
Если у вас НЕ установлен jdk7: запустите get_rt.py из ./rt — чтобы скачать rt.jar (java classes)
Если jdk7 установлен — проверьте наличие JAVA_HOME
3.
cd testcases
python test_runner.py > output.txt
python test_report.py output.txt
4.
Если тесты проходят — напишите комментарий к топику с информацией о вашей операционной системе.
Если же все плохо — напишите какой тест не проходит — лучше всего в github — c указанием вашей os.
Заранее спасибо за ваше время!