|
Дипломная работа: Программно-методический комплекс для обучения процессу создания компиляторов
Шаги |
Таблица кодов лексем |
Имя в программе |
Элемент грамматики БНФ |
Результат сравнения |
Формируемая таблица переходов |
Выполненное действие |
текущая позиция |
следующая позиция |
позиция |
табл |
код, специф |
тип |
имя |
текущая конструкция |
тип |
табл |
код
(для ТС)
|
строка |
столбец |
вносимое значение |
строка |
столбец |
40 |
14 |
2 |
2 |
ИД |
a |
id |
<assign> |
ИД |
2 |
|
+ |
9 |
2 |
$2,2 |
9 |
3 |
|
41 |
15 |
1 |
28 |
ТС |
:= |
:= |
<assign> |
ТС |
1 |
28 |
+ |
9 |
3 |
$1,28 |
9 |
4 |
|
42 |
16 |
3 |
1 |
ЛЦ |
1 |
<exp> |
<assign> |
НС |
|
|
|
9 |
4 |
@10,2 |
10 |
1 |
|
43 |
16 |
3 |
1 |
ЛЦ |
1 |
|
|
|
|
|
|
10 |
1 |
@9,5 |
10 |
2 |
|
44 |
16 |
3 |
1 |
ЛЦ |
1 |
– |
<exp> |
–ТС |
1 |
33 |
– |
10 |
2 |
|
|
|
|
45 |
16 |
3 |
1 |
ЛЦ |
1 |
<term> |
<exp> |
НС |
|
|
|
10 |
2 |
@11,2 |
11 |
1 |
|
46 |
16 |
3 |
1 |
ЛЦ |
1 |
|
|
|
|
|
|
11 |
1 |
@10,3 |
11 |
2 |
|
47 |
16 |
3 |
1 |
ЛЦ |
1 |
<factor> |
<term> |
НС |
|
|
|
11 |
2 |
@12,2 |
12 |
1 |
|
48 |
16 |
3 |
1 |
ЛЦ |
1 |
|
|
|
|
|
|
12 |
1 |
@11,3 |
12 |
2 |
|
49 |
16 |
3 |
1 |
ЛЦ |
1 |
id |
<factor> |
ИД |
2 |
|
– |
12 |
2 |
|
|
|
|
50 |
16 |
3 |
1 |
ЛЦ |
1 |
int |
<factor> |
ЛЦ |
3 |
|
+ |
12 |
2 |
$3,1 |
12 |
3 |
|
51 |
17 |
1 |
32 |
ТС |
+ |
|
<factor> |
|
|
|
|
12 |
3 |
|
12 |
1 |
конец конструкции |
52 |
17 |
1 |
32 |
ТС |
+ |
|
|
|
|
|
|
12 |
1 |
|
11 |
3 |
переход |
53 |
17 |
1 |
32 |
ТС |
+ |
* |
<term> |
ТС |
1 |
34 |
– |
11 |
3 |
|
|
|
|
54 |
17 |
1 |
32 |
ТС |
+ |
DIV |
<term> |
ТС |
1 |
17 |
– |
11 |
3 |
|
|
|
|
55 |
17 |
1 |
32 |
ТС |
+ |
/ |
<term> |
ТС |
1 |
37 |
– |
11 |
3 |
|
|
|
|
56 |
17 |
1 |
32 |
ТС |
+ |
|
<term> |
|
|
|
|
11 |
3 |
|
11 |
1 |
конец конструкции |
57 |
17 |
1 |
32 |
ТС |
+ |
|
|
|
|
|
|
11 |
1 |
|
10 |
3 |
переход |
58 |
17 |
1 |
32 |
ТС |
+ |
+ |
<exp> |
ТС |
1 |
32 |
+ |
10 |
3 |
$1,32 |
10 |
4 |
|
59 |
18 |
2 |
3 |
ИД |
b |
<term> |
<exp> |
НС |
|
|
|
10 |
4 |
@13,2 |
13 |
1 |
|
60 |
18 |
2 |
3 |
ИД |
b |
|
|
|
|
|
|
13 |
1 |
@10,5 |
13 |
2 |
|
61 |
18 |
2 |
3 |
ИД |
b |
<factor> |
<term> |
НС |
|
|
|
13 |
2 |
@14,2 |
14 |
1 |
|
62 |
18 |
2 |
3 |
ИД |
b |
|
|
|
|
|
|
14 |
1 |
@13,3 |
14 |
2 |
|
63 |
18 |
2 |
3 |
ИД |
b |
id |
<factor> |
ИД |
2 |
|
+ |
14 |
2 |
$2,3 |
14 |
3 |
|
64 |
19 |
1 |
34 |
ТС |
* |
|
<factor> |
|
|
|
|
14 |
3 |
|
14 |
1 |
конец конструкции |
65 |
19 |
1 |
34 |
ТС |
* |
|
|
|
|
|
|
14 |
1 |
|
13 |
3 |
переход |
66 |
19 |
1 |
34 |
ТС |
* |
* |
<term> |
ТС |
1 |
34 |
+ |
13 |
3 |
$1,34 |
13 |
4 |
|
67 |
20 |
1 |
35 |
ТС |
( |
<factor> |
<term> |
|
|
|
|
13 |
4 |
@15,2 |
15 |
1 |
|
68 |
20 |
1 |
35 |
ТС |
( |
|
<term> |
|
|
|
|
15 |
1 |
@13,5 |
15 |
2 |
|
69 |
20 |
1 |
35 |
ТС |
( |
id |
<factor> |
ИД |
2 |
|
– |
15 |
2 |
|
|
|
|
70 |
20 |
1 |
35 |
ТС |
( |
int |
<factor> |
ЛЦ |
3 |
|
– |
15 |
2 |
|
|
|
|
71 |
20 |
1 |
35 |
ТС |
( |
real |
<factor> |
ЛВ |
3 |
|
– |
15 |
2 |
|
|
|
|
72 |
20 |
1 |
35 |
ТС |
( |
( |
<factor> |
ТС |
1 |
35 |
+ |
15 |
2 |
$1,35 |
15 |
3 |
|
73 |
21 |
2 |
2 |
ИД |
а |
<exp> |
<factor> |
НС |
|
|
|
15 |
3 |
@16,2 |
16 |
1 |
|
74 |
21 |
2 |
2 |
ИД |
а |
|
|
|
|
|
|
16 |
1 |
@15,4 |
16 |
2 |
|
75 |
21 |
2 |
2 |
ИД |
а |
– |
<exp> |
–ТС |
1 |
33 |
– |
16 |
2 |
|
|
|
|
76 |
21 |
2 |
2 |
ИД |
а |
<term> |
<exp> |
НС |
|
|
|
16 |
2 |
@17,2 |
17 |
1 |
|
77 |
21 |
2 |
2 |
ИД |
а |
|
|
|
|
|
|
17 |
1 |
@16,3 |
17 |
2 |
|
78 |
21 |
2 |
2 |
ИД |
а |
<factor> |
<term> |
НС |
|
|
|
17 |
2 |
@18,2 |
18 |
1 |
|
Продолжение таблицы 13
Шаги |
Таблица кодов лексем |
Имя в программе |
Элемент грамматики БНФ |
Результат сравнения |
Формируемая таблица переходов |
Выполненное действие |
текущая позиция |
следующая позиция |
позиция |
табл |
код, специф |
тип |
имя |
текущая конструкция |
тип |
табл |
код
(для ТС)
|
строка |
столбец |
вносимое значение |
строка |
столбец |
79 |
|
|
|
|
|
|
|
|
|
|
|
18 |
1 |
@17,3 |
18 |
2 |
|
80 |
21 |
2 |
2 |
ИД |
а |
id |
<factor> |
ИД |
2 |
|
+ |
18 |
2 |
$2,2 |
18 |
3 |
|
81 |
22 |
1 |
33 |
ТС |
– |
|
|
|
|
|
|
18 |
3 |
|
18 |
1 |
конец конструкции |
82 |
22 |
1 |
33 |
ТС |
– |
|
|
|
|
|
|
18 |
1 |
|
17 |
3 |
переход |
83 |
22 |
1 |
33 |
ТС |
– |
* |
<term> |
ТС |
1 |
34 |
– |
17 |
3 |
|
|
|
|
84 |
22 |
1 |
33 |
ТС |
– |
DIV |
<term> |
ТС |
1 |
17 |
– |
17 |
3 |
|
|
|
|
85 |
22 |
1 |
33 |
ТС |
– |
/ |
<term> |
ТС |
1 |
37 |
– |
17 |
3 |
|
|
|
|
86 |
22 |
1 |
33 |
ТС |
– |
|
|
|
|
|
|
17 |
3 |
|
17 |
1 |
конец конструкции |
87 |
22 |
1 |
33 |
ТС |
– |
|
|
|
|
|
|
17 |
1 |
|
16 |
3 |
переход |
88 |
22 |
1 |
33 |
ТС |
– |
+ |
<exp> |
ТС |
1 |
32 |
– |
16 |
3 |
|
|
|
|
89 |
22 |
1 |
33 |
ТС |
– |
– |
<exp> |
ТС |
1 |
33 |
+ |
16 |
3 |
$1,33 |
16 |
4 |
|
90 |
23 |
2 |
4 |
ИД |
с |
<term> |
<exp> |
НС |
|
|
|
16 |
4 |
@19,2 |
19 |
1 |
|
91 |
23 |
2 |
4 |
ИД |
с |
|
|
|
|
|
|
19 |
1 |
@16,5 |
19 |
2 |
|
92 |
23 |
2 |
4 |
ИД |
с |
<factor> |
<term> |
НС |
|
|
|
19 |
2 |
@20,2 |
20 |
1 |
|
93 |
23 |
2 |
4 |
ИД |
с |
|
|
|
|
|
|
20 |
1 |
@19,3 |
20 |
2 |
|
94 |
23 |
2 |
4 |
ИД |
c |
id |
<factor> |
ИД |
2 |
|
+ |
20 |
2 |
$2,4 |
20 |
3 |
|
95 |
24 |
1 |
36 |
ТС |
) |
|
<factor> |
|
|
|
|
20 |
3 |
|
20 |
1 |
конец конструкции |
96 |
24 |
1 |
36 |
ТС |
) |
|
|
|
|
|
|
20 |
1 |
|
19 |
3 |
переход |
97 |
24 |
1 |
36 |
ТС |
) |
* |
<term> |
|
|
|
– |
19 |
3 |
|
|
|
|
98 |
24 |
1 |
36 |
ТС |
) |
DIV |
<term> |
|
|
|
– |
19 |
3 |
|
|
|
|
99 |
24 |
1 |
36 |
ТС |
) |
/ |
<term> |
|
|
|
– |
19 |
3 |
|
|
|
|
100 |
24 |
1 |
36 |
ТС |
) |
|
<term> |
|
|
|
|
19 |
3 |
|
19 |
1 |
конец конструкции |
101 |
24 |
1 |
36 |
ТС |
) |
|
|
|
|
|
|
19 |
1 |
|
16 |
5 |
переход |
102 |
24 |
1 |
36 |
ТС |
) |
+ |
<exp> |
ТС |
1 |
32 |
– |
16 |
5 |
|
|
|
|
103 |
24 |
1 |
36 |
ТС |
) |
– |
<exp> |
ТС |
1 |
33 |
– |
16 |
5 |
|
|
|
|
104 |
24 |
1 |
36 |
ТС |
) |
|
<exp> |
|
|
|
|
16 |
5 |
|
16 |
1 |
конец конструкции |
105 |
24 |
1 |
36 |
ТС |
) |
|
|
|
|
|
|
16 |
1 |
|
15 |
4 |
переход |
106 |
24 |
1 |
36 |
ТС |
) |
) |
<factor> |
ТС |
1 |
36 |
+ |
15 |
4 |
$1,36 |
15 |
5 |
|
107 |
25 |
1 |
27 |
ТС |
; |
|
<factor> |
|
|
|
|
15 |
5 |
|
15 |
1 |
конец конструкции |
108 |
25 |
1 |
27 |
ТС |
; |
|
|
|
|
|
|
15 |
1 |
|
13 |
5 |
переход |
109 |
25 |
1 |
27 |
ТС |
; |
* |
<term> |
ТС |
1 |
34 |
– |
13 |
5 |
|
|
|
|
110 |
25 |
1 |
27 |
ТС |
; |
DIV |
<term> |
ТС |
1 |
17 |
– |
13 |
5 |
|
|
|
|
111 |
25 |
1 |
27 |
ТС |
; |
/ |
<term> |
ТС |
1 |
37 |
– |
13 |
5 |
|
|
|
|
112 |
25 |
1 |
27 |
ТС |
; |
|
|
|
|
|
|
13 |
5 |
|
13 |
1 |
конец конструкции |
113 |
25 |
1 |
27 |
ТС |
; |
|
|
|
|
|
|
13 |
1 |
|
10 |
5 |
переход |
114 |
25 |
1 |
27 |
ТС |
; |
+ |
<exp> |
ТС |
1 |
32 |
|
10 |
5 |
|
|
|
|
115 |
25 |
1 |
27 |
ТС |
; |
– |
<exp> |
ТС |
1 |
33 |
|
10 |
5 |
|
|
|
|
116 |
25 |
1 |
27 |
ТС |
; |
|
|
|
|
|
|
10 |
5 |
|
10 |
1 |
конец конструкции |
117 |
25 |
1 |
27 |
ТС |
; |
|
|
|
|
|
|
10 |
1 |
|
9 |
5 |
переход |
Продолжение таблицы 13
Шаги |
Таблица кодов лексем |
Имя в программе |
Элемент грамматики БНФ |
Результат сравнения |
Формируемая таблица переходов |
Выполненное действие |
текущая позиция |
следующая позиция |
позиция |
табл |
код, специф |
тип |
имя |
текущая конструкция |
тип |
табл |
код
(для ТС)
|
строка |
столбец |
вносимое значение |
строка |
столбец |
118 |
25 |
1 |
27 |
ТС |
; |
|
<assign> |
|
|
|
|
9 |
5 |
|
9 |
1 |
конец конструкции |
119 |
25 |
1 |
27 |
ТС |
; |
|
|
|
|
|
|
9 |
1 |
|
8 |
3 |
переход |
120 |
25 |
1 |
27 |
ТС |
; |
|
<stmt> |
|
|
|
|
8 |
3 |
|
8 |
1 |
конец конструкции |
121 |
25 |
1 |
27 |
ТС |
; |
|
|
|
|
|
|
8 |
1 |
|
7 |
3 |
переход |
122 |
25 |
1 |
27 |
ТС |
; |
; |
<stmt-list> |
–ТС |
1 |
27 |
+ |
7 |
3 |
$1,27 |
7 |
4 |
|
123 |
26 |
1 |
4 |
ТС |
END |
|
<stmt-list> |
|
|
|
|
7 |
4 |
|
7 |
1 |
конец конструкции |
124 |
26 |
1 |
4 |
ТС |
END |
|
|
|
|
|
|
7 |
1 |
|
1 |
8 |
переход |
125 |
26 |
1 |
4 |
ТС |
END |
END |
<prog> |
ТС |
1 |
4 |
+ |
1 |
8 |
$1,4 |
1 |
9 |
|
126 |
27 |
1 |
30 |
ТС |
. |
. |
<prog> |
ТС |
1 |
30 |
+ |
1 |
9 |
$1,30 |
1 |
10 |
|
127 |
|
|
|
|
|
|
|
|
|
|
|
1 |
10 |
|
1 |
1 |
конец конструкции |
128 |
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
|
|
|
|
Таблица
14 – Формируемая таблица переходов
Страницы: 1, 2, 3, 4, 5
|
|