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

Theory and Methods of Translation and Compilation

2022/2023
Academic Year
RUS
Instruction in Russian
4
ECTS credits
Delivered at:
Department of Applied Mathematics and Informatics (Faculty of Informatics, Mathematics, and Computer Science (HSE Nizhny Novgorod))
Course type:
Compulsory course
When:
3 year, 1, 4 module

Instructor

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

Аннотация

Языки программирования представляют собой средство описания вычислений для людей и машин. Современный мир зависит от языков программирования, поскольку все программное обеспечение на всех компьютерах написано на том или ином языке программирования. Однако, прежде чем запустить программу, ее необходимо преобразовать в форму, которая может выполняться на компьютере. Программные системы, выполняющие такое преобразование, называются компиляторами.
Цель освоения дисциплины

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

  • Дать специалисту основные знания о том, как устроен компилятор
  • Дать специалисту знания о разных частях компилятора и как их можно реализовать и применять
Планируемые результаты обучения

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

  • Знать что такое компилятор, как он устроен, какая часть отвечает за что
  • Использовать LR анализ, построение LR(0)-автомата и его применение
  • Преобразование НКА в ДКА и использование ДКА для проверки реализации шаблона
  • Преобразование регулярного выражения в НКА
  • Проводить восходящий синтаксический анализ
  • Проводить нисходящий синтаксический анализ
  • Составление регулярного выражения для описания шаблона токена
  • Устранение неоднозначности, устранение левой рекурсии и левая факторизация грамматики
  • Что такое грамматики и как их строить
  • Что такое трёхадресный код, трансляция выражений
Содержание учебной дисциплины

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

  • Введение в компиляцию и структура компилятора
  • Лексический анализ
  • Синтаксический анализ
  • Генерация промежуточного кода
Элементы контроля

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

  • неблокирующий Лабораторная работа 1
    Построение КА для лексического анализа
  • неблокирующий Лабораторная работа 2
    Описание правил в БНФ для синтаксического анализа
  • неблокирующий Устный ответ на вопросы из билетов
  • неблокирующий Контрольная работа 1
  • неблокирующий Контрольная работа 2
Промежуточная аттестация

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

  • 2022/2023 учебный год 4 модуль
    0.08 * Лабораторная работа 1 + 0.08 * Лабораторная работа 2 + 0.02 * Контрольная работа 1 + 0.8 * Устный ответ на вопросы из билетов + 0.02 * Контрольная работа 2
Список литературы

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

Рекомендуемая основная литература

  • Малявко А. А. - ФОРМАЛЬНЫЕ ЯЗЫКИ И КОМПИЛЯТОРЫ. Учебное пособие для вузов - М.:Издательство Юрайт - 2019 - 429с. - ISBN: 978-5-534-04288-7 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/formalnye-yazyki-i-kompilyatory-438060
  • Построение компиляторов, Вирт, Н., 2013

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

  • Вирт Н. - Построение компиляторов - Издательство "ДМК Пресс" - 2010 - ISBN: 978-5-94074-585-3 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/1262
  • Формальные языки и компиляторы : учебное пособие для вузов, Малявко, А. А., 2017