|
1,2 {q,1,S,l} |¾(1) {q,1,T,S1} |
раскроем нетерминал T |
|||||
|
3 |¾(1) {q,1,E,S1T1} |
раскроем нетерминал E |
|||||
|
4|¾(1) {q,1,(S),S1T1E1} |
первый символ – не “(” |
|||||
|
5|¾(4) {b,1,(S),S1T1E1} |
выберем след. альтернативу для E |
|||||
|
6|¾(6,1) {q,1,a,S1T1E2} |
первый символ совпал, сдвиг головки |
|||||
|
7|¾(2) {q,2,l,S1T1E2a} |
в стеке пусто, но i¹n+1 – возврат |
|||||
|
8|¾(3) {b,2,l,S1T1E2a} |
возвращаем “a” из стека возврата в L1 |
|||||
|
9|¾(5) {b,1,a,S1T1E2} |
выберем след. альтернативу для E |
|||||
|
10|¾(6,1) {q,1,b,S1T1E3} |
первый символ – не “b” |
|||||
|
11|¾(4) {b,1,b,S1T1E3} |
вернем E из L2 в L1 |
|||||
|
12|¾(6,3) {b,1,E,S1T1} |
выберем след. альтернативу для T |
|||||
|
13|¾(6,1) {q,1,EF,S1T2} |
раскроем нетерминал E |
|||||
|
14|¾(1) {q,1,(S)F,S1T2E1} |
первый символ – не “(” |
|||||
|
15|¾(4) {b,1,(S)F,S1T2E1} |
выберем след. альтернативу для E |
|||||
|
16|¾(6,1) {q,1,aF,S1T2E2} |
первый символ совпал, сдвиг головки |
|||||
|
17|¾(2) {q,2,F,S1T2E2a} |
раскроем нетерминал F |
|||||
|
18|¾(1) {q,2,*E,S1T2E2aF1} |
второй символ – не “*” |
|||||
|
19|¾(4) {b,2,*E,S1T2E2aF1} |
выберем след. альтернативу для F |
|||||
|
20|¾(6,1) {q,2,/E,S1T2E2aF2} |
второй символ совпал, перепишем в L2 |
|||||
|
21|¾(2) {q,3,E,S1T2E2aF2/} |
раскроем нетерминал E |
|||||
|
22|¾(1) {q,3,(S),S1T2E2aF2/E1} |
третий символ совпал, перепишем в L2 |
|||||
|
23|¾(2) {q,4,S),S1T2E2aF2/E1(} |
раскроем нетерминал S |
|||||
|
24|¾(1) {q,4,T),S1T2E2aF2/E1(S1} |
раскроем нетерминал T |
|||||
|
25|¾(1) {q,4,E),S1T2E2aF2/E1(S1T1} |
раскроем нетерминал E |
|||||
|
26|¾(1) {q,4,(S)),S1T2E2aF2/E1(S1T1E1} |
4-й символ – не “(” |
|||||
|
27|¾(4) {b,4,(S)),S1T2E2aF2/E1(S1T1E1} |
выберем след. альтернативу для E |
|||||
|
28|¾(6,1) {q,4,a),S1T2E2aF2/E1(S1T1E2} |
4-й символ совпал, переносим в L2 |
|||||
|
29|¾(2) {q,5,),S1T2E2aF2/E1(S1T1E2a} |
5-й символ не совпал |
|||||
|
30|¾(4) {b,5,),S1T2E2aF2/E1(S1T1E2a} |
в стеке L2 – терминал, вернём его |
|||||
|
31|¾(5) {b,4,a),S1T2E2aF2/E1(S1T1E2} |
выберем след. альтернативу для E |
|||||
|
32|¾(6,1) {q,4,b),S1T2E2aF2/E1(S1T1E3} |
4-й символ не совпал |
|||||
|
33|¾(4) {b,4,b),S1T2E2aF2/E1(S1T1E3} |
нет альтернатив для E |
|||||
|
34|¾(6,3) {b,4,E),S1T2E2aF2/E1(S1T1} |
выберем след. альтернативу для T |
|||||
|
35|¾(6,1) {q,4,EF),S1T2E2aF2/E1(S1T2} |
раскроем нетерминал E |
|||||
|
36|¾(1) {q,4,(S)F),S1T2E2aF2/E1(S1T2E1} |
4-й символ не совпал |
|||||
|
37|¾(4) {b,4,(S)F),S1T2E2aF2/E1(S1T2E1} |
выберем след. альтернативу для E |
|||||
|
38|¾(6,1) {q,4,aF),S1T2E2aF2/E1(S1T2E2} |
4-й символ совпал |
|||||
|
39|¾(2) {q,5,F),S1T2E2aF2/E1(S1T2E2a} |
раскроем нетерминал F |
|||||
|
40|¾(1) {q,5,*E),S1T2E2aF2/E1(S1T2E2aF1} |
5-й символ не совпал |
|||||
|
41|¾(4) {b,5,*E),S1T2E2aF2/E1(S1T2E2aF1} |
выберем след. альтернативу для F |
|||||
|
42|¾(6,1) {q,5,/E),S1T2E2aF2/E1(S1T2E2aF2} |
5-й символ не совпал |
|||||
|
43|¾(4) {b,5,/E),S1T2E2aF2/E1(S1T2E2aF2} |
выберем след. альтерн. для F |
|||||
|
44|¾(6,1) {q,5,*EF),S1T2E2aF2/E1(S1T2E2aF3} |
5-й символ не совпал |
|||||
|
45|¾(4) {b,5,*EF),S1T2E2aF2/E1(S1T2E2aF3} |
выберем след. альтерн. для F |
|||||
|
46|¾(6,1) {q,5,/EF),S1T2E2aF2/E1(S1T2E2aF4} |
5-й символ не совпал |
|||||
|
47|¾(4) {b,5,/EF),S1T2E2aF2/E1(S1T2E2aF4} |
для F нет альтернативы |
|||||
|
48|¾(6,3) {b,5,F),S1T2E2aF2/E1(S1T2E2a} |
возврат по символу |
|||||
|
49|¾(5) {b,4,aF),S1T2E2aF2/E1(S1T2E2} |
выберем след. альтернативу для E |
|||||
|
50|¾(6,1) {q,4,bF),S1T2E2aF2/E1(S1T2E3} |
4-й символ не совпал |
|||||
|
51|¾(4) {b,4,bF),S1T2E2aF2/E1(S1T2E3} |
вернем E из L2 в L1 |
|||||
|
52|¾(6,3) {b,4,EF),S1T2E2aF2/E1(S1T2} |
вернем T из L2 в L1 |
|||||
|
53|¾(6,3) {b,4,T),S1T2E2aF2/E1(S1} |
выберем след. альтернативу для S |
|||||
|
54|¾(6,1) {q,4,TR),S1T2E2aF2/E1(S2} |
раскроем нетерминал T |
|||||
|
55|¾(1) {q,4,ER),S1T2E2aF2/E1(S2T1} |
раскроем нетерминал E |
|||||
|
56|¾(1) {q,4,(S)R),S1T2E2aF2/E1(S2T1E1} |
4-й символ не совпал |
|||||
|
57|¾(4) {b,4,(S)R),S1T2E2aF2/E1(S2T1E1} |
выберем след. альтернативу для E |
|||||
|
58|¾(6,1) {q,4,aR),S1T2E2aF2/E1(S2T1E2} |
4-й символ совпал, переносим в L2 |
|||||
|
59|¾(2) {q,5,R),S1T2E2aF2/E1(S2T1E2a} |
раскроем нетерминал R |
|||||
|
60|¾(1) {q,5,+T),S1T2E2aF2/E1(S2T1E2aR1} |
5-й символ не совпал |
|||||
|
61|¾(4) {b,5,+T),S1T2E2aF2/E1(S2T1E2aR1} |
выберем след. альтернативу для R |
|||||
|
62|¾(6,1) {q,5,–T),S1T2E2aF2/E1(S2T1E2aR2} |
5-й символ совпал, переносим в L2 |
|||||
|
63|¾(2) {q,6,T),S1T2E2aF2/E1(S2T1E2aR2–} |
раскроем нетерминал T |
|||||
|
64|¾(1) {q,6,E),S1T2E2aF2/E1(S2T1E2aR2–T1} |
раскроем нетерминал E |
|||||
|
65|¾(1) {q,6,(S)),S1T2E2aF2/E1(S2T1E2aR2–T1E1} |
6-й символ не совпал |
|||||
|
66|¾(4) {b,6,(S)),S1T2E2aF2/E1(S2T1E2aR2–T1E1} |
выберем след. альтер. для E |
|||||
|
67|¾(6,1) {q,6,a),S1T2E2aF2/E1(S2T1E2aR2–T1E2} |
6-й символ не совпал |
|||||
|
68|¾(4) {b,6,a),S1T2E2aF2/E1(S2T1E2aR2–T1E2} |
выберем след. альтер. для E |
|||||
|
69|¾(6,1) {q,6,b),S1T2E2aF2/E1(S2T1E2aR2–T1E3} |
6-й символ совпал |
|||||
|
70|¾(2) {q,7,),S1T2E2aF2/E1(S2T1E2aR2–T1E3b} |
7-й символ совпал |
|||||
|
71|¾(2) {q,8,l,S1T2E2aF2/E1(S2T1E2aR2–T1E3b)}|¾(3) |
Разбор закончен stop(+) |
|||||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.