Курсовая работа5 / Раздел 7
.docКурсовая работа. Раздел 7
Вариант 19
7.1. Определить класс заданной грамматики (простое, слабое, операторное предшествование) и построить управляющую таблицу алгоритма типа «Перенос – Свертка».
G=<T, N, S, R>
Терминалы: ;, n, q
Нетерминалы: S, N, Q
Правила:
-
S N ; Q
-
N n
-
Q N ; n
-
Q q
-
Q Q ; q
Уберем правило N n
-
S n ; Q
-
Q n ; n
-
Q q
-
Q Q ; q
Построим матрицу простого предшествования
|
S |
Q |
; |
n |
q |
|
S |
|
|
|
|
|
|
Q |
|
|
= |
|
|
|
; |
|
< |
|
<= |
= |
|
n |
|
|
= |
|
|
> |
q |
|
|
> |
> |
|
> |
|
|
|
|
< |
|
|
Построим функцию переноса f
|
; |
n |
q |
|
S |
|
|
|
|
Q |
П |
|
|
|
; |
|
П |
П |
|
n |
П |
|
|
С |
q |
С |
С |
|
С |
|
|
П |
|
Д |
Построим функцию свертки g
|
g() |
|
X |
|
|
; |
n ; n |
2 |
; |
q |
3 |
; |
Q ; q |
4 |
|
n ; Q |
1 |
Примеры работы анализатора:
-
Цепочка n;n;n
( , n;n;n , ε) ˫ (n , ;n;n , ε) ˫ (n; , n;n , ε) ˫ (n;n , ;n , ε) ˫ (n;n; , n , ε) ˫ ( n;n;n , ε , ε) ˫ ( n;Q , ε , 2) ˫ ( S , ε , 21) ˫ ДОПУСК
-
Цепочка n;q;q
( , n;q;q , ε) ˫ (n , ;q;q , ε) ˫ (n; , q;q , ε) ˫ (n;q , ;q , ε) ˫ (n;Q , ;q , 3) ˫ ( n;Q; , q , 3) ˫ ( n;Q;q , ε , 3) ˫ ( n;Q , ε , 34) ˫ ( S , ε , 341) ˫ ДОПУСК
-
Цепочка n;n;q;q
( , n;n;q;q , ε) ˫ (n , ;n;q;q , ε) ˫ (n; , n;q;q , ε) ˫ (n;n , ;q;q , ε) ˫ (n;n; , q;q , ε) ˫ ( n;n;q , ;q , ε) ˫ ( n;n;Q , ;q , 3) ˫ ( n;n;Q; , q , 3) ˫ ( n;n;Q;q , ε , 3) ˫ ( n;n;Q , ε , 34) ˫ ( n;S , ε , 341) ˫ ОШИБКА