Категории программ

Новые программы

PyPy

3 Вересня, 2016 0

PyPy – свободный интерпретатор языка программирования Python, который сам написан на Python и может компилировать сам себя. Работает под управлением операционных систем Microsoft Windows, Mac OS X и Linux.

PyPy был задуман как реализация Python, написанная на Python. Тот факт, что PyPy реализован на языке высокого уровня, делает его более гибким и позволяет легче экспериментировать с новыми возможностями, чем CPython, а также легко определить области, где он может быть улучшен.

PyPy призван обеспечить единый механизм трансляции. Он поддерживает фреймворк для реализации динамических языков программирования и осуществляет чёткое разделение между спецификацией языка и его реализацией.

Он также призван обеспечить совместимость, гибкость и быстроту реализации языка программирования Python и позволяет реализовывать новые возможности без необходимости программирования на языке низкого уровня.

PyPy состоит из стандартного интерпретатора и транслятора.

Интерпретатор полностью реализует язык Python. Сам интерпретатор написан на ограниченном подмножестве этого же языка, называемом RPython (Restricted Python). В отличие от стандартного Python, RPython является статически типизированным для более эффективной компиляции.

Транслятор является набором инструментов, который анализирует код RPython и переводит его в языки более низкого уровня, такие как C, байт-код Java или CIL. Он также поддерживает подключаемые сборщики мусора и позволяет опционально включать Stackless. Также он включает JIT-компилятор для трансляции кода в машинные инструкции во время исполнения программы.

Компилятор языка RPython можно использовать и для написания интерпретаторов с других языков программирования. Добавив в код такого интерпретатора импорт класса JitDriver и создание его экземпляра, а затем передав в этот класс списки глобальных переменных, изменяемых и неизменяемых в ходе выполнения программы, а также сделав ещё несколько очевидных деклараций, мы, после трансляции с флагом –opt=jit:, получаем работающий JIT-компилятор языка.

Поддерживаемые бэкенды PyPy

По состоянию на 2010, PyPy отказался от JavaScript в качестве бэкенда.

Совместимость PyPy с CPython

Версия 5.4 совместима с версией Python 2.7 и может работать на 32-х и 64-х битных платформах. PyPy полностью поддерживает модули, написанные на чистом Python. Для использования бинарных (.so и .pyd) расширений PyPy имеет хорошую поддержку API CPython в виде отдельного модуля cpyext. Для нормальной работы этих расширений требуется их перекомпиляция.

Версия PyPy3 5.2 совместима с CPython 3.3.5 (в альфа версии).

Также ведётся активная разработка PyPy 3.5, совместимой с CPython 3.5.

Известно, что следующие библиотеки и фреймворки могут работать в PyPy:

PyPy

Ссылки

Сайт PyPy

Скачать PyPy

Интерпретаторы , Компиляторы , Прочие языки , Разработчику , Средства разработки

Оставить комментарий