
- •«Мурманский государственный технический университет»
- •Методические указания к практическим занятиям студентов
- •Оглавление
- •Общие организационно-методические указания
- •Тематический план дисциплины
- •Перечень практических работ
- •Список рекомендуемой литературы
- •Содержание и методические указания к практическим занятиям по темам
- •Практическое занятие 1. Построение кс-грамматик.
- •Практическое занятие 2. Построение дерева синтаксического разбора, левого и правого выводов цепочек.
- •Практическое занятие 3. Эквивалентные преобразования кс-грамматик.
- •Практическое занятие 4. Построение конечных автоматов.
- •Практическое занятие 5. Построение минимального и приведенного конечного автомата.
- •Практическое занятие 6. Преобразование недетерминированного ка в детерминированный.
- •Практическое занятие 7. Построение автоматов с магазинной памятью.
- •Практическое занятие 8. Построение мп-трансляторов.
- •Практическое занятие 9. Построение s-грамматик и мп-автоматов для обработки языков, порождаемых этими грамматиками.
- •Практическое занятие 10. Построение q-грамматик и мп-автоматов для обработки языков, порождаемых этими грамматиками.
- •Практическое занятие 11. Построение ll(1)-грамматик и мп-автоматов для обработки языков, порождаемых этими грамматиками.
- •Практическое занятие 12. Определение атрибутов и работа с атрибутными транслирующими грамматиками.
- •Приложение 1.
Практическое занятие 6. Преобразование недетерминированного ка в детерминированный.
Цель: освоение навыка преобразования недетерминированного конечного автомата в детерминированный.
Задание 1.
Найдите детерминированный автомат, эквивалентный такому недетерминированному автомату:
-
a
b
1
2,3
2
0
2
1
0
3
1
3
1
Рекомендуемая литература: [2], [3], конспект лекций.
Этапы выполнения.
Используя процедуру преобразования недетерминированного автомата в детерминированный, определить:
начальное состояние детерминированного автомата.
функции переходов из начального состояния для каждого входного символа.
вновь полученными состояниями пометить следующие строки автомата и для каждого вновь полученного состояния и входного символа – функцию перехода.
финальные состояния.
Построить результирующую таблицу переходов детерминированного автомата.
Задание 3. (Самостоятельно)
Рассмотрим язык, состоящий из арифметических выражений, в которых используются операции + и – (как унарные, так и бинарные), * и /, но нет скобок. Пусть операнды – либо целочисленные константы (например, 314), либо идентификаторы, являющиеся цепочками из букв и цифр, начинающихся с буквы (например, D12).
Пользуясь методом ролей, постройте минимальный конечный распознаватель для этих выражений. Пусть входной алфавит будет + - * / б ц ,где б – обозначает букву, а ц – цифру.
Описание метода ролей приведено в приложении 1.
Рекомендуемая литература: [2], [3], конспект лекций.
Тема. Автоматы и преобразователи с магазинной памятью (МП-автоматы).
Способы задания. Расширенные МП-автоматы. Преобразователи с магазинной памятью. Связь между грамматиками и автоматами.
Практическое занятие 7. Построение автоматов с магазинной памятью.
Цель: освоение навыка построения автоматов с магазинной памятью и демонстрации их работы с помощью последовательностей конфигурации памяти.
Задание 1.
Построить последовательности конфигураций для следующего МП-автомата с одним состоянием, изображенного на рисунке:
-
0
1
|
А
ЗАМЕНИТЬ(АА)
СДВИГ
ВЫТОЛКНУТЬ
СДВИГ
ОТВЕРГНУТЬ
ОТВЕРГНУТЬ
ОТВЕРГНУТЬ
ДОПУСТИТЬ
Начальное содержимое магазина: А
Рекомендуемая литература: [2], [3], конспект лекций.
Этапы выполнения.
Составьте три цепочки, допускаемые заданным МП-автоматом.
Для каждой цепочки построить последовательности конфигураций данного МП-автомата.
Задание 2.
Постройте МП-распознаватель для каждого из следующих множеств цепочек:
{1n 0m | n>m>0};
{1n 0m | n≥m>0};
{1n 0m | m>n>0};
{1n 0n 1m 0m | n≥0, m≥0};
{1n 0m 1m 0n | n>0, m>0};
Все цепочки в алфавите {0,1}, содержащие равное количество нулей и единиц.
Рекомендуемая литература: [2], [3], конспект лекций.
Этапы выполнения.
Для каждого множества
Указать цепочку длины, большей 3, принадлежащую этому множеству.
Построить управляющую таблицу МП-автомата, определив:
множества входных и магазинных символов,
правила переходов и выходов.
Показать последовательность конфигураций построенного автомата при распознавании указанной цепочки.
Задание 3.
Рассмотрим новую расширенную операцию над магазином: ВЫТОЛКНУТЬ(n), где n – произвольное целое положительное число. Эта операция выталкивает из магазина n верхних символов. Если в магазине меньше n символов, включая концевой маркер, то автомат отвергает входную цепочку.
Пользуясь этой новой операцией, построить автоматы, распознающие каждое из следующих множеств:
{12m 0 m | m>0};
{12m 0 m } {1n 2 n } m>0, n>0.
Рекомендуемая литература: [2], [3], конспект лекций.
Этапы выполнения.
Для каждого множества:
Указать цепочку длины, большей 3, принадлежащую этому множеству.
Построить управляющую таблицу МП-автомата, определив:
множества входных и магазинных символов,
правила переходов и выходов.
Показать последовательность конфигураций построенного автомата при распознавании указанной цепочки.