1. Алфавит, слова, операции над словами
Вид материала | Документы |
Содержание5. Классификация грамматик 6. А-языки. Конечные автоматы. Диаграмма грамматики. |
- Исполнительный кодекс Республики Молдова, 2184.07kb.
- Статьи 4 изложить в следующей редакции: "Статья Ответственность физических, юридических,, 41.3kb.
- Республика Молдова, 777.62kb.
- Федеральный закон, 404.04kb.
- Подготовка к операции по прорыву блокады проводилась в глубокой тайне, 18.04kb.
- Игра «Алфавит» Чтобы узнать тему нашего занятия вы должны расшифровать слова. (зашифрованные, 50.79kb.
- «День культуры и славянской письменности», 78.75kb.
- Выполнили: Фурманова Диана 3класс, 121.65kb.
- Работа со словами с непроверяемыми написаниями, 134.51kb.
- Календарно-тематический план учебная дисциплина: «Математика», 34.71kb.
5. Классификация грамматик
Выделяются определенные классы грамматик, основными среди которых являются контекстно-свободные (КС), контекстно-зависимые (КЗ), автоматные…
Основными типами грамматик являются:
Грамматики класса «0» - не накладывается ограничений на вид правила.
Контекстно-зависимые (КЗ) – грамматики, все правила которых имеют вид , где , (VTVN )*
Например, грамматика G4 с правилами
| S abA ab bA Ab aA aabA aA aab |
Контекстно-свободные (КС- грамматики), все правила которых имеют вид А , где АVN , (VTVN )*.
Например, грамматика G5 с правилами S a Аb ab .
L(G5) = L(G4)
Автоматные (А-грамматики), все правила которых имеют вид Аа, Аa B, А, aVT, A,B VN.
Иногда выделяется еще один класс грамматик: контекстные грамматики, или грамматики класса 1, все правила которых имеют вид , где , (VTVN), A VN, (VTVN )*.
Здесь пара цепочек и составляет неизменяемый контекст правила. Между контекстными грамматиками и КЗ-грамматиками существует взаимно-однозначное соответствие, не всегда очевидное. По выразительной мощности эти классы грамматик совпадают, однако, поскольку для одного и того же языка контекстная грамматика содержит большее число правил, мы будем изучать именно КЗ-грамматики.
Пример.
Грамматика G6, КЗ-грамматика
| S aAc A aABc A b bBbb cB Bc | L(G6)= {anbncn, n |
Эквивалентная ей контекстная грамматика G7. В ней правило переноса символа С заменяется на 3 правила.
| S ABC B ABDC B b bDbb CD ED ED EC EC DC Cc | L(G7)= {anbncn, n |
В соответствии с классом грамматики, порождающей язык, классифицируются языки. Т.Е. язык, для которого может быть порожден КС- грамматикой, называется КС-языком (т.е. язык, для которого существует порождающая его КС-грамматика, и не существует А-грамматики, порождающей этот язык).
А-язык - язык, для которого может быть построена порождающая его А-грамматика.
КЗ-язык – язык, который может быть построен только КЗ-грамматикой.
Непосредственная классификация грамматик выглядит следующим образом.
Класс А-грамматик включается в класс КС-грамматик. Все грамматики принадлежат классу 0.
Однако класс КС-грамматик не включается в класс КЗ-грамматик, так как правила вида А могут принадлежать КС-грамматикам, но не КЗ-грамматикам, т.к. А.
Поэтому общий вид классификации следующий:
Класс 0
КЗ-грамматики
КС-грамматики
КС-грамматики без -правил
А-грамматики без
-правил
А-грамматики
Для рассмотрения иерархии языков надо больше знать о преобразованиях грамматик.
6. А-языки. Конечные автоматы.
Диаграмма грамматики.
Пусть дана А-грамматика G=< VT,VN, S, R> . Диаграмма А-грамматики – граф с помеченными вершинами и дугами. Множество вершин графа соответствует множеству нетерминалов А-грамматики, приведенной к каноническому виду, а множество дуг – множеству правил грамматики.
Преобразование грамматики:
Вводим дополнительный нетерминальный символ К. VN =VNК
Заменяем правила вида Аа на правила АаК.
Вводим дополнительное правило К
Таким образом, все правила грамматики теперь приобрели "стандартный" вид AaB или A.
Построение диаграммы опишем следующими правилами.
1. Каждому нетерминальному символу поставим в соответствие вершину и пометим ее этим символом.
2. Каждому правилу AaB сопоставим дугу из вершины A в вершину В и пометим ее терминальным символом а.
3. Отметим в графе как начальную вершину - вершину, соответствующую начальному символу, и как заключительные - все такие вершины В, что B (на диаграмме используется символ #) .
Пример. Пусть грамматика G8 описывается правилами:
| S aBbC B bbB C aS |
Грамматика в канонической форме будет иметь вид:
| S aBbC B bKbB C aS K |
Диаграмма грамматики приводится на рис.1.
Рис.1
Очевидно, что существует взаимно-однозначное соответсвие между грамматикой в каноническом виде и диаграммой.
Например, рассмотрим диаграмму грамматики, представленную на рис.2.
Рис.2
Очевидно, что диаграмме соответствует грамматика G9 с правилами
| S aSaB B bKbB K |