• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2021/2022

Формальные языки

Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус: Курс обязательный (Прикладная математика и информатика)
Направление: 01.03.02. Прикладная математика и информатика
Когда читается: 2-й курс, 1 модуль
Формат изучения: без онлайн-курса
Охват аудитории: для всех кампусов НИУ ВШЭ
Преподаватели: Вербицкая Екатерина Андреевна, Дворкин Михаил Эдуардович, Москвин Денис Николаевич, Палецких Алексей Андреевич
Язык: русский
Кредиты: 3
Контактные часы: 42

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

Аннотация

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

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

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

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

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

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

  • Конечные автоматы
  • Регулярные выражения
  • КС-грамматики
  • Детерминированные автоматы с магазинной памятью
Элементы контроля

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

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

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

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

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

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

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

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

  • W. J. Levelt. (2019). An Introduction to the Theory of Formal Languages and Automata (Vol. Reprint 2019). Berlin/Boston: De Gruyter Mouton. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2039961