Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ШПОРЫ_ТЯП.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
1.63 Mб
Скачать

8.Иерархия грамматик по Хомскому

Хомский определил 4 класса грамматик, которые назвал грамматиками 0-го…3-го типов. Грамматики 0-го типа или рекурсивно перечислимые грамматики. Грамматики 1-го типа –контекстно-зависимые, грамматики 2-го типа - контекстно-свободные, грамматики 3-го типа- регулярные грамматики. Грамматика являющаяся праволинейной называется регулярной. Язык, который можно сгенерировать с помощью регулярной грамматики, называется регулярным.

Хомский определил четыре класса грамматик:

  1. 0-го типа или рекурсивно-перечеслимые, определяются как все грамматики, которые соответствуют данному выше определению без ограничений на типы продукций.

Грамматики 0-го типа эквивалентны машинам Тьюринга в том смысле, что для любой данной грамматики 0-го типа существует машина Тьюринга, которая допускает, и только допускает, все предложения, сгенерированные данной грамматикой. И наоборот, для данной машины Тьюринга существует грамматика 0-го типа, которая генерирует точно все предложения, допускаемые машиной Тьюринга.

  1. 1-го типа или конткстно-зависимые. Определяются наложением следующего ограничения на продукции грамматики 0-го типа.

Д ля всех продукций вида выполняется условие, что

Если обратиться к теории автоматов, грамматики 1-го типа эквивалентны линейно ограниченным автоматам в том же смысле, как грамматики 0-го типа эквивалентны машинам Тьюринга.

2-го типа или контектсно-свободная, определяется наложением

следующего ограничения на грамматику 1-го типа.

В левой части продукции должен находиться только один нетерминал

Грамматики 2-го типа эквивалентны магазинным автоматам.

4. 3-го типа или регулярные грамматики – праволинейные или леволинейные

грамматики

Праволинейная грамматика – если в правой части продукции

грамматики присутствует нетерминал, то он должен

находится только справа от терминала

Леволинейная грамматика - если в правой части продукции

грамматики присутствует нетерминал, то он должен

находится только слева от терминала.

В грамматики 2-го и 3-го типа полезно добавить продукцию вида

9 . Порождения синтаксические деревья

Порождение предложения xxxxyyyy для языка

является единственным, генерирующим данное конкретное предложение.

В прочем, в общем случае порождения не являются уникальными.

Например следующий язык

Предложения которого генерируются следующими продукциями

Предложение xxxyy может быть сгенерировано порождениями

Если на каждом шаге порождения заменяется крайний левый нетерминал сентенциальной формы, такое порождение называется левым (leftmost). Соответсвенно второе из рассмотренных порождений называется правым (rightmost).

Существуют порождения, которые не являются ни левыми, ни правыми.

Стоит обратить внимание, что в регулярных грамматиках для каждой строки существует единственное порождение. Прежде всего это связано с тем, что в сентенциальной форме имеется не более одного нетерминала.

П орождение можно описать с помощью синтаксического дерева (или дерева синтаксического разбора).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]