Возможность разрабатывать скрипты для web-браузера на языках Си и Python

8 июля 2008 года

Скотт Петерсен (Scott Petersen) из компании Adobe продемонстрировал разработку, позволяющую выполнять внутри виртуальной машины Tamarin, код которой был открыт в 2006 году, не только ECMAScript 4 скрипты, но и программы на языке Си.

Например, был осуществлен запуск интерпретаторов Python, Lua, Ruby и Perl внутри Flash контейнера, причем разработчик связывает с языком Python дополнительные планы. Апофеозом демонстрации стал запуск внутри Flash игры Quake и эмулятора платформы Nintendo.

Для работы программ доступен POSIX совместимый API, а также специальная мультимедийная библиотека, предоставляющая интерфейс к функциям технологии Flash. Для прямого доступа к памяти из Си программ, был разработан специальный режим эмуляции, осуществляющий маппинг блоков памяти внутри VM, немного замедляющий работу программ. Исходные тексты новой системы планируется представить под одной из открытых лицензий.

Принцип работы:

  • Специальная версия компилятора GNU C преобразует Си программу в набор инструкций для виртуальной машины LLVM (Low Level Virtual Machine);
  • LLVM инструкции преобразуются в объектный код, специфичный для виртуальной машины, выполняющей ActionScript;
  • ActionScript автоматически компилируется в Tamarin байткод пригодный для запуска в Adobe Flash. Байткод в дальнейшем может быть преобразован в машинные инструкции при помощи JIT-компилятора Tamarin.

Напомню, что в Firefox 4 запланирован переход на использование ActionMonkey, представляющего собой результат слияния текущего JavaScript движка SpiderMonkey с Tamarin, открытой виртуальной JavaScript машиной от Adobe.

Источники править

 
 
Creative Commons
Эта статья содержит материалы из статьи «Возможность разрабатывать скрипты для web-браузера на языках Си и Python», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.