𝕯𝖆𝖗𝖐🥰𝕬𝖓𝖌𝖊𝖑
МОДЕРАТОР
- Регистрация
- 7 Апр 2025
- Сообщения
- 10,778
- Реакции
- 81
Автор: Gustavo Pezzi
Название: Компиляторы, интерпретаторы и формальные языки (2024)

Продолжительность: 28 ч 52 мин
Количество уроков: 171 Видео
Язык: Английский
Вес архива: 4,92 ГБ
Курс «Компиляторы, интерпретаторы и формальные языки» — это практичное и доступное для новичков погружение в мир разработки языков программирования. Материал объясняется простым языком, а каждое понятие рассматривается через реальные примеры, постепенно приводя вас к созданию собственного интерпретатора.
О курсе
Этот курс дает системное понимание того, как работают компиляторы и интерпретаторы на низком уровне: от анализа исходного кода до генерации машиноподобных инструкций. Вместо абстрактной теории вы получите практический опыт, создавая мини-язык Pinky и его компилятор на Python.
Почему это важно
Понимание принципов компиляции позволяет:
• глубже осознать работу языков программирования;
• проще писать эффективный и безопасный код;
• создавать DSL, парсеры, статические анализаторы и инструменты разработчика;
• читать и понимать документацию и стандарты формальных языков.
Что вы изучите
В курсе подробно разбираются ключевые этапы построения компилятора и связанные с ними концепции.
Основные темы
• Лексический анализ и токенизация;
• Синтаксический анализ и построение схем разбора;
• Создание абстрактного синтаксического дерева (AST);
• Использование BNF, синтаксических диаграмм и формальных грамматик;
• Обработка ошибок на каждом этапе;
• Генерация кода, байт-кода и работа с виртуальной машиной;
• Основы проверки типов;
• Знакомство с LLVM IR и легкими оптимизациями.
Формальные языки
Вы научитесь читать и создавать грамматики, понимать их роль в синтаксическом анализе, а также применять формальные методы для проектирования собственных мини-языков.
Практическая часть курса
Главная ценность курса — полноценный проект: создание компилятора для языка Pinky. Этот учебный язык вдохновлен Lua и ALGOL W и разработан специально для комфортного изучения концепций.
Какие навыки вы получите
• написание интерпретатора шаг за шагом;
• реализация собственной виртуальной машины;
• структурирование и анализ синтаксического дерева;
• создание простого, но рабочего байт-кода;
• реализация базовых оптимизаций;
• понимание того, как перенести эти идеи на C или другой низкоуровневый язык.
Инструменты и требования
Для прохождения курса не требуются глубокие знания компиляторов — достаточно базовых навыков программирования. Все упражнения выполняются в Python, что делает разработку быстрой и наглядной.
Вам понадобится
• командная строка;
• любой текстовый редактор;
• интерпретатор Python.
Порог входа
Если вы знакомы с if-else, циклами и функциями — этого достаточно. Всё остальное вы изучите в процессе.
Для кого этот курс
Материал будет полезен начинающим разработчикам, студентам, энтузиастам информатики и всем, кто хочет понять, как на самом деле работают языки программирования — без мифов и «драконов».
Итоги
К концу курса вы создадите собственный язык, напишете для него интерпретатор и разберетесь в основах компиляции. Это отличный фундамент для дальнейшего изучения системного программирования, разработки языков и интерфейсов кода.
СКАЧАТЬ:
 📥 Скрытое содержимое! Войдите или Зарегистрируйтесь