Определение. Язык называют контекстным (контекстно-свободным, регулярным), если он порождается некоторой контекстной (контекстно-свободной

Язык называют контекстным (контекстно-свободным, регулярным), если он порождается некоторой контекстной (контекстно-свободной, регулярной) грамматикой. Контекстно-свободные языки называют также алгебраическими языками.

Замечание

Двигаясь от грамматики G0 к грамматике G3 можно заметить, что в то время как ограничения на правила вывода усиливаются, описательные возможности языков уменьшаются.

Рис. 3

Для грамматик справедливо следующее очевидное утверждение (см. рис. 3):

1. Любая регулярная грамматика является контекстно-свободной грамматикой.

2. Любая контекстно-свободная грамматика является контекстно-зависимой грамматикой.

3. Любая контекстно-зависимая грамматика является грамматикой типа 0.

Аналогичными свойствами обладают иязыки, описываемые этими грамматиками:

1. Каждый регулярный язык является контекстно-свободным языком, но существуют контекстно-свободные языки, которые не являются регулярными например,

L(G)={(an, bn | n>0}

Каждый контекстно-свободный язык является контекстно-зависимым языком, но существуют контекстно-зависимые языки, которые не являются контекстно-свободным языками, например

L(G)={(an, bn,cn | n>0}

Каждый контекстно-зависимый язык является языком типа 0.

Заметим, что если язык задан грамматикой типа m, то это не значит, что не существует грамматики типа m1 >m, описывающей тот же язык. Поэтому, когда говорят о языке типа m, обычно имеют в виду максимально возможный номер m.[1]


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: