Ho Lee Fuk

Сенсей
⚔ АДМИНИСТРАТОР ⚔
Регистрация
22 Февраль 2018
Сообщения
11.997
Автор: dmitrysoshnikov

Название: Создание транспайлера с нуля (2024)

abf8f50a1ebc9cc074b2e40e49e7a524.jpg


Описание:

Building a Transpiler from scratch

dmitrysoshnikov

В современных реализациях компиляторов стало популярным преобразовывать один высокоуровневый язык в другой. Примеры включают транспиляцию новых версий JavaScript в более старые или преобразование TypeScript в JavaScript. Такие компиляторы называются транспайлерами, и именно им посвящён этот курс.

Почему транспайлеры важны?

Транспайлеры позволяют использовать существующие среды выполнения (например, JavaScript-движки), избегая работы с низкоуровневыми деталями, такими как управление памятью или байт-код. Это практический и эффективный подход к изучению компиляторов, особенно если вы хотите создать собственный язык программирования.

В отличие от традиционных книг по компиляторам, сосредоточенных на теоретических аспектах (грамматики, парсинг и т. д.), этот курс предлагает практическое руководство по созданию полноценного транспайлера за 2-4 часа. Мы будем разрабатывать его в формате живого кодинга, шаг за шагом, с четкими объяснениями.

Что вы узнаете?

Мы сосредоточимся на транспиляции высокоуровневого конкурентного языка программирования с процессами обмена сообщениями в JavaScript. Помимо транспайлинга, вы разберётесь, как работают конкурентные функциональные языки (например, Erlang) и даже операционные системы с процессами и потоками.

Разработка транспайлера улучшит ваши навыки программирования, поскольку включает структуры данных, алгоритмы и архитектурные решения.

Требования к курсу

Опционально рекомендуется пройти курс "Building an Interpreter from Scratch", где мы создаём AST-интерпретатор. Если у вас уже есть понимание таких концепций, как eval, замыкания, области видимости, окружения, вы можете сразу приступить к этому курсу.

Для кого этот курс?

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

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

Мы будем писать транспайлер на JavaScript и компилировать код в JavaScript. Такой выбор делает курс доступным широкому кругу разработчиков, а также позволяет адаптировать код на другие языки (TypeScript, Rust, OCaml, C++, Python и др.).

Важно! Этот курс ориентирован на активное обучение. Мы не просто предоставляем финальный код - вам предстоит самостоятельно реализовать ключевые части транспайлера в специально подготовленных заданиях.

Формат курса

- Чёткие и структурированные лекции - без отвлечений и ненужных теоретических отступлений
- Анимированные презентации + живые заметки - для наглядного объяснения сложных тем
- Живое кодирование с пошаговыми заданиями - от пустого проекта до полноценного транспайлера

Материал на английском языке

Подробнее:
Для просмотра содержимого вам необходимо авторизоваться.

Скачать:
🔒

Доступ ограничен

Авторизуйтесь, чтобы увидеть цену и получить доступ к материалам



Скрытый контент для пользователей All-dar.
 

Присоединяйтесь, чтобы открыть полный доступ

Комментарии и материалы этой темы доступны только зарегистрированным участникам

Новый участник?

Регистрация занимает меньше минуты

Уже с нами?

Войдите в свой аккаунт

Сверху