Пополнение таблицы идентификатор происходит, если текущий идентификатор не является предопределённым словом языка и не установлен флаг ThisNameBlock.
В результате работы лексического анализатора на экран выводятся таблица идентификаторов для каждого блока и таблица констант. Код вывода приведён ниже:
<br>
<div align=center>Таблица идентификаторов</div>
<% Enumeration eBlock = identTableBlock.keys(); Object keyBlock;%>
<% for(int Cnt=0; Cnt<NameBlock.size(); Cnt++ )
{%><div align=center><%=(keyBlock=NameBlock.get(Cnt))%></div>
<table align=center border=2>
<tr><td align=center>Ключ лексемы</td> <td align=center>Индекс слова в группе</td><td align=center>Значение</td></tr>
<%ident = ((Hashtable)(identTableBlock.get(keyBlock)));Enumeration e=ident.keys();Object key;%>
<% for(; e.hasMoreElements(); )
{%><tr><td align=center><%=(key=e.nextElement())%></td> <td align=center><%=(word=((lexem)(ident.get(key))).wordIndex)%></td><td align=center><%=(ResultHash.get(new Integer(word)))%></td></tr><%}%></table><%}%>
</br>
<br>
<div align=center>Таблица констант</div>
<table align=center border=2>
<tr><td align=center>Ключ лексемы</td> <td align=center>Индекс слова в группе</td></tr>
<%Enumeration e = constHash.keys();Object key; %>
<% for(; e.hasMoreElements(); )
{%><tr><td align=center><%=(key=e.nextElement())%></td> <td align=center><%=(((lexem)(constHash.get(key))).wordIndex)%></td></tr><%}%>
</table>
<br>
Таблица идентификаторов
1vars1
Ключ лексемы |
Индекс слова в группе |
Значение |
b |
2 |
null |
a2 |
1 |
null |
a1 |
0 |
null |
1do1
Ключ лексемы |
Индекс слова в группе |
Значение |
x3 |
7 |
null |
x2 |
5 |
null |
x1 |
4 |
null |
in2 |
6 |
null |
tmp_6 |
15 |
null |
in1 |
3 |
null |
tmp_5 |
14 |
null |
tmp_4 |
13 |
null |
tmp_3 |
12 |
null |
tmp_2 |
11 |
null |
tmp_1 |
10 |
null |
out1 |
9 |
null |
x4 |
8 |
null |
2do2
Ключ лексемы |
Индекс слова в группе |
Значение |
v3v2 |
18 |
null |
tmp_16 |
31 |
null |
v3v1 |
17 |
null |
tmp_15 |
30 |
null |
tmp_14 |
29 |
null |
tmp_13 |
28 |
null |
tmp_12 |
27 |
null |
tmp_9 |
24 |
null |
tmp_11 |
26 |
null |
tmp_8 |
23 |
null |
stek1 |
20 |
null |
tmp_10 |
25 |
null |
tmp_7 |
22 |
null |
in2 |
19 |
null |
in1 |
16 |
null |
out1 |
21 |
null |
3do3
Ключ лексемы |
Индекс слова в группе |
Значение |
x42 |
34 |
null |
x41 |
32 |
null |
tmp_19 |
40 |
null |
tmp_18 |
39 |
null |
tmp_17 |
38 |
null |
tmp_29 |
50 |
null |
tmp_28 |
49 |
null |
tmp_27 |
48 |
null |
tmp_26 |
47 |
null |
tmp_25 |
46 |
null |
tmp_24 |
45 |
null |
tmp_23 |
44 |
null |
tmp_22 |
43 |
null |
tmp_21 |
42 |
null |
out41 |
33 |
null |
tmp_20 |
41 |
null |
x45 |
37 |
null |
x44 |
36 |
null |
x43 |
35 |
null |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.