Приведение грамматики к ослабленной нормальной форме Грейбах — различия между версиями
Zernov (обсуждение | вклад) |
Zernov (обсуждение | вклад) |
||
Строка 59: | Строка 59: | ||
Нормальная форма Холмского позволяет производить разбор грамматики. Например, с помощью [[Алгоритм Кока-Янгера-Касами разбора грамматики в НФХ|алгоритма Кока-Янгера-Касами]]. В свою очередь, нормальная форма Грейбах позволяет использовать метод рекурсивного спуска, сложность которого является линейной, несмотря на возвраты. | Нормальная форма Холмского позволяет производить разбор грамматики. Например, с помощью [[Алгоритм Кока-Янгера-Касами разбора грамматики в НФХ|алгоритма Кока-Янгера-Касами]]. В свою очередь, нормальная форма Грейбах позволяет использовать метод рекурсивного спуска, сложность которого является линейной, несмотря на возвраты. | ||
+ | |||
+ | ==Источники информации== | ||
+ | * [[wikipedia:en:Greibach normal form | Wikipedia {{---}} Greibach normal form]] | ||
[[Категория: Теория формальных языков]] | [[Категория: Теория формальных языков]] | ||
[[Категория: Контекстно-свободные грамматики]] | [[Категория: Контекстно-свободные грамматики]] |
Версия 17:34, 6 декабря 2016
Определение: |
Грамматикой в нормальной форме Грейбах (Greibach normal form) называется контекстно-свободная грамматика, в которой могут содержаться только правила одного из следующих типов:
|
Определение: |
Грамматикой в ослабленной нормальной форме Грейбах (Greibach weak normal form) называется контекстно-свободная грамматика, в которой могут содержаться только правила одного из следующих типов:
|
Содержание
Приведение грамматики к ослабленной нормальной форме Грейбах
Теорема: |
Любую контекстно-свободную грамматику можно привести к ослабленной нормальной форме Грейбах. |
Доказательство: |
Рассмотрим контекстно-свободную грамматику . Для приведения её к нормальной ослабленной форме Грейбах нужно выполнить три шага. На каждом шаге мы строим новую грамматику, допускающую тот же язык, что и .
|
Асимптотика
Алгоритм состоит из трех шагов, сложность первого и последнего шага равны
и соответственно. Таким обзом, сложность алгоритма является , где второй член — сложность алгоритма удаления левой рекурсии.Применение
Простота доказательств
Использование нормальных форм существенно упрощает доказательство теорем. Например, использование нормальной формы Грейбах позволяет доказать, что для каждого контекстно-свободного языка (не содержащего
) существует автомат с магазинной памятью без переходов по .Разбор грамматики
Нормальная форма Холмского позволяет производить разбор грамматики. Например, с помощью алгоритма Кока-Янгера-Касами. В свою очередь, нормальная форма Грейбах позволяет использовать метод рекурсивного спуска, сложность которого является линейной, несмотря на возвраты.