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

Theory and Methods of Translation and Compilation

2021/2022
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:
Elective course
When:
3 year, 1, 4 module

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

Аннотация

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

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

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

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

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

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

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

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

  • неблокирующий Контрольная работа 1
    Преобразование РВ в НКА и в ДКА
  • неблокирующий Контрольная работа 2
    Нисходящий СА
  • неблокирующий Практическая работа 1 и 2
    Алгоритм преобразования РВ -> НКА -> ДКА
  • неблокирующий Практическая работа 3
    Нисходящий СА
  • неблокирующий Практическая работа 4
    LR(0)-анализ
  • неблокирующий Устный ответ на вопросы из билетов
  • неблокирующий Контрольная работа 1
    Преобразование РВ в НКА и в ДКА
  • неблокирующий Контрольная работа 2
    Нисходящий СА
  • неблокирующий Практическая работа 1 и 2
    Алгоритм преобразования РВ -> НКА -> ДКА
  • неблокирующий Практическая работа 3
    Нисходящий СА
  • неблокирующий Практическая работа 4
    LR(0)-анализ
  • неблокирующий Устный ответ на вопросы из билетов
Промежуточная аттестация

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

  • 2021/2022 учебный год 4 модуль
Список литературы

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

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

  • Малявко А. А. - ФОРМАЛЬНЫЕ ЯЗЫКИ И КОМПИЛЯТОРЫ. Учебное пособие для вузов - М.:Издательство Юрайт - 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