Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовик без 3го задания.doc
Скачиваний:
3
Добавлен:
21.04.2019
Размер:
544.77 Кб
Скачать

Раздел 7

АЛГОРИТМ РАЗБОРА ТИПА "ПЕРЕНОС-СВЕРТКА

Задание 7.1. Построить анализатор типа "перенос-свертка" и промоделировать его работу для следующей грамматики простого предшествования G = < T, N, S, R >, где T = { *, i, (, ), = }, N = { S, L, R }, R = { S  → L=R, S  → R, L  → *R, L  → i, R  → (L)}.

Построим матрицу простого предшествования

S

L

R

*

i

(

)

=

ε

S

L

=

=

R

>

>

>

*

=

<

i

>

>

(

=

<

<

)

>

>

>

=

=

<

<

<

<

<

<

Построим функцию переноса f

*

i

(

)

=

ε

S

L

П

П

R

С

С

С

*

П

i

С

С

(

П

П

)

C

C

С

=

П

П

П

П

S⊥

Д

Построим функцию свертки g

α

g(α)

L=R

1

R

2

(

*R

3

*R

3

(

i

4

i

4

*

(L)

5

=

(L)

5

(L)

5

Пример разбора цепочки, порождаемой заданной грамматикой предшествования, с помощью разработанного алгоритма.

(⊥, (*(i)), ɛ) →

(⊥(, *(i)), ɛ) →

(⊥(*, (i)), ɛ) →

(⊥(*(, i)), ɛ) →

(⊥(*(i, )), ɛ) →

(⊥(*(L, )), 4) →

(⊥(*(L), ), 4) →

(⊥(*R, ), 45) →

(⊥(L, ), 453) →

(⊥(L), , 453) →

(⊥R, ɛ, 4535) →

(⊥S, ɛ, 45352) →ДОПУСК