Дисциплина базовой части профильного цикла дисциплин. Данная дисциплина служит основой для профессиональной ориентации студентов при выборе дисциплин из вариативной части Программы. Существенное внимание при освоении дисциплины уделяется вопросам, связанным с теоретическими аспектами синтаксиса и семантики языков программирования, а также вопросам создания эффективных алгоритмов лексического и синтактического анализа кода программ. Для освоения дисциплины студентам необходимы знания, полученные в результате изучения дисциплин «Основы и методология программирования», «Язык программирования С++». Основные положения данной дисциплины используются для освоения следующих дисциплин: «Семантики языков программирования», «Компиляторы», «Типы в языках программирования».
Цель освоения дисциплины
Формирование у студентов теоретических знаний и практических навыков по основам теории формальных языков.
Планируемые результаты обучения
Знает основные методы синтаксического анализа, основные подходы при генерации объектного кода программы.
Умеет описывать синтаксис языков программирования, используя различные подходы, строить семантику языка, используя различные подходы, применять регулярные выражения для лексического анализа, создавать алгоритмы для эффективного синтактического анализа кода программ, создавать JIT-компиляторы.
Имеет навыки применения методов описания синтаксиса и семантики языков программирования с использованием различных подходов, методов создания эффективных алгоритмов лексического и синтактического анализа кода программ.
Содержание учебной дисциплины
Раздел 1. Конечные автоматы
Раздел 2. Регулярные выражения
Раздел 3. КС-грамматики
Раздел 4. Детерминированные автоматы с магазинной памятью
Элементы контроля
Домашнее задание №2
Домашнее задание №2 выдается студентам в одном варианте и состоит из 7 задач. Каждой задаче присвоен свой балл. Срок выполнения домашнего задания - 2 недели. Форма представления обучающимися домашнего задания - представленные в письменном виде решения задач.
Экзамен
Устный экзамен проводится в форме ответов на вопросы экзаменационного билета. Экзаменационный билет содержит два вопроса из перечня вопросов к экзамену. На подготовку ответа выделяется 2,5 часа.
Домашнее задание №4
Домашнее задание №4 выдается студентам в одном варианте и состоит из 8 задач. Каждой задаче присвоен свой балл. Срок выполнения домашнего задания - 2 недели. Форма представления обучающимися домашнего задания - представленные в письменном виде решения задач.
Домашнее задание №3
Домашнее задание №3 выдается студентам в одном варианте и состоит из 7 задач. Каждой задаче присвоен свой балл. Срок выполнения домашнего задания - 2 недели. Форма представления обучающимися домашнего задания - представленные в письменном виде решения задач.
Домашнее задание №1
Домашнее задание №1 выдается студентам в одном варианте и состоит из 9 задач. Каждой задаче присвоен свой балл. Срок выполнения домашнего задания - 2 недели. Форма представления обучающимися домашнего задания - представленные в письменном виде решения задач.
Промежуточная аттестация
2025/2026 1st module
Преподаватель учитывает оценку за текущий контроль (домашние задания).
Онакопленная=0,25*Од/з1 + 0,25*Од/з2 + 0,25*Од/з3 + 0,25*Од/з4
Результирующая оценка за дисциплину рассчитывается следующим образом:
ОРезультирующая= 0,5*Онакопленная + 0,5*Оэкзамен
Список литературы
Рекомендуемая основная литература
Малявко, А. А. Формальные языки и компиляторы : учебное пособие для вузов / А. А. Малявко. — Москва : Издательство Юрайт, 2019. — 429 с. — (Университеты России). — ISBN 978-5-534-04288-7. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/438060 (дата обращения: 28.08.2023).
Рекомендуемая дополнительная литература
Meduna, A. (2014). Formal Languages and Computation : Models and Their Applications. [Place of publication not identified]: Auerbach Publications. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1728714
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
Instructor
Moskvin, Denis
Программа дисциплины
Аннотация
Цель освоения дисциплины
Планируемые результаты обучения
Содержание учебной дисциплины
Элементы контроля
Промежуточная аттестация
Список литературы
Рекомендуемая основная литература
Рекомендуемая дополнительная литература
Авторы