Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Мячина_3ЛР

.docx
Скачиваний:
0
Добавлен:
02.08.2026
Размер:
58 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

Московский технический университет связи и информатики

(МТУСИ)

Кафедра «Системное программирование»

Лабораторная работа №3

«Грамматика»

по дисциплине «Системное программное обеспечение»

Вариант 24

Выполнила:

студентка группы БФИ2203

Мячина Лада Андреевна

Проверила:

Старший преподаватель

Алексанян Диана Ашотовна

Москва, 2025 г.

Задание:

Дан язык T: = (ba)r ∨ (w), где w ∈ a, b, (ba)r - строка (ba)k, записанная в обратном порядке.

1. Создать грамматику, порождающую язык.

2. Определить тип грамматики.

Ход работы:

(ba)r = abab … ab

w – любое слово из букв a и b.

∨ - Логическое сложение (ИЛИ) => язык Т включает в себя все слова либо из первой части ((ba)r), либо из второй части (w). Т.к. w – включает в себя все возможные слова из букв a и b (в том числе все слова из первой части), то язык Т включает все слова из букв a и b.

1. Для того, чтобы создать грамматику, порождающую данный язык, следует создать таблицу правил, по которым будут осуществлены переходы.

S

aS

S

bS

Построим переходы, следуя правилам грамматики:

S → aS | bS

2. Данная грамматика является регулярной, поскольку описывает простейший язык.

Визуализация алгоритма в JFLAP

Выбираем пункт "Grammar" и заполняем таблицу известными значениями.

Рисунок 1 - Заполненная таблица правил грамматики

Определим тип грамматики:

Рисунок 2 - Определение типа грамматики

Соседние файлы в предмете Системное программное обеспечение