bart
PRO
- Сообщения
- 44.554
- Реакции
- 22.519
Компиляторы, интерпретаторы и формальные языки
Compilers, Interpreters and Formal Languages
pikuma
Этот курс представляет собой дружелюбное для новичков введение в компиляторы. Мы будем постепенно разрабатывать интерпретатор для простого скриптового языка.
Мы рассмотрим:
Компиляторы всегда считались сложной темой, и их историческая связь с "драконами" (начиная с Книги о драконах) только добавляла этому мифу загадочности. Мы постараемся объяснять все с учетом уровня новичков. Этот курс можно назвать «первым курсом» по компиляторам для разработчиков, которые еще не писали интерпретаторы.
Что мы создадим
Мы будем разрабатывать компилятор для простого языка программирования под названием Pinky. Это будет условный скриптовый язык с синтаксисом, вдохновленным Lua и ALGOL W.
Основным языком курса станет Python, который позволит нам сосредоточиться на концепциях, специфичных для компиляторов, при этом оставаясь продуктивными. Кроме того, мы дадим полезные советы по реализации этих идей на языке C.
Необходимые инструменты
Все, что вам нужно, - это командная строка, простой текстовый редактор и интерпретатор Python. Эти инструменты кроссплатформенные, так что вы сможете работать как на Windows, так и на macOS или Linux.
Курс не требует предварительных знаний, но знание основ программирования (if-else, циклы, функции) поможет лучше освоить материал.
Материал на английском языке
Продажник:
Скачать:
Compilers, Interpreters and Formal Languages
pikuma
Этот курс представляет собой дружелюбное для новичков введение в компиляторы. Мы будем постепенно разрабатывать интерпретатор для простого скриптового языка.
Мы рассмотрим:
- Лексический анализ
- Синтаксический анализ
- Алгоритмы разбора
- Промежуточное представление (AST)
- Формальные языки и грамматики
- Нотацию Бэкуса-Наура (BNF) и синтаксические диаграммы
- Обнаружение и обработку ошибок
- Генерацию кода
- Создание собственной виртуальной машины (VM)
- Генерацию байт-кода
- Проверку типов
- LLVM IR
- Простую оптимизацию кода
- …и многое другое!
Компиляторы всегда считались сложной темой, и их историческая связь с "драконами" (начиная с Книги о драконах) только добавляла этому мифу загадочности. Мы постараемся объяснять все с учетом уровня новичков. Этот курс можно назвать «первым курсом» по компиляторам для разработчиков, которые еще не писали интерпретаторы.
Что мы создадим
Мы будем разрабатывать компилятор для простого языка программирования под названием Pinky. Это будет условный скриптовый язык с синтаксисом, вдохновленным Lua и ALGOL W.
Основным языком курса станет Python, который позволит нам сосредоточиться на концепциях, специфичных для компиляторов, при этом оставаясь продуктивными. Кроме того, мы дадим полезные советы по реализации этих идей на языке C.
Необходимые инструменты
Все, что вам нужно, - это командная строка, простой текстовый редактор и интерпретатор Python. Эти инструменты кроссплатформенные, так что вы сможете работать как на Windows, так и на macOS или Linux.
Курс не требует предварительных знаний, но знание основ программирования (if-else, циклы, функции) поможет лучше освоить материал.
Материал на английском языке
Продажник:
Для просмотра вы должны войти или зарегистрироваться.
Скачать:
Скрытое содержимое могут видеть только пользователь группы: PRO
Качать без ограничений Купить доступ к 1 теме
Качать без ограничений Купить доступ к 1 теме
Скрытое содержимое для пользователей: Ferr