[16.05.11] Лекция №12 (Конспекты - Теория формальных языков)
Описание файла
Файл "[16.05.11] Лекция №12" внутри архива находится в следующих папках: Конспекты - Теория формальных языков, 13 - [16.05.11] Лекция №12. Документ из архива "Конспекты - Теория формальных языков", который расположен в категории "". Всё это находится в предмете "теория формальных языков" из 6 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "теория формальных языков" в общих файлах.
Онлайн просмотр документа "[16.05.11] Лекция №12"
Текст из документа "[16.05.11] Лекция №12"
Лекция №12 [16.05.11]
Вспомним, что мы делаем вообще: нам надо сделать такой автомат, чтобы соответствующий вывод цепочек был без тупиков.
у нас есть КС-грамматика, правила вывода. А от КС-грамматики мы можем перейти к МП-автомату, который будет реализовывать левый вывод всех допустимых цепочек.
Если есть аксиома, и за некоторое количество шагов мы получаем , а потом есть и , то надо выбрать, по какому пути пойдём. А нам известно, это первый нетерминал, который нам встречается при анализе, и естественно .
Короче, это разветвление у МП-автомата выглядит так: - верхний символ магазина. И мы будем типа подсматривать на ленту вперёд, но на фиксированную длину.
И вот мы сформулировали -условие: , , , , , если это всё, то: , оно КС-грамматика. Как-то так.
Пример:
В прошлый раз мы установили, что эта грамматика не является
Проверим, будет ли она . Для проверки условия достаточно для каждого нетерминала грамматики проделать следующее:
1) вычислить все такие цепочки и все такие, что имеет место левая выводимость ;
2) зафиксировав левый контекст для каждой пары правил , вычислить -множество и для всех и убедиться в том, что их пересечение пусто;
Что можно получить из нетерминала ?
теперь множество двухбуквенных префиксов (первые два уже фиксированные, тут хоть как крутись, будут только они два)
пересечение первого ( ) и второго ( ) – пустое. Условие пока что выполняется.
теперь и и пересечение почему-то опять пусто.
и для , пересечение опять пусто.
Для любого из того, что выводится следует, что для любого пересечение -множеств является пустым.
Теперь будем разбираться с нетерминалом :
их пересечение вновь пусто. Но это ещё не всё, потому что надо для всех возможных.
пересечение пустое.
Таким образом, -условие для данной грамматики выполнено, и, следовательно, данная грамматика является -грамматикой.
Возможные аванцепочки (цифры – номера правил из самого начала примера)
2 | 1 | - | - | - | - | 2 | |
3 | 3 | 4 | - | - | 4 | - |
Предъявлена управляющая таблица, указывающая, какое именно правило нужно применить для конкретной аванцепочки и заданного нетерминала. В данном случае в этой таблице нигде не присутствует .
-грамматика, для которой номер применяемого на каждом шаге правила определяется только нетерминалом и аванцепочкой, но не зависит от (от левого контекста, иначе говоря), называется сильной -грамматикой.
Вот пример по применению этой таблицы:
- содержимое выходной цепочки, на которой будут записываться номера применяемых правил
вспомним правила МП-автомата:
где над выводом цифра – это сколько шагов мы делали правила МП, по удалению повторных в
- восстановили исходную. Йощь.
А вот возьмём цепочку, не принадлежащую нашему языку:
В общем случае, учёт левого контекста (цепочки ) не ведётся.
Пример:
Эта грамматика конечна. Почему-то. Построим деревья вывода.
Проверим, что данная грамматика является -грамматикой:
пересечение пустое.
Эта грамматика является -грамматикой, но не является сильной, потому что нужно учитывать левый контекст.
нетерминал | аванцепочка | правило | |
(1) (2) (3) | |||
(3) (4) | |||
(3) (4) |
Последняя строчка, кстати, показывает, что данная грамматика не является -грамматикой.
Ещё пример:
Рассмотрим грамматику, которая не является -грамматикой ни при каком
По фиксированному заранее количеству букв невозможно определить, какое правило (1 или 2) надо применять на первом шаге. Поскольку слова могут быть достаточно длинными.