Скачиваний:
18
Добавлен:
01.05.2014
Размер:
41.47 Кб
Скачать

Санкт-Петербургский государственный электротехнический университет

КАФЕДРА МО ЭВМ

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ N7

по дисциплине "Теория языков программирования"

“Алгоритм разбора типа перенос свертка.”

Преподаватель: Самойленко В.П.

студенты гр. 0341 Юбрин А.Н.

Шин Е.Д.

Санкт-Петербург

2002

  1. Построить анализатор типа перенос-свертка для грамматики слабого предшествования

S  N ; Q (1)

S  S A (2)

S  A (3)

N  n (4)

Q  N ; n (5)

Q  q (6)

Q  Q ; q (7)

A  ( S ) (8)

A  ( ) (9)

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

S

N

Q

A

q

n

;

(

)

S

=

<

=

N

=

Q

=

>

>

>

A

>

>

>

q

>

>

>

>

n

>

>

>

>

;

<

<=

<=

<=

(

<=

<

<

<

<

=

)

>

>

>

<

<

<

<

<

  1. Определим отношение = непосредственно по правилам

S=A (2)

S=) (8)

N=; (1), (5)

Q=; (7)

;=Q (1)

;=q (7)

;=n (5)

(=S (8)

(=) (9)

  1. Определим отношение <X

< S (2)

< N (1)

< A (3)

< n (1)=>(4)

< ( (3)=>(9)

  1. Определим отношение X>

Q > (1)

A > (2)

q > (1)=>(6)

n > (1)=>(5)

) > (2)=>(9)

  1. Определим отношения X>Y

Q >(правило ABY, B=>+Q, Y=>*( SSA, S=>N;Q , A=>( )

Q >)правило ABY, B=>+Q, Y=>*) A(S), S=>N;Q, )

A >( правило ABY, B=>+A, Y=>*( SSA, S=>A, A=>( )

A >) правило ABY, B=>+A, Y=>*( A(S), S=>A, )

q > ; правило ABY, B=>+q, Y=>*; QQ ; q, Q=>q, ;

q >(правило ABY, B=>+q, Y=>*( SSA, S=>N;Q=>N;q, A=>( )

q >)правило ABY, B=>+q, Y=>*) A(S), S=>N;Q=>N;q, )

n > ; правило ABY, B=>+n, Y=>*; QN ; n, N=>n, ;

n >(правило ABY, B=>+n, Y=>*( SSA, S=>N;Q=>N;N;n, A=>( )

n >)правило ABY, B=>+n, Y=>*) A(S), S=>N;Q=>N;N;n, )

) >(правило ABY, B=>+), Y=>*( SSA, S=>A=>(), A=>( )

) >)правило ABY, B=>+), Y=>*) A(S), S=>A=>(), )

  1. Определим отношения X<Y

S < ( правило ASB, B=>+(, SS A, A=>()

; < N правило A;B, B=>+N, S  N ; Q, Q=>N;n

; < Q правило A;B, B=>+Q, S  N ; Q, Q=>Q;q

; < q правило A;B, B=>+q, S  N ; Q, Q=>q

; < n правило A;B, B=>+n, S  N ; Q, Q=>N;n=n;n

( < S правило AB, B=>+S, A  (S), S=>S A

( < N правило A(B, B=>+N, A  (S), S=>N;Q

( < A правило AB, B=>+Q, A  (S), S=>A

( < ( правило A(B, B=>+q, A  (S), S=>A=>( )

( < n правило A(B, B=>+n, A  (S), S=>N;Q=>n ; Q

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

q

n

;

(

)

S

П

П

N

П

Q

П

С

С

С

A

С

С

С

q

С

С

С

С

n

С

С

С

С

;

П

П

(

П

П

П

)

С

С

С

П

П

S

Д

Пустые ячейки ошибка

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

1

2

3

4

5

6

7

8

9

S

8

9

N

Q

A

q

n

;

5

6

7

(

1

2

3

4

5

8

9

)

1

2

3

4

5

8

9

Соседние файлы в папке Лабораторные работы 1-7(старые)