Этот курс — практическое руководство по созданию компилятора со статической типизацией, в котором вы шаг за шагом разберёте, как устроен вывод типов, статическая проверка корректности кода и генерация машинных инструкций. Материал идеально подходит тем, кто хочет углубиться в системное программирование и понять реальные механизмы работы языков со строгой типизацией.
Что вы узнаете в ходе обучения
Курс помогает сформировать целостное понимание современного компиляторостроения без избыточной теории — только практические и применимые знания.
Вывод и проверка типов
Вы познакомитесь с фундаментальными принципами статического анализа, научитесь строить систему типов и обеспечивать безопасность программы ещё до запуска.
Ключевые навыки
Построение таблиц символов и среды типов
Реализация алгоритмов вывода типов
Валидация корректности выражений и функций
Обнаружение ошибок имён
Вы разберёте, как компиляторы предотвращают распространённые ошибки, такие как использование необъявленных переменных или повторное определение имён.
Что будет рассмотрено
Структура областей видимости
Проверка доступности и корректности символов
Типовые кейсы ошибок разработчиков
Генерация машинного кода
Вы научитесь превращать проверенное и типобезопасное представление программы в оптимизированный машинный код.
Темы раздела
Промежуточные представления (IR)
Оптимизации на уровне типов
Генерация структурированных бинарных инструкций
Дополнительные инструменты, которые вы создадите
Помимо базовой функциональности компилятора курс включает разработку полезных утилит, которые часто сопровождают современные языки программирования.
Форматтер кода
Вы поймёте, как работает автоматическое форматирование и научитесь создавать собственный инструмент, который улучшает читаемость и стиль исходного кода.
Для кого предназначен этот курс
Курс отлично подойдёт студентам, начинающим и практикующим разработчикам, которые хотят глубже понять внутренние механизмы языков программирования. Опыт создания парсеров не обязателен — эта тема раскрывается в связанном курсе «Создание собственного языка программирования».
Итог
Освоив курс, вы сможете уверенно работать с основами компиляторов, разрабатывать собственные инструменты для анализа и генерации кода и лучше понимать современные технологии, лежащие в основе языков со статической типизацией.
Это пробный урок. Оформите подписку, чтобы получить доступ ко всем материалам курса. Премиум
Ограничение времени просмотра
Вы можете просматривать пробный урок только 10 минут. Получите полный доступ, чтобы смотреть без ограничений.
FrontendMasters — одна из ведущих онлайн-платформ для изучения фронтенд- и веб-разработки. Курсы представлены в формате видеоворкшопов и преподаются практикующими экспертами из крупных технологических компаний. Платформа охватывает широкий спектр современных технологий (JavaScript, React, TypeScript и др.) и делает упор на глубокое понимание и применение знаний на практике.
Ричард - создатель языка программирования Roc, ведущий подкаста Software Unscripted и автор книги «Elm в действии» (Elm in Action), изданной Manning Publications. Он начал писать на JavaScript ещё до появления jQuery, но с 2015 года сосредоточился на разработке на Elm, Rust и Roc. За это время Ричард создал несколько популярных библиотек для Elm, включая elm-css, elm-test и elm-json-decode-pipeline, а также JavaScript-библиотеку seamless-immutabl