Грамматика принадлежит классу LL(1)
|
N сост. |
flag_A |
flag_S |
flag_R |
flag_E |
Переход |
Множество выбора |
Действие |
|
0 |
1 |
32 |
{ |
||||
|
1 |
41 |
EOF |
|||||
|
2 |
1 |
42 |
vars |
||||
|
3 |
1 |
47 |
do |
||||
|
4 |
52 |
join |
|||||
|
5 |
1 |
57 |
let |
||||
|
6 |
64 |
} |
|||||
|
7 |
160 |
} |
|||||
|
8 |
1 |
88 |
let |
||||
|
9 |
1 |
95 |
? |
||||
|
10 |
107 |
} |
|||||
|
11 |
1 |
143 |
int |
||||
|
12 |
153 |
} |
|||||
|
13 |
65 |
int id float ( |
|||||
|
14 |
72 |
int id float ( |
|||||
|
15 |
1 |
67 |
op1 |
||||
|
16 |
71 |
logic { let ? relation ; ) |
|||||
|
17 |
1 |
79 |
( |
||||
|
18 |
1 |
82 |
id |
||||
|
19 |
1 |
84 |
float |
||||
|
20 |
86 |
int |
|||||
|
21 |
1 |
74 |
op2 |
||||
|
22 |
78 |
op1 logic { let ? relation ; ) |
|||||
|
23 |
1 |
108 |
logic |
||||
|
24 |
116 |
{ let ? |
|||||
|
25 |
1 |
117 |
{ |
||||
|
26 |
1 |
120 |
let |
||||
|
27 |
126 |
? |
|||||
|
28 |
1 |
137 |
or |
||||
|
29 |
141 |
let ? } |
|||||
|
30 |
1 |
154 |
, |
||||
|
31 |
159 |
; |
|||||
|
32 |
33 |
StIf.push (new Integer(0)); ignore.t(); |
|||||
|
33 |
1 |
34 |
|||||
|
34 |
35 |
VectNames.add(currentLexem.textOfWord); |
|||||
|
35 |
1 |
36 |
|||||
|
36 |
37 |
ignore.f(); |
|||||
|
37 |
1 |
38 |
|||||
|
38 |
1 |
42 |
|||||
|
39 |
1 |
40 |
|||||
|
40 |
1 |
32 |
|||||
|
41 |
1 |
42 |
|||||
|
42 |
1 |
43 |
|||||
|
43 |
1 |
44 |
|||||
|
44 |
1 |
57 |
|||||
|
45 |
1 |
160 |
|||||
|
46 |
1 |
47 |
VectPFRTotal.add(VectPFRBlock.clone()); VectPFRBlock.removeAllElements(); |
||||
|
47 |
1 |
48 |
|||||
|
48 |
1 |
49 |
|||||
|
49 |
1 |
88 |
|||||
|
50 |
1 |
160 |
|||||
|
51 |
1 |
52 |
VectPFRTotal.add(VectPFRBlock.clone()); VectPFRBlock.removeAllElements(); |
||||
|
52 |
1 |
53 |
|||||
|
53 |
54 |
ignore.t(); VectNames.remove(VectNames.size()-1); |
|||||
|
54 |
1 |
55 |
|||||
|
55 |
1 |
143 |
|||||
|
56 |
1 |
57 |
ignore.f(); |
||||
|
57 |
1 |
58 |
|||||
|
58 |
59 |
VectPFRBlock.add(currentLexem.textOfWord); |
|||||
|
59 |
1 |
60 |
|||||
|
60 |
1 |
65 |
|||||
|
61 |
62 |
VectPFRBlock.add("let"); |
|||||
|
62 |
1 |
63 |
|||||
|
63 |
1 |
57 |
|||||
|
64 |
1 |
65 |
|||||
|
65 |
1 |
72 |
|||||
|
66 |
1 |
67 |
|||||
|
67 |
68 |
StOp.push (currentLexem.textOfWord); |
|||||
|
68 |
1 |
69 |
|||||
|
69 |
1 |
65 |
|||||
|
70 |
1 |
71 |
VectPFRBlock.add(StOp.pop ()); |
||||
|
71 |
1 |
72 |
|||||
|
72 |
1 |
79 |
|||||
|
73 |
1 |
74 |
|||||
|
74 |
75 |
StOp.push (currentLexem.textOfWord); |
|||||
|
75 |
1 |
76 |
|||||
|
76 |
1 |
72 |
|||||
|
77 |
1 |
78 |
VectPFRBlock.add(StOp.pop ()); |
||||
|
78 |
1 |
79 |
|||||
|
79 |
1 |
80 |
|||||
|
80 |
1 |
65 |
|||||
|
81 |
1 |
1 |
82 |
||||
|
82 |
83 |
VectPFRBlock.add(currentLexem.textOfWord); |
|||||
|
83 |
1 |
1 |
84 |
||||
|
84 |
85 |
VectPFRBlock.add(currentLexem.textOfWord); |
|||||
|
85 |
1 |
1 |
86 |
||||
|
86 |
87 |
VectPFRBlock.add(currentLexem.textOfWord); |
|||||
|
87 |
1 |
1 |
88 |
||||
|
88 |
1 |
89 |
|||||
|
89 |
90 |
VectPFRBlock.add(currentLexem.textOfWord); |
|||||
|
90 |
1 |
91 |
|||||
|
91 |
1 |
65 |
|||||
|
92 |
93 |
VectPFRBlock.add("let"); |
|||||
|
93 |
1 |
94 |
|||||
|
94 |
1 |
88 |
|||||
|
95 |
1 |
96 |
|||||
|
96 |
1 |
65 |
|||||
|
97 |
98 |
StOp.push (currentLexem.textOfWord); |
|||||
|
98 |
1 |
99 |
|||||
|
99 |
1 |
65 |
|||||
|
100 |
101 |
VectPFRBlock.add(StOp.pop ()); |
|||||
|
101 |
1 |
108 |
|||||
|
102 |
103 |
StIf .push (new Integer(++CntIf)); VectPFRBlock.add("Label1_"+StIf.peek()); VectPFRBlock.add("JmpF"); |
|||||
|
103 |
1 |
117 |
|||||
|
104 |
105 |
VectPFRBlock.add("Label2_"+StIf.peek()); VectPFRBlock.add("Jmp"); |
|||||
|
105 |
1 |
137 |
|||||
|
106 |
1 |
88 |
|||||
|
107 |
1 |
108 |
|||||
|
108 |
109 |
StOp.push (currentLexem.textOfWord); |
|||||
|
109 |
1 |
110 |
|||||
|
110 |
1 |
65 |
|||||
|
111 |
112 |
StOp.push (currentLexem.textOfWord); |
|||||
|
112 |
1 |
113 |
|||||
|
113 |
1 |
65 |
|||||
|
114 |
115 |
VectPFRBlock.add(StOp.pop ()); VectPFRBlock.add(StOp.pop ()); |
|||||
|
115 |
1 |
108 |
|||||
|
116 |
1 |
117 |
|||||
|
117 |
1 |
118 |
|||||
|
118 |
1 |
88 |
|||||
|
119 |
1 |
1 |
120 |
||||
|
120 |
1 |
121 |
|||||
|
121 |
122 |
VectPFRBlock.add(currentLexem.textOfWord); |
|||||
|
122 |
1 |
123 |
|||||
|
123 |
1 |
65 |
|||||
|
124 |
125 |
VectPFRBlock.add("let"); |
|||||
|
125 |
1 |
1 |
126 |
||||
|
126 |
1 |
127 |
|||||
|
127 |
1 |
65 |
|||||
|
128 |
129 |
StOp.push (currentLexem.textOfWord); |
|||||
|
129 |
1 |
130 |
|||||
|
130 |
1 |
65 |
|||||
|
131 |
132 |
VectPFRBlock.add(StOp.pop ()); |
|||||
|
132 |
1 |
108 |
|||||
|
133 |
134 |
StIf .push (new Integer(++CntIf)); VectPFRBlock.add("Label1_"+StIf.peek()); VectPFRBlock.add("JmpF"); |
|||||
|
134 |
1 |
117 |
|||||
|
135 |
136 |
VectPFRBlock.add("Label2_"+StIf.peek()); VectPFRBlock.add("Jmp"); |
|||||
|
136 |
1 |
137 |
|||||
|
137 |
1 |
138 |
|||||
|
138 |
139 |
VectPentadMarks.add("Label1_"+StIf.peek()+":"); VectPFRBlock.add(VectPentadMarks.lastElement()); |
|||||
|
139 |
1 |
117 |
|||||
|
140 |
1 |
141 |
VectPentadMarks.add("Label2_"+StIf.pop()+":"); VectPFRBlock.add(VectPentadMarks.lastElement()); |
||||
|
141 |
142 |
||||||
|
142 |
1 |
143 |
VectPentadMarks.add("Label1_"+StIf.pop()+":"); VectPFRBlock.remove(VectPFRBlock.size()-1); VectPFRBlock.remove(VectPFRBlock.size()-1); VectPFRBlock.add(VectPentadMarks.lastElement()); |
||||
|
143 |
1 |
144 |
|||||
|
144 |
1 |
145 |
|||||
|
145 |
1 |
146 |
|||||
|
146 |
1 |
147 |
|||||
|
147 |
1 |
148 |
|||||
|
148 |
1 |
149 |
|||||
|
149 |
1 |
150 |
|||||
|
150 |
1 |
154 |
|||||
|
151 |
1 |
152 |
|||||
|
152 |
1 |
143 |
|||||
|
153 |
1 |
154 |
|||||
|
154 |
1 |
155 |
|||||
|
155 |
1 |
156 |
|||||
|
156 |
1 |
157 |
|||||
|
157 |
1 |
158 |
|||||
|
158 |
1 |
154 |
|||||
|
159 |
1 |
160 |
|||||
|
160 |
1 |
161 |
Object Mark = (Object)(new String(""));for (int i=0; i |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.