Классификация грамматик Хомского
Согласно Ноаму Хомоски, существует четыре типа грамматик - Тип 0, Тип 1, Тип 2 и Тип 3. В следующей таблице показано, чем они отличаются друг от друга.
Тип грамматики | Грамматика принята | Принимаемый язык | Автомат |
---|---|---|---|
Тип 0 | Неограниченная грамматика | Рекурсивно перечисляемый язык | Машина Тьюринга |
Тип 1 | Контекстно-зависимая грамматика | Контекстно-зависимый язык | Линейно-ограниченный автомат |
Тип 2 | Бесконтекстная грамматика | Бесконтекстный язык | Выталкивающий автомат |
Тип 3 | Обычная грамматика | Обычный язык | Конечный автомат |
Взгляните на следующую иллюстрацию. Он показывает объем каждого типа грамматики -
Тип - 3 Грамматика
Type-3 grammarsгенерировать обычные языки. Грамматики типа 3 должны иметь один нетерминал с левой стороны и с правой стороны, состоящий из одного терминала или одного терминала, за которым следует один нетерминал.
Продукция должна быть в форме X → a or X → aY
где X, Y ∈ N (Нетерминальный)
а также a ∈ T (Терминал)
Правило S → ε разрешено, если S не появляется справа ни от одного правила.
пример
X → ε
X → a | aY
Y → b
Тип - 2 Грамматика
Type-2 grammars генерировать контекстно-свободные языки.
Продукция должна быть в форме A → γ
где A ∈ N (Нетерминальный)
а также γ ∈ (T ∪ N)* (Строка терминалов и нетерминалов).
Эти языки, генерируемые этими грамматиками, распознаются недетерминированным автоматом выталкивания.
пример
S → X a
X → a
X → aX
X → abc
X → ε
Тип - 1 Грамматика
Type-1 grammarsсоздавать контекстно-зависимые языки. Продукция должна быть в форме
α A β → α γ β
где A ∈ N (Нетерминальный)
а также α, β, γ ∈ (T ∪ N)* (Строки терминалов и нетерминалов)
Струны α а также β может быть пустым, но γ не должно быть пустым.
Правило S → εразрешено, если S не появляется справа от любого правила. Языки, порожденные этими грамматиками, распознаются линейно ограниченным автоматом.
пример
AB → AbBc
A → bcA
B → b
Тип - 0 Грамматика
Type-0 grammarsгенерировать рекурсивно перечислимые языки. У постановок нет ограничений. Это любая грамматика фазовой структуры, включая все формальные грамматики.
Они генерируют языки, распознаваемые машиной Тьюринга.
Спектакли могут быть в виде α → β где α представляет собой строку терминалов и нетерминалов с хотя бы одним нетерминальным и α не может быть нулевым. β представляет собой цепочку терминалов и нетерминалов.
пример
S → ACaB
Bc → acB
CB → DB
aD → Db