Иерархия Хомского формальных грамматик — различия между версиями
Строка 16: | Строка 16: | ||
'''Контекстно-зависимые грамматики''' — это те формальные грамматики, всякое правило из <tex>P</tex> которых имеет вид <tex>\alpha A \beta\rightarrow\alpha\gamma\beta</tex>, где <tex>\alpha , \beta \in \{\Sigma\cup N\}^{*}</tex>, <tex>A \in N</tex> и <tex>\gamma \in \{\Sigma\cup N\}^{+}</tex> (возможно правило <tex>$S$ \to \varepsilon</tex>, но тогда <tex>$S$</tex> не встречается в правых частях правил).}} | '''Контекстно-зависимые грамматики''' — это те формальные грамматики, всякое правило из <tex>P</tex> которых имеет вид <tex>\alpha A \beta\rightarrow\alpha\gamma\beta</tex>, где <tex>\alpha , \beta \in \{\Sigma\cup N\}^{*}</tex>, <tex>A \in N</tex> и <tex>\gamma \in \{\Sigma\cup N\}^{+}</tex> (возможно правило <tex>$S$ \to \varepsilon</tex>, но тогда <tex>$S$</tex> не встречается в правых частях правил).}} | ||
− | Как будет показано [[Неукорачивающие и контекстно-зависимые грамматики, эквивалентность|далее]] неукорачивающие грамматики эквивалентны контекстно зависимым. | + | Как будет показано [[Неукорачивающие и контекстно-зависимые грамматики, эквивалентность|далее]] неукорачивающие грамматики эквивалентны контекстно-зависимым. |
== Класс 2 == | == Класс 2 == |
Версия 08:49, 11 ноября 2011
Определение: |
Иерархия Хомского — классификация формальных грамматик и задаваемых ими языков, согласно которой они делятся на 4 класса по их условной сложности. |
Содержание
Класс 0
К нулевому классу относятся все формальные грамматики. Элементы этого класса называются неограниченные грамматики, поскольку не накладывается никаких ограничений. Практического применения в силу своей сложности такие грамматики не имеют.
Класс 1
Первый класс представлен неукорачивающими и контекстно-зависимыми грамматиками.
Определение: |
Неукорачивающие грамматики — это те формальные грамматики, всякое правило из | которых имеет вид , где и (возможно правило , но тогда не встречается в правых частях правил).
Определение: |
Контекстно-зависимые грамматики — это те формальные грамматики, всякое правило из | которых имеет вид , где , и (возможно правило , но тогда не встречается в правых частях правил).
Как будет показано далее неукорачивающие грамматики эквивалентны контекстно-зависимым.
Класс 2
Второй класс составляют контекстно-свободные грамматики.
Определение: |
Контекстно-свободные грамматики — это те формальные грамматики, всякое правило из | которых имеет вид , где , .
Класс 3
Элементами третьего класса являются праволинейные (автоматные) грамматики.
Определение: |
Праволинейные (автоматные) грамматики — это те формальные грамматики, всякое правило из | которых имеет вид либо , где , , .
Распознавание
Для языков, которые задаются грамматиками из иерархии Хомского, есть машины, которые их распознают. Следующая таблица обощает классы иерархии Хомского, языки, которые ими задаются, и машины, которые распознают эти языки.
Грамматика | Языки | Машина |
---|---|---|
Класс 0 | рекурсивно перечислимые | машина Тьюринга |
Класс 1 | контектно-зависимые | ЛПА |
Класс 2 | контекстно-свободные | автоматы с магазинной памятью |
Класс 3 | регулярные | конечные автоматы |
Источники
Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. М.: Мир, 1978. - Т. 1,2.