Бакалавриат
2021/2022




Теория и средства трансляции и компиляции
Статус:
Курс по выбору (Прикладная математика и информатика)
Направление:
01.03.02. Прикладная математика и информатика
Когда читается:
3-й курс, 1, 4 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
4
Контактные часы:
60
Программа дисциплины
Аннотация
Языки программирования представляют собой средство описания вычислений для людей и машин. Современный мир зависит от языков программирования, поскольку все программное обеспечение на всех компьютерах написано на том или ином языке программирования. Однако, прежде чем запустить программу, ее необходимо преобразовать в форму, которая может выполняться на компьютере. Программные системы, выполняющие такое преобразование, называются компиляторами.
Цель освоения дисциплины
- Дать специалисту основные знания о том, как устроен компилятор
- Дать специалисту знания о разных частях компилятора и как их можно реализовать и применять
Планируемые результаты обучения
- Знать что такое компилятор, как он устроен, какая часть отвечает за что
- Использовать LR анализ, построение LR(0)-автомата и его применение
- Преобразование НКА в ДКА и использование ДКА для проверки реализации шаблона
- Преобразование регулярного выражения в НКА
- Проводить восходящий синтаксический анализ
- Проводить нисходящий синтаксический анализ
- Составление регулярного выражения для описания шаблона токена
- Устранение неоднозначности, устранение левой рекурсии и левая факторизация грамматики
- Что такое грамматики и как их строить
- Что такое трёхадресный код, трансляция выражений
Содержание учебной дисциплины
- Введение в компиляцию и структура компилятора
- Лексический анализ
- Синтаксический анализ
- Генерация промежуточного кода
Элементы контроля
- Контрольная работа 1Преобразование РВ в НКА и в ДКА
- Контрольная работа 2Нисходящий СА
- Практическая работа 1 и 2Алгоритм преобразования РВ -> НКА -> ДКА
- Практическая работа 3Нисходящий СА
- Практическая работа 4LR(0)-анализ
- Устный ответ на вопросы из билетов
- Контрольная работа 1Преобразование РВ в НКА и в ДКА
- Контрольная работа 2Нисходящий СА
- Практическая работа 1 и 2Алгоритм преобразования РВ -> НКА -> ДКА
- Практическая работа 3Нисходящий СА
- Практическая работа 4LR(0)-анализ
- Устный ответ на вопросы из билетов
Список литературы
Рекомендуемая основная литература
- Малявко А. А. - ФОРМАЛЬНЫЕ ЯЗЫКИ И КОМПИЛЯТОРЫ. Учебное пособие для вузов - М.:Издательство Юрайт - 2019 - 429с. - ISBN: 978-5-534-04288-7 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/formalnye-yazyki-i-kompilyatory-438060
- Построение компиляторов, Вирт, Н., 2013
Рекомендуемая дополнительная литература
- Вирт, Н. Построение компиляторов / Н. Вирт. — Москва : ДМК Пресс, 2010. — 192 с. — ISBN 978-5-94074-585-3. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/1262 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Формальные языки и компиляторы : учебное пособие для вузов, Малявко, А. А., 2017