2 /* A Bison parser, made from objc-parse.y
3 by GNU Bison version 1.28 */
5 #define YYBISON 1 /* Identify Bison output. */
31 #define ASM_KEYWORD 281
40 #define END_OF_LINE 290
45 #define ARITHCOMPARE 295
50 #define MINUSMINUS 300
51 #define HYPERUNARY 301
54 #define IMPLEMENTATION 304
64 #define OBJECTNAME 314
67 #define OBJC_STRING 317
69 #line 33 "objc-parse.y"
83 #ifdef MULTIBYTE_CHARS
89 /* Since parsers are distinct for each language, put the language string
91 const char * const language_string
= "GNU Obj-C";
93 /* Like YYERROR but do call yyerror. */
94 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
96 /* Cause the `yydebug' variable to be defined. */
99 #line 65 "objc-parse.y"
100 typedef union {long itype
; tree ttype
; enum tree_code code
;
101 char *filename
; int lineno
; int ends_in_label
; } YYSTYPE
;
102 #line 198 "objc-parse.y"
104 /* Number of statements (loosely speaking) and compound statements
106 static int stmt_count
;
107 static int compstmt_count
;
109 /* Input file and line number of the end of the body of last simple_if;
110 used by the stmt-rule immediately after simple_if returns. */
111 static char *if_stmt_file
;
112 static int if_stmt_line
;
114 /* List of types and structure classes of the current declaration. */
115 static tree current_declspecs
= NULL_TREE
;
116 static tree prefix_attributes
= NULL_TREE
;
118 /* Stack of saved values of current_declspecs and prefix_attributes. */
119 static tree declspec_stack
;
121 /* 1 if we explained undeclared var errors. */
122 static int undeclared_variable_notice
;
124 /* For __extension__, save/restore the warning flags which are
125 controlled by __extension__. */
126 #define SAVE_WARN_FLAGS() (pedantic | (warn_pointer_arith << 1))
127 #define RESTORE_WARN_FLAGS(val) \
129 pedantic = val & 1; \
130 warn_pointer_arith = (val >> 1) & 1; \
133 /* Objective-C specific information */
135 tree objc_interface_context
;
136 tree objc_implementation_context
;
137 tree objc_method_context
;
138 tree objc_ivar_chain
;
139 tree objc_ivar_context
;
140 enum tree_code objc_inherit_code
;
141 int objc_receiver_context
;
142 int objc_public_flag
;
145 /* Tell yyparse how to print a token's value, if yydebug is set. */
147 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
148 extern void yyprint
PROTO ((FILE *, int, YYSTYPE
));
150 /* Add GC roots for variables local to this file. */
154 ggc_add_tree_root (&declspec_stack
, 1);
155 ggc_add_tree_root (¤t_declspecs
, 1);
156 ggc_add_tree_root (&prefix_attributes
, 1);
170 #define YYFLAG -32768
173 #define YYTRANSLATE(x) ((unsigned)(x) <= 317 ? yytranslate[x] : 314)
175 static const char yytranslate
[] = { 0,
176 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
177 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
178 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
179 2, 2, 82, 2, 2, 2, 54, 45, 2, 61,
180 78, 52, 50, 83, 51, 60, 53, 2, 2, 2,
181 2, 2, 2, 2, 2, 2, 2, 40, 79, 2,
182 38, 2, 39, 2, 2, 2, 2, 2, 2, 2,
183 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
184 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
185 62, 2, 85, 44, 2, 2, 2, 2, 2, 2,
186 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
187 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
188 2, 2, 84, 43, 80, 81, 2, 2, 2, 2,
189 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
190 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
191 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
192 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
193 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
194 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
195 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
196 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
197 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
198 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
199 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
200 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
201 2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
202 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
203 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
204 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
205 37, 41, 42, 46, 47, 48, 49, 55, 56, 57,
206 58, 59, 63, 64, 65, 66, 67, 68, 69, 70,
207 71, 72, 73, 74, 75, 76, 77
211 static const short yyprhs
[] = { 0,
212 0, 1, 3, 4, 7, 8, 12, 14, 16, 18,
213 24, 27, 31, 36, 41, 44, 47, 50, 53, 55,
214 56, 57, 65, 70, 71, 72, 80, 85, 86, 87,
215 94, 98, 100, 102, 104, 106, 108, 110, 112, 114,
216 116, 118, 120, 122, 123, 125, 127, 131, 133, 136,
217 139, 142, 145, 148, 153, 156, 161, 164, 167, 174,
218 176, 178, 180, 185, 186, 194, 196, 200, 204, 208,
219 212, 216, 220, 224, 228, 232, 236, 240, 244, 245,
220 250, 251, 256, 257, 258, 266, 267, 273, 277, 281,
221 283, 285, 287, 291, 295, 299, 303, 308, 313, 317,
222 321, 324, 327, 329, 331, 333, 335, 337, 339, 342,
223 344, 347, 348, 350, 353, 357, 359, 361, 364, 367,
224 372, 377, 380, 383, 387, 389, 391, 394, 397, 398,
225 399, 404, 409, 413, 417, 420, 423, 426, 429, 433,
226 434, 437, 440, 443, 446, 450, 451, 454, 457, 459,
227 461, 464, 467, 469, 471, 474, 477, 480, 484, 485,
228 488, 490, 492, 494, 497, 500, 502, 507, 512, 514,
229 516, 518, 520, 524, 526, 530, 531, 536, 537, 544,
230 548, 549, 556, 560, 561, 563, 565, 568, 575, 577,
231 581, 582, 584, 589, 596, 601, 603, 605, 607, 609,
232 611, 612, 617, 619, 620, 623, 625, 629, 633, 636,
233 637, 642, 644, 645, 650, 652, 654, 656, 659, 662,
234 663, 664, 670, 671, 672, 678, 680, 682, 686, 690,
235 695, 699, 703, 707, 709, 711, 715, 720, 724, 728,
236 732, 734, 738, 742, 746, 751, 755, 759, 761, 763,
237 766, 768, 771, 773, 776, 777, 785, 791, 794, 795,
238 803, 809, 812, 813, 822, 823, 831, 834, 835, 837,
239 838, 840, 842, 845, 846, 850, 853, 858, 862, 868,
240 872, 874, 876, 879, 881, 885, 890, 897, 903, 905,
241 909, 911, 913, 917, 920, 923, 924, 926, 928, 931,
242 932, 935, 939, 943, 946, 950, 955, 959, 962, 966,
243 969, 973, 975, 977, 980, 983, 984, 986, 989, 990,
244 991, 993, 995, 998, 1002, 1004, 1007, 1009, 1011, 1017,
245 1022, 1027, 1030, 1033, 1036, 1039, 1044, 1045, 1050, 1051,
246 1052, 1056, 1061, 1065, 1067, 1069, 1071, 1073, 1076, 1077,
247 1082, 1084, 1088, 1089, 1090, 1098, 1104, 1107, 1108, 1109,
248 1110, 1123, 1124, 1131, 1134, 1137, 1140, 1144, 1151, 1160,
249 1171, 1184, 1188, 1193, 1195, 1197, 1198, 1205, 1209, 1215,
250 1218, 1222, 1223, 1225, 1226, 1228, 1229, 1231, 1233, 1237,
251 1242, 1244, 1248, 1249, 1252, 1255, 1256, 1261, 1264, 1265,
252 1267, 1269, 1273, 1275, 1279, 1284, 1289, 1294, 1299, 1304,
253 1305, 1308, 1310, 1313, 1315, 1319, 1321, 1325, 1327, 1329,
254 1331, 1333, 1335, 1337, 1339, 1341, 1345, 1349, 1354, 1355,
255 1356, 1367, 1368, 1375, 1376, 1377, 1390, 1391, 1400, 1401,
256 1408, 1411, 1412, 1421, 1426, 1427, 1437, 1443, 1444, 1451,
257 1452, 1454, 1458, 1462, 1464, 1466, 1468, 1470, 1471, 1475,
258 1478, 1482, 1486, 1488, 1489, 1491, 1495, 1497, 1501, 1504,
259 1505, 1506, 1507, 1515, 1516, 1517, 1518, 1526, 1527, 1528,
260 1531, 1533, 1535, 1538, 1539, 1543, 1545, 1547, 1548, 1549,
261 1555, 1556, 1557, 1563, 1568, 1570, 1576, 1579, 1580, 1583,
262 1584, 1586, 1588, 1590, 1593, 1596, 1601, 1604, 1607, 1609,
263 1613, 1616, 1619, 1622, 1623, 1626, 1627, 1631, 1633, 1635,
264 1638, 1640, 1642, 1644, 1646, 1648, 1650, 1652, 1654, 1656,
265 1658, 1660, 1662, 1664, 1666, 1668, 1670, 1672, 1674, 1676,
266 1678, 1680, 1682, 1684, 1686, 1688, 1695, 1699, 1705, 1708,
267 1710, 1712, 1714, 1717, 1719, 1723, 1726, 1728, 1730, 1731,
268 1732, 1739, 1741, 1743, 1745, 1748, 1751, 1753, 1758, 1763
271 static const short yyrhs
[] = { -1,
272 87, 0, 0, 88, 90, 0, 0, 87, 89, 90,
273 0, 92, 0, 91, 0, 245, 0, 27, 61, 101,
274 78, 79, 0, 244, 90, 0, 124, 138, 79, 0,
275 131, 124, 138, 79, 0, 127, 124, 137, 79, 0,
276 131, 79, 0, 127, 79, 0, 1, 79, 0, 1,
277 80, 0, 79, 0, 0, 0, 127, 124, 166, 93,
278 118, 94, 200, 0, 127, 124, 166, 1, 0, 0,
279 0, 131, 124, 169, 95, 118, 96, 200, 0, 131,
280 124, 169, 1, 0, 0, 0, 124, 169, 97, 118,
281 98, 200, 0, 124, 169, 1, 0, 3, 0, 4,
282 0, 74, 0, 69, 0, 45, 0, 51, 0, 50,
283 0, 56, 0, 57, 0, 81, 0, 82, 0, 103,
284 0, 0, 103, 0, 109, 0, 103, 83, 109, 0,
285 115, 0, 52, 107, 0, 244, 107, 0, 100, 107,
286 0, 42, 99, 0, 105, 104, 0, 105, 61, 187,
287 78, 0, 106, 104, 0, 106, 61, 187, 78, 0,
288 33, 107, 0, 34, 107, 0, 35, 61, 109, 83,
289 187, 78, 0, 11, 0, 29, 0, 104, 0, 61,
290 187, 78, 107, 0, 0, 61, 187, 78, 84, 108,
291 152, 80, 0, 107, 0, 109, 50, 109, 0, 109,
292 51, 109, 0, 109, 52, 109, 0, 109, 53, 109,
293 0, 109, 54, 109, 0, 109, 48, 109, 0, 109,
294 49, 109, 0, 109, 47, 109, 0, 109, 46, 109,
295 0, 109, 45, 109, 0, 109, 43, 109, 0, 109,
296 44, 109, 0, 0, 109, 42, 110, 109, 0, 0,
297 109, 41, 111, 109, 0, 0, 0, 109, 39, 112,
298 101, 40, 113, 109, 0, 0, 109, 39, 114, 40,
299 109, 0, 109, 38, 109, 0, 109, 37, 109, 0,
300 3, 0, 8, 0, 116, 0, 61, 101, 78, 0,
301 61, 1, 78, 0, 203, 202, 78, 0, 203, 1,
302 78, 0, 115, 61, 102, 78, 0, 115, 62, 101,
303 85, 0, 115, 60, 99, 0, 115, 59, 99, 0,
304 115, 56, 0, 115, 57, 0, 305, 0, 311, 0,
305 312, 0, 313, 0, 117, 0, 9, 0, 116, 9,
306 0, 77, 0, 117, 77, 0, 0, 120, 0, 120,
307 10, 0, 209, 210, 121, 0, 119, 0, 195, 0,
308 120, 119, 0, 119, 195, 0, 129, 124, 137, 79,
309 0, 132, 124, 138, 79, 0, 129, 79, 0, 132,
310 79, 0, 209, 210, 126, 0, 122, 0, 195, 0,
311 123, 122, 0, 122, 195, 0, 0, 0, 127, 124,
312 137, 79, 0, 131, 124, 138, 79, 0, 127, 124,
313 160, 0, 131, 124, 163, 0, 127, 79, 0, 131,
314 79, 0, 244, 126, 0, 135, 128, 0, 131, 135,
315 128, 0, 0, 128, 136, 0, 128, 5, 0, 128,
316 145, 0, 135, 130, 0, 132, 135, 130, 0, 0,
317 130, 136, 0, 130, 5, 0, 132, 0, 145, 0,
318 131, 132, 0, 131, 145, 0, 7, 0, 5, 0,
319 132, 7, 0, 132, 5, 0, 135, 134, 0, 189,
320 135, 134, 0, 0, 134, 136, 0, 6, 0, 173,
321 0, 4, 0, 69, 261, 0, 74, 261, 0, 262,
322 0, 28, 61, 101, 78, 0, 28, 61, 187, 78,
323 0, 6, 0, 7, 0, 173, 0, 140, 0, 137,
324 83, 140, 0, 142, 0, 138, 83, 140, 0, 0,
325 27, 61, 116, 78, 0, 0, 166, 139, 144, 38,
326 141, 150, 0, 166, 139, 144, 0, 0, 169, 139,
327 144, 38, 143, 150, 0, 169, 139, 144, 0, 0,
328 145, 0, 146, 0, 145, 146, 0, 30, 61, 61,
329 147, 78, 78, 0, 148, 0, 147, 83, 148, 0,
330 0, 149, 0, 149, 61, 3, 78, 0, 149, 61,
331 3, 83, 103, 78, 0, 149, 61, 102, 78, 0,
332 99, 0, 5, 0, 6, 0, 7, 0, 109, 0,
333 0, 84, 151, 152, 80, 0, 1, 0, 0, 153,
334 178, 0, 154, 0, 153, 83, 154, 0, 158, 38,
335 156, 0, 159, 156, 0, 0, 99, 40, 155, 156,
336 0, 156, 0, 0, 84, 157, 152, 80, 0, 109,
337 0, 1, 0, 159, 0, 158, 159, 0, 60, 99,
338 0, 0, 0, 166, 161, 118, 162, 204, 0, 0,
339 0, 169, 164, 118, 165, 204, 0, 167, 0, 169,
340 0, 61, 167, 78, 0, 167, 61, 239, 0, 167,
341 62, 101, 85, 0, 167, 62, 85, 0, 52, 190,
342 167, 0, 145, 125, 167, 0, 4, 0, 74, 0,
343 168, 61, 239, 0, 168, 62, 101, 85, 0, 168,
344 62, 85, 0, 52, 190, 168, 0, 145, 125, 168,
345 0, 4, 0, 169, 61, 239, 0, 61, 169, 78,
346 0, 52, 190, 169, 0, 169, 62, 101, 85, 0,
347 169, 62, 85, 0, 145, 125, 169, 0, 3, 0,
348 13, 0, 13, 145, 0, 14, 0, 14, 145, 0,
349 12, 0, 12, 145, 0, 0, 170, 99, 84, 174,
350 180, 80, 144, 0, 170, 84, 180, 80, 144, 0,
351 170, 99, 0, 0, 171, 99, 84, 175, 180, 80,
352 144, 0, 171, 84, 180, 80, 144, 0, 171, 99,
353 0, 0, 172, 99, 84, 176, 185, 179, 80, 144,
354 0, 0, 172, 84, 177, 185, 179, 80, 144, 0,
355 172, 99, 0, 0, 83, 0, 0, 83, 0, 181,
356 0, 181, 182, 0, 0, 181, 182, 79, 0, 181,
357 79, 0, 67, 61, 69, 78, 0, 133, 124, 183,
358 0, 133, 124, 209, 210, 144, 0, 189, 124, 183,
359 0, 189, 0, 1, 0, 244, 182, 0, 184, 0,
360 183, 83, 184, 0, 209, 210, 166, 144, 0, 209,
361 210, 166, 40, 109, 144, 0, 209, 210, 40, 109,
362 144, 0, 186, 0, 185, 83, 186, 0, 1, 0,
363 99, 0, 99, 38, 109, 0, 133, 188, 0, 189,
364 188, 0, 0, 191, 0, 7, 0, 189, 7, 0,
365 0, 190, 7, 0, 61, 191, 78, 0, 52, 190,
366 191, 0, 52, 190, 0, 191, 61, 232, 0, 191,
367 62, 101, 85, 0, 191, 62, 85, 0, 61, 232,
368 0, 62, 101, 85, 0, 62, 85, 0, 145, 125,
369 191, 0, 193, 0, 212, 0, 193, 212, 0, 193,
370 195, 0, 0, 192, 0, 1, 79, 0, 0, 0,
371 198, 0, 199, 0, 198, 199, 0, 32, 243, 79,
372 0, 204, 0, 1, 204, 0, 84, 0, 80, 0,
373 196, 197, 123, 194, 80, 0, 196, 197, 1, 80,
374 0, 196, 197, 192, 80, 0, 61, 84, 0, 201,
375 202, 0, 206, 211, 0, 206, 1, 0, 15, 61,
376 101, 78, 0, 0, 18, 208, 211, 17, 0, 0,
377 0, 209, 210, 214, 0, 209, 210, 225, 211, 0,
378 209, 210, 213, 0, 214, 0, 225, 0, 204, 0,
379 222, 0, 101, 79, 0, 0, 205, 16, 215, 211,
380 0, 205, 0, 205, 16, 1, 0, 0, 0, 17,
381 216, 61, 101, 78, 217, 211, 0, 207, 61, 101,
382 78, 79, 0, 207, 1, 0, 0, 0, 0, 19,
383 61, 227, 79, 218, 227, 79, 219, 227, 78, 220,
384 211, 0, 0, 20, 61, 101, 78, 221, 211, 0,
385 23, 79, 0, 24, 79, 0, 25, 79, 0, 25,
386 101, 79, 0, 27, 226, 61, 101, 78, 79, 0,
387 27, 226, 61, 101, 40, 228, 78, 79, 0, 27,
388 226, 61, 101, 40, 228, 40, 228, 78, 79, 0,
389 27, 226, 61, 101, 40, 228, 40, 228, 40, 231,
390 78, 79, 0, 26, 99, 79, 0, 26, 52, 101,
391 79, 0, 79, 0, 223, 0, 0, 19, 61, 115,
392 78, 224, 211, 0, 21, 109, 40, 0, 21, 109,
393 10, 109, 40, 0, 22, 40, 0, 99, 40, 144,
394 0, 0, 7, 0, 0, 101, 0, 0, 229, 0,
395 230, 0, 229, 83, 230, 0, 9, 61, 101, 78,
396 0, 116, 0, 231, 83, 116, 0, 0, 233, 234,
397 0, 236, 78, 0, 0, 237, 79, 235, 234, 0,
398 1, 78, 0, 0, 10, 0, 237, 0, 237, 83,
399 10, 0, 238, 0, 237, 83, 238, 0, 127, 124,
400 168, 144, 0, 127, 124, 169, 144, 0, 127, 124,
401 188, 144, 0, 131, 124, 169, 144, 0, 131, 124,
402 188, 144, 0, 0, 240, 241, 0, 234, 0, 242,
403 78, 0, 3, 0, 242, 83, 3, 0, 99, 0,
404 243, 83, 99, 0, 31, 0, 249, 0, 247, 0,
405 248, 0, 259, 0, 269, 0, 65, 0, 99, 0,
406 246, 83, 99, 0, 75, 246, 79, 0, 76, 99,
407 99, 79, 0, 0, 0, 63, 99, 261, 84, 250,
408 263, 80, 251, 276, 65, 0, 0, 63, 99, 261,
409 252, 276, 65, 0, 0, 0, 63, 99, 40, 99,
410 261, 84, 253, 263, 80, 254, 276, 65, 0, 0,
411 63, 99, 40, 99, 261, 255, 276, 65, 0, 0,
412 64, 99, 84, 256, 263, 80, 0, 64, 99, 0,
413 0, 64, 99, 40, 99, 84, 257, 263, 80, 0,
414 64, 99, 40, 99, 0, 0, 63, 99, 61, 99,
415 78, 261, 258, 276, 65, 0, 64, 99, 61, 99,
416 78, 0, 0, 73, 99, 261, 260, 276, 65, 0,
417 0, 262, 0, 47, 246, 47, 0, 263, 264, 265,
418 0, 265, 0, 71, 0, 72, 0, 70, 0, 0,
419 265, 266, 79, 0, 265, 79, 0, 133, 124, 267,
420 0, 189, 124, 267, 0, 1, 0, 0, 268, 0,
421 267, 83, 268, 0, 166, 0, 166, 40, 109, 0,
422 40, 109, 0, 0, 0, 0, 50, 270, 286, 271,
423 287, 272, 200, 0, 0, 0, 0, 51, 273, 286,
424 274, 287, 275, 200, 0, 0, 0, 277, 278, 0,
425 281, 0, 91, 0, 278, 281, 0, 0, 278, 279,
426 91, 0, 79, 0, 1, 0, 0, 0, 50, 282,
427 286, 283, 280, 0, 0, 0, 51, 284, 286, 285,
428 280, 0, 61, 187, 78, 295, 0, 295, 0, 61,
429 187, 78, 296, 293, 0, 296, 293, 0, 0, 79,
430 288, 0, 0, 289, 0, 290, 0, 195, 0, 289,
431 290, 0, 290, 195, 0, 127, 124, 291, 79, 0,
432 127, 79, 0, 131, 79, 0, 292, 0, 291, 83,
433 292, 0, 168, 144, 0, 169, 144, 0, 188, 144,
434 0, 0, 83, 10, 0, 0, 83, 294, 236, 0,
435 297, 0, 299, 0, 296, 299, 0, 3, 0, 4,
436 0, 74, 0, 298, 0, 12, 0, 13, 0, 14,
437 0, 15, 0, 16, 0, 17, 0, 18, 0, 19,
438 0, 20, 0, 21, 0, 22, 0, 23, 0, 24,
439 0, 25, 0, 26, 0, 27, 0, 11, 0, 28,
440 0, 29, 0, 6, 0, 7, 0, 297, 40, 61,
441 187, 78, 99, 0, 297, 40, 99, 0, 40, 61,
442 187, 78, 99, 0, 40, 99, 0, 297, 0, 301,
443 0, 303, 0, 301, 303, 0, 103, 0, 297, 40,
444 302, 0, 40, 302, 0, 101, 0, 69, 0, 0,
445 0, 62, 306, 304, 307, 300, 85, 0, 297, 0,
446 309, 0, 310, 0, 309, 310, 0, 297, 40, 0,
447 40, 0, 66, 61, 308, 78, 0, 73, 61, 99,
448 78, 0, 68, 61, 187, 78, 0
454 static const short yyrline
[] = { 0,
455 257, 262, 276, 278, 278, 279, 281, 283, 284, 285,
456 293, 297, 308, 313, 318, 320, 322, 323, 324, 329,
457 336, 338, 343, 348, 354, 356, 361, 366, 372, 374,
458 379, 386, 388, 389, 390, 393, 395, 397, 399, 401,
459 403, 405, 409, 413, 416, 419, 422, 426, 428, 431,
460 434, 438, 466, 472, 475, 478, 481, 483, 485, 489,
461 493, 497, 499, 502, 506, 533, 535, 537, 539, 541,
462 543, 545, 547, 549, 551, 553, 555, 557, 559, 563,
463 565, 569, 571, 574, 578, 580, 587, 590, 598, 609,
464 769, 770, 772, 778, 780, 803, 812, 814, 816, 828,
465 842, 844, 846, 848, 850, 852, 854, 859, 861, 868,
466 870, 874, 876, 877, 887, 892, 894, 895, 896, 903,
467 909, 914, 917, 925, 930, 932, 933, 934, 941, 952,
468 956, 962, 967, 972, 977, 979, 981, 990, 993, 997,
469 999, 1001, 1006, 1010, 1013, 1017, 1020, 1022, 1034, 1037,
470 1039, 1041, 1045, 1049, 1051, 1054, 1067, 1070, 1074, 1076,
471 1084, 1085, 1086, 1090, 1092, 1097, 1099, 1101, 1107, 1108,
472 1109, 1112, 1114, 1117, 1119, 1122, 1125, 1131, 1138, 1140,
473 1147, 1154, 1157, 1164, 1167, 1171, 1174, 1178, 1183, 1186,
474 1190, 1193, 1195, 1197, 1199, 1206, 1208, 1209, 1210, 1215,
475 1217, 1222, 1230, 1235, 1239, 1242, 1244, 1249, 1251, 1252,
476 1255, 1255, 1258, 1261, 1263, 1265, 1268, 1270, 1273, 1281,
477 1295, 1303, 1307, 1321, 1329, 1336, 1338, 1343, 1346, 1351,
478 1353, 1355, 1362, 1364, 1365, 1373, 1379, 1381, 1383, 1390,
479 1392, 1398, 1404, 1406, 1408, 1410, 1417, 1419, 1422, 1425,
480 1429, 1432, 1436, 1439, 1443, 1448, 1450, 1454, 1456, 1458,
481 1460, 1464, 1466, 1469, 1472, 1475, 1478, 1482, 1484, 1487,
482 1489, 1494, 1497, 1502, 1504, 1506, 1510, 1534, 1541, 1555,
483 1561, 1566, 1568, 1573, 1575, 1579, 1583, 1587, 1597, 1599,
484 1604, 1609, 1612, 1616, 1619, 1623, 1626, 1629, 1632, 1636,
485 1639, 1643, 1647, 1649, 1651, 1653, 1655, 1657, 1659, 1661,
486 1665, 1673, 1681, 1683, 1685, 1689, 1691, 1694, 1697, 1710,
487 1712, 1717, 1719, 1722, 1736, 1739, 1742, 1744, 1746, 1754,
488 1762, 1772, 1790, 1795, 1800, 1803, 1817, 1826, 1830, 1834,
489 1838, 1844, 1848, 1853, 1856, 1861, 1864, 1865, 1882, 1887,
490 1890, 1902, 1904, 1914, 1924, 1925, 1933, 1936, 1948, 1952,
491 1969, 1979, 1988, 1993, 1998, 2003, 2007, 2011, 2022, 2029,
492 2036, 2043, 2054, 2060, 2063, 2068, 2091, 2125, 2156, 2187,
493 2202, 2216, 2220, 2224, 2227, 2232, 2234, 2237, 2239, 2243,
494 2248, 2251, 2257, 2262, 2267, 2269, 2278, 2279, 2285, 2287,
495 2297, 2299, 2303, 2306, 2312, 2322, 2331, 2340, 2350, 2364,
496 2369, 2374, 2376, 2385, 2388, 2393, 2396, 2400, 2409, 2411,
497 2412, 2413, 2414, 2415, 2429, 2432, 2436, 2442, 2448, 2455,
498 2460, 2466, 2473, 2479, 2485, 2490, 2496, 2503, 2509, 2515,
499 2521, 2529, 2535, 2541, 2549, 2556, 2562, 2571, 2578, 2586,
500 2591, 2594, 2604, 2606, 2609, 2611, 2612, 2615, 2620, 2621,
501 2638, 2645, 2651, 2655, 2658, 2659, 2662, 2670, 2676, 2685,
502 2695, 2702, 2706, 2711, 2720, 2727, 2731, 2741, 2743, 2744,
503 2746, 2748, 2749, 2750, 2751, 2753, 2755, 2758, 2766, 2773,
504 2773, 2780, 2786, 2788, 2794, 2799, 2804, 2813, 2815, 2821,
505 2823, 2826, 2828, 2829, 2830, 2833, 2839, 2841, 2845, 2848,
506 2855, 2861, 2866, 2873, 2878, 2883, 2888, 2895, 2899, 2902,
507 2908, 2910, 2911, 2912, 2915, 2917, 2918, 2919, 2920, 2921,
508 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2929, 2930, 2931,
509 2932, 2933, 2934, 2935, 2935, 2938, 2944, 2949, 2954, 2960,
510 2962, 2965, 2967, 2974, 2986, 2991, 2997, 2999, 3005, 3009,
511 3010, 3016, 3018, 3021, 3023, 3029, 3034, 3040, 3047, 3056
516 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
518 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
519 "TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING","ELLIPSIS","SIZEOF",
520 "ENUM","STRUCT","UNION","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT",
521 "BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF","ATTRIBUTE",
522 "EXTENSION","LABEL","REALPART","IMAGPART","VA_ARG","END_OF_LINE","ASSIGN","'='",
523 "'?'","':'","OROR","ANDAND","'|'","'^'","'&'","EQCOMPARE","ARITHCOMPARE","LSHIFT",
524 "RSHIFT","'+'","'-'","'*'","'/'","'%'","UNARY","PLUSPLUS","MINUSMINUS","HYPERUNARY",
525 "POINTSAT","'.'","'('","'['","INTERFACE","IMPLEMENTATION","END","SELECTOR","DEFS",
526 "ENCODE","CLASSNAME","PUBLIC","PRIVATE","PROTECTED","PROTOCOL","OBJECTNAME",
527 "CLASS","ALIAS","OBJC_STRING","')'","';'","'}'","'~'","'!'","','","'{'","']'",
528 "program","extdefs","@1","@2","extdef","datadef","fndef","@3","@4","@5","@6",
529 "@7","@8","identifier","unop","expr","exprlist","nonnull_exprlist","unary_expr",
530 "sizeof","alignof","cast_expr","@9","expr_no_commas","@10","@11","@12","@13",
531 "@14","primary","string","objc_string","old_style_parm_decls","lineno_datadecl",
532 "datadecls","datadecl","lineno_decl","decls","setspecs","setattrs","decl","typed_declspecs",
533 "reserved_declspecs","typed_declspecs_no_prefix_attr","reserved_declspecs_no_prefix_attr",
534 "declmods","declmods_no_prefix_attr","typed_typespecs","reserved_typespecquals",
535 "typespec","typespecqual_reserved","initdecls","notype_initdecls","maybeasm",
536 "initdcl","@15","notype_initdcl","@16","maybe_attribute","attributes","attribute",
537 "attribute_list","attrib","any_word","init","@17","initlist_maybe_comma","initlist1",
538 "initelt","@18","initval","@19","designator_list","designator","nested_function",
539 "@20","@21","notype_nested_function","@22","@23","declarator","after_type_declarator",
540 "parm_declarator","notype_declarator","struct_head","union_head","enum_head",
541 "structsp","@24","@25","@26","@27","maybecomma","maybecomma_warn","component_decl_list",
542 "component_decl_list2","component_decl","components","component_declarator",
543 "enumlist","enumerator","typename","absdcl","nonempty_type_quals","type_quals",
544 "absdcl1","stmts","lineno_stmt_or_labels","xstmts","errstmt","pushlevel","maybe_label_decls",
545 "label_decls","label_decl","compstmt_or_error","compstmt_start","compstmt_nostart",
546 "compstmt_primary_start","compstmt","simple_if","if_prefix","do_stmt_start",
547 "@28","save_filename","save_lineno","lineno_labeled_stmt","lineno_stmt_or_label",
548 "stmt_or_label","stmt","@29","@30","@31","@32","@33","@34","@35","all_iter_stmt",
549 "all_iter_stmt_simple","@36","label","maybe_type_qual","xexpr","asm_operands",
550 "nonnull_asm_operands","asm_operand","asm_clobbers","parmlist","@37","parmlist_1",
551 "@38","parmlist_2","parms","parm","parmlist_or_identifiers","@39","parmlist_or_identifiers_1",
552 "identifiers","identifiers_or_typenames","extension","objcdef","identifier_list",
553 "classdecl","aliasdecl","classdef","@40","@41","@42","@43","@44","@45","@46",
554 "@47","@48","protocoldef","@49","protocolrefs","non_empty_protocolrefs","ivar_decl_list",
555 "visibility_spec","ivar_decls","ivar_decl","ivars","ivar_declarator","methoddef",
556 "@50","@51","@52","@53","@54","@55","methodprotolist","@56","methodprotolist2",
557 "@57","semi_or_error","methodproto","@58","@59","@60","@61","methoddecl","optarglist",
558 "myxdecls","mydecls","mydecl","myparms","myparm","optparmlist","@62","unaryselector",
559 "keywordselector","selector","reservedwords","keyworddecl","messageargs","keywordarglist",
560 "keywordexpr","keywordarg","receiver","objcmessageexpr","@63","@64","selectorarg",
561 "keywordnamelist","keywordname","objcselectorexpr","objcprotocolexpr","objcencodeexpr", NULL
565 static const short yyr1
[] = { 0,
566 86, 86, 88, 87, 89, 87, 90, 90, 90, 90,
567 90, 91, 91, 91, 91, 91, 91, 91, 91, 93,
568 94, 92, 92, 95, 96, 92, 92, 97, 98, 92,
569 92, 99, 99, 99, 99, 100, 100, 100, 100, 100,
570 100, 100, 101, 102, 102, 103, 103, 104, 104, 104,
571 104, 104, 104, 104, 104, 104, 104, 104, 104, 105,
572 106, 107, 107, 108, 107, 109, 109, 109, 109, 109,
573 109, 109, 109, 109, 109, 109, 109, 109, 110, 109,
574 111, 109, 112, 113, 109, 114, 109, 109, 109, 115,
575 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
576 115, 115, 115, 115, 115, 115, 115, 116, 116, 117,
577 117, 118, 118, 118, 119, 120, 120, 120, 120, 121,
578 121, 121, 121, 122, 123, 123, 123, 123, 124, 125,
579 126, 126, 126, 126, 126, 126, 126, 127, 127, 128,
580 128, 128, 128, 129, 129, 130, 130, 130, 131, 131,
581 131, 131, 132, 132, 132, 132, 133, 133, 134, 134,
582 135, 135, 135, 135, 135, 135, 135, 135, 136, 136,
583 136, 137, 137, 138, 138, 139, 139, 141, 140, 140,
584 143, 142, 142, 144, 144, 145, 145, 146, 147, 147,
585 148, 148, 148, 148, 148, 149, 149, 149, 149, 150,
586 151, 150, 150, 152, 152, 153, 153, 154, 154, 155,
587 154, 154, 157, 156, 156, 156, 158, 158, 159, 161,
588 162, 160, 164, 165, 163, 166, 166, 167, 167, 167,
589 167, 167, 167, 167, 167, 168, 168, 168, 168, 168,
590 168, 169, 169, 169, 169, 169, 169, 169, 170, 170,
591 171, 171, 172, 172, 174, 173, 173, 173, 175, 173,
592 173, 173, 176, 173, 177, 173, 173, 178, 178, 179,
593 179, 180, 180, 181, 181, 181, 181, 182, 182, 182,
594 182, 182, 182, 183, 183, 184, 184, 184, 185, 185,
595 185, 186, 186, 187, 187, 188, 188, 189, 189, 190,
596 190, 191, 191, 191, 191, 191, 191, 191, 191, 191,
597 191, 192, 193, 193, 193, 194, 194, 195, 196, 197,
598 197, 198, 198, 199, 200, 200, 201, 202, 202, 202,
599 202, 203, 204, 205, 205, 206, 208, 207, 209, 210,
600 211, 211, 212, 213, 213, 214, 214, 214, 215, 214,
601 214, 214, 216, 217, 214, 214, 214, 218, 219, 220,
602 214, 221, 214, 214, 214, 214, 214, 214, 214, 214,
603 214, 214, 214, 214, 222, 224, 223, 225, 225, 225,
604 225, 226, 226, 227, 227, 228, 228, 229, 229, 230,
605 231, 231, 233, 232, 234, 235, 234, 234, 236, 236,
606 236, 236, 237, 237, 238, 238, 238, 238, 238, 240,
607 239, 241, 241, 242, 242, 243, 243, 244, 245, 245,
608 245, 245, 245, 245, 246, 246, 247, 248, 250, 251,
609 249, 252, 249, 253, 254, 249, 255, 249, 256, 249,
610 249, 257, 249, 249, 258, 249, 249, 260, 259, 261,
611 261, 262, 263, 263, 264, 264, 264, 265, 265, 265,
612 266, 266, 266, 267, 267, 267, 268, 268, 268, 270,
613 271, 272, 269, 273, 274, 275, 269, 276, 277, 276,
614 278, 278, 278, 279, 278, 280, 280, 282, 283, 281,
615 284, 285, 281, 286, 286, 286, 286, 287, 287, 288,
616 288, 289, 289, 289, 289, 290, 290, 290, 291, 291,
617 292, 292, 292, 293, 293, 294, 293, 295, 296, 296,
618 297, 297, 297, 297, 298, 298, 298, 298, 298, 298,
619 298, 298, 298, 298, 298, 298, 298, 298, 298, 298,
620 298, 298, 298, 298, 298, 299, 299, 299, 299, 300,
621 300, 301, 301, 302, 303, 303, 304, 304, 306, 307,
622 305, 308, 308, 309, 309, 310, 310, 311, 312, 313
625 static const short yyr2
[] = { 0,
626 0, 1, 0, 2, 0, 3, 1, 1, 1, 5,
627 2, 3, 4, 4, 2, 2, 2, 2, 1, 0,
628 0, 7, 4, 0, 0, 7, 4, 0, 0, 6,
629 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
630 1, 1, 1, 0, 1, 1, 3, 1, 2, 2,
631 2, 2, 2, 4, 2, 4, 2, 2, 6, 1,
632 1, 1, 4, 0, 7, 1, 3, 3, 3, 3,
633 3, 3, 3, 3, 3, 3, 3, 3, 0, 4,
634 0, 4, 0, 0, 7, 0, 5, 3, 3, 1,
635 1, 1, 3, 3, 3, 3, 4, 4, 3, 3,
636 2, 2, 1, 1, 1, 1, 1, 1, 2, 1,
637 2, 0, 1, 2, 3, 1, 1, 2, 2, 4,
638 4, 2, 2, 3, 1, 1, 2, 2, 0, 0,
639 4, 4, 3, 3, 2, 2, 2, 2, 3, 0,
640 2, 2, 2, 2, 3, 0, 2, 2, 1, 1,
641 2, 2, 1, 1, 2, 2, 2, 3, 0, 2,
642 1, 1, 1, 2, 2, 1, 4, 4, 1, 1,
643 1, 1, 3, 1, 3, 0, 4, 0, 6, 3,
644 0, 6, 3, 0, 1, 1, 2, 6, 1, 3,
645 0, 1, 4, 6, 4, 1, 1, 1, 1, 1,
646 0, 4, 1, 0, 2, 1, 3, 3, 2, 0,
647 4, 1, 0, 4, 1, 1, 1, 2, 2, 0,
648 0, 5, 0, 0, 5, 1, 1, 3, 3, 4,
649 3, 3, 3, 1, 1, 3, 4, 3, 3, 3,
650 1, 3, 3, 3, 4, 3, 3, 1, 1, 2,
651 1, 2, 1, 2, 0, 7, 5, 2, 0, 7,
652 5, 2, 0, 8, 0, 7, 2, 0, 1, 0,
653 1, 1, 2, 0, 3, 2, 4, 3, 5, 3,
654 1, 1, 2, 1, 3, 4, 6, 5, 1, 3,
655 1, 1, 3, 2, 2, 0, 1, 1, 2, 0,
656 2, 3, 3, 2, 3, 4, 3, 2, 3, 2,
657 3, 1, 1, 2, 2, 0, 1, 2, 0, 0,
658 1, 1, 2, 3, 1, 2, 1, 1, 5, 4,
659 4, 2, 2, 2, 2, 4, 0, 4, 0, 0,
660 3, 4, 3, 1, 1, 1, 1, 2, 0, 4,
661 1, 3, 0, 0, 7, 5, 2, 0, 0, 0,
662 12, 0, 6, 2, 2, 2, 3, 6, 8, 10,
663 12, 3, 4, 1, 1, 0, 6, 3, 5, 2,
664 3, 0, 1, 0, 1, 0, 1, 1, 3, 4,
665 1, 3, 0, 2, 2, 0, 4, 2, 0, 1,
666 1, 3, 1, 3, 4, 4, 4, 4, 4, 0,
667 2, 1, 2, 1, 3, 1, 3, 1, 1, 1,
668 1, 1, 1, 1, 1, 3, 3, 4, 0, 0,
669 10, 0, 6, 0, 0, 12, 0, 8, 0, 6,
670 2, 0, 8, 4, 0, 9, 5, 0, 6, 0,
671 1, 3, 3, 1, 1, 1, 1, 0, 3, 2,
672 3, 3, 1, 0, 1, 3, 1, 3, 2, 0,
673 0, 0, 7, 0, 0, 0, 7, 0, 0, 2,
674 1, 1, 2, 0, 3, 1, 1, 0, 0, 5,
675 0, 0, 5, 4, 1, 5, 2, 0, 2, 0,
676 1, 1, 1, 2, 2, 4, 2, 2, 1, 3,
677 2, 2, 2, 0, 2, 0, 3, 1, 1, 2,
678 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
679 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
680 1, 1, 1, 1, 1, 6, 3, 5, 2, 1,
681 1, 1, 2, 1, 3, 2, 1, 1, 0, 0,
682 6, 1, 1, 1, 2, 2, 1, 4, 4, 4
685 static const short yydefact
[] = { 3,
686 5, 0, 0, 0, 163, 154, 161, 153, 253, 249,
687 251, 0, 0, 0, 418, 0, 470, 474, 0, 0,
688 424, 450, 0, 450, 0, 0, 19, 4, 8, 7,
689 0, 129, 129, 149, 140, 150, 186, 0, 0, 0,
690 162, 0, 9, 420, 421, 419, 422, 166, 423, 6,
691 17, 18, 254, 250, 252, 0, 0, 0, 32, 33,
692 35, 34, 425, 0, 0, 0, 450, 441, 164, 451,
693 450, 165, 0, 0, 248, 300, 0, 0, 174, 130,
694 0, 16, 0, 15, 0, 151, 140, 152, 156, 155,
695 138, 187, 274, 258, 274, 262, 265, 267, 11, 90,
696 91, 108, 60, 61, 0, 0, 0, 0, 36, 38,
697 37, 0, 39, 40, 0, 559, 0, 0, 0, 110,
698 41, 42, 0, 0, 43, 62, 0, 0, 66, 46,
699 48, 92, 107, 0, 0, 103, 104, 105, 106, 298,
700 0, 296, 159, 0, 296, 191, 452, 0, 521, 522,
701 544, 545, 541, 525, 526, 527, 528, 529, 530, 531,
702 532, 533, 534, 535, 536, 537, 538, 539, 540, 542,
703 543, 0, 0, 523, 471, 495, 514, 518, 524, 519,
704 475, 0, 0, 432, 0, 0, 439, 448, 427, 0,
705 0, 0, 12, 0, 0, 31, 0, 410, 0, 0,
706 184, 234, 300, 0, 235, 0, 172, 130, 0, 226,
707 227, 0, 0, 139, 142, 169, 170, 141, 143, 171,
708 0, 0, 0, 255, 0, 259, 0, 263, 57, 58,
709 0, 52, 49, 0, 332, 0, 0, 0, 0, 0,
710 0, 51, 0, 0, 0, 53, 0, 55, 0, 0,
711 83, 81, 79, 0, 0, 0, 0, 0, 0, 0,
712 0, 0, 0, 0, 0, 101, 102, 0, 0, 44,
713 0, 109, 111, 0, 328, 320, 0, 50, 167, 300,
714 393, 0, 130, 294, 297, 157, 168, 299, 159, 295,
715 197, 198, 199, 196, 0, 189, 192, 426, 0, 549,
716 0, 498, 516, 497, 0, 520, 0, 498, 450, 0,
717 429, 479, 444, 0, 458, 479, 428, 301, 244, 243,
718 175, 176, 247, 0, 242, 0, 246, 0, 0, 29,
719 0, 339, 117, 340, 183, 185, 0, 0, 14, 0,
720 0, 23, 0, 184, 410, 0, 13, 27, 0, 0,
721 184, 282, 276, 129, 273, 129, 0, 274, 184, 274,
722 291, 292, 270, 289, 0, 0, 94, 93, 0, 558,
723 557, 560, 567, 562, 0, 563, 564, 0, 0, 10,
724 47, 0, 0, 89, 88, 0, 0, 0, 0, 77,
725 78, 76, 75, 74, 72, 73, 67, 68, 69, 70,
726 71, 100, 99, 0, 45, 0, 96, 0, 0, 321,
727 322, 95, 304, 0, 308, 0, 310, 0, 0, 393,
728 0, 160, 158, 0, 191, 44, 0, 0, 0, 472,
729 515, 399, 0, 547, 476, 437, 450, 458, 0, 0,
730 442, 447, 0, 0, 0, 0, 0, 414, 400, 129,
731 129, 412, 0, 401, 403, 411, 0, 245, 318, 0,
732 119, 114, 118, 0, 181, 232, 228, 173, 233, 21,
733 180, 229, 231, 0, 25, 0, 257, 339, 275, 339,
734 283, 0, 261, 0, 0, 271, 0, 270, 0, 64,
735 63, 0, 566, 568, 0, 565, 570, 569, 54, 56,
736 0, 0, 82, 80, 97, 98, 416, 0, 0, 0,
737 339, 0, 0, 126, 340, 313, 323, 303, 302, 394,
738 309, 311, 305, 307, 0, 188, 190, 90, 0, 0,
739 494, 514, 129, 0, 503, 499, 501, 0, 0, 517,
740 401, 0, 0, 434, 479, 445, 0, 433, 488, 491,
741 482, 0, 129, 129, 484, 481, 458, 457, 455, 456,
742 440, 458, 463, 460, 129, 129, 0, 449, 177, 398,
743 296, 296, 395, 396, 0, 413, 0, 0, 327, 30,
744 319, 325, 115, 129, 129, 146, 0, 0, 178, 230,
745 0, 277, 278, 284, 340, 280, 340, 184, 184, 293,
746 290, 184, 0, 0, 0, 0, 550, 0, 551, 552,
747 84, 87, 324, 0, 330, 128, 127, 317, 0, 331,
748 315, 340, 314, 0, 306, 193, 0, 195, 548, 496,
749 507, 296, 508, 504, 505, 473, 0, 477, 458, 0,
750 479, 430, 0, 0, 176, 0, 0, 0, 483, 0,
751 0, 464, 464, 459, 241, 300, 393, 130, 184, 184,
752 184, 300, 130, 184, 184, 0, 402, 404, 415, 326,
753 333, 122, 0, 123, 0, 146, 144, 203, 201, 200,
754 182, 22, 0, 26, 339, 184, 0, 256, 260, 266,
755 184, 59, 216, 90, 0, 213, 0, 215, 0, 268,
756 206, 212, 0, 0, 554, 556, 0, 561, 0, 553,
757 0, 417, 329, 0, 163, 0, 353, 337, 0, 0,
758 0, 0, 0, 0, 0, 0, 382, 450, 450, 374,
759 0, 0, 124, 129, 129, 346, 351, 0, 0, 343,
760 344, 347, 375, 345, 0, 0, 184, 184, 184, 0,
761 509, 546, 0, 438, 0, 479, 489, 492, 485, 443,
762 0, 467, 461, 465, 462, 304, 0, 410, 0, 405,
763 406, 407, 304, 0, 408, 409, 397, 0, 0, 145,
764 148, 147, 0, 179, 285, 0, 279, 130, 184, 264,
765 219, 0, 210, 65, 0, 205, 0, 218, 209, 555,
766 85, 0, 0, 339, 384, 0, 0, 380, 364, 365,
767 366, 0, 0, 0, 383, 0, 184, 348, 135, 0,
768 136, 0, 0, 335, 340, 334, 357, 0, 137, 194,
769 511, 512, 513, 506, 296, 435, 446, 0, 0, 0,
770 469, 0, 0, 239, 240, 236, 238, 0, 120, 121,
771 0, 184, 0, 286, 0, 0, 207, 208, 0, 0,
772 0, 385, 48, 0, 0, 0, 378, 367, 0, 372,
773 0, 381, 0, 133, 220, 0, 134, 223, 352, 339,
774 0, 0, 510, 479, 431, 487, 486, 490, 493, 468,
775 466, 237, 202, 288, 184, 214, 211, 336, 0, 338,
776 376, 358, 362, 0, 373, 0, 131, 0, 132, 0,
777 350, 341, 339, 0, 0, 287, 354, 339, 384, 339,
778 379, 386, 0, 221, 224, 342, 356, 436, 339, 377,
779 0, 363, 0, 0, 387, 388, 368, 0, 0, 355,
780 359, 0, 386, 0, 0, 222, 225, 384, 0, 0,
781 369, 389, 0, 390, 0, 0, 360, 391, 0, 370,
782 339, 0, 0, 361, 371, 392, 0, 0, 0
785 static const short yydefgoto
[] = { 967,
786 1, 2, 3, 28, 29, 30, 343, 588, 349, 591,
787 200, 460, 697, 123, 236, 404, 125, 126, 127, 128,
788 129, 605, 130, 389, 388, 386, 711, 387, 131, 132,
789 133, 330, 331, 332, 583, 510, 511, 31, 341, 733,
790 450, 91, 584, 677, 451, 34, 142, 286, 35, 218,
791 206, 78, 201, 207, 683, 79, 587, 335, 336, 37,
792 295, 296, 297, 681, 783, 699, 700, 701, 856, 702,
793 792, 703, 704, 874, 908, 938, 877, 910, 939, 322,
794 210, 747, 211, 38, 39, 40, 41, 358, 360, 365,
795 227, 796, 487, 222, 223, 355, 593, 594, 363, 364,
796 144, 749, 145, 191, 285, 512, 513, 619, 333, 276,
797 409, 410, 411, 580, 581, 277, 134, 582, 737, 738,
798 739, 804, 825, 464, 826, 516, 740, 741, 880, 803,
799 929, 919, 948, 961, 920, 742, 743, 918, 744, 816,
800 864, 934, 935, 936, 959, 415, 416, 452, 666, 453,
801 454, 455, 325, 326, 456, 457, 508, 135, 43, 64,
802 44, 45, 46, 438, 756, 312, 639, 884, 545, 315,
803 557, 641, 47, 316, 69, 48, 443, 562, 444, 567,
804 763, 764, 49, 65, 302, 539, 66, 308, 543, 439,
805 440, 555, 648, 888, 556, 643, 839, 644, 840, 175,
806 430, 536, 537, 538, 750, 751, 304, 432, 176, 177,
807 178, 179, 180, 608, 609, 706, 610, 372, 136, 238,
808 492, 375, 376, 377, 137, 138, 139
811 static const short yypact
[] = { 118,
812 137, 3350, 3350, 190,-32768,-32768,-32768,-32768, 204, 204,
813 204, 104, 161, 189,-32768, 294,-32768,-32768, 294, 294,
814 -32768, 236, 294, 236, 294, 294,-32768,-32768,-32768,-32768,
815 226, 174, 2782, 382,-32768, 204,-32768, 135, 192, 208,
816 -32768, 3350,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
817 -32768,-32768, 204, 204, 204, 3019, 2851, 241,-32768,-32768,
818 -32768,-32768,-32768, 158, 3627, 3627, 346, 123,-32768,-32768,
819 236,-32768, 237, 294,-32768,-32768, 226, 249,-32768, 204,
820 870,-32768, 416,-32768, 226, 382,-32768, 204,-32768,-32768,
821 793,-32768, 238, 242, 238, 258,-32768, 266,-32768,-32768,
822 -32768,-32768,-32768,-32768, 3019, 3019, 300, 294,-32768,-32768,
823 -32768, 3019,-32768,-32768, 1277,-32768, 354, 357, 362,-32768,
824 -32768,-32768, 3019, 330, 371,-32768, 3075, 3131,-32768, 3955,
825 1125, 457, 403, 986, 3019,-32768,-32768,-32768,-32768,-32768,
826 411, 297,-32768, 413, 3751, 303,-32768, 294,-32768,-32768,
827 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
828 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
829 -32768, 188, 2179,-32768,-32768,-32768, 2741, 458,-32768,-32768,
830 -32768, 294, 294, 423, 294, 294,-32768,-32768,-32768, 421,
831 98, 52,-32768, 416, 226,-32768, 452,-32768, 2194, 498,
832 204,-32768,-32768, 416,-32768, 327,-32768, 204, 2082, 317,
833 329, 347, 2054, 793,-32768,-32768,-32768,-32768, 204,-32768,
834 454, 442, 3270,-32768, 444,-32768, 106,-32768,-32768,-32768,
835 3019,-32768,-32768, 464,-32768, 465, 466, 2907, 3657, 2179,
836 294,-32768, 455, 3019, 1277,-32768, 1277,-32768, 3019, 3019,
837 510,-32768,-32768, 3019, 3019, 3019, 3019, 3019, 3019, 3019,
838 3019, 3019, 3019, 3019, 3019,-32768,-32768, 294, 294, 3019,
839 3019,-32768,-32768, 473,-32768, 531, 486,-32768,-32768,-32768,
840 297, 2255, 204,-32768, 379, 907,-32768,-32768,-32768,-32768,
841 -32768,-32768,-32768,-32768, 41,-32768, 515,-32768, 2179,-32768,
842 493, 504, 567,-32768, 458,-32768, 353, 504, 236, 513,
843 -32768, 527, 519, 516,-32768, 527,-32768,-32768, 329,-32768,
844 -32768, 579, 329, 599,-32768, 3455,-32768, 524, 532,-32768,
845 1371, 80,-32768,-32768, 589, 204, 308, 182,-32768, 416,
846 416,-32768, 498, 204,-32768, 2316,-32768,-32768, 498, 560,
847 204,-32768,-32768,-32768, 551, 3296, 3563, 238, 204, 238,
848 -32768, 594, 552,-32768, 106, 3876,-32768,-32768, 2659,-32768,
849 -32768,-32768,-32768, 598, 558, 3657,-32768, 562, 568,-32768,
850 3955, 569, 570, 3955, 3955, 3019, 610, 3019, 3019, 1863,
851 912, 675, 1126, 1034, 535, 535, 63, 63,-32768,-32768,
852 -32768,-32768,-32768, 576, 371, 571,-32768, 294, 1191, 531,
853 -32768,-32768, 409, 185,-32768, 3485,-32768, 575, 297,-32768,
854 2377,-32768, 907, 577, 303, 3187, 583, 3692, 2140,-32768,
855 -32768, 3763, 2179,-32768,-32768, 573, 236,-32768, 601, 3427,
856 -32768,-32768, 449, 898, 602, 84, 586,-32768,-32768,-32768,
857 3829,-32768, 592, 364,-32768,-32768, 211,-32768,-32768, 83,
858 -32768,-32768,-32768, 2093,-32768, 317,-32768,-32768, 317,-32768,
859 634,-32768,-32768, 590,-32768, 600,-32768,-32768,-32768,-32768,
860 -32768, 604,-32768, 605, 3019, 294, 607, 552, 2179,-32768,
861 -32768, 3722,-32768,-32768, 598,-32768,-32768,-32768,-32768,-32768,
862 639, 3019, 1706, 1787,-32768,-32768,-32768, 435, 372, 1088,
863 609, 613, 1408,-32768,-32768,-32768,-32768, 379,-32768,-32768,
864 -32768, 379,-32768,-32768, 595,-32768,-32768, 246, 617, 294,
865 -32768, 2741, 624, 3513,-32768,-32768, 3829, 2168, 83,-32768,
866 591, 626, 83,-32768, 527,-32768, 476,-32768,-32768,-32768,
867 -32768, 226, 174, 2782, 399,-32768,-32768,-32768,-32768,-32768,
868 -32768,-32768,-32768,-32768,-32768, 3842, 627,-32768,-32768,-32768,
869 471, 93,-32768,-32768, 3817,-32768, 702, 623,-32768,-32768,
870 628,-32768,-32768, 632, 3314,-32768, 1895, 83,-32768,-32768,
871 83,-32768, 631,-32768,-32768, 631,-32768, 204, 204, 3955,
872 -32768, 204, 655, 658, 1654, 3019, 701, 659, 3722,-32768,
873 -32768, 1625,-32768, 294,-32768,-32768,-32768,-32768, 663,-32768,
874 -32768,-32768,-32768, 2521,-32768,-32768, 3019,-32768,-32768,-32768,
875 -32768, 471,-32768,-32768,-32768,-32768, 294,-32768,-32768, 680,
876 527,-32768, 3627, 3627, 206, 416, 226, 1983,-32768, 489,
877 3266, 314, 314,-32768,-32768,-32768, 93, 204, 261, 273,
878 204,-32768, 204, 273, 204, 3485,-32768,-32768,-32768,-32768,
879 -32768,-32768, 416,-32768, 226,-32768, 829,-32768,-32768, 3955,
880 -32768,-32768, 1895,-32768,-32768, 343, 343,-32768,-32768,-32768,
881 204,-32768,-32768, 708, 294,-32768, 711, 3955, 672, 670,
882 -32768,-32768, 143, 1818, 371,-32768, 3019,-32768, 701,-32768,
883 3019,-32768,-32768, 2603, 714, 694,-32768,-32768, 697, 698,
884 3019, 721, 684, 685, 2963, 227, 759, 212, 324,-32768,
885 727, 692,-32768, 695, 3543,-32768, 757, 1490, 99,-32768,
886 -32768,-32768,-32768,-32768, 2771, 270, 261, 273, 204, 456,
887 -32768,-32768, 572,-32768, 712, 527,-32768,-32768,-32768,-32768,
888 3019, 738, 699,-32768, 699, 621, 471,-32768, 2438,-32768,
889 -32768,-32768, 735, 93,-32768,-32768,-32768, 474, 487, 829,
890 -32768,-32768, 1654,-32768,-32768, 3019,-32768, 73, 184,-32768,
891 -32768, 1654,-32768,-32768, 1736,-32768, 1972,-32768,-32768,-32768,
892 1625, 3019, 719,-32768, 3019, 3019, 3894,-32768,-32768,-32768,
893 -32768, 705, 3019, 706,-32768, 725, 204,-32768,-32768, 416,
894 -32768, 226, 1572,-32768,-32768,-32768,-32768, 3019,-32768,-32768,
895 -32768,-32768,-32768,-32768, 471,-32768,-32768, 723, 77, 77,
896 3955, 3019, 314, 397, 397,-32768,-32768, 707,-32768,-32768,
897 710, 3919, 3019,-32768, 713, 1972,-32768,-32768, 716, 3019,
898 778,-32768, 375, 724, 730, 3019,-32768,-32768, 733,-32768,
899 3019,-32768, 522,-32768, 95, 539,-32768, 479,-32768,-32768,
900 2603, 731,-32768, 527,-32768,-32768,-32768,-32768,-32768, 3955,
901 -32768,-32768,-32768,-32768, 3919,-32768,-32768,-32768, 741,-32768,
902 -32768,-32768,-32768, 3937,-32768, 48,-32768, 498,-32768, 498,
903 -32768,-32768,-32768, 737, 755,-32768,-32768,-32768, 3019,-32768,
904 -32768, 812, 743,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
905 747,-32768, 767, 64, 746,-32768,-32768, 623, 623,-32768,
906 -32768, 3019, 812, 751, 812,-32768,-32768, 3019, 753, 66,
907 -32768,-32768, 760,-32768, 599, 765,-32768, 457, 284,-32768,
908 -32768, 768, 599,-32768,-32768, 457, 839, 862,-32768
911 static const short yypgoto
[] = {-32768,
912 -32768,-32768,-32768, 105, -375,-32768,-32768,-32768,-32768,-32768,
913 -32768,-32768, -14,-32768, -56, 439, -226, 355,-32768,-32768,
914 -74,-32768, 596,-32768,-32768,-32768,-32768,-32768, 65, -310,
915 -32768, -313, 536,-32768,-32768, 358,-32768, 248, -46, 127,
916 15, 786,-32768, 202, 38, -26, -172, 606, 492, -244,
917 -602, -82, -181, -120,-32768,-32768,-32768, -262, 44, -32,
918 -32768, 460,-32768, 197,-32768, -672,-32768, 86,-32768, -631,
919 -32768,-32768, 186,-32768,-32768,-32768,-32768,-32768,-32768, -73,
920 -109, -502, 2,-32768,-32768,-32768, -78,-32768,-32768,-32768,
921 -32768,-32768, 400, -27,-32768, 533, 414, 216, 526, 407,
922 -24, -75, -159, -168, -236, 392,-32768,-32768, -239,-32768,
923 -32768,-32768, 496, -143,-32768, 326,-32768, -526,-32768,-32768,
924 -32768,-32768, -192, -449, -719, 396,-32768, 34,-32768,-32768,
925 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 35,-32768,
926 -817, -25,-32768, -22,-32768, 502,-32768, -353,-32768, 495,
927 497, 349, -306,-32768,-32768,-32768,-32768, 17,-32768, 903,
928 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
929 -32768,-32768,-32768,-32768, -9, 5, -355,-32768, 368,-32768,
930 280, 91,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -300,
931 -32768,-32768,-32768, 97, 380,-32768,-32768,-32768,-32768, -23,
932 630,-32768,-32768, 404,-32768, 107, 408,-32768, 518, 520,
933 -140,-32768, -127,-32768,-32768, 240, 341,-32768,-32768,-32768,
934 -32768,-32768,-32768, 597,-32768,-32768,-32768
941 static const short yytable
[] = { 124,
942 141, 63, 212, 92, 67, 68, 86, 334, 71, 209,
943 63, 74, 220, 446, 72, 445, 32, 32, 42, 42,
944 92, 92, 92, 94, 96, 98, 70, 344, 70, 470,
945 229, 230, 81, 195, 337, 475, 305, 233, 472, 33,
946 33, 422, 181, 405, 414, 36, 36, 92, 242, 306,
947 354, 670, 53, 54, 55, 92, 32, 184, 42, 190,
948 278, 188, 520, 356, 551, 624, 284, 225, 659, 290,
949 778, 70, 799, 321, 80, 70, 88, 886, 192, 33,
950 -113, 471, 547, 578, 861, 36, 213, 922, 477, 462,
951 237, 461, 272, 232, 338, 75, 483, 736, 374, 827,
952 75, 931, 14, 943, 318, 955, 361, 50, 59, 60,
953 851, 413, 198, 199, 263, 264, 265, -1, 424, 855,
954 80, 197, 14, 425, -176, 923, 208, 14, 80, 320,
955 953, 294, -176, 298, 219, 220, -2, 59, 60, 334,
956 344, 944, 328, 956, 662, 686, 99, 687, 301, 76,
957 334, -185, -185, 657, 282, 887, 334, 300, 77, 828,
958 911, 569, 185, -113, 56, 858, 579, 309, 310, 514,
959 313, 314, 714, -176, 61, 92, 518, -176, 422, 62,
960 797, 371, 522, 186, 354, 283, 92, 736, 283, 535,
961 59, 60, 319, 926, 59, 60, 323, 356, 930, 405,
962 932, 650, 695, 61, 147, 192, 187, 220, 62, 940,
963 59, 60, 362, 14, 406, 378, 515, 873, 93, 468,
964 382, 57, 383, 853, 897, 418, 379, 466, 75, 59,
965 60, 469, 197, 14, 80, 495, 419, 208, 80, 357,
966 148, 964, 345, 346, 640, 420, 421, 208, 299, 58,
967 92, -35, 82, 402, 403, 14, 61, 219, 16, 467,
968 61, 62, 519, 844, 845, 62, 198, 199, 51, 52,
969 616, 565, 759, 621, 427, 95, 61, 76, 813, 83,
970 85, 62, 16, 753, 566, 595, 77, 597, 576, 474,
971 14, 97, 434, 577, 491, 61, 59, 60, 635, 436,
972 62, 146, 14, 92, 221, 59, 60, 291, 292, 293,
973 75, 202, 777, 70, 318, 189, 75, 202, 515, 148,
974 622, 768, 769, 626, 283, 224, 14, 193, 627, 501,
975 482, 194, 484, 198, 199, 688, 689, 14, 319, 690,
976 755, 226, 323, 14, 220, 75, 202, 830, 280, 228,
977 362, 607, 244, 761, 736, 59, 60, 281, 282, 203,
978 231, 962, 61, -34, 525, 203, 963, 62, 204, 36,
979 16, 61, 14, 357, 204, 881, 62, 345, 346, 705,
980 208, 205, 786, 208, 208, 182, 89, 205, 90, 198,
981 199, 305, 16, 507, 203, 636, 770, 771, 772, 638,
982 746, 775, 776, 204, 306, 339, 183, 243, 542, 340,
983 294, 946, 947, 433, 239, 318, 205, 240, 75, 202,
984 414, 61, 241, 787, 86, 347, 62, 546, 790, 194,
985 266, 267, 782, 268, 269, 270, 271, 585, 14, 420,
986 421, 70, 574, 533, 682, 14, 575, 684, 549, 550,
987 459, 615, 901, 244, 553, 838, 283, 768, 769, 36,
988 280, 846, 283, -480, 604, 272, 534, 203, 709, 281,
989 282, 362, 36, 75, 655, 36, 204, 554, 565, 273,
990 705, 246, 248, 36, 831, 832, 833, 766, 279, 205,
991 287, 566, 597, 773, 88, 661, 665, 307, 329, 317,
992 14, -339, -339, -339, -339, 197, 311, 86, -176, -339,
993 -339, -339, 324, 613, 350, 629, -176, 614, 558, 559,
994 560, 351, 656, 359, 87, -339, 854, 86, 561, 518,
995 522, 657, 282, 380, 834, 782, 518, 522, 835, 198,
996 199, 367, 368, 369, -339, 558, 559, 560, 143, -86,
997 407, 533, 849, 645, 872, 642, 340, -176, 558, 559,
998 560, -176, 408, 412, 212, 850, -339, 732, 760, 194,
999 428, -339, 660, 664, 534, 426, 431, 88, 762, 762,
1000 36, -112, 429, 915, 261, 262, 263, 264, 265, 894,
1001 437, -478, 779, 442, 924, 80, 925, 88, 220, 712,
1002 907, 478, 441, 480, 340, 197, 143, 102, 458, 731,
1003 459, 767, 789, 789, 658, 663, 774, 909, 36, 757,
1004 758, 194, 752, 75, 655, 92, 465, 318, 476, 479,
1005 92, 485, 916, 748, 486, 494, 289, 493, 734, 497,
1006 745, 558, 559, 560, 958, 498, 499, 500, 645, 502,
1007 14, 836, 966, 505, 526, 506, 544, 732, 192, 521,
1008 530, 735, 553, 570, 143, 548, 568, 36, 812, 573,
1009 278, 589, 656, 575, 590, 658, 645, 592, 611, 625,
1010 791, 657, 282, 598, 599, 554, 602, 552, -316, 208,
1011 80, 36, 620, 344, 628, 208, 208, 571, 572, 731,
1012 663, 220, 631, 637, 669, 654, 579, 275, 86, 36,
1013 672, 814, 848, 685, 143, 334, 208, 334, 80, 72,
1014 257, 258, 259, 260, 261, 262, 263, 264, 265, 788,
1015 208, 143, 70, 70, 691, 692, 143, 75, 143, 876,
1016 707, 318, 713, 708, 754, 859, 875, -32, 862, 865,
1017 793, 794, 795, -33, 802, 92, 869, 805, 806, 734,
1018 808, 745, 809, 810, 14, 815, 817, 319, 323, 762,
1019 818, 882, 823, 819, 319, 323, 837, 842, 88, 860,
1020 632, 843, 735, 868, 870, 871, 662, 885, 36, 893,
1021 143, 892, 896, 898, 900, 657, 282, 215, 216, 217,
1022 646, 647, 902, 899, 9, 10, 11, 903, 914, 658,
1023 658, 905, 652, 653, 906, 927, 663, 663, 917, 928,
1024 933, 937, 14, 878, 732, 941, 366, 942, 945, 951,
1025 954, 673, 675, 781, 216, 217, 748, 957, 968, 381,
1026 9, 10, 11, 960, 384, 385, 965, 289, 143, 390,
1027 391, 392, 393, 394, 395, 396, 397, 398, 399, 400,
1028 401, 969, 862, 208, 529, 80, 731, 463, 617, 863,
1029 196, 829, 214, -28, -28, -28, -28, 780, 658, 784,
1030 857, -28, -28, -28, 527, 949, 208, 603, 798, 481,
1031 488, 862, 601, 596, 423, 552, 197, -28, 563, -176,
1032 785, 5, 618, 7, 140, 517, 671, -176, 623, 9,
1033 10, 11, 216, 217, 912, 913, -28, 950, 9, 10,
1034 11, 523, 952, 668, 143, 13, 540, 73, 541, 651,
1035 198, 199, 765, 891, 649, 143, 889, 435, -28, 630,
1036 634, 883, 87, -28, 16, 531, 800, 532, -176, 710,
1037 0, 0, -176, -28, 0, 586, 256, 257, 258, 259,
1038 260, 261, 262, 263, 264, 265, 22, -454, -454, -454,
1039 0, 24, 496, 0, 0, 0, 564, -454, 0, 0,
1040 143, 820, 822, 503, 504, 0, 274, 0, -319, -319,
1041 -319, -319, -319, -319, -319, 0, -319, -319, -319, -319,
1042 -319, 0, -319, -319, -319, -319, -319, -319, -319, -319,
1043 -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
1044 -319, 0, 0, 0, 0, 87, 0, -319, 0, 0,
1045 -319, 0, -319, 0, 0, -319, -319, -319, 0, 0,
1046 0, -319, -319, 0, 0, 87, -319, -319, 0, 0,
1047 0, -319, 0, -319, -319, 0, 0, 289, -319, -319,
1048 0, 0, -319, 0, -319, 275, -319, -319, 0, -319,
1049 0, 0, 0, 0, 0, 0, 676, 0, 0, 0,
1050 600, 259, 260, 261, 262, 263, 264, 265, 329, 0,
1051 -125, -125, -125, -125, -125, -125, -125, 612, -125, -125,
1052 -125, -125, -125, 0, -125, -125, -125, -125, -125, -125,
1053 -125, -125, -125, -125, -125, -125, -125, -125, -125, 0,
1054 -125, -125, -125, 0, 0, 0, 0, 0, 0, -125,
1055 0, 0, -125, 0, -125, 0, 0, -125, -125, -125,
1056 0, 0, 143, -125, -125, 0, 0, 0, -125, -125,
1057 0, 0, 0, -125, 0, -125, -125, 0, 0, 0,
1058 -125, -125, 0, 0, -125, 0, -125, -125, -125, -125,
1059 0, -125, 258, 259, 260, 261, 262, 263, 264, 265,
1060 266, 267, 680, 268, 269, 270, 271, 0, 0, 0,
1061 0, 509, 0, -339, -339, -339, -339, -339, -339, -339,
1062 698, -339, -339, -339, -339, -339, 0, -339, -339, -339,
1063 -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
1064 -339, -339, 0, -339, -339, -339, 87, 0, 0, 0,
1065 0, 0, -339, 0, 0, -339, 0, -339, 0, 0,
1066 -339, -339, -339, 0, 0, 0, -339, -339, 0, 0,
1067 0, -339, -339, 0, 0, 0, -339, 0, -339, -339,
1068 0, 0, 0, -339, -339, 0, 0, -339, 0, -339,
1069 0, -339, -339, 0, -339, 0, 0, 234, 680, 100,
1070 5, 0, 7, 140, 101, 102, 0, 103, 9, 10,
1071 11, 0, 0, 0, 0, 0, 0, 0, 0, 698,
1072 0, 0, 0, 0, 13, 104, 801, 15, 0, 105,
1073 106, 107, 0, 0, 0, 0, 807, 0, 108, 0,
1074 0, 109, 0, 16, 0, 0, 110, 111, 112, 0,
1075 0, 0, 113, 114, 0, 0, 0, 115, 116, 0,
1076 0, 0, 117, 0, 118, 22, 0, 0, 0, 119,
1077 24, 0, 0, 120, 0, 0, 841, 121, 122, 0,
1078 235, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1079 0, 329, 0, 0, -116, -116, -116, -116, 698, 0,
1080 -116, 852, -116, -116, -116, 0, 0, 698, 0, 0,
1081 698, 0, 698, 0, 0, 0, 0, 0, -116, 0,
1082 0, 0, 0, 0, 0, 0, 0, 0, 329, 0,
1083 -339, -339, 0, 0, 0, -339, -339, -116, -339, 0,
1084 0, 0, -339, 0, -339, -339, -339, -339, -339, -339,
1085 -339, -339, -339, -339, -339, 0, -339, 890, -339, -116,
1086 -339, -339, -339, 0, -116, 0, 0, 0, 895, -339,
1087 0, 698, -339, 0, -116, 0, 0, -339, -339, -339,
1088 0, 904, 0, -339, -339, 0, 0, 0, -339, -339,
1089 0, 0, 0, -339, 0, -339, -339, 0, 0, 0,
1090 -339, -339, 0, 0, -339, 0, -339, -312, -339, -339,
1091 824, -339, -339, -339, 0, 0, 0, -339, -339, 0,
1092 -339, 0, 0, 0, -339, 0, -339, -339, -339, -339,
1093 -339, -339, -339, -339, -339, -339, -339, 0, -339, 0,
1094 -339, 0, -339, -339, -339, 0, 0, 0, 0, 0,
1095 0, -339, 0, 0, -339, 0, 0, 0, 0, -339,
1096 -339, -339, 0, 0, 0, -339, -339, 0, 0, 0,
1097 -339, -339, 0, 0, 0, -339, 0, -339, -339, 0,
1098 0, 0, -339, -339, 0, 0, -339, 0, -339, 0,
1099 -339, -339, 879, -339, -349, -349, 0, 0, 0, -349,
1100 -349, 0, -349, 0, 0, 0, -349, 0, -349, -349,
1101 -349, -349, -349, -349, -349, -349, -349, -349, -349, 0,
1102 -349, 0, -349, 0, -349, -349, -349, 0, 0, 0,
1103 0, 0, 0, -349, 0, 0, -349, 0, 0, 0,
1104 0, -349, -349, -349, 0, 0, 0, -349, -349, 0,
1105 0, 0, -349, -349, 0, 0, 0, -349, 0, -349,
1106 -349, 0, 0, 0, -349, -349, 0, 0, -349, 0,
1107 -349, 0, -349, -349, 693, -349, 694, 60, 0, 0,
1108 0, 101, 102, 251, 103, 252, 253, 254, 255, 256,
1109 257, 258, 259, 260, 261, 262, 263, 264, 265, 0,
1110 0, 0, 104, 0, 15, 0, 105, 106, 107, 0,
1111 0, 0, 0, 0, 0, 108, 0, 0, 109, 0,
1112 0, 0, 0, 110, 111, 112, 0, 0, 0, 113,
1113 114, 0, 0, 695, 115, 116, 0, 0, 0, 117,
1114 0, 118, 61, 0, 0, 0, 119, 62, 0, 0,
1115 120, 0, 0, -204, 121, 122, 693, 696, 694, 60,
1116 0, 0, 0, 101, 102, 0, 103, 253, 254, 255,
1117 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
1118 0, 0, 0, 0, 104, 0, 15, 0, 105, 106,
1119 107, 0, 0, 0, 0, 0, 0, 108, 0, 0,
1120 109, 0, 0, 0, 0, 110, 111, 112, 0, 0,
1121 0, 113, 114, 0, 0, 695, 115, 116, 0, 0,
1122 0, 117, 0, 118, 61, 0, 0, 0, 119, 62,
1123 0, 0, 120, 0, 0, -269, 121, 122, 693, 696,
1124 100, 0, 0, 0, 0, 101, 102, 0, 103, 254,
1125 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1126 265, 0, 0, 0, 0, 0, 104, 0, 15, 0,
1127 105, 106, 107, 0, 0, -217, 0, 0, 0, 108,
1128 0, 0, 109, 0, 0, 0, 0, 110, 111, 112,
1129 0, 0, 0, 113, 114, 0, 0, -217, 115, 116,
1130 0, 0, 0, 117, 0, 118, 0, 0, 0, 0,
1131 119, 0, 0, 0, 120, 678, 0, 100, 121, 122,
1132 0, 696, 101, 102, 0, 103, 255, 256, 257, 258,
1133 259, 260, 261, 262, 263, 264, 265, 0, 0, 0,
1134 0, 0, 0, 104, 0, 15, 0, 105, 106, 107,
1135 0, 0, 0, 0, 0, 0, 108, 0, 0, 109,
1136 0, 0, 0, 0, 110, 111, 112, 0, 0, 0,
1137 113, 114, 0, 0, 0, 115, 116, 0, 0, 0,
1138 117, 0, 118, 0, 0, 0, 0, 119, 0, 0,
1139 0, 120, 693, 0, 100, 121, 122, 0, 679, 101,
1140 102, 0, 103, 4, 0, -129, 5, 6, 7, 8,
1141 0, 0, 0, 0, 9, 10, 11, 0, 0, 0,
1142 104, 0, 15, 0, 105, 106, 107, 0, 0, 0,
1143 13, 0, 14, 108, 0, 0, 109, 0, 0, 0,
1144 0, 110, 111, 112, 0, 0, 0, 113, 114, 16,
1145 0, 0, 115, 116, -129, 0, 0, 117, 0, 118,
1146 0, 0, 0, -129, 119, 0, 0, 0, 120, 0,
1147 0, 22, 121, 122, 348, 696, 24, -24, -24, -24,
1148 -24, 27, 0, 0, 0, -24, -24, -24, 0, 0,
1149 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1150 197, -24, 342, -176, 0, -20, -20, -20, -20, 0,
1151 0, -176, 0, -20, -20, -20, 5, 6, 7, 8,
1152 -24, 0, 0, 0, 9, 10, 11, 0, 197, -20,
1153 0, -176, 0, 0, 198, 199, 0, 0, 0, -176,
1154 13, 0, -24, 0, 0, 0, 0, -24, -20, 0,
1155 0, 0, -176, 0, 0, 0, -176, -24, 0, 16,
1156 329, 0, 0, 5, 6, 7, 8, 0, 0, 0,
1157 -20, 9, 10, 11, 0, -20, 0, 0, 0, 0,
1158 -176, 22, 0, 0, -176, -20, 24, 13, 329, 14,
1159 0, -502, -502, -502, -502, 0, 0, 0, 0, -502,
1160 -502, -502, 5, 0, 7, 140, 16, 0, 0, 0,
1161 9, 10, 11, 0, 0, -502, 100, -502, 0, 0,
1162 0, 101, 102, 0, 103, 0, 13, 0, 22, 0,
1163 0, 0, 0, 24, -502, 0, 0, 0, 0, 0,
1164 0, 0, 104, -500, 15, 16, 105, 106, 107, 0,
1165 0, 0, 0, 0, 0, 108, -502, 0, 109, 0,
1166 0, -502, 0, 110, 111, 112, 0, 22, 0, 113,
1167 114, -502, 24, 0, 115, 116, 0, 100, 0, 117,
1168 0, 118, 101, 102, 0, 103, 119, 0, 0, 0,
1169 120, 0, 0, 0, 121, 122, 0, 0, 327, 0,
1170 0, 0, 0, 104, 0, 15, 0, 105, 106, 107,
1171 0, 0, 0, 0, 0, 0, 108, 0, 0, 109,
1172 0, 0, 0, 0, 110, 111, 112, 0, 0, 0,
1173 113, 114, 0, 0, 0, 115, 116, 0, 100, 0,
1174 117, 0, 118, 101, 102, 0, 103, 119, 0, 0,
1175 0, 120, 0, 0, 0, 121, 122, 0, 0, 417,
1176 0, 0, 0, 0, 104, 0, 15, 0, 105, 106,
1177 107, 0, 0, 0, 0, 0, 0, 108, 0, 0,
1178 109, 0, 0, 0, 0, 110, 111, 112, 0, 0,
1179 0, 113, 114, 0, 0, 0, 115, 116, 0, 100,
1180 0, 117, 0, 118, 101, 102, 0, 103, 119, 0,
1181 0, 0, 120, 0, 0, 0, 121, 122, 0, 0,
1182 473, 0, 0, 0, 0, 104, 0, 15, 0, 105,
1183 106, 107, 0, 0, 0, 0, 0, 0, 108, 0,
1184 0, 109, 0, 0, 0, 0, 110, 111, 112, 0,
1185 0, 0, 113, 114, 0, 0, 0, 115, 116, 0,
1186 100, 0, 117, 0, 118, 101, 102, 0, 103, 119,
1187 0, 0, 0, 120, 0, 0, 0, 121, 122, 0,
1188 0, 524, 0, 0, 0, 0, 104, 0, 15, 0,
1189 105, 106, 107, 0, 0, 0, 0, 0, 0, 108,
1190 0, 0, 109, 0, 0, 0, 0, 110, 111, 112,
1191 0, 0, 0, 113, 114, 0, 0, 0, 115, 116,
1192 0, 0, 0, 117, 0, 118, 0, 0, 0, 0,
1193 119, 0, 0, 0, 120, 0, 0, 0, 121, 122,
1194 0, 0, 847, 694, 715, 6, 7, 8, 101, 102,
1195 0, 103, 9, 10, 11, 716, 0, 717, 718, 719,
1196 720, 721, 722, 723, 724, 725, 726, 727, 13, 104,
1197 14, 15, 0, 105, 106, 107, 0, 0, 0, 0,
1198 0, 0, 108, 0, 0, 109, 0, 16, 0, 0,
1199 110, 111, 112, 0, 0, 0, 113, 114, 0, 0,
1200 0, 115, 116, 0, 0, 0, 117, 0, 118, 728,
1201 0, 0, 0, 119, 729, 0, 0, 120, 0, 730,
1202 0, 121, 122, 0, 579, 694, 60, 0, 0, 0,
1203 101, 102, 0, 103, 0, 0, 0, 716, 0, 717,
1204 718, 719, 720, 721, 722, 723, 724, 725, 726, 727,
1205 0, 104, 0, 15, 0, 105, 106, 107, 0, 0,
1206 0, 0, 0, 0, 108, 0, 0, 109, 0, 0,
1207 0, 0, 110, 111, 112, 0, 0, 0, 113, 114,
1208 0, 100, 0, 115, 116, 0, 101, 102, 117, 103,
1209 118, 61, 0, 0, 0, 119, 62, 0, 0, 120,
1210 0, 730, 0, 121, 122, 0, 579, 104, 0, 15,
1211 0, 105, 106, 107, 0, 0, 0, 0, 0, 0,
1212 108, 0, 0, 109, 0, 0, 0, 0, 110, 111,
1213 112, 0, 0, 0, 113, 114, 0, 0, 0, 115,
1214 116, 0, 0, 0, 117, 0, 118, 0, 0, 0,
1215 0, 119, 0, 0, 0, 120, 0, 0, 0, 121,
1216 122, 0, 490, 149, 150, 0, 151, 152, 0, 0,
1217 0, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1218 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
1219 0, 0, 0, 100, 5, 6, 7, 8, 101, 102,
1220 172, 103, 9, 10, 11, 5, 6, 7, 8, 0,
1221 0, 0, 0, 9, 10, 11, 0, 0, 13, 104,
1222 14, 15, 0, 105, 106, 107, 0, 0, 0, 13,
1223 0, 14, 108, 0, 174, 109, 0, 16, 0, 0,
1224 110, 111, 112, 303, 0, 0, 113, 114, 16, 0,
1225 0, 115, 116, 0, 0, 0, 117, 0, 118, 22,
1226 0, 0, 0, 119, 24, 0, 0, 120, 0, 0,
1227 22, 121, 122, 100, 5, 24, 7, 140, 101, 102,
1228 84, 103, 9, 10, 11, 0, 0, 0, 0, 0,
1229 0, 0, 0, 0, 0, 0, 0, 0, 13, 104,
1230 0, 15, 0, 105, 106, 107, 0, 0, 0, 0,
1231 0, 0, 108, 0, 0, 109, 0, 16, 0, 0,
1232 110, 111, 112, 0, 0, 0, 113, 114, 0, 100,
1233 0, 115, 116, 0, 101, 102, 117, 103, 118, 22,
1234 0, 0, 0, 119, 24, 0, 0, 120, 0, 0,
1235 0, 121, 122, 0, 0, 104, 0, 15, 0, 105,
1236 106, 107, 0, 0, 0, 0, 0, 0, 108, 0,
1237 0, 109, 0, 0, 0, 0, 110, 111, 112, 0,
1238 0, 0, 113, 114, 0, 100, 0, 115, 116, 0,
1239 101, 102, 117, 103, 118, 370, 0, 0, 0, 119,
1240 0, 0, 0, 120, 0, 0, 0, 121, 122, 0,
1241 0, 104, 0, 15, 0, 105, 106, 107, 0, 0,
1242 0, 0, 0, 0, 108, 0, 0, 109, 0, 0,
1243 0, 0, 110, 111, 112, 0, 0, 0, 113, 114,
1244 0, 100, 0, 115, 116, 0, 101, 102, 117, 103,
1245 118, 0, 0, 0, 0, 119, 0, 0, 0, 120,
1246 0, 811, 0, 121, 122, 0, 0, 104, 0, 15,
1247 0, 105, 106, 107, 0, 0, 0, 0, 0, 0,
1248 108, 0, 0, 109, 0, 0, 0, 0, 110, 111,
1249 112, 0, 0, 0, 113, 114, 0, 100, 0, 115,
1250 116, 0, 101, 102, 117, 103, 118, 0, 0, 0,
1251 0, 119, 0, 0, 0, 120, 0, 0, 0, 121,
1252 122, 0, 0, 104, 0, 15, 0, 105, 106, 107,
1253 0, 0, 0, 0, 0, 0, 108, 0, 0, 109,
1254 0, 0, 0, 0, 110, 111, 112, 0, 0, 0,
1255 113, 114, 0, 100, 0, 245, 116, 0, 101, 102,
1256 117, 103, 118, 0, 0, 0, 0, 119, 0, 0,
1257 0, 120, 0, 0, 0, 121, 122, 0, 0, 104,
1258 0, 15, 0, 105, 106, 107, 0, 0, 0, 0,
1259 0, 0, 108, 0, 0, 109, 0, 0, 0, 0,
1260 110, 111, 112, 0, 0, 0, 113, 114, 0, 528,
1261 0, 247, 116, 0, 101, 102, 117, 103, 118, 0,
1262 0, 0, 0, 119, 0, 0, 0, 120, 0, 0,
1263 0, 121, 122, 0, 0, 104, 0, 15, 0, 105,
1264 106, 107, 0, 0, 0, 0, 0, 0, 108, 0,
1265 0, 109, 0, 0, 0, 0, 110, 111, 112, 0,
1266 0, 0, 113, 114, 0, 0, 0, 115, 116, 0,
1267 0, 0, 117, 0, 118, 0, 0, 0, 0, 119,
1268 0, 0, 0, 120, 0, 0, 563, 121, 122, 5,
1269 352, 7, 140, 5, 0, 7, 140, 9, 10, 11,
1270 0, 9, 10, 11, 0, 0, 0, 0, 0, 0,
1271 0, 0, 0, 13, 0, 0, 0, 13, 0, 5,
1272 15, 7, 288, 0, 0, 0, 0, 9, 10, 11,
1273 0, 0, 16, 0, 0, 0, 16, 5, 89, 7,
1274 90, 0, 0, 13, 0, 9, 10, 11, 0, 0,
1275 0, 0, 0, 0, 22, -453, -453, -453, 22, 24,
1276 0, 13, 16, 24, 564, -453, 0, 0, 353, -272,
1277 4, 0, -129, 5, 6, 7, 8, 0, 0, 0,
1278 16, 9, 10, 11, 22, 0, 0, 0, 0, 24,
1279 0, 0, 0, 0, -281, -281, 12, 13, 0, 14,
1280 15, 0, 22, 0, 0, 0, 0, 24, 0, 0,
1281 0, 0, 674, 0, 0, 0, 16, 0, 0, 17,
1282 18, -129, 0, 0, 0, 0, 0, 0, 0, 0,
1283 -129, 0, 19, 20, 21, 0, 0, 0, 22, 0,
1284 0, 0, 23, 24, 25, 26, 0, 4, 27, -129,
1285 5, 6, 7, 8, 0, 0, 0, 0, 9, 10,
1286 11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1287 0, 0, 0, 0, 13, 447, 14, 448, 5, 6,
1288 7, 8, 0, 0, 449, 0, 9, 10, 11, 0,
1289 0, 0, 0, 16, 0, 0, 549, 550, -129, 0,
1290 0, 0, 13, 0, 14, 447, 0, -129, 5, 6,
1291 7, 8, 0, 0, 449, 22, 9, 10, 11, 0,
1292 24, 16, 0, 0, 0, 27, 0, 0, 0, 0,
1293 0, 0, 13, 0, 14, 0, 5, 6, 7, 8,
1294 0, 0, 0, 22, 9, 10, 11, 0, 24, 0,
1295 0, 16, -399, 0, 0, 0, 0, 0, 0, 0,
1296 13, 0, 14, 0, 0, 0, 5, 6, 7, 8,
1297 0, 0, 0, 22, 9, 10, 11, 0, 24, 16,
1298 0, 0, -399, 352, 0, 0, 5, 0, 7, 140,
1299 13, 0, 14, 0, 9, 10, 11, 0, 0, 0,
1300 0, 22, 0, 0, 0, 0, 24, 0, 0, 16,
1301 13, 633, 0, 15, 0, 0, 0, 0, 0, 0,
1302 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
1303 0, 22, 0, 0, 0, 0, 24, 0, 0, 0,
1304 0, 821, 0, 0, 0, 0, 0, 0, 0, 149,
1305 150, 22, 151, 152, 0, 0, 24, 153, 154, 155,
1306 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
1307 166, 167, 168, 169, 170, 171, 0, 0, 0, 149,
1308 150, 0, 151, 152, 0, 0, 172, 153, 154, 155,
1309 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
1310 166, 167, 168, 169, 170, 171, 0, 173, 0, 0,
1311 0, 0, 0, 0, 149, 150, 373, 151, 152, 0,
1312 174, 0, 153, 154, 155, 156, 157, 158, 159, 160,
1313 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
1314 171, 0, 0, 0, 149, 150, 0, 151, 152, 0,
1315 174, 172, 153, 154, 155, 156, 157, 158, 159, 160,
1316 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
1317 171, 0, 0, 0, 5, 0, 7, 288, 0, 0,
1318 0, 606, 9, 10, 11, 174, 5, 6, 7, 8,
1319 0, 0, 449, 0, 9, 10, 11, 0, 13, 0,
1320 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1321 13, 0, 14, 0, 0, 174, 0, 16, 0, 0,
1322 0, 0, 280, 0, 0, 0, 0, 0, 0, 16,
1323 0, 281, 282, 0, 0, 0, 0, 0, 0, 22,
1324 5, 6, 7, 8, 24, 0, 667, 0, 9, 10,
1325 11, 22, 5, 6, 7, 8, 24, 0, 0, 0,
1326 9, 10, 11, 0, 13, 5, 14, 7, 288, 0,
1327 0, 0, 0, 9, 10, 11, 13, 0, 14, 0,
1328 0, 0, 0, 16, 0, 0, 0, 0, 0, 13,
1329 0, 0, 0, 0, 0, 16, 0, 0, 0, 0,
1330 0, 0, 0, 0, 0, 22, 0, 0, 16, 0,
1331 24, 0, 0, 0, 0, 0, 0, 22, 0, 0,
1332 0, 0, 24, 866, 0, 0, 0, 0, 0, 0,
1333 22, 0, 249, 250, 251, 24, 252, 253, 254, 255,
1334 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
1335 249, 250, 251, 867, 252, 253, 254, 255, 256, 257,
1336 258, 259, 260, 261, 262, 263, 264, 265, 14, 0,
1337 0, 0, 0, 0, 0, 249, 250, 251, 489, 252,
1338 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
1339 263, 264, 265, 249, 250, 251, 921, 252, 253, 254,
1340 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1341 265, 249, 250, 251, 0, 252, 253, 254, 255, 256,
1342 257, 258, 259, 260, 261, 262, 263, 264, 265
1345 static const short yycheck
[] = { 56,
1346 57, 16, 85, 36, 19, 20, 33, 200, 23, 83,
1347 25, 26, 91, 324, 24, 316, 2, 3, 2, 3,
1348 53, 54, 55, 38, 39, 40, 22, 209, 24, 343,
1349 105, 106, 31, 80, 203, 349, 177, 112, 345, 2,
1350 3, 286, 66, 270, 281, 2, 3, 80, 123, 177,
1351 223, 578, 9, 10, 11, 88, 42, 67, 42, 74,
1352 135, 71, 416, 223, 440, 515, 142, 95, 571, 145,
1353 673, 67, 704, 194, 31, 71, 33, 1, 77, 42,
1354 1, 344, 438, 1, 804, 42, 85, 40, 351, 10,
1355 115, 331, 9, 108, 204, 3, 359, 624, 239, 1,
1356 3, 919, 30, 40, 7, 40, 1, 3, 3, 4,
1357 783, 280, 61, 62, 52, 53, 54, 0, 78, 792,
1358 77, 27, 30, 83, 30, 78, 83, 30, 85, 78,
1359 948, 146, 38, 148, 91, 214, 0, 3, 4, 332,
1360 322, 78, 199, 78, 52, 595, 42, 597, 173, 52,
1361 343, 79, 80, 61, 62, 79, 349, 172, 61, 61,
1362 880, 78, 40, 84, 61, 797, 84, 182, 183, 409,
1363 185, 186, 622, 79, 69, 208, 413, 83, 423, 74,
1364 38, 238, 419, 61, 357, 142, 219, 714, 145, 429,
1365 3, 4, 191, 913, 3, 4, 195, 357, 918, 426,
1366 920, 557, 60, 69, 47, 204, 84, 286, 74, 929,
1367 3, 4, 227, 30, 271, 240, 409, 820, 84, 340,
1368 245, 61, 247, 40, 856, 282, 241, 337, 3, 3,
1369 4, 341, 27, 30, 191, 376, 283, 194, 195, 223,
1370 83, 961, 61, 62, 545, 61, 62, 204, 61, 61,
1371 283, 40, 79, 268, 269, 30, 69, 214, 47, 78,
1372 69, 74, 78, 766, 767, 74, 61, 62, 79, 80,
1373 510, 444, 648, 513, 299, 84, 69, 52, 52, 32,
1374 33, 74, 47, 639, 444, 478, 61, 480, 78, 346,
1375 30, 84, 307, 83, 369, 69, 3, 4, 538, 309,
1376 74, 61, 30, 336, 67, 3, 4, 5, 6, 7,
1377 3, 4, 666, 309, 7, 79, 3, 4, 511, 83,
1378 513, 61, 62, 78, 281, 84, 30, 79, 83, 386,
1379 358, 83, 360, 61, 62, 598, 599, 30, 337, 602,
1380 641, 84, 341, 30, 423, 3, 4, 78, 52, 84,
1381 365, 492, 83, 40, 881, 3, 4, 61, 62, 52,
1382 61, 78, 69, 40, 421, 52, 83, 74, 61, 326,
1383 47, 69, 30, 357, 61, 825, 74, 61, 62, 606,
1384 337, 74, 40, 340, 341, 40, 5, 74, 7, 61,
1385 62, 532, 47, 408, 52, 539, 659, 660, 661, 543,
1386 627, 664, 665, 61, 532, 79, 61, 78, 433, 83,
1387 425, 938, 939, 61, 61, 7, 74, 61, 3, 4,
1388 657, 69, 61, 686, 451, 79, 74, 437, 691, 83,
1389 56, 57, 677, 59, 60, 61, 62, 464, 30, 61,
1390 62, 437, 79, 429, 588, 30, 83, 591, 50, 51,
1391 79, 80, 78, 83, 440, 756, 413, 61, 62, 416,
1392 52, 768, 419, 65, 489, 9, 429, 52, 609, 61,
1393 62, 486, 429, 3, 4, 432, 61, 440, 651, 77,
1394 707, 127, 128, 440, 747, 748, 749, 656, 78, 74,
1395 78, 651, 685, 662, 451, 571, 572, 40, 1, 79,
1396 30, 4, 5, 6, 7, 27, 84, 534, 30, 12,
1397 13, 14, 61, 79, 61, 530, 38, 83, 70, 71,
1398 72, 80, 52, 80, 33, 28, 789, 554, 80, 766,
1399 767, 61, 62, 79, 79, 780, 773, 774, 83, 61,
1400 62, 78, 78, 78, 47, 70, 71, 72, 57, 40,
1401 78, 537, 79, 552, 817, 80, 83, 79, 70, 71,
1402 72, 83, 32, 78, 647, 79, 69, 624, 80, 83,
1403 78, 74, 571, 572, 537, 61, 10, 534, 652, 653,
1404 537, 84, 79, 884, 50, 51, 52, 53, 54, 852,
1405 78, 65, 675, 78, 908, 552, 910, 554, 677, 614,
1406 79, 354, 84, 356, 83, 27, 115, 9, 85, 624,
1407 79, 658, 686, 687, 571, 572, 663, 79, 575, 643,
1408 644, 83, 637, 3, 4, 658, 38, 7, 69, 79,
1409 663, 38, 895, 632, 83, 78, 145, 40, 624, 78,
1410 624, 70, 71, 72, 955, 78, 78, 78, 647, 40,
1411 30, 80, 963, 78, 78, 85, 84, 714, 657, 85,
1412 78, 624, 648, 78, 173, 65, 65, 624, 725, 78,
1413 745, 38, 52, 83, 85, 632, 675, 78, 40, 85,
1414 695, 61, 62, 80, 80, 648, 80, 440, 80, 646,
1415 647, 648, 80, 875, 78, 652, 653, 450, 451, 714,
1416 657, 780, 79, 78, 3, 79, 84, 80, 735, 666,
1417 79, 726, 769, 83, 223, 908, 673, 910, 675, 729,
1418 46, 47, 48, 49, 50, 51, 52, 53, 54, 686,
1419 687, 240, 728, 729, 80, 78, 245, 3, 247, 822,
1420 40, 7, 80, 85, 65, 802, 820, 40, 805, 806,
1421 40, 80, 83, 40, 61, 788, 813, 61, 61, 745,
1422 40, 745, 79, 79, 30, 7, 40, 766, 767, 843,
1423 79, 828, 16, 79, 773, 774, 65, 40, 735, 61,
1424 533, 83, 745, 79, 79, 61, 52, 65, 745, 80,
1425 299, 85, 80, 78, 17, 61, 62, 5, 6, 7,
1426 553, 554, 79, 860, 12, 13, 14, 78, 78, 766,
1427 767, 79, 565, 566, 871, 79, 773, 774, 78, 65,
1428 9, 79, 30, 822, 881, 79, 231, 61, 83, 79,
1429 78, 584, 585, 5, 6, 7, 835, 78, 0, 244,
1430 12, 13, 14, 79, 249, 250, 79, 356, 357, 254,
1431 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1432 265, 0, 919, 820, 426, 822, 881, 332, 511, 805,
1433 1, 745, 87, 4, 5, 6, 7, 676, 835, 683,
1434 795, 12, 13, 14, 425, 942, 843, 488, 703, 357,
1435 365, 948, 486, 480, 289, 648, 27, 28, 1, 30,
1436 685, 4, 511, 6, 7, 410, 581, 38, 513, 12,
1437 13, 14, 6, 7, 881, 881, 47, 943, 12, 13,
1438 14, 420, 945, 575, 433, 28, 432, 25, 432, 562,
1439 61, 62, 653, 843, 555, 444, 840, 308, 69, 532,
1440 537, 835, 451, 74, 47, 428, 707, 428, 79, 609,
1441 -1, -1, 83, 84, -1, 464, 45, 46, 47, 48,
1442 49, 50, 51, 52, 53, 54, 69, 70, 71, 72,
1443 -1, 74, 376, -1, -1, -1, 79, 80, -1, -1,
1444 489, 734, 735, 388, 389, -1, 1, -1, 3, 4,
1445 5, 6, 7, 8, 9, -1, 11, 12, 13, 14,
1446 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
1447 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1448 35, -1, -1, -1, -1, 534, -1, 42, -1, -1,
1449 45, -1, 47, -1, -1, 50, 51, 52, -1, -1,
1450 -1, 56, 57, -1, -1, 554, 61, 62, -1, -1,
1451 -1, 66, -1, 68, 69, -1, -1, 566, 73, 74,
1452 -1, -1, 77, -1, 79, 80, 81, 82, -1, 84,
1453 -1, -1, -1, -1, -1, -1, 585, -1, -1, -1,
1454 485, 48, 49, 50, 51, 52, 53, 54, 1, -1,
1455 3, 4, 5, 6, 7, 8, 9, 502, 11, 12,
1456 13, 14, 15, -1, 17, 18, 19, 20, 21, 22,
1457 23, 24, 25, 26, 27, 28, 29, 30, 31, -1,
1458 33, 34, 35, -1, -1, -1, -1, -1, -1, 42,
1459 -1, -1, 45, -1, 47, -1, -1, 50, 51, 52,
1460 -1, -1, 651, 56, 57, -1, -1, -1, 61, 62,
1461 -1, -1, -1, 66, -1, 68, 69, -1, -1, -1,
1462 73, 74, -1, -1, 77, -1, 79, 80, 81, 82,
1463 -1, 84, 47, 48, 49, 50, 51, 52, 53, 54,
1464 56, 57, 587, 59, 60, 61, 62, -1, -1, -1,
1465 -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
1466 605, 11, 12, 13, 14, 15, -1, 17, 18, 19,
1467 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1468 30, 31, -1, 33, 34, 35, 735, -1, -1, -1,
1469 -1, -1, 42, -1, -1, 45, -1, 47, -1, -1,
1470 50, 51, 52, -1, -1, -1, 56, 57, -1, -1,
1471 -1, 61, 62, -1, -1, -1, 66, -1, 68, 69,
1472 -1, -1, -1, 73, 74, -1, -1, 77, -1, 79,
1473 -1, 81, 82, -1, 84, -1, -1, 1, 683, 3,
1474 4, -1, 6, 7, 8, 9, -1, 11, 12, 13,
1475 14, -1, -1, -1, -1, -1, -1, -1, -1, 704,
1476 -1, -1, -1, -1, 28, 29, 711, 31, -1, 33,
1477 34, 35, -1, -1, -1, -1, 721, -1, 42, -1,
1478 -1, 45, -1, 47, -1, -1, 50, 51, 52, -1,
1479 -1, -1, 56, 57, -1, -1, -1, 61, 62, -1,
1480 -1, -1, 66, -1, 68, 69, -1, -1, -1, 73,
1481 74, -1, -1, 77, -1, -1, 761, 81, 82, -1,
1482 84, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1483 -1, 1, -1, -1, 4, 5, 6, 7, 783, -1,
1484 10, 786, 12, 13, 14, -1, -1, 792, -1, -1,
1485 795, -1, 797, -1, -1, -1, -1, -1, 28, -1,
1486 -1, -1, -1, -1, -1, -1, -1, -1, 1, -1,
1487 3, 4, -1, -1, -1, 8, 9, 47, 11, -1,
1488 -1, -1, 15, -1, 17, 18, 19, 20, 21, 22,
1489 23, 24, 25, 26, 27, -1, 29, 842, 31, 69,
1490 33, 34, 35, -1, 74, -1, -1, -1, 853, 42,
1491 -1, 856, 45, -1, 84, -1, -1, 50, 51, 52,
1492 -1, 866, -1, 56, 57, -1, -1, -1, 61, 62,
1493 -1, -1, -1, 66, -1, 68, 69, -1, -1, -1,
1494 73, 74, -1, -1, 77, -1, 79, 80, 81, 82,
1495 1, 84, 3, 4, -1, -1, -1, 8, 9, -1,
1496 11, -1, -1, -1, 15, -1, 17, 18, 19, 20,
1497 21, 22, 23, 24, 25, 26, 27, -1, 29, -1,
1498 31, -1, 33, 34, 35, -1, -1, -1, -1, -1,
1499 -1, 42, -1, -1, 45, -1, -1, -1, -1, 50,
1500 51, 52, -1, -1, -1, 56, 57, -1, -1, -1,
1501 61, 62, -1, -1, -1, 66, -1, 68, 69, -1,
1502 -1, -1, 73, 74, -1, -1, 77, -1, 79, -1,
1503 81, 82, 1, 84, 3, 4, -1, -1, -1, 8,
1504 9, -1, 11, -1, -1, -1, 15, -1, 17, 18,
1505 19, 20, 21, 22, 23, 24, 25, 26, 27, -1,
1506 29, -1, 31, -1, 33, 34, 35, -1, -1, -1,
1507 -1, -1, -1, 42, -1, -1, 45, -1, -1, -1,
1508 -1, 50, 51, 52, -1, -1, -1, 56, 57, -1,
1509 -1, -1, 61, 62, -1, -1, -1, 66, -1, 68,
1510 69, -1, -1, -1, 73, 74, -1, -1, 77, -1,
1511 79, -1, 81, 82, 1, 84, 3, 4, -1, -1,
1512 -1, 8, 9, 39, 11, 41, 42, 43, 44, 45,
1513 46, 47, 48, 49, 50, 51, 52, 53, 54, -1,
1514 -1, -1, 29, -1, 31, -1, 33, 34, 35, -1,
1515 -1, -1, -1, -1, -1, 42, -1, -1, 45, -1,
1516 -1, -1, -1, 50, 51, 52, -1, -1, -1, 56,
1517 57, -1, -1, 60, 61, 62, -1, -1, -1, 66,
1518 -1, 68, 69, -1, -1, -1, 73, 74, -1, -1,
1519 77, -1, -1, 80, 81, 82, 1, 84, 3, 4,
1520 -1, -1, -1, 8, 9, -1, 11, 42, 43, 44,
1521 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1522 -1, -1, -1, -1, 29, -1, 31, -1, 33, 34,
1523 35, -1, -1, -1, -1, -1, -1, 42, -1, -1,
1524 45, -1, -1, -1, -1, 50, 51, 52, -1, -1,
1525 -1, 56, 57, -1, -1, 60, 61, 62, -1, -1,
1526 -1, 66, -1, 68, 69, -1, -1, -1, 73, 74,
1527 -1, -1, 77, -1, -1, 80, 81, 82, 1, 84,
1528 3, -1, -1, -1, -1, 8, 9, -1, 11, 43,
1529 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1530 54, -1, -1, -1, -1, -1, 29, -1, 31, -1,
1531 33, 34, 35, -1, -1, 38, -1, -1, -1, 42,
1532 -1, -1, 45, -1, -1, -1, -1, 50, 51, 52,
1533 -1, -1, -1, 56, 57, -1, -1, 60, 61, 62,
1534 -1, -1, -1, 66, -1, 68, -1, -1, -1, -1,
1535 73, -1, -1, -1, 77, 1, -1, 3, 81, 82,
1536 -1, 84, 8, 9, -1, 11, 44, 45, 46, 47,
1537 48, 49, 50, 51, 52, 53, 54, -1, -1, -1,
1538 -1, -1, -1, 29, -1, 31, -1, 33, 34, 35,
1539 -1, -1, -1, -1, -1, -1, 42, -1, -1, 45,
1540 -1, -1, -1, -1, 50, 51, 52, -1, -1, -1,
1541 56, 57, -1, -1, -1, 61, 62, -1, -1, -1,
1542 66, -1, 68, -1, -1, -1, -1, 73, -1, -1,
1543 -1, 77, 1, -1, 3, 81, 82, -1, 84, 8,
1544 9, -1, 11, 1, -1, 3, 4, 5, 6, 7,
1545 -1, -1, -1, -1, 12, 13, 14, -1, -1, -1,
1546 29, -1, 31, -1, 33, 34, 35, -1, -1, -1,
1547 28, -1, 30, 42, -1, -1, 45, -1, -1, -1,
1548 -1, 50, 51, 52, -1, -1, -1, 56, 57, 47,
1549 -1, -1, 61, 62, 52, -1, -1, 66, -1, 68,
1550 -1, -1, -1, 61, 73, -1, -1, -1, 77, -1,
1551 -1, 69, 81, 82, 1, 84, 74, 4, 5, 6,
1552 7, 79, -1, -1, -1, 12, 13, 14, -1, -1,
1553 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1554 27, 28, 1, 30, -1, 4, 5, 6, 7, -1,
1555 -1, 38, -1, 12, 13, 14, 4, 5, 6, 7,
1556 47, -1, -1, -1, 12, 13, 14, -1, 27, 28,
1557 -1, 30, -1, -1, 61, 62, -1, -1, -1, 38,
1558 28, -1, 69, -1, -1, -1, -1, 74, 47, -1,
1559 -1, -1, 79, -1, -1, -1, 83, 84, -1, 47,
1560 1, -1, -1, 4, 5, 6, 7, -1, -1, -1,
1561 69, 12, 13, 14, -1, 74, -1, -1, -1, -1,
1562 79, 69, -1, -1, 83, 84, 74, 28, 1, 30,
1563 -1, 4, 5, 6, 7, -1, -1, -1, -1, 12,
1564 13, 14, 4, -1, 6, 7, 47, -1, -1, -1,
1565 12, 13, 14, -1, -1, 28, 3, 30, -1, -1,
1566 -1, 8, 9, -1, 11, -1, 28, -1, 69, -1,
1567 -1, -1, -1, 74, 47, -1, -1, -1, -1, -1,
1568 -1, -1, 29, 84, 31, 47, 33, 34, 35, -1,
1569 -1, -1, -1, -1, -1, 42, 69, -1, 45, -1,
1570 -1, 74, -1, 50, 51, 52, -1, 69, -1, 56,
1571 57, 84, 74, -1, 61, 62, -1, 3, -1, 66,
1572 -1, 68, 8, 9, -1, 11, 73, -1, -1, -1,
1573 77, -1, -1, -1, 81, 82, -1, -1, 85, -1,
1574 -1, -1, -1, 29, -1, 31, -1, 33, 34, 35,
1575 -1, -1, -1, -1, -1, -1, 42, -1, -1, 45,
1576 -1, -1, -1, -1, 50, 51, 52, -1, -1, -1,
1577 56, 57, -1, -1, -1, 61, 62, -1, 3, -1,
1578 66, -1, 68, 8, 9, -1, 11, 73, -1, -1,
1579 -1, 77, -1, -1, -1, 81, 82, -1, -1, 85,
1580 -1, -1, -1, -1, 29, -1, 31, -1, 33, 34,
1581 35, -1, -1, -1, -1, -1, -1, 42, -1, -1,
1582 45, -1, -1, -1, -1, 50, 51, 52, -1, -1,
1583 -1, 56, 57, -1, -1, -1, 61, 62, -1, 3,
1584 -1, 66, -1, 68, 8, 9, -1, 11, 73, -1,
1585 -1, -1, 77, -1, -1, -1, 81, 82, -1, -1,
1586 85, -1, -1, -1, -1, 29, -1, 31, -1, 33,
1587 34, 35, -1, -1, -1, -1, -1, -1, 42, -1,
1588 -1, 45, -1, -1, -1, -1, 50, 51, 52, -1,
1589 -1, -1, 56, 57, -1, -1, -1, 61, 62, -1,
1590 3, -1, 66, -1, 68, 8, 9, -1, 11, 73,
1591 -1, -1, -1, 77, -1, -1, -1, 81, 82, -1,
1592 -1, 85, -1, -1, -1, -1, 29, -1, 31, -1,
1593 33, 34, 35, -1, -1, -1, -1, -1, -1, 42,
1594 -1, -1, 45, -1, -1, -1, -1, 50, 51, 52,
1595 -1, -1, -1, 56, 57, -1, -1, -1, 61, 62,
1596 -1, -1, -1, 66, -1, 68, -1, -1, -1, -1,
1597 73, -1, -1, -1, 77, -1, -1, -1, 81, 82,
1598 -1, -1, 85, 3, 4, 5, 6, 7, 8, 9,
1599 -1, 11, 12, 13, 14, 15, -1, 17, 18, 19,
1600 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1601 30, 31, -1, 33, 34, 35, -1, -1, -1, -1,
1602 -1, -1, 42, -1, -1, 45, -1, 47, -1, -1,
1603 50, 51, 52, -1, -1, -1, 56, 57, -1, -1,
1604 -1, 61, 62, -1, -1, -1, 66, -1, 68, 69,
1605 -1, -1, -1, 73, 74, -1, -1, 77, -1, 79,
1606 -1, 81, 82, -1, 84, 3, 4, -1, -1, -1,
1607 8, 9, -1, 11, -1, -1, -1, 15, -1, 17,
1608 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1609 -1, 29, -1, 31, -1, 33, 34, 35, -1, -1,
1610 -1, -1, -1, -1, 42, -1, -1, 45, -1, -1,
1611 -1, -1, 50, 51, 52, -1, -1, -1, 56, 57,
1612 -1, 3, -1, 61, 62, -1, 8, 9, 66, 11,
1613 68, 69, -1, -1, -1, 73, 74, -1, -1, 77,
1614 -1, 79, -1, 81, 82, -1, 84, 29, -1, 31,
1615 -1, 33, 34, 35, -1, -1, -1, -1, -1, -1,
1616 42, -1, -1, 45, -1, -1, -1, -1, 50, 51,
1617 52, -1, -1, -1, 56, 57, -1, -1, -1, 61,
1618 62, -1, -1, -1, 66, -1, 68, -1, -1, -1,
1619 -1, 73, -1, -1, -1, 77, -1, -1, -1, 81,
1620 82, -1, 84, 3, 4, -1, 6, 7, -1, -1,
1621 -1, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1622 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1623 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
1624 40, 11, 12, 13, 14, 4, 5, 6, 7, -1,
1625 -1, -1, -1, 12, 13, 14, -1, -1, 28, 29,
1626 30, 31, -1, 33, 34, 35, -1, -1, -1, 28,
1627 -1, 30, 42, -1, 74, 45, -1, 47, -1, -1,
1628 50, 51, 52, 83, -1, -1, 56, 57, 47, -1,
1629 -1, 61, 62, -1, -1, -1, 66, -1, 68, 69,
1630 -1, -1, -1, 73, 74, -1, -1, 77, -1, -1,
1631 69, 81, 82, 3, 4, 74, 6, 7, 8, 9,
1632 79, 11, 12, 13, 14, -1, -1, -1, -1, -1,
1633 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
1634 -1, 31, -1, 33, 34, 35, -1, -1, -1, -1,
1635 -1, -1, 42, -1, -1, 45, -1, 47, -1, -1,
1636 50, 51, 52, -1, -1, -1, 56, 57, -1, 3,
1637 -1, 61, 62, -1, 8, 9, 66, 11, 68, 69,
1638 -1, -1, -1, 73, 74, -1, -1, 77, -1, -1,
1639 -1, 81, 82, -1, -1, 29, -1, 31, -1, 33,
1640 34, 35, -1, -1, -1, -1, -1, -1, 42, -1,
1641 -1, 45, -1, -1, -1, -1, 50, 51, 52, -1,
1642 -1, -1, 56, 57, -1, 3, -1, 61, 62, -1,
1643 8, 9, 66, 11, 68, 69, -1, -1, -1, 73,
1644 -1, -1, -1, 77, -1, -1, -1, 81, 82, -1,
1645 -1, 29, -1, 31, -1, 33, 34, 35, -1, -1,
1646 -1, -1, -1, -1, 42, -1, -1, 45, -1, -1,
1647 -1, -1, 50, 51, 52, -1, -1, -1, 56, 57,
1648 -1, 3, -1, 61, 62, -1, 8, 9, 66, 11,
1649 68, -1, -1, -1, -1, 73, -1, -1, -1, 77,
1650 -1, 79, -1, 81, 82, -1, -1, 29, -1, 31,
1651 -1, 33, 34, 35, -1, -1, -1, -1, -1, -1,
1652 42, -1, -1, 45, -1, -1, -1, -1, 50, 51,
1653 52, -1, -1, -1, 56, 57, -1, 3, -1, 61,
1654 62, -1, 8, 9, 66, 11, 68, -1, -1, -1,
1655 -1, 73, -1, -1, -1, 77, -1, -1, -1, 81,
1656 82, -1, -1, 29, -1, 31, -1, 33, 34, 35,
1657 -1, -1, -1, -1, -1, -1, 42, -1, -1, 45,
1658 -1, -1, -1, -1, 50, 51, 52, -1, -1, -1,
1659 56, 57, -1, 3, -1, 61, 62, -1, 8, 9,
1660 66, 11, 68, -1, -1, -1, -1, 73, -1, -1,
1661 -1, 77, -1, -1, -1, 81, 82, -1, -1, 29,
1662 -1, 31, -1, 33, 34, 35, -1, -1, -1, -1,
1663 -1, -1, 42, -1, -1, 45, -1, -1, -1, -1,
1664 50, 51, 52, -1, -1, -1, 56, 57, -1, 3,
1665 -1, 61, 62, -1, 8, 9, 66, 11, 68, -1,
1666 -1, -1, -1, 73, -1, -1, -1, 77, -1, -1,
1667 -1, 81, 82, -1, -1, 29, -1, 31, -1, 33,
1668 34, 35, -1, -1, -1, -1, -1, -1, 42, -1,
1669 -1, 45, -1, -1, -1, -1, 50, 51, 52, -1,
1670 -1, -1, 56, 57, -1, -1, -1, 61, 62, -1,
1671 -1, -1, 66, -1, 68, -1, -1, -1, -1, 73,
1672 -1, -1, -1, 77, -1, -1, 1, 81, 82, 4,
1673 1, 6, 7, 4, -1, 6, 7, 12, 13, 14,
1674 -1, 12, 13, 14, -1, -1, -1, -1, -1, -1,
1675 -1, -1, -1, 28, -1, -1, -1, 28, -1, 4,
1676 31, 6, 7, -1, -1, -1, -1, 12, 13, 14,
1677 -1, -1, 47, -1, -1, -1, 47, 4, 5, 6,
1678 7, -1, -1, 28, -1, 12, 13, 14, -1, -1,
1679 -1, -1, -1, -1, 69, 70, 71, 72, 69, 74,
1680 -1, 28, 47, 74, 79, 80, -1, -1, 79, 80,
1681 1, -1, 3, 4, 5, 6, 7, -1, -1, -1,
1682 47, 12, 13, 14, 69, -1, -1, -1, -1, 74,
1683 -1, -1, -1, -1, 79, 80, 27, 28, -1, 30,
1684 31, -1, 69, -1, -1, -1, -1, 74, -1, -1,
1685 -1, -1, 79, -1, -1, -1, 47, -1, -1, 50,
1686 51, 52, -1, -1, -1, -1, -1, -1, -1, -1,
1687 61, -1, 63, 64, 65, -1, -1, -1, 69, -1,
1688 -1, -1, 73, 74, 75, 76, -1, 1, 79, 3,
1689 4, 5, 6, 7, -1, -1, -1, -1, 12, 13,
1690 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1691 -1, -1, -1, -1, 28, 1, 30, 3, 4, 5,
1692 6, 7, -1, -1, 10, -1, 12, 13, 14, -1,
1693 -1, -1, -1, 47, -1, -1, 50, 51, 52, -1,
1694 -1, -1, 28, -1, 30, 1, -1, 61, 4, 5,
1695 6, 7, -1, -1, 10, 69, 12, 13, 14, -1,
1696 74, 47, -1, -1, -1, 79, -1, -1, -1, -1,
1697 -1, -1, 28, -1, 30, -1, 4, 5, 6, 7,
1698 -1, -1, -1, 69, 12, 13, 14, -1, 74, -1,
1699 -1, 47, 78, -1, -1, -1, -1, -1, -1, -1,
1700 28, -1, 30, -1, -1, -1, 4, 5, 6, 7,
1701 -1, -1, -1, 69, 12, 13, 14, -1, 74, 47,
1702 -1, -1, 78, 1, -1, -1, 4, -1, 6, 7,
1703 28, -1, 30, -1, 12, 13, 14, -1, -1, -1,
1704 -1, 69, -1, -1, -1, -1, 74, -1, -1, 47,
1705 28, 79, -1, 31, -1, -1, -1, -1, -1, -1,
1706 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1707 -1, 69, -1, -1, -1, -1, 74, -1, -1, -1,
1708 -1, 79, -1, -1, -1, -1, -1, -1, -1, 3,
1709 4, 69, 6, 7, -1, -1, 74, 11, 12, 13,
1710 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1711 24, 25, 26, 27, 28, 29, -1, -1, -1, 3,
1712 4, -1, 6, 7, -1, -1, 40, 11, 12, 13,
1713 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1714 24, 25, 26, 27, 28, 29, -1, 61, -1, -1,
1715 -1, -1, -1, -1, 3, 4, 40, 6, 7, -1,
1716 74, -1, 11, 12, 13, 14, 15, 16, 17, 18,
1717 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1718 29, -1, -1, -1, 3, 4, -1, 6, 7, -1,
1719 74, 40, 11, 12, 13, 14, 15, 16, 17, 18,
1720 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1721 29, -1, -1, -1, 4, -1, 6, 7, -1, -1,
1722 -1, 40, 12, 13, 14, 74, 4, 5, 6, 7,
1723 -1, -1, 10, -1, 12, 13, 14, -1, 28, -1,
1724 30, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1725 28, -1, 30, -1, -1, 74, -1, 47, -1, -1,
1726 -1, -1, 52, -1, -1, -1, -1, -1, -1, 47,
1727 -1, 61, 62, -1, -1, -1, -1, -1, -1, 69,
1728 4, 5, 6, 7, 74, -1, 10, -1, 12, 13,
1729 14, 69, 4, 5, 6, 7, 74, -1, -1, -1,
1730 12, 13, 14, -1, 28, 4, 30, 6, 7, -1,
1731 -1, -1, -1, 12, 13, 14, 28, -1, 30, -1,
1732 -1, -1, -1, 47, -1, -1, -1, -1, -1, 28,
1733 -1, -1, -1, -1, -1, 47, -1, -1, -1, -1,
1734 -1, -1, -1, -1, -1, 69, -1, -1, 47, -1,
1735 74, -1, -1, -1, -1, -1, -1, 69, -1, -1,
1736 -1, -1, 74, 10, -1, -1, -1, -1, -1, -1,
1737 69, -1, 37, 38, 39, 74, 41, 42, 43, 44,
1738 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1739 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1740 47, 48, 49, 50, 51, 52, 53, 54, 30, -1,
1741 -1, -1, -1, -1, -1, 37, 38, 39, 83, 41,
1742 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1743 52, 53, 54, 37, 38, 39, 40, 41, 42, 43,
1744 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1745 54, 37, 38, 39, -1, 41, 42, 43, 44, 45,
1746 46, 47, 48, 49, 50, 51, 52, 53, 54
1748 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
1749 #line 3 "/usr/share/misc/bison.simple"
1750 /* This file comes from bison-1.28. */
1752 /* Skeleton output parser for bison,
1753 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
1755 This program is free software; you can redistribute it and/or modify
1756 it under the terms of the GNU General Public License as published by
1757 the Free Software Foundation; either version 2, or (at your option)
1760 This program is distributed in the hope that it will be useful,
1761 but WITHOUT ANY WARRANTY; without even the implied warranty of
1762 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1763 GNU General Public License for more details.
1765 You should have received a copy of the GNU General Public License
1766 along with this program; if not, write to the Free Software
1767 Foundation, Inc., 59 Temple Place - Suite 330,
1768 Boston, MA 02111-1307, USA. */
1770 /* As a special exception, when this file is copied by Bison into a
1771 Bison output file, you may use that output file without restriction.
1772 This special exception was added by the Free Software Foundation
1773 in version 1.24 of Bison. */
1775 /* This is the parser code that is written into each bison parser
1776 when the %semantic_parser declaration is not specified in the grammar.
1777 It was written by Richard Stallman by simplifying the hairy parser
1778 used when %semantic_parser is specified. */
1780 #ifndef YYSTACK_USE_ALLOCA
1782 #define YYSTACK_USE_ALLOCA
1783 #else /* alloca not defined */
1785 #define YYSTACK_USE_ALLOCA
1786 #define alloca __builtin_alloca
1787 #else /* not GNU C. */
1788 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
1789 #define YYSTACK_USE_ALLOCA
1791 #else /* not sparc */
1792 /* We think this test detects Watcom and Microsoft C. */
1793 /* This used to test MSDOS, but that is a bad idea
1794 since that symbol is in the user namespace. */
1795 #if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
1796 #if 0 /* No need for malloc.h, which pollutes the namespace;
1797 instead, just don't use alloca. */
1800 #else /* not MSDOS, or __TURBOC__ */
1802 /* I don't know what this was needed for, but it pollutes the namespace.
1803 So I turned it off. rms, 2 May 1997. */
1804 /* #include <malloc.h> */
1806 #define YYSTACK_USE_ALLOCA
1807 #else /* not MSDOS, or __TURBOC__, or _AIX */
1809 #ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
1810 and on HPUX 10. Eventually we can turn this on. */
1811 #define YYSTACK_USE_ALLOCA
1812 #define alloca __builtin_alloca
1815 #endif /* not _AIX */
1816 #endif /* not MSDOS, or __TURBOC__ */
1817 #endif /* not sparc */
1818 #endif /* not GNU C */
1819 #endif /* alloca not defined */
1820 #endif /* YYSTACK_USE_ALLOCA not defined */
1822 #ifdef YYSTACK_USE_ALLOCA
1823 #define YYSTACK_ALLOC alloca
1825 #define YYSTACK_ALLOC malloc
1828 /* Note: there must be only one dollar sign in this file.
1829 It is replaced by the list of actions, each action
1830 as one case of the switch. */
1832 #define yyerrok (yyerrstatus = 0)
1833 #define yyclearin (yychar = YYEMPTY)
1836 #define YYACCEPT goto yyacceptlab
1837 #define YYABORT goto yyabortlab
1838 #define YYERROR goto yyerrlab1
1839 /* Like YYERROR except do call yyerror.
1840 This remains here temporarily to ease the
1841 transition to the new meaning of YYERROR, for GCC.
1842 Once GCC version 2 has supplanted version 1, this can go. */
1843 #define YYFAIL goto yyerrlab
1844 #define YYRECOVERING() (!!yyerrstatus)
1845 #define YYBACKUP(token, value) \
1847 if (yychar == YYEMPTY && yylen == 1) \
1848 { yychar = (token), yylval = (value); \
1849 yychar1 = YYTRANSLATE (yychar); \
1854 { yyerror ("syntax error: cannot back up"); YYERROR; } \
1858 #define YYERRCODE 256
1861 #define YYLEX yylex()
1867 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
1869 #define YYLEX yylex(&yylval, &yylloc)
1871 #else /* not YYLSP_NEEDED */
1873 #define YYLEX yylex(&yylval, YYLEX_PARAM)
1875 #define YYLEX yylex(&yylval)
1877 #endif /* not YYLSP_NEEDED */
1880 /* If nonreentrant, generate the variables here */
1884 int yychar
; /* the lookahead symbol */
1885 YYSTYPE yylval
; /* the semantic value of the */
1886 /* lookahead symbol */
1889 YYLTYPE yylloc
; /* location data for the lookahead */
1893 int yynerrs
; /* number of parse errors so far */
1894 #endif /* not YYPURE */
1897 int yydebug
; /* nonzero means print parse trace */
1898 /* Since this is uninitialized, it does not stop multiple parsers
1902 /* YYINITDEPTH indicates the initial size of the parser's stacks */
1905 #define YYINITDEPTH 200
1908 /* YYMAXDEPTH is the maximum size the stacks can grow to
1909 (effective only if the built-in stack extension method is used). */
1916 #define YYMAXDEPTH 10000
1919 /* Define __yy_memcpy. Note that the size argument
1920 should be passed with type unsigned int, because that is what the non-GCC
1921 definitions require. With GCC, __builtin_memcpy takes an arg
1922 of type size_t, but it can handle unsigned int. */
1924 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
1925 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
1926 #else /* not GNU C or C++ */
1929 /* This is the most reliable way to avoid incompatibilities
1930 in available built-in functions on various systems. */
1932 __yy_memcpy (to
, from
, count
)
1937 register char *f
= from
;
1938 register char *t
= to
;
1939 register int i
= count
;
1945 #else /* __cplusplus */
1947 /* This is the most reliable way to avoid incompatibilities
1948 in available built-in functions on various systems. */
1950 __yy_memcpy (char *to
, char *from
, unsigned int count
)
1952 register char *t
= to
;
1953 register char *f
= from
;
1954 register int i
= count
;
1963 #line 217 "/usr/share/misc/bison.simple"
1965 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
1966 into yyparse. The argument should have type void *.
1967 It should actually point to an object.
1968 Grammar actions can access the variable by casting it
1969 to the proper pointer type. */
1971 #ifdef YYPARSE_PARAM
1973 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
1974 #define YYPARSE_PARAM_DECL
1975 #else /* not __cplusplus */
1976 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
1977 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
1978 #endif /* not __cplusplus */
1979 #else /* not YYPARSE_PARAM */
1980 #define YYPARSE_PARAM_ARG
1981 #define YYPARSE_PARAM_DECL
1982 #endif /* not YYPARSE_PARAM */
1984 /* Prevent warning if -Wstrict-prototypes. */
1986 #ifdef YYPARSE_PARAM
1987 int yyparse (void *);
1994 yyparse(YYPARSE_PARAM_ARG
)
1997 register int yystate
;
1999 register short *yyssp
;
2000 register YYSTYPE
*yyvsp
;
2001 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
2002 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
2004 short yyssa
[YYINITDEPTH
]; /* the state stack */
2005 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
2007 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
2008 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
2011 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
2012 YYLTYPE
*yyls
= yylsa
;
2015 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
2017 #define YYPOPSTACK (yyvsp--, yyssp--)
2020 int yystacksize
= YYINITDEPTH
;
2021 int yyfree_stacks
= 0;
2032 YYSTYPE yyval
; /* the variable used to return */
2033 /* semantic values from the action */
2040 fprintf(stderr
, "Starting parse\n");
2046 yychar
= YYEMPTY
; /* Cause a token to be read. */
2048 /* Initialize stack pointers.
2049 Waste one element of value and location stack
2050 so that they stay on the same level as the state stack.
2051 The wasted elements are never initialized. */
2059 /* Push a new state, which is found in yystate . */
2060 /* In all cases, when you get here, the value and location stacks
2061 have just been pushed. so pushing a state here evens the stacks. */
2066 if (yyssp
>= yyss
+ yystacksize
- 1)
2068 /* Give user a chance to reallocate the stack */
2069 /* Use copies of these so that the &'s don't force the real ones into memory. */
2070 YYSTYPE
*yyvs1
= yyvs
;
2071 short *yyss1
= yyss
;
2073 YYLTYPE
*yyls1
= yyls
;
2076 /* Get the current used size of the three stacks, in elements. */
2077 int size
= yyssp
- yyss
+ 1;
2080 /* Each stack pointer address is followed by the size of
2081 the data in use in that stack, in bytes. */
2083 /* This used to be a conditional around just the two extra args,
2084 but that might be undefined if yyoverflow is a macro. */
2085 yyoverflow("parser stack overflow",
2086 &yyss1
, size
* sizeof (*yyssp
),
2087 &yyvs1
, size
* sizeof (*yyvsp
),
2088 &yyls1
, size
* sizeof (*yylsp
),
2091 yyoverflow("parser stack overflow",
2092 &yyss1
, size
* sizeof (*yyssp
),
2093 &yyvs1
, size
* sizeof (*yyvsp
),
2097 yyss
= yyss1
; yyvs
= yyvs1
;
2101 #else /* no yyoverflow */
2102 /* Extend the stack our own way. */
2103 if (yystacksize
>= YYMAXDEPTH
)
2105 yyerror("parser stack overflow");
2117 if (yystacksize
> YYMAXDEPTH
)
2118 yystacksize
= YYMAXDEPTH
;
2119 #ifndef YYSTACK_USE_ALLOCA
2122 yyss
= (short *) YYSTACK_ALLOC (yystacksize
* sizeof (*yyssp
));
2123 __yy_memcpy ((char *)yyss
, (char *)yyss1
,
2124 size
* (unsigned int) sizeof (*yyssp
));
2125 yyvs
= (YYSTYPE
*) YYSTACK_ALLOC (yystacksize
* sizeof (*yyvsp
));
2126 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
,
2127 size
* (unsigned int) sizeof (*yyvsp
));
2129 yyls
= (YYLTYPE
*) YYSTACK_ALLOC (yystacksize
* sizeof (*yylsp
));
2130 __yy_memcpy ((char *)yyls
, (char *)yyls1
,
2131 size
* (unsigned int) sizeof (*yylsp
));
2133 #endif /* no yyoverflow */
2135 yyssp
= yyss
+ size
- 1;
2136 yyvsp
= yyvs
+ size
- 1;
2138 yylsp
= yyls
+ size
- 1;
2143 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
2146 if (yyssp
>= yyss
+ yystacksize
- 1)
2152 fprintf(stderr
, "Entering state %d\n", yystate
);
2158 /* Do appropriate processing given the current state. */
2159 /* Read a lookahead token if we need one and don't already have one. */
2162 /* First try to decide what to do without reference to lookahead token. */
2164 yyn
= yypact
[yystate
];
2168 /* Not known => get a lookahead token if don't already have one. */
2170 /* yychar is either YYEMPTY or YYEOF
2171 or a valid token in external form. */
2173 if (yychar
== YYEMPTY
)
2177 fprintf(stderr
, "Reading a token: ");
2182 /* Convert token to internal form (in yychar1) for indexing tables with */
2184 if (yychar
<= 0) /* This means end of input. */
2187 yychar
= YYEOF
; /* Don't call YYLEX any more */
2191 fprintf(stderr
, "Now at end of input.\n");
2196 yychar1
= YYTRANSLATE(yychar
);
2201 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
2202 /* Give the individual parser a way to print the precise meaning
2203 of a token, for further debugging info. */
2205 YYPRINT (stderr
, yychar
, yylval
);
2207 fprintf (stderr
, ")\n");
2213 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
2218 /* yyn is what to do for this token type in this state.
2219 Negative => reduce, -yyn is rule number.
2220 Positive => shift, yyn is new state.
2221 New state is final state => don't bother to shift,
2222 just return success.
2223 0, or most negative number => error. */
2238 /* Shift the lookahead token. */
2242 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
2245 /* Discard the token being shifted unless it is eof. */
2246 if (yychar
!= YYEOF
)
2254 /* count tokens shifted since error; after three, turn off error status. */
2255 if (yyerrstatus
) yyerrstatus
--;
2260 /* Do the default action for the current state. */
2263 yyn
= yydefact
[yystate
];
2267 /* Do a reduction. yyn is the number of a rule to reduce with. */
2271 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
2278 fprintf (stderr
, "Reducing via rule %d (line %d), ",
2281 /* Print the symbols being reduced, and their result. */
2282 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
2283 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
2284 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
2292 #line 258 "objc-parse.y"
2294 pedwarn ("ANSI C forbids an empty source file");
2299 #line 263 "objc-parse.y"
2301 /* In case there were missing closebraces,
2302 get us back to the global binding level. */
2303 while (! global_bindings_p ())
2309 #line 277 "objc-parse.y"
2310 {yyval
.ttype
= NULL_TREE
; ;
2313 #line 278 "objc-parse.y"
2314 {yyval
.ttype
= NULL_TREE
; ;
2317 #line 286 "objc-parse.y"
2318 { STRIP_NOPS (yyvsp
[-2].ttype
);
2319 if ((TREE_CODE (yyvsp
[-2].ttype
) == ADDR_EXPR
2320 && TREE_CODE (TREE_OPERAND (yyvsp
[-2].ttype
, 0)) == STRING_CST
)
2321 || TREE_CODE (yyvsp
[-2].ttype
) == STRING_CST
)
2322 assemble_asm (yyvsp
[-2].ttype
);
2324 error ("argument of `asm' is not a constant string"); ;
2327 #line 294 "objc-parse.y"
2328 { RESTORE_WARN_FLAGS (yyvsp
[-1].itype
); ;
2331 #line 299 "objc-parse.y"
2333 error ("ANSI C forbids data definition with no type or storage class");
2334 else if (!flag_traditional
)
2335 warning ("data definition has no type or storage class");
2337 current_declspecs
= TREE_VALUE (declspec_stack
);
2338 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
2339 declspec_stack
= TREE_CHAIN (declspec_stack
);
2340 resume_momentary (yyvsp
[-2].itype
); ;
2343 #line 309 "objc-parse.y"
2344 { current_declspecs
= TREE_VALUE (declspec_stack
);
2345 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
2346 declspec_stack
= TREE_CHAIN (declspec_stack
);
2347 resume_momentary (yyvsp
[-2].itype
); ;
2350 #line 314 "objc-parse.y"
2351 { current_declspecs
= TREE_VALUE (declspec_stack
);
2352 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
2353 declspec_stack
= TREE_CHAIN (declspec_stack
);
2354 resume_momentary (yyvsp
[-2].itype
); ;
2357 #line 319 "objc-parse.y"
2358 { pedwarn ("empty declaration"); ;
2361 #line 321 "objc-parse.y"
2362 { shadow_tag (yyvsp
[-1].ttype
); ;
2365 #line 325 "objc-parse.y"
2367 pedwarn ("ANSI C does not allow extra `;' outside of a function"); ;
2370 #line 331 "objc-parse.y"
2371 { if (! start_function (current_declspecs
, yyvsp
[0].ttype
,
2372 prefix_attributes
, NULL_TREE
, 0))
2374 reinit_parse_for_function (); ;
2377 #line 336 "objc-parse.y"
2378 { store_parm_decls (); ;
2381 #line 338 "objc-parse.y"
2382 { finish_function (0);
2383 current_declspecs
= TREE_VALUE (declspec_stack
);
2384 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
2385 declspec_stack
= TREE_CHAIN (declspec_stack
);
2386 resume_momentary (yyvsp
[-5].itype
); ;
2389 #line 344 "objc-parse.y"
2390 { current_declspecs
= TREE_VALUE (declspec_stack
);
2391 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
2392 declspec_stack
= TREE_CHAIN (declspec_stack
);
2393 resume_momentary (yyvsp
[-2].itype
); ;
2396 #line 349 "objc-parse.y"
2397 { if (! start_function (current_declspecs
, yyvsp
[0].ttype
,
2398 prefix_attributes
, NULL_TREE
, 0))
2400 reinit_parse_for_function (); ;
2403 #line 354 "objc-parse.y"
2404 { store_parm_decls (); ;
2407 #line 356 "objc-parse.y"
2408 { finish_function (0);
2409 current_declspecs
= TREE_VALUE (declspec_stack
);
2410 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
2411 declspec_stack
= TREE_CHAIN (declspec_stack
);
2412 resume_momentary (yyvsp
[-5].itype
); ;
2415 #line 362 "objc-parse.y"
2416 { current_declspecs
= TREE_VALUE (declspec_stack
);
2417 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
2418 declspec_stack
= TREE_CHAIN (declspec_stack
);
2419 resume_momentary (yyvsp
[-2].itype
); ;
2422 #line 367 "objc-parse.y"
2423 { if (! start_function (NULL_TREE
, yyvsp
[0].ttype
,
2424 prefix_attributes
, NULL_TREE
, 0))
2426 reinit_parse_for_function (); ;
2429 #line 372 "objc-parse.y"
2430 { store_parm_decls (); ;
2433 #line 374 "objc-parse.y"
2434 { finish_function (0);
2435 current_declspecs
= TREE_VALUE (declspec_stack
);
2436 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
2437 declspec_stack
= TREE_CHAIN (declspec_stack
);
2438 resume_momentary (yyvsp
[-5].itype
); ;
2441 #line 380 "objc-parse.y"
2442 { current_declspecs
= TREE_VALUE (declspec_stack
);
2443 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
2444 declspec_stack
= TREE_CHAIN (declspec_stack
);
2445 resume_momentary (yyvsp
[-2].itype
); ;
2448 #line 394 "objc-parse.y"
2449 { yyval
.code
= ADDR_EXPR
; ;
2452 #line 396 "objc-parse.y"
2453 { yyval
.code
= NEGATE_EXPR
; ;
2456 #line 398 "objc-parse.y"
2457 { yyval
.code
= CONVERT_EXPR
; ;
2460 #line 400 "objc-parse.y"
2461 { yyval
.code
= PREINCREMENT_EXPR
; ;
2464 #line 402 "objc-parse.y"
2465 { yyval
.code
= PREDECREMENT_EXPR
; ;
2468 #line 404 "objc-parse.y"
2469 { yyval
.code
= BIT_NOT_EXPR
; ;
2472 #line 406 "objc-parse.y"
2473 { yyval
.code
= TRUTH_NOT_EXPR
; ;
2476 #line 410 "objc-parse.y"
2477 { yyval
.ttype
= build_compound_expr (yyvsp
[0].ttype
); ;
2480 #line 415 "objc-parse.y"
2481 { yyval
.ttype
= NULL_TREE
; ;
2484 #line 421 "objc-parse.y"
2485 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
2488 #line 423 "objc-parse.y"
2489 { chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
2492 #line 429 "objc-parse.y"
2493 { yyval
.ttype
= build_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
2496 #line 432 "objc-parse.y"
2497 { yyval
.ttype
= yyvsp
[0].ttype
;
2498 RESTORE_WARN_FLAGS (yyvsp
[-1].itype
); ;
2501 #line 435 "objc-parse.y"
2502 { yyval
.ttype
= build_unary_op (yyvsp
[-1].code
, yyvsp
[0].ttype
, 0);
2503 overflow_warning (yyval
.ttype
); ;
2506 #line 439 "objc-parse.y"
2507 { tree label
= lookup_label (yyvsp
[0].ttype
);
2509 pedwarn ("ANSI C forbids `&&'");
2511 yyval
.ttype
= null_pointer_node
;
2514 TREE_USED (label
) = 1;
2515 yyval
.ttype
= build1 (ADDR_EXPR
, ptr_type_node
, label
);
2516 TREE_CONSTANT (yyval
.ttype
) = 1;
2521 #line 467 "objc-parse.y"
2522 { skip_evaluation
--;
2523 if (TREE_CODE (yyvsp
[0].ttype
) == COMPONENT_REF
2524 && DECL_C_BIT_FIELD (TREE_OPERAND (yyvsp
[0].ttype
, 1)))
2525 error ("`sizeof' applied to a bit-field");
2526 yyval
.ttype
= c_sizeof (TREE_TYPE (yyvsp
[0].ttype
)); ;
2529 #line 473 "objc-parse.y"
2530 { skip_evaluation
--;
2531 yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ttype
)); ;
2534 #line 476 "objc-parse.y"
2535 { skip_evaluation
--;
2536 yyval
.ttype
= c_alignof_expr (yyvsp
[0].ttype
); ;
2539 #line 479 "objc-parse.y"
2540 { skip_evaluation
--;
2541 yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ttype
)); ;
2544 #line 482 "objc-parse.y"
2545 { yyval
.ttype
= build_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
, 0); ;
2548 #line 484 "objc-parse.y"
2549 { yyval
.ttype
= build_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
, 0); ;
2552 #line 486 "objc-parse.y"
2553 { yyval
.ttype
= build_va_arg (yyvsp
[-3].ttype
, groktypename (yyvsp
[-1].ttype
)); ;
2556 #line 490 "objc-parse.y"
2557 { skip_evaluation
++; ;
2560 #line 494 "objc-parse.y"
2561 { skip_evaluation
++; ;
2564 #line 500 "objc-parse.y"
2565 { tree type
= groktypename (yyvsp
[-2].ttype
);
2566 yyval
.ttype
= build_c_cast (type
, yyvsp
[0].ttype
); ;
2569 #line 503 "objc-parse.y"
2570 { start_init (NULL_TREE
, NULL
, 0);
2571 yyvsp
[-2].ttype
= groktypename (yyvsp
[-2].ttype
);
2572 really_start_incremental_init (yyvsp
[-2].ttype
); ;
2575 #line 507 "objc-parse.y"
2577 tree result
= pop_init_level (0);
2578 tree type
= yyvsp
[-5].ttype
;
2581 if (pedantic
&& ! flag_isoc9x
)
2582 pedwarn ("ANSI C forbids constructor expressions");
2583 if (TYPE_NAME (type
) != 0)
2585 if (TREE_CODE (TYPE_NAME (type
)) == IDENTIFIER_NODE
)
2586 name
= IDENTIFIER_POINTER (TYPE_NAME (type
));
2588 name
= IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type
)));
2592 yyval
.ttype
= result
;
2593 if (TREE_CODE (type
) == ARRAY_TYPE
&& TYPE_SIZE (type
) == 0)
2595 int failure
= complete_array_type (type
, yyval
.ttype
, 1);
2602 #line 536 "objc-parse.y"
2603 { yyval
.ttype
= parser_build_binary_op (yyvsp
[-1].code
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
2606 #line 538 "objc-parse.y"
2607 { yyval
.ttype
= parser_build_binary_op (yyvsp
[-1].code
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
2610 #line 540 "objc-parse.y"
2611 { yyval
.ttype
= parser_build_binary_op (yyvsp
[-1].code
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
2614 #line 542 "objc-parse.y"
2615 { yyval
.ttype
= parser_build_binary_op (yyvsp
[-1].code
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
2618 #line 544 "objc-parse.y"
2619 { yyval
.ttype
= parser_build_binary_op (yyvsp
[-1].code
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
2622 #line 546 "objc-parse.y"
2623 { yyval
.ttype
= parser_build_binary_op (yyvsp
[-1].code
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
2626 #line 548 "objc-parse.y"
2627 { yyval
.ttype
= parser_build_binary_op (yyvsp
[-1].code
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
2630 #line 550 "objc-parse.y"
2631 { yyval
.ttype
= parser_build_binary_op (yyvsp
[-1].code
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
2634 #line 552 "objc-parse.y"
2635 { yyval
.ttype
= parser_build_binary_op (yyvsp
[-1].code
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
2638 #line 554 "objc-parse.y"
2639 { yyval
.ttype
= parser_build_binary_op (yyvsp
[-1].code
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
2642 #line 556 "objc-parse.y"
2643 { yyval
.ttype
= parser_build_binary_op (yyvsp
[-1].code
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
2646 #line 558 "objc-parse.y"
2647 { yyval
.ttype
= parser_build_binary_op (yyvsp
[-1].code
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
2650 #line 560 "objc-parse.y"
2651 { yyvsp
[-1].ttype
= truthvalue_conversion (default_conversion (yyvsp
[-1].ttype
));
2652 skip_evaluation
+= yyvsp
[-1].ttype
== boolean_false_node
; ;
2655 #line 563 "objc-parse.y"
2656 { skip_evaluation
-= yyvsp
[-3].ttype
== boolean_false_node
;
2657 yyval
.ttype
= parser_build_binary_op (TRUTH_ANDIF_EXPR
, yyvsp
[-3].ttype
, yyvsp
[0].ttype
); ;
2660 #line 566 "objc-parse.y"
2661 { yyvsp
[-1].ttype
= truthvalue_conversion (default_conversion (yyvsp
[-1].ttype
));
2662 skip_evaluation
+= yyvsp
[-1].ttype
== boolean_true_node
; ;
2665 #line 569 "objc-parse.y"
2666 { skip_evaluation
-= yyvsp
[-3].ttype
== boolean_true_node
;
2667 yyval
.ttype
= parser_build_binary_op (TRUTH_ORIF_EXPR
, yyvsp
[-3].ttype
, yyvsp
[0].ttype
); ;
2670 #line 572 "objc-parse.y"
2671 { yyvsp
[-1].ttype
= truthvalue_conversion (default_conversion (yyvsp
[-1].ttype
));
2672 skip_evaluation
+= yyvsp
[-1].ttype
== boolean_false_node
; ;
2675 #line 575 "objc-parse.y"
2676 { skip_evaluation
+= ((yyvsp
[-4].ttype
== boolean_true_node
)
2677 - (yyvsp
[-4].ttype
== boolean_false_node
)); ;
2680 #line 578 "objc-parse.y"
2681 { skip_evaluation
-= yyvsp
[-6].ttype
== boolean_true_node
;
2682 yyval
.ttype
= build_conditional_expr (yyvsp
[-6].ttype
, yyvsp
[-3].ttype
, yyvsp
[0].ttype
); ;
2685 #line 581 "objc-parse.y"
2687 pedwarn ("ANSI C forbids omitting the middle term of a ?: expression");
2688 /* Make sure first operand is calculated only once. */
2689 yyvsp
[0].ttype
= save_expr (yyvsp
[-1].ttype
);
2690 yyvsp
[-1].ttype
= truthvalue_conversion (default_conversion (yyvsp
[0].ttype
));
2691 skip_evaluation
+= yyvsp
[-1].ttype
== boolean_true_node
; ;
2694 #line 588 "objc-parse.y"
2695 { skip_evaluation
-= yyvsp
[-4].ttype
== boolean_true_node
;
2696 yyval
.ttype
= build_conditional_expr (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[0].ttype
); ;
2699 #line 591 "objc-parse.y"
2701 yyval
.ttype
= build_modify_expr (yyvsp
[-2].ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
2702 class = TREE_CODE_CLASS (TREE_CODE (yyval
.ttype
));
2703 if (class == 'e' || class == '1'
2704 || class == '2' || class == '<')
2705 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
);
2709 #line 599 "objc-parse.y"
2711 yyval
.ttype
= build_modify_expr (yyvsp
[-2].ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
);
2712 /* This inhibits warnings in truthvalue_conversion. */
2713 class = TREE_CODE_CLASS (TREE_CODE (yyval
.ttype
));
2714 if (class == 'e' || class == '1'
2715 || class == '2' || class == '<')
2716 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, ERROR_MARK
);
2720 #line 611 "objc-parse.y"
2722 yyval
.ttype
= lastiddecl
;
2723 if (!yyval
.ttype
|| yyval
.ttype
== error_mark_node
)
2725 if (yychar
== YYEMPTY
)
2731 if (objc_receiver_context
2732 && ! (objc_receiver_context
2733 && strcmp (IDENTIFIER_POINTER (yyvsp
[0].ttype
), "super")))
2734 /* we have a message to super */
2735 yyval
.ttype
= get_super_receiver ();
2736 else if (objc_method_context
2737 && (decl
= is_ivar (objc_ivar_chain
, yyvsp
[0].ttype
)))
2739 if (is_private (decl
))
2740 yyval
.ttype
= error_mark_node
;
2742 yyval
.ttype
= build_ivar_reference (yyvsp
[0].ttype
);
2746 /* Ordinary implicit function declaration. */
2747 yyval
.ttype
= implicitly_declare (yyvsp
[0].ttype
);
2748 assemble_external (yyval
.ttype
);
2749 TREE_USED (yyval
.ttype
) = 1;
2752 else if (current_function_decl
== 0)
2754 error ("`%s' undeclared here (not in a function)",
2755 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
2756 yyval
.ttype
= error_mark_node
;
2762 if (objc_receiver_context
2763 && ! strcmp (IDENTIFIER_POINTER (yyvsp
[0].ttype
), "super"))
2764 /* we have a message to super */
2765 yyval
.ttype
= get_super_receiver ();
2766 else if (objc_method_context
2767 && (decl
= is_ivar (objc_ivar_chain
, yyvsp
[0].ttype
)))
2769 if (is_private (decl
))
2770 yyval
.ttype
= error_mark_node
;
2772 yyval
.ttype
= build_ivar_reference (yyvsp
[0].ttype
);
2776 if (IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
) != error_mark_node
2777 || IDENTIFIER_ERROR_LOCUS (yyvsp
[0].ttype
) != current_function_decl
)
2779 error ("`%s' undeclared (first use in this function)",
2780 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
2782 if (! undeclared_variable_notice
)
2784 error ("(Each undeclared identifier is reported only once");
2785 error ("for each function it appears in.)");
2786 undeclared_variable_notice
= 1;
2789 yyval
.ttype
= error_mark_node
;
2790 /* Prevent repeated error messages. */
2791 IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
) = error_mark_node
;
2792 IDENTIFIER_ERROR_LOCUS (yyvsp
[0].ttype
) = current_function_decl
;
2796 else if (TREE_TYPE (yyval
.ttype
) == error_mark_node
)
2797 yyval
.ttype
= error_mark_node
;
2798 else if (C_DECL_ANTICIPATED (yyval
.ttype
))
2800 /* The first time we see a build-in function used,
2801 if it has not been declared. */
2802 C_DECL_ANTICIPATED (yyval
.ttype
) = 0;
2803 if (yychar
== YYEMPTY
)
2807 /* Omit the implicit declaration we
2808 would ordinarily do, so we don't lose
2809 the actual built in type.
2810 But print a diagnostic for the mismatch. */
2811 if (objc_method_context
2812 && is_ivar (objc_ivar_chain
, yyvsp
[0].ttype
))
2813 error ("Instance variable `%s' implicitly declared as function",
2814 IDENTIFIER_POINTER (DECL_NAME (yyval
.ttype
)));
2816 if (TREE_CODE (yyval
.ttype
) != FUNCTION_DECL
)
2817 error ("`%s' implicitly declared as function",
2818 IDENTIFIER_POINTER (DECL_NAME (yyval
.ttype
)));
2819 else if ((TYPE_MODE (TREE_TYPE (TREE_TYPE (yyval
.ttype
)))
2820 != TYPE_MODE (integer_type_node
))
2821 && (TREE_TYPE (TREE_TYPE (yyval
.ttype
))
2823 pedwarn ("type mismatch in implicit declaration for built-in function `%s'",
2824 IDENTIFIER_POINTER (DECL_NAME (yyval
.ttype
)));
2825 /* If it really returns void, change that to int. */
2826 if (TREE_TYPE (TREE_TYPE (yyval
.ttype
)) == void_type_node
)
2827 TREE_TYPE (yyval
.ttype
)
2828 = build_function_type (integer_type_node
,
2829 TYPE_ARG_TYPES (TREE_TYPE (yyval
.ttype
)));
2832 pedwarn ("built-in function `%s' used without declaration",
2833 IDENTIFIER_POINTER (DECL_NAME (yyval
.ttype
)));
2835 /* Do what we would ordinarily do when a fn is used. */
2836 assemble_external (yyval
.ttype
);
2837 TREE_USED (yyval
.ttype
) = 1;
2841 assemble_external (yyval
.ttype
);
2842 TREE_USED (yyval
.ttype
) = 1;
2843 /* we have a definition - still check if iVariable */
2845 if (!objc_receiver_context
2846 || (objc_receiver_context
2847 && strcmp (IDENTIFIER_POINTER (yyvsp
[0].ttype
), "super")))
2851 if (objc_method_context
2852 && (decl
= is_ivar (objc_ivar_chain
, yyvsp
[0].ttype
)))
2854 if (IDENTIFIER_LOCAL_VALUE (yyvsp
[0].ttype
))
2855 warning ("local declaration of `%s' hides instance variable",
2856 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
2859 if (is_private (decl
))
2860 yyval
.ttype
= error_mark_node
;
2862 yyval
.ttype
= build_ivar_reference (yyvsp
[0].ttype
);
2866 else /* we have a message to super */
2867 yyval
.ttype
= get_super_receiver ();
2870 if (TREE_CODE (yyval
.ttype
) == CONST_DECL
)
2872 yyval
.ttype
= DECL_INITIAL (yyval
.ttype
);
2873 /* This is to prevent an enum whose value is 0
2874 from being considered a null pointer constant. */
2875 yyval
.ttype
= build1 (NOP_EXPR
, TREE_TYPE (yyval
.ttype
), yyval
.ttype
);
2876 TREE_CONSTANT (yyval
.ttype
) = 1;
2881 #line 771 "objc-parse.y"
2882 { yyval
.ttype
= combine_strings (yyvsp
[0].ttype
); ;
2885 #line 773 "objc-parse.y"
2886 { char class = TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
));
2887 if (class == 'e' || class == '1'
2888 || class == '2' || class == '<')
2889 C_SET_EXP_ORIGINAL_CODE (yyvsp
[-1].ttype
, ERROR_MARK
);
2890 yyval
.ttype
= yyvsp
[-1].ttype
; ;
2893 #line 779 "objc-parse.y"
2894 { yyval
.ttype
= error_mark_node
; ;
2897 #line 781 "objc-parse.y"
2900 pedwarn ("ANSI C forbids braced-groups within expressions");
2901 pop_iterator_stack ();
2903 rtl_exp
= expand_end_stmt_expr (yyvsp
[-2].ttype
);
2904 /* The statements have side effects, so the group does. */
2905 TREE_SIDE_EFFECTS (rtl_exp
) = 1;
2907 if (TREE_CODE (yyvsp
[-1].ttype
) == BLOCK
)
2909 /* Make a BIND_EXPR for the BLOCK already made. */
2910 yyval
.ttype
= build (BIND_EXPR
, TREE_TYPE (rtl_exp
),
2911 NULL_TREE
, rtl_exp
, yyvsp
[-1].ttype
);
2912 /* Remove the block from the tree at this point.
2913 It gets put back at the proper place
2914 when the BIND_EXPR is expanded. */
2915 delete_block (yyvsp
[-1].ttype
);
2918 yyval
.ttype
= yyvsp
[-1].ttype
;
2922 #line 804 "objc-parse.y"
2924 /* Make sure we call expand_end_stmt_expr. Otherwise
2925 we are likely to lose sequences and crash later. */
2926 pop_iterator_stack ();
2928 expand_end_stmt_expr (yyvsp
[-2].ttype
);
2929 yyval
.ttype
= error_mark_node
;
2933 #line 813 "objc-parse.y"
2934 { yyval
.ttype
= build_function_call (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
2937 #line 815 "objc-parse.y"
2938 { yyval
.ttype
= build_array_ref (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
2941 #line 817 "objc-parse.y"
2943 if (doing_objc_thang
)
2945 if (is_public (yyvsp
[-2].ttype
, yyvsp
[0].ttype
))
2946 yyval
.ttype
= build_component_ref (yyvsp
[-2].ttype
, yyvsp
[0].ttype
);
2948 yyval
.ttype
= error_mark_node
;
2951 yyval
.ttype
= build_component_ref (yyvsp
[-2].ttype
, yyvsp
[0].ttype
);
2955 #line 829 "objc-parse.y"
2957 tree expr
= build_indirect_ref (yyvsp
[-2].ttype
, "->");
2959 if (doing_objc_thang
)
2961 if (is_public (expr
, yyvsp
[0].ttype
))
2962 yyval
.ttype
= build_component_ref (expr
, yyvsp
[0].ttype
);
2964 yyval
.ttype
= error_mark_node
;
2967 yyval
.ttype
= build_component_ref (expr
, yyvsp
[0].ttype
);
2971 #line 843 "objc-parse.y"
2972 { yyval
.ttype
= build_unary_op (POSTINCREMENT_EXPR
, yyvsp
[-1].ttype
, 0); ;
2975 #line 845 "objc-parse.y"
2976 { yyval
.ttype
= build_unary_op (POSTDECREMENT_EXPR
, yyvsp
[-1].ttype
, 0); ;
2979 #line 847 "objc-parse.y"
2980 { yyval
.ttype
= build_message_expr (yyvsp
[0].ttype
); ;
2983 #line 849 "objc-parse.y"
2984 { yyval
.ttype
= build_selector_expr (yyvsp
[0].ttype
); ;
2987 #line 851 "objc-parse.y"
2988 { yyval
.ttype
= build_protocol_expr (yyvsp
[0].ttype
); ;
2991 #line 853 "objc-parse.y"
2992 { yyval
.ttype
= build_encode_expr (yyvsp
[0].ttype
); ;
2995 #line 855 "objc-parse.y"
2996 { yyval
.ttype
= build_objc_string_object (yyvsp
[0].ttype
); ;
2999 #line 862 "objc-parse.y"
3000 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
3004 #line 871 "objc-parse.y"
3005 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
3008 #line 879 "objc-parse.y"
3009 { c_mark_varargs ();
3011 pedwarn ("ANSI C does not permit use of `varargs.h'"); ;
3014 #line 889 "objc-parse.y"
3018 #line 905 "objc-parse.y"
3019 { current_declspecs
= TREE_VALUE (declspec_stack
);
3020 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
3021 declspec_stack
= TREE_CHAIN (declspec_stack
);
3022 resume_momentary (yyvsp
[-2].itype
); ;
3025 #line 910 "objc-parse.y"
3026 { current_declspecs
= TREE_VALUE (declspec_stack
);
3027 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
3028 declspec_stack
= TREE_CHAIN (declspec_stack
);
3029 resume_momentary (yyvsp
[-2].itype
); ;
3032 #line 915 "objc-parse.y"
3033 { shadow_tag_warned (yyvsp
[-1].ttype
, 1);
3034 pedwarn ("empty declaration"); ;
3037 #line 918 "objc-parse.y"
3038 { pedwarn ("empty declaration"); ;
3041 #line 927 "objc-parse.y"
3045 #line 942 "objc-parse.y"
3046 { yyval
.itype
= suspend_momentary ();
3047 pending_xref_error ();
3048 declspec_stack
= tree_cons (prefix_attributes
,
3051 split_specs_attrs (yyvsp
[0].ttype
,
3052 ¤t_declspecs
, &prefix_attributes
); ;
3055 #line 953 "objc-parse.y"
3056 { prefix_attributes
= chainon (prefix_attributes
, yyvsp
[0].ttype
); ;
3059 #line 958 "objc-parse.y"
3060 { current_declspecs
= TREE_VALUE (declspec_stack
);
3061 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
3062 declspec_stack
= TREE_CHAIN (declspec_stack
);
3063 resume_momentary (yyvsp
[-2].itype
); ;
3066 #line 963 "objc-parse.y"
3067 { current_declspecs
= TREE_VALUE (declspec_stack
);
3068 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
3069 declspec_stack
= TREE_CHAIN (declspec_stack
);
3070 resume_momentary (yyvsp
[-2].itype
); ;
3073 #line 968 "objc-parse.y"
3074 { current_declspecs
= TREE_VALUE (declspec_stack
);
3075 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
3076 declspec_stack
= TREE_CHAIN (declspec_stack
);
3077 resume_momentary (yyvsp
[-1].itype
); ;
3080 #line 973 "objc-parse.y"
3081 { current_declspecs
= TREE_VALUE (declspec_stack
);
3082 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
3083 declspec_stack
= TREE_CHAIN (declspec_stack
);
3084 resume_momentary (yyvsp
[-1].itype
); ;
3087 #line 978 "objc-parse.y"
3088 { shadow_tag (yyvsp
[-1].ttype
); ;
3091 #line 980 "objc-parse.y"
3092 { pedwarn ("empty declaration"); ;
3095 #line 982 "objc-parse.y"
3096 { RESTORE_WARN_FLAGS (yyvsp
[-1].itype
); ;
3099 #line 992 "objc-parse.y"
3100 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
3103 #line 994 "objc-parse.y"
3104 { yyval
.ttype
= chainon (yyvsp
[0].ttype
, tree_cons (NULL_TREE
, yyvsp
[-1].ttype
, yyvsp
[-2].ttype
)); ;
3107 #line 998 "objc-parse.y"
3108 { yyval
.ttype
= NULL_TREE
; ;
3111 #line 1000 "objc-parse.y"
3112 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
3115 #line 1002 "objc-parse.y"
3116 { if (extra_warnings
)
3117 warning ("`%s' is not at beginning of declaration",
3118 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
3119 yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
3122 #line 1007 "objc-parse.y"
3123 { yyval
.ttype
= tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
3126 #line 1012 "objc-parse.y"
3127 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
3130 #line 1014 "objc-parse.y"
3131 { yyval
.ttype
= chainon (yyvsp
[0].ttype
, tree_cons (NULL_TREE
, yyvsp
[-1].ttype
, yyvsp
[-2].ttype
)); ;
3134 #line 1019 "objc-parse.y"
3135 { yyval
.ttype
= NULL_TREE
; ;
3138 #line 1021 "objc-parse.y"
3139 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
3142 #line 1023 "objc-parse.y"
3143 { if (extra_warnings
)
3144 warning ("`%s' is not at beginning of declaration",
3145 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
3146 yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
3149 #line 1036 "objc-parse.y"
3150 { yyval
.ttype
= yyvsp
[0].ttype
; ;
3153 #line 1038 "objc-parse.y"
3154 { yyval
.ttype
= tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
3157 #line 1040 "objc-parse.y"
3158 { yyval
.ttype
= chainon (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
3161 #line 1042 "objc-parse.y"
3162 { yyval
.ttype
= tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
3165 #line 1047 "objc-parse.y"
3166 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
);
3167 TREE_STATIC (yyval
.ttype
) = 1; ;
3170 #line 1050 "objc-parse.y"
3171 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
3174 #line 1052 "objc-parse.y"
3175 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ttype
);
3176 TREE_STATIC (yyval
.ttype
) = 1; ;
3179 #line 1055 "objc-parse.y"
3180 { if (extra_warnings
&& TREE_STATIC (yyvsp
[-1].ttype
))
3181 warning ("`%s' is not at beginning of declaration",
3182 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
3183 yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ttype
);
3184 TREE_STATIC (yyval
.ttype
) = TREE_STATIC (yyvsp
[-1].ttype
); ;
3187 #line 1069 "objc-parse.y"
3188 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
3191 #line 1071 "objc-parse.y"
3192 { yyval
.ttype
= chainon (yyvsp
[0].ttype
, tree_cons (NULL_TREE
, yyvsp
[-1].ttype
, yyvsp
[-2].ttype
)); ;
3195 #line 1075 "objc-parse.y"
3196 { yyval
.ttype
= NULL_TREE
; ;
3199 #line 1077 "objc-parse.y"
3200 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
3203 #line 1087 "objc-parse.y"
3204 { /* For a typedef name, record the meaning, not the name.
3205 In case of `foo foo, bar;'. */
3206 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
); ;
3209 #line 1091 "objc-parse.y"
3210 { yyval
.ttype
= get_static_reference (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
3213 #line 1093 "objc-parse.y"
3214 { yyval
.ttype
= get_object_reference (yyvsp
[0].ttype
); ;
3217 #line 1098 "objc-parse.y"
3218 { yyval
.ttype
= get_object_reference (yyvsp
[0].ttype
); ;
3221 #line 1100 "objc-parse.y"
3222 { yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
); ;
3225 #line 1102 "objc-parse.y"
3226 { yyval
.ttype
= groktypename (yyvsp
[-1].ttype
); ;
3229 #line 1124 "objc-parse.y"
3230 { yyval
.ttype
= NULL_TREE
; ;
3233 #line 1126 "objc-parse.y"
3234 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
);
3235 yyval
.ttype
= yyvsp
[-1].ttype
;
3239 #line 1133 "objc-parse.y"
3240 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
3241 yyvsp
[-1].ttype
, prefix_attributes
);
3242 start_init (yyval
.ttype
, yyvsp
[-2].ttype
, global_bindings_p ()); ;
3245 #line 1138 "objc-parse.y"
3247 finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
3250 #line 1141 "objc-parse.y"
3251 { tree d
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0,
3252 yyvsp
[0].ttype
, prefix_attributes
);
3253 finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
);
3257 #line 1149 "objc-parse.y"
3258 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
3259 yyvsp
[-1].ttype
, prefix_attributes
);
3260 start_init (yyval
.ttype
, yyvsp
[-2].ttype
, global_bindings_p ()); ;
3263 #line 1154 "objc-parse.y"
3265 decl_attributes (yyvsp
[-1].ttype
, yyvsp
[-3].ttype
, prefix_attributes
);
3266 finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
3269 #line 1158 "objc-parse.y"
3270 { tree d
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0,
3271 yyvsp
[0].ttype
, prefix_attributes
);
3272 finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
); ;
3275 #line 1166 "objc-parse.y"
3276 { yyval
.ttype
= NULL_TREE
; ;
3279 #line 1168 "objc-parse.y"
3280 { yyval
.ttype
= yyvsp
[0].ttype
; ;
3283 #line 1173 "objc-parse.y"
3284 { yyval
.ttype
= yyvsp
[0].ttype
; ;
3287 #line 1175 "objc-parse.y"
3288 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
3291 #line 1180 "objc-parse.y"
3292 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
3295 #line 1185 "objc-parse.y"
3296 { yyval
.ttype
= yyvsp
[0].ttype
; ;
3299 #line 1187 "objc-parse.y"
3300 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
3303 #line 1192 "objc-parse.y"
3304 { yyval
.ttype
= NULL_TREE
; ;
3307 #line 1194 "objc-parse.y"
3308 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
3311 #line 1196 "objc-parse.y"
3312 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
3315 #line 1198 "objc-parse.y"
3316 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
3319 #line 1200 "objc-parse.y"
3320 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
3323 #line 1218 "objc-parse.y"
3324 { really_start_incremental_init (NULL_TREE
);
3325 /* Note that the call to clear_momentary
3326 is in process_init_element. */
3327 push_momentary (); ;
3330 #line 1223 "objc-parse.y"
3331 { yyval
.ttype
= pop_init_level (0);
3332 if (yyval
.ttype
== error_mark_node
3333 && ! (yychar
== STRING
|| yychar
== CONSTANT
))
3336 pop_momentary_nofree (); ;
3339 #line 1231 "objc-parse.y"
3340 { yyval
.ttype
= error_mark_node
; ;
3343 #line 1237 "objc-parse.y"
3345 pedwarn ("ANSI C forbids empty initializer braces"); ;
3348 #line 1253 "objc-parse.y"
3349 { set_init_label (yyvsp
[-1].ttype
); ;
3352 #line 1260 "objc-parse.y"
3353 { push_init_level (0); ;
3356 #line 1262 "objc-parse.y"
3357 { process_init_element (pop_init_level (0)); ;
3360 #line 1264 "objc-parse.y"
3361 { process_init_element (yyvsp
[0].ttype
); ;
3364 #line 1275 "objc-parse.y"
3365 { set_init_label (yyvsp
[0].ttype
); ;
3368 #line 1283 "objc-parse.y"
3370 pedwarn ("ANSI C forbids nested functions");
3372 push_function_context ();
3373 if (! start_function (current_declspecs
, yyvsp
[0].ttype
,
3374 prefix_attributes
, NULL_TREE
, 1))
3376 pop_function_context ();
3379 reinit_parse_for_function (); ;
3382 #line 1295 "objc-parse.y"
3383 { store_parm_decls (); ;
3386 #line 1303 "objc-parse.y"
3387 { finish_function (1);
3388 pop_function_context (); ;
3391 #line 1309 "objc-parse.y"
3393 pedwarn ("ANSI C forbids nested functions");
3395 push_function_context ();
3396 if (! start_function (current_declspecs
, yyvsp
[0].ttype
,
3397 prefix_attributes
, NULL_TREE
, 1))
3399 pop_function_context ();
3402 reinit_parse_for_function (); ;
3405 #line 1321 "objc-parse.y"
3406 { store_parm_decls (); ;
3409 #line 1329 "objc-parse.y"
3410 { finish_function (1);
3411 pop_function_context (); ;
3414 #line 1345 "objc-parse.y"
3415 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
3418 #line 1347 "objc-parse.y"
3419 { yyval
.ttype
= build_nt (CALL_EXPR
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
, NULL_TREE
); ;
3422 #line 1352 "objc-parse.y"
3423 { yyval
.ttype
= build_nt (ARRAY_REF
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
3426 #line 1354 "objc-parse.y"
3427 { yyval
.ttype
= build_nt (ARRAY_REF
, yyvsp
[-2].ttype
, NULL_TREE
); ;
3430 #line 1356 "objc-parse.y"
3431 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
3434 #line 1363 "objc-parse.y"
3435 { yyval
.ttype
= yyvsp
[0].ttype
; ;
3438 #line 1375 "objc-parse.y"
3439 { yyval
.ttype
= build_nt (CALL_EXPR
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
, NULL_TREE
); ;
3442 #line 1380 "objc-parse.y"
3443 { yyval
.ttype
= build_nt (ARRAY_REF
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
3446 #line 1382 "objc-parse.y"
3447 { yyval
.ttype
= build_nt (ARRAY_REF
, yyvsp
[-2].ttype
, NULL_TREE
); ;
3450 #line 1384 "objc-parse.y"
3451 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
3454 #line 1391 "objc-parse.y"
3455 { yyval
.ttype
= yyvsp
[0].ttype
; ;
3458 #line 1400 "objc-parse.y"
3459 { yyval
.ttype
= build_nt (CALL_EXPR
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
, NULL_TREE
); ;
3462 #line 1405 "objc-parse.y"
3463 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
3466 #line 1407 "objc-parse.y"
3467 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
3470 #line 1409 "objc-parse.y"
3471 { yyval
.ttype
= build_nt (ARRAY_REF
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
3474 #line 1411 "objc-parse.y"
3475 { yyval
.ttype
= build_nt (ARRAY_REF
, yyvsp
[-2].ttype
, NULL_TREE
); ;
3478 #line 1418 "objc-parse.y"
3479 { yyval
.ttype
= yyvsp
[0].ttype
; ;
3482 #line 1424 "objc-parse.y"
3483 { yyval
.ttype
= NULL_TREE
; ;
3486 #line 1426 "objc-parse.y"
3487 { yyval
.ttype
= yyvsp
[0].ttype
; ;
3490 #line 1431 "objc-parse.y"
3491 { yyval
.ttype
= NULL_TREE
; ;
3494 #line 1433 "objc-parse.y"
3495 { yyval
.ttype
= yyvsp
[0].ttype
; ;
3498 #line 1438 "objc-parse.y"
3499 { yyval
.ttype
= NULL_TREE
; ;
3502 #line 1440 "objc-parse.y"
3503 { yyval
.ttype
= yyvsp
[0].ttype
; ;
3506 #line 1445 "objc-parse.y"
3507 { yyval
.ttype
= start_struct (RECORD_TYPE
, yyvsp
[-1].ttype
);
3508 /* Start scope of tag before parsing components. */
3512 #line 1449 "objc-parse.y"
3513 { yyval
.ttype
= finish_struct (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
, chainon (yyvsp
[-6].ttype
, yyvsp
[0].ttype
)); ;
3516 #line 1451 "objc-parse.y"
3517 { yyval
.ttype
= finish_struct (start_struct (RECORD_TYPE
, NULL_TREE
),
3518 yyvsp
[-2].ttype
, chainon (yyvsp
[-4].ttype
, yyvsp
[0].ttype
));
3522 #line 1455 "objc-parse.y"
3523 { yyval
.ttype
= xref_tag (RECORD_TYPE
, yyvsp
[0].ttype
); ;
3526 #line 1457 "objc-parse.y"
3527 { yyval
.ttype
= start_struct (UNION_TYPE
, yyvsp
[-1].ttype
); ;
3530 #line 1459 "objc-parse.y"
3531 { yyval
.ttype
= finish_struct (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
, chainon (yyvsp
[-6].ttype
, yyvsp
[0].ttype
)); ;
3534 #line 1461 "objc-parse.y"
3535 { yyval
.ttype
= finish_struct (start_struct (UNION_TYPE
, NULL_TREE
),
3536 yyvsp
[-2].ttype
, chainon (yyvsp
[-4].ttype
, yyvsp
[0].ttype
));
3540 #line 1465 "objc-parse.y"
3541 { yyval
.ttype
= xref_tag (UNION_TYPE
, yyvsp
[0].ttype
); ;
3544 #line 1467 "objc-parse.y"
3545 { yyvsp
[0].itype
= suspend_momentary ();
3546 yyval
.ttype
= start_enum (yyvsp
[-1].ttype
); ;
3549 #line 1470 "objc-parse.y"
3550 { yyval
.ttype
= finish_enum (yyvsp
[-4].ttype
, nreverse (yyvsp
[-3].ttype
), chainon (yyvsp
[-7].ttype
, yyvsp
[0].ttype
));
3551 resume_momentary (yyvsp
[-5].itype
); ;
3554 #line 1473 "objc-parse.y"
3555 { yyvsp
[0].itype
= suspend_momentary ();
3556 yyval
.ttype
= start_enum (NULL_TREE
); ;
3559 #line 1476 "objc-parse.y"
3560 { yyval
.ttype
= finish_enum (yyvsp
[-4].ttype
, nreverse (yyvsp
[-3].ttype
), chainon (yyvsp
[-6].ttype
, yyvsp
[0].ttype
));
3561 resume_momentary (yyvsp
[-5].itype
); ;
3564 #line 1479 "objc-parse.y"
3565 { yyval
.ttype
= xref_tag (ENUMERAL_TYPE
, yyvsp
[0].ttype
); ;
3568 #line 1490 "objc-parse.y"
3569 { if (pedantic
&& ! flag_isoc9x
)
3570 pedwarn ("comma at end of enumerator list"); ;
3573 #line 1496 "objc-parse.y"
3574 { yyval
.ttype
= yyvsp
[0].ttype
; ;
3577 #line 1498 "objc-parse.y"
3578 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
3579 pedwarn ("no semicolon at end of struct or union"); ;
3582 #line 1503 "objc-parse.y"
3583 { yyval
.ttype
= NULL_TREE
; ;
3586 #line 1505 "objc-parse.y"
3587 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
3590 #line 1507 "objc-parse.y"
3592 pedwarn ("extra semicolon in struct or union specified"); ;
3595 #line 1511 "objc-parse.y"
3597 tree interface
= lookup_interface (yyvsp
[-1].ttype
);
3600 yyval
.ttype
= get_class_ivars (interface
);
3603 error ("Cannot find interface declaration for `%s'",
3604 IDENTIFIER_POINTER (yyvsp
[-1].ttype
));
3605 yyval
.ttype
= NULL_TREE
;
3610 #line 1536 "objc-parse.y"
3611 { yyval
.ttype
= yyvsp
[0].ttype
;
3612 current_declspecs
= TREE_VALUE (declspec_stack
);
3613 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
3614 declspec_stack
= TREE_CHAIN (declspec_stack
);
3615 resume_momentary (yyvsp
[-1].itype
); ;
3618 #line 1542 "objc-parse.y"
3620 /* Support for unnamed structs or unions as members of
3621 structs or unions (which is [a] useful and [b] supports
3624 pedwarn ("ANSI C doesn't support unnamed structs/unions");
3626 yyval
.ttype
= grokfield(yyvsp
[-2].filename
, yyvsp
[-1].lineno
, NULL
, current_declspecs
, NULL_TREE
);
3627 current_declspecs
= TREE_VALUE (declspec_stack
);
3628 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
3629 declspec_stack
= TREE_CHAIN (declspec_stack
);
3630 resume_momentary (yyvsp
[-3].itype
);
3634 #line 1556 "objc-parse.y"
3635 { yyval
.ttype
= yyvsp
[0].ttype
;
3636 current_declspecs
= TREE_VALUE (declspec_stack
);
3637 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
3638 declspec_stack
= TREE_CHAIN (declspec_stack
);
3639 resume_momentary (yyvsp
[-1].itype
); ;
3642 #line 1562 "objc-parse.y"
3644 pedwarn ("ANSI C forbids member declarations with no members");
3645 shadow_tag(yyvsp
[0].ttype
);
3646 yyval
.ttype
= NULL_TREE
; ;
3649 #line 1567 "objc-parse.y"
3650 { yyval
.ttype
= NULL_TREE
; ;
3653 #line 1569 "objc-parse.y"
3654 { yyval
.ttype
= yyvsp
[0].ttype
;
3655 RESTORE_WARN_FLAGS (yyvsp
[-1].itype
); ;
3658 #line 1576 "objc-parse.y"
3659 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
3662 #line 1581 "objc-parse.y"
3663 { yyval
.ttype
= grokfield (yyvsp
[-3].filename
, yyvsp
[-2].lineno
, yyvsp
[-1].ttype
, current_declspecs
, NULL_TREE
);
3664 decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
3667 #line 1585 "objc-parse.y"
3668 { yyval
.ttype
= grokfield (yyvsp
[-5].filename
, yyvsp
[-4].lineno
, yyvsp
[-3].ttype
, current_declspecs
, yyvsp
[-1].ttype
);
3669 decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
3672 #line 1588 "objc-parse.y"
3673 { yyval
.ttype
= grokfield (yyvsp
[-4].filename
, yyvsp
[-3].lineno
, NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
3674 decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
3677 #line 1600 "objc-parse.y"
3678 { if (yyvsp
[-2].ttype
== error_mark_node
)
3679 yyval
.ttype
= yyvsp
[-2].ttype
;
3681 yyval
.ttype
= chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
); ;
3684 #line 1605 "objc-parse.y"
3685 { yyval
.ttype
= error_mark_node
; ;
3688 #line 1611 "objc-parse.y"
3689 { yyval
.ttype
= build_enumerator (yyvsp
[0].ttype
, NULL_TREE
); ;
3692 #line 1613 "objc-parse.y"
3693 { yyval
.ttype
= build_enumerator (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
3696 #line 1618 "objc-parse.y"
3697 { yyval
.ttype
= build_tree_list (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
3700 #line 1620 "objc-parse.y"
3701 { yyval
.ttype
= build_tree_list (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
3704 #line 1625 "objc-parse.y"
3705 { yyval
.ttype
= NULL_TREE
; ;
3708 #line 1631 "objc-parse.y"
3709 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
3712 #line 1633 "objc-parse.y"
3713 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
3716 #line 1638 "objc-parse.y"
3717 { yyval
.ttype
= NULL_TREE
; ;
3720 #line 1640 "objc-parse.y"
3721 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
3724 #line 1645 "objc-parse.y"
3725 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
3728 #line 1648 "objc-parse.y"
3729 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
3732 #line 1650 "objc-parse.y"
3733 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
3736 #line 1652 "objc-parse.y"
3737 { yyval
.ttype
= build_nt (CALL_EXPR
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
, NULL_TREE
); ;
3740 #line 1654 "objc-parse.y"
3741 { yyval
.ttype
= build_nt (ARRAY_REF
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
3744 #line 1656 "objc-parse.y"
3745 { yyval
.ttype
= build_nt (ARRAY_REF
, yyvsp
[-2].ttype
, NULL_TREE
); ;
3748 #line 1658 "objc-parse.y"
3749 { yyval
.ttype
= build_nt (CALL_EXPR
, NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
3752 #line 1660 "objc-parse.y"
3753 { yyval
.ttype
= build_nt (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
3756 #line 1662 "objc-parse.y"
3757 { yyval
.ttype
= build_nt (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
3760 #line 1666 "objc-parse.y"
3761 { yyval
.ttype
= yyvsp
[0].ttype
; ;
3764 #line 1675 "objc-parse.y"
3766 if (pedantic
&& yyvsp
[0].ends_in_label
)
3767 pedwarn ("ANSI C forbids label at end of compound statement");
3771 #line 1684 "objc-parse.y"
3772 { yyval
.ends_in_label
= yyvsp
[0].ends_in_label
; ;
3775 #line 1686 "objc-parse.y"
3776 { yyval
.ends_in_label
= 0; ;
3779 #line 1698 "objc-parse.y"
3780 { emit_line_note (input_filename
, lineno
);
3784 expand_start_bindings (0);
3785 if (objc_method_context
)
3790 #line 1713 "objc-parse.y"
3792 pedwarn ("ANSI C forbids label declarations"); ;
3795 #line 1724 "objc-parse.y"
3797 for (link
= yyvsp
[-1].ttype
; link
; link
= TREE_CHAIN (link
))
3799 tree label
= shadow_label (TREE_VALUE (link
));
3800 C_DECLARED_LABEL_FLAG (label
) = 1;
3801 declare_nonlocal_label (label
);
3806 #line 1738 "objc-parse.y"
3810 #line 1742 "objc-parse.y"
3811 { compstmt_count
++; ;
3814 #line 1745 "objc-parse.y"
3815 { yyval
.ttype
= convert (void_type_node
, integer_zero_node
); ;
3818 #line 1747 "objc-parse.y"
3819 { emit_line_note (input_filename
, lineno
);
3820 expand_end_bindings (getdecls (), 1, 0);
3821 yyval
.ttype
= poplevel (1, 1, 0);
3822 if (yychar
== CONSTANT
|| yychar
== STRING
)
3823 pop_momentary_nofree ();
3828 #line 1755 "objc-parse.y"
3829 { emit_line_note (input_filename
, lineno
);
3830 expand_end_bindings (getdecls (), kept_level_p (), 0);
3831 yyval
.ttype
= poplevel (kept_level_p (), 0, 0);
3832 if (yychar
== CONSTANT
|| yychar
== STRING
)
3833 pop_momentary_nofree ();
3838 #line 1763 "objc-parse.y"
3839 { emit_line_note (input_filename
, lineno
);
3840 expand_end_bindings (getdecls (), kept_level_p (), 0);
3841 yyval
.ttype
= poplevel (kept_level_p (), 0, 0);
3842 if (yychar
== CONSTANT
|| yychar
== STRING
)
3843 pop_momentary_nofree ();
3848 #line 1774 "objc-parse.y"
3849 { if (current_function_decl
== 0)
3851 error ("braced-group within expression allowed only inside a function");
3854 /* We must force a BLOCK for this level
3855 so that, if it is not expanded later,
3856 there is a way to turn off the entire subtree of blocks
3857 that are contained in it. */
3859 push_iterator_stack ();
3860 push_label_level ();
3861 yyval
.ttype
= expand_start_stmt_expr ();
3866 #line 1791 "objc-parse.y"
3867 { yyval
.ttype
= yyvsp
[0].ttype
; ;
3870 #line 1805 "objc-parse.y"
3871 { emit_line_note (yyvsp
[-5].filename
, yyvsp
[-4].lineno
);
3872 c_expand_start_cond (truthvalue_conversion (yyvsp
[-1].ttype
), 0,
3874 yyval
.itype
= stmt_count
;
3875 if_stmt_file
= yyvsp
[-5].filename
;
3876 if_stmt_line
= yyvsp
[-4].lineno
;
3877 position_after_white_space (); ;
3880 #line 1819 "objc-parse.y"
3883 emit_line_note (yyvsp
[-2].filename
, yyvsp
[-1].lineno
);
3884 /* See comment in `while' alternative, above. */
3886 expand_start_loop_continue_elsewhere (1);
3887 position_after_white_space (); ;
3890 #line 1827 "objc-parse.y"
3891 { expand_loop_continue_here (); ;
3894 #line 1831 "objc-parse.y"
3895 { yyval
.filename
= input_filename
; ;
3898 #line 1835 "objc-parse.y"
3899 { yyval
.lineno
= lineno
; ;
3902 #line 1840 "objc-parse.y"
3906 #line 1845 "objc-parse.y"
3910 #line 1850 "objc-parse.y"
3911 { yyval
.ends_in_label
= yyvsp
[0].ends_in_label
; ;
3914 #line 1855 "objc-parse.y"
3915 { yyval
.ends_in_label
= 0; ;
3918 #line 1857 "objc-parse.y"
3919 { yyval
.ends_in_label
= 1; ;
3922 #line 1863 "objc-parse.y"
3926 #line 1866 "objc-parse.y"
3928 emit_line_note (yyvsp
[-3].filename
, yyvsp
[-2].lineno
);
3929 /* It appears that this should not be done--that a non-lvalue array
3930 shouldn't get an error if the value isn't used.
3931 Section 3.2.2.1 says that an array lvalue gets converted to a pointer
3932 if it appears as a top-level expression,
3933 but says nothing about non-lvalue arrays. */
3935 /* Call default_conversion to get an error
3936 on referring to a register array if pedantic. */
3937 if (TREE_CODE (TREE_TYPE (yyvsp
[-1].ttype
)) == ARRAY_TYPE
3938 || TREE_CODE (TREE_TYPE (yyvsp
[-1].ttype
)) == FUNCTION_TYPE
)
3939 yyvsp
[-1].ttype
= default_conversion (yyvsp
[-1].ttype
);
3941 iterator_expand (yyvsp
[-1].ttype
);
3942 clear_momentary (); ;
3945 #line 1883 "objc-parse.y"
3946 { c_expand_start_else ();
3947 yyvsp
[-1].itype
= stmt_count
;
3948 position_after_white_space (); ;
3951 #line 1887 "objc-parse.y"
3952 { c_expand_end_cond ();
3953 if (extra_warnings
&& stmt_count
== yyvsp
[-3].itype
)
3954 warning ("empty body in an else-statement"); ;
3957 #line 1891 "objc-parse.y"
3958 { c_expand_end_cond ();
3959 /* This warning is here instead of in simple_if, because we
3960 do not want a warning if an empty if is followed by an
3961 else statement. Increment stmt_count so we don't
3962 give a second error if this is a nested `if'. */
3963 if (extra_warnings
&& stmt_count
++ == yyvsp
[0].itype
)
3964 warning_with_file_and_line (if_stmt_file
, if_stmt_line
,
3965 "empty body in an if-statement"); ;
3968 #line 1903 "objc-parse.y"
3969 { c_expand_end_cond (); ;
3972 #line 1905 "objc-parse.y"
3974 emit_line_note (yyvsp
[-2].filename
, yyvsp
[-1].lineno
);
3975 /* The emit_nop used to come before emit_line_note,
3976 but that made the nop seem like part of the preceding line.
3977 And that was confusing when the preceding line was
3978 inside of an if statement and was not really executed.
3979 I think it ought to work to put the nop after the line number.
3980 We will see. --rms, July 15, 1991. */
3984 #line 1915 "objc-parse.y"
3985 { /* Don't start the loop till we have succeeded
3986 in parsing the end test. This is to make sure
3987 that we end every loop we start. */
3988 expand_start_loop (1);
3989 emit_line_note (input_filename
, lineno
);
3990 expand_exit_loop_if_false (NULL_PTR
,
3991 truthvalue_conversion (yyvsp
[-1].ttype
));
3992 position_after_white_space (); ;
3995 #line 1924 "objc-parse.y"
3996 { expand_end_loop (); ;
3999 #line 1927 "objc-parse.y"
4000 { emit_line_note (input_filename
, lineno
);
4001 expand_exit_loop_if_false (NULL_PTR
,
4002 truthvalue_conversion (yyvsp
[-2].ttype
));
4004 clear_momentary (); ;
4007 #line 1934 "objc-parse.y"
4008 { expand_end_loop ();
4009 clear_momentary (); ;
4012 #line 1938 "objc-parse.y"
4014 emit_line_note (yyvsp
[-5].filename
, yyvsp
[-4].lineno
);
4015 /* See comment in `while' alternative, above. */
4017 if (yyvsp
[-1].ttype
) c_expand_expr_stmt (yyvsp
[-1].ttype
);
4018 /* Next step is to call expand_start_loop_continue_elsewhere,
4019 but wait till after we parse the entire for (...).
4020 Otherwise, invalid input might cause us to call that
4021 fn without calling expand_end_loop. */
4025 #line 1950 "objc-parse.y"
4026 { yyvsp
[0].lineno
= lineno
;
4027 yyval
.filename
= input_filename
; ;
4030 #line 1953 "objc-parse.y"
4032 /* Start the loop. Doing this after parsing
4033 all the expressions ensures we will end the loop. */
4034 expand_start_loop_continue_elsewhere (1);
4035 /* Emit the end-test, with a line number. */
4036 emit_line_note (yyvsp
[-2].filename
, yyvsp
[-3].lineno
);
4037 if (yyvsp
[-4].ttype
)
4038 expand_exit_loop_if_false (NULL_PTR
,
4039 truthvalue_conversion (yyvsp
[-4].ttype
));
4040 /* Don't let the tree nodes for $9 be discarded by
4041 clear_momentary during the parsing of the next stmt. */
4043 yyvsp
[-3].lineno
= lineno
;
4044 yyvsp
[-2].filename
= input_filename
;
4045 position_after_white_space (); ;
4048 #line 1969 "objc-parse.y"
4049 { /* Emit the increment expression, with a line number. */
4050 emit_line_note (yyvsp
[-4].filename
, yyvsp
[-5].lineno
);
4051 expand_loop_continue_here ();
4052 if (yyvsp
[-3].ttype
)
4053 c_expand_expr_stmt (yyvsp
[-3].ttype
);
4054 if (yychar
== CONSTANT
|| yychar
== STRING
)
4055 pop_momentary_nofree ();
4058 expand_end_loop (); ;
4061 #line 1980 "objc-parse.y"
4063 emit_line_note (yyvsp
[-5].filename
, yyvsp
[-4].lineno
);
4064 c_expand_start_case (yyvsp
[-1].ttype
);
4065 /* Don't let the tree nodes for $3 be discarded by
4066 clear_momentary during the parsing of the next stmt. */
4068 position_after_white_space (); ;
4071 #line 1988 "objc-parse.y"
4072 { expand_end_case (yyvsp
[-3].ttype
);
4073 if (yychar
== CONSTANT
|| yychar
== STRING
)
4074 pop_momentary_nofree ();
4079 #line 1994 "objc-parse.y"
4081 emit_line_note (yyvsp
[-3].filename
, yyvsp
[-2].lineno
);
4082 if ( ! expand_exit_something ())
4083 error ("break statement not within loop or switch"); ;
4086 #line 1999 "objc-parse.y"
4088 emit_line_note (yyvsp
[-3].filename
, yyvsp
[-2].lineno
);
4089 if (! expand_continue_loop (NULL_PTR
))
4090 error ("continue statement not within a loop"); ;
4093 #line 2004 "objc-parse.y"
4095 emit_line_note (yyvsp
[-3].filename
, yyvsp
[-2].lineno
);
4096 c_expand_return (NULL_TREE
); ;
4099 #line 2008 "objc-parse.y"
4101 emit_line_note (yyvsp
[-4].filename
, yyvsp
[-3].lineno
);
4102 c_expand_return (yyvsp
[-1].ttype
); ;
4105 #line 2012 "objc-parse.y"
4107 emit_line_note (yyvsp
[-7].filename
, yyvsp
[-6].lineno
);
4108 STRIP_NOPS (yyvsp
[-2].ttype
);
4109 if ((TREE_CODE (yyvsp
[-2].ttype
) == ADDR_EXPR
4110 && TREE_CODE (TREE_OPERAND (yyvsp
[-2].ttype
, 0)) == STRING_CST
)
4111 || TREE_CODE (yyvsp
[-2].ttype
) == STRING_CST
)
4112 expand_asm (yyvsp
[-2].ttype
);
4114 error ("argument of `asm' is not a constant string"); ;
4117 #line 2023 "objc-parse.y"
4119 emit_line_note (yyvsp
[-9].filename
, yyvsp
[-8].lineno
);
4120 c_expand_asm_operands (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
4121 yyvsp
[-6].ttype
== ridpointers
[(int)RID_VOLATILE
],
4122 input_filename
, lineno
); ;
4125 #line 2030 "objc-parse.y"
4127 emit_line_note (yyvsp
[-11].filename
, yyvsp
[-10].lineno
);
4128 c_expand_asm_operands (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
4129 yyvsp
[-8].ttype
== ridpointers
[(int)RID_VOLATILE
],
4130 input_filename
, lineno
); ;
4133 #line 2038 "objc-parse.y"
4135 emit_line_note (yyvsp
[-13].filename
, yyvsp
[-12].lineno
);
4136 c_expand_asm_operands (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
,
4137 yyvsp
[-10].ttype
== ridpointers
[(int)RID_VOLATILE
],
4138 input_filename
, lineno
); ;
4141 #line 2044 "objc-parse.y"
4144 emit_line_note (yyvsp
[-4].filename
, yyvsp
[-3].lineno
);
4145 decl
= lookup_label (yyvsp
[-1].ttype
);
4148 TREE_USED (decl
) = 1;
4154 #line 2055 "objc-parse.y"
4156 pedwarn ("ANSI C forbids `goto *expr;'");
4158 emit_line_note (yyvsp
[-5].filename
, yyvsp
[-4].lineno
);
4159 expand_computed_goto (convert (ptr_type_node
, yyvsp
[-1].ttype
)); ;
4162 #line 2070 "objc-parse.y"
4164 /* The value returned by this action is */
4165 /* 1 if everything is OK */
4166 /* 0 in case of error or already bound iterator */
4169 if (TREE_CODE (yyvsp
[-1].ttype
) != VAR_DECL
)
4170 error ("invalid `for (ITERATOR)' syntax");
4171 else if (! ITERATOR_P (yyvsp
[-1].ttype
))
4172 error ("`%s' is not an iterator",
4173 IDENTIFIER_POINTER (DECL_NAME (yyvsp
[-1].ttype
)));
4174 else if (ITERATOR_BOUND_P (yyvsp
[-1].ttype
))
4175 error ("`for (%s)' inside expansion of same iterator",
4176 IDENTIFIER_POINTER (DECL_NAME (yyvsp
[-1].ttype
)));
4180 iterator_for_loop_start (yyvsp
[-1].ttype
);
4185 #line 2091 "objc-parse.y"
4187 if (yyvsp
[-1].itype
)
4188 iterator_for_loop_end (yyvsp
[-3].ttype
);
4192 #line 2126 "objc-parse.y"
4193 { register tree value
= check_case_value (yyvsp
[-1].ttype
);
4195 = build_decl (LABEL_DECL
, NULL_TREE
, NULL_TREE
);
4199 if (value
!= error_mark_node
)
4204 if (pedantic
&& ! INTEGRAL_TYPE_P (TREE_TYPE (value
)))
4205 pedwarn ("label must have integral type in ANSI C");
4207 success
= pushcase (value
, convert_and_check
,
4211 error ("case label not within a switch statement");
4212 else if (success
== 2)
4214 error ("duplicate case value");
4215 error_with_decl (duplicate
, "this is the first entry for that value");
4217 else if (success
== 3)
4218 warning ("case value out of range");
4219 else if (success
== 5)
4220 error ("case label within scope of cleanup or variable array");
4222 position_after_white_space (); ;
4225 #line 2157 "objc-parse.y"
4226 { register tree value1
= check_case_value (yyvsp
[-3].ttype
);
4227 register tree value2
= check_case_value (yyvsp
[-1].ttype
);
4229 = build_decl (LABEL_DECL
, NULL_TREE
, NULL_TREE
);
4232 pedwarn ("ANSI C forbids case ranges");
4235 if (value1
!= error_mark_node
&& value2
!= error_mark_node
)
4238 int success
= pushcase_range (value1
, value2
,
4239 convert_and_check
, label
,
4242 error ("case label not within a switch statement");
4243 else if (success
== 2)
4245 error ("duplicate case value");
4246 error_with_decl (duplicate
, "this is the first entry for that value");
4248 else if (success
== 3)
4249 warning ("case value out of range");
4250 else if (success
== 4)
4251 warning ("empty case range");
4252 else if (success
== 5)
4253 error ("case label within scope of cleanup or variable array");
4255 position_after_white_space (); ;
4258 #line 2188 "objc-parse.y"
4262 = build_decl (LABEL_DECL
, NULL_TREE
, NULL_TREE
);
4263 int success
= pushcase (NULL_TREE
, 0, label
, &duplicate
);
4266 error ("default label not within a switch statement");
4267 else if (success
== 2)
4269 error ("multiple default labels in one switch");
4270 error_with_decl (duplicate
, "this is the first default label");
4272 position_after_white_space (); ;
4275 #line 2203 "objc-parse.y"
4276 { tree label
= define_label (input_filename
, lineno
, yyvsp
[-2].ttype
);
4281 expand_label (label
);
4282 decl_attributes (label
, yyvsp
[0].ttype
, NULL_TREE
);
4284 position_after_white_space (); ;
4287 #line 2218 "objc-parse.y"
4288 { emit_line_note (input_filename
, lineno
);
4289 yyval
.ttype
= NULL_TREE
; ;
4292 #line 2221 "objc-parse.y"
4293 { emit_line_note (input_filename
, lineno
); ;
4296 #line 2226 "objc-parse.y"
4297 { yyval
.ttype
= NULL_TREE
; ;
4300 #line 2233 "objc-parse.y"
4301 { yyval
.ttype
= NULL_TREE
; ;
4304 #line 2240 "objc-parse.y"
4305 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4308 #line 2245 "objc-parse.y"
4309 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4312 #line 2250 "objc-parse.y"
4313 { yyval
.ttype
= tree_cons (NULL_TREE
, combine_strings (yyvsp
[0].ttype
), NULL_TREE
); ;
4316 #line 2252 "objc-parse.y"
4317 { yyval
.ttype
= tree_cons (NULL_TREE
, combine_strings (yyvsp
[0].ttype
), yyvsp
[-2].ttype
); ;
4320 #line 2258 "objc-parse.y"
4322 clear_parm_order ();
4323 declare_parm_level (0); ;
4326 #line 2262 "objc-parse.y"
4327 { yyval
.ttype
= yyvsp
[0].ttype
;
4328 parmlist_tags_warning ();
4329 poplevel (0, 0, 0); ;
4332 #line 2270 "objc-parse.y"
4335 pedwarn ("ANSI C forbids forward parameter declarations");
4336 /* Mark the forward decls as such. */
4337 for (parm
= getdecls (); parm
; parm
= TREE_CHAIN (parm
))
4338 TREE_ASM_WRITTEN (parm
) = 1;
4339 clear_parm_order (); ;
4342 #line 2278 "objc-parse.y"
4343 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4346 #line 2280 "objc-parse.y"
4347 { yyval
.ttype
= tree_cons (NULL_TREE
, NULL_TREE
, NULL_TREE
); ;
4350 #line 2286 "objc-parse.y"
4351 { yyval
.ttype
= get_parm_info (0); ;
4354 #line 2288 "objc-parse.y"
4355 { yyval
.ttype
= get_parm_info (0);
4356 /* Gcc used to allow this as an extension. However, it does
4357 not work for all targets, and thus has been disabled.
4358 Also, since func (...) and func () are indistinguishable,
4359 it caused problems with the code in expand_builtin which
4360 tries to verify that BUILT_IN_NEXT_ARG is being used
4362 error ("ANSI C requires a named argument before `...'");
4366 #line 2298 "objc-parse.y"
4367 { yyval
.ttype
= get_parm_info (1); ;
4370 #line 2300 "objc-parse.y"
4371 { yyval
.ttype
= get_parm_info (0); ;
4374 #line 2305 "objc-parse.y"
4375 { push_parm_decl (yyvsp
[0].ttype
); ;
4378 #line 2307 "objc-parse.y"
4379 { push_parm_decl (yyvsp
[0].ttype
); ;
4382 #line 2314 "objc-parse.y"
4383 { yyval
.ttype
= build_tree_list (build_tree_list (current_declspecs
,
4385 build_tree_list (prefix_attributes
,
4387 current_declspecs
= TREE_VALUE (declspec_stack
);
4388 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
4389 declspec_stack
= TREE_CHAIN (declspec_stack
);
4390 resume_momentary (yyvsp
[-2].itype
); ;
4393 #line 2323 "objc-parse.y"
4394 { yyval
.ttype
= build_tree_list (build_tree_list (current_declspecs
,
4396 build_tree_list (prefix_attributes
,
4398 current_declspecs
= TREE_VALUE (declspec_stack
);
4399 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
4400 declspec_stack
= TREE_CHAIN (declspec_stack
);
4401 resume_momentary (yyvsp
[-2].itype
); ;
4404 #line 2332 "objc-parse.y"
4405 { yyval
.ttype
= build_tree_list (build_tree_list (current_declspecs
,
4407 build_tree_list (prefix_attributes
,
4409 current_declspecs
= TREE_VALUE (declspec_stack
);
4410 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
4411 declspec_stack
= TREE_CHAIN (declspec_stack
);
4412 resume_momentary (yyvsp
[-2].itype
); ;
4415 #line 2341 "objc-parse.y"
4416 { yyval
.ttype
= build_tree_list (build_tree_list (current_declspecs
,
4418 build_tree_list (prefix_attributes
,
4420 current_declspecs
= TREE_VALUE (declspec_stack
);
4421 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
4422 declspec_stack
= TREE_CHAIN (declspec_stack
);
4423 resume_momentary (yyvsp
[-2].itype
); ;
4426 #line 2351 "objc-parse.y"
4427 { yyval
.ttype
= build_tree_list (build_tree_list (current_declspecs
,
4429 build_tree_list (prefix_attributes
,
4431 current_declspecs
= TREE_VALUE (declspec_stack
);
4432 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
4433 declspec_stack
= TREE_CHAIN (declspec_stack
);
4434 resume_momentary (yyvsp
[-2].itype
); ;
4437 #line 2365 "objc-parse.y"
4439 clear_parm_order ();
4440 declare_parm_level (1); ;
4443 #line 2369 "objc-parse.y"
4444 { yyval
.ttype
= yyvsp
[0].ttype
;
4445 parmlist_tags_warning ();
4446 poplevel (0, 0, 0); ;
4449 #line 2377 "objc-parse.y"
4451 for (t
= yyvsp
[-1].ttype
; t
; t
= TREE_CHAIN (t
))
4452 if (TREE_VALUE (t
) == NULL_TREE
)
4453 error ("`...' in old-style identifier list");
4454 yyval
.ttype
= tree_cons (NULL_TREE
, NULL_TREE
, yyvsp
[-1].ttype
); ;
4457 #line 2387 "objc-parse.y"
4458 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4461 #line 2389 "objc-parse.y"
4462 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4465 #line 2395 "objc-parse.y"
4466 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4469 #line 2397 "objc-parse.y"
4470 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4473 #line 2402 "objc-parse.y"
4474 { yyval
.itype
= SAVE_WARN_FLAGS();
4476 warn_pointer_arith
= 0; ;
4479 #line 2416 "objc-parse.y"
4481 if (objc_implementation_context
)
4483 finish_class (objc_implementation_context
);
4484 objc_ivar_chain
= NULL_TREE
;
4485 objc_implementation_context
= NULL_TREE
;
4488 warning ("`@end' must appear in an implementation context");
4492 #line 2431 "objc-parse.y"
4493 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4496 #line 2433 "objc-parse.y"
4497 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4500 #line 2438 "objc-parse.y"
4502 objc_declare_class (yyvsp
[-1].ttype
);
4506 #line 2444 "objc-parse.y"
4508 objc_declare_alias (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4512 #line 2450 "objc-parse.y"
4514 objc_interface_context
= objc_ivar_context
4515 = start_class (CLASS_INTERFACE_TYPE
, yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[-1].ttype
);
4516 objc_public_flag
= 0;
4520 #line 2456 "objc-parse.y"
4522 continue_class (objc_interface_context
);
4526 #line 2461 "objc-parse.y"
4528 finish_class (objc_interface_context
);
4529 objc_interface_context
= NULL_TREE
;
4533 #line 2467 "objc-parse.y"
4535 objc_interface_context
4536 = start_class (CLASS_INTERFACE_TYPE
, yyvsp
[-1].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
4537 continue_class (objc_interface_context
);
4541 #line 2474 "objc-parse.y"
4543 finish_class (objc_interface_context
);
4544 objc_interface_context
= NULL_TREE
;
4548 #line 2480 "objc-parse.y"
4550 objc_interface_context
= objc_ivar_context
4551 = start_class (CLASS_INTERFACE_TYPE
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4552 objc_public_flag
= 0;
4556 #line 2486 "objc-parse.y"
4558 continue_class (objc_interface_context
);
4562 #line 2491 "objc-parse.y"
4564 finish_class (objc_interface_context
);
4565 objc_interface_context
= NULL_TREE
;
4569 #line 2497 "objc-parse.y"
4571 objc_interface_context
4572 = start_class (CLASS_INTERFACE_TYPE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4573 continue_class (objc_interface_context
);
4577 #line 2504 "objc-parse.y"
4579 finish_class (objc_interface_context
);
4580 objc_interface_context
= NULL_TREE
;
4584 #line 2510 "objc-parse.y"
4586 objc_implementation_context
= objc_ivar_context
4587 = start_class (CLASS_IMPLEMENTATION_TYPE
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4588 objc_public_flag
= 0;
4592 #line 2516 "objc-parse.y"
4595 = continue_class (objc_implementation_context
);
4599 #line 2522 "objc-parse.y"
4601 objc_implementation_context
4602 = start_class (CLASS_IMPLEMENTATION_TYPE
, yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
);
4604 = continue_class (objc_implementation_context
);
4608 #line 2530 "objc-parse.y"
4610 objc_implementation_context
= objc_ivar_context
4611 = start_class (CLASS_IMPLEMENTATION_TYPE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
);
4612 objc_public_flag
= 0;
4616 #line 2536 "objc-parse.y"
4619 = continue_class (objc_implementation_context
);
4623 #line 2542 "objc-parse.y"
4625 objc_implementation_context
4626 = start_class (CLASS_IMPLEMENTATION_TYPE
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
4628 = continue_class (objc_implementation_context
);
4632 #line 2550 "objc-parse.y"
4634 objc_interface_context
4635 = start_class (CATEGORY_INTERFACE_TYPE
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
);
4636 continue_class (objc_interface_context
);
4640 #line 2557 "objc-parse.y"
4642 finish_class (objc_interface_context
);
4643 objc_interface_context
= NULL_TREE
;
4647 #line 2563 "objc-parse.y"
4649 objc_implementation_context
4650 = start_class (CATEGORY_IMPLEMENTATION_TYPE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
);
4652 = continue_class (objc_implementation_context
);
4656 #line 2573 "objc-parse.y"
4658 remember_protocol_qualifiers ();
4659 objc_interface_context
4660 = start_protocol(PROTOCOL_INTERFACE_TYPE
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4664 #line 2579 "objc-parse.y"
4666 forget_protocol_qualifiers();
4667 finish_protocol(objc_interface_context
);
4668 objc_interface_context
= NULL_TREE
;
4672 #line 2588 "objc-parse.y"
4674 yyval
.ttype
= NULL_TREE
;
4678 #line 2596 "objc-parse.y"
4680 if (yyvsp
[-2].code
== LT_EXPR
&& yyvsp
[0].code
== GT_EXPR
)
4681 yyval
.ttype
= yyvsp
[-1].ttype
;
4687 #line 2610 "objc-parse.y"
4688 { objc_public_flag
= 2; ;
4691 #line 2611 "objc-parse.y"
4692 { objc_public_flag
= 0; ;
4695 #line 2612 "objc-parse.y"
4696 { objc_public_flag
= 1; ;
4699 #line 2617 "objc-parse.y"
4701 yyval
.ttype
= NULL_TREE
;
4705 #line 2622 "objc-parse.y"
4708 pedwarn ("extra semicolon in struct or union specified");
4712 #line 2640 "objc-parse.y"
4713 { yyval
.ttype
= yyvsp
[0].ttype
;
4714 current_declspecs
= TREE_VALUE (declspec_stack
);
4715 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
4716 declspec_stack
= TREE_CHAIN (declspec_stack
);
4717 resume_momentary (yyvsp
[-1].itype
); ;
4720 #line 2646 "objc-parse.y"
4721 { yyval
.ttype
= yyvsp
[0].ttype
;
4722 current_declspecs
= TREE_VALUE (declspec_stack
);
4723 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
4724 declspec_stack
= TREE_CHAIN (declspec_stack
);
4725 resume_momentary (yyvsp
[-1].itype
); ;
4728 #line 2652 "objc-parse.y"
4729 { yyval
.ttype
= NULL_TREE
; ;
4732 #line 2657 "objc-parse.y"
4733 { yyval
.ttype
= NULL_TREE
; ;
4736 #line 2664 "objc-parse.y"
4738 yyval
.ttype
= add_instance_variable (objc_ivar_context
,
4740 yyvsp
[0].ttype
, current_declspecs
,
4745 #line 2671 "objc-parse.y"
4747 yyval
.ttype
= add_instance_variable (objc_ivar_context
,
4749 yyvsp
[-2].ttype
, current_declspecs
, yyvsp
[0].ttype
);
4753 #line 2677 "objc-parse.y"
4755 yyval
.ttype
= add_instance_variable (objc_ivar_context
,
4758 current_declspecs
, yyvsp
[0].ttype
);
4762 #line 2687 "objc-parse.y"
4764 remember_protocol_qualifiers ();
4765 if (objc_implementation_context
)
4766 objc_inherit_code
= CLASS_METHOD_DECL
;
4768 fatal ("method definition not in class context");
4772 #line 2695 "objc-parse.y"
4774 forget_protocol_qualifiers ();
4775 add_class_method (objc_implementation_context
, yyvsp
[0].ttype
);
4776 start_method_def (yyvsp
[0].ttype
);
4777 objc_method_context
= yyvsp
[0].ttype
;
4781 #line 2702 "objc-parse.y"
4783 continue_method_def ();
4787 #line 2706 "objc-parse.y"
4789 finish_method_def ();
4790 objc_method_context
= NULL_TREE
;
4794 #line 2712 "objc-parse.y"
4796 remember_protocol_qualifiers ();
4797 if (objc_implementation_context
)
4798 objc_inherit_code
= INSTANCE_METHOD_DECL
;
4800 fatal ("method definition not in class context");
4804 #line 2720 "objc-parse.y"
4806 forget_protocol_qualifiers ();
4807 add_instance_method (objc_implementation_context
, yyvsp
[0].ttype
);
4808 start_method_def (yyvsp
[0].ttype
);
4809 objc_method_context
= yyvsp
[0].ttype
;
4813 #line 2727 "objc-parse.y"
4815 continue_method_def ();
4819 #line 2731 "objc-parse.y"
4821 finish_method_def ();
4822 objc_method_context
= NULL_TREE
;
4826 #line 2743 "objc-parse.y"
4827 {yyval
.ttype
= NULL_TREE
; ;
4830 #line 2750 "objc-parse.y"
4831 {yyval
.ttype
= NULL_TREE
; ;
4834 #line 2760 "objc-parse.y"
4836 /* Remember protocol qualifiers in prototypes. */
4837 remember_protocol_qualifiers ();
4838 objc_inherit_code
= CLASS_METHOD_DECL
;
4842 #line 2766 "objc-parse.y"
4844 /* Forget protocol qualifiers here. */
4845 forget_protocol_qualifiers ();
4846 add_class_method (objc_interface_context
, yyvsp
[0].ttype
);
4850 #line 2774 "objc-parse.y"
4852 /* Remember protocol qualifiers in prototypes. */
4853 remember_protocol_qualifiers ();
4854 objc_inherit_code
= INSTANCE_METHOD_DECL
;
4858 #line 2780 "objc-parse.y"
4860 /* Forget protocol qualifiers here. */
4861 forget_protocol_qualifiers ();
4862 add_instance_method (objc_interface_context
, yyvsp
[0].ttype
);
4866 #line 2790 "objc-parse.y"
4868 yyval
.ttype
= build_method_decl (objc_inherit_code
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
4872 #line 2795 "objc-parse.y"
4874 yyval
.ttype
= build_method_decl (objc_inherit_code
, NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
);
4878 #line 2800 "objc-parse.y"
4880 yyval
.ttype
= build_method_decl (objc_inherit_code
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4884 #line 2805 "objc-parse.y"
4886 yyval
.ttype
= build_method_decl (objc_inherit_code
, NULL_TREE
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4890 #line 2835 "objc-parse.y"
4891 { current_declspecs
= TREE_VALUE (declspec_stack
);
4892 prefix_attributes
= TREE_PURPOSE (declspec_stack
);
4893 declspec_stack
= TREE_CHAIN (declspec_stack
);
4894 resume_momentary (yyvsp
[-2].itype
); ;
4897 #line 2840 "objc-parse.y"
4898 { shadow_tag (yyvsp
[-1].ttype
); ;
4901 #line 2842 "objc-parse.y"
4902 { pedwarn ("empty declaration"); ;
4905 #line 2847 "objc-parse.y"
4906 { push_parm_decl (yyvsp
[0].ttype
); ;
4909 #line 2849 "objc-parse.y"
4910 { push_parm_decl (yyvsp
[0].ttype
); ;
4913 #line 2857 "objc-parse.y"
4914 { yyval
.ttype
= build_tree_list (build_tree_list (current_declspecs
,
4916 build_tree_list (prefix_attributes
,
4920 #line 2862 "objc-parse.y"
4921 { yyval
.ttype
= build_tree_list (build_tree_list (current_declspecs
,
4923 build_tree_list (prefix_attributes
,
4927 #line 2867 "objc-parse.y"
4928 { yyval
.ttype
= build_tree_list (build_tree_list (current_declspecs
,
4930 build_tree_list (prefix_attributes
,
4934 #line 2875 "objc-parse.y"
4936 yyval
.ttype
= NULL_TREE
;
4940 #line 2879 "objc-parse.y"
4942 /* oh what a kludge! */
4943 yyval
.ttype
= (tree
)1;
4947 #line 2884 "objc-parse.y"
4953 #line 2888 "objc-parse.y"
4955 /* returns a tree list node generated by get_parm_info */
4956 yyval
.ttype
= yyvsp
[0].ttype
;
4961 #line 2903 "objc-parse.y"
4963 yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4967 #line 2916 "objc-parse.y"
4968 { yyval
.ttype
= get_identifier (token_buffer
); ;
4971 #line 2917 "objc-parse.y"
4972 { yyval
.ttype
= get_identifier (token_buffer
); ;
4975 #line 2918 "objc-parse.y"
4976 { yyval
.ttype
= get_identifier (token_buffer
); ;
4979 #line 2919 "objc-parse.y"
4980 { yyval
.ttype
= get_identifier (token_buffer
); ;
4983 #line 2920 "objc-parse.y"
4984 { yyval
.ttype
= get_identifier (token_buffer
); ;
4987 #line 2921 "objc-parse.y"
4988 { yyval
.ttype
= get_identifier (token_buffer
); ;
4991 #line 2922 "objc-parse.y"
4992 { yyval
.ttype
= get_identifier (token_buffer
); ;
4995 #line 2923 "objc-parse.y"
4996 { yyval
.ttype
= get_identifier (token_buffer
); ;
4999 #line 2924 "objc-parse.y"
5000 { yyval
.ttype
= get_identifier (token_buffer
); ;
5003 #line 2925 "objc-parse.y"
5004 { yyval
.ttype
= get_identifier (token_buffer
); ;
5007 #line 2926 "objc-parse.y"
5008 { yyval
.ttype
= get_identifier (token_buffer
); ;
5011 #line 2927 "objc-parse.y"
5012 { yyval
.ttype
= get_identifier (token_buffer
); ;
5015 #line 2928 "objc-parse.y"
5016 { yyval
.ttype
= get_identifier (token_buffer
); ;
5019 #line 2929 "objc-parse.y"
5020 { yyval
.ttype
= get_identifier (token_buffer
); ;
5023 #line 2930 "objc-parse.y"
5024 { yyval
.ttype
= get_identifier (token_buffer
); ;
5027 #line 2931 "objc-parse.y"
5028 { yyval
.ttype
= get_identifier (token_buffer
); ;
5031 #line 2932 "objc-parse.y"
5032 { yyval
.ttype
= get_identifier (token_buffer
); ;
5035 #line 2933 "objc-parse.y"
5036 { yyval
.ttype
= get_identifier (token_buffer
); ;
5039 #line 2934 "objc-parse.y"
5040 { yyval
.ttype
= get_identifier (token_buffer
); ;
5043 #line 2940 "objc-parse.y"
5045 yyval
.ttype
= build_keyword_decl (yyvsp
[-5].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
);
5049 #line 2945 "objc-parse.y"
5051 yyval
.ttype
= build_keyword_decl (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
5055 #line 2950 "objc-parse.y"
5057 yyval
.ttype
= build_keyword_decl (NULL_TREE
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
);
5061 #line 2955 "objc-parse.y"
5063 yyval
.ttype
= build_keyword_decl (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
);
5067 #line 2968 "objc-parse.y"
5069 yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5073 #line 2976 "objc-parse.y"
5075 if (TREE_CHAIN (yyvsp
[0].ttype
) == NULL_TREE
)
5076 /* just return the expr., remove a level of indirection */
5077 yyval
.ttype
= TREE_VALUE (yyvsp
[0].ttype
);
5079 /* we have a comma expr., we will collapse later */
5080 yyval
.ttype
= yyvsp
[0].ttype
;
5084 #line 2988 "objc-parse.y"
5086 yyval
.ttype
= build_tree_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
);
5090 #line 2992 "objc-parse.y"
5092 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
);
5096 #line 3000 "objc-parse.y"
5098 yyval
.ttype
= get_class_reference (yyvsp
[0].ttype
);
5102 #line 3007 "objc-parse.y"
5103 { objc_receiver_context
= 1; ;
5106 #line 3009 "objc-parse.y"
5107 { objc_receiver_context
= 0; ;
5110 #line 3011 "objc-parse.y"
5112 yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
);
5116 #line 3024 "objc-parse.y"
5118 yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5122 #line 3031 "objc-parse.y"
5124 yyval
.ttype
= build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
);
5128 #line 3035 "objc-parse.y"
5130 yyval
.ttype
= build_tree_list (NULL_TREE
, NULL_TREE
);
5134 #line 3042 "objc-parse.y"
5136 yyval
.ttype
= yyvsp
[-1].ttype
;
5140 #line 3049 "objc-parse.y"
5142 yyval
.ttype
= yyvsp
[-1].ttype
;
5146 #line 3058 "objc-parse.y"
5148 yyval
.ttype
= groktypename (yyvsp
[-1].ttype
);
5152 /* the action file gets copied in in place of this dollarsign */
5153 #line 543 "/usr/share/misc/bison.simple"
5164 short *ssp1
= yyss
- 1;
5165 fprintf (stderr
, "state stack now");
5166 while (ssp1
!= yyssp
)
5167 fprintf (stderr
, " %d", *++ssp1
);
5168 fprintf (stderr
, "\n");
5178 yylsp
->first_line
= yylloc
.first_line
;
5179 yylsp
->first_column
= yylloc
.first_column
;
5180 yylsp
->last_line
= (yylsp
-1)->last_line
;
5181 yylsp
->last_column
= (yylsp
-1)->last_column
;
5186 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
5187 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
5191 /* Now "shift" the result of the reduction.
5192 Determine what state that goes to,
5193 based on the state we popped back to
5194 and the rule number reduced by. */
5198 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
5199 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
5200 yystate
= yytable
[yystate
];
5202 yystate
= yydefgoto
[yyn
- YYNTBASE
];
5206 yyerrlab
: /* here on detecting error */
5209 /* If not already recovering from an error, report this error. */
5213 #ifdef YYERROR_VERBOSE
5214 yyn
= yypact
[yystate
];
5216 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
5223 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
5224 for (x
= (yyn
< 0 ? -yyn
: 0);
5225 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
5226 if (yycheck
[x
+ yyn
] == x
)
5227 size
+= strlen(yytname
[x
]) + 15, count
++;
5228 msg
= (char *) malloc(size
+ 15);
5231 strcpy(msg
, "parse error");
5236 for (x
= (yyn
< 0 ? -yyn
: 0);
5237 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
5238 if (yycheck
[x
+ yyn
] == x
)
5240 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
5241 strcat(msg
, yytname
[x
]);
5250 yyerror ("parse error; also virtual memory exceeded");
5253 #endif /* YYERROR_VERBOSE */
5254 yyerror("parse error");
5258 yyerrlab1
: /* here on error raised explicitly by an action */
5260 if (yyerrstatus
== 3)
5262 /* if just tried and failed to reuse lookahead token after an error, discard it. */
5264 /* return failure if at end of input */
5265 if (yychar
== YYEOF
)
5270 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
5276 /* Else will try to reuse lookahead token
5277 after shifting the error token. */
5279 yyerrstatus
= 3; /* Each real token shifted decrements this */
5283 yyerrdefault
: /* current state does not do anything special for the error token. */
5286 /* This is wrong; only states that explicitly want error tokens
5287 should shift them. */
5288 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
5289 if (yyn
) goto yydefault
;
5292 yyerrpop
: /* pop the current state because it cannot handle the error token */
5294 if (yyssp
== yyss
) YYABORT
;
5304 short *ssp1
= yyss
- 1;
5305 fprintf (stderr
, "Error: state stack now");
5306 while (ssp1
!= yyssp
)
5307 fprintf (stderr
, " %d", *++ssp1
);
5308 fprintf (stderr
, "\n");
5314 yyn
= yypact
[yystate
];
5319 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
5338 fprintf(stderr
, "Shifting error token, ");
5350 /* YYACCEPT comes here. */
5362 /* YYABORT comes here. */
5373 #line 3063 "objc-parse.y"