Грамматика принадлежит классу 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).
Ссылка на скачивание - внизу страницы.