Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Курсовая работа5 / Раздел 6

.doc
Скачиваний:
7
Добавлен:
01.05.2014
Размер:
280.06 Кб
Скачать

Курсовая работа. Раздел 6

Вариант 19

6.1. Построить LR(0) – распознаватель грамматики G = (T,N,S,R).

T = {a, b, c}

N = {S, A, B}

R = {S  a S b (1),

S  aSc (2),

S  a b (3)}

Добавим правило:

S0  S

Множество магазинных символов:

VP={S0, a11, S12, b13, a21, S22, c23, a31, b32, }

Построим управляющую таблицу

Функция действий f

a

b

c

S0

ДОП

a11

П

П

П

S12

П

П

П

b13

C,1

C,1

C,1

C,1

a21

П

П

П

S22

П

П

П

c23

C,2

C,2

C,2

C,2

a31

П

П

П

b32

C,3

C,3

C,3

C,3

П

П

П

Матрица отношений OBLOW

S0

a11

S12

b13

a21

S22

c23

a31

b32

S0

a11

1

1

1

1

S12

1

b13

a21

1

1

1

1

S22

1

c23

a31

1

b32

1

1

1

1

Функция переходов g

a

b

c

S

S0

a11

a11, a21, a31

S12

S12

b13

b13

a21

a11, a21, a31

S22

S22

c23

c23

a31

b32

b32

a11, a21, a31

S0

Преобразуем в детерминированный автомат

{a11, a21, a31} - ax

{S12, S22} - Sx

Запишем окончательный вариант управляющей таблицы

a

b

c

a

b

c

S

S0

ДОП

ax

П

П

П

ax

b32

Sx

Sx

П

П

П

b13

c23

b13

C,1

C,1

C,1

C,1

c23

C,2

C,2

C,2

C,2

b32

C,3

C,3

C,3

C,3

П

П

П

ax

S0

Примеры работы анализатора:

1) S  a S c  a a b c

(2) (3)

(, aabc, ) ˫ (ax, abc, ) ˫(axax, bc, ) ˫(axaxb32, c, ) ˫ (axSx, c, 3) ˫(axSxc23, , 3) ˫(S0, , 32) ˫(, , 32)

2) S  a S b  a a S c b  a a a b c b

(1) (2) (3)

(, aaabcb, ) ˫ (ax, aabcb, ) ˫(axax, abcb, ) ˫(axaxax, bcb, ) ˫ (axaxaxb32, cb, ) ˫(axaxSx, cb, 3) ˫(axaxSxc23, b, 3) ˫(axSx, b, 32) ˫(axSxb13, , 32) ˫(S0, , 321) ˫(, , 321)

3) проверим цепочку abbc

(, abbc, ) ˫ (ax, bbc, ) ˫(axb32, bc, ) ˫ (Sx, bc, 3) ˫(Sxb13, c, 3) ˫ОШИБКА!

Соседние файлы в папке Курсовая работа5