Новости и события » Hi-Tech » Представлен компилятор Perl 5 в JVM и JavaScript

Представлен компилятор Perl 5 в JVM и JavaScript

Опубликован первый выпуск Java-бэкенда компилятора Perlito5, предназначенного для обеспечения компиляции исходных текстов на языке Perl 5 в байткод JVM, который может быть выполнен в виртуальной машине Java 7. Проект Perlito также предоставляет бэкенды для компиляции Perl 5 в JavaScript, Perl 6 в Perl 5, JavaScript и Python 2.6, в разработке находятся бэкенды для Ruby, Go и Common.

Java-бэкнд поддерживает не все возможности Perl, например, невозможно использовать XS-модули, написанные на языке Си, а также пока не доведена до конца поддержка таких средств, как обработка сигналов, оператор goto, tie array/hash, "local @", "~~" и многопоточность. Имеются отличия в реализации регулярных выражений, sprintf(), pack() и unpack(). Вместо XS предлагаются средства для подключения расширений на языке Java - из Perl-кода можно обращаться к классам Java, а из Java-кода запускать функции на языке Perl. Используя данную возможность подготовлены Java-аналоги таких XS-модулей, как Digest::SHA1/MD5, List::Util, MIME::Base64 и Scalar::Util.

Perlito осуществляет прозрачную компиляцию в оперативной памяти с последующим запуском подготовленного байткода в JVM при помощи eval. Например, для выполнения Perl-скрипта в JVM можно выполнить:

java -jar perlito5.jar -I src5/lib -e 'print "hello, World!&92;n"'

По аналогии можно использовать бэкенд для компиляции Perl в JavaScript, который подходит для организации запуска Perl кода в браузере или обеспечения интеграции с Node.js:

nodejs perlito5.js -I src5/lib -e ' print "hello, World!&92;n" '


Свежие новости Украины на сегодня и последние события в мире экономики и политики, культуры и спорта, технологий, здоровья, происшествий, авто и мото

Вверх