Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - PyPy01 июня 2011Оглавление: 1. PyPy 2. История проекта 3. Поддерживаемые бэкенды это интерпретатор языка программирования Python, который написан на Python и может компилировать сам себя. Цели проектаPyPy был задуман как реализация Python написанная на Python. Тот факт, что PyPy реализован на языке высокого уровня делает его более гибким и позволяет легче экспериментировать с новыми возможностями чем CPython и легко определить области, где он может быть улучшен. PyPy призван обеспечить единый механизм трансляции. Он поддерживает фреймворк для реализации динамических языков программирования и осуществляет четкое разделение между спецификацией языка и его реализацией. Он также призван обеспечить совместимость, гибкость и быстроту реализации языка программирования Python и позволяет реализовывать новые возможности без необходимости программирования на языке низкого уровня. ТрансляцияPyPy состоит из стандартного интерпретатора и транслятора. Интерпретатор полностью реализует язык Python, используя ограниченное подмножество языка, называемого RPython. В отличие от стандартного Python, RPython является статически типизированным для более эффективной компиляции. Транслятор является набором инструментов, который анализирует код RPython и переводит его в языки более низкого уровня, такие как C, байт-код Java или CIL. Он также поддерживает подключаемые сборщики мусора и позволяет опционально включать Stackless. Также он включает JIT-компилятор для трансляции кода в машинные инструкции во время исполнения программы. PyPy как средство реализации интерпретаторовКомпилятор языка RPython можно использовать и для написания интерпретаторов с других языков программирования. Добавив в код такого интерпретатора импорт класса JitDriver и создание его экземпляра, а затем передав в этот класс списки глобальных переменных, изменяемых и неизменяемых в ходе выполнения программы, а также сделав ещё несколько очевидных деклараций, мы, после трансляции с флагом --opt=jit:, получаем работающий JIT-компилятор языка. Просмотров: 2534
|