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




Теория и средства трансляции и компиляции
Статус:
Курс обязательный (Прикладная математика и информатика)
Направление:
01.03.02. Прикладная математика и информатика
Когда читается:
3-й курс, 4 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Преподаватели:
Наумов Никита Александрович
Язык:
русский
Кредиты:
3
Программа дисциплины
Аннотация
Языки программирования представляют собой средство описания вычислений для людей и машин. Современный мир зависит от языков программирования, поскольку все программное обеспечение на всех компьютерах написано на том или ином языке программирования. Однако, прежде чем запустить программу, ее необходимо преобразовать в форму, которая может выполняться на компьютере. Программные системы, выполняющие такое преобразование, называются компиляторами.
Цель освоения дисциплины
- Дать специалисту основные знания о том, как устроен компилятор
- Дать специалисту знания о разных частях компилятора и как их можно реализовать и применять
Планируемые результаты обучения
- Знать что такое компилятор, как он устроен, какая часть отвечает за что
- Использовать LR анализ, построение LR(0)-автомата и его применение
- Преобразование НКА в ДКА и использование ДКА для проверки реализации шаблона
- Преобразование регулярного выражения в НКА
- Проводить восходящий синтаксический анализ
- Проводить нисходящий синтаксический анализ
- Составление регулярного выражения для описания шаблона токена
- Устранение неоднозначности, устранение левой рекурсии и левая факторизация грамматики
- Что такое грамматики и как их строить
- Что такое трёхадресный код, трансляция выражений
- Исполнение лабораторной работы
Содержание учебной дисциплины
- Введение в компиляцию и структура компилятора
- Лексический анализ
- Синтаксический анализ
- Генерация промежуточного кода
- Оптимизация часть 1
Элементы контроля
- Лабораторная работа
- Экзамен3 вопроса по пройденым темам, каждый вопрос по 3 балла + 1 балл доп. вопрос
Список литературы
Рекомендуемая основная литература
- Малявко, А. А. Формальные языки и компиляторы : учебное пособие для вузов / А. А. Малявко. — Москва : Издательство Юрайт, 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