Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
132
Добавлен:
16.04.2015
Размер:
621.26 Кб
Скачать

Пример 5.3.

Теперь определим правило для нетерминала [q1Xq1] из правой части (2.2) по движению

(2) (q1, 0, X) = {(q1, XX)}: (2.3) [q1Xq1] 0[q1Xq0][q0Xq1] (2.4) [q1Xq1] 0[q1Xq1][q1Xq1]

Правило (2.3) излишне, так как нетерминал [q1Xq0] в правой части этого правила непродуктивный, ибо

R = {[q0Xq1], [q1Xq1], [q1Zq1], [q0Zq1] }.

91

Пример 5.3.

Окончательно получаем следующее множество правил приведённой грамматики:

(0.2) S [q0 Zq1],

(1.4) [q0 Zq1] 0[q0 Xq1][q1Zq1], (2.2) [q0 Xq1] 0[q0 Xq1][q1Xq1], (2.4) [q1Xq1] 0[q1Xq1][q1Xq1],

(3) [q0 Xq1] 1,

(4) [q1 Xq1] 1,

(5) [q1Xq1] ,

(6) [q1Zq1] .

Заметим, что первый индекс, не равный 0, в номерах правил грамматики соответствует номеру равенства в определении .

92

Пример 5.3.

Обозначим

[q0Zq1] = A, [q1Zq1] = B,

[q0Xq1] = C, [q1Xq1] = D.

В новых обозначениях нетерминалов имеем следующие правила грамматики:

(1)S A,

(2)A 0CB,

(3)B

(4)C 0CD (5) C 1,

(6) D 0DD, (7) D 1, (8) D .

 

1

S

 

 

A

2

0CB

4

00CDB

5

8

001DB

001B

3

001.

Next

93

 

Соседние файлы в папке lectures