Иерархия Хомского формальных грамматик — различия между версиями
(→Распознавание) |
Leugenea (обсуждение | вклад) м (→Класс 2) |
||
| Строка 23: | Строка 23: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
| − | '''Контекстно-свободные грамматики''' — это | + | '''Контекстно-свободные грамматики''' — это формальные грамматики, всякое правило из <tex>P</tex> которых имеет вид <tex>A \rightarrow\beta</tex>, где <tex>A\in N </tex>, <tex>\beta \in \{\Sigma \cup N\}^{+}</tex>.}} |
== Класс 3 == | == Класс 3 == | ||
Версия 06:24, 23 января 2012
| Определение: |
| Иерархия Хомского — классификация формальных грамматик и задаваемых ими языков, согласно которой они делятся на 4 класса по их условной сложности. |
Содержание
Класс 0
К нулевому классу относятся все формальные грамматики. Элементы этого класса называются неограниченными грамматиками, поскольку на них не накладывается никаких ограничений. Практического применения в силу своей сложности такие грамматики не имеют.
Класс 1
Первый класс представлен неукорачивающими и контекстно-зависимыми грамматиками.
| Определение: |
| Неукорачивающие грамматики — это те формальные грамматики, всякое правило из которых имеет вид , где и (возможно правило , но тогда не встречается в правых частях правил). |
| Определение: |
| Контекстно-зависимые грамматики — это те формальные грамматики, всякое правило из которых имеет вид , где , и (возможно правило , но тогда не встречается в правых частях правил). |
Как будет показано далее, неукорачивающие грамматики эквивалентны контекстно-зависимым.
Класс 2
Второй класс составляют контекстно-свободные грамматики.
| Определение: |
| Контекстно-свободные грамматики — это формальные грамматики, всякое правило из которых имеет вид , где , . |
Класс 3
Элементами третьего класса являются праволинейные (автоматные) грамматики.
| Определение: |
| Праволинейные (автоматные) грамматики — это те формальные грамматики, всякое правило из которых имеет вид либо , где ,, . |
Распознавание
Для языков, которые задаются грамматиками из иерархии Хомского, есть машины, которые их распознают. Следующая таблица сопоставляет классы иерархии Хомского, языки, которые ими задаются, и машины, которые распознают эти языки.
| Грамматика | Языки | Машина |
|---|---|---|
| Класс 0 | рекурсивно перечислимые | машина Тьюринга |
| Класс 1 | контекстно-зависимые | ЛПА |
| Класс 2 | контекстно-свободные | автоматы с магазинной памятью |
| Класс 3 | регулярные | конечные автоматы |
Источники
Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. М.: Мир, 1978. - Т. 1,2.