Курс «Компилятор под капотом» — это практическое введение в мир компиляторов, где вы шаг за шагом создадите собственный мини‑компилятор. Материал подаётся простым и понятным языком, чтобы вы не только научились писать компиляторы, но и глубже поняли, как работают языки программирования.
Что вы узнаете на курсе
Курс детально разбирает каждый этап компиляции, позволяя освоить фундаментальные принципы, которые лежат в основе современных языков.
Токенизация
Вы научитесь превращать исходный код в последовательность токенов — маленьких логических единиц, которые компилятор может анализировать.
Синтаксический анализ
Этот этап превращает набор токенов в дерево разбора. Вы узнаете:
как строится абстрактное синтаксическое дерево (AST);
как компилятор определяет структуру программы;
какие ошибки может обнаружить анализатор.
Генерация кода
Вы создадите модуль, который преобразует AST в исполняемый JavaScript-код. Это позволит увидеть полный цикл компиляции — от исходного текста до запуска результата.
Почему этот курс полезен
В отличие от производственных компиляторов, ориентированных на скорость и оптимизации, созданный вами компилятор будет максимально читабельным и понятным. Это облегчает понимание архитектуры и принципов работы настоящих компиляторов.
Преимущества подхода
логичное и последовательное объяснение каждого шага;
чёткая структура и чистый код;
освоение универсальных концепций, применимых в разных языках.
Кому подойдёт этот курс
Материал будет полезен:
разработчикам, желающим лучше понять работу языков программирования;
тем, кто интересуется созданием DSL или трансформеров кода;
студентам и начинающим инженерам, изучающим устройства интерпретаторов и компиляторов.
Итог
Пройдя курс, вы соберёте полностью рабочий мини‑компилятор, который принимает простой язык и генерирует валидный JavaScript. Этот опыт расширит ваше понимание программирования и станет отличной основой для дальнейших экспериментов.
Destroy All Software — это интересный и уже классический образовательный проект, в котором собраны лаконичные и содержательные видео по веб-разработке и смежным IT-направлениям. Несмотря на возраст, материалы остаются актуальными благодаря фокусу на фундаментальных принципах разработки, а не на быстро устаревающих технологиях.В рамках проекта рассматриваются реальные задачи программирования: работа с кодом, автоматизация, тестирование, архитектур