- •«Мурманский государственный технический университет»
- •Методические указания к практическим занятиям студентов
- •Оглавление
- •Общие организационно-методические указания
- •Тематический план дисциплины
- •Перечень практических работ
- •Список рекомендуемой литературы
- •Содержание и методические указания к практическим занятиям по темам
- •Практическое занятие 1. Построение кс-грамматик.
- •Практическое занятие 2. Построение дерева синтаксического разбора, левого и правого выводов цепочек.
- •Практическое занятие 3. Эквивалентные преобразования кс-грамматик.
- •Практическое занятие 4. Построение конечных автоматов.
- •Практическое занятие 5. Построение минимального и приведенного конечного автомата.
- •Практическое занятие 6. Преобразование недетерминированного ка в детерминированный.
- •Практическое занятие 7. Построение автоматов с магазинной памятью.
- •Практическое занятие 8. Построение мп-трансляторов.
- •Практическое занятие 9. Построение s-грамматик и мп-автоматов для обработки языков, порождаемых этими грамматиками.
- •Практическое занятие 10. Построение q-грамматик и мп-автоматов для обработки языков, порождаемых этими грамматиками.
- •Практическое занятие 11. Построение ll(1)-грамматик и мп-автоматов для обработки языков, порождаемых этими грамматиками.
- •Практическое занятие 12. Определение атрибутов и работа с атрибутными транслирующими грамматиками.
- •Приложение 1.
Практическое занятие 4. Построение конечных автоматов.
Цель: освоение навыка построения конечных распознавателей, распознавания цепочек языка.
Задание 1.
Постройте конечный автомат с входным алфавитом {0,1}, который допускает в точности такое множество цепочек:
Число единиц четное, а число нулей – нечетное;
Между вхождениями единиц четное число нулей;
За каждым вхождением пары 11 следует 0;
Каждый третий символ – единица;
Все входные цепочки, начинающиеся с нуля и кончающиеся на единицу;
Все цепочки, в которых перед и после каждой единицы стоит ноль.
Рекомендуемая литература: [2], [3], конспект лекций.
Этапы выполнения.
Для каждого множества цепочек:
Определить множество состояний конечного автомата, выделив начальное состояние.
Задать функции переходов для каждой пары (состояние, входной символ).
Определить финальные состояния конечного автомата.
Оформить полученное решение в виде таблицы переходов.
Привести для каждого автомата примеры цепочек и продемонстрировать на них работу построенного автомата.
Задание 2.
Опишите словами множества цепочек, распознаваемых каждым из следующих автоматов:
-
0
1
A
B
A
0
B
B
C
0
C
C
C
1
-
0
1
A
B
C
0
B
C
B
1
C
C
C
0
-
0
1
A
B
C
0
B
D
B
1
C
C
D
1
D
D
D
0
-
0
1
A
B
A
0
B
D
C
0
C
C
D
1
D
D
D
0
Рекомендуемая литература: [2], [3], конспект лекций.
Этапы выполнения.
Для каждого автомата:
Описать словами множества цепочек, распознаваемых данным автоматом.
Привести для описанного языка примеры цепочек и продемонстрировать их распознавание заданным автоматом.
