RU / День 2 / 11:00 / Зал 1

В начале доклада мы затронем различные архитектуры от интерпретатора до JIT-компилятора, узнаем зачем нужен bytecode и сделаем интерпретатор байт-кода от V8 на JS в браузере. Получив базовые представления, мы окунемся в тему написания компилятора для TypeScript.

В докладе будут затронуты такие темы, как:

  • Базовые понятие про компиляторы/интерпретаторы и bytecode;
  • Архитектура движков V8/Hermes;
  • Стековые/регистровые виртуальные машины;
  • LLVM;
  • Архитектура Hermes;
  • Попытка написания компилятора StaticScript v1.

Комментарий программного комитета:

Дмитрий поднимет вопрос о том, можно ли компилировать JS, расскажет, как писал компилятор из TypeScript в LLVM IR, и что из этого получилось.

Скачать презентацию.

Дмитрий Пацура

Разработчик, 10 лет опыта, писал множество проектов в open-source, начиная от статического анализатора, заканчивая компилятором TypeScript. Ведущий самого безызвестного подкаста во всем frontend — UnderJS.

Related open source:

  • PHPSA — статический анализатор на PHP для PHP;
  • GHubber — мобильный клиент для GitHub на React Native;
  • StaticScript — язык программирования, использующий LLVM как бэкенд и typescript как фронтенд.

Кроме того, Дмитрий являлся контрибьютором в Zephir Language & Phalcon framework.