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

  2. Удаление недостижимых символов;

  3. Удаление бесплодных (бесполезных) символов;

  4. Удаление - правил (пустых правил);

  5. Удаление цепных правил;

  6. Если на предыдущих шагах алгоритма приведения грамматики произошло её преобразование, то шаги 2-5 повторить (хотя достаточно выполнить шаги 2 и 3).

1.2.1. Определение пустоты языка

Определение: Язык называется пустым, если множество его слов пусто.

1.2.1.1. Алгоритм определения пустоты языка

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

Выход: Если -выдать «НЕТ»; -выдать «ДА».

Метод:

1. ;

2. ;

3. Если , то переходим к шагу 4;

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

4. Если , то язык не пуст и выдать «ДА»;

если , то язык пуст и выдать «НЕТ».

Пример :

.

Решение:

1.  ;

2.  ;

3.  ;

4.  ;

5.  , алгоритм останавливается;

6.  - «Нет» (пуст).

Ответ: язык пуст.

1.2.2. Удаление недостижимых символов

Определение: Символ является недостижимым, если он не появляется в правых частях правил данной грамматики.

1.2.2.1. Алгоритм удаления недостижимых символов

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

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

Метод:

1. ;

2. ;

3. Если , то переходим к шагу 4;

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

4. ;

;

;

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

.

Пример :

.

Решение:

1.  ;

2.  ;

3.  ;

4.  ;

5.  ;

6.  ;

7.  ;

8.  ;

;

- Целевой символ

.

1.2.3. Удаление бесплодных (бесполезных) символов

Определение: Символ называется бесплодным (бесполезным), если множество выводов для данного символа пусто, т.е.

.

(символ не порождающий терминальной цепочки).

1.2.3.1. Алгоритм удаления бесплодных символов

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

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

Метод:

1. ;

2. ;

3. Если , то переходим к шагу 4;

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

4. , , , .

1.2.4. Удаление пустых правил

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

1) Если в ней отсутствуют правила вида ;

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

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

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

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

Метод:

1. , ;

2. ;

3. Если , то переходим к шагу 4;

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

4. ;

;

- содержит все правила из .

5. Если в новом множестве правил присутствует правило вида , причем элементы цепочки содержат символы из построенного множества , то в новое множество правил добавляются правила вида , где - цепочка, которая формируется из цепочки путем исключения всевозможных комбинаций элементов , кроме пустых правил.

6. Если целевой символ исходной грамматики попал в построенное множество , т.е. , то во множество правил результирующей грамматики добавляются правила вида , и целевым символом грамматики будет новый символ .

1.2.5. Удаление цепных правил

Определение: Правило вида называется цепным.

Определение: Циклическим выводом называется вывод вида

;

; .