💻 Программирование [dmitrysoshnikov] Создание транспайлера с нуля (2024)

  • ОФОРМИТЬ ПОДПИСКУ

Calvin Candie

Вечный

Calvin Candie

Вечный
2 Сен 2018
20,229
99
Автор: dmitrysoshnikov
Название: Создание транспайлера с нуля (2024)

[dmitrysoshnikov] Building a Transpiler from scratch

В современных реализациях компиляторов стало популярным преобразовывать один высокоуровневый язык в другой. Примеры включают транспиляцию новых версий JavaScript в более старые или преобразование TypeScript в JavaScript. Такие компиляторы называются транспайлерами, и именно им посвящён этот курс.
Почему транспайлеры важны?
Транспайлеры позволяют использовать существующие среды выполнения (например, JavaScript-движки), избегая работы с низкоуровневыми деталями, такими как управление памятью или байт-код. Это практический и эффективный подход к изучению компиляторов, особенно если вы хотите создать собственный язык программирования.
В отличие от традиционных книг по компиляторам, сосредоточенных на теоретических аспектах (грамматики, парсинг и т. д.), этот курс предлагает практическое руководство по созданию полноценного транспайлера за 2-4 часа. Мы будем разрабатывать его в формате живого кодинга, шаг за шагом, с четкими объяснениями.
Что вы узнаете?
Мы сосредоточимся на транспиляции высокоуровневого конкурентного языка программирования с процессами обмена сообщениями в JavaScript. Помимо транспайлинга, вы разберётесь, как работают конкурентные функциональные языки (например, Erlang) и даже операционные системы с процессами и потоками.
Разработка транспайлера улучшит ваши навыки программирования, поскольку включает структуры данных, алгоритмы и архитектурные решения.
Требования к курсу
Опционально рекомендуется пройти курс "Building an Interpreter from Scratch", где мы создаём AST-интерпретатор. Если у вас уже есть понимание таких концепций, как eval, замыкания, области видимости, окружения, вы можете сразу приступить к этому курсу.

Для кого этот курс?
  • Для инженеров, желающих освоить создание сложных систем и получить переносимые знания
  • Для тех, кто интересуется компиляторами, языками программирования и теорией типов
  • Для разработчиков, желающих создать собственный язык программирования

Какие технологии используются?

Мы будем писать транспайлер на JavaScript и компилировать код в JavaScript. Такой выбор делает курс доступным широкому кругу разработчиков, а также позволяет адаптировать код на другие языки (TypeScript, Rust, OCaml, C++, Python и др.).
Важно! Этот курс ориентирован на активное обучение. Мы не просто предоставляем финальный код - вам предстоит самостоятельно реализовать ключевые части транспайлера в специально подготовленных заданиях.
Формат курса
  • Чёткие и структурированные лекции - без отвлечений и ненужных теоретических отступлений
  • Анимированные презентации + живые заметки - для наглядного объяснения сложных тем
  • Живое кодирование с пошаговыми заданиями - от пустого проекта до полноценного транспайлера
Материал на английском языке

Подробнее:
Скрытое содержимое доступно для зарегистрированных пользователей!

Скачать:
 

Похожие темы