Существенно неоднозначные языки — различия между версиями
(→Неоднозначные грамматики) |
|||
Строка 1: | Строка 1: | ||
== Неоднозначные грамматики == | == Неоднозначные грамматики == | ||
− | Неоднозначной грамматикой называется грамматика, | + | Неоднозначной грамматикой называется грамматика, если существует слово, у которого существует 2 различных дерева разбора. |
===Пример:=== | ===Пример:=== | ||
− | Рассмотрим грамматику <tex>E \rightarrow E + E | E * E</tex> и | + | Рассмотрим грамматику <tex>E \rightarrow E + E | E * E</tex> и выводимое слово <tex>E + E * E</tex>. Его можно вывести двумя способами: |
<tex>E \Rightarrow E + E \Rightarrow E + E * E</tex> | <tex>E \Rightarrow E + E \Rightarrow E + E * E</tex> | ||
Строка 9: | Строка 9: | ||
<tex>E \Rightarrow E * E \Rightarrow E + E * E</tex> | <tex>E \Rightarrow E * E \Rightarrow E + E * E</tex> | ||
− | Эта | + | Эта грамматика неоднозначна. |
== Существенно неоднозначные языки == | == Существенно неоднозначные языки == |
Версия 00:40, 22 ноября 2011
Неоднозначные грамматики
Неоднозначной грамматикой называется грамматика, если существует слово, у которого существует 2 различных дерева разбора.
Пример:
Рассмотрим грамматику
и выводимое слово . Его можно вывести двумя способами:
Эта грамматика неоднозначна.
Существенно неоднозначные языки
Язык называется существенно неоднозначным, если любая его грамматика неоднозначна. Пример такого языка:
, где либо , либо Докажем, что для любой грамматики имеет хотя бы 2 дерева разбора в грамматике .
Возьмем k и рассмотрим слово , где пометим первые k нулей.
По лемме Огдена можно разбить данное слово на 5 частей.
По условию леммы есть нетерминал A - такой, что с помощью него можно породить слово
.Аналогичные рассуждения справедливы для слова
, в котором отмечены все двойки. Пусть в нем повторяющийся нетерминал B.Очевидно, что А и В - разные деревья и одно не является потомком другого.
Тогда если дерево разбора в обоих случаях одинаково, то оно порождает слово вида
, что не так.В результате мы имеем 2 дерева разбора для одного слова. Значит язык существенно не однозначен.
Теорема: |
Для языка принимаемого ДМП-автоматом существует однозначная КС-грамматика |