gram:cd
Differences
This shows you the differences between two versions of the page.
| gram:cd [2025/11/14 10:49] – created eugeneai | gram:cd [2025/11/14 10:52] (current) – eugeneai | ||
|---|---|---|---|
| Line 8: | Line 8: | ||
| **Знать: | **Знать: | ||
| - | - Иерархию Хомского и классы формальных грамматик | + | |
| - | - Принципы работы детерминированных и недетерминированных автоматов | + | |
| - | - Методы синтаксического анализа (LL, LR, рекурсивный спуск) | + | - Принципы работы детерминированных и недетерминированных автоматов |
| - | - Архитектуру компиляторов и трансляторов | + | - Методы синтаксического анализа (LL, LR, рекурсивный спуск) |
| + | - Архитектуру компиляторов и трансляторов | ||
| **Уметь: | **Уметь: | ||
| - | - Проектировать грамматики для предметно-ориентированных языков | + | |
| - | - Реализовывать лексические и синтаксические анализаторы | + | |
| - | - Генерировать промежуточное представление кода | + | - Реализовывать лексические и синтаксические анализаторы |
| - | - Использовать ANTLR4 и LLVM для построения трансляторов | + | - Генерировать промежуточное представление кода |
| + | - Использовать ANTLR4 и LLVM для построения трансляторов | ||
| **Владеть: | **Владеть: | ||
| - | - Навыками работы с современными инструментами языковой разработки | + | |
| - | - Методами оптимизации и генерации кода | + | |
| - | - Техниками отладки языковых процессоров | + | - Методами оптимизации и генерации кода |
| + | - Техниками отладки языковых процессоров | ||
| === Структура курса === | === Структура курса === | ||
| Line 38: | Line 41: | ||
| **Теория: | **Теория: | ||
| - | - Формальные языки и грамматики | + | |
| - | - Конечные автоматы (ДКА/ | + | - Конечные автоматы (ДКА/ |
| - | - Регулярные выражения | + | - Регулярные выражения |
| - | - Минимизация и преобразование автоматов | + | - Минимизация и преобразование автоматов |
| **Практика: | **Практика: | ||
| - | - Реализация сканеров на ANTLR4 | + | |
| - | - Генерация лексических анализаторов | + | - Генерация лексических анализаторов |
| - | - Оптимизация регулярных выражений | + | - Оптимизация регулярных выражений |
| ==== Раздел 2: КС-грамматики и МП-автоматы ==== | ==== Раздел 2: КС-грамматики и МП-автоматы ==== | ||
| **Теория: | **Теория: | ||
| - | - Контекстно-свободные грамматики | + | |
| - | - Автоматы с магазинной памятью | + | - Автоматы с магазинной памятью |
| - | - Нормальные формы (Хомского, | + | - Нормальные формы (Хомского, |
| - | - Свойства КС-языков | + | - Свойства КС-языков |
| **Практика: | **Практика: | ||
| - | - Проектирование грамматик для DSL | + | |
| - | - Построение нисходящих парсеров | + | - Построение нисходящих парсеров |
| - | - Обработка синтаксических ошибок | + | - Обработка синтаксических ошибок |
| ==== Раздел 3: Синтаксический анализ ==== | ==== Раздел 3: Синтаксический анализ ==== | ||
| **Теория: | **Теория: | ||
| - | - LL(1) и LR(1) анализ | + | |
| - | - Рекурсивный спуск | + | - Рекурсивный спуск |
| - | - Табличные методы разбора | + | - Табличные методы разбора |
| - | - Абстрактные синтаксические деревья | + | - Абстрактные синтаксические деревья |
| **Практика: | **Практика: | ||
| - | - Реализация парсеров на ANTLR4 | + | |
| - | - Построение и обход AST | + | - Построение и обход AST |
| - | - Семантический анализ | + | - Семантический анализ |
| ==== Раздел 4: Практика трансляции ==== | ==== Раздел 4: Практика трансляции ==== | ||
| **Теория: | **Теория: | ||
| - | - Архитектура компиляторов | + | |
| - | - Промежуточные представления | + | - Промежуточные представления |
| - | - Генерация кода | + | - Генерация кода |
| - | - Оптимизации | + | - Оптимизации |
| **Практика: | **Практика: | ||
| - | - Интеграция с LLVM | + | |
| - | - Генерация native-кода | + | - Генерация native-кода |
| - | - Создание предметно-ориентированных языков | + | - Создание предметно-ориентированных языков |
| === Инструментарий === | === Инструментарий === | ||
| Line 92: | Line 95: | ||
| **ANTLR4** | **ANTLR4** | ||
| - | - Генерация лексеров и парсеров | + | |
| - | - Поддержка множества целевых языков | + | - Поддержка множества целевых языков |
| - | - Интеграция с системами сборки | + | - Интеграция с системами сборки |
| **LLVM** | **LLVM** | ||
| - | - Промежуточное представление LLVM IR | + | |
| - | - Кросс-платформенная генерация кода | + | - Кросс-платформенная генерация кода |
| - | - Оптимизации на уровне IR | + | - Оптимизации на уровне IR |
| **DeepSeek** (контролируемое использование) | **DeepSeek** (контролируемое использование) | ||
| - | - Анализ и рефакторинг кода | + | |
| - | - Генерация шаблонов реализаций | + | - Генерация шаблонов реализаций |
| - | - Помощь в отладке сложных конструкций | + | - Помощь в отладке сложных конструкций |
| === Оценочные материалы === | === Оценочные материалы === | ||
| Line 110: | Line 113: | ||
| ==== Формы контроля ==== | ==== Формы контроля ==== | ||
| - | * **Лабораторные работы: | + | |
| - | * **Практические задания: | + | * **Практические задания: |
| - | * **Экзамен: | + | * **Экзамен?:** 40% |
| ==== Вопросы для подготовки ==== | ==== Вопросы для подготовки ==== | ||
| - | 1. Иерархия Хомского: | + | - Иерархия Хомского: |
| - | 2. ДКА и НКА: эквивалентность и преобразования | + | |
| - | 3. Регулярные выражения и их применение в лексическом анализе | + | |
| - | 4. КС-грамматики: | + | |
| - | 5. Синтаксический анализ: | + | |
| - | 6. Построение AST и семантический анализ | + | |
| - | 7. Генерация кода с использованием LLVM | + | |
| - | 8. Оптимизации на разных этапах компиляции | + | |
| === Литература === | === Литература === | ||
| Line 129: | Line 132: | ||
| ==== Основная ==== | ==== Основная ==== | ||
| - | 1. // | + | - // |
| - | 2. //Крис Латтнер// | + | |
| - | 3. // | + | |
| ==== Дополнительная ==== | ==== Дополнительная ==== | ||
| - | 1. Официальная документация ANTLR4 | + | - Официальная документация ANTLR4 |
| - | 2. LLVM Tutorial и Language Reference | + | |
| - | 3. Статьи по построению DSL и языковых процессоров | + | |
| ---- | ---- | ||
| [[gram: | [[gram: | ||
gram/cd.1763088557.txt.gz · Last modified: by eugeneai
