54
правки
Изменения
Нет описания правки
'''Задача о выводе в контекстно-свободной грамматике''' - задача о том, выводимо ли данное слово в данной контекстно-свободной грамматике. '''Алгоритм Кока-Янгера-Касами''' - алгоритм, решающий данную задачу. = Определения = == Формальная грамматика ==
'''Формальная грамматика''' - способ описания формального языка, то есть некоторого подмножества слов данного конечного алфавита. Выделяют ''порождающие'' грамматики, состоящие из следующих компонентов:
'''Выводом''' называется последовательность строк из терминалов и нетерминалов, такая, что:
=== Пример ===
Терминалы: {a, b}. Нетерминалы: {S, A, B}. Продукции:
* S → AB
* A → AB
Слова, невыводимые в данной грамматике: a, b, baa, baba, ...
== Контекстно-свободная грамматика ==
'''Контекстно-свободная грамматика''' ('''КС-грамматика''', '''бесконтекстная грамматика''') — частный случай формальной грамматики, у которой левые части всех правил являются одиночными нетерминалами, то есть все её продукции имеют вид L → R, где L - нетерминал, а R - последовательность терминалов и нетерминалов.
=== Пример ===
Терминалы: {(, )}. Нетерминалы: {S}. Продукции:
* S → SS
* S → ()
* S → (S) → (SS) → (()(S)) → (()(()))
== Нормальная форма Хомского ==
'''Нормальная форма Хомского''' - нормальная форма КС-грамматик, в которой все продукции имеют вид:
* S → ε, где S - начальный нетерминал и ε - пустая строка (данная продукция необходима, если в языке присуствует пустая строка)
= Алгоритм Кока-Янгера-Касами =