Программно-методический комплекс для обучения процессу создания компиляторовРефераты >> Программирование и компьютеры >> Программно-методический комплекс для обучения процессу создания компиляторов
Продолжение таблицы 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 |
6 |
7 |
8 |
9 |
10 | ||
1 |
PROGRAM $1,1 |
<prog-name> @2,2 |
VAR $1,2 |
<dec-list> @3,2 |
BEGIN $1,3 |
<stmt-list> @7,2 |
END $1,4 |
. $1,30 | |||
2 |
<prog-name> |
@1,4 |
prog1 $2,1 |
; $1,27 | |||||||
3 |
<dec-list> |
@1,6 |
<dec> @4,2 |
; $1,27 | |||||||
4 |
<dec> |
@3,3 |
<id-list> @5,2 |
: $1,31 |
<type> @6,2 | ||||||
5 |
<id-list> |
@4,3 |
a $2,2 |
, $1,29 |
b $2,3 |
, $1,29 |
c $2,4 | ||||
6 |
<type> |
@4,5 |
INTEGER $1,5 | ||||||||
7 |
<stmt-list> |
@1,8 |
<stmt> @8,2 |
; $1,27 | |||||||
8 |
<stmt> |
@7,3 |
<assign> @9,2 | ||||||||
9 |
<assign> |
@8,3 |
a $2,2 |
:= $1,28 |
<exp> @10,2 | ||||||
10 |
<exp> |
@9,5 |
<term> @11,2 |
+ $1,32 |
<term> @13,2 | ||||||
11 |
<term> |
@10,3 |
<factor> @12,2 | ||||||||
12 |
<factor> |
@11,3 |
1 $3,1 | ||||||||
13 |
<term> |
@10,5 |
<factor> @14,2 |
* $1,34 |
<factor> @15,2 | ||||||
14 |
<factor> |
@13,3 |
b $2,3 | ||||||||
15 |
<factor> |
@13,5 |
( $1,35 |
<exp> @16,2 |
) $1,36 | ||||||
16 |
<exp> |
@15,4 |
<term> @17,2 |
– $1,33 |
<term> @19,2 | ||||||
17 |
<term> |
@16,3 |
<factor> @18,2 | ||||||||
18 |
<factor> |
@17,3 |
a $2,2 | ||||||||
19 |
<term> |
@16,5 |
<factor> @20,2 | ||||||||
20 |
<factor> |
@19,3 |
c $2,4 |