Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
эл.лекции.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
6.74 Mб
Скачать

1.2.5.1. Алгоритм удаления цепных правил

Вход: КС-грамматика .

Выход: Грамматика без цепных правил.

Метод:

Шаги 1,2,3,4 повторяются для каждого нетерминала.

1. ;

2. ;

3. Если , то заканчиваем построение множества для текущего нетерминала ;

если , то и переходим к шагу 2;

4. ;

5. ;

;

;

Во множество - заносятся все правила из , кроме цепных.

6. Для всех правил вида , из множества , если нетерминал принадлежит одному из построенных множеств (например ), то во множество правил добавляются правила вида

.

1.3. Нормализация грамматик (Приведение кс-грамматик к нормальной форме)

1.3.1. КС-грамматика в нормальной форме Хомского

Определение: КС-грамматика называется грамматикой в нормальной форме Хомского (бинарной нормальной форме), если на множество правил данной грамматики накладываются следующие ограничения

1. , ;

2. , ;

  1. , если - цель и не встречается в правых частях других правил.

1.3.1.1. Алгоритм преобразования к нормальной форме Хомского

Вход: Приведенная КC-грамматика .

Выход: - грамматика в нормальной форме Хомского.

Метод:

1. , ;

2. Если во множестве правил встречается правило вида

,

где

.

Тогда данное правило добавляется во множество правил без изменений;

3. Если во множестве правил встречается правило вида

,

где

, .

Тогда данное правило добавляется во множество правил без изменений;

4. Если во множестве правил встречается правило вида

,

где

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

Тогда данное правило добавляется во множество правил без изменений;

5. Если во множестве правил встречается правило вида

,

где

, .

Тогда во множество правил добавляются правила вида

;

.

Во множество нетерминалов добавляется новый нетерминал вида , т.е.

;

6. Если во множестве правил встречается правило вида

,

где

, .

Тогда во множество правил добавляются правила вида

;

.

Во множество нетерминалов добавляется новый нетерминал вида , т.е.

;

7. Если во множестве правил встречается правило вида

,

где

, .

Тогда во множество правил добавляются правила вида

;

;

.

Во множество нетерминалов добавляются новые нетерминалы вида , , т.е.

;

8. Если во множестве правил встречаются правила вида

,

где

, .

Тогда во множество правил добавляются правила вида

;

;

.

Во множество нетерминалов добавляются новые нетерминалы вида , т.е.

.

Если , то в правых частях добавляемых правил заменяется на новый нетерминал , который добавляется в , а во множество правил добавляются правила вида

.

Если , то не производим никаких замен, все остается без изменений;

9. , грамматика является грамматикой в нормальной форме Хомского.

Пример :

.

Решение:

1. ;

2. Правила вида переносятся в без изменений.

;

;

3. Правила вида переносятся в без изменений.

;

;

;

4. Правила вида переносятся без изменений. Правила такого вида отсутствуют;

5. заменяем на правила вида

;

.

И множество .

заменяем на правила вида

;

.

И множество ;

6. заменяем на правила вида

;

;

И множество ;

7. заменяем на правила вида

;

;

;

И множество ;

заменяем на правила вида

;

;

;

;

;

И множество .

заменяем на правила вида

;

;

И множество .

В результате получаем грамматику со следующими правилами

.

1.3.2. КС-грамматика в нормальной форме Грейбах