Бакалавриат
2022/2023
Компиляторы
Статус:
Курс по выбору (Прикладная математика и информатика)
Направление:
01.03.02. Прикладная математика и информатика
Кто читает:
Департамент информатики
Когда читается:
3-й курс, 1, 2 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для всех кампусов НИУ ВШЭ
Преподаватели:
Булычев Дмитрий Юрьевич
Язык:
русский
Кредиты:
5
Контактные часы:
52
Программа дисциплины
Аннотация
Является дисциплиной по выбору. Дисциплина призвана познакомить студентов с базовыми идеями и методами, используемыми при создании современных компиляторов, а также дать практические навыки написания простых компиляторов. Для освоения дисциплины студентам необходимы знания, полученные в результате изучения дисциплин «Формальные языки», «Функциональное программирование».
Цель освоения дисциплины
- Формирование у студентов теоретических знаний и практических навыков по основам создания компиляторов для произвольных языков программирования.
Планируемые результаты обучения
- Знает основные этапы разработки компилятора.
- Умеет при компиляции обрабатывать ветвления, циклы, функции.
- Имеет навыки использования алгоритмов работы сборщика мусора при разработке компилятора.
Содержание учебной дисциплины
- Раздел 1. Введение. Языки программирования и машинные архитектуры. Компилятор, интерпретатор
- Раздел 2. Синтаксический анализ. Стековая машина
- Раздел 3. Система команд x86. Генератор кода, конструкции управления, процедуры и функции.
- Раздел 4. Динамические структуры данных и символические выражения
Элементы контроля
- Домашнее задание №1Домашнее задание №1 выдается студентам в одном варианте и состоит из 5 задач. Каждой задаче присвоен свой балл. Срок выполнения домашнего задания - 5 недель. Форма представления обучающимися домашнего задания - представленные в письменном виде решения задач.
- Домашнее задание №2Домашнее задание №2 выдается студентам в одном варианте и состоит из 4 задач. Каждой задаче присвоен свой балл. Срок выполнения домашнего задания - 4 недели. Форма представления обучающимися домашнего задания - представленные в письменном виде решения задач.
- ЭкзаменУстный экзамен проводится в форме подробного объяснения решения одной задачи из домашнего задания, выбор задачи происходит случайным образом на экзамене. На подготовку ответа выделяется 2,5 часа.
Промежуточная аттестация
- 2022/2023 учебный год 2 модульПреподаватель учитывает оценку за текущий контроль (домашние задания). Онакопленная = 0,5Од/з1 + 0,5Од/з2 Результирующая оценка за дисциплину рассчитывается следующим образом: ОРезультирующая = 0,5Онакопленная + 0,5Оэкзамен
Список литературы
Рекомендуемая основная литература
- Алгоритмы и структуры данных: Учебник / Белов В.В., Чистякова В.И. - Москва :КУРС, НИЦ ИНФРА-М, 2020. - 240 с.: - (Бакалавриат) - Текст : электронный. - URL: http://znanium.com/catalog/product/1057212
- Малявко, А. А. Формальные языки и компиляторы : учебное пособие для вузов / А. А. Малявко. — Москва : Издательство Юрайт, 2021. — 429 с. — (Высшее образование). — ISBN 978-5-534-04288-7. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/472099 (дата обращения: 28.08.2023).
Рекомендуемая дополнительная литература
- Grune, D., & Jacobs, C. J. H. (2008). Parsing Techniques : A Practical Guide (Vol. 2nd ed). New York: Springer. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=254768