Бакалавриат
2023/2024





Теория и средства трансляции и компиляции
Лучший по критерию «Новизна полученных знаний»
Статус:
Курс обязательный (Прикладная математика и информатика)
Направление:
01.03.02. Прикладная математика и информатика
Когда читается:
3-й курс, 4 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Преподаватели:
Наумов Никита Александрович
Язык:
русский
Кредиты:
3
Контактные часы:
40
Программа дисциплины
Аннотация
Языки программирования представляют собой средство описания вычислений для людей и машин. Современный мир зависит от языков программирования, поскольку все программное обеспечение на всех компьютерах написано на том или ином языке программирования. Однако, прежде чем запустить программу, ее необходимо преобразовать в форму, которая может выполняться на компьютере. Программные системы, выполняющие такое преобразование, называются компиляторами.
Цель освоения дисциплины
- Дать специалисту основные знания о том, как устроен компилятор
- Дать специалисту знания о разных частях компилятора и как их можно реализовать и применять
Планируемые результаты обучения
- Знать что такое компилятор, как он устроен, какая часть отвечает за что
- Использовать LR анализ, построение LR(0)-автомата и его применение
- Преобразование НКА в ДКА и использование ДКА для проверки реализации шаблона
- Преобразование регулярного выражения в НКА
- Проводить восходящий синтаксический анализ
- Проводить нисходящий синтаксический анализ
- Составление регулярного выражения для описания шаблона токена
- Устранение неоднозначности, устранение левой рекурсии и левая факторизация грамматики
- Что такое грамматики и как их строить
- Что такое трёхадресный код, трансляция выражений
- Исполнение лабораторной работы
Содержание учебной дисциплины
- Введение в компиляцию и структура компилятора
- Лексический анализ
- Синтаксический анализ
- Генерация промежуточного кода
Элементы контроля
- Контрольная работа 2
- Контрольная работа 1
- Лабораторная работа 2Описание правил в БНФ для синтаксического анализа
- Лабораторная работа 1Построение КА для лексического анализа
- Устный ответ на вопросы из билетов
Промежуточная аттестация
- 2023/2024 учебный год 4 модуль0.02 * Контрольная работа 1 + 0.02 * Контрольная работа 2 + 0.08 * Лабораторная работа 1 + 0.08 * Лабораторная работа 2 + 0.8 * Устный ответ на вопросы из билетов
Список литературы
Рекомендуемая основная литература
- Малявко, А. А. Формальные языки и компиляторы : учебное пособие для вузов / А. А. Малявко. — Москва : Издательство Юрайт, 2019. — 429 с. — (Университеты России). — ISBN 978-5-534-04288-7. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/438060 (дата обращения: 28.08.2023).
- Построение компиляторов, Вирт, Н., 2013
Рекомендуемая дополнительная литература
- Вирт, Н. Построение компиляторов / Н. Вирт. — Москва : ДМК Пресс, 2010. — 192 с. — ISBN 978-5-94074-585-3. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/1262 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Формальные языки и компиляторы : учебное пособие для вузов, Малявко, А. А., 2017