Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора — различия между версиями
Haliullin (обсуждение | вклад) (Новая страница: «{{Определение |definition= '''Контекстно-свободной грамматикой''' называется грамматика, у которо…») |
Haliullin (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
− | '''Контекстно-свободной грамматикой''' называется грамматика, у которой в левых частях | + | '''Контекстно-свободной грамматикой''' называется грамматика, у которой в левых частях всех правил стоят только одиночные нетерминалы. |
}} | }} | ||
Язык, задаваемый контекстно-свободной грамматикой называется ''контекстно-свободным языком''. | Язык, задаваемый контекстно-свободной грамматикой называется ''контекстно-свободным языком''. | ||
Строка 23: | Строка 23: | ||
}} | }} | ||
Крона дерева разбора представляет из себя слово языка, которое выводит это дерево. | Крона дерева разбора представляет из себя слово языка, которое выводит это дерево. | ||
+ | |||
+ | {{Определение | ||
+ | |definition= | ||
+ | Грамматика называется однозначной, если у каждого слова имеется не более одного дерева разбора в этой грамматкие. | ||
+ | }} | ||
+ | {{Утверждение | ||
+ | |statement= | ||
+ | Пусть <tex>\Gamma</tex> - однозначная грамматика. Тогда <tex>\forall \omega \in \mathbb{L}(\Gamma)</tex> у <tex>\omega</tex> существует ровно один левосторонний (правосторонний) вывод. | ||
+ | |proof= | ||
+ | Очевидно, что по дереву разбора однозначно восстанавливается левосторонний вывод. Поскольку каждое слова из языка выводится только одним деревом разбора, то и левосторонний вывод, выводящий это слово, существует только один | ||
+ | }} |
Версия 00:09, 15 октября 2010
Определение: |
Контекстно-свободной грамматикой называется грамматика, у которой в левых частях всех правил стоят только одиночные нетерминалы. |
Язык, задаваемый контекстно-свободной грамматикой называется контекстно-свободным языком.
Определение: |
Выводом слова | называется последовательность строк, состоящих из терминалов и нетерминалов, где первой идет строка, состоящая из одного стартового нетерминала, а каждая последующая строка получена из предыдущей путем замены любого нетерминала по одному (любому) из правил, и последней строкой в последовательности является слово .
Определение: |
Левосторонним выводом слова | называется его вывод такой, что каждая последующая строка получена из предыдущей путем замены самого левого встречающегося в строке нетерминала по одному из правил.
Аналогичным образом определяется правосторонний вывод.
Определение: |
Деревом разбора называется дерево, на вершинах которого записаны терминалы или нетерминалы, а дети вершины, на которой записан нетерминал, соответствуют раскрытию нетерминала по одному любому правилу, в левой части которого стоит этот нетерминал, и упорядочены так же, как в правой части этого правила. Все вершины, помеченные терминалами, являются листьями. Все вершины, помеченные нетерминалами имеют детей. |
Определение: |
Кроной дерева разбора называется множество терминальных символов, упорядоченное в соответствии с номерами их достижения при обходе дерева из корня в глубину. |
Крона дерева разбора представляет из себя слово языка, которое выводит это дерево.
Определение: |
Грамматика называется однозначной, если у каждого слова имеется не более одного дерева разбора в этой грамматкие. |
Утверждение: |
Пусть - однозначная грамматика. Тогда у существует ровно один левосторонний (правосторонний) вывод. |
Очевидно, что по дереву разбора однозначно восстанавливается левосторонний вывод. Поскольку каждое слова из языка выводится только одним деревом разбора, то и левосторонний вывод, выводящий это слово, существует только один |