• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Компиляторы

2021/2022
Учебный год
RUS
Обучение ведется на русском языке
5
Кредиты
Статус:
Курс по выбору
Когда читается:
3-й курс, 1, 2 модуль

Преподаватель

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

Аннотация

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

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

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

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

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

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

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

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

  • неблокирующий Домашнее задание 1
  • неблокирующий Домашнее задание 2
  • блокирующий Устный экзамен
Промежуточная аттестация

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

  • 2021/2022 учебный год 2 модуль
    0.5 * Устный экзамен + 0.25 * Домашнее задание 2 + 0.25 * Домашнее задание 1
Список литературы

Список литературы

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

  • 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