Хотите создать собственный язык программирования, но не знаете, с чего начать? Этот практический курс поможет вам шаг за шагом разобраться в ключевых принципах языкового дизайна, создании синтаксиса, разборе структуры кода и построении интерпретатора. Материал подходит как для энтузиастов, так и для разработчиков, которым нужен кастомный DSL или расширение для JavaScript.
Что вы изучите на курсе
Курс последовательно проведет вас по всему пути создания языка — от идеи до реализации и интеграции в рабочий проект.
Базовые концепции языкового дизайна
Как устроены современные языки программирования.
Основы синтаксиса, семантики и проектирования возможностей языка.
Примеры удачных и неудачных решений в реальных языках.
Создание структуры языка
Вы шаг за шагом разберетесь, как превратить исходный код в понятную для компьютера структуру.
Лексический анализ
Разбиение кода на токены.
Определение переменных, функций, операторов и управляющих конструкций.
Построение абстрактного синтаксического дерева (AST)
Понимание структуры программы через AST.
Анализ логики и определение выполняемых действий.
Создание интерпретатора
Вы научитесь писать интерпретатор, который сможет выполнять ваш код и обеспечивать корректную логику работы вашего языка.
Практика и применение
После изучения фундаментальных принципов вы перейдете к использованию своего языка на практике.
Транспиляция в JavaScript
Преобразование вашего языка в JavaScript.
Возможность интеграции в веб‑приложения и существующие проекты.
Расширение JavaScript
Вы также узнаете, как создавать гигиенические макросы, позволяющие расширять и модифицировать возможности JavaScript без нарушения структуры его кода.
Кому подойдет этот курс
Разработчикам, желающим попробовать себя в создании языков.
Тем, кто хочет создать DSL или шаблонный язык для продукта.
Программистам, стремящимся глубже понимать работу парсеров и интерпретаторов.
Энтузиастам, исследующим ReasonML, Elm, CoffeeScript и другие языки.
Удалён
Удален по просьбе правообладателя
Видео и материалы этого курса больше недоступны для просмотра.
Master.dev — это образовательная платформа для разработчиков, которая помогает совершенствовать инженерные навыки: от изучения языков программирования и веб-разработки до работы с базами данных, облачной инфраструктурой, DevOps и искусственным интеллектом. Ранее известная как Frontend Masters, платформа расширила фокус и теперь обучает разработчиков всему спектру современной разработки ПО.
Стив - архитектор фронтенда в компании Temporal. Ранее он занимал аналогичную должность в Twilio и SendGrid. Стив также является основателем и почетным директором программы обучения фронтенд-разработке в Turing School for Software and Design в Денвере, Колорадо — это некоммерческая программа подготовки разработчиков. В прошлой жизни Стив был учителем в государственных школах Нью-Йорка, где он преподавал специальное образование и веб-разработку в