Программирование

Онлайн-курс «LLVM: компиляторная инфраструктура»

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

Автор и составитель программы

Дамир Шарифьянов

Full-stack разработчик и автор образовательных материалов

Дамир отвечает за структуру курса, понятность объяснений и связь теории с практическими задачами. Опыт, специализацию и примеры проектов можно проверить в профиле автора.

Опыт и проекты автора →

Итоговый результат: мини-компилятор с IR, оптимизацией, генерацией кода и тестами.

Визуальная карта курса «LLVM: компиляторная инфраструктура»Путь от изучения темы к практике и готовому проектуПРОГРАММИРОВАНИЕLLVM: компиляторная инфраструктураКод → логика → результат1Разобратьсяс понятиями2Применитьна практикеСоздать проектдля портфолио
12 модулейот основ до проекта
33–45 часовв удобном темпе
Автопроверкаобратная связь сразу
Сертификатс проверкой подлинности
О программе

Кому подойдёт курс и чему вы научитесь

Курс подходит

  • Новичкам, которые хотят научиться писать и понимать код
  • Специалистам, которым нужна системная практика
  • Самоучкам, желающим собрать проект для портфолио

Практические навыки

  • Разбирать «Архитектура LLVM» на практическом примере
  • Проектировать «Frontend и AST» на практическом примере
  • Применять «LLVM IR» на практическом примере
  • Проверять «Типы и значения» на практическом примере
  • Сравнивать решения для «Basic blocks» на практическом примере
  • Объяснять результат по теме «Генерация IR» на практическом примере
Программа обучения

Что вы изучите и создадите

Каждый модуль объясняет отдельную тему простыми словами и закрепляет её практикой.

Модуль 1 · Основа

Архитектура LLVM

«Архитектура LLVM» простыми словами — это умение выделить сущности, границы и связи, затем проверить схему на основном и аварийном сценариях. Мы берём входные данные, применяем к ним понятные правила и получаем результат, который можно проверить.

Модуль 2 · Основа

Frontend и AST

«Frontend и AST» простыми словами — это умение определить контракт, реализовать минимальное решение и доказать корректность на новых входных данных. Мы берём входные данные, применяем к ним понятные правила и получаем результат, который можно проверить.

Модуль 3 · Основа

LLVM IR

«LLVM IR» простыми словами — это умение определить контракт, реализовать минимальное решение и доказать корректность на новых входных данных. Мы берём входные данные, применяем к ним понятные правила и получаем результат, который можно проверить.

Модуль 4 · Сборка

Типы и значения

«Типы и значения» простыми словами — это умение определить контракт, реализовать минимальное решение и доказать корректность на новых входных данных. Мы берём входные данные, применяем к ним понятные правила и получаем результат, который можно проверить.

Модуль 5 · Сборка

Basic blocks

«Basic blocks» простыми словами — это умение определить контракт, реализовать минимальное решение и доказать корректность на новых входных данных. Мы берём входные данные, применяем к ним понятные правила и получаем результат, который можно проверить.

Модуль 6 · Сборка

Генерация IR

«Генерация IR» простыми словами — это умение определить контракт, реализовать минимальное решение и доказать корректность на новых входных данных. Мы берём входные данные, применяем к ним понятные правила и получаем результат, который можно проверить.

Модуль 7 · Сборка

Passes

«Passes» простыми словами — это умение определить контракт, реализовать минимальное решение и доказать корректность на новых входных данных. Мы берём входные данные, применяем к ним понятные правила и получаем результат, который можно проверить.

Модуль 8 · Сборка

Оптимизации

«Оптимизации» простыми словами — это умение определить контракт, реализовать минимальное решение и доказать корректность на новых входных данных. Мы берём входные данные, применяем к ним понятные правила и получаем результат, который можно проверить.

Модуль 9 · Проверка и усиление

Target и codegen

«Target и codegen» простыми словами — это умение определить контракт, реализовать минимальное решение и доказать корректность на новых входных данных. Мы берём входные данные, применяем к ним понятные правила и получаем результат, который можно проверить.

Модуль 10 · Проверка и усиление

JIT

«JIT» простыми словами — это умение определить контракт, реализовать минимальное решение и доказать корректность на новых входных данных. Мы берём входные данные, применяем к ним понятные правила и получаем результат, который можно проверить.

Модуль 11 · Проверка и усиление

Отладка и тесты

«Отладка и тесты» простыми словами — это умение задать наблюдаемое поведение, подготовить репрезентативные случаи и сравнить ожидаемый результат с фактическим.

Модуль 12 · Защита

Итоговый мини-компилятор

«Итоговый мини-компилятор» простыми словами — это умение определить контракт, реализовать минимальное решение и доказать корректность на новых входных данных.

Результат

мини-компилятор с IR, оптимизацией, генерацией кода и тестами

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

Что нужно знать до начала

Уметь пользоваться компьютером, устанавливать программы и работать с файлами. Для курсов «с нуля» опыт разработки не требуется.

Инструменты курса

LLVM, C++ или Rust, LLVM IR, Clang, CMake

Формат

Теория простыми словами, разобранный пример, практика, автопроверка и итоговый проект

Можно начать сразу

Перейдите от программы к практике

Доступ ко всем модулям, автопроверке и сертификату — 22 900 ₽.

Начать обучение →

Ответы на вопросы

Подойдёт ли курс новичку?

Да. Материал идёт от простых действий к самостоятельной работе, а новые термины объясняются по ходу курса.

Как проверяются задания?

Система проверяет текст ответа по критериям урока и короткий тест. Код, сайт или другой результат ученик прикладывает как доказательство: система оценивает объяснение, но не запускает проект автоматически.

Когда я получу сертификат?

Именной сертификат освоения основной части программы автоматически выпускается после зачёта 80% модулей. В нём указано, сколько модулей пройдено; обучение можно продолжить до 100%.

Купить за 22 900 ₽