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

Theory and Methods of Translation and Compilation

2023/2024
Academic Year
RUS
Instruction in Russian
3
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, 4 module

Instructor

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

Аннотация

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Малявко, А. А.  Формальные языки и компиляторы : учебное пособие для вузов / А. А. Малявко. — Москва : Издательство Юрайт, 2019. — 429 с. — (Университеты России). — ISBN 978-5-534-04288-7. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/438060 (дата обращения: 28.08.2023).
  • Построение компиляторов, Вирт, Н., 2013

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

  • Вирт, Н. Построение компиляторов / Н. Вирт. — Москва : ДМК Пресс, 2010. — 192 с. — ISBN 978-5-94074-585-3. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/1262 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Формальные языки и компиляторы : учебное пособие для вузов, Малявко, А. А., 2017