We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

  • A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Compilers

2024/2025
Academic Year
RUS
Instruction in Russian
5
ECTS credits
Delivered at:
Department of Informatics
Course type:
Elective course
When:
3 year, 1, 2 module

Instructor


Булычев Дмитрий Юрьевич

Программа дисциплины

Аннотация

Является дисциплиной по выбору. Дисциплина призвана познакомить студентов с базовыми идеями и методами, используемыми при создании современных компиляторов, а также дать практические навыки написания простых компиляторов. Для освоения дисциплины студентам необходимы знания, полученные в результате изучения дисциплин «Формальные языки», «Функциональное программирование».
Цель освоения дисциплины

Цель освоения дисциплины

  • Формирование у студентов теоретических знаний и практических навыков по основам создания компиляторов для произвольных языков программирования.
Планируемые результаты обучения

Планируемые результаты обучения

  • Знает основные этапы разработки компилятора.
  • Умеет при компиляции обрабатывать ветвления, циклы, функции.
  • Имеет навыки использования алгоритмов работы сборщика мусора при разработке компилятора.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Раздел 1. Введение. Языки программирования и машинные архитектуры. Компилятор, интерпретатор
  • Раздел 2. Синтаксический анализ. Стековая машина
  • Раздел 3. Система команд x86. Генератор кода, конструкции управления, процедуры и функции.
  • Раздел 4. Динамические структуры данных и символические выражения
Элементы контроля

Элементы контроля

  • неблокирующий Домашнее задание №1
    Домашнее задание №1 выдается студентам в одном варианте и состоит из 5 задач. Каждой задаче присвоен свой балл. Срок выполнения домашнего задания - 5 недель. Форма представления обучающимися домашнего задания - представленные в письменном виде решения задач.
  • блокирующий Экзамен
    Устный экзамен проводится в форме подробного объяснения решения одной задачи из домашнего задания, выбор задачи происходит случайным образом на экзамене. На подготовку ответа выделяется 2,5 часа.
  • неблокирующий Домашнее задание №2
    Домашнее задание №2 выдается студентам в одном варианте и состоит из 4 задач. Каждой задаче присвоен свой балл. Срок выполнения домашнего задания - 4 недели. Форма представления обучающимися домашнего задания - представленные в письменном виде решения задач.
Промежуточная аттестация

Промежуточная аттестация

  • 2024/2025 2nd module
    Преподаватель учитывает оценку за текущий контроль (домашние задания). Онакопленная = 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 (дата обращения: 27.08.2024).

Рекомендуемая дополнительная литература

  • 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

Авторы

  • Юдаева Оксана Юрьевна
  • Кузнецов Антон Михайлович