2 static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
12 deprecate("\"do\" to call subroutines");
17 30, 0, 5, 3, 6, 6, 6, 7, 7, 7,
18 7, 21, 21, 21, 21, 21, 21, 11, 11, 11,
19 9, 9, 9, 9, 29, 29, 8, 8, 8, 8,
20 8, 8, 8, 8, 10, 10, 25, 25, 28, 28,
21 1, 1, 1, 1, 2, 2, 31, 31, 4, 32,
22 32, 33, 13, 13, 13, 13, 12, 12, 12, 26,
23 26, 26, 26, 26, 26, 26, 27, 27, 14, 14,
24 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
25 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
26 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
27 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
28 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
29 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
30 14, 14, 14, 14, 14, 14, 14, 14, 22, 22,
31 23, 23, 23, 20, 15, 16, 17, 18, 19, 24,
35 0, 2, 4, 0, 0, 2, 2, 2, 1, 2,
36 3, 1, 1, 3, 3, 3, 3, 0, 2, 6,
37 6, 6, 4, 4, 0, 2, 7, 7, 5, 5,
38 8, 7, 10, 3, 0, 1, 0, 1, 0, 1,
39 1, 1, 1, 1, 4, 3, 4, 4, 0, 3,
40 2, 4, 3, 3, 2, 1, 2, 3, 1, 3,
41 5, 6, 3, 5, 2, 4, 1, 1, 3, 3,
42 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
43 5, 3, 2, 2, 2, 2, 2, 2, 2, 2,
44 2, 2, 3, 2, 3, 2, 4, 3, 3, 1,
45 1, 4, 5, 4, 1, 1, 1, 5, 6, 5,
46 6, 5, 4, 5, 1, 1, 3, 4, 3, 2,
47 2, 4, 5, 4, 5, 1, 2, 1, 2, 2,
48 1, 3, 3, 4, 4, 6, 1, 1, 0, 1,
49 0, 1, 2, 2, 2, 2, 2, 2, 2, 1,
52 short yydefred[] = { 1,
53 0, 5, 0, 40, 49, 49, 0, 0, 6, 41,
54 7, 9, 0, 42, 43, 44, 0, 0, 0, 51,
55 0, 12, 4, 137, 0, 0, 115, 0, 49, 0,
56 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
57 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
58 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
59 0, 0, 8, 0, 0, 0, 0, 0, 105, 107,
60 101, 0, 0, 138, 0, 46, 0, 50, 0, 0,
61 5, 150, 153, 152, 151, 0, 0, 0, 0, 0,
62 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
63 0, 0, 0, 148, 0, 121, 0, 0, 0, 0,
64 0, 0, 55, 0, 0, 65, 0, 129, 0, 0,
65 0, 0, 0, 0, 0, 0, 0, 0, 96, 0,
66 144, 145, 146, 147, 149, 0, 34, 0, 0, 0,
67 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
68 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,
69 89, 0, 0, 0, 0, 0, 0, 0, 11, 45,
70 48, 47, 52, 0, 63, 0, 0, 99, 0, 0,
71 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,
72 0, 132, 133, 0, 0, 0, 0, 0, 0, 98,
73 0, 119, 0, 0, 0, 95, 26, 0, 0, 0,
74 0, 0, 0, 53, 0, 0, 0, 0, 0, 0,
75 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
76 67, 0, 68, 0, 0, 0, 0, 0, 0, 117,
77 0, 3, 0, 135, 0, 0, 29, 0, 30, 0,
78 0, 0, 23, 0, 24, 0, 0, 0, 134, 143,
79 66, 0, 122, 0, 124, 0, 97, 0, 0, 0,
80 0, 0, 0, 0, 104, 0, 102, 0, 113, 118,
81 64, 0, 0, 0, 0, 19, 0, 0, 0, 0,
82 0, 61, 123, 125, 112, 0, 110, 0, 0, 103,
83 0, 108, 114, 136, 27, 28, 21, 0, 22, 0,
84 32, 0, 111, 109, 62, 0, 0, 31, 0, 0,
87 short yydgoto[] = { 1,
88 9, 10, 81, 17, 84, 3, 11, 12, 63, 188,
89 253, 64, 195, 66, 67, 68, 69, 70, 71, 72,
90 190, 80, 196, 86, 180, 74, 234, 13, 137, 2,
93 short yysindex[] = { 0,
94 0, 0, -109, 0, 0, 0, -47, -221, 0, 0,
95 0, 0, 585, 0, 0, 0, -106, -207, 3, 0,
96 2059, 0, 0, 0, 94, 94, 0, 27, 0, -21,
97 -13, -12, -10, 11, 2059, 31, 34, 38, 94, 1787,
98 2059, 961, -173, 1853, 1029, 1960, 2059, 2059, 2059, 2059,
99 2059, 1140, 0, 2059, 2059, 1237, 94, 94, 94, 94,
100 94, -187, 0, 50, 232, 3898, -65, -59, 0, 0,
101 0, 60, 56, 0, -20, 0, -26, 0, 50, 57,
102 0, 0, 0, 0, 0, 2059, 78, 2059, -20, 1853,
103 -20, 1853, -20, 1853, -20, 1853, -20, 1305, 79, 3898,
104 80, 1416, 909, 0, 83, 0, 927, -19, 927, -5,
105 -54, 2059, 0, 0, -65, 0, 2059, 0, 927, 450,
106 450, 450, -83, -83, 40, -41, 450, 450, 0, -90,
107 0, 0, 0, 0, 0, -20, 0, 2059, 1853, 1853,
108 1853, 1853, 1853, 1853, 1853, 2059, 2059, 2059, 2059, 2059,
109 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 0,
110 0, -22, 1853, 1853, 1853, 1853, 1853, 1512, 0, 0,
111 0, 0, 0, -102, 0, 1853, 1351, 0, -210, 84,
112 -187, -39, -187, -17, -167, 35, -167, 70, 365, 0,
113 1853, 0, 0, 44, 5, 91, 1853, 1581, 1688, 0,
114 9, 0, 50, 1853, 48, 0, 0, 3898, -210, -210,
115 -210, -210, -155, 0, -48, 746, 927, 1382, 338, 1360,
116 3898, 469, 797, 1069, 1103, 1180, 1455, 450, 450, 1853,
117 0, 1853, 0, 100, -87, -44, -84, 76, -77, 0,
118 46, 0, 108, 0, 2059, -20, 0, -20, 0, -20,
119 -20, 106, 0, -20, 0, 1853, -20, 58, 0, 0,
120 0, 81, 0, 87, 0, 111, 0, -73, 1853, 28,
121 2059, 122, -68, 1853, 0, 43, 0, 47, 0, 0,
122 0, 2945, -187, -187, -167, 0, 1853, -167, 101, -187,
123 -20, 0, 0, 0, 0, -62, 0, 4048, 49, 0,
124 132, 0, 0, 0, 0, 0, 0, 116, 0, 1305,
125 0, -187, 0, 0, 0, -20, 134, 0, -167, -20,
128 short yyrindex[] = { 0,
129 0, 0, 105, 0, 0, 0, 0, 0, 0, 0,
130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
131 121, 0, 0, 0, 0, 0, 0, 0, 0, 0,
132 0, 0, 0, 0, 2263, 1892, 0, 0, 0, 0,
133 0, 0, 0, 0, 2761, 2803, 0, 0, 0, 0,
134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
135 0, 1, 0, 697, 4, 153, 2869, 2912, 0, 0,
136 0, 2151, 0, 0, 0, 0, 0, 0, 2309, 0,
137 0, 0, 0, 0, 0, 2351, 0, 0, 0, 141,
138 0, 0, 0, 0, 0, 0, 0, 124, 0, 2544,
139 0, 0, 143, 0, 2212, 0, 3721, 2869, 3753, 0,
140 0, 2351, 0, 435, 526, 0, 0, 0, 3786, 3215,
141 3255, 3311, 3062, 3174, 2413, 0, 3347, 3390, 0, 0,
142 0, 0, 0, 0, 0, 0, 0, 2610, 0, 0,
143 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
144 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
145 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
146 0, 0, 0, 857, 0, 143, 0, 0, 7, 0,
147 1, 0, 1, 0, 53, 0, 53, 0, 126, 0,
148 0, 0, 0, 0, 145, 0, 0, 0, 0, 0,
149 0, 0, 2460, 0, 2719, 0, 0, 2586, 14, 16,
150 18, 20, -37, 0, 0, 1443, 3822, 1763, 390, 3649,
151 2845, 0, 4045, 4002, 3970, 3865, 3685, 3504, 3606, 0,
152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
153 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
154 0, 0, 0, 0, 0, 128, 0, 0, 0, 0,
155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
156 0, 0, 0, 143, 0, 0, 0, 0, 0, 0,
157 0, 0, 1, 1, 53, 0, 0, 53, 0, 1,
158 0, 0, 0, 0, 0, 0, 0, 311, 0, 0,
159 0, 0, 0, 0, 0, 0, 0, 0, 0, 147,
160 0, 1, 0, 0, 0, 0, 0, 0, 53, 0,
163 short yygindex[] = { 0,
164 0, 0, 0, 23, 209, 109, 0, 0, 0, -121,
165 -152, -3, 345, 4241, 878, 0, 0, 0, 0, 0,
166 178, -32, -166, 494, -64, 0, 0, 0, -113, 0,
169 #define YYTABLESIZE 4512
170 short yytable[] = { 205,
171 25, 248, 206, 54, 201, 275, 54, 163, 277, 243,
172 270, 20, 116, 58, 276, 279, 23, 79, 90, 295,
173 199, 54, 242, 250, 300, 165, 92, 94, 18, 96,
174 313, 167, 171, 25, 255, 21, 25, 25, 25, 145,
175 25, 79, 25, 25, 13, 25, 58, 38, 260, 77,
176 98, 89, 18, 175, 16, 54, 17, 164, 14, 25,
177 15, 78, 13, 166, 25, 38, 88, 247, 232, 249,
178 101, 165, 16, 102, 17, 254, 14, 103, 15, 202,
179 143, 144, 79, 112, 259, 18, 280, 136, 18, 18,
180 18, 25, 18, 138, 18, 18, 23, 18, 291, 168,
181 230, 23, 23, 164, 2, 251, 252, 301, 79, 23,
182 23, 18, 23, 203, 169, 173, 18, 176, 191, 200,
183 192, 292, 198, 25, 246, 25, 25, 293, 256, 58,
184 204, 261, 307, 267, 278, 309, 144, 39, 269, 274,
185 39, 39, 39, 18, 39, 287, 39, 39, 281, 39,
186 75, 294, 297, 4, 5, 6, 316, 7, 8, 310,
187 4, 5, 6, 39, 7, 8, 321, 302, 39, 305,
188 306, 303, 315, 314, 320, 18, 311, 18, 18, 139,
189 299, 37, 35, 141, 13, 142, 37, 35, 317, 174,
190 73, 289, 0, 59, 0, 39, 59, 0, 318, 0,
191 143, 144, 0, 143, 144, 0, 143, 144, 0, 19,
192 59, 59, 0, 143, 144, 0, 23, 143, 144, 0,
193 0, 62, 143, 144, 0, 76, 162, 39, 143, 144,
194 39, 54, 54, 54, 54, 231, 143, 144, 91, 93,
195 95, 97, 143, 144, 0, 59, 143, 144, 106, 143,
196 144, 143, 144, 54, 118, 0, 25, 25, 25, 25,
197 25, 25, 0, 25, 25, 25, 25, 25, 25, 25,
198 25, 25, 25, 143, 144, 0, 25, 25, 0, 25,
199 25, 25, 0, 170, 0, 172, 25, 25, 25, 25,
200 25, 0, 0, 25, 25, 143, 144, 178, 0, 181,
201 25, 183, 0, 185, 25, 187, 25, 25, 18, 18,
202 18, 18, 18, 18, 0, 18, 18, 18, 18, 18,
203 18, 18, 18, 18, 18, 143, 144, 0, 18, 18,
204 0, 18, 18, 18, 143, 144, 143, 144, 18, 18,
205 18, 18, 18, 0, 207, 18, 18, 0, 143, 144,
206 82, 81, 18, 0, 81, 83, 18, 65, 18, 18,
207 39, 39, 39, 39, 39, 39, 143, 144, 81, 81,
208 39, 143, 144, 39, 39, 39, 39, 143, 144, 0,
209 39, 39, 0, 39, 39, 39, 111, 0, 113, 0,
210 39, 39, 39, 39, 39, 0, 126, 39, 39, 0,
211 130, 143, 144, 81, 39, 257, 143, 144, 39, 0,
212 39, 39, 143, 144, 0, 0, 0, 0, 0, 0,
213 0, 59, 59, 59, 59, 0, 0, 0, 163, 0,
214 71, 0, 0, 71, 179, 0, 182, 0, 184, 0,
215 186, 0, 189, 59, 59, 0, 194, 71, 71, 0,
216 0, 0, 71, 0, 283, 0, 284, 0, 285, 286,
217 145, 0, 288, 0, 0, 290, 0, 150, 0, 0,
218 150, 150, 150, 0, 150, 137, 150, 150, 137, 150,
219 0, 0, 71, 209, 210, 211, 212, 213, 214, 215,
220 0, 0, 137, 137, 0, 0, 0, 137, 150, 312,
221 139, 140, 141, 142, 0, 0, 0, 235, 236, 237,
222 238, 239, 241, 0, 0, 0, 0, 0, 0, 87,
223 0, 0, 143, 144, 319, 137, 271, 137, 322, 0,
224 0, 152, 104, 0, 0, 258, 0, 0, 117, 0,
225 163, 262, 264, 266, 0, 0, 0, 0, 268, 0,
226 131, 132, 133, 134, 135, 0, 0, 137, 151, 163,
227 150, 151, 151, 151, 0, 151, 100, 151, 151, 100,
228 151, 0, 145, 0, 272, 0, 273, 0, 0, 81,
229 81, 81, 81, 100, 100, 0, 0, 0, 100, 151,
230 0, 145, 0, 0, 0, 0, 197, 0, 0, 0,
231 179, 81, 81, 0, 0, 81, 0, 0, 0, 0,
232 0, 0, 0, 296, 0, 0, 0, 47, 100, 0,
233 58, 60, 57, 0, 52, 0, 61, 55, 0, 54,
234 0, 308, 0, 139, 140, 141, 142, 0, 0, 158,
235 0, 0, 159, 53, 0, 160, 161, 162, 59, 0,
236 0, 151, 0, 0, 65, 143, 144, 0, 71, 71,
237 71, 71, 0, 0, 0, 0, 0, 71, 0, 0,
238 0, 71, 71, 71, 71, 56, 0, 0, 0, 0,
239 71, 71, 0, 0, 71, 71, 71, 71, 71, 0,
240 71, 150, 150, 150, 150, 150, 0, 0, 0, 0,
241 150, 0, 0, 137, 137, 137, 137, 23, 0, 0,
242 48, 150, 137, 150, 150, 150, 137, 137, 137, 137,
243 150, 150, 150, 150, 150, 137, 137, 150, 150, 137,
244 137, 137, 137, 137, 150, 137, 137, 56, 150, 137,
245 150, 150, 137, 137, 137, 0, 146, 0, 0, 0,
246 147, 148, 149, 150, 159, 56, 0, 160, 161, 162,
247 0, 0, 0, 151, 153, 154, 155, 156, 0, 157,
248 158, 0, 0, 159, 0, 0, 160, 161, 162, 0,
249 0, 0, 151, 151, 151, 151, 151, 0, 0, 56,
250 0, 151, 0, 0, 100, 100, 100, 100, 0, 0,
251 0, 0, 151, 100, 151, 151, 151, 100, 100, 100,
252 100, 151, 151, 151, 151, 151, 100, 100, 151, 151,
253 100, 100, 100, 100, 100, 151, 100, 100, 0, 151,
254 100, 151, 151, 100, 100, 100, 163, 0, 0, 0,
255 22, 24, 25, 26, 27, 28, 0, 0, 0, 0,
256 29, 0, 0, 30, 31, 32, 33, 0, 0, 0,
257 34, 35, 0, 36, 37, 38, 0, 0, 145, 0,
258 39, 40, 41, 42, 43, 0, 0, 44, 45, 0,
259 0, 0, 0, 0, 46, 0, 0, 163, 49, 39,
260 50, 51, 39, 39, 39, 0, 39, 0, 39, 39,
261 0, 39, 85, 85, 0, 0, 0, 0, 0, 0,
262 0, 99, 0, 0, 0, 39, 85, 108, 0, 145,
263 39, 0, 115, 0, 0, 0, 0, 0, 0, 0,
264 0, 0, 0, 0, 85, 85, 85, 85, 85, 0,
265 0, 47, 0, 0, 58, 60, 57, 39, 52, 0,
266 61, 55, 0, 54, 0, 0, 0, 0, 0, 0,
267 0, 0, 0, 0, 0, 56, 56, 56, 56, 0,
268 0, 0, 59, 0, 0, 0, 0, 0, 0, 39,
269 115, 0, 39, 0, 0, 0, 0, 56, 56, 0,
270 0, 0, 0, 47, 0, 0, 58, 60, 57, 56,
271 52, 0, 61, 55, 0, 54, 0, 0, 0, 0,
272 0, 0, 0, 0, 0, 0, 0, 163, 0, 110,
273 0, 0, 0, 0, 59, 0, 0, 147, 148, 149,
274 150, 23, 0, 0, 48, 0, 0, 0, 0, 233,
275 0, 153, 154, 155, 156, 0, 157, 158, 0, 145,
276 159, 56, 0, 160, 161, 162, 0, 0, 0, 0,
277 0, 47, 0, 0, 58, 60, 57, 0, 52, 0,
278 61, 55, 0, 54, 0, 0, 0, 0, 147, 148,
279 149, 150, 0, 0, 0, 0, 48, 0, 0, 0,
280 0, 0, 59, 154, 155, 156, 0, 157, 158, 0,
281 0, 159, 0, 0, 160, 161, 162, 0, 0, 0,
282 0, 0, 39, 39, 39, 39, 39, 39, 0, 56,
283 0, 0, 39, 0, 0, 39, 39, 39, 39, 0,
284 0, 0, 39, 39, 0, 39, 39, 39, 0, 0,
285 0, 0, 39, 39, 39, 39, 39, 0, 0, 39,
286 39, 23, 0, 0, 48, 0, 39, 0, 0, 163,
287 39, 0, 39, 39, 0, 114, 25, 26, 27, 28,
288 83, 0, 47, 0, 29, 58, 60, 57, 0, 52,
289 125, 61, 55, 0, 54, 35, 0, 36, 37, 38,
290 0, 145, 0, 163, 39, 40, 41, 42, 43, 0,
291 0, 44, 45, 59, 0, 0, 0, 0, 46, 0,
292 149, 150, 49, 0, 50, 51, 0, 24, 25, 26,
293 27, 28, 0, 0, 0, 145, 29, 157, 158, 0,
294 56, 159, 0, 0, 160, 161, 162, 35, 0, 36,
295 37, 38, 0, 0, 0, 0, 39, 40, 41, 42,
296 43, 0, 0, 44, 45, 0, 0, 0, 0, 0,
297 46, 0, 0, 0, 49, 48, 50, 51, 0, 47,
298 163, 0, 58, 60, 57, 0, 52, 0, 61, 55,
299 0, 54, 0, 0, 0, 114, 25, 26, 27, 28,
300 83, 0, 0, 0, 29, 0, 0, 0, 0, 0,
301 59, 0, 145, 0, 0, 35, 0, 36, 37, 38,
302 0, 0, 0, 0, 39, 40, 41, 42, 43, 0,
303 0, 0, 45, 0, 0, 0, 0, 56, 46, 129,
304 0, 0, 49, 0, 50, 51, 0, 47, 0, 0,
305 58, 60, 57, 0, 52, 0, 61, 55, 0, 54,
306 147, 148, 149, 150, 0, 0, 0, 0, 0, 0,
307 0, 0, 48, 0, 0, 0, 155, 156, 59, 157,
308 158, 0, 0, 159, 0, 0, 160, 161, 162, 0,
309 0, 0, 0, 0, 147, 148, 149, 150, 0, 0,
310 0, 244, 0, 0, 245, 56, 24, 25, 26, 27,
311 28, 156, 0, 157, 158, 29, 0, 159, 0, 0,
312 160, 161, 162, 152, 0, 0, 35, 0, 36, 37,
313 38, 0, 0, 0, 0, 39, 40, 41, 42, 43,
314 48, 0, 44, 45, 0, 0, 0, 0, 0, 46,
315 0, 163, 0, 49, 0, 50, 51, 0, 47, 0,
316 163, 58, 60, 57, 0, 52, 193, 61, 55, 0,
317 54, 147, 148, 149, 150, 0, 0, 0, 0, 0,
318 0, 0, 163, 145, 0, 0, 0, 0, 0, 59,
319 157, 158, 145, 78, 159, 0, 78, 160, 161, 162,
320 0, 0, 0, 24, 25, 26, 27, 28, 0, 0,
321 78, 78, 29, 0, 145, 78, 56, 0, 0, 0,
322 0, 0, 0, 35, 0, 36, 37, 38, 0, 0,
323 0, 0, 39, 40, 41, 42, 43, 0, 0, 44,
324 45, 0, 0, 0, 0, 78, 46, 0, 0, 0,
325 49, 48, 50, 51, 47, 163, 0, 58, 60, 57,
326 0, 52, 240, 61, 55, 0, 54, 0, 0, 0,
327 22, 24, 25, 26, 27, 28, 0, 0, 0, 0,
328 29, 0, 0, 0, 0, 59, 0, 145, 0, 0,
329 0, 35, 0, 36, 37, 38, 0, 0, 0, 0,
330 39, 40, 41, 42, 43, 0, 0, 44, 45, 0,
331 0, 0, 56, 0, 46, 0, 0, 0, 49, 0,
332 50, 51, 0, 47, 0, 0, 58, 60, 57, 0,
333 52, 263, 61, 55, 0, 54, 0, 0, 146, 0,
334 0, 0, 147, 148, 149, 150, 0, 48, 0, 0,
335 0, 0, 0, 149, 59, 151, 153, 154, 155, 156,
336 0, 157, 158, 0, 0, 159, 0, 0, 160, 161,
337 162, 158, 0, 147, 159, 149, 150, 160, 161, 162,
338 0, 56, 24, 25, 26, 27, 28, 0, 0, 0,
339 0, 29, 157, 158, 0, 0, 159, 0, 0, 160,
340 161, 162, 35, 0, 36, 37, 38, 0, 0, 0,
341 0, 39, 40, 41, 42, 43, 48, 0, 44, 45,
342 0, 78, 78, 78, 78, 46, 0, 0, 0, 49,
343 47, 50, 51, 58, 60, 57, 0, 52, 265, 61,
344 55, 0, 54, 78, 78, 0, 0, 78, 149, 150,
345 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
346 0, 59, 0, 0, 0, 0, 158, 0, 0, 159,
347 0, 0, 160, 161, 162, 0, 0, 0, 24, 25,
348 26, 27, 28, 0, 0, 0, 0, 29, 56, 0,
349 0, 0, 0, 0, 0, 0, 0, 0, 35, 0,
350 36, 37, 38, 0, 0, 0, 0, 39, 40, 41,
351 42, 43, 0, 75, 44, 45, 75, 0, 0, 0,
352 0, 46, 0, 48, 0, 49, 0, 50, 51, 47,
353 75, 75, 58, 60, 57, 75, 52, 0, 61, 55,
354 0, 54, 0, 0, 0, 0, 0, 24, 25, 26,
355 27, 28, 0, 0, 0, 0, 29, 0, 0, 0,
356 59, 0, 0, 0, 0, 75, 0, 35, 0, 36,
357 37, 38, 0, 0, 0, 0, 39, 40, 41, 42,
358 43, 0, 0, 44, 45, 0, 0, 56, 0, 0,
359 46, 0, 0, 0, 49, 47, 50, 51, 58, 60,
360 57, 0, 52, 0, 61, 55, 0, 54, 0, 0,
361 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,
362 0, 0, 48, 0, 0, 0, 59, 0, 0, 0,
363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
364 0, 0, 131, 0, 0, 131, 0, 0, 0, 0,
365 0, 0, 0, 56, 24, 25, 26, 27, 28, 131,
366 131, 0, 0, 29, 131, 0, 0, 0, 0, 0,
367 0, 0, 0, 0, 35, 0, 36, 37, 38, 0,
368 0, 0, 0, 39, 40, 41, 42, 43, 48, 0,
369 44, 45, 131, 0, 131, 0, 0, 46, 0, 0,
370 0, 49, 47, 50, 51, 58, 60, 57, 0, 52,
371 0, 61, 55, 0, 54, 0, 0, 0, 0, 0,
372 0, 0, 0, 0, 131, 0, 0, 0, 0, 0,
373 0, 0, 0, 59, 0, 0, 0, 0, 0, 0,
374 0, 75, 75, 75, 75, 0, 0, 0, 0, 0,
375 75, 0, 0, 105, 25, 26, 27, 28, 0, 0,
376 56, 0, 29, 75, 75, 0, 0, 75, 75, 75,
377 75, 75, 0, 35, 0, 36, 37, 38, 0, 0,
378 0, 0, 39, 40, 41, 42, 43, 0, 0, 0,
379 45, 0, 23, 0, 0, 48, 46, 0, 0, 0,
380 49, 47, 50, 51, 58, 60, 57, 0, 52, 0,
381 61, 55, 0, 54, 0, 0, 0, 0, 0, 24,
382 25, 26, 27, 28, 0, 0, 0, 0, 29, 0,
383 0, 0, 59, 0, 0, 0, 0, 0, 0, 35,
384 0, 36, 37, 38, 0, 0, 0, 0, 39, 40,
385 41, 42, 43, 0, 0, 44, 45, 0, 0, 56,
386 0, 0, 46, 0, 0, 0, 49, 0, 50, 51,
387 131, 131, 131, 131, 0, 0, 0, 0, 0, 131,
388 0, 0, 0, 131, 131, 131, 131, 0, 0, 0,
389 0, 0, 131, 131, 48, 0, 131, 131, 131, 131,
390 131, 116, 131, 131, 116, 0, 131, 0, 0, 131,
391 131, 131, 0, 0, 0, 0, 0, 0, 116, 116,
392 0, 0, 0, 116, 0, 0, 24, 25, 26, 27,
393 28, 0, 0, 0, 0, 29, 0, 0, 0, 0,
394 0, 0, 0, 0, 0, 0, 35, 0, 36, 37,
395 38, 116, 0, 116, 0, 39, 40, 41, 42, 43,
396 0, 0, 137, 45, 0, 137, 0, 0, 0, 46,
397 0, 0, 0, 49, 0, 50, 51, 0, 0, 137,
398 137, 0, 0, 116, 137, 0, 0, 0, 0, 0,
399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
401 0, 0, 137, 126, 137, 0, 126, 0, 0, 0,
402 0, 0, 0, 0, 0, 24, 25, 26, 27, 28,
403 126, 126, 0, 0, 29, 126, 0, 0, 0, 0,
404 0, 0, 0, 0, 137, 35, 0, 36, 37, 38,
405 0, 0, 0, 0, 39, 40, 41, 42, 43, 140,
406 0, 0, 45, 0, 0, 126, 0, 0, 46, 0,
407 0, 0, 49, 0, 50, 51, 140, 140, 0, 0,
408 0, 140, 0, 0, 0, 0, 0, 0, 0, 0,
409 0, 0, 0, 0, 0, 126, 0, 0, 0, 0,
410 0, 139, 0, 0, 139, 0, 0, 0, 0, 140,
411 0, 140, 0, 0, 0, 0, 0, 0, 139, 139,
412 0, 0, 0, 139, 0, 0, 0, 0, 0, 116,
413 116, 116, 116, 0, 0, 0, 0, 0, 116, 0,
414 0, 140, 116, 116, 116, 116, 0, 0, 0, 0,
415 0, 116, 116, 139, 0, 116, 116, 116, 116, 116,
416 0, 116, 116, 94, 0, 116, 94, 0, 116, 116,
417 116, 0, 0, 0, 0, 0, 0, 0, 0, 0,
418 94, 94, 0, 139, 0, 94, 0, 0, 0, 0,
419 137, 137, 137, 137, 0, 0, 0, 0, 0, 137,
420 0, 0, 0, 137, 137, 137, 137, 0, 0, 0,
421 60, 0, 137, 137, 0, 94, 137, 137, 137, 137,
422 137, 0, 137, 137, 0, 0, 137, 60, 60, 137,
423 137, 137, 60, 0, 0, 0, 0, 0, 0, 0,
424 0, 126, 126, 126, 126, 94, 0, 0, 0, 0,
425 126, 0, 0, 0, 126, 126, 126, 126, 0, 0,
426 60, 0, 60, 126, 126, 0, 0, 126, 126, 126,
427 126, 126, 0, 126, 126, 0, 0, 126, 0, 0,
428 126, 126, 126, 0, 0, 0, 0, 140, 140, 140,
429 140, 0, 60, 0, 127, 0, 140, 127, 0, 0,
430 140, 140, 140, 140, 0, 0, 0, 0, 0, 140,
431 140, 127, 127, 140, 140, 140, 140, 140, 0, 140,
432 140, 0, 0, 140, 0, 0, 140, 140, 140, 139,
433 139, 139, 139, 0, 0, 0, 58, 0, 139, 58,
434 0, 0, 139, 139, 139, 139, 127, 0, 0, 0,
435 0, 139, 139, 58, 58, 139, 139, 139, 139, 139,
436 57, 139, 139, 57, 0, 139, 0, 0, 139, 139,
437 139, 0, 0, 0, 0, 0, 0, 57, 57, 0,
438 0, 0, 57, 0, 0, 0, 0, 0, 58, 0,
439 0, 94, 94, 94, 94, 0, 0, 0, 0, 0,
440 94, 0, 0, 0, 94, 94, 94, 94, 0, 0,
441 0, 0, 57, 94, 94, 0, 0, 94, 94, 94,
442 94, 94, 0, 94, 94, 0, 0, 94, 0, 0,
443 94, 94, 94, 0, 0, 0, 0, 0, 60, 60,
444 60, 60, 57, 0, 0, 0, 0, 60, 0, 0,
445 0, 60, 60, 60, 60, 0, 0, 0, 0, 0,
446 60, 60, 0, 0, 60, 60, 60, 60, 60, 93,
447 60, 60, 93, 0, 60, 0, 0, 60, 60, 60,
448 0, 0, 0, 0, 0, 0, 93, 93, 0, 0,
449 0, 93, 0, 0, 0, 0, 0, 0, 0, 0,
450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
451 0, 139, 0, 0, 139, 0, 0, 0, 0, 0,
452 0, 93, 127, 127, 127, 127, 0, 0, 139, 139,
453 0, 0, 0, 139, 0, 0, 0, 0, 0, 0,
454 0, 0, 0, 0, 127, 127, 0, 0, 0, 0,
455 0, 93, 0, 128, 0, 0, 128, 0, 0, 0,
456 0, 0, 0, 139, 58, 58, 58, 58, 0, 0,
457 128, 128, 0, 0, 0, 128, 0, 0, 0, 0,
458 0, 0, 0, 0, 0, 0, 58, 58, 57, 57,
459 57, 57, 0, 0, 0, 69, 0, 57, 69, 0,
460 0, 57, 57, 57, 57, 128, 0, 0, 0, 0,
461 57, 57, 69, 69, 57, 57, 57, 57, 57, 100,
462 57, 57, 100, 0, 57, 0, 0, 57, 57, 57,
463 0, 0, 0, 0, 0, 0, 100, 100, 0, 0,
464 0, 100, 0, 0, 0, 0, 0, 69, 0, 0,
465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
466 0, 0, 106, 0, 0, 106, 0, 0, 0, 0,
467 0, 100, 0, 0, 0, 0, 0, 0, 0, 106,
468 106, 0, 0, 0, 106, 0, 0, 0, 0, 0,
469 0, 0, 0, 0, 0, 304, 0, 93, 93, 93,
470 93, 0, 0, 0, 0, 0, 93, 0, 0, 0,
471 93, 93, 93, 93, 106, 0, 0, 152, 0, 93,
472 93, 0, 0, 93, 93, 93, 93, 93, 0, 93,
473 93, 0, 0, 93, 0, 0, 93, 93, 93, 139,
474 139, 139, 139, 0, 0, 163, 0, 0, 139, 0,
475 0, 0, 139, 139, 139, 139, 0, 0, 0, 0,
476 0, 139, 139, 0, 0, 139, 139, 139, 139, 139,
477 0, 139, 139, 0, 0, 139, 0, 145, 139, 139,
478 139, 128, 128, 128, 128, 0, 0, 0, 0, 0,
479 128, 0, 0, 0, 128, 128, 128, 128, 0, 0,
480 0, 0, 0, 128, 128, 0, 0, 128, 128, 128,
481 128, 128, 90, 128, 128, 90, 0, 128, 0, 0,
482 128, 128, 128, 69, 69, 69, 69, 0, 0, 90,
483 90, 0, 0, 0, 90, 0, 0, 0, 0, 0,
484 0, 0, 0, 0, 0, 69, 69, 100, 100, 100,
485 100, 0, 0, 0, 0, 0, 100, 0, 0, 0,
486 100, 100, 100, 100, 90, 0, 0, 0, 0, 100,
487 100, 0, 0, 100, 100, 100, 100, 100, 0, 100,
488 100, 0, 0, 100, 0, 0, 100, 100, 100, 0,
489 106, 106, 106, 106, 0, 0, 0, 0, 0, 106,
490 0, 0, 0, 106, 106, 106, 106, 0, 0, 0,
491 0, 0, 106, 106, 0, 0, 106, 106, 106, 106,
492 106, 0, 106, 106, 91, 0, 106, 91, 0, 106,
493 106, 106, 146, 0, 0, 0, 147, 148, 149, 150,
494 0, 91, 91, 0, 0, 0, 91, 0, 0, 151,
495 153, 154, 155, 156, 0, 157, 158, 0, 0, 159,
496 0, 0, 160, 161, 162, 85, 0, 0, 85, 0,
497 0, 0, 0, 0, 0, 0, 91, 0, 0, 0,
498 0, 0, 85, 85, 0, 0, 0, 85, 0, 0,
499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
500 0, 0, 0, 0, 0, 86, 0, 0, 86, 0,
501 0, 0, 0, 0, 0, 0, 0, 85, 0, 0,
502 0, 0, 86, 86, 0, 0, 0, 86, 0, 0,
503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
504 90, 90, 90, 90, 0, 0, 0, 0, 0, 90,
505 0, 0, 0, 90, 90, 90, 90, 86, 0, 0,
506 0, 87, 90, 90, 87, 0, 90, 90, 90, 90,
507 90, 0, 90, 90, 0, 0, 90, 0, 87, 87,
508 0, 0, 0, 87, 0, 0, 0, 0, 0, 0,
509 0, 0, 0, 0, 0, 0, 0, 83, 0, 0,
510 83, 0, 0, 0, 0, 0, 0, 0, 0, 0,
511 0, 0, 0, 87, 83, 83, 0, 0, 0, 83,
512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
513 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
514 84, 0, 0, 84, 0, 0, 0, 0, 0, 83,
515 0, 0, 91, 91, 91, 91, 0, 84, 84, 0,
516 0, 91, 84, 0, 0, 91, 91, 91, 91, 0,
517 0, 0, 0, 0, 91, 91, 0, 0, 91, 91,
518 91, 91, 91, 0, 91, 91, 0, 0, 91, 0,
519 0, 0, 84, 85, 85, 85, 85, 0, 0, 0,
520 0, 0, 85, 0, 0, 0, 85, 85, 85, 85,
521 0, 0, 0, 0, 0, 85, 85, 0, 0, 85,
522 85, 85, 85, 85, 0, 85, 85, 0, 0, 0,
523 0, 0, 0, 86, 86, 86, 86, 0, 0, 0,
524 0, 0, 86, 0, 0, 0, 86, 86, 86, 86,
525 0, 0, 0, 0, 82, 86, 86, 82, 0, 86,
526 86, 86, 86, 86, 0, 86, 86, 0, 0, 0,
527 0, 82, 82, 0, 0, 0, 82, 0, 0, 0,
528 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
529 87, 87, 87, 0, 0, 0, 0, 0, 87, 0,
530 0, 0, 87, 87, 87, 87, 82, 0, 0, 0,
531 0, 87, 87, 0, 0, 87, 87, 87, 87, 87,
532 0, 87, 87, 0, 0, 83, 83, 83, 83, 0,
533 0, 0, 0, 0, 83, 0, 0, 0, 83, 83,
534 83, 83, 0, 0, 0, 0, 0, 83, 83, 0,
535 0, 83, 83, 83, 83, 83, 70, 83, 83, 70,
536 0, 0, 0, 0, 0, 0, 0, 0, 84, 84,
537 84, 84, 0, 70, 70, 0, 0, 84, 70, 0,
538 0, 84, 84, 84, 84, 0, 0, 0, 0, 0,
539 84, 84, 0, 0, 84, 84, 84, 84, 84, 72,
540 84, 84, 72, 0, 0, 0, 0, 0, 70, 0,
541 0, 0, 0, 0, 0, 0, 72, 72, 0, 0,
542 0, 72, 0, 0, 0, 0, 0, 0, 0, 0,
543 0, 0, 0, 0, 0, 73, 0, 0, 73, 0,
544 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
545 0, 72, 73, 73, 0, 0, 0, 73, 0, 0,
546 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
547 0, 120, 0, 0, 120, 0, 0, 0, 0, 0,
548 0, 0, 82, 82, 82, 82, 0, 73, 120, 120,
549 0, 82, 0, 120, 0, 82, 82, 82, 82, 0,
550 0, 0, 0, 92, 82, 82, 92, 0, 82, 82,
551 82, 82, 82, 0, 82, 82, 0, 0, 0, 0,
552 92, 92, 0, 120, 0, 92, 0, 0, 0, 0,
553 0, 0, 0, 0, 0, 0, 130, 0, 0, 130,
554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
555 0, 0, 0, 130, 130, 92, 0, 0, 130, 0,
556 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
557 0, 0, 74, 0, 0, 74, 0, 0, 0, 0,
558 0, 0, 0, 0, 70, 70, 70, 70, 130, 74,
559 74, 0, 0, 70, 74, 0, 0, 70, 70, 70,
560 70, 0, 0, 0, 0, 0, 70, 70, 0, 0,
561 70, 70, 70, 70, 70, 76, 70, 70, 76, 0,
562 0, 0, 0, 0, 74, 0, 0, 72, 72, 72,
563 72, 0, 76, 76, 0, 0, 72, 76, 0, 0,
564 72, 72, 0, 72, 0, 0, 0, 0, 0, 72,
565 72, 0, 0, 72, 72, 72, 72, 72, 0, 72,
566 0, 0, 0, 73, 73, 73, 73, 76, 0, 0,
567 152, 0, 73, 0, 0, 0, 73, 73, 0, 0,
568 0, 0, 0, 0, 0, 73, 73, 0, 0, 73,
569 73, 73, 73, 73, 0, 73, 0, 0, 163, 120,
570 120, 120, 120, 0, 0, 0, 0, 0, 120, 0,
571 0, 0, 120, 120, 0, 0, 0, 0, 0, 0,
572 77, 120, 120, 77, 0, 120, 120, 120, 120, 120,
573 145, 92, 92, 92, 92, 0, 0, 77, 77, 0,
574 92, 0, 77, 0, 92, 92, 0, 0, 0, 0,
575 0, 0, 79, 92, 92, 79, 0, 92, 92, 92,
576 92, 92, 0, 0, 130, 130, 130, 130, 0, 79,
577 79, 0, 77, 130, 79, 0, 0, 130, 130, 0,
578 0, 0, 0, 0, 0, 0, 130, 130, 0, 0,
579 130, 130, 130, 130, 130, 80, 0, 0, 80, 0,
580 74, 74, 74, 74, 79, 0, 0, 0, 0, 74,
581 0, 0, 80, 80, 74, 0, 0, 80, 0, 0,
582 152, 0, 74, 74, 0, 0, 74, 74, 74, 74,
583 74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
584 0, 0, 0, 76, 76, 76, 76, 80, 163, 0,
585 0, 0, 76, 0, 0, 0, 0, 0, 0, 0,
586 0, 0, 0, 0, 0, 76, 76, 0, 0, 76,
587 76, 76, 76, 76, 0, 0, 0, 0, 0, 0,
588 145, 0, 0, 0, 0, 146, 0, 0, 0, 147,
589 148, 149, 150, 0, 0, 0, 0, 0, 0, 0,
590 0, 0, 151, 153, 154, 155, 156, 0, 157, 158,
591 0, 0, 159, 0, 0, 160, 161, 162, 0, 0,
592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
594 0, 0, 0, 0, 0, 0, 0, 0, 77, 77,
595 77, 77, 0, 0, 0, 0, 0, 77, 0, 0,
596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
597 77, 77, 0, 0, 77, 77, 77, 77, 0, 0,
598 79, 79, 79, 79, 0, 100, 0, 0, 0, 79,
599 107, 109, 0, 0, 0, 0, 119, 120, 121, 122,
600 123, 124, 79, 79, 127, 128, 79, 79, 79, 0,
601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
602 0, 0, 0, 80, 80, 80, 80, 0, 0, 0,
603 0, 0, 80, 0, 0, 146, 0, 0, 177, 147,
604 148, 149, 150, 0, 0, 80, 80, 0, 0, 80,
605 80, 0, 0, 153, 154, 155, 156, 0, 157, 158,
606 0, 0, 159, 0, 0, 160, 161, 162, 0, 0,
607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
608 0, 0, 0, 0, 0, 0, 0, 0, 208, 0,
609 0, 0, 0, 0, 0, 0, 216, 217, 218, 219,
610 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
619 0, 0, 0, 0, 0, 282, 0, 0, 0, 0,
620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
624 short yycheck[] = { 41,
625 0, 41, 93, 41, 59, 93, 44, 91, 93, 176,
626 59, 59, 45, 36, 59, 93, 123, 21, 40, 93,
627 40, 59, 125, 41, 93, 91, 40, 40, 6, 40,
628 93, 91, 59, 33, 187, 257, 36, 37, 38, 123,
629 40, 45, 42, 43, 41, 45, 36, 41, 44, 257,
630 40, 29, 0, 86, 41, 93, 41, 123, 41, 59,
631 41, 59, 59, 123, 64, 59, 40, 181, 91, 183,
632 40, 91, 59, 40, 59, 41, 59, 40, 59, 112,
633 291, 292, 86, 257, 41, 33, 41, 275, 36, 37,
634 38, 91, 40, 44, 42, 43, 123, 45, 41, 40,
635 123, 123, 123, 123, 0, 273, 274, 274, 112, 123,
636 123, 59, 123, 117, 59, 59, 64, 40, 40, 125,
637 41, 41, 40, 123, 41, 125, 126, 41, 59, 36,
638 91, 41, 285, 125, 59, 288, 292, 33, 91, 40,
639 36, 37, 38, 91, 40, 40, 42, 43, 41, 45,
640 257, 41, 125, 263, 264, 265, 41, 267, 268, 59,
641 263, 264, 265, 59, 267, 268, 319, 125, 64, 283,
642 284, 125, 41, 125, 41, 123, 290, 125, 126, 59,
643 59, 41, 59, 41, 59, 41, 59, 41, 310, 81,
644 13, 256, -1, 41, -1, 91, 44, -1, 312, -1,
645 291, 292, -1, 291, 292, -1, 291, 292, -1, 257,
646 58, 59, -1, 291, 292, -1, 123, 291, 292, -1,
647 -1, 13, 291, 292, -1, 17, 310, 123, 291, 292,
648 126, 269, 270, 271, 272, 258, 291, 292, 30, 31,
649 32, 33, 291, 292, -1, 93, 291, 292, 40, 291,
650 292, 291, 292, 291, 46, -1, 256, 257, 258, 259,
651 260, 261, -1, 263, 264, 265, 266, 267, 268, 269,
652 270, 271, 272, 291, 292, -1, 276, 277, -1, 279,
653 280, 281, -1, 75, -1, 77, 286, 287, 288, 289,
654 290, -1, -1, 293, 294, 291, 292, 89, -1, 91,
655 300, 93, -1, 95, 304, 97, 306, 307, 256, 257,
656 258, 259, 260, 261, -1, 263, 264, 265, 266, 267,
657 268, 269, 270, 271, 272, 291, 292, -1, 276, 277,
658 -1, 279, 280, 281, 291, 292, 291, 292, 286, 287,
659 288, 289, 290, -1, 136, 293, 294, -1, 291, 292,
660 257, 41, 300, -1, 44, 262, 304, 13, 306, 307,
661 256, 257, 258, 259, 260, 261, 291, 292, 58, 59,
662 266, 291, 292, 269, 270, 271, 272, 291, 292, -1,
663 276, 277, -1, 279, 280, 281, 42, -1, 44, -1,
664 286, 287, 288, 289, 290, -1, 52, 293, 294, -1,
665 56, 291, 292, 93, 300, 41, 291, 292, 304, -1,
666 306, 307, 291, 292, -1, -1, -1, -1, -1, -1,
667 -1, 269, 270, 271, 272, -1, -1, -1, 91, -1,
668 41, -1, -1, 44, 90, -1, 92, -1, 94, -1,
669 96, -1, 98, 291, 292, -1, 102, 58, 59, -1,
670 -1, -1, 63, -1, 246, -1, 248, -1, 250, 251,
671 123, -1, 254, -1, -1, 257, -1, 33, -1, -1,
672 36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
673 -1, -1, 93, 139, 140, 141, 142, 143, 144, 145,
674 -1, -1, 58, 59, -1, -1, -1, 63, 64, 291,
675 269, 270, 271, 272, -1, -1, -1, 163, 164, 165,
676 166, 167, 168, -1, -1, -1, -1, -1, -1, 26,
677 -1, -1, 291, 292, 316, 91, 58, 93, 320, -1,
678 -1, 63, 39, -1, -1, 191, -1, -1, 45, -1,
679 91, 197, 198, 199, -1, -1, -1, -1, 204, -1,
680 57, 58, 59, 60, 61, -1, -1, 123, 33, 91,
681 126, 36, 37, 38, -1, 40, 41, 42, 43, 44,
682 45, -1, 123, -1, 230, -1, 232, -1, -1, 269,
683 270, 271, 272, 58, 59, -1, -1, -1, 63, 64,
684 -1, 123, -1, -1, -1, -1, 103, -1, -1, -1,
685 256, 291, 292, -1, -1, 295, -1, -1, -1, -1,
686 -1, -1, -1, 269, -1, -1, -1, 33, 93, -1,
687 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
688 -1, 287, -1, 269, 270, 271, 272, -1, -1, 302,
689 -1, -1, 305, 59, -1, 308, 309, 310, 64, -1,
690 -1, 126, -1, -1, 310, 291, 292, -1, 269, 270,
691 271, 272, -1, -1, -1, -1, -1, 278, -1, -1,
692 -1, 282, 283, 284, 285, 91, -1, -1, -1, -1,
693 291, 292, -1, -1, 295, 296, 297, 298, 299, -1,
694 301, 257, 258, 259, 260, 261, -1, -1, -1, -1,
695 266, -1, -1, 269, 270, 271, 272, 123, -1, -1,
696 126, 277, 278, 279, 280, 281, 282, 283, 284, 285,
697 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
698 296, 297, 298, 299, 300, 301, 302, 41, 304, 305,
699 306, 307, 308, 309, 310, -1, 278, -1, -1, -1,
700 282, 283, 284, 285, 305, 59, -1, 308, 309, 310,
701 -1, -1, -1, 295, 296, 297, 298, 299, -1, 301,
702 302, -1, -1, 305, -1, -1, 308, 309, 310, -1,
703 -1, -1, 257, 258, 259, 260, 261, -1, -1, 93,
704 -1, 266, -1, -1, 269, 270, 271, 272, -1, -1,
705 -1, -1, 277, 278, 279, 280, 281, 282, 283, 284,
706 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
707 295, 296, 297, 298, 299, 300, 301, 302, -1, 304,
708 305, 306, 307, 308, 309, 310, 91, -1, -1, -1,
709 256, 257, 258, 259, 260, 261, -1, -1, -1, -1,
710 266, -1, -1, 269, 270, 271, 272, -1, -1, -1,
711 276, 277, -1, 279, 280, 281, -1, -1, 123, -1,
712 286, 287, 288, 289, 290, -1, -1, 293, 294, -1,
713 -1, -1, -1, -1, 300, -1, -1, 91, 304, 33,
714 306, 307, 36, 37, 38, -1, 40, -1, 42, 43,
715 -1, 45, 25, 26, -1, -1, -1, -1, -1, -1,
716 -1, 34, -1, -1, -1, 59, 39, 40, -1, 123,
717 64, -1, 45, -1, -1, -1, -1, -1, -1, -1,
718 -1, -1, -1, -1, 57, 58, 59, 60, 61, -1,
719 -1, 33, -1, -1, 36, 37, 38, 91, 40, -1,
720 42, 43, -1, 45, -1, -1, -1, -1, -1, -1,
721 -1, -1, -1, -1, -1, 269, 270, 271, 272, -1,
722 -1, -1, 64, -1, -1, -1, -1, -1, -1, 123,
723 103, -1, 126, -1, -1, -1, -1, 291, 292, -1,
724 -1, -1, -1, 33, -1, -1, 36, 37, 38, 91,
725 40, -1, 42, 43, -1, 45, -1, -1, -1, -1,
726 -1, -1, -1, -1, -1, -1, -1, 91, -1, 59,
727 -1, -1, -1, -1, 64, -1, -1, 282, 283, 284,
728 285, 123, -1, -1, 126, -1, -1, -1, -1, 162,
729 -1, 296, 297, 298, 299, -1, 301, 302, -1, 123,
730 305, 91, -1, 308, 309, 310, -1, -1, -1, -1,
731 -1, 33, -1, -1, 36, 37, 38, -1, 40, -1,
732 42, 43, -1, 45, -1, -1, -1, -1, 282, 283,
733 284, 285, -1, -1, -1, -1, 126, -1, -1, -1,
734 -1, -1, 64, 297, 298, 299, -1, 301, 302, -1,
735 -1, 305, -1, -1, 308, 309, 310, -1, -1, -1,
736 -1, -1, 256, 257, 258, 259, 260, 261, -1, 91,
737 -1, -1, 266, -1, -1, 269, 270, 271, 272, -1,
738 -1, -1, 276, 277, -1, 279, 280, 281, -1, -1,
739 -1, -1, 286, 287, 288, 289, 290, -1, -1, 293,
740 294, 123, -1, -1, 126, -1, 300, -1, -1, 91,
741 304, -1, 306, 307, -1, 257, 258, 259, 260, 261,
742 262, -1, 33, -1, 266, 36, 37, 38, -1, 40,
743 41, 42, 43, -1, 45, 277, -1, 279, 280, 281,
744 -1, 123, -1, 91, 286, 287, 288, 289, 290, -1,
745 -1, 293, 294, 64, -1, -1, -1, -1, 300, -1,
746 284, 285, 304, -1, 306, 307, -1, 257, 258, 259,
747 260, 261, -1, -1, -1, 123, 266, 301, 302, -1,
748 91, 305, -1, -1, 308, 309, 310, 277, -1, 279,
749 280, 281, -1, -1, -1, -1, 286, 287, 288, 289,
750 290, -1, -1, 293, 294, -1, -1, -1, -1, -1,
751 300, -1, -1, -1, 304, 126, 306, 307, -1, 33,
752 91, -1, 36, 37, 38, -1, 40, -1, 42, 43,
753 -1, 45, -1, -1, -1, 257, 258, 259, 260, 261,
754 262, -1, -1, -1, 266, -1, -1, -1, -1, -1,
755 64, -1, 123, -1, -1, 277, -1, 279, 280, 281,
756 -1, -1, -1, -1, 286, 287, 288, 289, 290, -1,
757 -1, -1, 294, -1, -1, -1, -1, 91, 300, 93,
758 -1, -1, 304, -1, 306, 307, -1, 33, -1, -1,
759 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
760 282, 283, 284, 285, -1, -1, -1, -1, -1, -1,
761 -1, -1, 126, -1, -1, -1, 298, 299, 64, 301,
762 302, -1, -1, 305, -1, -1, 308, 309, 310, -1,
763 -1, -1, -1, -1, 282, 283, 284, 285, -1, -1,
764 -1, 41, -1, -1, 44, 91, 257, 258, 259, 260,
765 261, 299, -1, 301, 302, 266, -1, 305, -1, -1,
766 308, 309, 310, 63, -1, -1, 277, -1, 279, 280,
767 281, -1, -1, -1, -1, 286, 287, 288, 289, 290,
768 126, -1, 293, 294, -1, -1, -1, -1, -1, 300,
769 -1, 91, -1, 304, -1, 306, 307, -1, 33, -1,
770 91, 36, 37, 38, -1, 40, 41, 42, 43, -1,
771 45, 282, 283, 284, 285, -1, -1, -1, -1, -1,
772 -1, -1, 91, 123, -1, -1, -1, -1, -1, 64,
773 301, 302, 123, 41, 305, -1, 44, 308, 309, 310,
774 -1, -1, -1, 257, 258, 259, 260, 261, -1, -1,
775 58, 59, 266, -1, 123, 63, 91, -1, -1, -1,
776 -1, -1, -1, 277, -1, 279, 280, 281, -1, -1,
777 -1, -1, 286, 287, 288, 289, 290, -1, -1, 293,
778 294, -1, -1, -1, -1, 93, 300, -1, -1, -1,
779 304, 126, 306, 307, 33, 91, -1, 36, 37, 38,
780 -1, 40, 41, 42, 43, -1, 45, -1, -1, -1,
781 256, 257, 258, 259, 260, 261, -1, -1, -1, -1,
782 266, -1, -1, -1, -1, 64, -1, 123, -1, -1,
783 -1, 277, -1, 279, 280, 281, -1, -1, -1, -1,
784 286, 287, 288, 289, 290, -1, -1, 293, 294, -1,
785 -1, -1, 91, -1, 300, -1, -1, -1, 304, -1,
786 306, 307, -1, 33, -1, -1, 36, 37, 38, -1,
787 40, 41, 42, 43, -1, 45, -1, -1, 278, -1,
788 -1, -1, 282, 283, 284, 285, -1, 126, -1, -1,
789 -1, -1, -1, 284, 64, 295, 296, 297, 298, 299,
790 -1, 301, 302, -1, -1, 305, -1, -1, 308, 309,
791 310, 302, -1, 282, 305, 284, 285, 308, 309, 310,
792 -1, 91, 257, 258, 259, 260, 261, -1, -1, -1,
793 -1, 266, 301, 302, -1, -1, 305, -1, -1, 308,
794 309, 310, 277, -1, 279, 280, 281, -1, -1, -1,
795 -1, 286, 287, 288, 289, 290, 126, -1, 293, 294,
796 -1, 269, 270, 271, 272, 300, -1, -1, -1, 304,
797 33, 306, 307, 36, 37, 38, -1, 40, 41, 42,
798 43, -1, 45, 291, 292, -1, -1, 295, 284, 285,
799 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
800 -1, 64, -1, -1, -1, -1, 302, -1, -1, 305,
801 -1, -1, 308, 309, 310, -1, -1, -1, 257, 258,
802 259, 260, 261, -1, -1, -1, -1, 266, 91, -1,
803 -1, -1, -1, -1, -1, -1, -1, -1, 277, -1,
804 279, 280, 281, -1, -1, -1, -1, 286, 287, 288,
805 289, 290, -1, 41, 293, 294, 44, -1, -1, -1,
806 -1, 300, -1, 126, -1, 304, -1, 306, 307, 33,
807 58, 59, 36, 37, 38, 63, 40, -1, 42, 43,
808 -1, 45, -1, -1, -1, -1, -1, 257, 258, 259,
809 260, 261, -1, -1, -1, -1, 266, -1, -1, -1,
810 64, -1, -1, -1, -1, 93, -1, 277, -1, 279,
811 280, 281, -1, -1, -1, -1, 286, 287, 288, 289,
812 290, -1, -1, 293, 294, -1, -1, 91, -1, -1,
813 300, -1, -1, -1, 304, 33, 306, 307, 36, 37,
814 38, -1, 40, -1, 42, 43, -1, 45, -1, -1,
815 -1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
816 -1, -1, 126, -1, -1, -1, 64, -1, -1, -1,
817 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
818 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
819 -1, -1, -1, 91, 257, 258, 259, 260, 261, 58,
820 59, -1, -1, 266, 63, -1, -1, -1, -1, -1,
821 -1, -1, -1, -1, 277, -1, 279, 280, 281, -1,
822 -1, -1, -1, 286, 287, 288, 289, 290, 126, -1,
823 293, 294, 91, -1, 93, -1, -1, 300, -1, -1,
824 -1, 304, 33, 306, 307, 36, 37, 38, -1, 40,
825 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
826 -1, -1, -1, -1, 123, -1, -1, -1, -1, -1,
827 -1, -1, -1, 64, -1, -1, -1, -1, -1, -1,
828 -1, 269, 270, 271, 272, -1, -1, -1, -1, -1,
829 278, -1, -1, 257, 258, 259, 260, 261, -1, -1,
830 91, -1, 266, 291, 292, -1, -1, 295, 296, 297,
831 298, 299, -1, 277, -1, 279, 280, 281, -1, -1,
832 -1, -1, 286, 287, 288, 289, 290, -1, -1, -1,
833 294, -1, 123, -1, -1, 126, 300, -1, -1, -1,
834 304, 33, 306, 307, 36, 37, 38, -1, 40, -1,
835 42, 43, -1, 45, -1, -1, -1, -1, -1, 257,
836 258, 259, 260, 261, -1, -1, -1, -1, 266, -1,
837 -1, -1, 64, -1, -1, -1, -1, -1, -1, 277,
838 -1, 279, 280, 281, -1, -1, -1, -1, 286, 287,
839 288, 289, 290, -1, -1, 293, 294, -1, -1, 91,
840 -1, -1, 300, -1, -1, -1, 304, -1, 306, 307,
841 269, 270, 271, 272, -1, -1, -1, -1, -1, 278,
842 -1, -1, -1, 282, 283, 284, 285, -1, -1, -1,
843 -1, -1, 291, 292, 126, -1, 295, 296, 297, 298,
844 299, 41, 301, 302, 44, -1, 305, -1, -1, 308,
845 309, 310, -1, -1, -1, -1, -1, -1, 58, 59,
846 -1, -1, -1, 63, -1, -1, 257, 258, 259, 260,
847 261, -1, -1, -1, -1, 266, -1, -1, -1, -1,
848 -1, -1, -1, -1, -1, -1, 277, -1, 279, 280,
849 281, 91, -1, 93, -1, 286, 287, 288, 289, 290,
850 -1, -1, 41, 294, -1, 44, -1, -1, -1, 300,
851 -1, -1, -1, 304, -1, 306, 307, -1, -1, 58,
852 59, -1, -1, 123, 63, -1, -1, -1, -1, -1,
853 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
854 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
855 -1, -1, 91, 41, 93, -1, 44, -1, -1, -1,
856 -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
857 58, 59, -1, -1, 266, 63, -1, -1, -1, -1,
858 -1, -1, -1, -1, 123, 277, -1, 279, 280, 281,
859 -1, -1, -1, -1, 286, 287, 288, 289, 290, 41,
860 -1, -1, 294, -1, -1, 93, -1, -1, 300, -1,
861 -1, -1, 304, -1, 306, 307, 58, 59, -1, -1,
862 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
863 -1, -1, -1, -1, -1, 123, -1, -1, -1, -1,
864 -1, 41, -1, -1, 44, -1, -1, -1, -1, 91,
865 -1, 93, -1, -1, -1, -1, -1, -1, 58, 59,
866 -1, -1, -1, 63, -1, -1, -1, -1, -1, 269,
867 270, 271, 272, -1, -1, -1, -1, -1, 278, -1,
868 -1, 123, 282, 283, 284, 285, -1, -1, -1, -1,
869 -1, 291, 292, 93, -1, 295, 296, 297, 298, 299,
870 -1, 301, 302, 41, -1, 305, 44, -1, 308, 309,
871 310, -1, -1, -1, -1, -1, -1, -1, -1, -1,
872 58, 59, -1, 123, -1, 63, -1, -1, -1, -1,
873 269, 270, 271, 272, -1, -1, -1, -1, -1, 278,
874 -1, -1, -1, 282, 283, 284, 285, -1, -1, -1,
875 41, -1, 291, 292, -1, 93, 295, 296, 297, 298,
876 299, -1, 301, 302, -1, -1, 305, 58, 59, 308,
877 309, 310, 63, -1, -1, -1, -1, -1, -1, -1,
878 -1, 269, 270, 271, 272, 123, -1, -1, -1, -1,
879 278, -1, -1, -1, 282, 283, 284, 285, -1, -1,
880 91, -1, 93, 291, 292, -1, -1, 295, 296, 297,
881 298, 299, -1, 301, 302, -1, -1, 305, -1, -1,
882 308, 309, 310, -1, -1, -1, -1, 269, 270, 271,
883 272, -1, 123, -1, 41, -1, 278, 44, -1, -1,
884 282, 283, 284, 285, -1, -1, -1, -1, -1, 291,
885 292, 58, 59, 295, 296, 297, 298, 299, -1, 301,
886 302, -1, -1, 305, -1, -1, 308, 309, 310, 269,
887 270, 271, 272, -1, -1, -1, 41, -1, 278, 44,
888 -1, -1, 282, 283, 284, 285, 93, -1, -1, -1,
889 -1, 291, 292, 58, 59, 295, 296, 297, 298, 299,
890 41, 301, 302, 44, -1, 305, -1, -1, 308, 309,
891 310, -1, -1, -1, -1, -1, -1, 58, 59, -1,
892 -1, -1, 63, -1, -1, -1, -1, -1, 93, -1,
893 -1, 269, 270, 271, 272, -1, -1, -1, -1, -1,
894 278, -1, -1, -1, 282, 283, 284, 285, -1, -1,
895 -1, -1, 93, 291, 292, -1, -1, 295, 296, 297,
896 298, 299, -1, 301, 302, -1, -1, 305, -1, -1,
897 308, 309, 310, -1, -1, -1, -1, -1, 269, 270,
898 271, 272, 123, -1, -1, -1, -1, 278, -1, -1,
899 -1, 282, 283, 284, 285, -1, -1, -1, -1, -1,
900 291, 292, -1, -1, 295, 296, 297, 298, 299, 41,
901 301, 302, 44, -1, 305, -1, -1, 308, 309, 310,
902 -1, -1, -1, -1, -1, -1, 58, 59, -1, -1,
903 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
904 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
905 -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
906 -1, 93, 269, 270, 271, 272, -1, -1, 58, 59,
907 -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
908 -1, -1, -1, -1, 291, 292, -1, -1, -1, -1,
909 -1, 123, -1, 41, -1, -1, 44, -1, -1, -1,
910 -1, -1, -1, 93, 269, 270, 271, 272, -1, -1,
911 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
912 -1, -1, -1, -1, -1, -1, 291, 292, 269, 270,
913 271, 272, -1, -1, -1, 41, -1, 278, 44, -1,
914 -1, 282, 283, 284, 285, 93, -1, -1, -1, -1,
915 291, 292, 58, 59, 295, 296, 297, 298, 299, 41,
916 301, 302, 44, -1, 305, -1, -1, 308, 309, 310,
917 -1, -1, -1, -1, -1, -1, 58, 59, -1, -1,
918 -1, 63, -1, -1, -1, -1, -1, 93, -1, -1,
919 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
920 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
921 -1, 93, -1, -1, -1, -1, -1, -1, -1, 58,
922 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
923 -1, -1, -1, -1, -1, 41, -1, 269, 270, 271,
924 272, -1, -1, -1, -1, -1, 278, -1, -1, -1,
925 282, 283, 284, 285, 93, -1, -1, 63, -1, 291,
926 292, -1, -1, 295, 296, 297, 298, 299, -1, 301,
927 302, -1, -1, 305, -1, -1, 308, 309, 310, 269,
928 270, 271, 272, -1, -1, 91, -1, -1, 278, -1,
929 -1, -1, 282, 283, 284, 285, -1, -1, -1, -1,
930 -1, 291, 292, -1, -1, 295, 296, 297, 298, 299,
931 -1, 301, 302, -1, -1, 305, -1, 123, 308, 309,
932 310, 269, 270, 271, 272, -1, -1, -1, -1, -1,
933 278, -1, -1, -1, 282, 283, 284, 285, -1, -1,
934 -1, -1, -1, 291, 292, -1, -1, 295, 296, 297,
935 298, 299, 41, 301, 302, 44, -1, 305, -1, -1,
936 308, 309, 310, 269, 270, 271, 272, -1, -1, 58,
937 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
938 -1, -1, -1, -1, -1, 291, 292, 269, 270, 271,
939 272, -1, -1, -1, -1, -1, 278, -1, -1, -1,
940 282, 283, 284, 285, 93, -1, -1, -1, -1, 291,
941 292, -1, -1, 295, 296, 297, 298, 299, -1, 301,
942 302, -1, -1, 305, -1, -1, 308, 309, 310, -1,
943 269, 270, 271, 272, -1, -1, -1, -1, -1, 278,
944 -1, -1, -1, 282, 283, 284, 285, -1, -1, -1,
945 -1, -1, 291, 292, -1, -1, 295, 296, 297, 298,
946 299, -1, 301, 302, 41, -1, 305, 44, -1, 308,
947 309, 310, 278, -1, -1, -1, 282, 283, 284, 285,
948 -1, 58, 59, -1, -1, -1, 63, -1, -1, 295,
949 296, 297, 298, 299, -1, 301, 302, -1, -1, 305,
950 -1, -1, 308, 309, 310, 41, -1, -1, 44, -1,
951 -1, -1, -1, -1, -1, -1, 93, -1, -1, -1,
952 -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
953 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
954 -1, -1, -1, -1, -1, 41, -1, -1, 44, -1,
955 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
956 -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
957 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
958 269, 270, 271, 272, -1, -1, -1, -1, -1, 278,
959 -1, -1, -1, 282, 283, 284, 285, 93, -1, -1,
960 -1, 41, 291, 292, 44, -1, 295, 296, 297, 298,
961 299, -1, 301, 302, -1, -1, 305, -1, 58, 59,
962 -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
963 -1, -1, -1, -1, -1, -1, -1, 41, -1, -1,
964 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
965 -1, -1, -1, 93, 58, 59, -1, -1, -1, 63,
966 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
967 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
968 41, -1, -1, 44, -1, -1, -1, -1, -1, 93,
969 -1, -1, 269, 270, 271, 272, -1, 58, 59, -1,
970 -1, 278, 63, -1, -1, 282, 283, 284, 285, -1,
971 -1, -1, -1, -1, 291, 292, -1, -1, 295, 296,
972 297, 298, 299, -1, 301, 302, -1, -1, 305, -1,
973 -1, -1, 93, 269, 270, 271, 272, -1, -1, -1,
974 -1, -1, 278, -1, -1, -1, 282, 283, 284, 285,
975 -1, -1, -1, -1, -1, 291, 292, -1, -1, 295,
976 296, 297, 298, 299, -1, 301, 302, -1, -1, -1,
977 -1, -1, -1, 269, 270, 271, 272, -1, -1, -1,
978 -1, -1, 278, -1, -1, -1, 282, 283, 284, 285,
979 -1, -1, -1, -1, 41, 291, 292, 44, -1, 295,
980 296, 297, 298, 299, -1, 301, 302, -1, -1, -1,
981 -1, 58, 59, -1, -1, -1, 63, -1, -1, -1,
982 -1, -1, -1, -1, -1, -1, -1, -1, -1, 269,
983 270, 271, 272, -1, -1, -1, -1, -1, 278, -1,
984 -1, -1, 282, 283, 284, 285, 93, -1, -1, -1,
985 -1, 291, 292, -1, -1, 295, 296, 297, 298, 299,
986 -1, 301, 302, -1, -1, 269, 270, 271, 272, -1,
987 -1, -1, -1, -1, 278, -1, -1, -1, 282, 283,
988 284, 285, -1, -1, -1, -1, -1, 291, 292, -1,
989 -1, 295, 296, 297, 298, 299, 41, 301, 302, 44,
990 -1, -1, -1, -1, -1, -1, -1, -1, 269, 270,
991 271, 272, -1, 58, 59, -1, -1, 278, 63, -1,
992 -1, 282, 283, 284, 285, -1, -1, -1, -1, -1,
993 291, 292, -1, -1, 295, 296, 297, 298, 299, 41,
994 301, 302, 44, -1, -1, -1, -1, -1, 93, -1,
995 -1, -1, -1, -1, -1, -1, 58, 59, -1, -1,
996 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
997 -1, -1, -1, -1, -1, 41, -1, -1, 44, -1,
998 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
999 -1, 93, 58, 59, -1, -1, -1, 63, -1, -1,
1000 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1001 -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
1002 -1, -1, 269, 270, 271, 272, -1, 93, 58, 59,
1003 -1, 278, -1, 63, -1, 282, 283, 284, 285, -1,
1004 -1, -1, -1, 41, 291, 292, 44, -1, 295, 296,
1005 297, 298, 299, -1, 301, 302, -1, -1, -1, -1,
1006 58, 59, -1, 93, -1, 63, -1, -1, -1, -1,
1007 -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1008 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1009 -1, -1, -1, 58, 59, 93, -1, -1, 63, -1,
1010 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1011 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
1012 -1, -1, -1, -1, 269, 270, 271, 272, 93, 58,
1013 59, -1, -1, 278, 63, -1, -1, 282, 283, 284,
1014 285, -1, -1, -1, -1, -1, 291, 292, -1, -1,
1015 295, 296, 297, 298, 299, 41, 301, 302, 44, -1,
1016 -1, -1, -1, -1, 93, -1, -1, 269, 270, 271,
1017 272, -1, 58, 59, -1, -1, 278, 63, -1, -1,
1018 282, 283, -1, 285, -1, -1, -1, -1, -1, 291,
1019 292, -1, -1, 295, 296, 297, 298, 299, -1, 301,
1020 -1, -1, -1, 269, 270, 271, 272, 93, -1, -1,
1021 63, -1, 278, -1, -1, -1, 282, 283, -1, -1,
1022 -1, -1, -1, -1, -1, 291, 292, -1, -1, 295,
1023 296, 297, 298, 299, -1, 301, -1, -1, 91, 269,
1024 270, 271, 272, -1, -1, -1, -1, -1, 278, -1,
1025 -1, -1, 282, 283, -1, -1, -1, -1, -1, -1,
1026 41, 291, 292, 44, -1, 295, 296, 297, 298, 299,
1027 123, 269, 270, 271, 272, -1, -1, 58, 59, -1,
1028 278, -1, 63, -1, 282, 283, -1, -1, -1, -1,
1029 -1, -1, 41, 291, 292, 44, -1, 295, 296, 297,
1030 298, 299, -1, -1, 269, 270, 271, 272, -1, 58,
1031 59, -1, 93, 278, 63, -1, -1, 282, 283, -1,
1032 -1, -1, -1, -1, -1, -1, 291, 292, -1, -1,
1033 295, 296, 297, 298, 299, 41, -1, -1, 44, -1,
1034 269, 270, 271, 272, 93, -1, -1, -1, -1, 278,
1035 -1, -1, 58, 59, 283, -1, -1, 63, -1, -1,
1036 63, -1, 291, 292, -1, -1, 295, 296, 297, 298,
1037 299, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1038 -1, -1, -1, 269, 270, 271, 272, 93, 91, -1,
1039 -1, -1, 278, -1, -1, -1, -1, -1, -1, -1,
1040 -1, -1, -1, -1, -1, 291, 292, -1, -1, 295,
1041 296, 297, 298, 299, -1, -1, -1, -1, -1, -1,
1042 123, -1, -1, -1, -1, 278, -1, -1, -1, 282,
1043 283, 284, 285, -1, -1, -1, -1, -1, -1, -1,
1044 -1, -1, 295, 296, 297, 298, 299, -1, 301, 302,
1045 -1, -1, 305, -1, -1, 308, 309, 310, -1, -1,
1046 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1047 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1048 -1, -1, -1, -1, -1, -1, -1, -1, 269, 270,
1049 271, 272, -1, -1, -1, -1, -1, 278, -1, -1,
1050 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1051 291, 292, -1, -1, 295, 296, 297, 298, -1, -1,
1052 269, 270, 271, 272, -1, 35, -1, -1, -1, 278,
1053 40, 41, -1, -1, -1, -1, 46, 47, 48, 49,
1054 50, 51, 291, 292, 54, 55, 295, 296, 297, -1,
1055 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1056 -1, -1, -1, 269, 270, 271, 272, -1, -1, -1,
1057 -1, -1, 278, -1, -1, 278, -1, -1, 88, 282,
1058 283, 284, 285, -1, -1, 291, 292, -1, -1, 295,
1059 296, -1, -1, 296, 297, 298, 299, -1, 301, 302,
1060 -1, -1, 305, -1, -1, 308, 309, 310, -1, -1,
1061 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1062 -1, -1, -1, -1, -1, -1, -1, -1, 138, -1,
1063 -1, -1, -1, -1, -1, -1, 146, 147, 148, 149,
1064 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
1065 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1066 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1067 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1068 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1069 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1070 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1071 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1072 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1073 -1, -1, -1, -1, -1, 245, -1, -1, -1, -1,
1074 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1075 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1082 #define YYMAXTOKEN 310
1085 "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1086 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1087 0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1088 0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1089 0,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1090 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1091 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1092 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"WORD","METHOD","FUNCMETH","THING",
1093 "PMFUNC","PRIVATEREF","LABEL","FORMAT","SUB","ANONSUB","PACKAGE","USE","WHILE",
1094 "UNTIL","IF","UNLESS","ELSE","ELSIF","CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0",
1095 "FUNC1","FUNC","RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","LOCAL",
1096 "HASHBRACK","NOAMP","OROP","ANDOP","NOTOP","LSTOP","ASSIGNOP","OROR","ANDAND",
1097 "BITOROP","BITANDOP","UNIOP","SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP",
1098 "PREINC","PREDEC","POSTINC","POSTDEC","ARROW",
1103 "prog : $$1 lineseq",
1104 "block : '{' remember lineseq '}'",
1107 "lineseq : lineseq decl",
1108 "lineseq : lineseq line",
1109 "line : label cond",
1112 "line : label sideff ';'",
1115 "sideff : expr IF expr",
1116 "sideff : expr UNLESS expr",
1117 "sideff : expr WHILE expr",
1118 "sideff : expr UNTIL expr",
1120 "else : ELSE block",
1121 "else : ELSIF '(' expr ')' block else",
1122 "cond : IF '(' expr ')' block else",
1123 "cond : UNLESS '(' expr ')' block else",
1124 "cond : IF block block else",
1125 "cond : UNLESS block block else",
1127 "cont : CONTINUE block",
1128 "loop : label WHILE '(' texpr ')' block cont",
1129 "loop : label UNTIL '(' expr ')' block cont",
1130 "loop : label WHILE block block cont",
1131 "loop : label UNTIL block block cont",
1132 "loop : label FOR scalar '(' expr ')' block cont",
1133 "loop : label FOR '(' expr ')' block cont",
1134 "loop : label FOR '(' nexpr ';' texpr ';' nexpr ')' block",
1135 "loop : label block cont",
1146 "format : FORMAT startsub WORD block",
1147 "format : FORMAT startsub block",
1148 "subrout : SUB startsub WORD block",
1149 "subrout : SUB startsub WORD ';'",
1151 "package : PACKAGE WORD ';'",
1152 "package : PACKAGE ';'",
1153 "use : USE WORD listexpr ';'",
1154 "expr : expr ANDOP expr",
1155 "expr : expr OROP expr",
1156 "expr : NOTOP expr",
1158 "argexpr : argexpr ','",
1159 "argexpr : argexpr ',' term",
1161 "listop : LSTOP indirob argexpr",
1162 "listop : FUNC '(' indirob expr ')'",
1163 "listop : term ARROW method '(' listexprcom ')'",
1164 "listop : METHOD indirob listexpr",
1165 "listop : FUNCMETH indirob '(' listexprcom ')'",
1166 "listop : LSTOP listexpr",
1167 "listop : FUNC '(' listexprcom ')'",
1170 "term : term ASSIGNOP term",
1171 "term : term POWOP term",
1172 "term : term MULOP term",
1173 "term : term ADDOP term",
1174 "term : term SHIFTOP term",
1175 "term : term RELOP term",
1176 "term : term EQOP term",
1177 "term : term BITANDOP term",
1178 "term : term BITOROP term",
1179 "term : term DOTDOT term",
1180 "term : term ANDAND term",
1181 "term : term OROR term",
1182 "term : term '?' term ':' term",
1183 "term : term MATCHOP term",
1188 "term : REFGEN term",
1189 "term : term POSTINC",
1190 "term : term POSTDEC",
1191 "term : PREINC term",
1192 "term : PREDEC term",
1193 "term : LOCAL term",
1194 "term : '(' expr ')'",
1196 "term : '[' expr ']'",
1198 "term : HASHBRACK expr ';' '}'",
1199 "term : HASHBRACK ';' '}'",
1200 "term : ANONSUB startsub block",
1203 "term : scalar '[' expr ']'",
1204 "term : term ARROW '[' expr ']'",
1205 "term : term '[' expr ']'",
1209 "term : scalar '{' expr ';' '}'",
1210 "term : term ARROW '{' expr ';' '}'",
1211 "term : term '{' expr ';' '}'",
1212 "term : '(' expr ')' '[' expr ']'",
1213 "term : '(' ')' '[' expr ']'",
1214 "term : ary '[' expr ']'",
1215 "term : ary '{' expr ';' '}'",
1218 "term : amper '(' ')'",
1219 "term : amper '(' expr ')'",
1220 "term : NOAMP WORD listexpr",
1223 "term : DO WORD '(' ')'",
1224 "term : DO WORD '(' expr ')'",
1225 "term : DO scalar '(' ')'",
1226 "term : DO scalar '(' expr ')'",
1228 "term : LOOPEX term",
1230 "term : UNIOP block",
1231 "term : UNIOP term",
1233 "term : FUNC0 '(' ')'",
1234 "term : FUNC1 '(' ')'",
1235 "term : FUNC1 '(' expr ')'",
1236 "term : PMFUNC '(' term ')'",
1237 "term : PMFUNC '(' term ',' term ')'",
1241 "listexpr : argexpr",
1243 "listexprcom : expr",
1244 "listexprcom : expr ','",
1245 "amper : '&' indirob",
1246 "scalar : '$' indirob",
1247 "ary : '@' indirob",
1248 "hsh : '%' indirob",
1249 "arylen : DOLSHARP indirob",
1250 "star : '*' indirob",
1254 "indirob : PRIVATEREF",
1257 #define yyclearin (yychar=(-1))
1258 #define yyerrok (yyerrflag=0)
1261 #define YYMAXDEPTH YYSTACKSIZE
1265 #define YYSTACKSIZE YYMAXDEPTH
1267 #define YYSTACKSIZE 500
1268 #define YYMAXDEPTH 500
1279 #line 1347 "y.tab.c"
1280 #define YYABORT goto yyabort
1281 #define YYACCEPT goto yyaccept
1282 #define YYERROR goto yyerrlab
1299 struct ysv* ysave = (struct ysv*)ptr;
1300 if (ysave->yyss) Safefree(ysave->yyss);
1301 if (ysave->yyvs) Safefree(ysave->yyvs);
1302 yydebug = ysave->oldyydebug;
1303 yynerrs = ysave->oldyynerrs;
1304 yyerrflag = ysave->oldyyerrflag;
1305 yychar = ysave->oldyychar;
1306 yyval = ysave->oldyyval;
1307 yylval = ysave->oldyylval;
1314 register int yym, yyn, yystate;
1315 register short *yyssp;
1316 register YYSTYPE *yyvsp;
1319 unsigned yystacksize = YYSTACKSIZE;
1323 extern char *getenv();
1326 struct ysv *ysave = (struct ysv*)safemalloc(sizeof(struct ysv));
1327 SAVEDESTRUCTOR(yydestruct, ysave);
1328 ysave->oldyydebug = yydebug;
1329 ysave->oldyynerrs = yynerrs;
1330 ysave->oldyyerrflag = yyerrflag;
1331 ysave->oldyychar = yychar;
1332 ysave->oldyyval = yyval;
1333 ysave->oldyylval = yylval;
1336 if (yys = getenv("YYDEBUG"))
1339 if (yyn >= '0' && yyn <= '9')
1340 yydebug = yyn - '0';
1349 ** Initialize private stacks (yyparse may be called from an action)
1351 ysave->yyss = yyss = (short*)safemalloc(yystacksize*sizeof(short));
1352 ysave->yyvs = yyvs = (YYSTYPE*)safemalloc(yystacksize*sizeof(YYSTYPE));
1358 *yyssp = yystate = 0;
1361 if (yyn = yydefred[yystate]) goto yyreduce;
1364 if ((yychar = yylex()) < 0) yychar = 0;
1369 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1370 if (!yys) yys = "illegal-symbol";
1371 fprintf(stderr, "yydebug: state %d, reading %d (%s)\n", yystate,
1376 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1377 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1381 fprintf(stderr, "yydebug: state %d, shifting to state %d\n",
1382 yystate, yytable[yyn]);
1384 if (yyssp >= yyss + yystacksize - 1)
1387 ** reallocate and recover. Note that pointers
1388 ** have to be reset, or bad things will happen
1390 int yyps_index = (yyssp - yyss);
1391 int yypv_index = (yyvsp - yyvs);
1392 yystacksize += YYSTACKSIZE;
1393 ysave->yyvs = yyvs =
1394 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1395 ysave->yyss = yyss =
1396 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
1399 yyssp = yyss + yyps_index;
1400 yyvsp = yyvs + yypv_index;
1402 *++yyssp = yystate = yytable[yyn];
1405 if (yyerrflag > 0) --yyerrflag;
1408 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1409 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1414 if (yyerrflag) goto yyinrecovery;
1419 yyerror("syntax error");
1431 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1432 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1437 "yydebug: state %d, error recovery shifting to state %d\n",
1438 *yyssp, yytable[yyn]);
1440 if (yyssp >= yyss + yystacksize - 1)
1443 ** reallocate and recover. Note that pointers
1444 ** have to be reset, or bad things will happen
1446 int yyps_index = (yyssp - yyss);
1447 int yypv_index = (yyvsp - yyvs);
1448 yystacksize += YYSTACKSIZE;
1449 ysave->yyvs = yyvs = (YYSTYPE*)realloc((char*)yyvs,
1450 yystacksize * sizeof(YYSTYPE));
1451 ysave->yyss = yyss = (short*)realloc((char*)yyss,
1452 yystacksize * sizeof(short));
1455 yyssp = yyss + yyps_index;
1456 yyvsp = yyvs + yypv_index;
1458 *++yyssp = yystate = yytable[yyn];
1467 "yydebug: error recovery discarding state %d\n",
1470 if (yyssp <= yyss) goto yyabort;
1478 if (yychar == 0) goto yyabort;
1483 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1484 if (!yys) yys = "illegal-symbol";
1486 "yydebug: state %d, error recovery discards token %d (%s)\n",
1487 yystate, yychar, yys);
1496 fprintf(stderr, "yydebug: state %d, reducing by rule %d (%s)\n",
1497 yystate, yyn, yyrule[yyn]);
1500 yyval = yyvsp[1-yym];
1506 #if defined(YYDEBUG) && defined(DEBUGGING)
1507 yydebug = (debug & 1);
1514 { newPROG(yyvsp[0].opval); }
1518 { yyval.opval = block_end(yyvsp[-3].ival,yyvsp[-2].ival,yyvsp[-1].opval); }
1522 { yyval.ival = block_start(); }
1526 { yyval.opval = Nullop; }
1530 { yyval.opval = yyvsp[-1].opval; }
1534 { yyval.opval = append_list(OP_LINESEQ,
1535 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1536 pad_reset_pending = TRUE;
1537 if (yyvsp[-1].opval && yyvsp[0].opval) hints |= HINT_BLOCK_SCOPE; }
1541 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1545 { if (yyvsp[-1].pval != Nullch) {
1546 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1549 yyval.opval = Nullop;
1556 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1561 { yyval.opval = Nullop; }
1565 { yyval.opval = yyvsp[0].opval; }
1569 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1573 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1577 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1581 { yyval.opval = newLOOPOP(OPf_PARENS, 1, invert(scalar(yyvsp[0].opval)), yyvsp[-2].opval);}
1585 { yyval.opval = Nullop; }
1589 { yyval.opval = scope(yyvsp[0].opval); }
1593 { copline = yyvsp[-5].ival;
1594 yyval.opval = newSTATEOP(0, 0,
1595 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1599 { copline = yyvsp[-5].ival;
1600 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval); }
1604 { copline = yyvsp[-5].ival;
1605 yyval.opval = newCONDOP(0,
1606 invert(scalar(yyvsp[-3].opval)), scope(yyvsp[-1].opval), yyvsp[0].opval); }
1610 { copline = yyvsp[-3].ival;
1611 deprecate("if BLOCK BLOCK");
1612 yyval.opval = newCONDOP(0, scope(yyvsp[-2].opval), scope(yyvsp[-1].opval), yyvsp[0].opval); }
1616 { copline = yyvsp[-3].ival;
1617 deprecate("unless BLOCK BLOCK");
1618 yyval.opval = newCONDOP(0, invert(scalar(scope(yyvsp[-2].opval))),
1619 scope(yyvsp[-1].opval), yyvsp[0].opval); }
1623 { yyval.opval = Nullop; }
1627 { yyval.opval = scope(yyvsp[0].opval); }
1631 { copline = yyvsp[-5].ival;
1632 yyval.opval = newSTATEOP(0, yyvsp[-6].pval,
1633 newWHILEOP(0, 1, (LOOP*)Nullop,
1634 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval) ); }
1638 { copline = yyvsp[-5].ival;
1639 yyval.opval = newSTATEOP(0, yyvsp[-6].pval,
1640 newWHILEOP(0, 1, (LOOP*)Nullop,
1641 invert(scalar(yyvsp[-3].opval)), yyvsp[-1].opval, yyvsp[0].opval) ); }
1645 { copline = yyvsp[-3].ival;
1646 yyval.opval = newSTATEOP(0, yyvsp[-4].pval,
1647 newWHILEOP(0, 1, (LOOP*)Nullop,
1648 scope(yyvsp[-2].opval), yyvsp[-1].opval, yyvsp[0].opval) ); }
1652 { copline = yyvsp[-3].ival;
1653 yyval.opval = newSTATEOP(0, yyvsp[-4].pval,
1654 newWHILEOP(0, 1, (LOOP*)Nullop,
1655 invert(scalar(scope(yyvsp[-2].opval))), yyvsp[-1].opval, yyvsp[0].opval)); }
1659 { yyval.opval = newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, mod(yyvsp[-5].opval, OP_ENTERLOOP),
1660 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1664 { yyval.opval = newFOROP(0, yyvsp[-6].pval, yyvsp[-5].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1668 { copline = yyvsp[-8].ival;
1669 yyval.opval = append_elem(OP_LINESEQ,
1670 newSTATEOP(0, yyvsp[-9].pval, scalar(yyvsp[-6].opval)),
1671 newSTATEOP(0, yyvsp[-9].pval,
1672 newWHILEOP(0, 1, (LOOP*)Nullop,
1673 scalar(yyvsp[-4].opval), yyvsp[0].opval, scalar(yyvsp[-2].opval)) )); }
1677 { yyval.opval = newSTATEOP(0,
1678 yyvsp[-2].pval, newWHILEOP(0, 1, (LOOP*)Nullop,
1679 Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1683 { yyval.opval = Nullop; }
1687 { (void)scan_num("1"); yyval.opval = yylval.opval; }
1691 { yyval.pval = Nullch; }
1711 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1715 { newFORM(yyvsp[-1].ival, Nullop, yyvsp[0].opval); }
1719 { newSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1723 { newSUB(yyvsp[-2].ival, yyvsp[-1].opval, Nullop); expect = XSTATE; }
1727 { yyval.ival = start_subparse(); }
1731 { package(yyvsp[-1].opval); }
1735 { package(Nullop); }
1739 { utilize(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval); }
1743 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1747 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1751 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1755 { yyval.opval = yyvsp[-1].opval; }
1759 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1763 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1764 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1768 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1769 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1773 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED|OPf_SPECIAL,
1774 append_elem(OP_LIST,
1775 prepend_elem(OP_LIST, yyvsp[-5].opval, list(yyvsp[-1].opval)),
1776 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1780 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED|OPf_SPECIAL,
1781 append_elem(OP_LIST,
1782 prepend_elem(OP_LIST, yyvsp[-1].opval, list(yyvsp[0].opval)),
1783 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1787 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED|OPf_SPECIAL,
1788 append_elem(OP_LIST,
1789 prepend_elem(OP_LIST, yyvsp[-3].opval, list(yyvsp[-1].opval)),
1790 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1794 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1798 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1802 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
1806 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1810 { if (yyvsp[-1].ival != OP_REPEAT)
1811 scalar(yyvsp[-2].opval);
1812 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
1816 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1820 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1824 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1828 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1832 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1836 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1840 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
1844 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1848 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1852 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
1856 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
1860 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
1864 { yyval.opval = yyvsp[0].opval; }
1868 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1872 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
1876 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
1880 { yyval.opval = newUNOP(OP_POSTINC, 0,
1881 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
1885 { yyval.opval = newUNOP(OP_POSTDEC, 0,
1886 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
1890 { yyval.opval = newUNOP(OP_PREINC, 0,
1891 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
1895 { yyval.opval = newUNOP(OP_PREDEC, 0,
1896 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
1900 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
1904 { yyval.opval = sawparens(yyvsp[-1].opval); }
1908 { yyval.opval = sawparens(newNULLLIST()); }
1912 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
1916 { yyval.opval = newANONLIST(Nullop); }
1920 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
1924 { yyval.opval = newANONHASH(Nullop); }
1928 { yyval.opval = newANONSUB(yyvsp[-1].ival, yyvsp[0].opval); }
1932 { yyval.opval = yyvsp[0].opval; }
1936 { yyval.opval = yyvsp[0].opval; }
1940 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
1944 { yyval.opval = newBINOP(OP_AELEM, 0,
1945 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
1946 scalar(yyvsp[-1].opval));}
1950 { assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
1951 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
1952 scalar(yyvsp[-1].opval));}
1956 { yyval.opval = yyvsp[0].opval; }
1960 { yyval.opval = yyvsp[0].opval; }
1964 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
1968 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
1969 expect = XOPERATOR; }
1973 { yyval.opval = newBINOP(OP_HELEM, 0,
1974 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
1975 jmaybe(yyvsp[-2].opval));
1976 expect = XOPERATOR; }
1980 { assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
1981 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
1982 jmaybe(yyvsp[-2].opval));
1983 expect = XOPERATOR; }
1987 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
1991 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
1995 { yyval.opval = prepend_elem(OP_ASLICE,
1996 newOP(OP_PUSHMARK, 0),
1997 newLISTOP(OP_ASLICE, 0,
1998 list(yyvsp[-1].opval),
1999 ref(yyvsp[-3].opval, OP_ASLICE))); }
2003 { yyval.opval = prepend_elem(OP_HSLICE,
2004 newOP(OP_PUSHMARK, 0),
2005 newLISTOP(OP_HSLICE, 0,
2006 list(yyvsp[-2].opval),
2007 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2008 expect = XOPERATOR; }
2012 { yyval.opval = yyvsp[0].opval; }
2016 { yyval.opval = newUNOP(OP_ENTERSUB, 0,
2017 scalar(yyvsp[0].opval)); }
2021 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2025 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2026 list(append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval)))); }
2030 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2031 list(append_elem(OP_LIST,
2032 yyvsp[0].opval, newCVREF(scalar(yyvsp[-1].opval))))); }
2036 { yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
2040 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2044 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2045 list(prepend_elem(OP_LIST,
2046 scalar(newCVREF(scalar(yyvsp[-2].opval))), Nullop))); dep();}
2050 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2051 list(append_elem(OP_LIST,
2053 scalar(newCVREF(scalar(yyvsp[-3].opval)))))); dep();}
2057 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2058 list(prepend_elem(OP_LIST,
2059 scalar(newCVREF(scalar(yyvsp[-2].opval))), Nullop))); dep();}
2063 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2064 list(prepend_elem(OP_LIST,
2066 scalar(newCVREF(scalar(yyvsp[-3].opval)))))); dep();}
2070 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2071 hints |= HINT_BLOCK_SCOPE; }
2075 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2079 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2083 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2087 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2091 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2095 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2099 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2103 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2107 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2111 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2115 { yyval.opval = Nullop; }
2119 { yyval.opval = yyvsp[0].opval; }
2123 { yyval.opval = Nullop; }
2127 { yyval.opval = yyvsp[0].opval; }
2131 { yyval.opval = yyvsp[-1].opval; }
2135 { yyval.opval = newCVREF(yyvsp[0].opval); }
2139 { yyval.opval = newSVREF(yyvsp[0].opval); }
2143 { yyval.opval = newAVREF(yyvsp[0].opval); }
2147 { yyval.opval = newHVREF(yyvsp[0].opval); }
2151 { yyval.opval = newAVREF(yyvsp[0].opval); }
2155 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2159 { yyval.opval = scalar(yyvsp[0].opval); }
2163 { yyval.opval = scalar(yyvsp[0].opval); }
2167 { yyval.opval = scope(yyvsp[0].opval); }
2171 { yyval.opval = yyvsp[0].opval; }
2173 #line 2157 "y.tab.c"
2179 if (yystate == 0 && yym == 0)
2184 "yydebug: after reduction, shifting from state 0 to state %d\n",
2192 if ((yychar = yylex()) < 0) yychar = 0;
2197 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2198 if (!yys) yys = "illegal-symbol";
2199 fprintf(stderr, "yydebug: state %d, reading %d (%s)\n",
2200 YYFINAL, yychar, yys);
2204 if (yychar == 0) goto yyaccept;
2207 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2208 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2209 yystate = yytable[yyn];
2211 yystate = yydgoto[yym];
2215 "yydebug: after reduction, shifting from state %d to state %d\n",
2218 if (yyssp >= yyss + yystacksize - 1)
2221 ** reallocate and recover. Note that pointers
2222 ** have to be reset, or bad things will happen
2224 int yyps_index = (yyssp - yyss);
2225 int yypv_index = (yyvsp - yyvs);
2226 yystacksize += YYSTACKSIZE;
2227 ysave->yyvs = yyvs =
2228 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2229 ysave->yyss = yyss =
2230 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
2233 yyssp = yyss + yyps_index;
2234 yyvsp = yyvs + yypv_index;
2240 yyerror("Out of memory for yacc stack");