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 196 "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() \
127 build_int_2 (pedantic | (warn_pointer_arith << 1), 0)
128 #define RESTORE_WARN_FLAGS(tval) \
130 int val = TREE_INT_CST_LOW (tval); \
131 pedantic = val & 1; \
132 warn_pointer_arith = (val >> 1) & 1; \
135 /* Objective-C specific information */
137 tree objc_interface_context;
138 tree objc_implementation_context;
139 tree objc_method_context;
140 tree objc_ivar_chain;
141 tree objc_ivar_context;
142 enum tree_code objc_inherit_code;
143 int objc_receiver_context;
144 int objc_public_flag;
147 /* Tell yyparse how to print a token's value, if yydebug is set. */
149 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
150 extern void yyprint PARAMS ((FILE *, int, YYSTYPE));
152 /* Add GC roots for variables local to this file. */
156 ggc_add_tree_root (&declspec_stack, 1);
157 ggc_add_tree_root (¤t_declspecs, 1);
158 ggc_add_tree_root (&prefix_attributes, 1);
172 #define YYFLAG -32768
175 #define YYTRANSLATE(x) ((unsigned)(x) <= 317 ? yytranslate[x] : 314)
177 static const char yytranslate[] = { 0,
178 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
179 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
180 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
181 2, 2, 82, 2, 2, 2, 54, 45, 2, 61,
182 78, 52, 50, 83, 51, 60, 53, 2, 2, 2,
183 2, 2, 2, 2, 2, 2, 2, 40, 79, 2,
184 38, 2, 39, 2, 2, 2, 2, 2, 2, 2,
185 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
186 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
187 62, 2, 85, 44, 2, 2, 2, 2, 2, 2,
188 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
189 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
190 2, 2, 84, 43, 80, 81, 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, 2, 2, 2, 2, 2,
202 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
203 2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
204 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
205 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
206 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
207 37, 41, 42, 46, 47, 48, 49, 55, 56, 57,
208 58, 59, 63, 64, 65, 66, 67, 68, 69, 70,
209 71, 72, 73, 74, 75, 76, 77
213 static const short yyprhs[] = { 0,
214 0, 1, 3, 4, 7, 8, 12, 14, 16, 18,
215 24, 27, 31, 36, 41, 44, 47, 50, 53, 55,
216 56, 57, 65, 70, 71, 72, 80, 85, 86, 87,
217 94, 98, 100, 102, 104, 106, 108, 110, 112, 114,
218 116, 118, 120, 122, 123, 125, 127, 131, 133, 136,
219 139, 142, 145, 148, 153, 156, 161, 164, 167, 174,
220 176, 178, 180, 185, 186, 194, 196, 200, 204, 208,
221 212, 216, 220, 224, 228, 232, 236, 240, 244, 245,
222 250, 251, 256, 257, 258, 266, 267, 273, 277, 281,
223 283, 285, 287, 291, 295, 299, 303, 308, 313, 317,
224 321, 324, 327, 329, 331, 333, 335, 337, 339, 342,
225 344, 347, 348, 350, 353, 357, 359, 361, 364, 367,
226 372, 377, 380, 383, 387, 389, 391, 394, 397, 398,
227 399, 404, 409, 413, 417, 420, 423, 426, 429, 433,
228 434, 437, 440, 443, 446, 450, 451, 454, 457, 459,
229 461, 464, 467, 469, 471, 474, 477, 480, 484, 485,
230 488, 490, 492, 494, 497, 500, 502, 507, 512, 514,
231 516, 518, 520, 524, 526, 530, 531, 536, 537, 544,
232 548, 549, 556, 560, 561, 563, 565, 568, 575, 577,
233 581, 582, 584, 589, 596, 601, 603, 605, 607, 609,
234 611, 612, 617, 619, 620, 623, 625, 629, 633, 636,
235 637, 642, 644, 645, 650, 652, 654, 656, 659, 662,
236 663, 664, 670, 671, 672, 678, 680, 682, 686, 690,
237 695, 699, 703, 707, 709, 711, 715, 720, 724, 728,
238 732, 734, 738, 742, 746, 751, 755, 759, 761, 763,
239 766, 768, 771, 773, 776, 777, 785, 791, 794, 795,
240 803, 809, 812, 813, 822, 823, 831, 834, 835, 837,
241 838, 840, 842, 845, 846, 850, 853, 858, 862, 868,
242 872, 874, 876, 879, 881, 885, 890, 897, 903, 905,
243 909, 911, 913, 917, 920, 923, 924, 926, 928, 931,
244 932, 935, 939, 943, 946, 950, 955, 959, 962, 966,
245 969, 973, 975, 977, 980, 983, 984, 986, 989, 990,
246 991, 993, 995, 998, 1002, 1004, 1007, 1009, 1011, 1017,
247 1022, 1027, 1030, 1033, 1036, 1039, 1044, 1045, 1050, 1051,
248 1052, 1056, 1061, 1065, 1067, 1069, 1071, 1073, 1076, 1077,
249 1082, 1084, 1088, 1089, 1090, 1098, 1104, 1107, 1108, 1109,
250 1110, 1123, 1124, 1131, 1134, 1137, 1140, 1144, 1151, 1160,
251 1171, 1184, 1188, 1193, 1195, 1197, 1198, 1205, 1209, 1215,
252 1218, 1222, 1223, 1225, 1226, 1228, 1229, 1231, 1233, 1237,
253 1242, 1244, 1248, 1249, 1252, 1255, 1256, 1261, 1264, 1265,
254 1267, 1269, 1273, 1275, 1279, 1284, 1289, 1294, 1299, 1304,
255 1305, 1308, 1310, 1313, 1315, 1319, 1321, 1325, 1327, 1329,
256 1331, 1333, 1335, 1337, 1339, 1341, 1345, 1349, 1354, 1355,
257 1356, 1367, 1368, 1375, 1376, 1377, 1390, 1391, 1400, 1401,
258 1408, 1411, 1412, 1421, 1426, 1427, 1437, 1443, 1444, 1451,
259 1452, 1454, 1458, 1462, 1464, 1466, 1468, 1470, 1471, 1475,
260 1478, 1482, 1486, 1488, 1489, 1491, 1495, 1497, 1501, 1504,
261 1505, 1506, 1507, 1515, 1516, 1517, 1518, 1526, 1527, 1528,
262 1531, 1533, 1535, 1538, 1539, 1543, 1545, 1547, 1548, 1549,
263 1555, 1556, 1557, 1563, 1568, 1570, 1576, 1579, 1580, 1583,
264 1584, 1586, 1588, 1590, 1593, 1596, 1601, 1604, 1607, 1609,
265 1613, 1616, 1619, 1622, 1623, 1626, 1627, 1631, 1633, 1635,
266 1638, 1640, 1642, 1644, 1646, 1648, 1650, 1652, 1654, 1656,
267 1658, 1660, 1662, 1664, 1666, 1668, 1670, 1672, 1674, 1676,
268 1678, 1680, 1682, 1684, 1686, 1688, 1695, 1699, 1705, 1708,
269 1710, 1712, 1714, 1717, 1719, 1723, 1726, 1728, 1730, 1731,
270 1732, 1739, 1741, 1743, 1745, 1748, 1751, 1753, 1758, 1763
273 static const short yyrhs[] = { -1,
274 87, 0, 0, 88, 90, 0, 0, 87, 89, 90,
275 0, 92, 0, 91, 0, 245, 0, 27, 61, 101,
276 78, 79, 0, 244, 90, 0, 124, 138, 79, 0,
277 131, 124, 138, 79, 0, 127, 124, 137, 79, 0,
278 131, 79, 0, 127, 79, 0, 1, 79, 0, 1,
279 80, 0, 79, 0, 0, 0, 127, 124, 166, 93,
280 118, 94, 200, 0, 127, 124, 166, 1, 0, 0,
281 0, 131, 124, 169, 95, 118, 96, 200, 0, 131,
282 124, 169, 1, 0, 0, 0, 124, 169, 97, 118,
283 98, 200, 0, 124, 169, 1, 0, 3, 0, 4,
284 0, 74, 0, 69, 0, 45, 0, 51, 0, 50,
285 0, 56, 0, 57, 0, 81, 0, 82, 0, 103,
286 0, 0, 103, 0, 109, 0, 103, 83, 109, 0,
287 115, 0, 52, 107, 0, 244, 107, 0, 100, 107,
288 0, 42, 99, 0, 105, 104, 0, 105, 61, 187,
289 78, 0, 106, 104, 0, 106, 61, 187, 78, 0,
290 33, 107, 0, 34, 107, 0, 35, 61, 109, 83,
291 187, 78, 0, 11, 0, 29, 0, 104, 0, 61,
292 187, 78, 107, 0, 0, 61, 187, 78, 84, 108,
293 152, 80, 0, 107, 0, 109, 50, 109, 0, 109,
294 51, 109, 0, 109, 52, 109, 0, 109, 53, 109,
295 0, 109, 54, 109, 0, 109, 48, 109, 0, 109,
296 49, 109, 0, 109, 47, 109, 0, 109, 46, 109,
297 0, 109, 45, 109, 0, 109, 43, 109, 0, 109,
298 44, 109, 0, 0, 109, 42, 110, 109, 0, 0,
299 109, 41, 111, 109, 0, 0, 0, 109, 39, 112,
300 101, 40, 113, 109, 0, 0, 109, 39, 114, 40,
301 109, 0, 109, 38, 109, 0, 109, 37, 109, 0,
302 3, 0, 8, 0, 116, 0, 61, 101, 78, 0,
303 61, 1, 78, 0, 203, 202, 78, 0, 203, 1,
304 78, 0, 115, 61, 102, 78, 0, 115, 62, 101,
305 85, 0, 115, 60, 99, 0, 115, 59, 99, 0,
306 115, 56, 0, 115, 57, 0, 305, 0, 311, 0,
307 312, 0, 313, 0, 117, 0, 9, 0, 116, 9,
308 0, 77, 0, 117, 77, 0, 0, 120, 0, 120,
309 10, 0, 209, 210, 121, 0, 119, 0, 195, 0,
310 120, 119, 0, 119, 195, 0, 129, 124, 137, 79,
311 0, 132, 124, 138, 79, 0, 129, 79, 0, 132,
312 79, 0, 209, 210, 126, 0, 122, 0, 195, 0,
313 123, 122, 0, 122, 195, 0, 0, 0, 127, 124,
314 137, 79, 0, 131, 124, 138, 79, 0, 127, 124,
315 160, 0, 131, 124, 163, 0, 127, 79, 0, 131,
316 79, 0, 244, 126, 0, 135, 128, 0, 131, 135,
317 128, 0, 0, 128, 136, 0, 128, 5, 0, 128,
318 145, 0, 135, 130, 0, 132, 135, 130, 0, 0,
319 130, 136, 0, 130, 5, 0, 132, 0, 145, 0,
320 131, 132, 0, 131, 145, 0, 7, 0, 5, 0,
321 132, 7, 0, 132, 5, 0, 135, 134, 0, 189,
322 135, 134, 0, 0, 134, 136, 0, 6, 0, 173,
323 0, 4, 0, 69, 261, 0, 74, 261, 0, 262,
324 0, 28, 61, 101, 78, 0, 28, 61, 187, 78,
325 0, 6, 0, 7, 0, 173, 0, 140, 0, 137,
326 83, 140, 0, 142, 0, 138, 83, 140, 0, 0,
327 27, 61, 116, 78, 0, 0, 166, 139, 144, 38,
328 141, 150, 0, 166, 139, 144, 0, 0, 169, 139,
329 144, 38, 143, 150, 0, 169, 139, 144, 0, 0,
330 145, 0, 146, 0, 145, 146, 0, 30, 61, 61,
331 147, 78, 78, 0, 148, 0, 147, 83, 148, 0,
332 0, 149, 0, 149, 61, 3, 78, 0, 149, 61,
333 3, 83, 103, 78, 0, 149, 61, 102, 78, 0,
334 99, 0, 5, 0, 6, 0, 7, 0, 109, 0,
335 0, 84, 151, 152, 80, 0, 1, 0, 0, 153,
336 178, 0, 154, 0, 153, 83, 154, 0, 158, 38,
337 156, 0, 159, 156, 0, 0, 99, 40, 155, 156,
338 0, 156, 0, 0, 84, 157, 152, 80, 0, 109,
339 0, 1, 0, 159, 0, 158, 159, 0, 60, 99,
340 0, 0, 0, 166, 161, 118, 162, 204, 0, 0,
341 0, 169, 164, 118, 165, 204, 0, 167, 0, 169,
342 0, 61, 167, 78, 0, 167, 61, 239, 0, 167,
343 62, 101, 85, 0, 167, 62, 85, 0, 52, 190,
344 167, 0, 145, 125, 167, 0, 4, 0, 74, 0,
345 168, 61, 239, 0, 168, 62, 101, 85, 0, 168,
346 62, 85, 0, 52, 190, 168, 0, 145, 125, 168,
347 0, 4, 0, 169, 61, 239, 0, 61, 169, 78,
348 0, 52, 190, 169, 0, 169, 62, 101, 85, 0,
349 169, 62, 85, 0, 145, 125, 169, 0, 3, 0,
350 13, 0, 13, 145, 0, 14, 0, 14, 145, 0,
351 12, 0, 12, 145, 0, 0, 170, 99, 84, 174,
352 180, 80, 144, 0, 170, 84, 180, 80, 144, 0,
353 170, 99, 0, 0, 171, 99, 84, 175, 180, 80,
354 144, 0, 171, 84, 180, 80, 144, 0, 171, 99,
355 0, 0, 172, 99, 84, 176, 185, 179, 80, 144,
356 0, 0, 172, 84, 177, 185, 179, 80, 144, 0,
357 172, 99, 0, 0, 83, 0, 0, 83, 0, 181,
358 0, 181, 182, 0, 0, 181, 182, 79, 0, 181,
359 79, 0, 67, 61, 69, 78, 0, 133, 124, 183,
360 0, 133, 124, 209, 210, 144, 0, 189, 124, 183,
361 0, 189, 0, 1, 0, 244, 182, 0, 184, 0,
362 183, 83, 184, 0, 209, 210, 166, 144, 0, 209,
363 210, 166, 40, 109, 144, 0, 209, 210, 40, 109,
364 144, 0, 186, 0, 185, 83, 186, 0, 1, 0,
365 99, 0, 99, 38, 109, 0, 133, 188, 0, 189,
366 188, 0, 0, 191, 0, 7, 0, 189, 7, 0,
367 0, 190, 7, 0, 61, 191, 78, 0, 52, 190,
368 191, 0, 52, 190, 0, 191, 61, 232, 0, 191,
369 62, 101, 85, 0, 191, 62, 85, 0, 61, 232,
370 0, 62, 101, 85, 0, 62, 85, 0, 145, 125,
371 191, 0, 193, 0, 212, 0, 193, 212, 0, 193,
372 195, 0, 0, 192, 0, 1, 79, 0, 0, 0,
373 198, 0, 199, 0, 198, 199, 0, 32, 243, 79,
374 0, 204, 0, 1, 204, 0, 84, 0, 80, 0,
375 196, 197, 123, 194, 80, 0, 196, 197, 1, 80,
376 0, 196, 197, 192, 80, 0, 61, 84, 0, 201,
377 202, 0, 206, 211, 0, 206, 1, 0, 15, 61,
378 101, 78, 0, 0, 18, 208, 211, 17, 0, 0,
379 0, 209, 210, 214, 0, 209, 210, 225, 211, 0,
380 209, 210, 213, 0, 214, 0, 225, 0, 204, 0,
381 222, 0, 101, 79, 0, 0, 205, 16, 215, 211,
382 0, 205, 0, 205, 16, 1, 0, 0, 0, 17,
383 216, 61, 101, 78, 217, 211, 0, 207, 61, 101,
384 78, 79, 0, 207, 1, 0, 0, 0, 0, 19,
385 61, 227, 79, 218, 227, 79, 219, 227, 78, 220,
386 211, 0, 0, 20, 61, 101, 78, 221, 211, 0,
387 23, 79, 0, 24, 79, 0, 25, 79, 0, 25,
388 101, 79, 0, 27, 226, 61, 101, 78, 79, 0,
389 27, 226, 61, 101, 40, 228, 78, 79, 0, 27,
390 226, 61, 101, 40, 228, 40, 228, 78, 79, 0,
391 27, 226, 61, 101, 40, 228, 40, 228, 40, 231,
392 78, 79, 0, 26, 99, 79, 0, 26, 52, 101,
393 79, 0, 79, 0, 223, 0, 0, 19, 61, 115,
394 78, 224, 211, 0, 21, 109, 40, 0, 21, 109,
395 10, 109, 40, 0, 22, 40, 0, 99, 40, 144,
396 0, 0, 7, 0, 0, 101, 0, 0, 229, 0,
397 230, 0, 229, 83, 230, 0, 9, 61, 101, 78,
398 0, 116, 0, 231, 83, 116, 0, 0, 233, 234,
399 0, 236, 78, 0, 0, 237, 79, 235, 234, 0,
400 1, 78, 0, 0, 10, 0, 237, 0, 237, 83,
401 10, 0, 238, 0, 237, 83, 238, 0, 127, 124,
402 168, 144, 0, 127, 124, 169, 144, 0, 127, 124,
403 188, 144, 0, 131, 124, 169, 144, 0, 131, 124,
404 188, 144, 0, 0, 240, 241, 0, 234, 0, 242,
405 78, 0, 3, 0, 242, 83, 3, 0, 99, 0,
406 243, 83, 99, 0, 31, 0, 249, 0, 247, 0,
407 248, 0, 259, 0, 269, 0, 65, 0, 99, 0,
408 246, 83, 99, 0, 75, 246, 79, 0, 76, 99,
409 99, 79, 0, 0, 0, 63, 99, 261, 84, 250,
410 263, 80, 251, 276, 65, 0, 0, 63, 99, 261,
411 252, 276, 65, 0, 0, 0, 63, 99, 40, 99,
412 261, 84, 253, 263, 80, 254, 276, 65, 0, 0,
413 63, 99, 40, 99, 261, 255, 276, 65, 0, 0,
414 64, 99, 84, 256, 263, 80, 0, 64, 99, 0,
415 0, 64, 99, 40, 99, 84, 257, 263, 80, 0,
416 64, 99, 40, 99, 0, 0, 63, 99, 61, 99,
417 78, 261, 258, 276, 65, 0, 64, 99, 61, 99,
418 78, 0, 0, 73, 99, 261, 260, 276, 65, 0,
419 0, 262, 0, 47, 246, 47, 0, 263, 264, 265,
420 0, 265, 0, 71, 0, 72, 0, 70, 0, 0,
421 265, 266, 79, 0, 265, 79, 0, 133, 124, 267,
422 0, 189, 124, 267, 0, 1, 0, 0, 268, 0,
423 267, 83, 268, 0, 166, 0, 166, 40, 109, 0,
424 40, 109, 0, 0, 0, 0, 50, 270, 286, 271,
425 287, 272, 200, 0, 0, 0, 0, 51, 273, 286,
426 274, 287, 275, 200, 0, 0, 0, 277, 278, 0,
427 281, 0, 91, 0, 278, 281, 0, 0, 278, 279,
428 91, 0, 79, 0, 1, 0, 0, 0, 50, 282,
429 286, 283, 280, 0, 0, 0, 51, 284, 286, 285,
430 280, 0, 61, 187, 78, 295, 0, 295, 0, 61,
431 187, 78, 296, 293, 0, 296, 293, 0, 0, 79,
432 288, 0, 0, 289, 0, 290, 0, 195, 0, 289,
433 290, 0, 290, 195, 0, 127, 124, 291, 79, 0,
434 127, 79, 0, 131, 79, 0, 292, 0, 291, 83,
435 292, 0, 168, 144, 0, 169, 144, 0, 188, 144,
436 0, 0, 83, 10, 0, 0, 83, 294, 236, 0,
437 297, 0, 299, 0, 296, 299, 0, 3, 0, 4,
438 0, 74, 0, 298, 0, 12, 0, 13, 0, 14,
439 0, 15, 0, 16, 0, 17, 0, 18, 0, 19,
440 0, 20, 0, 21, 0, 22, 0, 23, 0, 24,
441 0, 25, 0, 26, 0, 27, 0, 11, 0, 28,
442 0, 29, 0, 6, 0, 7, 0, 297, 40, 61,
443 187, 78, 99, 0, 297, 40, 99, 0, 40, 61,
444 187, 78, 99, 0, 40, 99, 0, 297, 0, 301,
445 0, 303, 0, 301, 303, 0, 103, 0, 297, 40,
446 302, 0, 40, 302, 0, 101, 0, 69, 0, 0,
447 0, 62, 306, 304, 307, 300, 85, 0, 297, 0,
448 309, 0, 310, 0, 309, 310, 0, 297, 40, 0,
449 40, 0, 66, 61, 308, 78, 0, 73, 61, 99,
450 78, 0, 68, 61, 187, 78, 0
456 static const short yyrline[] = { 0,
457 257, 262, 276, 278, 278, 279, 281, 283, 284, 285,
458 293, 297, 307, 311, 315, 317, 319, 320, 321, 326,
459 333, 335, 339, 343, 349, 351, 355, 359, 365, 367,
460 371, 377, 379, 380, 381, 384, 386, 388, 390, 392,
461 394, 396, 400, 404, 407, 410, 413, 417, 419, 422,
462 425, 429, 457, 463, 466, 469, 472, 474, 476, 480,
463 484, 488, 490, 493, 497, 524, 526, 528, 530, 532,
464 534, 536, 538, 540, 542, 544, 546, 548, 550, 554,
465 556, 560, 562, 565, 569, 571, 578, 581, 589, 600,
466 760, 761, 763, 769, 771, 794, 803, 805, 807, 819,
467 833, 835, 837, 839, 841, 843, 845, 850, 852, 859,
468 861, 865, 867, 868, 878, 883, 885, 886, 887, 894,
469 899, 903, 906, 914, 919, 921, 922, 923, 930, 940,
470 944, 949, 953, 957, 961, 963, 965, 974, 977, 981,
471 983, 985, 990, 994, 997, 1001, 1004, 1006, 1018, 1021,
472 1023, 1025, 1029, 1033, 1035, 1038, 1051, 1054, 1058, 1060,
473 1068, 1069, 1070, 1074, 1076, 1081, 1083, 1085, 1091, 1092,
474 1093, 1096, 1098, 1101, 1103, 1106, 1109, 1115, 1122, 1124,
475 1131, 1138, 1141, 1148, 1151, 1155, 1158, 1162, 1167, 1170,
476 1174, 1177, 1179, 1181, 1183, 1190, 1192, 1193, 1194, 1199,
477 1201, 1203, 1205, 1210, 1214, 1217, 1219, 1224, 1226, 1227,
478 1230, 1230, 1233, 1236, 1238, 1240, 1243, 1245, 1248, 1256,
479 1270, 1278, 1282, 1296, 1304, 1311, 1313, 1318, 1321, 1326,
480 1328, 1330, 1337, 1339, 1340, 1348, 1354, 1356, 1358, 1365,
481 1367, 1373, 1379, 1381, 1383, 1385, 1392, 1394, 1397, 1400,
482 1404, 1407, 1411, 1414, 1418, 1423, 1425, 1429, 1431, 1433,
483 1435, 1439, 1441, 1443, 1446, 1448, 1451, 1455, 1457, 1460,
484 1462, 1467, 1470, 1475, 1477, 1479, 1483, 1507, 1513, 1526,
485 1531, 1536, 1538, 1543, 1545, 1549, 1553, 1557, 1567, 1569,
486 1574, 1579, 1582, 1586, 1589, 1593, 1596, 1599, 1602, 1606,
487 1609, 1613, 1617, 1619, 1621, 1623, 1625, 1627, 1629, 1631,
488 1635, 1643, 1651, 1653, 1655, 1659, 1661, 1664, 1667, 1679,
489 1681, 1686, 1688, 1691, 1705, 1708, 1711, 1713, 1715, 1719,
490 1723, 1729, 1747, 1752, 1757, 1760, 1774, 1783, 1787, 1791,
491 1795, 1801, 1805, 1810, 1813, 1818, 1821, 1822, 1838, 1843,
492 1846, 1858, 1860, 1870, 1880, 1881, 1888, 1890, 1902, 1906,
493 1920, 1926, 1932, 1933, 1938, 1943, 1947, 1951, 1962, 1969,
494 1976, 1983, 1994, 2000, 2003, 2008, 2031, 2061, 2092, 2123,
495 2138, 2152, 2156, 2160, 2163, 2168, 2170, 2173, 2175, 2179,
496 2184, 2187, 2193, 2198, 2203, 2205, 2214, 2215, 2221, 2223,
497 2233, 2235, 2239, 2242, 2248, 2257, 2265, 2273, 2282, 2295,
498 2300, 2305, 2307, 2316, 2319, 2324, 2327, 2331, 2340, 2342,
499 2343, 2344, 2345, 2346, 2360, 2363, 2367, 2373, 2379, 2386,
500 2391, 2397, 2404, 2410, 2416, 2421, 2427, 2434, 2440, 2446,
501 2452, 2460, 2466, 2472, 2480, 2487, 2493, 2502, 2509, 2517,
502 2522, 2525, 2535, 2537, 2540, 2542, 2543, 2546, 2551, 2552,
503 2569, 2575, 2580, 2584, 2587, 2588, 2591, 2599, 2605, 2614,
504 2624, 2631, 2635, 2640, 2649, 2656, 2660, 2670, 2672, 2673,
505 2675, 2677, 2678, 2679, 2680, 2682, 2684, 2687, 2695, 2702,
506 2702, 2709, 2715, 2717, 2723, 2728, 2733, 2742, 2744, 2750,
507 2752, 2755, 2757, 2758, 2759, 2762, 2767, 2769, 2773, 2776,
508 2783, 2789, 2794, 2801, 2806, 2811, 2816, 2823, 2827, 2830,
509 2836, 2838, 2839, 2840, 2843, 2845, 2846, 2847, 2848, 2849,
510 2850, 2851, 2852, 2853, 2854, 2855, 2856, 2857, 2858, 2859,
511 2860, 2861, 2862, 2863, 2863, 2866, 2872, 2877, 2882, 2888,
512 2890, 2893, 2895, 2902, 2914, 2919, 2925, 2927, 2933, 2937,
513 2938, 2944, 2946, 2949, 2951, 2957, 2962, 2968, 2975, 2984
518 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
520 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
521 "TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING","ELLIPSIS","SIZEOF",
522 "ENUM","STRUCT","UNION","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT",
523 "BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF","ATTRIBUTE",
524 "EXTENSION","LABEL","REALPART","IMAGPART","VA_ARG","END_OF_LINE","ASSIGN","'='",
525 "'?'","':'","OROR","ANDAND","'|'","'^'","'&'","EQCOMPARE","ARITHCOMPARE","LSHIFT",
526 "RSHIFT","'+'","'-'","'*'","'/'","'%'","UNARY","PLUSPLUS","MINUSMINUS","HYPERUNARY",
527 "POINTSAT","'.'","'('","'['","INTERFACE","IMPLEMENTATION","END","SELECTOR","DEFS",
528 "ENCODE","CLASSNAME","PUBLIC","PRIVATE","PROTECTED","PROTOCOL","OBJECTNAME",
529 "CLASS","ALIAS","OBJC_STRING","')'","';'","'}'","'~'","'!'","','","'{'","']'",
530 "program","extdefs","@1","@2","extdef","datadef","fndef","@3","@4","@5","@6",
531 "@7","@8","identifier","unop","expr","exprlist","nonnull_exprlist","unary_expr",
532 "sizeof","alignof","cast_expr","@9","expr_no_commas","@10","@11","@12","@13",
533 "@14","primary","string","objc_string","old_style_parm_decls","lineno_datadecl",
534 "datadecls","datadecl","lineno_decl","decls","setspecs","setattrs","decl","typed_declspecs",
535 "reserved_declspecs","typed_declspecs_no_prefix_attr","reserved_declspecs_no_prefix_attr",
536 "declmods","declmods_no_prefix_attr","typed_typespecs","reserved_typespecquals",
537 "typespec","typespecqual_reserved","initdecls","notype_initdecls","maybeasm",
538 "initdcl","@15","notype_initdcl","@16","maybe_attribute","attributes","attribute",
539 "attribute_list","attrib","any_word","init","@17","initlist_maybe_comma","initlist1",
540 "initelt","@18","initval","@19","designator_list","designator","nested_function",
541 "@20","@21","notype_nested_function","@22","@23","declarator","after_type_declarator",
542 "parm_declarator","notype_declarator","struct_head","union_head","enum_head",
543 "structsp","@24","@25","@26","@27","maybecomma","maybecomma_warn","component_decl_list",
544 "component_decl_list2","component_decl","components","component_declarator",
545 "enumlist","enumerator","typename","absdcl","nonempty_type_quals","type_quals",
546 "absdcl1","stmts","lineno_stmt_or_labels","xstmts","errstmt","pushlevel","maybe_label_decls",
547 "label_decls","label_decl","compstmt_or_error","compstmt_start","compstmt_nostart",
548 "compstmt_primary_start","compstmt","simple_if","if_prefix","do_stmt_start",
549 "@28","save_filename","save_lineno","lineno_labeled_stmt","lineno_stmt_or_label",
550 "stmt_or_label","stmt","@29","@30","@31","@32","@33","@34","@35","all_iter_stmt",
551 "all_iter_stmt_simple","@36","label","maybe_type_qual","xexpr","asm_operands",
552 "nonnull_asm_operands","asm_operand","asm_clobbers","parmlist","@37","parmlist_1",
553 "@38","parmlist_2","parms","parm","parmlist_or_identifiers","@39","parmlist_or_identifiers_1",
554 "identifiers","identifiers_or_typenames","extension","objcdef","identifier_list",
555 "classdecl","aliasdecl","classdef","@40","@41","@42","@43","@44","@45","@46",
556 "@47","@48","protocoldef","@49","protocolrefs","non_empty_protocolrefs","ivar_decl_list",
557 "visibility_spec","ivar_decls","ivar_decl","ivars","ivar_declarator","methoddef",
558 "@50","@51","@52","@53","@54","@55","methodprotolist","@56","methodprotolist2",
559 "@57","semi_or_error","methodproto","@58","@59","@60","@61","methoddecl","optarglist",
560 "myxdecls","mydecls","mydecl","myparms","myparm","optparmlist","@62","unaryselector",
561 "keywordselector","selector","reservedwords","keyworddecl","messageargs","keywordarglist",
562 "keywordexpr","keywordarg","receiver","objcmessageexpr","@63","@64","selectorarg",
563 "keywordnamelist","keywordname","objcselectorexpr","objcprotocolexpr","objcencodeexpr", NULL
567 static const short yyr1[] = { 0,
568 86, 86, 88, 87, 89, 87, 90, 90, 90, 90,
569 90, 91, 91, 91, 91, 91, 91, 91, 91, 93,
570 94, 92, 92, 95, 96, 92, 92, 97, 98, 92,
571 92, 99, 99, 99, 99, 100, 100, 100, 100, 100,
572 100, 100, 101, 102, 102, 103, 103, 104, 104, 104,
573 104, 104, 104, 104, 104, 104, 104, 104, 104, 105,
574 106, 107, 107, 108, 107, 109, 109, 109, 109, 109,
575 109, 109, 109, 109, 109, 109, 109, 109, 110, 109,
576 111, 109, 112, 113, 109, 114, 109, 109, 109, 115,
577 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
578 115, 115, 115, 115, 115, 115, 115, 116, 116, 117,
579 117, 118, 118, 118, 119, 120, 120, 120, 120, 121,
580 121, 121, 121, 122, 123, 123, 123, 123, 124, 125,
581 126, 126, 126, 126, 126, 126, 126, 127, 127, 128,
582 128, 128, 128, 129, 129, 130, 130, 130, 131, 131,
583 131, 131, 132, 132, 132, 132, 133, 133, 134, 134,
584 135, 135, 135, 135, 135, 135, 135, 135, 136, 136,
585 136, 137, 137, 138, 138, 139, 139, 141, 140, 140,
586 143, 142, 142, 144, 144, 145, 145, 146, 147, 147,
587 148, 148, 148, 148, 148, 149, 149, 149, 149, 150,
588 151, 150, 150, 152, 152, 153, 153, 154, 154, 155,
589 154, 154, 157, 156, 156, 156, 158, 158, 159, 161,
590 162, 160, 164, 165, 163, 166, 166, 167, 167, 167,
591 167, 167, 167, 167, 167, 168, 168, 168, 168, 168,
592 168, 169, 169, 169, 169, 169, 169, 169, 170, 170,
593 171, 171, 172, 172, 174, 173, 173, 173, 175, 173,
594 173, 173, 176, 173, 177, 173, 173, 178, 178, 179,
595 179, 180, 180, 181, 181, 181, 181, 182, 182, 182,
596 182, 182, 182, 183, 183, 184, 184, 184, 185, 185,
597 185, 186, 186, 187, 187, 188, 188, 189, 189, 190,
598 190, 191, 191, 191, 191, 191, 191, 191, 191, 191,
599 191, 192, 193, 193, 193, 194, 194, 195, 196, 197,
600 197, 198, 198, 199, 200, 200, 201, 202, 202, 202,
601 202, 203, 204, 205, 205, 206, 208, 207, 209, 210,
602 211, 211, 212, 213, 213, 214, 214, 214, 215, 214,
603 214, 214, 216, 217, 214, 214, 214, 218, 219, 220,
604 214, 221, 214, 214, 214, 214, 214, 214, 214, 214,
605 214, 214, 214, 214, 222, 224, 223, 225, 225, 225,
606 225, 226, 226, 227, 227, 228, 228, 229, 229, 230,
607 231, 231, 233, 232, 234, 235, 234, 234, 236, 236,
608 236, 236, 237, 237, 238, 238, 238, 238, 238, 240,
609 239, 241, 241, 242, 242, 243, 243, 244, 245, 245,
610 245, 245, 245, 245, 246, 246, 247, 248, 250, 251,
611 249, 252, 249, 253, 254, 249, 255, 249, 256, 249,
612 249, 257, 249, 249, 258, 249, 249, 260, 259, 261,
613 261, 262, 263, 263, 264, 264, 264, 265, 265, 265,
614 266, 266, 266, 267, 267, 267, 268, 268, 268, 270,
615 271, 272, 269, 273, 274, 275, 269, 276, 277, 276,
616 278, 278, 278, 279, 278, 280, 280, 282, 283, 281,
617 284, 285, 281, 286, 286, 286, 286, 287, 287, 288,
618 288, 289, 289, 289, 289, 290, 290, 290, 291, 291,
619 292, 292, 292, 293, 293, 294, 293, 295, 296, 296,
620 297, 297, 297, 297, 298, 298, 298, 298, 298, 298,
621 298, 298, 298, 298, 298, 298, 298, 298, 298, 298,
622 298, 298, 298, 298, 298, 299, 299, 299, 299, 300,
623 300, 301, 301, 302, 303, 303, 304, 304, 306, 307,
624 305, 308, 308, 309, 309, 310, 310, 311, 312, 313
627 static const short yyr2[] = { 0,
628 0, 1, 0, 2, 0, 3, 1, 1, 1, 5,
629 2, 3, 4, 4, 2, 2, 2, 2, 1, 0,
630 0, 7, 4, 0, 0, 7, 4, 0, 0, 6,
631 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
632 1, 1, 1, 0, 1, 1, 3, 1, 2, 2,
633 2, 2, 2, 4, 2, 4, 2, 2, 6, 1,
634 1, 1, 4, 0, 7, 1, 3, 3, 3, 3,
635 3, 3, 3, 3, 3, 3, 3, 3, 0, 4,
636 0, 4, 0, 0, 7, 0, 5, 3, 3, 1,
637 1, 1, 3, 3, 3, 3, 4, 4, 3, 3,
638 2, 2, 1, 1, 1, 1, 1, 1, 2, 1,
639 2, 0, 1, 2, 3, 1, 1, 2, 2, 4,
640 4, 2, 2, 3, 1, 1, 2, 2, 0, 0,
641 4, 4, 3, 3, 2, 2, 2, 2, 3, 0,
642 2, 2, 2, 2, 3, 0, 2, 2, 1, 1,
643 2, 2, 1, 1, 2, 2, 2, 3, 0, 2,
644 1, 1, 1, 2, 2, 1, 4, 4, 1, 1,
645 1, 1, 3, 1, 3, 0, 4, 0, 6, 3,
646 0, 6, 3, 0, 1, 1, 2, 6, 1, 3,
647 0, 1, 4, 6, 4, 1, 1, 1, 1, 1,
648 0, 4, 1, 0, 2, 1, 3, 3, 2, 0,
649 4, 1, 0, 4, 1, 1, 1, 2, 2, 0,
650 0, 5, 0, 0, 5, 1, 1, 3, 3, 4,
651 3, 3, 3, 1, 1, 3, 4, 3, 3, 3,
652 1, 3, 3, 3, 4, 3, 3, 1, 1, 2,
653 1, 2, 1, 2, 0, 7, 5, 2, 0, 7,
654 5, 2, 0, 8, 0, 7, 2, 0, 1, 0,
655 1, 1, 2, 0, 3, 2, 4, 3, 5, 3,
656 1, 1, 2, 1, 3, 4, 6, 5, 1, 3,
657 1, 1, 3, 2, 2, 0, 1, 1, 2, 0,
658 2, 3, 3, 2, 3, 4, 3, 2, 3, 2,
659 3, 1, 1, 2, 2, 0, 1, 2, 0, 0,
660 1, 1, 2, 3, 1, 2, 1, 1, 5, 4,
661 4, 2, 2, 2, 2, 4, 0, 4, 0, 0,
662 3, 4, 3, 1, 1, 1, 1, 2, 0, 4,
663 1, 3, 0, 0, 7, 5, 2, 0, 0, 0,
664 12, 0, 6, 2, 2, 2, 3, 6, 8, 10,
665 12, 3, 4, 1, 1, 0, 6, 3, 5, 2,
666 3, 0, 1, 0, 1, 0, 1, 1, 3, 4,
667 1, 3, 0, 2, 2, 0, 4, 2, 0, 1,
668 1, 3, 1, 3, 4, 4, 4, 4, 4, 0,
669 2, 1, 2, 1, 3, 1, 3, 1, 1, 1,
670 1, 1, 1, 1, 1, 3, 3, 4, 0, 0,
671 10, 0, 6, 0, 0, 12, 0, 8, 0, 6,
672 2, 0, 8, 4, 0, 9, 5, 0, 6, 0,
673 1, 3, 3, 1, 1, 1, 1, 0, 3, 2,
674 3, 3, 1, 0, 1, 3, 1, 3, 2, 0,
675 0, 0, 7, 0, 0, 0, 7, 0, 0, 2,
676 1, 1, 2, 0, 3, 1, 1, 0, 0, 5,
677 0, 0, 5, 4, 1, 5, 2, 0, 2, 0,
678 1, 1, 1, 2, 2, 4, 2, 2, 1, 3,
679 2, 2, 2, 0, 2, 0, 3, 1, 1, 2,
680 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
681 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
682 1, 1, 1, 1, 1, 6, 3, 5, 2, 1,
683 1, 1, 2, 1, 3, 2, 1, 1, 0, 0,
684 6, 1, 1, 1, 2, 2, 1, 4, 4, 4
687 static const short yydefact[] = { 3,
688 5, 0, 0, 0, 163, 154, 161, 153, 253, 249,
689 251, 0, 0, 0, 418, 0, 470, 474, 0, 0,
690 424, 450, 0, 450, 0, 0, 19, 4, 8, 7,
691 0, 129, 129, 149, 140, 150, 186, 0, 0, 0,
692 162, 0, 9, 420, 421, 419, 422, 166, 423, 6,
693 17, 18, 254, 250, 252, 0, 0, 0, 32, 33,
694 35, 34, 425, 0, 0, 0, 450, 441, 164, 451,
695 450, 165, 0, 0, 248, 300, 0, 0, 174, 130,
696 0, 16, 0, 15, 0, 151, 140, 152, 156, 155,
697 138, 187, 274, 258, 274, 262, 265, 267, 11, 90,
698 91, 108, 60, 61, 0, 0, 0, 0, 36, 38,
699 37, 0, 39, 40, 0, 559, 0, 0, 0, 110,
700 41, 42, 0, 0, 43, 62, 0, 0, 66, 46,
701 48, 92, 107, 0, 0, 103, 104, 105, 106, 298,
702 0, 296, 159, 0, 296, 191, 452, 0, 521, 522,
703 544, 545, 541, 525, 526, 527, 528, 529, 530, 531,
704 532, 533, 534, 535, 536, 537, 538, 539, 540, 542,
705 543, 0, 0, 523, 471, 495, 514, 518, 524, 519,
706 475, 0, 0, 432, 0, 0, 439, 448, 427, 0,
707 0, 0, 12, 0, 0, 31, 0, 410, 0, 0,
708 184, 234, 300, 0, 235, 0, 172, 130, 0, 226,
709 227, 0, 0, 139, 142, 169, 170, 141, 143, 171,
710 0, 0, 0, 255, 0, 259, 0, 263, 57, 58,
711 0, 52, 49, 0, 332, 0, 0, 0, 0, 0,
712 0, 51, 0, 0, 0, 53, 0, 55, 0, 0,
713 83, 81, 79, 0, 0, 0, 0, 0, 0, 0,
714 0, 0, 0, 0, 0, 101, 102, 0, 0, 44,
715 0, 109, 111, 0, 328, 320, 0, 50, 167, 300,
716 393, 0, 130, 294, 297, 157, 168, 299, 159, 295,
717 197, 198, 199, 196, 0, 189, 192, 426, 0, 549,
718 0, 498, 516, 497, 0, 520, 0, 498, 450, 0,
719 429, 479, 444, 0, 458, 479, 428, 301, 244, 243,
720 175, 176, 247, 0, 242, 0, 246, 0, 0, 29,
721 0, 339, 117, 340, 183, 185, 0, 0, 14, 0,
722 0, 23, 0, 184, 410, 0, 13, 27, 0, 0,
723 184, 282, 276, 129, 273, 129, 0, 274, 184, 274,
724 291, 292, 270, 289, 0, 0, 94, 93, 0, 558,
725 557, 560, 567, 562, 0, 563, 564, 0, 0, 10,
726 47, 0, 0, 89, 88, 0, 0, 0, 0, 77,
727 78, 76, 75, 74, 72, 73, 67, 68, 69, 70,
728 71, 100, 99, 0, 45, 0, 96, 0, 0, 321,
729 322, 95, 304, 0, 308, 0, 310, 0, 0, 393,
730 0, 160, 158, 0, 191, 44, 0, 0, 0, 472,
731 515, 399, 0, 547, 476, 437, 450, 458, 0, 0,
732 442, 447, 0, 0, 0, 0, 0, 414, 400, 129,
733 129, 412, 0, 401, 403, 411, 0, 245, 318, 0,
734 119, 114, 118, 0, 181, 232, 228, 173, 233, 21,
735 180, 229, 231, 0, 25, 0, 257, 339, 275, 339,
736 283, 0, 261, 0, 0, 271, 0, 270, 0, 64,
737 63, 0, 566, 568, 0, 565, 570, 569, 54, 56,
738 0, 0, 82, 80, 97, 98, 416, 0, 0, 0,
739 339, 0, 0, 126, 340, 313, 323, 303, 302, 394,
740 309, 311, 305, 307, 0, 188, 190, 90, 0, 0,
741 494, 514, 129, 0, 503, 499, 501, 0, 0, 517,
742 401, 0, 0, 434, 479, 445, 0, 433, 488, 491,
743 482, 0, 129, 129, 484, 481, 458, 457, 455, 456,
744 440, 458, 463, 460, 129, 129, 0, 449, 177, 398,
745 296, 296, 395, 396, 0, 413, 0, 0, 327, 30,
746 319, 325, 115, 129, 129, 146, 0, 0, 178, 230,
747 0, 277, 278, 284, 340, 280, 340, 184, 184, 293,
748 290, 184, 0, 0, 0, 0, 550, 0, 551, 552,
749 84, 87, 324, 0, 330, 128, 127, 317, 0, 331,
750 315, 340, 314, 0, 306, 193, 0, 195, 548, 496,
751 507, 296, 508, 504, 505, 473, 0, 477, 458, 0,
752 479, 430, 0, 0, 176, 0, 0, 0, 483, 0,
753 0, 464, 464, 459, 241, 300, 393, 130, 184, 184,
754 184, 300, 130, 184, 184, 0, 402, 404, 415, 326,
755 333, 122, 0, 123, 0, 146, 144, 203, 201, 200,
756 182, 22, 0, 26, 339, 184, 0, 256, 260, 266,
757 184, 59, 216, 90, 0, 213, 0, 215, 0, 268,
758 206, 212, 0, 0, 554, 556, 0, 561, 0, 553,
759 0, 417, 329, 0, 163, 0, 353, 337, 0, 0,
760 0, 0, 0, 0, 0, 0, 382, 450, 450, 374,
761 0, 0, 124, 129, 129, 346, 351, 0, 0, 343,
762 344, 347, 375, 345, 0, 0, 184, 184, 184, 0,
763 509, 546, 0, 438, 0, 479, 489, 492, 485, 443,
764 0, 467, 461, 465, 462, 304, 0, 410, 0, 405,
765 406, 407, 304, 0, 408, 409, 397, 0, 0, 145,
766 148, 147, 0, 179, 285, 0, 279, 130, 184, 264,
767 219, 0, 210, 65, 0, 205, 0, 218, 209, 555,
768 85, 0, 0, 339, 384, 0, 0, 380, 364, 365,
769 366, 0, 0, 0, 383, 0, 184, 348, 135, 0,
770 136, 0, 0, 335, 340, 334, 357, 0, 137, 194,
771 511, 512, 513, 506, 296, 435, 446, 0, 0, 0,
772 469, 0, 0, 239, 240, 236, 238, 0, 120, 121,
773 0, 184, 0, 286, 0, 0, 207, 208, 0, 0,
774 0, 385, 48, 0, 0, 0, 378, 367, 0, 372,
775 0, 381, 0, 133, 220, 0, 134, 223, 352, 339,
776 0, 0, 510, 479, 431, 487, 486, 490, 493, 468,
777 466, 237, 202, 288, 184, 214, 211, 336, 0, 338,
778 376, 358, 362, 0, 373, 0, 131, 0, 132, 0,
779 350, 341, 339, 0, 0, 287, 354, 339, 384, 339,
780 379, 386, 0, 221, 224, 342, 356, 436, 339, 377,
781 0, 363, 0, 0, 387, 388, 368, 0, 0, 355,
782 359, 0, 386, 0, 0, 222, 225, 384, 0, 0,
783 369, 389, 0, 390, 0, 0, 360, 391, 0, 370,
784 339, 0, 0, 361, 371, 392, 0, 0, 0
787 static const short yydefgoto[] = { 967,
788 1, 2, 3, 28, 29, 30, 343, 588, 349, 591,
789 200, 460, 697, 123, 236, 404, 125, 126, 127, 128,
790 129, 605, 130, 389, 388, 386, 711, 387, 131, 132,
791 133, 330, 331, 332, 583, 510, 511, 31, 341, 733,
792 450, 91, 584, 677, 451, 34, 142, 286, 35, 218,
793 206, 78, 201, 207, 683, 79, 587, 335, 336, 37,
794 295, 296, 297, 681, 783, 699, 700, 701, 856, 702,
795 792, 703, 704, 874, 908, 938, 877, 910, 939, 322,
796 210, 747, 211, 38, 39, 40, 41, 358, 360, 365,
797 227, 796, 487, 222, 223, 355, 593, 594, 363, 364,
798 144, 749, 145, 191, 285, 512, 513, 619, 333, 276,
799 409, 410, 411, 580, 581, 277, 134, 582, 737, 738,
800 739, 804, 825, 464, 826, 516, 740, 741, 880, 803,
801 929, 919, 948, 961, 920, 742, 743, 918, 744, 816,
802 864, 934, 935, 936, 959, 415, 416, 452, 666, 453,
803 454, 455, 325, 326, 456, 457, 508, 135, 43, 64,
804 44, 45, 46, 438, 756, 312, 639, 884, 545, 315,
805 557, 641, 47, 316, 69, 48, 443, 562, 444, 567,
806 763, 764, 49, 65, 302, 539, 66, 308, 543, 439,
807 440, 555, 648, 888, 556, 643, 839, 644, 840, 175,
808 430, 536, 537, 538, 750, 751, 304, 432, 176, 177,
809 178, 179, 180, 608, 609, 706, 610, 372, 136, 238,
810 492, 375, 376, 377, 137, 138, 139
813 static const short yypact[] = { 118,
814 137, 3350, 3350, 190,-32768,-32768,-32768,-32768, 204, 204,
815 204, 104, 161, 189,-32768, 294,-32768,-32768, 294, 294,
816 -32768, 236, 294, 236, 294, 294,-32768,-32768,-32768,-32768,
817 226, 174, 2782, 382,-32768, 204,-32768, 135, 192, 208,
818 -32768, 3350,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
819 -32768,-32768, 204, 204, 204, 3019, 2851, 241,-32768,-32768,
820 -32768,-32768,-32768, 158, 3627, 3627, 346, 123,-32768,-32768,
821 236,-32768, 237, 294,-32768,-32768, 226, 249,-32768, 204,
822 870,-32768, 416,-32768, 226, 382,-32768, 204,-32768,-32768,
823 793,-32768, 238, 242, 238, 258,-32768, 266,-32768,-32768,
824 -32768,-32768,-32768,-32768, 3019, 3019, 300, 294,-32768,-32768,
825 -32768, 3019,-32768,-32768, 1277,-32768, 354, 357, 362,-32768,
826 -32768,-32768, 3019, 330, 371,-32768, 3075, 3131,-32768, 3955,
827 1125, 457, 403, 986, 3019,-32768,-32768,-32768,-32768,-32768,
828 411, 297,-32768, 413, 3751, 303,-32768, 294,-32768,-32768,
829 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
830 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
831 -32768, 188, 2179,-32768,-32768,-32768, 2741, 458,-32768,-32768,
832 -32768, 294, 294, 423, 294, 294,-32768,-32768,-32768, 421,
833 98, 52,-32768, 416, 226,-32768, 452,-32768, 2194, 498,
834 204,-32768,-32768, 416,-32768, 327,-32768, 204, 2082, 317,
835 329, 347, 2054, 793,-32768,-32768,-32768,-32768, 204,-32768,
836 454, 442, 3270,-32768, 444,-32768, 106,-32768,-32768,-32768,
837 3019,-32768,-32768, 464,-32768, 465, 466, 2907, 3657, 2179,
838 294,-32768, 455, 3019, 1277,-32768, 1277,-32768, 3019, 3019,
839 510,-32768,-32768, 3019, 3019, 3019, 3019, 3019, 3019, 3019,
840 3019, 3019, 3019, 3019, 3019,-32768,-32768, 294, 294, 3019,
841 3019,-32768,-32768, 473,-32768, 531, 486,-32768,-32768,-32768,
842 297, 2255, 204,-32768, 379, 907,-32768,-32768,-32768,-32768,
843 -32768,-32768,-32768,-32768, 41,-32768, 515,-32768, 2179,-32768,
844 493, 504, 567,-32768, 458,-32768, 353, 504, 236, 513,
845 -32768, 527, 519, 516,-32768, 527,-32768,-32768, 329,-32768,
846 -32768, 579, 329, 599,-32768, 3455,-32768, 524, 532,-32768,
847 1371, 80,-32768,-32768, 589, 204, 308, 182,-32768, 416,
848 416,-32768, 498, 204,-32768, 2316,-32768,-32768, 498, 560,
849 204,-32768,-32768,-32768, 551, 3296, 3563, 238, 204, 238,
850 -32768, 594, 552,-32768, 106, 3876,-32768,-32768, 2659,-32768,
851 -32768,-32768,-32768, 598, 558, 3657,-32768, 562, 568,-32768,
852 3955, 569, 570, 3955, 3955, 3019, 610, 3019, 3019, 1863,
853 912, 675, 1126, 1034, 535, 535, 63, 63,-32768,-32768,
854 -32768,-32768,-32768, 576, 371, 571,-32768, 294, 1191, 531,
855 -32768,-32768, 409, 185,-32768, 3485,-32768, 575, 297,-32768,
856 2377,-32768, 907, 577, 303, 3187, 583, 3692, 2140,-32768,
857 -32768, 3763, 2179,-32768,-32768, 573, 236,-32768, 601, 3427,
858 -32768,-32768, 449, 898, 602, 84, 586,-32768,-32768,-32768,
859 3829,-32768, 592, 364,-32768,-32768, 211,-32768,-32768, 83,
860 -32768,-32768,-32768, 2093,-32768, 317,-32768,-32768, 317,-32768,
861 634,-32768,-32768, 590,-32768, 600,-32768,-32768,-32768,-32768,
862 -32768, 604,-32768, 605, 3019, 294, 607, 552, 2179,-32768,
863 -32768, 3722,-32768,-32768, 598,-32768,-32768,-32768,-32768,-32768,
864 639, 3019, 1706, 1787,-32768,-32768,-32768, 435, 372, 1088,
865 609, 613, 1408,-32768,-32768,-32768,-32768, 379,-32768,-32768,
866 -32768, 379,-32768,-32768, 595,-32768,-32768, 246, 617, 294,
867 -32768, 2741, 624, 3513,-32768,-32768, 3829, 2168, 83,-32768,
868 591, 626, 83,-32768, 527,-32768, 476,-32768,-32768,-32768,
869 -32768, 226, 174, 2782, 399,-32768,-32768,-32768,-32768,-32768,
870 -32768,-32768,-32768,-32768,-32768, 3842, 627,-32768,-32768,-32768,
871 471, 93,-32768,-32768, 3817,-32768, 702, 623,-32768,-32768,
872 628,-32768,-32768, 632, 3314,-32768, 1895, 83,-32768,-32768,
873 83,-32768, 631,-32768,-32768, 631,-32768, 204, 204, 3955,
874 -32768, 204, 655, 658, 1654, 3019, 701, 659, 3722,-32768,
875 -32768, 1625,-32768, 294,-32768,-32768,-32768,-32768, 663,-32768,
876 -32768,-32768,-32768, 2521,-32768,-32768, 3019,-32768,-32768,-32768,
877 -32768, 471,-32768,-32768,-32768,-32768, 294,-32768,-32768, 680,
878 527,-32768, 3627, 3627, 206, 416, 226, 1983,-32768, 489,
879 3266, 314, 314,-32768,-32768,-32768, 93, 204, 261, 273,
880 204,-32768, 204, 273, 204, 3485,-32768,-32768,-32768,-32768,
881 -32768,-32768, 416,-32768, 226,-32768, 829,-32768,-32768, 3955,
882 -32768,-32768, 1895,-32768,-32768, 343, 343,-32768,-32768,-32768,
883 204,-32768,-32768, 708, 294,-32768, 711, 3955, 672, 670,
884 -32768,-32768, 143, 1818, 371,-32768, 3019,-32768, 701,-32768,
885 3019,-32768,-32768, 2603, 714, 694,-32768,-32768, 697, 698,
886 3019, 721, 684, 685, 2963, 227, 759, 212, 324,-32768,
887 727, 692,-32768, 695, 3543,-32768, 757, 1490, 99,-32768,
888 -32768,-32768,-32768,-32768, 2771, 270, 261, 273, 204, 456,
889 -32768,-32768, 572,-32768, 712, 527,-32768,-32768,-32768,-32768,
890 3019, 738, 699,-32768, 699, 621, 471,-32768, 2438,-32768,
891 -32768,-32768, 735, 93,-32768,-32768,-32768, 474, 487, 829,
892 -32768,-32768, 1654,-32768,-32768, 3019,-32768, 73, 184,-32768,
893 -32768, 1654,-32768,-32768, 1736,-32768, 1972,-32768,-32768,-32768,
894 1625, 3019, 719,-32768, 3019, 3019, 3894,-32768,-32768,-32768,
895 -32768, 705, 3019, 706,-32768, 725, 204,-32768,-32768, 416,
896 -32768, 226, 1572,-32768,-32768,-32768,-32768, 3019,-32768,-32768,
897 -32768,-32768,-32768,-32768, 471,-32768,-32768, 723, 77, 77,
898 3955, 3019, 314, 397, 397,-32768,-32768, 707,-32768,-32768,
899 710, 3919, 3019,-32768, 713, 1972,-32768,-32768, 716, 3019,
900 778,-32768, 375, 724, 730, 3019,-32768,-32768, 733,-32768,
901 3019,-32768, 522,-32768, 95, 539,-32768, 479,-32768,-32768,
902 2603, 731,-32768, 527,-32768,-32768,-32768,-32768,-32768, 3955,
903 -32768,-32768,-32768,-32768, 3919,-32768,-32768,-32768, 741,-32768,
904 -32768,-32768,-32768, 3937,-32768, 48,-32768, 498,-32768, 498,
905 -32768,-32768,-32768, 737, 755,-32768,-32768,-32768, 3019,-32768,
906 -32768, 812, 743,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
907 747,-32768, 767, 64, 746,-32768,-32768, 623, 623,-32768,
908 -32768, 3019, 812, 751, 812,-32768,-32768, 3019, 753, 66,
909 -32768,-32768, 760,-32768, 599, 765,-32768, 457, 284,-32768,
910 -32768, 768, 599,-32768,-32768, 457, 839, 862,-32768
913 static const short yypgoto[] = {-32768,
914 -32768,-32768,-32768, 105, -375,-32768,-32768,-32768,-32768,-32768,
915 -32768,-32768, -14,-32768, -56, 439, -226, 355,-32768,-32768,
916 -74,-32768, 596,-32768,-32768,-32768,-32768,-32768, 65, -310,
917 -32768, -313, 536,-32768,-32768, 358,-32768, 248, -46, 127,
918 15, 786,-32768, 202, 38, -26, -172, 606, 492, -244,
919 -602, -82, -181, -120,-32768,-32768,-32768, -262, 44, -32,
920 -32768, 460,-32768, 197,-32768, -672,-32768, 86,-32768, -631,
921 -32768,-32768, 186,-32768,-32768,-32768,-32768,-32768,-32768, -73,
922 -109, -502, 2,-32768,-32768,-32768, -78,-32768,-32768,-32768,
923 -32768,-32768, 400, -27,-32768, 533, 414, 216, 526, 407,
924 -24, -75, -159, -168, -236, 392,-32768,-32768, -239,-32768,
925 -32768,-32768, 496, -143,-32768, 326,-32768, -526,-32768,-32768,
926 -32768,-32768, -192, -449, -719, 396,-32768, 34,-32768,-32768,
927 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 35,-32768,
928 -817, -25,-32768, -22,-32768, 502,-32768, -353,-32768, 495,
929 497, 349, -306,-32768,-32768,-32768,-32768, 17,-32768, 903,
930 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
931 -32768,-32768,-32768,-32768, -9, 5, -355,-32768, 368,-32768,
932 280, 91,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -300,
933 -32768,-32768,-32768, 97, 380,-32768,-32768,-32768,-32768, -23,
934 630,-32768,-32768, 404,-32768, 107, 408,-32768, 518, 520,
935 -140,-32768, -127,-32768,-32768, 240, 341,-32768,-32768,-32768,
936 -32768,-32768,-32768, 597,-32768,-32768,-32768
943 static const short yytable[] = { 124,
944 141, 63, 212, 92, 67, 68, 86, 334, 71, 209,
945 63, 74, 220, 446, 72, 445, 32, 32, 42, 42,
946 92, 92, 92, 94, 96, 98, 70, 344, 70, 470,
947 229, 230, 81, 195, 337, 475, 305, 233, 472, 33,
948 33, 422, 181, 405, 414, 36, 36, 92, 242, 306,
949 354, 670, 53, 54, 55, 92, 32, 184, 42, 190,
950 278, 188, 520, 356, 551, 624, 284, 225, 659, 290,
951 778, 70, 799, 321, 80, 70, 88, 886, 192, 33,
952 -113, 471, 547, 578, 861, 36, 213, 922, 477, 462,
953 237, 461, 272, 232, 338, 75, 483, 736, 374, 827,
954 75, 931, 14, 943, 318, 955, 361, 50, 59, 60,
955 851, 413, 198, 199, 263, 264, 265, -1, 424, 855,
956 80, 197, 14, 425, -176, 923, 208, 14, 80, 320,
957 953, 294, -176, 298, 219, 220, -2, 59, 60, 334,
958 344, 944, 328, 956, 662, 686, 99, 687, 301, 76,
959 334, -185, -185, 657, 282, 887, 334, 300, 77, 828,
960 911, 569, 185, -113, 56, 858, 579, 309, 310, 514,
961 313, 314, 714, -176, 61, 92, 518, -176, 422, 62,
962 797, 371, 522, 186, 354, 283, 92, 736, 283, 535,
963 59, 60, 319, 926, 59, 60, 323, 356, 930, 405,
964 932, 650, 695, 61, 147, 192, 187, 220, 62, 940,
965 59, 60, 362, 14, 406, 378, 515, 873, 93, 468,
966 382, 57, 383, 853, 897, 418, 379, 466, 75, 59,
967 60, 469, 197, 14, 80, 495, 419, 208, 80, 357,
968 148, 964, 345, 346, 640, 420, 421, 208, 299, 58,
969 92, -35, 82, 402, 403, 14, 61, 219, 16, 467,
970 61, 62, 519, 844, 845, 62, 198, 199, 51, 52,
971 616, 565, 759, 621, 427, 95, 61, 76, 813, 83,
972 85, 62, 16, 753, 566, 595, 77, 597, 576, 474,
973 14, 97, 434, 577, 491, 61, 59, 60, 635, 436,
974 62, 146, 14, 92, 221, 59, 60, 291, 292, 293,
975 75, 202, 777, 70, 318, 189, 75, 202, 515, 148,
976 622, 768, 769, 626, 283, 224, 14, 193, 627, 501,
977 482, 194, 484, 198, 199, 688, 689, 14, 319, 690,
978 755, 226, 323, 14, 220, 75, 202, 830, 280, 228,
979 362, 607, 244, 761, 736, 59, 60, 281, 282, 203,
980 231, 962, 61, -34, 525, 203, 963, 62, 204, 36,
981 16, 61, 14, 357, 204, 881, 62, 345, 346, 705,
982 208, 205, 786, 208, 208, 182, 89, 205, 90, 198,
983 199, 305, 16, 507, 203, 636, 770, 771, 772, 638,
984 746, 775, 776, 204, 306, 339, 183, 243, 542, 340,
985 294, 946, 947, 433, 239, 318, 205, 240, 75, 202,
986 414, 61, 241, 787, 86, 347, 62, 546, 790, 194,
987 266, 267, 782, 268, 269, 270, 271, 585, 14, 420,
988 421, 70, 574, 533, 682, 14, 575, 684, 549, 550,
989 459, 615, 901, 244, 553, 838, 283, 768, 769, 36,
990 280, 846, 283, -480, 604, 272, 534, 203, 709, 281,
991 282, 362, 36, 75, 655, 36, 204, 554, 565, 273,
992 705, 246, 248, 36, 831, 832, 833, 766, 279, 205,
993 287, 566, 597, 773, 88, 661, 665, 307, 329, 317,
994 14, -339, -339, -339, -339, 197, 311, 86, -176, -339,
995 -339, -339, 324, 613, 350, 629, -176, 614, 558, 559,
996 560, 351, 656, 359, 87, -339, 854, 86, 561, 518,
997 522, 657, 282, 380, 834, 782, 518, 522, 835, 198,
998 199, 367, 368, 369, -339, 558, 559, 560, 143, -86,
999 407, 533, 849, 645, 872, 642, 340, -176, 558, 559,
1000 560, -176, 408, 412, 212, 850, -339, 732, 760, 194,
1001 428, -339, 660, 664, 534, 426, 431, 88, 762, 762,
1002 36, -112, 429, 915, 261, 262, 263, 264, 265, 894,
1003 437, -478, 779, 442, 924, 80, 925, 88, 220, 712,
1004 907, 478, 441, 480, 340, 197, 143, 102, 458, 731,
1005 459, 767, 789, 789, 658, 663, 774, 909, 36, 757,
1006 758, 194, 752, 75, 655, 92, 465, 318, 476, 479,
1007 92, 485, 916, 748, 486, 494, 289, 493, 734, 497,
1008 745, 558, 559, 560, 958, 498, 499, 500, 645, 502,
1009 14, 836, 966, 505, 526, 506, 544, 732, 192, 521,
1010 530, 735, 553, 570, 143, 548, 568, 36, 812, 573,
1011 278, 589, 656, 575, 590, 658, 645, 592, 611, 625,
1012 791, 657, 282, 598, 599, 554, 602, 552, -316, 208,
1013 80, 36, 620, 344, 628, 208, 208, 571, 572, 731,
1014 663, 220, 631, 637, 669, 654, 579, 275, 86, 36,
1015 672, 814, 848, 685, 143, 334, 208, 334, 80, 72,
1016 257, 258, 259, 260, 261, 262, 263, 264, 265, 788,
1017 208, 143, 70, 70, 691, 692, 143, 75, 143, 876,
1018 707, 318, 713, 708, 754, 859, 875, -32, 862, 865,
1019 793, 794, 795, -33, 802, 92, 869, 805, 806, 734,
1020 808, 745, 809, 810, 14, 815, 817, 319, 323, 762,
1021 818, 882, 823, 819, 319, 323, 837, 842, 88, 860,
1022 632, 843, 735, 868, 870, 871, 662, 885, 36, 893,
1023 143, 892, 896, 898, 900, 657, 282, 215, 216, 217,
1024 646, 647, 902, 899, 9, 10, 11, 903, 914, 658,
1025 658, 905, 652, 653, 906, 927, 663, 663, 917, 928,
1026 933, 937, 14, 878, 732, 941, 366, 942, 945, 951,
1027 954, 673, 675, 781, 216, 217, 748, 957, 968, 381,
1028 9, 10, 11, 960, 384, 385, 965, 289, 143, 390,
1029 391, 392, 393, 394, 395, 396, 397, 398, 399, 400,
1030 401, 969, 862, 208, 529, 80, 731, 463, 617, 863,
1031 196, 829, 214, -28, -28, -28, -28, 780, 658, 784,
1032 857, -28, -28, -28, 527, 949, 208, 603, 798, 481,
1033 488, 862, 601, 596, 423, 552, 197, -28, 563, -176,
1034 785, 5, 618, 7, 140, 517, 671, -176, 623, 9,
1035 10, 11, 216, 217, 912, 913, -28, 950, 9, 10,
1036 11, 523, 952, 668, 143, 13, 540, 73, 541, 651,
1037 198, 199, 765, 891, 649, 143, 889, 435, -28, 630,
1038 634, 883, 87, -28, 16, 531, 800, 532, -176, 710,
1039 0, 0, -176, -28, 0, 586, 256, 257, 258, 259,
1040 260, 261, 262, 263, 264, 265, 22, -454, -454, -454,
1041 0, 24, 496, 0, 0, 0, 564, -454, 0, 0,
1042 143, 820, 822, 503, 504, 0, 274, 0, -319, -319,
1043 -319, -319, -319, -319, -319, 0, -319, -319, -319, -319,
1044 -319, 0, -319, -319, -319, -319, -319, -319, -319, -319,
1045 -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
1046 -319, 0, 0, 0, 0, 87, 0, -319, 0, 0,
1047 -319, 0, -319, 0, 0, -319, -319, -319, 0, 0,
1048 0, -319, -319, 0, 0, 87, -319, -319, 0, 0,
1049 0, -319, 0, -319, -319, 0, 0, 289, -319, -319,
1050 0, 0, -319, 0, -319, 275, -319, -319, 0, -319,
1051 0, 0, 0, 0, 0, 0, 676, 0, 0, 0,
1052 600, 259, 260, 261, 262, 263, 264, 265, 329, 0,
1053 -125, -125, -125, -125, -125, -125, -125, 612, -125, -125,
1054 -125, -125, -125, 0, -125, -125, -125, -125, -125, -125,
1055 -125, -125, -125, -125, -125, -125, -125, -125, -125, 0,
1056 -125, -125, -125, 0, 0, 0, 0, 0, 0, -125,
1057 0, 0, -125, 0, -125, 0, 0, -125, -125, -125,
1058 0, 0, 143, -125, -125, 0, 0, 0, -125, -125,
1059 0, 0, 0, -125, 0, -125, -125, 0, 0, 0,
1060 -125, -125, 0, 0, -125, 0, -125, -125, -125, -125,
1061 0, -125, 258, 259, 260, 261, 262, 263, 264, 265,
1062 266, 267, 680, 268, 269, 270, 271, 0, 0, 0,
1063 0, 509, 0, -339, -339, -339, -339, -339, -339, -339,
1064 698, -339, -339, -339, -339, -339, 0, -339, -339, -339,
1065 -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
1066 -339, -339, 0, -339, -339, -339, 87, 0, 0, 0,
1067 0, 0, -339, 0, 0, -339, 0, -339, 0, 0,
1068 -339, -339, -339, 0, 0, 0, -339, -339, 0, 0,
1069 0, -339, -339, 0, 0, 0, -339, 0, -339, -339,
1070 0, 0, 0, -339, -339, 0, 0, -339, 0, -339,
1071 0, -339, -339, 0, -339, 0, 0, 234, 680, 100,
1072 5, 0, 7, 140, 101, 102, 0, 103, 9, 10,
1073 11, 0, 0, 0, 0, 0, 0, 0, 0, 698,
1074 0, 0, 0, 0, 13, 104, 801, 15, 0, 105,
1075 106, 107, 0, 0, 0, 0, 807, 0, 108, 0,
1076 0, 109, 0, 16, 0, 0, 110, 111, 112, 0,
1077 0, 0, 113, 114, 0, 0, 0, 115, 116, 0,
1078 0, 0, 117, 0, 118, 22, 0, 0, 0, 119,
1079 24, 0, 0, 120, 0, 0, 841, 121, 122, 0,
1080 235, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1081 0, 329, 0, 0, -116, -116, -116, -116, 698, 0,
1082 -116, 852, -116, -116, -116, 0, 0, 698, 0, 0,
1083 698, 0, 698, 0, 0, 0, 0, 0, -116, 0,
1084 0, 0, 0, 0, 0, 0, 0, 0, 329, 0,
1085 -339, -339, 0, 0, 0, -339, -339, -116, -339, 0,
1086 0, 0, -339, 0, -339, -339, -339, -339, -339, -339,
1087 -339, -339, -339, -339, -339, 0, -339, 890, -339, -116,
1088 -339, -339, -339, 0, -116, 0, 0, 0, 895, -339,
1089 0, 698, -339, 0, -116, 0, 0, -339, -339, -339,
1090 0, 904, 0, -339, -339, 0, 0, 0, -339, -339,
1091 0, 0, 0, -339, 0, -339, -339, 0, 0, 0,
1092 -339, -339, 0, 0, -339, 0, -339, -312, -339, -339,
1093 824, -339, -339, -339, 0, 0, 0, -339, -339, 0,
1094 -339, 0, 0, 0, -339, 0, -339, -339, -339, -339,
1095 -339, -339, -339, -339, -339, -339, -339, 0, -339, 0,
1096 -339, 0, -339, -339, -339, 0, 0, 0, 0, 0,
1097 0, -339, 0, 0, -339, 0, 0, 0, 0, -339,
1098 -339, -339, 0, 0, 0, -339, -339, 0, 0, 0,
1099 -339, -339, 0, 0, 0, -339, 0, -339, -339, 0,
1100 0, 0, -339, -339, 0, 0, -339, 0, -339, 0,
1101 -339, -339, 879, -339, -349, -349, 0, 0, 0, -349,
1102 -349, 0, -349, 0, 0, 0, -349, 0, -349, -349,
1103 -349, -349, -349, -349, -349, -349, -349, -349, -349, 0,
1104 -349, 0, -349, 0, -349, -349, -349, 0, 0, 0,
1105 0, 0, 0, -349, 0, 0, -349, 0, 0, 0,
1106 0, -349, -349, -349, 0, 0, 0, -349, -349, 0,
1107 0, 0, -349, -349, 0, 0, 0, -349, 0, -349,
1108 -349, 0, 0, 0, -349, -349, 0, 0, -349, 0,
1109 -349, 0, -349, -349, 693, -349, 694, 60, 0, 0,
1110 0, 101, 102, 251, 103, 252, 253, 254, 255, 256,
1111 257, 258, 259, 260, 261, 262, 263, 264, 265, 0,
1112 0, 0, 104, 0, 15, 0, 105, 106, 107, 0,
1113 0, 0, 0, 0, 0, 108, 0, 0, 109, 0,
1114 0, 0, 0, 110, 111, 112, 0, 0, 0, 113,
1115 114, 0, 0, 695, 115, 116, 0, 0, 0, 117,
1116 0, 118, 61, 0, 0, 0, 119, 62, 0, 0,
1117 120, 0, 0, -204, 121, 122, 693, 696, 694, 60,
1118 0, 0, 0, 101, 102, 0, 103, 253, 254, 255,
1119 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
1120 0, 0, 0, 0, 104, 0, 15, 0, 105, 106,
1121 107, 0, 0, 0, 0, 0, 0, 108, 0, 0,
1122 109, 0, 0, 0, 0, 110, 111, 112, 0, 0,
1123 0, 113, 114, 0, 0, 695, 115, 116, 0, 0,
1124 0, 117, 0, 118, 61, 0, 0, 0, 119, 62,
1125 0, 0, 120, 0, 0, -269, 121, 122, 693, 696,
1126 100, 0, 0, 0, 0, 101, 102, 0, 103, 254,
1127 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1128 265, 0, 0, 0, 0, 0, 104, 0, 15, 0,
1129 105, 106, 107, 0, 0, -217, 0, 0, 0, 108,
1130 0, 0, 109, 0, 0, 0, 0, 110, 111, 112,
1131 0, 0, 0, 113, 114, 0, 0, -217, 115, 116,
1132 0, 0, 0, 117, 0, 118, 0, 0, 0, 0,
1133 119, 0, 0, 0, 120, 678, 0, 100, 121, 122,
1134 0, 696, 101, 102, 0, 103, 255, 256, 257, 258,
1135 259, 260, 261, 262, 263, 264, 265, 0, 0, 0,
1136 0, 0, 0, 104, 0, 15, 0, 105, 106, 107,
1137 0, 0, 0, 0, 0, 0, 108, 0, 0, 109,
1138 0, 0, 0, 0, 110, 111, 112, 0, 0, 0,
1139 113, 114, 0, 0, 0, 115, 116, 0, 0, 0,
1140 117, 0, 118, 0, 0, 0, 0, 119, 0, 0,
1141 0, 120, 693, 0, 100, 121, 122, 0, 679, 101,
1142 102, 0, 103, 4, 0, -129, 5, 6, 7, 8,
1143 0, 0, 0, 0, 9, 10, 11, 0, 0, 0,
1144 104, 0, 15, 0, 105, 106, 107, 0, 0, 0,
1145 13, 0, 14, 108, 0, 0, 109, 0, 0, 0,
1146 0, 110, 111, 112, 0, 0, 0, 113, 114, 16,
1147 0, 0, 115, 116, -129, 0, 0, 117, 0, 118,
1148 0, 0, 0, -129, 119, 0, 0, 0, 120, 0,
1149 0, 22, 121, 122, 348, 696, 24, -24, -24, -24,
1150 -24, 27, 0, 0, 0, -24, -24, -24, 0, 0,
1151 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1152 197, -24, 342, -176, 0, -20, -20, -20, -20, 0,
1153 0, -176, 0, -20, -20, -20, 5, 6, 7, 8,
1154 -24, 0, 0, 0, 9, 10, 11, 0, 197, -20,
1155 0, -176, 0, 0, 198, 199, 0, 0, 0, -176,
1156 13, 0, -24, 0, 0, 0, 0, -24, -20, 0,
1157 0, 0, -176, 0, 0, 0, -176, -24, 0, 16,
1158 329, 0, 0, 5, 6, 7, 8, 0, 0, 0,
1159 -20, 9, 10, 11, 0, -20, 0, 0, 0, 0,
1160 -176, 22, 0, 0, -176, -20, 24, 13, 329, 14,
1161 0, -502, -502, -502, -502, 0, 0, 0, 0, -502,
1162 -502, -502, 5, 0, 7, 140, 16, 0, 0, 0,
1163 9, 10, 11, 0, 0, -502, 100, -502, 0, 0,
1164 0, 101, 102, 0, 103, 0, 13, 0, 22, 0,
1165 0, 0, 0, 24, -502, 0, 0, 0, 0, 0,
1166 0, 0, 104, -500, 15, 16, 105, 106, 107, 0,
1167 0, 0, 0, 0, 0, 108, -502, 0, 109, 0,
1168 0, -502, 0, 110, 111, 112, 0, 22, 0, 113,
1169 114, -502, 24, 0, 115, 116, 0, 100, 0, 117,
1170 0, 118, 101, 102, 0, 103, 119, 0, 0, 0,
1171 120, 0, 0, 0, 121, 122, 0, 0, 327, 0,
1172 0, 0, 0, 104, 0, 15, 0, 105, 106, 107,
1173 0, 0, 0, 0, 0, 0, 108, 0, 0, 109,
1174 0, 0, 0, 0, 110, 111, 112, 0, 0, 0,
1175 113, 114, 0, 0, 0, 115, 116, 0, 100, 0,
1176 117, 0, 118, 101, 102, 0, 103, 119, 0, 0,
1177 0, 120, 0, 0, 0, 121, 122, 0, 0, 417,
1178 0, 0, 0, 0, 104, 0, 15, 0, 105, 106,
1179 107, 0, 0, 0, 0, 0, 0, 108, 0, 0,
1180 109, 0, 0, 0, 0, 110, 111, 112, 0, 0,
1181 0, 113, 114, 0, 0, 0, 115, 116, 0, 100,
1182 0, 117, 0, 118, 101, 102, 0, 103, 119, 0,
1183 0, 0, 120, 0, 0, 0, 121, 122, 0, 0,
1184 473, 0, 0, 0, 0, 104, 0, 15, 0, 105,
1185 106, 107, 0, 0, 0, 0, 0, 0, 108, 0,
1186 0, 109, 0, 0, 0, 0, 110, 111, 112, 0,
1187 0, 0, 113, 114, 0, 0, 0, 115, 116, 0,
1188 100, 0, 117, 0, 118, 101, 102, 0, 103, 119,
1189 0, 0, 0, 120, 0, 0, 0, 121, 122, 0,
1190 0, 524, 0, 0, 0, 0, 104, 0, 15, 0,
1191 105, 106, 107, 0, 0, 0, 0, 0, 0, 108,
1192 0, 0, 109, 0, 0, 0, 0, 110, 111, 112,
1193 0, 0, 0, 113, 114, 0, 0, 0, 115, 116,
1194 0, 0, 0, 117, 0, 118, 0, 0, 0, 0,
1195 119, 0, 0, 0, 120, 0, 0, 0, 121, 122,
1196 0, 0, 847, 694, 715, 6, 7, 8, 101, 102,
1197 0, 103, 9, 10, 11, 716, 0, 717, 718, 719,
1198 720, 721, 722, 723, 724, 725, 726, 727, 13, 104,
1199 14, 15, 0, 105, 106, 107, 0, 0, 0, 0,
1200 0, 0, 108, 0, 0, 109, 0, 16, 0, 0,
1201 110, 111, 112, 0, 0, 0, 113, 114, 0, 0,
1202 0, 115, 116, 0, 0, 0, 117, 0, 118, 728,
1203 0, 0, 0, 119, 729, 0, 0, 120, 0, 730,
1204 0, 121, 122, 0, 579, 694, 60, 0, 0, 0,
1205 101, 102, 0, 103, 0, 0, 0, 716, 0, 717,
1206 718, 719, 720, 721, 722, 723, 724, 725, 726, 727,
1207 0, 104, 0, 15, 0, 105, 106, 107, 0, 0,
1208 0, 0, 0, 0, 108, 0, 0, 109, 0, 0,
1209 0, 0, 110, 111, 112, 0, 0, 0, 113, 114,
1210 0, 100, 0, 115, 116, 0, 101, 102, 117, 103,
1211 118, 61, 0, 0, 0, 119, 62, 0, 0, 120,
1212 0, 730, 0, 121, 122, 0, 579, 104, 0, 15,
1213 0, 105, 106, 107, 0, 0, 0, 0, 0, 0,
1214 108, 0, 0, 109, 0, 0, 0, 0, 110, 111,
1215 112, 0, 0, 0, 113, 114, 0, 0, 0, 115,
1216 116, 0, 0, 0, 117, 0, 118, 0, 0, 0,
1217 0, 119, 0, 0, 0, 120, 0, 0, 0, 121,
1218 122, 0, 490, 149, 150, 0, 151, 152, 0, 0,
1219 0, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1220 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
1221 0, 0, 0, 100, 5, 6, 7, 8, 101, 102,
1222 172, 103, 9, 10, 11, 5, 6, 7, 8, 0,
1223 0, 0, 0, 9, 10, 11, 0, 0, 13, 104,
1224 14, 15, 0, 105, 106, 107, 0, 0, 0, 13,
1225 0, 14, 108, 0, 174, 109, 0, 16, 0, 0,
1226 110, 111, 112, 303, 0, 0, 113, 114, 16, 0,
1227 0, 115, 116, 0, 0, 0, 117, 0, 118, 22,
1228 0, 0, 0, 119, 24, 0, 0, 120, 0, 0,
1229 22, 121, 122, 100, 5, 24, 7, 140, 101, 102,
1230 84, 103, 9, 10, 11, 0, 0, 0, 0, 0,
1231 0, 0, 0, 0, 0, 0, 0, 0, 13, 104,
1232 0, 15, 0, 105, 106, 107, 0, 0, 0, 0,
1233 0, 0, 108, 0, 0, 109, 0, 16, 0, 0,
1234 110, 111, 112, 0, 0, 0, 113, 114, 0, 100,
1235 0, 115, 116, 0, 101, 102, 117, 103, 118, 22,
1236 0, 0, 0, 119, 24, 0, 0, 120, 0, 0,
1237 0, 121, 122, 0, 0, 104, 0, 15, 0, 105,
1238 106, 107, 0, 0, 0, 0, 0, 0, 108, 0,
1239 0, 109, 0, 0, 0, 0, 110, 111, 112, 0,
1240 0, 0, 113, 114, 0, 100, 0, 115, 116, 0,
1241 101, 102, 117, 103, 118, 370, 0, 0, 0, 119,
1242 0, 0, 0, 120, 0, 0, 0, 121, 122, 0,
1243 0, 104, 0, 15, 0, 105, 106, 107, 0, 0,
1244 0, 0, 0, 0, 108, 0, 0, 109, 0, 0,
1245 0, 0, 110, 111, 112, 0, 0, 0, 113, 114,
1246 0, 100, 0, 115, 116, 0, 101, 102, 117, 103,
1247 118, 0, 0, 0, 0, 119, 0, 0, 0, 120,
1248 0, 811, 0, 121, 122, 0, 0, 104, 0, 15,
1249 0, 105, 106, 107, 0, 0, 0, 0, 0, 0,
1250 108, 0, 0, 109, 0, 0, 0, 0, 110, 111,
1251 112, 0, 0, 0, 113, 114, 0, 100, 0, 115,
1252 116, 0, 101, 102, 117, 103, 118, 0, 0, 0,
1253 0, 119, 0, 0, 0, 120, 0, 0, 0, 121,
1254 122, 0, 0, 104, 0, 15, 0, 105, 106, 107,
1255 0, 0, 0, 0, 0, 0, 108, 0, 0, 109,
1256 0, 0, 0, 0, 110, 111, 112, 0, 0, 0,
1257 113, 114, 0, 100, 0, 245, 116, 0, 101, 102,
1258 117, 103, 118, 0, 0, 0, 0, 119, 0, 0,
1259 0, 120, 0, 0, 0, 121, 122, 0, 0, 104,
1260 0, 15, 0, 105, 106, 107, 0, 0, 0, 0,
1261 0, 0, 108, 0, 0, 109, 0, 0, 0, 0,
1262 110, 111, 112, 0, 0, 0, 113, 114, 0, 528,
1263 0, 247, 116, 0, 101, 102, 117, 103, 118, 0,
1264 0, 0, 0, 119, 0, 0, 0, 120, 0, 0,
1265 0, 121, 122, 0, 0, 104, 0, 15, 0, 105,
1266 106, 107, 0, 0, 0, 0, 0, 0, 108, 0,
1267 0, 109, 0, 0, 0, 0, 110, 111, 112, 0,
1268 0, 0, 113, 114, 0, 0, 0, 115, 116, 0,
1269 0, 0, 117, 0, 118, 0, 0, 0, 0, 119,
1270 0, 0, 0, 120, 0, 0, 563, 121, 122, 5,
1271 352, 7, 140, 5, 0, 7, 140, 9, 10, 11,
1272 0, 9, 10, 11, 0, 0, 0, 0, 0, 0,
1273 0, 0, 0, 13, 0, 0, 0, 13, 0, 5,
1274 15, 7, 288, 0, 0, 0, 0, 9, 10, 11,
1275 0, 0, 16, 0, 0, 0, 16, 5, 89, 7,
1276 90, 0, 0, 13, 0, 9, 10, 11, 0, 0,
1277 0, 0, 0, 0, 22, -453, -453, -453, 22, 24,
1278 0, 13, 16, 24, 564, -453, 0, 0, 353, -272,
1279 4, 0, -129, 5, 6, 7, 8, 0, 0, 0,
1280 16, 9, 10, 11, 22, 0, 0, 0, 0, 24,
1281 0, 0, 0, 0, -281, -281, 12, 13, 0, 14,
1282 15, 0, 22, 0, 0, 0, 0, 24, 0, 0,
1283 0, 0, 674, 0, 0, 0, 16, 0, 0, 17,
1284 18, -129, 0, 0, 0, 0, 0, 0, 0, 0,
1285 -129, 0, 19, 20, 21, 0, 0, 0, 22, 0,
1286 0, 0, 23, 24, 25, 26, 0, 4, 27, -129,
1287 5, 6, 7, 8, 0, 0, 0, 0, 9, 10,
1288 11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1289 0, 0, 0, 0, 13, 447, 14, 448, 5, 6,
1290 7, 8, 0, 0, 449, 0, 9, 10, 11, 0,
1291 0, 0, 0, 16, 0, 0, 549, 550, -129, 0,
1292 0, 0, 13, 0, 14, 447, 0, -129, 5, 6,
1293 7, 8, 0, 0, 449, 22, 9, 10, 11, 0,
1294 24, 16, 0, 0, 0, 27, 0, 0, 0, 0,
1295 0, 0, 13, 0, 14, 0, 5, 6, 7, 8,
1296 0, 0, 0, 22, 9, 10, 11, 0, 24, 0,
1297 0, 16, -399, 0, 0, 0, 0, 0, 0, 0,
1298 13, 0, 14, 0, 0, 0, 5, 6, 7, 8,
1299 0, 0, 0, 22, 9, 10, 11, 0, 24, 16,
1300 0, 0, -399, 352, 0, 0, 5, 0, 7, 140,
1301 13, 0, 14, 0, 9, 10, 11, 0, 0, 0,
1302 0, 22, 0, 0, 0, 0, 24, 0, 0, 16,
1303 13, 633, 0, 15, 0, 0, 0, 0, 0, 0,
1304 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
1305 0, 22, 0, 0, 0, 0, 24, 0, 0, 0,
1306 0, 821, 0, 0, 0, 0, 0, 0, 0, 149,
1307 150, 22, 151, 152, 0, 0, 24, 153, 154, 155,
1308 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
1309 166, 167, 168, 169, 170, 171, 0, 0, 0, 149,
1310 150, 0, 151, 152, 0, 0, 172, 153, 154, 155,
1311 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
1312 166, 167, 168, 169, 170, 171, 0, 173, 0, 0,
1313 0, 0, 0, 0, 149, 150, 373, 151, 152, 0,
1314 174, 0, 153, 154, 155, 156, 157, 158, 159, 160,
1315 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
1316 171, 0, 0, 0, 149, 150, 0, 151, 152, 0,
1317 174, 172, 153, 154, 155, 156, 157, 158, 159, 160,
1318 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
1319 171, 0, 0, 0, 5, 0, 7, 288, 0, 0,
1320 0, 606, 9, 10, 11, 174, 5, 6, 7, 8,
1321 0, 0, 449, 0, 9, 10, 11, 0, 13, 0,
1322 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1323 13, 0, 14, 0, 0, 174, 0, 16, 0, 0,
1324 0, 0, 280, 0, 0, 0, 0, 0, 0, 16,
1325 0, 281, 282, 0, 0, 0, 0, 0, 0, 22,
1326 5, 6, 7, 8, 24, 0, 667, 0, 9, 10,
1327 11, 22, 5, 6, 7, 8, 24, 0, 0, 0,
1328 9, 10, 11, 0, 13, 5, 14, 7, 288, 0,
1329 0, 0, 0, 9, 10, 11, 13, 0, 14, 0,
1330 0, 0, 0, 16, 0, 0, 0, 0, 0, 13,
1331 0, 0, 0, 0, 0, 16, 0, 0, 0, 0,
1332 0, 0, 0, 0, 0, 22, 0, 0, 16, 0,
1333 24, 0, 0, 0, 0, 0, 0, 22, 0, 0,
1334 0, 0, 24, 866, 0, 0, 0, 0, 0, 0,
1335 22, 0, 249, 250, 251, 24, 252, 253, 254, 255,
1336 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
1337 249, 250, 251, 867, 252, 253, 254, 255, 256, 257,
1338 258, 259, 260, 261, 262, 263, 264, 265, 14, 0,
1339 0, 0, 0, 0, 0, 249, 250, 251, 489, 252,
1340 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
1341 263, 264, 265, 249, 250, 251, 921, 252, 253, 254,
1342 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1343 265, 249, 250, 251, 0, 252, 253, 254, 255, 256,
1344 257, 258, 259, 260, 261, 262, 263, 264, 265
1347 static const short yycheck[] = { 56,
1348 57, 16, 85, 36, 19, 20, 33, 200, 23, 83,
1349 25, 26, 91, 324, 24, 316, 2, 3, 2, 3,
1350 53, 54, 55, 38, 39, 40, 22, 209, 24, 343,
1351 105, 106, 31, 80, 203, 349, 177, 112, 345, 2,
1352 3, 286, 66, 270, 281, 2, 3, 80, 123, 177,
1353 223, 578, 9, 10, 11, 88, 42, 67, 42, 74,
1354 135, 71, 416, 223, 440, 515, 142, 95, 571, 145,
1355 673, 67, 704, 194, 31, 71, 33, 1, 77, 42,
1356 1, 344, 438, 1, 804, 42, 85, 40, 351, 10,
1357 115, 331, 9, 108, 204, 3, 359, 624, 239, 1,
1358 3, 919, 30, 40, 7, 40, 1, 3, 3, 4,
1359 783, 280, 61, 62, 52, 53, 54, 0, 78, 792,
1360 77, 27, 30, 83, 30, 78, 83, 30, 85, 78,
1361 948, 146, 38, 148, 91, 214, 0, 3, 4, 332,
1362 322, 78, 199, 78, 52, 595, 42, 597, 173, 52,
1363 343, 79, 80, 61, 62, 79, 349, 172, 61, 61,
1364 880, 78, 40, 84, 61, 797, 84, 182, 183, 409,
1365 185, 186, 622, 79, 69, 208, 413, 83, 423, 74,
1366 38, 238, 419, 61, 357, 142, 219, 714, 145, 429,
1367 3, 4, 191, 913, 3, 4, 195, 357, 918, 426,
1368 920, 557, 60, 69, 47, 204, 84, 286, 74, 929,
1369 3, 4, 227, 30, 271, 240, 409, 820, 84, 340,
1370 245, 61, 247, 40, 856, 282, 241, 337, 3, 3,
1371 4, 341, 27, 30, 191, 376, 283, 194, 195, 223,
1372 83, 961, 61, 62, 545, 61, 62, 204, 61, 61,
1373 283, 40, 79, 268, 269, 30, 69, 214, 47, 78,
1374 69, 74, 78, 766, 767, 74, 61, 62, 79, 80,
1375 510, 444, 648, 513, 299, 84, 69, 52, 52, 32,
1376 33, 74, 47, 639, 444, 478, 61, 480, 78, 346,
1377 30, 84, 307, 83, 369, 69, 3, 4, 538, 309,
1378 74, 61, 30, 336, 67, 3, 4, 5, 6, 7,
1379 3, 4, 666, 309, 7, 79, 3, 4, 511, 83,
1380 513, 61, 62, 78, 281, 84, 30, 79, 83, 386,
1381 358, 83, 360, 61, 62, 598, 599, 30, 337, 602,
1382 641, 84, 341, 30, 423, 3, 4, 78, 52, 84,
1383 365, 492, 83, 40, 881, 3, 4, 61, 62, 52,
1384 61, 78, 69, 40, 421, 52, 83, 74, 61, 326,
1385 47, 69, 30, 357, 61, 825, 74, 61, 62, 606,
1386 337, 74, 40, 340, 341, 40, 5, 74, 7, 61,
1387 62, 532, 47, 408, 52, 539, 659, 660, 661, 543,
1388 627, 664, 665, 61, 532, 79, 61, 78, 433, 83,
1389 425, 938, 939, 61, 61, 7, 74, 61, 3, 4,
1390 657, 69, 61, 686, 451, 79, 74, 437, 691, 83,
1391 56, 57, 677, 59, 60, 61, 62, 464, 30, 61,
1392 62, 437, 79, 429, 588, 30, 83, 591, 50, 51,
1393 79, 80, 78, 83, 440, 756, 413, 61, 62, 416,
1394 52, 768, 419, 65, 489, 9, 429, 52, 609, 61,
1395 62, 486, 429, 3, 4, 432, 61, 440, 651, 77,
1396 707, 127, 128, 440, 747, 748, 749, 656, 78, 74,
1397 78, 651, 685, 662, 451, 571, 572, 40, 1, 79,
1398 30, 4, 5, 6, 7, 27, 84, 534, 30, 12,
1399 13, 14, 61, 79, 61, 530, 38, 83, 70, 71,
1400 72, 80, 52, 80, 33, 28, 789, 554, 80, 766,
1401 767, 61, 62, 79, 79, 780, 773, 774, 83, 61,
1402 62, 78, 78, 78, 47, 70, 71, 72, 57, 40,
1403 78, 537, 79, 552, 817, 80, 83, 79, 70, 71,
1404 72, 83, 32, 78, 647, 79, 69, 624, 80, 83,
1405 78, 74, 571, 572, 537, 61, 10, 534, 652, 653,
1406 537, 84, 79, 884, 50, 51, 52, 53, 54, 852,
1407 78, 65, 675, 78, 908, 552, 910, 554, 677, 614,
1408 79, 354, 84, 356, 83, 27, 115, 9, 85, 624,
1409 79, 658, 686, 687, 571, 572, 663, 79, 575, 643,
1410 644, 83, 637, 3, 4, 658, 38, 7, 69, 79,
1411 663, 38, 895, 632, 83, 78, 145, 40, 624, 78,
1412 624, 70, 71, 72, 955, 78, 78, 78, 647, 40,
1413 30, 80, 963, 78, 78, 85, 84, 714, 657, 85,
1414 78, 624, 648, 78, 173, 65, 65, 624, 725, 78,
1415 745, 38, 52, 83, 85, 632, 675, 78, 40, 85,
1416 695, 61, 62, 80, 80, 648, 80, 440, 80, 646,
1417 647, 648, 80, 875, 78, 652, 653, 450, 451, 714,
1418 657, 780, 79, 78, 3, 79, 84, 80, 735, 666,
1419 79, 726, 769, 83, 223, 908, 673, 910, 675, 729,
1420 46, 47, 48, 49, 50, 51, 52, 53, 54, 686,
1421 687, 240, 728, 729, 80, 78, 245, 3, 247, 822,
1422 40, 7, 80, 85, 65, 802, 820, 40, 805, 806,
1423 40, 80, 83, 40, 61, 788, 813, 61, 61, 745,
1424 40, 745, 79, 79, 30, 7, 40, 766, 767, 843,
1425 79, 828, 16, 79, 773, 774, 65, 40, 735, 61,
1426 533, 83, 745, 79, 79, 61, 52, 65, 745, 80,
1427 299, 85, 80, 78, 17, 61, 62, 5, 6, 7,
1428 553, 554, 79, 860, 12, 13, 14, 78, 78, 766,
1429 767, 79, 565, 566, 871, 79, 773, 774, 78, 65,
1430 9, 79, 30, 822, 881, 79, 231, 61, 83, 79,
1431 78, 584, 585, 5, 6, 7, 835, 78, 0, 244,
1432 12, 13, 14, 79, 249, 250, 79, 356, 357, 254,
1433 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1434 265, 0, 919, 820, 426, 822, 881, 332, 511, 805,
1435 1, 745, 87, 4, 5, 6, 7, 676, 835, 683,
1436 795, 12, 13, 14, 425, 942, 843, 488, 703, 357,
1437 365, 948, 486, 480, 289, 648, 27, 28, 1, 30,
1438 685, 4, 511, 6, 7, 410, 581, 38, 513, 12,
1439 13, 14, 6, 7, 881, 881, 47, 943, 12, 13,
1440 14, 420, 945, 575, 433, 28, 432, 25, 432, 562,
1441 61, 62, 653, 843, 555, 444, 840, 308, 69, 532,
1442 537, 835, 451, 74, 47, 428, 707, 428, 79, 609,
1443 -1, -1, 83, 84, -1, 464, 45, 46, 47, 48,
1444 49, 50, 51, 52, 53, 54, 69, 70, 71, 72,
1445 -1, 74, 376, -1, -1, -1, 79, 80, -1, -1,
1446 489, 734, 735, 388, 389, -1, 1, -1, 3, 4,
1447 5, 6, 7, 8, 9, -1, 11, 12, 13, 14,
1448 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
1449 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1450 35, -1, -1, -1, -1, 534, -1, 42, -1, -1,
1451 45, -1, 47, -1, -1, 50, 51, 52, -1, -1,
1452 -1, 56, 57, -1, -1, 554, 61, 62, -1, -1,
1453 -1, 66, -1, 68, 69, -1, -1, 566, 73, 74,
1454 -1, -1, 77, -1, 79, 80, 81, 82, -1, 84,
1455 -1, -1, -1, -1, -1, -1, 585, -1, -1, -1,
1456 485, 48, 49, 50, 51, 52, 53, 54, 1, -1,
1457 3, 4, 5, 6, 7, 8, 9, 502, 11, 12,
1458 13, 14, 15, -1, 17, 18, 19, 20, 21, 22,
1459 23, 24, 25, 26, 27, 28, 29, 30, 31, -1,
1460 33, 34, 35, -1, -1, -1, -1, -1, -1, 42,
1461 -1, -1, 45, -1, 47, -1, -1, 50, 51, 52,
1462 -1, -1, 651, 56, 57, -1, -1, -1, 61, 62,
1463 -1, -1, -1, 66, -1, 68, 69, -1, -1, -1,
1464 73, 74, -1, -1, 77, -1, 79, 80, 81, 82,
1465 -1, 84, 47, 48, 49, 50, 51, 52, 53, 54,
1466 56, 57, 587, 59, 60, 61, 62, -1, -1, -1,
1467 -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
1468 605, 11, 12, 13, 14, 15, -1, 17, 18, 19,
1469 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1470 30, 31, -1, 33, 34, 35, 735, -1, -1, -1,
1471 -1, -1, 42, -1, -1, 45, -1, 47, -1, -1,
1472 50, 51, 52, -1, -1, -1, 56, 57, -1, -1,
1473 -1, 61, 62, -1, -1, -1, 66, -1, 68, 69,
1474 -1, -1, -1, 73, 74, -1, -1, 77, -1, 79,
1475 -1, 81, 82, -1, 84, -1, -1, 1, 683, 3,
1476 4, -1, 6, 7, 8, 9, -1, 11, 12, 13,
1477 14, -1, -1, -1, -1, -1, -1, -1, -1, 704,
1478 -1, -1, -1, -1, 28, 29, 711, 31, -1, 33,
1479 34, 35, -1, -1, -1, -1, 721, -1, 42, -1,
1480 -1, 45, -1, 47, -1, -1, 50, 51, 52, -1,
1481 -1, -1, 56, 57, -1, -1, -1, 61, 62, -1,
1482 -1, -1, 66, -1, 68, 69, -1, -1, -1, 73,
1483 74, -1, -1, 77, -1, -1, 761, 81, 82, -1,
1484 84, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1485 -1, 1, -1, -1, 4, 5, 6, 7, 783, -1,
1486 10, 786, 12, 13, 14, -1, -1, 792, -1, -1,
1487 795, -1, 797, -1, -1, -1, -1, -1, 28, -1,
1488 -1, -1, -1, -1, -1, -1, -1, -1, 1, -1,
1489 3, 4, -1, -1, -1, 8, 9, 47, 11, -1,
1490 -1, -1, 15, -1, 17, 18, 19, 20, 21, 22,
1491 23, 24, 25, 26, 27, -1, 29, 842, 31, 69,
1492 33, 34, 35, -1, 74, -1, -1, -1, 853, 42,
1493 -1, 856, 45, -1, 84, -1, -1, 50, 51, 52,
1494 -1, 866, -1, 56, 57, -1, -1, -1, 61, 62,
1495 -1, -1, -1, 66, -1, 68, 69, -1, -1, -1,
1496 73, 74, -1, -1, 77, -1, 79, 80, 81, 82,
1497 1, 84, 3, 4, -1, -1, -1, 8, 9, -1,
1498 11, -1, -1, -1, 15, -1, 17, 18, 19, 20,
1499 21, 22, 23, 24, 25, 26, 27, -1, 29, -1,
1500 31, -1, 33, 34, 35, -1, -1, -1, -1, -1,
1501 -1, 42, -1, -1, 45, -1, -1, -1, -1, 50,
1502 51, 52, -1, -1, -1, 56, 57, -1, -1, -1,
1503 61, 62, -1, -1, -1, 66, -1, 68, 69, -1,
1504 -1, -1, 73, 74, -1, -1, 77, -1, 79, -1,
1505 81, 82, 1, 84, 3, 4, -1, -1, -1, 8,
1506 9, -1, 11, -1, -1, -1, 15, -1, 17, 18,
1507 19, 20, 21, 22, 23, 24, 25, 26, 27, -1,
1508 29, -1, 31, -1, 33, 34, 35, -1, -1, -1,
1509 -1, -1, -1, 42, -1, -1, 45, -1, -1, -1,
1510 -1, 50, 51, 52, -1, -1, -1, 56, 57, -1,
1511 -1, -1, 61, 62, -1, -1, -1, 66, -1, 68,
1512 69, -1, -1, -1, 73, 74, -1, -1, 77, -1,
1513 79, -1, 81, 82, 1, 84, 3, 4, -1, -1,
1514 -1, 8, 9, 39, 11, 41, 42, 43, 44, 45,
1515 46, 47, 48, 49, 50, 51, 52, 53, 54, -1,
1516 -1, -1, 29, -1, 31, -1, 33, 34, 35, -1,
1517 -1, -1, -1, -1, -1, 42, -1, -1, 45, -1,
1518 -1, -1, -1, 50, 51, 52, -1, -1, -1, 56,
1519 57, -1, -1, 60, 61, 62, -1, -1, -1, 66,
1520 -1, 68, 69, -1, -1, -1, 73, 74, -1, -1,
1521 77, -1, -1, 80, 81, 82, 1, 84, 3, 4,
1522 -1, -1, -1, 8, 9, -1, 11, 42, 43, 44,
1523 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1524 -1, -1, -1, -1, 29, -1, 31, -1, 33, 34,
1525 35, -1, -1, -1, -1, -1, -1, 42, -1, -1,
1526 45, -1, -1, -1, -1, 50, 51, 52, -1, -1,
1527 -1, 56, 57, -1, -1, 60, 61, 62, -1, -1,
1528 -1, 66, -1, 68, 69, -1, -1, -1, 73, 74,
1529 -1, -1, 77, -1, -1, 80, 81, 82, 1, 84,
1530 3, -1, -1, -1, -1, 8, 9, -1, 11, 43,
1531 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1532 54, -1, -1, -1, -1, -1, 29, -1, 31, -1,
1533 33, 34, 35, -1, -1, 38, -1, -1, -1, 42,
1534 -1, -1, 45, -1, -1, -1, -1, 50, 51, 52,
1535 -1, -1, -1, 56, 57, -1, -1, 60, 61, 62,
1536 -1, -1, -1, 66, -1, 68, -1, -1, -1, -1,
1537 73, -1, -1, -1, 77, 1, -1, 3, 81, 82,
1538 -1, 84, 8, 9, -1, 11, 44, 45, 46, 47,
1539 48, 49, 50, 51, 52, 53, 54, -1, -1, -1,
1540 -1, -1, -1, 29, -1, 31, -1, 33, 34, 35,
1541 -1, -1, -1, -1, -1, -1, 42, -1, -1, 45,
1542 -1, -1, -1, -1, 50, 51, 52, -1, -1, -1,
1543 56, 57, -1, -1, -1, 61, 62, -1, -1, -1,
1544 66, -1, 68, -1, -1, -1, -1, 73, -1, -1,
1545 -1, 77, 1, -1, 3, 81, 82, -1, 84, 8,
1546 9, -1, 11, 1, -1, 3, 4, 5, 6, 7,
1547 -1, -1, -1, -1, 12, 13, 14, -1, -1, -1,
1548 29, -1, 31, -1, 33, 34, 35, -1, -1, -1,
1549 28, -1, 30, 42, -1, -1, 45, -1, -1, -1,
1550 -1, 50, 51, 52, -1, -1, -1, 56, 57, 47,
1551 -1, -1, 61, 62, 52, -1, -1, 66, -1, 68,
1552 -1, -1, -1, 61, 73, -1, -1, -1, 77, -1,
1553 -1, 69, 81, 82, 1, 84, 74, 4, 5, 6,
1554 7, 79, -1, -1, -1, 12, 13, 14, -1, -1,
1555 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1556 27, 28, 1, 30, -1, 4, 5, 6, 7, -1,
1557 -1, 38, -1, 12, 13, 14, 4, 5, 6, 7,
1558 47, -1, -1, -1, 12, 13, 14, -1, 27, 28,
1559 -1, 30, -1, -1, 61, 62, -1, -1, -1, 38,
1560 28, -1, 69, -1, -1, -1, -1, 74, 47, -1,
1561 -1, -1, 79, -1, -1, -1, 83, 84, -1, 47,
1562 1, -1, -1, 4, 5, 6, 7, -1, -1, -1,
1563 69, 12, 13, 14, -1, 74, -1, -1, -1, -1,
1564 79, 69, -1, -1, 83, 84, 74, 28, 1, 30,
1565 -1, 4, 5, 6, 7, -1, -1, -1, -1, 12,
1566 13, 14, 4, -1, 6, 7, 47, -1, -1, -1,
1567 12, 13, 14, -1, -1, 28, 3, 30, -1, -1,
1568 -1, 8, 9, -1, 11, -1, 28, -1, 69, -1,
1569 -1, -1, -1, 74, 47, -1, -1, -1, -1, -1,
1570 -1, -1, 29, 84, 31, 47, 33, 34, 35, -1,
1571 -1, -1, -1, -1, -1, 42, 69, -1, 45, -1,
1572 -1, 74, -1, 50, 51, 52, -1, 69, -1, 56,
1573 57, 84, 74, -1, 61, 62, -1, 3, -1, 66,
1574 -1, 68, 8, 9, -1, 11, 73, -1, -1, -1,
1575 77, -1, -1, -1, 81, 82, -1, -1, 85, -1,
1576 -1, -1, -1, 29, -1, 31, -1, 33, 34, 35,
1577 -1, -1, -1, -1, -1, -1, 42, -1, -1, 45,
1578 -1, -1, -1, -1, 50, 51, 52, -1, -1, -1,
1579 56, 57, -1, -1, -1, 61, 62, -1, 3, -1,
1580 66, -1, 68, 8, 9, -1, 11, 73, -1, -1,
1581 -1, 77, -1, -1, -1, 81, 82, -1, -1, 85,
1582 -1, -1, -1, -1, 29, -1, 31, -1, 33, 34,
1583 35, -1, -1, -1, -1, -1, -1, 42, -1, -1,
1584 45, -1, -1, -1, -1, 50, 51, 52, -1, -1,
1585 -1, 56, 57, -1, -1, -1, 61, 62, -1, 3,
1586 -1, 66, -1, 68, 8, 9, -1, 11, 73, -1,
1587 -1, -1, 77, -1, -1, -1, 81, 82, -1, -1,
1588 85, -1, -1, -1, -1, 29, -1, 31, -1, 33,
1589 34, 35, -1, -1, -1, -1, -1, -1, 42, -1,
1590 -1, 45, -1, -1, -1, -1, 50, 51, 52, -1,
1591 -1, -1, 56, 57, -1, -1, -1, 61, 62, -1,
1592 3, -1, 66, -1, 68, 8, 9, -1, 11, 73,
1593 -1, -1, -1, 77, -1, -1, -1, 81, 82, -1,
1594 -1, 85, -1, -1, -1, -1, 29, -1, 31, -1,
1595 33, 34, 35, -1, -1, -1, -1, -1, -1, 42,
1596 -1, -1, 45, -1, -1, -1, -1, 50, 51, 52,
1597 -1, -1, -1, 56, 57, -1, -1, -1, 61, 62,
1598 -1, -1, -1, 66, -1, 68, -1, -1, -1, -1,
1599 73, -1, -1, -1, 77, -1, -1, -1, 81, 82,
1600 -1, -1, 85, 3, 4, 5, 6, 7, 8, 9,
1601 -1, 11, 12, 13, 14, 15, -1, 17, 18, 19,
1602 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1603 30, 31, -1, 33, 34, 35, -1, -1, -1, -1,
1604 -1, -1, 42, -1, -1, 45, -1, 47, -1, -1,
1605 50, 51, 52, -1, -1, -1, 56, 57, -1, -1,
1606 -1, 61, 62, -1, -1, -1, 66, -1, 68, 69,
1607 -1, -1, -1, 73, 74, -1, -1, 77, -1, 79,
1608 -1, 81, 82, -1, 84, 3, 4, -1, -1, -1,
1609 8, 9, -1, 11, -1, -1, -1, 15, -1, 17,
1610 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1611 -1, 29, -1, 31, -1, 33, 34, 35, -1, -1,
1612 -1, -1, -1, -1, 42, -1, -1, 45, -1, -1,
1613 -1, -1, 50, 51, 52, -1, -1, -1, 56, 57,
1614 -1, 3, -1, 61, 62, -1, 8, 9, 66, 11,
1615 68, 69, -1, -1, -1, 73, 74, -1, -1, 77,
1616 -1, 79, -1, 81, 82, -1, 84, 29, -1, 31,
1617 -1, 33, 34, 35, -1, -1, -1, -1, -1, -1,
1618 42, -1, -1, 45, -1, -1, -1, -1, 50, 51,
1619 52, -1, -1, -1, 56, 57, -1, -1, -1, 61,
1620 62, -1, -1, -1, 66, -1, 68, -1, -1, -1,
1621 -1, 73, -1, -1, -1, 77, -1, -1, -1, 81,
1622 82, -1, 84, 3, 4, -1, 6, 7, -1, -1,
1623 -1, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1624 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1625 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
1626 40, 11, 12, 13, 14, 4, 5, 6, 7, -1,
1627 -1, -1, -1, 12, 13, 14, -1, -1, 28, 29,
1628 30, 31, -1, 33, 34, 35, -1, -1, -1, 28,
1629 -1, 30, 42, -1, 74, 45, -1, 47, -1, -1,
1630 50, 51, 52, 83, -1, -1, 56, 57, 47, -1,
1631 -1, 61, 62, -1, -1, -1, 66, -1, 68, 69,
1632 -1, -1, -1, 73, 74, -1, -1, 77, -1, -1,
1633 69, 81, 82, 3, 4, 74, 6, 7, 8, 9,
1634 79, 11, 12, 13, 14, -1, -1, -1, -1, -1,
1635 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
1636 -1, 31, -1, 33, 34, 35, -1, -1, -1, -1,
1637 -1, -1, 42, -1, -1, 45, -1, 47, -1, -1,
1638 50, 51, 52, -1, -1, -1, 56, 57, -1, 3,
1639 -1, 61, 62, -1, 8, 9, 66, 11, 68, 69,
1640 -1, -1, -1, 73, 74, -1, -1, 77, -1, -1,
1641 -1, 81, 82, -1, -1, 29, -1, 31, -1, 33,
1642 34, 35, -1, -1, -1, -1, -1, -1, 42, -1,
1643 -1, 45, -1, -1, -1, -1, 50, 51, 52, -1,
1644 -1, -1, 56, 57, -1, 3, -1, 61, 62, -1,
1645 8, 9, 66, 11, 68, 69, -1, -1, -1, 73,
1646 -1, -1, -1, 77, -1, -1, -1, 81, 82, -1,
1647 -1, 29, -1, 31, -1, 33, 34, 35, -1, -1,
1648 -1, -1, -1, -1, 42, -1, -1, 45, -1, -1,
1649 -1, -1, 50, 51, 52, -1, -1, -1, 56, 57,
1650 -1, 3, -1, 61, 62, -1, 8, 9, 66, 11,
1651 68, -1, -1, -1, -1, 73, -1, -1, -1, 77,
1652 -1, 79, -1, 81, 82, -1, -1, 29, -1, 31,
1653 -1, 33, 34, 35, -1, -1, -1, -1, -1, -1,
1654 42, -1, -1, 45, -1, -1, -1, -1, 50, 51,
1655 52, -1, -1, -1, 56, 57, -1, 3, -1, 61,
1656 62, -1, 8, 9, 66, 11, 68, -1, -1, -1,
1657 -1, 73, -1, -1, -1, 77, -1, -1, -1, 81,
1658 82, -1, -1, 29, -1, 31, -1, 33, 34, 35,
1659 -1, -1, -1, -1, -1, -1, 42, -1, -1, 45,
1660 -1, -1, -1, -1, 50, 51, 52, -1, -1, -1,
1661 56, 57, -1, 3, -1, 61, 62, -1, 8, 9,
1662 66, 11, 68, -1, -1, -1, -1, 73, -1, -1,
1663 -1, 77, -1, -1, -1, 81, 82, -1, -1, 29,
1664 -1, 31, -1, 33, 34, 35, -1, -1, -1, -1,
1665 -1, -1, 42, -1, -1, 45, -1, -1, -1, -1,
1666 50, 51, 52, -1, -1, -1, 56, 57, -1, 3,
1667 -1, 61, 62, -1, 8, 9, 66, 11, 68, -1,
1668 -1, -1, -1, 73, -1, -1, -1, 77, -1, -1,
1669 -1, 81, 82, -1, -1, 29, -1, 31, -1, 33,
1670 34, 35, -1, -1, -1, -1, -1, -1, 42, -1,
1671 -1, 45, -1, -1, -1, -1, 50, 51, 52, -1,
1672 -1, -1, 56, 57, -1, -1, -1, 61, 62, -1,
1673 -1, -1, 66, -1, 68, -1, -1, -1, -1, 73,
1674 -1, -1, -1, 77, -1, -1, 1, 81, 82, 4,
1675 1, 6, 7, 4, -1, 6, 7, 12, 13, 14,
1676 -1, 12, 13, 14, -1, -1, -1, -1, -1, -1,
1677 -1, -1, -1, 28, -1, -1, -1, 28, -1, 4,
1678 31, 6, 7, -1, -1, -1, -1, 12, 13, 14,
1679 -1, -1, 47, -1, -1, -1, 47, 4, 5, 6,
1680 7, -1, -1, 28, -1, 12, 13, 14, -1, -1,
1681 -1, -1, -1, -1, 69, 70, 71, 72, 69, 74,
1682 -1, 28, 47, 74, 79, 80, -1, -1, 79, 80,
1683 1, -1, 3, 4, 5, 6, 7, -1, -1, -1,
1684 47, 12, 13, 14, 69, -1, -1, -1, -1, 74,
1685 -1, -1, -1, -1, 79, 80, 27, 28, -1, 30,
1686 31, -1, 69, -1, -1, -1, -1, 74, -1, -1,
1687 -1, -1, 79, -1, -1, -1, 47, -1, -1, 50,
1688 51, 52, -1, -1, -1, -1, -1, -1, -1, -1,
1689 61, -1, 63, 64, 65, -1, -1, -1, 69, -1,
1690 -1, -1, 73, 74, 75, 76, -1, 1, 79, 3,
1691 4, 5, 6, 7, -1, -1, -1, -1, 12, 13,
1692 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1693 -1, -1, -1, -1, 28, 1, 30, 3, 4, 5,
1694 6, 7, -1, -1, 10, -1, 12, 13, 14, -1,
1695 -1, -1, -1, 47, -1, -1, 50, 51, 52, -1,
1696 -1, -1, 28, -1, 30, 1, -1, 61, 4, 5,
1697 6, 7, -1, -1, 10, 69, 12, 13, 14, -1,
1698 74, 47, -1, -1, -1, 79, -1, -1, -1, -1,
1699 -1, -1, 28, -1, 30, -1, 4, 5, 6, 7,
1700 -1, -1, -1, 69, 12, 13, 14, -1, 74, -1,
1701 -1, 47, 78, -1, -1, -1, -1, -1, -1, -1,
1702 28, -1, 30, -1, -1, -1, 4, 5, 6, 7,
1703 -1, -1, -1, 69, 12, 13, 14, -1, 74, 47,
1704 -1, -1, 78, 1, -1, -1, 4, -1, 6, 7,
1705 28, -1, 30, -1, 12, 13, 14, -1, -1, -1,
1706 -1, 69, -1, -1, -1, -1, 74, -1, -1, 47,
1707 28, 79, -1, 31, -1, -1, -1, -1, -1, -1,
1708 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1709 -1, 69, -1, -1, -1, -1, 74, -1, -1, -1,
1710 -1, 79, -1, -1, -1, -1, -1, -1, -1, 3,
1711 4, 69, 6, 7, -1, -1, 74, 11, 12, 13,
1712 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1713 24, 25, 26, 27, 28, 29, -1, -1, -1, 3,
1714 4, -1, 6, 7, -1, -1, 40, 11, 12, 13,
1715 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1716 24, 25, 26, 27, 28, 29, -1, 61, -1, -1,
1717 -1, -1, -1, -1, 3, 4, 40, 6, 7, -1,
1718 74, -1, 11, 12, 13, 14, 15, 16, 17, 18,
1719 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1720 29, -1, -1, -1, 3, 4, -1, 6, 7, -1,
1721 74, 40, 11, 12, 13, 14, 15, 16, 17, 18,
1722 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1723 29, -1, -1, -1, 4, -1, 6, 7, -1, -1,
1724 -1, 40, 12, 13, 14, 74, 4, 5, 6, 7,
1725 -1, -1, 10, -1, 12, 13, 14, -1, 28, -1,
1726 30, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1727 28, -1, 30, -1, -1, 74, -1, 47, -1, -1,
1728 -1, -1, 52, -1, -1, -1, -1, -1, -1, 47,
1729 -1, 61, 62, -1, -1, -1, -1, -1, -1, 69,
1730 4, 5, 6, 7, 74, -1, 10, -1, 12, 13,
1731 14, 69, 4, 5, 6, 7, 74, -1, -1, -1,
1732 12, 13, 14, -1, 28, 4, 30, 6, 7, -1,
1733 -1, -1, -1, 12, 13, 14, 28, -1, 30, -1,
1734 -1, -1, -1, 47, -1, -1, -1, -1, -1, 28,
1735 -1, -1, -1, -1, -1, 47, -1, -1, -1, -1,
1736 -1, -1, -1, -1, -1, 69, -1, -1, 47, -1,
1737 74, -1, -1, -1, -1, -1, -1, 69, -1, -1,
1738 -1, -1, 74, 10, -1, -1, -1, -1, -1, -1,
1739 69, -1, 37, 38, 39, 74, 41, 42, 43, 44,
1740 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1741 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1742 47, 48, 49, 50, 51, 52, 53, 54, 30, -1,
1743 -1, -1, -1, -1, -1, 37, 38, 39, 83, 41,
1744 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1745 52, 53, 54, 37, 38, 39, 40, 41, 42, 43,
1746 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1747 54, 37, 38, 39, -1, 41, 42, 43, 44, 45,
1748 46, 47, 48, 49, 50, 51, 52, 53, 54
1750 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
1751 #line 3 "/usr/share/misc/bison.simple"
1752 /* This file comes from bison-1.28. */
1754 /* Skeleton output parser for bison,
1755 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
1757 This program is free software; you can redistribute it and/or modify
1758 it under the terms of the GNU General Public License as published by
1759 the Free Software Foundation; either version 2, or (at your option)
1762 This program is distributed in the hope that it will be useful,
1763 but WITHOUT ANY WARRANTY; without even the implied warranty of
1764 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1765 GNU General Public License for more details.
1767 You should have received a copy of the GNU General Public License
1768 along with this program; if not, write to the Free Software
1769 Foundation, Inc., 59 Temple Place - Suite 330,
1770 Boston, MA 02111-1307, USA. */
1772 /* As a special exception, when this file is copied by Bison into a
1773 Bison output file, you may use that output file without restriction.
1774 This special exception was added by the Free Software Foundation
1775 in version 1.24 of Bison. */
1777 /* This is the parser code that is written into each bison parser
1778 when the %semantic_parser declaration is not specified in the grammar.
1779 It was written by Richard Stallman by simplifying the hairy parser
1780 used when %semantic_parser is specified. */
1782 #ifndef YYSTACK_USE_ALLOCA
1784 #define YYSTACK_USE_ALLOCA
1785 #else /* alloca not defined */
1787 #define YYSTACK_USE_ALLOCA
1788 #define alloca __builtin_alloca
1789 #else /* not GNU C. */
1790 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
1791 #define YYSTACK_USE_ALLOCA
1793 #else /* not sparc */
1794 /* We think this test detects Watcom and Microsoft C. */
1795 /* This used to test MSDOS, but that is a bad idea
1796 since that symbol is in the user namespace. */
1797 #if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
1798 #if 0 /* No need for malloc.h, which pollutes the namespace;
1799 instead, just don't use alloca. */
1802 #else /* not MSDOS, or __TURBOC__ */
1804 /* I don't know what this was needed for, but it pollutes the namespace.
1805 So I turned it off. rms, 2 May 1997. */
1806 /* #include <malloc.h> */
1808 #define YYSTACK_USE_ALLOCA
1809 #else /* not MSDOS, or __TURBOC__, or _AIX */
1811 #ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
1812 and on HPUX 10. Eventually we can turn this on. */
1813 #define YYSTACK_USE_ALLOCA
1814 #define alloca __builtin_alloca
1817 #endif /* not _AIX */
1818 #endif /* not MSDOS, or __TURBOC__ */
1819 #endif /* not sparc */
1820 #endif /* not GNU C */
1821 #endif /* alloca not defined */
1822 #endif /* YYSTACK_USE_ALLOCA not defined */
1824 #ifdef YYSTACK_USE_ALLOCA
1825 #define YYSTACK_ALLOC alloca
1827 #define YYSTACK_ALLOC malloc
1830 /* Note: there must be only one dollar sign in this file.
1831 It is replaced by the list of actions, each action
1832 as one case of the switch. */
1834 #define yyerrok (yyerrstatus = 0)
1835 #define yyclearin (yychar = YYEMPTY)
1838 #define YYACCEPT goto yyacceptlab
1839 #define YYABORT goto yyabortlab
1840 #define YYERROR goto yyerrlab1
1841 /* Like YYERROR except do call yyerror.
1842 This remains here temporarily to ease the
1843 transition to the new meaning of YYERROR, for GCC.
1844 Once GCC version 2 has supplanted version 1, this can go. */
1845 #define YYFAIL goto yyerrlab
1846 #define YYRECOVERING() (!!yyerrstatus)
1847 #define YYBACKUP(token, value) \
1849 if (yychar == YYEMPTY && yylen == 1) \
1850 { yychar = (token), yylval = (value); \
1851 yychar1 = YYTRANSLATE (yychar); \
1856 { yyerror ("syntax error: cannot back up"); YYERROR; } \
1860 #define YYERRCODE 256
1863 #define YYLEX yylex()
1869 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
1871 #define YYLEX yylex(&yylval, &yylloc)
1873 #else /* not YYLSP_NEEDED */
1875 #define YYLEX yylex(&yylval, YYLEX_PARAM)
1877 #define YYLEX yylex(&yylval)
1879 #endif /* not YYLSP_NEEDED */
1882 /* If nonreentrant, generate the variables here */
1886 int yychar; /* the lookahead symbol */
1887 YYSTYPE yylval; /* the semantic value of the */
1888 /* lookahead symbol */
1891 YYLTYPE yylloc; /* location data for the lookahead */
1895 int yynerrs; /* number of parse errors so far */
1896 #endif /* not YYPURE */
1899 int yydebug; /* nonzero means print parse trace */
1900 /* Since this is uninitialized, it does not stop multiple parsers
1904 /* YYINITDEPTH indicates the initial size of the parser's stacks */
1907 #define YYINITDEPTH 200
1910 /* YYMAXDEPTH is the maximum size the stacks can grow to
1911 (effective only if the built-in stack extension method is used). */
1918 #define YYMAXDEPTH 10000
1921 /* Define __yy_memcpy. Note that the size argument
1922 should be passed with type unsigned int, because that is what the non-GCC
1923 definitions require. With GCC, __builtin_memcpy takes an arg
1924 of type size_t, but it can handle unsigned int. */
1926 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
1927 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
1928 #else /* not GNU C or C++ */
1931 /* This is the most reliable way to avoid incompatibilities
1932 in available built-in functions on various systems. */
1934 __yy_memcpy (to, from, count)
1939 register char *f = from;
1940 register char *t = to;
1941 register int i = count;
1947 #else /* __cplusplus */
1949 /* This is the most reliable way to avoid incompatibilities
1950 in available built-in functions on various systems. */
1952 __yy_memcpy (char *to, char *from, unsigned int count)
1954 register char *t = to;
1955 register char *f = from;
1956 register int i = count;
1965 #line 217 "/usr/share/misc/bison.simple"
1967 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
1968 into yyparse. The argument should have type void *.
1969 It should actually point to an object.
1970 Grammar actions can access the variable by casting it
1971 to the proper pointer type. */
1973 #ifdef YYPARSE_PARAM
1975 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
1976 #define YYPARSE_PARAM_DECL
1977 #else /* not __cplusplus */
1978 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
1979 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
1980 #endif /* not __cplusplus */
1981 #else /* not YYPARSE_PARAM */
1982 #define YYPARSE_PARAM_ARG
1983 #define YYPARSE_PARAM_DECL
1984 #endif /* not YYPARSE_PARAM */
1986 /* Prevent warning if -Wstrict-prototypes. */
1988 #ifdef YYPARSE_PARAM
1989 int yyparse (void *);
1996 yyparse(YYPARSE_PARAM_ARG)
1999 register int yystate;
2001 register short *yyssp;
2002 register YYSTYPE *yyvsp;
2003 int yyerrstatus; /* number of tokens to shift before error messages enabled */
2004 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
2006 short yyssa[YYINITDEPTH]; /* the state stack */
2007 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
2009 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
2010 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
2013 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
2014 YYLTYPE *yyls = yylsa;
2017 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
2019 #define YYPOPSTACK (yyvsp--, yyssp--)
2022 int yystacksize = YYINITDEPTH;
2023 int yyfree_stacks = 0;
2034 YYSTYPE yyval; /* the variable used to return */
2035 /* semantic values from the action */
2042 fprintf(stderr, "Starting parse\n");
2048 yychar = YYEMPTY; /* Cause a token to be read. */
2050 /* Initialize stack pointers.
2051 Waste one element of value and location stack
2052 so that they stay on the same level as the state stack.
2053 The wasted elements are never initialized. */
2061 /* Push a new state, which is found in yystate . */
2062 /* In all cases, when you get here, the value and location stacks
2063 have just been pushed. so pushing a state here evens the stacks. */
2068 if (yyssp >= yyss + yystacksize - 1)
2070 /* Give user a chance to reallocate the stack */
2071 /* Use copies of these so that the &'s don't force the real ones into memory. */
2072 YYSTYPE *yyvs1 = yyvs;
2073 short *yyss1 = yyss;
2075 YYLTYPE *yyls1 = yyls;
2078 /* Get the current used size of the three stacks, in elements. */
2079 int size = yyssp - yyss + 1;
2082 /* Each stack pointer address is followed by the size of
2083 the data in use in that stack, in bytes. */
2085 /* This used to be a conditional around just the two extra args,
2086 but that might be undefined if yyoverflow is a macro. */
2087 yyoverflow("parser stack overflow",
2088 &yyss1, size * sizeof (*yyssp),
2089 &yyvs1, size * sizeof (*yyvsp),
2090 &yyls1, size * sizeof (*yylsp),
2093 yyoverflow("parser stack overflow",
2094 &yyss1, size * sizeof (*yyssp),
2095 &yyvs1, size * sizeof (*yyvsp),
2099 yyss = yyss1; yyvs = yyvs1;
2103 #else /* no yyoverflow */
2104 /* Extend the stack our own way. */
2105 if (yystacksize >= YYMAXDEPTH)
2107 yyerror("parser stack overflow");
2119 if (yystacksize > YYMAXDEPTH)
2120 yystacksize = YYMAXDEPTH;
2121 #ifndef YYSTACK_USE_ALLOCA
2124 yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
2125 __yy_memcpy ((char *)yyss, (char *)yyss1,
2126 size * (unsigned int) sizeof (*yyssp));
2127 yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
2128 __yy_memcpy ((char *)yyvs, (char *)yyvs1,
2129 size * (unsigned int) sizeof (*yyvsp));
2131 yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
2132 __yy_memcpy ((char *)yyls, (char *)yyls1,
2133 size * (unsigned int) sizeof (*yylsp));
2135 #endif /* no yyoverflow */
2137 yyssp = yyss + size - 1;
2138 yyvsp = yyvs + size - 1;
2140 yylsp = yyls + size - 1;
2145 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
2148 if (yyssp >= yyss + yystacksize - 1)
2154 fprintf(stderr, "Entering state %d\n", yystate);
2160 /* Do appropriate processing given the current state. */
2161 /* Read a lookahead token if we need one and don't already have one. */
2164 /* First try to decide what to do without reference to lookahead token. */
2166 yyn = yypact[yystate];
2170 /* Not known => get a lookahead token if don't already have one. */
2172 /* yychar is either YYEMPTY or YYEOF
2173 or a valid token in external form. */
2175 if (yychar == YYEMPTY)
2179 fprintf(stderr, "Reading a token: ");
2184 /* Convert token to internal form (in yychar1) for indexing tables with */
2186 if (yychar <= 0) /* This means end of input. */
2189 yychar = YYEOF; /* Don't call YYLEX any more */
2193 fprintf(stderr, "Now at end of input.\n");
2198 yychar1 = YYTRANSLATE(yychar);
2203 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
2204 /* Give the individual parser a way to print the precise meaning
2205 of a token, for further debugging info. */
2207 YYPRINT (stderr, yychar, yylval);
2209 fprintf (stderr, ")\n");
2215 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
2220 /* yyn is what to do for this token type in this state.
2221 Negative => reduce, -yyn is rule number.
2222 Positive => shift, yyn is new state.
2223 New state is final state => don't bother to shift,
2224 just return success.
2225 0, or most negative number => error. */
2240 /* Shift the lookahead token. */
2244 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
2247 /* Discard the token being shifted unless it is eof. */
2248 if (yychar != YYEOF)
2256 /* count tokens shifted since error; after three, turn off error status. */
2257 if (yyerrstatus) yyerrstatus--;
2262 /* Do the default action for the current state. */
2265 yyn = yydefact[yystate];
2269 /* Do a reduction. yyn is the number of a rule to reduce with. */
2273 yyval = yyvsp[1-yylen]; /* implement default value of the action */
2280 fprintf (stderr, "Reducing via rule %d (line %d), ",
2283 /* Print the symbols being reduced, and their result. */
2284 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
2285 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
2286 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
2294 #line 258 "objc-parse.y"
2296 pedwarn ("ANSI C forbids an empty source file");
2301 #line 263 "objc-parse.y"
2303 /* In case there were missing closebraces,
2304 get us back to the global binding level. */
2305 while (! global_bindings_p ())
2311 #line 277 "objc-parse.y"
2312 {yyval.ttype = NULL_TREE; ;
2315 #line 278 "objc-parse.y"
2316 {yyval.ttype = NULL_TREE; ;
2319 #line 286 "objc-parse.y"
2320 { STRIP_NOPS (yyvsp[-2].ttype);
2321 if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
2322 && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
2323 || TREE_CODE (yyvsp[-2].ttype) == STRING_CST)
2324 assemble_asm (yyvsp[-2].ttype);
2326 error ("argument of `asm' is not a constant string"); ;
2329 #line 294 "objc-parse.y"
2330 { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
2333 #line 299 "objc-parse.y"
2335 error ("ANSI C forbids data definition with no type or storage class");
2336 else if (!flag_traditional)
2337 warning ("data definition has no type or storage class");
2339 current_declspecs = TREE_VALUE (declspec_stack);
2340 prefix_attributes = TREE_PURPOSE (declspec_stack);
2341 declspec_stack = TREE_CHAIN (declspec_stack); ;
2344 #line 308 "objc-parse.y"
2345 { current_declspecs = TREE_VALUE (declspec_stack);
2346 prefix_attributes = TREE_PURPOSE (declspec_stack);
2347 declspec_stack = TREE_CHAIN (declspec_stack); ;
2350 #line 312 "objc-parse.y"
2351 { current_declspecs = TREE_VALUE (declspec_stack);
2352 prefix_attributes = TREE_PURPOSE (declspec_stack);
2353 declspec_stack = TREE_CHAIN (declspec_stack); ;
2356 #line 316 "objc-parse.y"
2357 { pedwarn ("empty declaration"); ;
2360 #line 318 "objc-parse.y"
2361 { shadow_tag (yyvsp[-1].ttype); ;
2364 #line 322 "objc-parse.y"
2366 pedwarn ("ANSI C does not allow extra `;' outside of a function"); ;
2369 #line 328 "objc-parse.y"
2370 { if (! start_function (current_declspecs, yyvsp[0].ttype,
2371 prefix_attributes, NULL_TREE))
2373 reinit_parse_for_function (); ;
2376 #line 333 "objc-parse.y"
2377 { store_parm_decls (); ;
2380 #line 335 "objc-parse.y"
2381 { finish_function (0);
2382 current_declspecs = TREE_VALUE (declspec_stack);
2383 prefix_attributes = TREE_PURPOSE (declspec_stack);
2384 declspec_stack = TREE_CHAIN (declspec_stack); ;
2387 #line 340 "objc-parse.y"
2388 { current_declspecs = TREE_VALUE (declspec_stack);
2389 prefix_attributes = TREE_PURPOSE (declspec_stack);
2390 declspec_stack = TREE_CHAIN (declspec_stack); ;
2393 #line 344 "objc-parse.y"
2394 { if (! start_function (current_declspecs, yyvsp[0].ttype,
2395 prefix_attributes, NULL_TREE))
2397 reinit_parse_for_function (); ;
2400 #line 349 "objc-parse.y"
2401 { store_parm_decls (); ;
2404 #line 351 "objc-parse.y"
2405 { finish_function (0);
2406 current_declspecs = TREE_VALUE (declspec_stack);
2407 prefix_attributes = TREE_PURPOSE (declspec_stack);
2408 declspec_stack = TREE_CHAIN (declspec_stack); ;
2411 #line 356 "objc-parse.y"
2412 { current_declspecs = TREE_VALUE (declspec_stack);
2413 prefix_attributes = TREE_PURPOSE (declspec_stack);
2414 declspec_stack = TREE_CHAIN (declspec_stack); ;
2417 #line 360 "objc-parse.y"
2418 { if (! start_function (NULL_TREE, yyvsp[0].ttype,
2419 prefix_attributes, NULL_TREE))
2421 reinit_parse_for_function (); ;
2424 #line 365 "objc-parse.y"
2425 { store_parm_decls (); ;
2428 #line 367 "objc-parse.y"
2429 { finish_function (0);
2430 current_declspecs = TREE_VALUE (declspec_stack);
2431 prefix_attributes = TREE_PURPOSE (declspec_stack);
2432 declspec_stack = TREE_CHAIN (declspec_stack); ;
2435 #line 372 "objc-parse.y"
2436 { current_declspecs = TREE_VALUE (declspec_stack);
2437 prefix_attributes = TREE_PURPOSE (declspec_stack);
2438 declspec_stack = TREE_CHAIN (declspec_stack); ;
2441 #line 385 "objc-parse.y"
2442 { yyval.code = ADDR_EXPR; ;
2445 #line 387 "objc-parse.y"
2446 { yyval.code = NEGATE_EXPR; ;
2449 #line 389 "objc-parse.y"
2450 { yyval.code = CONVERT_EXPR; ;
2453 #line 391 "objc-parse.y"
2454 { yyval.code = PREINCREMENT_EXPR; ;
2457 #line 393 "objc-parse.y"
2458 { yyval.code = PREDECREMENT_EXPR; ;
2461 #line 395 "objc-parse.y"
2462 { yyval.code = BIT_NOT_EXPR; ;
2465 #line 397 "objc-parse.y"
2466 { yyval.code = TRUTH_NOT_EXPR; ;
2469 #line 401 "objc-parse.y"
2470 { yyval.ttype = build_compound_expr (yyvsp[0].ttype); ;
2473 #line 406 "objc-parse.y"
2474 { yyval.ttype = NULL_TREE; ;
2477 #line 412 "objc-parse.y"
2478 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
2481 #line 414 "objc-parse.y"
2482 { chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
2485 #line 420 "objc-parse.y"
2486 { yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ;
2489 #line 423 "objc-parse.y"
2490 { yyval.ttype = yyvsp[0].ttype;
2491 RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
2494 #line 426 "objc-parse.y"
2495 { yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0);
2496 overflow_warning (yyval.ttype); ;
2499 #line 430 "objc-parse.y"
2500 { tree label = lookup_label (yyvsp[0].ttype);
2502 pedwarn ("ANSI C forbids `&&'");
2504 yyval.ttype = null_pointer_node;
2507 TREE_USED (label) = 1;
2508 yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
2509 TREE_CONSTANT (yyval.ttype) = 1;
2514 #line 458 "objc-parse.y"
2515 { skip_evaluation--;
2516 if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
2517 && DECL_C_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
2518 error ("`sizeof' applied to a bit-field");
2519 yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
2522 #line 464 "objc-parse.y"
2523 { skip_evaluation--;
2524 yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
2527 #line 467 "objc-parse.y"
2528 { skip_evaluation--;
2529 yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ;
2532 #line 470 "objc-parse.y"
2533 { skip_evaluation--;
2534 yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
2537 #line 473 "objc-parse.y"
2538 { yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ;
2541 #line 475 "objc-parse.y"
2542 { yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ;
2545 #line 477 "objc-parse.y"
2546 { yyval.ttype = build_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ttype)); ;
2549 #line 481 "objc-parse.y"
2550 { skip_evaluation++; ;
2553 #line 485 "objc-parse.y"
2554 { skip_evaluation++; ;
2557 #line 491 "objc-parse.y"
2558 { tree type = groktypename (yyvsp[-2].ttype);
2559 yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
2562 #line 494 "objc-parse.y"
2563 { start_init (NULL_TREE, NULL, 0);
2564 yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype);
2565 really_start_incremental_init (yyvsp[-2].ttype); ;
2568 #line 498 "objc-parse.y"
2570 tree result = pop_init_level (0);
2571 tree type = yyvsp[-5].ttype;
2574 if (pedantic && ! flag_isoc9x)
2575 pedwarn ("ANSI C forbids constructor expressions");
2576 if (TYPE_NAME (type) != 0)
2578 if (TREE_CODE (TYPE_NAME (type)) == IDENTIFIER_NODE)
2579 name = IDENTIFIER_POINTER (TYPE_NAME (type));
2581 name = IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type)));
2585 yyval.ttype = result;
2586 if (TREE_CODE (type) == ARRAY_TYPE && TYPE_SIZE (type) == 0)
2588 int failure = complete_array_type (type, yyval.ttype, 1);
2595 #line 527 "objc-parse.y"
2596 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2599 #line 529 "objc-parse.y"
2600 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2603 #line 531 "objc-parse.y"
2604 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2607 #line 533 "objc-parse.y"
2608 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2611 #line 535 "objc-parse.y"
2612 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2615 #line 537 "objc-parse.y"
2616 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2619 #line 539 "objc-parse.y"
2620 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2623 #line 541 "objc-parse.y"
2624 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2627 #line 543 "objc-parse.y"
2628 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2631 #line 545 "objc-parse.y"
2632 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2635 #line 547 "objc-parse.y"
2636 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2639 #line 549 "objc-parse.y"
2640 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2643 #line 551 "objc-parse.y"
2644 { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
2645 skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
2648 #line 554 "objc-parse.y"
2649 { skip_evaluation -= yyvsp[-3].ttype == boolean_false_node;
2650 yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
2653 #line 557 "objc-parse.y"
2654 { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
2655 skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
2658 #line 560 "objc-parse.y"
2659 { skip_evaluation -= yyvsp[-3].ttype == boolean_true_node;
2660 yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
2663 #line 563 "objc-parse.y"
2664 { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
2665 skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
2668 #line 566 "objc-parse.y"
2669 { skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node)
2670 - (yyvsp[-4].ttype == boolean_false_node)); ;
2673 #line 569 "objc-parse.y"
2674 { skip_evaluation -= yyvsp[-6].ttype == boolean_true_node;
2675 yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
2678 #line 572 "objc-parse.y"
2680 pedwarn ("ANSI C forbids omitting the middle term of a ?: expression");
2681 /* Make sure first operand is calculated only once. */
2682 yyvsp[0].ttype = save_expr (yyvsp[-1].ttype);
2683 yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[0].ttype));
2684 skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
2687 #line 579 "objc-parse.y"
2688 { skip_evaluation -= yyvsp[-4].ttype == boolean_true_node;
2689 yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
2692 #line 582 "objc-parse.y"
2694 yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype);
2695 class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
2696 if (class == 'e' || class == '1'
2697 || class == '2' || class == '<')
2698 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR);
2702 #line 590 "objc-parse.y"
2704 yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype);
2705 /* This inhibits warnings in truthvalue_conversion. */
2706 class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
2707 if (class == 'e' || class == '1'
2708 || class == '2' || class == '<')
2709 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK);
2713 #line 602 "objc-parse.y"
2715 yyval.ttype = lastiddecl;
2716 if (!yyval.ttype || yyval.ttype == error_mark_node)
2718 if (yychar == YYEMPTY)
2724 if (objc_receiver_context
2725 && ! (objc_receiver_context
2726 && strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "super")))
2727 /* we have a message to super */
2728 yyval.ttype = get_super_receiver ();
2729 else if (objc_method_context
2730 && (decl = is_ivar (objc_ivar_chain, yyvsp[0].ttype)))
2732 if (is_private (decl))
2733 yyval.ttype = error_mark_node;
2735 yyval.ttype = build_ivar_reference (yyvsp[0].ttype);
2739 /* Ordinary implicit function declaration. */
2740 yyval.ttype = implicitly_declare (yyvsp[0].ttype);
2741 assemble_external (yyval.ttype);
2742 TREE_USED (yyval.ttype) = 1;
2745 else if (current_function_decl == 0)
2747 error ("`%s' undeclared here (not in a function)",
2748 IDENTIFIER_POINTER (yyvsp[0].ttype));
2749 yyval.ttype = error_mark_node;
2755 if (objc_receiver_context
2756 && ! strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "super"))
2757 /* we have a message to super */
2758 yyval.ttype = get_super_receiver ();
2759 else if (objc_method_context
2760 && (decl = is_ivar (objc_ivar_chain, yyvsp[0].ttype)))
2762 if (is_private (decl))
2763 yyval.ttype = error_mark_node;
2765 yyval.ttype = build_ivar_reference (yyvsp[0].ttype);
2769 if (IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) != error_mark_node
2770 || IDENTIFIER_ERROR_LOCUS (yyvsp[0].ttype) != current_function_decl)
2772 error ("`%s' undeclared (first use in this function)",
2773 IDENTIFIER_POINTER (yyvsp[0].ttype));
2775 if (! undeclared_variable_notice)
2777 error ("(Each undeclared identifier is reported only once");
2778 error ("for each function it appears in.)");
2779 undeclared_variable_notice = 1;
2782 yyval.ttype = error_mark_node;
2783 /* Prevent repeated error messages. */
2784 IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) = error_mark_node;
2785 IDENTIFIER_ERROR_LOCUS (yyvsp[0].ttype) = current_function_decl;
2789 else if (TREE_TYPE (yyval.ttype) == error_mark_node)
2790 yyval.ttype = error_mark_node;
2791 else if (C_DECL_ANTICIPATED (yyval.ttype))
2793 /* The first time we see a build-in function used,
2794 if it has not been declared. */
2795 C_DECL_ANTICIPATED (yyval.ttype) = 0;
2796 if (yychar == YYEMPTY)
2800 /* Omit the implicit declaration we
2801 would ordinarily do, so we don't lose
2802 the actual built in type.
2803 But print a diagnostic for the mismatch. */
2804 if (objc_method_context
2805 && is_ivar (objc_ivar_chain, yyvsp[0].ttype))
2806 error ("Instance variable `%s' implicitly declared as function",
2807 IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
2809 if (TREE_CODE (yyval.ttype) != FUNCTION_DECL)
2810 error ("`%s' implicitly declared as function",
2811 IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
2812 else if ((TYPE_MODE (TREE_TYPE (TREE_TYPE (yyval.ttype)))
2813 != TYPE_MODE (integer_type_node))
2814 && (TREE_TYPE (TREE_TYPE (yyval.ttype))
2816 pedwarn ("type mismatch in implicit declaration for built-in function `%s'",
2817 IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
2818 /* If it really returns void, change that to int. */
2819 if (TREE_TYPE (TREE_TYPE (yyval.ttype)) == void_type_node)
2820 TREE_TYPE (yyval.ttype)
2821 = build_function_type (integer_type_node,
2822 TYPE_ARG_TYPES (TREE_TYPE (yyval.ttype)));
2825 pedwarn ("built-in function `%s' used without declaration",
2826 IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
2828 /* Do what we would ordinarily do when a fn is used. */
2829 assemble_external (yyval.ttype);
2830 TREE_USED (yyval.ttype) = 1;
2834 assemble_external (yyval.ttype);
2835 TREE_USED (yyval.ttype) = 1;
2836 /* we have a definition - still check if iVariable */
2838 if (!objc_receiver_context
2839 || (objc_receiver_context
2840 && strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "super")))
2844 if (objc_method_context
2845 && (decl = is_ivar (objc_ivar_chain, yyvsp[0].ttype)))
2847 if (IDENTIFIER_LOCAL_VALUE (yyvsp[0].ttype))
2848 warning ("local declaration of `%s' hides instance variable",
2849 IDENTIFIER_POINTER (yyvsp[0].ttype));
2852 if (is_private (decl))
2853 yyval.ttype = error_mark_node;
2855 yyval.ttype = build_ivar_reference (yyvsp[0].ttype);
2859 else /* we have a message to super */
2860 yyval.ttype = get_super_receiver ();
2863 if (TREE_CODE (yyval.ttype) == CONST_DECL)
2865 yyval.ttype = DECL_INITIAL (yyval.ttype);
2866 /* This is to prevent an enum whose value is 0
2867 from being considered a null pointer constant. */
2868 yyval.ttype = build1 (NOP_EXPR, TREE_TYPE (yyval.ttype), yyval.ttype);
2869 TREE_CONSTANT (yyval.ttype) = 1;
2874 #line 762 "objc-parse.y"
2875 { yyval.ttype = combine_strings (yyvsp[0].ttype); ;
2878 #line 764 "objc-parse.y"
2879 { char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype));
2880 if (class == 'e' || class == '1'
2881 || class == '2' || class == '<')
2882 C_SET_EXP_ORIGINAL_CODE (yyvsp[-1].ttype, ERROR_MARK);
2883 yyval.ttype = yyvsp[-1].ttype; ;
2886 #line 770 "objc-parse.y"
2887 { yyval.ttype = error_mark_node; ;
2890 #line 772 "objc-parse.y"
2893 pedwarn ("ANSI C forbids braced-groups within expressions");
2894 pop_iterator_stack ();
2896 rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
2897 /* The statements have side effects, so the group does. */
2898 TREE_SIDE_EFFECTS (rtl_exp) = 1;
2900 if (TREE_CODE (yyvsp[-1].ttype) == BLOCK)
2902 /* Make a BIND_EXPR for the BLOCK already made. */
2903 yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
2904 NULL_TREE, rtl_exp, yyvsp[-1].ttype);
2905 /* Remove the block from the tree at this point.
2906 It gets put back at the proper place
2907 when the BIND_EXPR is expanded. */
2908 delete_block (yyvsp[-1].ttype);
2911 yyval.ttype = yyvsp[-1].ttype;
2915 #line 795 "objc-parse.y"
2917 /* Make sure we call expand_end_stmt_expr. Otherwise
2918 we are likely to lose sequences and crash later. */
2919 pop_iterator_stack ();
2921 expand_end_stmt_expr (yyvsp[-2].ttype);
2922 yyval.ttype = error_mark_node;
2926 #line 804 "objc-parse.y"
2927 { yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
2930 #line 806 "objc-parse.y"
2931 { yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
2934 #line 808 "objc-parse.y"
2936 if (doing_objc_thang)
2938 if (is_public (yyvsp[-2].ttype, yyvsp[0].ttype))
2939 yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype);
2941 yyval.ttype = error_mark_node;
2944 yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype);
2948 #line 820 "objc-parse.y"
2950 tree expr = build_indirect_ref (yyvsp[-2].ttype, "->");
2952 if (doing_objc_thang)
2954 if (is_public (expr, yyvsp[0].ttype))
2955 yyval.ttype = build_component_ref (expr, yyvsp[0].ttype);
2957 yyval.ttype = error_mark_node;
2960 yyval.ttype = build_component_ref (expr, yyvsp[0].ttype);
2964 #line 834 "objc-parse.y"
2965 { yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;
2968 #line 836 "objc-parse.y"
2969 { yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;
2972 #line 838 "objc-parse.y"
2973 { yyval.ttype = build_message_expr (yyvsp[0].ttype); ;
2976 #line 840 "objc-parse.y"
2977 { yyval.ttype = build_selector_expr (yyvsp[0].ttype); ;
2980 #line 842 "objc-parse.y"
2981 { yyval.ttype = build_protocol_expr (yyvsp[0].ttype); ;
2984 #line 844 "objc-parse.y"
2985 { yyval.ttype = build_encode_expr (yyvsp[0].ttype); ;
2988 #line 846 "objc-parse.y"
2989 { yyval.ttype = build_objc_string_object (yyvsp[0].ttype); ;
2992 #line 853 "objc-parse.y"
2993 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
2997 #line 862 "objc-parse.y"
2998 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3001 #line 870 "objc-parse.y"
3002 { c_mark_varargs ();
3004 pedwarn ("ANSI C does not permit use of `varargs.h'"); ;
3007 #line 880 "objc-parse.y"
3011 #line 896 "objc-parse.y"
3012 { current_declspecs = TREE_VALUE (declspec_stack);
3013 prefix_attributes = TREE_PURPOSE (declspec_stack);
3014 declspec_stack = TREE_CHAIN (declspec_stack); ;
3017 #line 900 "objc-parse.y"
3018 { current_declspecs = TREE_VALUE (declspec_stack);
3019 prefix_attributes = TREE_PURPOSE (declspec_stack);
3020 declspec_stack = TREE_CHAIN (declspec_stack); ;
3023 #line 904 "objc-parse.y"
3024 { shadow_tag_warned (yyvsp[-1].ttype, 1);
3025 pedwarn ("empty declaration"); ;
3028 #line 907 "objc-parse.y"
3029 { pedwarn ("empty declaration"); ;
3032 #line 916 "objc-parse.y"
3036 #line 931 "objc-parse.y"
3037 { pending_xref_error ();
3038 declspec_stack = tree_cons (prefix_attributes,
3041 split_specs_attrs (yyvsp[0].ttype,
3042 ¤t_declspecs, &prefix_attributes); ;
3045 #line 941 "objc-parse.y"
3046 { prefix_attributes = chainon (prefix_attributes, yyvsp[0].ttype); ;
3049 #line 946 "objc-parse.y"
3050 { current_declspecs = TREE_VALUE (declspec_stack);
3051 prefix_attributes = TREE_PURPOSE (declspec_stack);
3052 declspec_stack = TREE_CHAIN (declspec_stack); ;
3055 #line 950 "objc-parse.y"
3056 { current_declspecs = TREE_VALUE (declspec_stack);
3057 prefix_attributes = TREE_PURPOSE (declspec_stack);
3058 declspec_stack = TREE_CHAIN (declspec_stack); ;
3061 #line 954 "objc-parse.y"
3062 { current_declspecs = TREE_VALUE (declspec_stack);
3063 prefix_attributes = TREE_PURPOSE (declspec_stack);
3064 declspec_stack = TREE_CHAIN (declspec_stack); ;
3067 #line 958 "objc-parse.y"
3068 { current_declspecs = TREE_VALUE (declspec_stack);
3069 prefix_attributes = TREE_PURPOSE (declspec_stack);
3070 declspec_stack = TREE_CHAIN (declspec_stack); ;
3073 #line 962 "objc-parse.y"
3074 { shadow_tag (yyvsp[-1].ttype); ;
3077 #line 964 "objc-parse.y"
3078 { pedwarn ("empty declaration"); ;
3081 #line 966 "objc-parse.y"
3082 { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
3085 #line 976 "objc-parse.y"
3086 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
3089 #line 978 "objc-parse.y"
3090 { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
3093 #line 982 "objc-parse.y"
3094 { yyval.ttype = NULL_TREE; ;
3097 #line 984 "objc-parse.y"
3098 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
3101 #line 986 "objc-parse.y"
3102 { if (extra_warnings)
3103 warning ("`%s' is not at beginning of declaration",
3104 IDENTIFIER_POINTER (yyvsp[0].ttype));
3105 yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
3108 #line 991 "objc-parse.y"
3109 { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
3112 #line 996 "objc-parse.y"
3113 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
3116 #line 998 "objc-parse.y"
3117 { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
3120 #line 1003 "objc-parse.y"
3121 { yyval.ttype = NULL_TREE; ;
3124 #line 1005 "objc-parse.y"
3125 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
3128 #line 1007 "objc-parse.y"
3129 { if (extra_warnings)
3130 warning ("`%s' is not at beginning of declaration",
3131 IDENTIFIER_POINTER (yyvsp[0].ttype));
3132 yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
3135 #line 1020 "objc-parse.y"
3136 { yyval.ttype = yyvsp[0].ttype; ;
3139 #line 1022 "objc-parse.y"
3140 { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
3143 #line 1024 "objc-parse.y"
3144 { yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-1].ttype); ;
3147 #line 1026 "objc-parse.y"
3148 { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
3151 #line 1031 "objc-parse.y"
3152 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
3153 TREE_STATIC (yyval.ttype) = 1; ;
3156 #line 1034 "objc-parse.y"
3157 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
3160 #line 1036 "objc-parse.y"
3161 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
3162 TREE_STATIC (yyval.ttype) = 1; ;
3165 #line 1039 "objc-parse.y"
3166 { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
3167 warning ("`%s' is not at beginning of declaration",
3168 IDENTIFIER_POINTER (yyvsp[0].ttype));
3169 yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
3170 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
3173 #line 1053 "objc-parse.y"
3174 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
3177 #line 1055 "objc-parse.y"
3178 { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
3181 #line 1059 "objc-parse.y"
3182 { yyval.ttype = NULL_TREE; ;
3185 #line 1061 "objc-parse.y"
3186 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
3189 #line 1071 "objc-parse.y"
3190 { /* For a typedef name, record the meaning, not the name.
3191 In case of `foo foo, bar;'. */
3192 yyval.ttype = lookup_name (yyvsp[0].ttype); ;
3195 #line 1075 "objc-parse.y"
3196 { yyval.ttype = get_static_reference (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3199 #line 1077 "objc-parse.y"
3200 { yyval.ttype = get_object_reference (yyvsp[0].ttype); ;
3203 #line 1082 "objc-parse.y"
3204 { yyval.ttype = get_object_reference (yyvsp[0].ttype); ;
3207 #line 1084 "objc-parse.y"
3208 { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ;
3211 #line 1086 "objc-parse.y"
3212 { yyval.ttype = groktypename (yyvsp[-1].ttype); ;
3215 #line 1108 "objc-parse.y"
3216 { yyval.ttype = NULL_TREE; ;
3219 #line 1110 "objc-parse.y"
3220 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
3221 yyval.ttype = yyvsp[-1].ttype;
3225 #line 1117 "objc-parse.y"
3226 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
3227 yyvsp[-1].ttype, prefix_attributes);
3228 start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
3231 #line 1122 "objc-parse.y"
3233 finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
3236 #line 1125 "objc-parse.y"
3237 { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
3238 yyvsp[0].ttype, prefix_attributes);
3239 finish_decl (d, NULL_TREE, yyvsp[-1].ttype);
3243 #line 1133 "objc-parse.y"
3244 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
3245 yyvsp[-1].ttype, prefix_attributes);
3246 start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
3249 #line 1138 "objc-parse.y"
3251 decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype, prefix_attributes);
3252 finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
3255 #line 1142 "objc-parse.y"
3256 { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
3257 yyvsp[0].ttype, prefix_attributes);
3258 finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
3261 #line 1150 "objc-parse.y"
3262 { yyval.ttype = NULL_TREE; ;
3265 #line 1152 "objc-parse.y"
3266 { yyval.ttype = yyvsp[0].ttype; ;
3269 #line 1157 "objc-parse.y"
3270 { yyval.ttype = yyvsp[0].ttype; ;
3273 #line 1159 "objc-parse.y"
3274 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3277 #line 1164 "objc-parse.y"
3278 { yyval.ttype = yyvsp[-2].ttype; ;
3281 #line 1169 "objc-parse.y"
3282 { yyval.ttype = yyvsp[0].ttype; ;
3285 #line 1171 "objc-parse.y"
3286 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
3289 #line 1176 "objc-parse.y"
3290 { yyval.ttype = NULL_TREE; ;
3293 #line 1178 "objc-parse.y"
3294 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
3297 #line 1180 "objc-parse.y"
3298 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
3301 #line 1182 "objc-parse.y"
3302 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
3305 #line 1184 "objc-parse.y"
3306 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
3309 #line 1202 "objc-parse.y"
3310 { really_start_incremental_init (NULL_TREE); ;
3313 #line 1204 "objc-parse.y"
3314 { yyval.ttype = pop_init_level (0); ;
3317 #line 1206 "objc-parse.y"
3318 { yyval.ttype = error_mark_node; ;
3321 #line 1212 "objc-parse.y"
3323 pedwarn ("ANSI C forbids empty initializer braces"); ;
3326 #line 1228 "objc-parse.y"
3327 { set_init_label (yyvsp[-1].ttype); ;
3330 #line 1235 "objc-parse.y"
3331 { push_init_level (0); ;
3334 #line 1237 "objc-parse.y"
3335 { process_init_element (pop_init_level (0)); ;
3338 #line 1239 "objc-parse.y"
3339 { process_init_element (yyvsp[0].ttype); ;
3342 #line 1250 "objc-parse.y"
3343 { set_init_label (yyvsp[0].ttype); ;
3346 #line 1258 "objc-parse.y"
3348 pedwarn ("ANSI C forbids nested functions");
3350 push_function_context ();
3351 if (! start_function (current_declspecs, yyvsp[0].ttype,
3352 prefix_attributes, NULL_TREE))
3354 pop_function_context ();
3357 reinit_parse_for_function (); ;
3360 #line 1270 "objc-parse.y"
3361 { store_parm_decls (); ;
3364 #line 1278 "objc-parse.y"
3365 { finish_function (1);
3366 pop_function_context (); ;
3369 #line 1284 "objc-parse.y"
3371 pedwarn ("ANSI C forbids nested functions");
3373 push_function_context ();
3374 if (! start_function (current_declspecs, yyvsp[0].ttype,
3375 prefix_attributes, NULL_TREE))
3377 pop_function_context ();
3380 reinit_parse_for_function (); ;
3383 #line 1296 "objc-parse.y"
3384 { store_parm_decls (); ;
3387 #line 1304 "objc-parse.y"
3388 { finish_function (1);
3389 pop_function_context (); ;
3392 #line 1320 "objc-parse.y"
3393 { yyval.ttype = yyvsp[-1].ttype; ;
3396 #line 1322 "objc-parse.y"
3397 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
3400 #line 1327 "objc-parse.y"
3401 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
3404 #line 1329 "objc-parse.y"
3405 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
3408 #line 1331 "objc-parse.y"
3409 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3412 #line 1338 "objc-parse.y"
3413 { yyval.ttype = yyvsp[0].ttype; ;
3416 #line 1350 "objc-parse.y"
3417 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
3420 #line 1355 "objc-parse.y"
3421 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
3424 #line 1357 "objc-parse.y"
3425 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
3428 #line 1359 "objc-parse.y"
3429 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3432 #line 1366 "objc-parse.y"
3433 { yyval.ttype = yyvsp[0].ttype; ;
3436 #line 1375 "objc-parse.y"
3437 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
3440 #line 1380 "objc-parse.y"
3441 { yyval.ttype = yyvsp[-1].ttype; ;
3444 #line 1382 "objc-parse.y"
3445 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3448 #line 1384 "objc-parse.y"
3449 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
3452 #line 1386 "objc-parse.y"
3453 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
3456 #line 1393 "objc-parse.y"
3457 { yyval.ttype = yyvsp[0].ttype; ;
3460 #line 1399 "objc-parse.y"
3461 { yyval.ttype = NULL_TREE; ;
3464 #line 1401 "objc-parse.y"
3465 { yyval.ttype = yyvsp[0].ttype; ;
3468 #line 1406 "objc-parse.y"
3469 { yyval.ttype = NULL_TREE; ;
3472 #line 1408 "objc-parse.y"
3473 { yyval.ttype = yyvsp[0].ttype; ;
3476 #line 1413 "objc-parse.y"
3477 { yyval.ttype = NULL_TREE; ;
3480 #line 1415 "objc-parse.y"
3481 { yyval.ttype = yyvsp[0].ttype; ;
3484 #line 1420 "objc-parse.y"
3485 { yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
3486 /* Start scope of tag before parsing components. */
3490 #line 1424 "objc-parse.y"
3491 { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
3494 #line 1426 "objc-parse.y"
3495 { yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
3496 yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
3500 #line 1430 "objc-parse.y"
3501 { yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;
3504 #line 1432 "objc-parse.y"
3505 { yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;
3508 #line 1434 "objc-parse.y"
3509 { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
3512 #line 1436 "objc-parse.y"
3513 { yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
3514 yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
3518 #line 1440 "objc-parse.y"
3519 { yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;
3522 #line 1442 "objc-parse.y"
3523 { yyval.ttype = start_enum (yyvsp[-1].ttype); ;
3526 #line 1444 "objc-parse.y"
3527 { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
3528 chainon (yyvsp[-7].ttype, yyvsp[0].ttype)); ;
3531 #line 1447 "objc-parse.y"
3532 { yyval.ttype = start_enum (NULL_TREE); ;
3535 #line 1449 "objc-parse.y"
3536 { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
3537 chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
3540 #line 1452 "objc-parse.y"
3541 { yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ;
3544 #line 1463 "objc-parse.y"
3545 { if (pedantic && ! flag_isoc9x)
3546 pedwarn ("comma at end of enumerator list"); ;
3549 #line 1469 "objc-parse.y"
3550 { yyval.ttype = yyvsp[0].ttype; ;
3553 #line 1471 "objc-parse.y"
3554 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
3555 pedwarn ("no semicolon at end of struct or union"); ;
3558 #line 1476 "objc-parse.y"
3559 { yyval.ttype = NULL_TREE; ;
3562 #line 1478 "objc-parse.y"
3563 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
3566 #line 1480 "objc-parse.y"
3568 pedwarn ("extra semicolon in struct or union specified"); ;
3571 #line 1484 "objc-parse.y"
3573 tree interface = lookup_interface (yyvsp[-1].ttype);
3576 yyval.ttype = get_class_ivars (interface);
3579 error ("Cannot find interface declaration for `%s'",
3580 IDENTIFIER_POINTER (yyvsp[-1].ttype));
3581 yyval.ttype = NULL_TREE;
3586 #line 1509 "objc-parse.y"
3587 { yyval.ttype = yyvsp[0].ttype;
3588 current_declspecs = TREE_VALUE (declspec_stack);
3589 prefix_attributes = TREE_PURPOSE (declspec_stack);
3590 declspec_stack = TREE_CHAIN (declspec_stack); ;
3593 #line 1514 "objc-parse.y"
3595 /* Support for unnamed structs or unions as members of
3596 structs or unions (which is [a] useful and [b] supports
3599 pedwarn ("ANSI C doesn't support unnamed structs/unions");
3601 yyval.ttype = grokfield(yyvsp[-2].filename, yyvsp[-1].lineno, NULL, current_declspecs, NULL_TREE);
3602 current_declspecs = TREE_VALUE (declspec_stack);
3603 prefix_attributes = TREE_PURPOSE (declspec_stack);
3604 declspec_stack = TREE_CHAIN (declspec_stack);
3608 #line 1527 "objc-parse.y"
3609 { yyval.ttype = yyvsp[0].ttype;
3610 current_declspecs = TREE_VALUE (declspec_stack);
3611 prefix_attributes = TREE_PURPOSE (declspec_stack);
3612 declspec_stack = TREE_CHAIN (declspec_stack); ;
3615 #line 1532 "objc-parse.y"
3617 pedwarn ("ANSI C forbids member declarations with no members");
3618 shadow_tag(yyvsp[0].ttype);
3619 yyval.ttype = NULL_TREE; ;
3622 #line 1537 "objc-parse.y"
3623 { yyval.ttype = NULL_TREE; ;
3626 #line 1539 "objc-parse.y"
3627 { yyval.ttype = yyvsp[0].ttype;
3628 RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
3631 #line 1546 "objc-parse.y"
3632 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
3635 #line 1551 "objc-parse.y"
3636 { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE);
3637 decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
3640 #line 1555 "objc-parse.y"
3641 { yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype);
3642 decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
3645 #line 1558 "objc-parse.y"
3646 { yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype);
3647 decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
3650 #line 1570 "objc-parse.y"
3651 { if (yyvsp[-2].ttype == error_mark_node)
3652 yyval.ttype = yyvsp[-2].ttype;
3654 yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ;
3657 #line 1575 "objc-parse.y"
3658 { yyval.ttype = error_mark_node; ;
3661 #line 1581 "objc-parse.y"
3662 { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;
3665 #line 1583 "objc-parse.y"
3666 { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;
3669 #line 1588 "objc-parse.y"
3670 { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3673 #line 1590 "objc-parse.y"
3674 { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3677 #line 1595 "objc-parse.y"
3678 { yyval.ttype = NULL_TREE; ;
3681 #line 1601 "objc-parse.y"
3682 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
3685 #line 1603 "objc-parse.y"
3686 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
3689 #line 1608 "objc-parse.y"
3690 { yyval.ttype = NULL_TREE; ;
3693 #line 1610 "objc-parse.y"
3694 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
3697 #line 1615 "objc-parse.y"
3698 { yyval.ttype = yyvsp[-1].ttype; ;
3701 #line 1618 "objc-parse.y"
3702 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3705 #line 1620 "objc-parse.y"
3706 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
3709 #line 1622 "objc-parse.y"
3710 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
3713 #line 1624 "objc-parse.y"
3714 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
3717 #line 1626 "objc-parse.y"
3718 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
3721 #line 1628 "objc-parse.y"
3722 { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
3725 #line 1630 "objc-parse.y"
3726 { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
3729 #line 1632 "objc-parse.y"
3730 { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ;
3733 #line 1636 "objc-parse.y"
3734 { yyval.ttype = yyvsp[0].ttype; ;
3737 #line 1645 "objc-parse.y"
3739 if (pedantic && yyvsp[0].ends_in_label)
3740 pedwarn ("ANSI C forbids label at end of compound statement");
3744 #line 1654 "objc-parse.y"
3745 { yyval.ends_in_label = yyvsp[0].ends_in_label; ;
3748 #line 1656 "objc-parse.y"
3749 { yyval.ends_in_label = 0; ;
3752 #line 1668 "objc-parse.y"
3753 { emit_line_note (input_filename, lineno);
3756 expand_start_bindings (0);
3757 if (objc_method_context)
3762 #line 1682 "objc-parse.y"
3764 pedwarn ("ANSI C forbids label declarations"); ;
3767 #line 1693 "objc-parse.y"
3769 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
3771 tree label = shadow_label (TREE_VALUE (link));
3772 C_DECLARED_LABEL_FLAG (label) = 1;
3773 declare_nonlocal_label (label);
3778 #line 1707 "objc-parse.y"
3782 #line 1711 "objc-parse.y"
3783 { compstmt_count++; ;
3786 #line 1714 "objc-parse.y"
3787 { yyval.ttype = convert (void_type_node, integer_zero_node); ;
3790 #line 1716 "objc-parse.y"
3791 { emit_line_note (input_filename, lineno);
3792 expand_end_bindings (getdecls (), 1, 0);
3793 yyval.ttype = poplevel (1, 1, 0); ;
3796 #line 1720 "objc-parse.y"
3797 { emit_line_note (input_filename, lineno);
3798 expand_end_bindings (getdecls (), kept_level_p (), 0);
3799 yyval.ttype = poplevel (kept_level_p (), 0, 0); ;
3802 #line 1724 "objc-parse.y"
3803 { emit_line_note (input_filename, lineno);
3804 expand_end_bindings (getdecls (), kept_level_p (), 0);
3805 yyval.ttype = poplevel (kept_level_p (), 0, 0); ;
3808 #line 1731 "objc-parse.y"
3809 { if (current_function_decl == 0)
3811 error ("braced-group within expression allowed only inside a function");
3814 /* We must force a BLOCK for this level
3815 so that, if it is not expanded later,
3816 there is a way to turn off the entire subtree of blocks
3817 that are contained in it. */
3819 push_iterator_stack ();
3820 push_label_level ();
3821 yyval.ttype = expand_start_stmt_expr ();
3826 #line 1748 "objc-parse.y"
3827 { yyval.ttype = yyvsp[0].ttype; ;
3830 #line 1762 "objc-parse.y"
3831 { emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
3832 c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0,
3834 yyval.itype = stmt_count;
3835 if_stmt_file = yyvsp[-5].filename;
3836 if_stmt_line = yyvsp[-4].lineno;
3837 position_after_white_space (); ;
3840 #line 1776 "objc-parse.y"
3843 emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
3844 /* See comment in `while' alternative, above. */
3846 expand_start_loop_continue_elsewhere (1);
3847 position_after_white_space (); ;
3850 #line 1784 "objc-parse.y"
3851 { expand_loop_continue_here (); ;
3854 #line 1788 "objc-parse.y"
3855 { yyval.filename = input_filename; ;
3858 #line 1792 "objc-parse.y"
3859 { yyval.lineno = lineno; ;
3862 #line 1797 "objc-parse.y"
3866 #line 1802 "objc-parse.y"
3870 #line 1807 "objc-parse.y"
3871 { yyval.ends_in_label = yyvsp[0].ends_in_label; ;
3874 #line 1812 "objc-parse.y"
3875 { yyval.ends_in_label = 0; ;
3878 #line 1814 "objc-parse.y"
3879 { yyval.ends_in_label = 1; ;
3882 #line 1820 "objc-parse.y"
3886 #line 1823 "objc-parse.y"
3888 emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
3889 /* It appears that this should not be done--that a non-lvalue array
3890 shouldn't get an error if the value isn't used.
3891 Section 3.2.2.1 says that an array lvalue gets converted to a pointer
3892 if it appears as a top-level expression,
3893 but says nothing about non-lvalue arrays. */
3895 /* Call default_conversion to get an error
3896 on referring to a register array if pedantic. */
3897 if (TREE_CODE (TREE_TYPE (yyvsp[-1].ttype)) == ARRAY_TYPE
3898 || TREE_CODE (TREE_TYPE (yyvsp[-1].ttype)) == FUNCTION_TYPE)
3899 yyvsp[-1].ttype = default_conversion (yyvsp[-1].ttype);
3901 iterator_expand (yyvsp[-1].ttype); ;
3904 #line 1839 "objc-parse.y"
3905 { c_expand_start_else ();
3906 yyvsp[-1].itype = stmt_count;
3907 position_after_white_space (); ;
3910 #line 1843 "objc-parse.y"
3911 { c_expand_end_cond ();
3912 if (extra_warnings && stmt_count == yyvsp[-3].itype)
3913 warning ("empty body in an else-statement"); ;
3916 #line 1847 "objc-parse.y"
3917 { c_expand_end_cond ();
3918 /* This warning is here instead of in simple_if, because we
3919 do not want a warning if an empty if is followed by an
3920 else statement. Increment stmt_count so we don't
3921 give a second error if this is a nested `if'. */
3922 if (extra_warnings && stmt_count++ == yyvsp[0].itype)
3923 warning_with_file_and_line (if_stmt_file, if_stmt_line,
3924 "empty body in an if-statement"); ;
3927 #line 1859 "objc-parse.y"
3928 { c_expand_end_cond (); ;
3931 #line 1861 "objc-parse.y"
3933 emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
3934 /* The emit_nop used to come before emit_line_note,
3935 but that made the nop seem like part of the preceding line.
3936 And that was confusing when the preceding line was
3937 inside of an if statement and was not really executed.
3938 I think it ought to work to put the nop after the line number.
3939 We will see. --rms, July 15, 1991. */
3943 #line 1871 "objc-parse.y"
3944 { /* Don't start the loop till we have succeeded
3945 in parsing the end test. This is to make sure
3946 that we end every loop we start. */
3947 expand_start_loop (1);
3948 emit_line_note (input_filename, lineno);
3949 expand_exit_loop_if_false (NULL_PTR,
3950 truthvalue_conversion (yyvsp[-1].ttype));
3951 position_after_white_space (); ;
3954 #line 1880 "objc-parse.y"
3955 { expand_end_loop (); ;
3958 #line 1883 "objc-parse.y"
3959 { emit_line_note (input_filename, lineno);
3960 expand_exit_loop_if_false (NULL_PTR,
3961 truthvalue_conversion (yyvsp[-2].ttype));
3962 expand_end_loop (); ;
3965 #line 1889 "objc-parse.y"
3966 { expand_end_loop (); ;
3969 #line 1892 "objc-parse.y"
3971 emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
3972 /* See comment in `while' alternative, above. */
3974 if (yyvsp[-1].ttype) c_expand_expr_stmt (yyvsp[-1].ttype);
3975 /* Next step is to call expand_start_loop_continue_elsewhere,
3976 but wait till after we parse the entire for (...).
3977 Otherwise, invalid input might cause us to call that
3978 fn without calling expand_end_loop. */
3982 #line 1904 "objc-parse.y"
3983 { yyvsp[0].lineno = lineno;
3984 yyval.filename = input_filename; ;
3987 #line 1907 "objc-parse.y"
3989 /* Start the loop. Doing this after parsing
3990 all the expressions ensures we will end the loop. */
3991 expand_start_loop_continue_elsewhere (1);
3992 /* Emit the end-test, with a line number. */
3993 emit_line_note (yyvsp[-2].filename, yyvsp[-3].lineno);
3994 if (yyvsp[-4].ttype)
3995 expand_exit_loop_if_false (NULL_PTR,
3996 truthvalue_conversion (yyvsp[-4].ttype));
3997 yyvsp[-3].lineno = lineno;
3998 yyvsp[-2].filename = input_filename;
3999 position_after_white_space (); ;
4002 #line 1920 "objc-parse.y"
4003 { /* Emit the increment expression, with a line number. */
4004 emit_line_note (yyvsp[-4].filename, yyvsp[-5].lineno);
4005 expand_loop_continue_here ();
4006 if (yyvsp[-3].ttype)
4007 c_expand_expr_stmt (yyvsp[-3].ttype);
4008 expand_end_loop (); ;
4011 #line 1927 "objc-parse.y"
4013 emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
4014 c_expand_start_case (yyvsp[-1].ttype);
4015 position_after_white_space (); ;
4018 #line 1932 "objc-parse.y"
4019 { expand_end_case (yyvsp[-3].ttype); ;
4022 #line 1934 "objc-parse.y"
4024 emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
4025 if ( ! expand_exit_something ())
4026 error ("break statement not within loop or switch"); ;
4029 #line 1939 "objc-parse.y"
4031 emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
4032 if (! expand_continue_loop (NULL_PTR))
4033 error ("continue statement not within a loop"); ;
4036 #line 1944 "objc-parse.y"
4038 emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
4039 c_expand_return (NULL_TREE); ;
4042 #line 1948 "objc-parse.y"
4044 emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
4045 c_expand_return (yyvsp[-1].ttype); ;
4048 #line 1952 "objc-parse.y"
4050 emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno);
4051 STRIP_NOPS (yyvsp[-2].ttype);
4052 if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
4053 && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
4054 || TREE_CODE (yyvsp[-2].ttype) == STRING_CST)
4055 expand_asm (yyvsp[-2].ttype);
4057 error ("argument of `asm' is not a constant string"); ;
4060 #line 1963 "objc-parse.y"
4062 emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno);
4063 c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
4064 yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
4065 input_filename, lineno); ;
4068 #line 1970 "objc-parse.y"
4070 emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno);
4071 c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
4072 yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
4073 input_filename, lineno); ;
4076 #line 1978 "objc-parse.y"
4078 emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno);
4079 c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
4080 yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
4081 input_filename, lineno); ;
4084 #line 1984 "objc-parse.y"
4087 emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
4088 decl = lookup_label (yyvsp[-1].ttype);
4091 TREE_USED (decl) = 1;
4097 #line 1995 "objc-parse.y"
4099 pedwarn ("ANSI C forbids `goto *expr;'");
4101 emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
4102 expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ;
4105 #line 2010 "objc-parse.y"
4107 /* The value returned by this action is */
4108 /* 1 if everything is OK */
4109 /* 0 in case of error or already bound iterator */
4112 if (TREE_CODE (yyvsp[-1].ttype) != VAR_DECL)
4113 error ("invalid `for (ITERATOR)' syntax");
4114 else if (! ITERATOR_P (yyvsp[-1].ttype))
4115 error ("`%s' is not an iterator",
4116 IDENTIFIER_POINTER (DECL_NAME (yyvsp[-1].ttype)));
4117 else if (ITERATOR_BOUND_P (yyvsp[-1].ttype))
4118 error ("`for (%s)' inside expansion of same iterator",
4119 IDENTIFIER_POINTER (DECL_NAME (yyvsp[-1].ttype)));
4123 iterator_for_loop_start (yyvsp[-1].ttype);
4128 #line 2031 "objc-parse.y"
4130 if (yyvsp[-1].itype)
4131 iterator_for_loop_end (yyvsp[-3].ttype);
4135 #line 2062 "objc-parse.y"
4136 { register tree value = check_case_value (yyvsp[-1].ttype);
4138 = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
4142 if (value != error_mark_node)
4147 if (pedantic && ! INTEGRAL_TYPE_P (TREE_TYPE (value)))
4148 pedwarn ("label must have integral type in ANSI C");
4150 success = pushcase (value, convert_and_check,
4154 error ("case label not within a switch statement");
4155 else if (success == 2)
4157 error ("duplicate case value");
4158 error_with_decl (duplicate, "this is the first entry for that value");
4160 else if (success == 3)
4161 warning ("case value out of range");
4162 else if (success == 5)
4163 error ("case label within scope of cleanup or variable array");
4165 position_after_white_space (); ;
4168 #line 2093 "objc-parse.y"
4169 { register tree value1 = check_case_value (yyvsp[-3].ttype);
4170 register tree value2 = check_case_value (yyvsp[-1].ttype);
4172 = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
4175 pedwarn ("ANSI C forbids case ranges");
4178 if (value1 != error_mark_node && value2 != error_mark_node)
4181 int success = pushcase_range (value1, value2,
4182 convert_and_check, label,
4185 error ("case label not within a switch statement");
4186 else if (success == 2)
4188 error ("duplicate case value");
4189 error_with_decl (duplicate, "this is the first entry for that value");
4191 else if (success == 3)
4192 warning ("case value out of range");
4193 else if (success == 4)
4194 warning ("empty case range");
4195 else if (success == 5)
4196 error ("case label within scope of cleanup or variable array");
4198 position_after_white_space (); ;
4201 #line 2124 "objc-parse.y"
4205 = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
4206 int success = pushcase (NULL_TREE, 0, label, &duplicate);
4209 error ("default label not within a switch statement");
4210 else if (success == 2)
4212 error ("multiple default labels in one switch");
4213 error_with_decl (duplicate, "this is the first default label");
4215 position_after_white_space (); ;
4218 #line 2139 "objc-parse.y"
4219 { tree label = define_label (input_filename, lineno, yyvsp[-2].ttype);
4224 expand_label (label);
4225 decl_attributes (label, yyvsp[0].ttype, NULL_TREE);
4227 position_after_white_space (); ;
4230 #line 2154 "objc-parse.y"
4231 { emit_line_note (input_filename, lineno);
4232 yyval.ttype = NULL_TREE; ;
4235 #line 2157 "objc-parse.y"
4236 { emit_line_note (input_filename, lineno); ;
4239 #line 2162 "objc-parse.y"
4240 { yyval.ttype = NULL_TREE; ;
4243 #line 2169 "objc-parse.y"
4244 { yyval.ttype = NULL_TREE; ;
4247 #line 2176 "objc-parse.y"
4248 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4251 #line 2181 "objc-parse.y"
4252 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4255 #line 2186 "objc-parse.y"
4256 { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;
4259 #line 2188 "objc-parse.y"
4260 { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
4263 #line 2194 "objc-parse.y"
4265 clear_parm_order ();
4266 declare_parm_level (0); ;
4269 #line 2198 "objc-parse.y"
4270 { yyval.ttype = yyvsp[0].ttype;
4271 parmlist_tags_warning ();
4272 poplevel (0, 0, 0); ;
4275 #line 2206 "objc-parse.y"
4278 pedwarn ("ANSI C forbids forward parameter declarations");
4279 /* Mark the forward decls as such. */
4280 for (parm = getdecls (); parm; parm = TREE_CHAIN (parm))
4281 TREE_ASM_WRITTEN (parm) = 1;
4282 clear_parm_order (); ;
4285 #line 2214 "objc-parse.y"
4286 { yyval.ttype = yyvsp[0].ttype; ;
4289 #line 2216 "objc-parse.y"
4290 { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
4293 #line 2222 "objc-parse.y"
4294 { yyval.ttype = get_parm_info (0); ;
4297 #line 2224 "objc-parse.y"
4298 { yyval.ttype = get_parm_info (0);
4299 /* Gcc used to allow this as an extension. However, it does
4300 not work for all targets, and thus has been disabled.
4301 Also, since func (...) and func () are indistinguishable,
4302 it caused problems with the code in expand_builtin which
4303 tries to verify that BUILT_IN_NEXT_ARG is being used
4305 error ("ANSI C requires a named argument before `...'");
4309 #line 2234 "objc-parse.y"
4310 { yyval.ttype = get_parm_info (1); ;
4313 #line 2236 "objc-parse.y"
4314 { yyval.ttype = get_parm_info (0); ;
4317 #line 2241 "objc-parse.y"
4318 { push_parm_decl (yyvsp[0].ttype); ;
4321 #line 2243 "objc-parse.y"
4322 { push_parm_decl (yyvsp[0].ttype); ;
4325 #line 2250 "objc-parse.y"
4326 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
4328 build_tree_list (prefix_attributes,
4330 current_declspecs = TREE_VALUE (declspec_stack);
4331 prefix_attributes = TREE_PURPOSE (declspec_stack);
4332 declspec_stack = TREE_CHAIN (declspec_stack); ;
4335 #line 2258 "objc-parse.y"
4336 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
4338 build_tree_list (prefix_attributes,
4340 current_declspecs = TREE_VALUE (declspec_stack);
4341 prefix_attributes = TREE_PURPOSE (declspec_stack);
4342 declspec_stack = TREE_CHAIN (declspec_stack); ;
4345 #line 2266 "objc-parse.y"
4346 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
4348 build_tree_list (prefix_attributes,
4350 current_declspecs = TREE_VALUE (declspec_stack);
4351 prefix_attributes = TREE_PURPOSE (declspec_stack);
4352 declspec_stack = TREE_CHAIN (declspec_stack); ;
4355 #line 2274 "objc-parse.y"
4356 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
4358 build_tree_list (prefix_attributes,
4360 current_declspecs = TREE_VALUE (declspec_stack);
4361 prefix_attributes = TREE_PURPOSE (declspec_stack);
4362 declspec_stack = TREE_CHAIN (declspec_stack); ;
4365 #line 2283 "objc-parse.y"
4366 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
4368 build_tree_list (prefix_attributes,
4370 current_declspecs = TREE_VALUE (declspec_stack);
4371 prefix_attributes = TREE_PURPOSE (declspec_stack);
4372 declspec_stack = TREE_CHAIN (declspec_stack); ;
4375 #line 2296 "objc-parse.y"
4377 clear_parm_order ();
4378 declare_parm_level (1); ;
4381 #line 2300 "objc-parse.y"
4382 { yyval.ttype = yyvsp[0].ttype;
4383 parmlist_tags_warning ();
4384 poplevel (0, 0, 0); ;
4387 #line 2308 "objc-parse.y"
4389 for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t))
4390 if (TREE_VALUE (t) == NULL_TREE)
4391 error ("`...' in old-style identifier list");
4392 yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
4395 #line 2318 "objc-parse.y"
4396 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4399 #line 2320 "objc-parse.y"
4400 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4403 #line 2326 "objc-parse.y"
4404 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4407 #line 2328 "objc-parse.y"
4408 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4411 #line 2333 "objc-parse.y"
4412 { yyval.ttype = SAVE_WARN_FLAGS();
4414 warn_pointer_arith = 0; ;
4417 #line 2347 "objc-parse.y"
4419 if (objc_implementation_context)
4421 finish_class (objc_implementation_context);
4422 objc_ivar_chain = NULL_TREE;
4423 objc_implementation_context = NULL_TREE;
4426 warning ("`@end' must appear in an implementation context");
4430 #line 2362 "objc-parse.y"
4431 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4434 #line 2364 "objc-parse.y"
4435 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4438 #line 2369 "objc-parse.y"
4440 objc_declare_class (yyvsp[-1].ttype);
4444 #line 2375 "objc-parse.y"
4446 objc_declare_alias (yyvsp[-2].ttype, yyvsp[-1].ttype);
4450 #line 2381 "objc-parse.y"
4452 objc_interface_context = objc_ivar_context
4453 = start_class (CLASS_INTERFACE_TYPE, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
4454 objc_public_flag = 0;
4458 #line 2387 "objc-parse.y"
4460 continue_class (objc_interface_context);
4464 #line 2392 "objc-parse.y"
4466 finish_class (objc_interface_context);
4467 objc_interface_context = NULL_TREE;
4471 #line 2398 "objc-parse.y"
4473 objc_interface_context
4474 = start_class (CLASS_INTERFACE_TYPE, yyvsp[-1].ttype, NULL_TREE, yyvsp[0].ttype);
4475 continue_class (objc_interface_context);
4479 #line 2405 "objc-parse.y"
4481 finish_class (objc_interface_context);
4482 objc_interface_context = NULL_TREE;
4486 #line 2411 "objc-parse.y"
4488 objc_interface_context = objc_ivar_context
4489 = start_class (CLASS_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype);
4490 objc_public_flag = 0;
4494 #line 2417 "objc-parse.y"
4496 continue_class (objc_interface_context);
4500 #line 2422 "objc-parse.y"
4502 finish_class (objc_interface_context);
4503 objc_interface_context = NULL_TREE;
4507 #line 2428 "objc-parse.y"
4509 objc_interface_context
4510 = start_class (CLASS_INTERFACE_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
4511 continue_class (objc_interface_context);
4515 #line 2435 "objc-parse.y"
4517 finish_class (objc_interface_context);
4518 objc_interface_context = NULL_TREE;
4522 #line 2441 "objc-parse.y"
4524 objc_implementation_context = objc_ivar_context
4525 = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4526 objc_public_flag = 0;
4530 #line 2447 "objc-parse.y"
4533 = continue_class (objc_implementation_context);
4537 #line 2453 "objc-parse.y"
4539 objc_implementation_context
4540 = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[0].ttype, NULL_TREE, NULL_TREE);
4542 = continue_class (objc_implementation_context);
4546 #line 2461 "objc-parse.y"
4548 objc_implementation_context = objc_ivar_context
4549 = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
4550 objc_public_flag = 0;
4554 #line 2467 "objc-parse.y"
4557 = continue_class (objc_implementation_context);
4561 #line 2473 "objc-parse.y"
4563 objc_implementation_context
4564 = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE);
4566 = continue_class (objc_implementation_context);
4570 #line 2481 "objc-parse.y"
4572 objc_interface_context
4573 = start_class (CATEGORY_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype);
4574 continue_class (objc_interface_context);
4578 #line 2488 "objc-parse.y"
4580 finish_class (objc_interface_context);
4581 objc_interface_context = NULL_TREE;
4585 #line 2494 "objc-parse.y"
4587 objc_implementation_context
4588 = start_class (CATEGORY_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
4590 = continue_class (objc_implementation_context);
4594 #line 2504 "objc-parse.y"
4596 remember_protocol_qualifiers ();
4597 objc_interface_context
4598 = start_protocol(PROTOCOL_INTERFACE_TYPE, yyvsp[-1].ttype, yyvsp[0].ttype);
4602 #line 2510 "objc-parse.y"
4604 forget_protocol_qualifiers();
4605 finish_protocol(objc_interface_context);
4606 objc_interface_context = NULL_TREE;
4610 #line 2519 "objc-parse.y"
4612 yyval.ttype = NULL_TREE;
4616 #line 2527 "objc-parse.y"
4618 if (yyvsp[-2].code == LT_EXPR && yyvsp[0].code == GT_EXPR)
4619 yyval.ttype = yyvsp[-1].ttype;
4625 #line 2541 "objc-parse.y"
4626 { objc_public_flag = 2; ;
4629 #line 2542 "objc-parse.y"
4630 { objc_public_flag = 0; ;
4633 #line 2543 "objc-parse.y"
4634 { objc_public_flag = 1; ;
4637 #line 2548 "objc-parse.y"
4639 yyval.ttype = NULL_TREE;
4643 #line 2553 "objc-parse.y"
4646 pedwarn ("extra semicolon in struct or union specified");
4650 #line 2571 "objc-parse.y"
4651 { yyval.ttype = yyvsp[0].ttype;
4652 current_declspecs = TREE_VALUE (declspec_stack);
4653 prefix_attributes = TREE_PURPOSE (declspec_stack);
4654 declspec_stack = TREE_CHAIN (declspec_stack); ;
4657 #line 2576 "objc-parse.y"
4658 { yyval.ttype = yyvsp[0].ttype;
4659 current_declspecs = TREE_VALUE (declspec_stack);
4660 prefix_attributes = TREE_PURPOSE (declspec_stack);
4661 declspec_stack = TREE_CHAIN (declspec_stack); ;
4664 #line 2581 "objc-parse.y"
4665 { yyval.ttype = NULL_TREE; ;
4668 #line 2586 "objc-parse.y"
4669 { yyval.ttype = NULL_TREE; ;
4672 #line 2593 "objc-parse.y"
4674 yyval.ttype = add_instance_variable (objc_ivar_context,
4676 yyvsp[0].ttype, current_declspecs,
4681 #line 2600 "objc-parse.y"
4683 yyval.ttype = add_instance_variable (objc_ivar_context,
4685 yyvsp[-2].ttype, current_declspecs, yyvsp[0].ttype);
4689 #line 2606 "objc-parse.y"
4691 yyval.ttype = add_instance_variable (objc_ivar_context,
4694 current_declspecs, yyvsp[0].ttype);
4698 #line 2616 "objc-parse.y"
4700 remember_protocol_qualifiers ();
4701 if (objc_implementation_context)
4702 objc_inherit_code = CLASS_METHOD_DECL;
4704 fatal ("method definition not in class context");
4708 #line 2624 "objc-parse.y"
4710 forget_protocol_qualifiers ();
4711 add_class_method (objc_implementation_context, yyvsp[0].ttype);
4712 start_method_def (yyvsp[0].ttype);
4713 objc_method_context = yyvsp[0].ttype;
4717 #line 2631 "objc-parse.y"
4719 continue_method_def ();
4723 #line 2635 "objc-parse.y"
4725 finish_method_def ();
4726 objc_method_context = NULL_TREE;
4730 #line 2641 "objc-parse.y"
4732 remember_protocol_qualifiers ();
4733 if (objc_implementation_context)
4734 objc_inherit_code = INSTANCE_METHOD_DECL;
4736 fatal ("method definition not in class context");
4740 #line 2649 "objc-parse.y"
4742 forget_protocol_qualifiers ();
4743 add_instance_method (objc_implementation_context, yyvsp[0].ttype);
4744 start_method_def (yyvsp[0].ttype);
4745 objc_method_context = yyvsp[0].ttype;
4749 #line 2656 "objc-parse.y"
4751 continue_method_def ();
4755 #line 2660 "objc-parse.y"
4757 finish_method_def ();
4758 objc_method_context = NULL_TREE;
4762 #line 2672 "objc-parse.y"
4763 {yyval.ttype = NULL_TREE; ;
4766 #line 2679 "objc-parse.y"
4767 {yyval.ttype = NULL_TREE; ;
4770 #line 2689 "objc-parse.y"
4772 /* Remember protocol qualifiers in prototypes. */
4773 remember_protocol_qualifiers ();
4774 objc_inherit_code = CLASS_METHOD_DECL;
4778 #line 2695 "objc-parse.y"
4780 /* Forget protocol qualifiers here. */
4781 forget_protocol_qualifiers ();
4782 add_class_method (objc_interface_context, yyvsp[0].ttype);
4786 #line 2703 "objc-parse.y"
4788 /* Remember protocol qualifiers in prototypes. */
4789 remember_protocol_qualifiers ();
4790 objc_inherit_code = INSTANCE_METHOD_DECL;
4794 #line 2709 "objc-parse.y"
4796 /* Forget protocol qualifiers here. */
4797 forget_protocol_qualifiers ();
4798 add_instance_method (objc_interface_context, yyvsp[0].ttype);
4802 #line 2719 "objc-parse.y"
4804 yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE);
4808 #line 2724 "objc-parse.y"
4810 yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[0].ttype, NULL_TREE);
4814 #line 2729 "objc-parse.y"
4816 yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
4820 #line 2734 "objc-parse.y"
4822 yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype);
4826 #line 2764 "objc-parse.y"
4827 { current_declspecs = TREE_VALUE (declspec_stack);
4828 prefix_attributes = TREE_PURPOSE (declspec_stack);
4829 declspec_stack = TREE_CHAIN (declspec_stack); ;
4832 #line 2768 "objc-parse.y"
4833 { shadow_tag (yyvsp[-1].ttype); ;
4836 #line 2770 "objc-parse.y"
4837 { pedwarn ("empty declaration"); ;
4840 #line 2775 "objc-parse.y"
4841 { push_parm_decl (yyvsp[0].ttype); ;
4844 #line 2777 "objc-parse.y"
4845 { push_parm_decl (yyvsp[0].ttype); ;
4848 #line 2785 "objc-parse.y"
4849 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
4851 build_tree_list (prefix_attributes,
4855 #line 2790 "objc-parse.y"
4856 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
4858 build_tree_list (prefix_attributes,
4862 #line 2795 "objc-parse.y"
4863 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
4865 build_tree_list (prefix_attributes,
4869 #line 2803 "objc-parse.y"
4871 yyval.ttype = NULL_TREE;
4875 #line 2807 "objc-parse.y"
4877 /* oh what a kludge! */
4878 yyval.ttype = (tree)1;
4882 #line 2812 "objc-parse.y"
4888 #line 2816 "objc-parse.y"
4890 /* returns a tree list node generated by get_parm_info */
4891 yyval.ttype = yyvsp[0].ttype;
4896 #line 2831 "objc-parse.y"
4898 yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
4902 #line 2844 "objc-parse.y"
4903 { yyval.ttype = get_identifier (token_buffer); ;
4906 #line 2845 "objc-parse.y"
4907 { yyval.ttype = get_identifier (token_buffer); ;
4910 #line 2846 "objc-parse.y"
4911 { yyval.ttype = get_identifier (token_buffer); ;
4914 #line 2847 "objc-parse.y"
4915 { yyval.ttype = get_identifier (token_buffer); ;
4918 #line 2848 "objc-parse.y"
4919 { yyval.ttype = get_identifier (token_buffer); ;
4922 #line 2849 "objc-parse.y"
4923 { yyval.ttype = get_identifier (token_buffer); ;
4926 #line 2850 "objc-parse.y"
4927 { yyval.ttype = get_identifier (token_buffer); ;
4930 #line 2851 "objc-parse.y"
4931 { yyval.ttype = get_identifier (token_buffer); ;
4934 #line 2852 "objc-parse.y"
4935 { yyval.ttype = get_identifier (token_buffer); ;
4938 #line 2853 "objc-parse.y"
4939 { yyval.ttype = get_identifier (token_buffer); ;
4942 #line 2854 "objc-parse.y"
4943 { yyval.ttype = get_identifier (token_buffer); ;
4946 #line 2855 "objc-parse.y"
4947 { yyval.ttype = get_identifier (token_buffer); ;
4950 #line 2856 "objc-parse.y"
4951 { yyval.ttype = get_identifier (token_buffer); ;
4954 #line 2857 "objc-parse.y"
4955 { yyval.ttype = get_identifier (token_buffer); ;
4958 #line 2858 "objc-parse.y"
4959 { yyval.ttype = get_identifier (token_buffer); ;
4962 #line 2859 "objc-parse.y"
4963 { yyval.ttype = get_identifier (token_buffer); ;
4966 #line 2860 "objc-parse.y"
4967 { yyval.ttype = get_identifier (token_buffer); ;
4970 #line 2861 "objc-parse.y"
4971 { yyval.ttype = get_identifier (token_buffer); ;
4974 #line 2862 "objc-parse.y"
4975 { yyval.ttype = get_identifier (token_buffer); ;
4978 #line 2868 "objc-parse.y"
4980 yyval.ttype = build_keyword_decl (yyvsp[-5].ttype, yyvsp[-2].ttype, yyvsp[0].ttype);
4984 #line 2873 "objc-parse.y"
4986 yyval.ttype = build_keyword_decl (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
4990 #line 2878 "objc-parse.y"
4992 yyval.ttype = build_keyword_decl (NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype);
4996 #line 2883 "objc-parse.y"
4998 yyval.ttype = build_keyword_decl (NULL_TREE, NULL_TREE, yyvsp[0].ttype);
5002 #line 2896 "objc-parse.y"
5004 yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
5008 #line 2904 "objc-parse.y"
5010 if (TREE_CHAIN (yyvsp[0].ttype) == NULL_TREE)
5011 /* just return the expr., remove a level of indirection */
5012 yyval.ttype = TREE_VALUE (yyvsp[0].ttype);
5014 /* we have a comma expr., we will collapse later */
5015 yyval.ttype = yyvsp[0].ttype;
5019 #line 2916 "objc-parse.y"
5021 yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype);
5025 #line 2920 "objc-parse.y"
5027 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype);
5031 #line 2928 "objc-parse.y"
5033 yyval.ttype = get_class_reference (yyvsp[0].ttype);
5037 #line 2935 "objc-parse.y"
5038 { objc_receiver_context = 1; ;
5041 #line 2937 "objc-parse.y"
5042 { objc_receiver_context = 0; ;
5045 #line 2939 "objc-parse.y"
5047 yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype);
5051 #line 2952 "objc-parse.y"
5053 yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
5057 #line 2959 "objc-parse.y"
5059 yyval.ttype = build_tree_list (yyvsp[-1].ttype, NULL_TREE);
5063 #line 2963 "objc-parse.y"
5065 yyval.ttype = build_tree_list (NULL_TREE, NULL_TREE);
5069 #line 2970 "objc-parse.y"
5071 yyval.ttype = yyvsp[-1].ttype;
5075 #line 2977 "objc-parse.y"
5077 yyval.ttype = yyvsp[-1].ttype;
5081 #line 2986 "objc-parse.y"
5083 yyval.ttype = groktypename (yyvsp[-1].ttype);
5087 /* the action file gets copied in in place of this dollarsign */
5088 #line 543 "/usr/share/misc/bison.simple"
5099 short *ssp1 = yyss - 1;
5100 fprintf (stderr, "state stack now");
5101 while (ssp1 != yyssp)
5102 fprintf (stderr, " %d", *++ssp1);
5103 fprintf (stderr, "\n");
5113 yylsp->first_line = yylloc.first_line;
5114 yylsp->first_column = yylloc.first_column;
5115 yylsp->last_line = (yylsp-1)->last_line;
5116 yylsp->last_column = (yylsp-1)->last_column;
5121 yylsp->last_line = (yylsp+yylen-1)->last_line;
5122 yylsp->last_column = (yylsp+yylen-1)->last_column;
5126 /* Now "shift" the result of the reduction.
5127 Determine what state that goes to,
5128 based on the state we popped back to
5129 and the rule number reduced by. */
5133 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
5134 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
5135 yystate = yytable[yystate];
5137 yystate = yydefgoto[yyn - YYNTBASE];
5141 yyerrlab: /* here on detecting error */
5144 /* If not already recovering from an error, report this error. */
5148 #ifdef YYERROR_VERBOSE
5149 yyn = yypact[yystate];
5151 if (yyn > YYFLAG && yyn < YYLAST)
5158 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
5159 for (x = (yyn < 0 ? -yyn : 0);
5160 x < (sizeof(yytname) / sizeof(char *)); x++)
5161 if (yycheck[x + yyn] == x)
5162 size += strlen(yytname[x]) + 15, count++;
5163 msg = (char *) malloc(size + 15);
5166 strcpy(msg, "parse error");
5171 for (x = (yyn < 0 ? -yyn : 0);
5172 x < (sizeof(yytname) / sizeof(char *)); x++)
5173 if (yycheck[x + yyn] == x)
5175 strcat(msg, count == 0 ? ", expecting `" : " or `");
5176 strcat(msg, yytname[x]);
5185 yyerror ("parse error; also virtual memory exceeded");
5188 #endif /* YYERROR_VERBOSE */
5189 yyerror("parse error");
5193 yyerrlab1: /* here on error raised explicitly by an action */
5195 if (yyerrstatus == 3)
5197 /* if just tried and failed to reuse lookahead token after an error, discard it. */
5199 /* return failure if at end of input */
5200 if (yychar == YYEOF)
5205 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
5211 /* Else will try to reuse lookahead token
5212 after shifting the error token. */
5214 yyerrstatus = 3; /* Each real token shifted decrements this */
5218 yyerrdefault: /* current state does not do anything special for the error token. */
5221 /* This is wrong; only states that explicitly want error tokens
5222 should shift them. */
5223 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
5224 if (yyn) goto yydefault;
5227 yyerrpop: /* pop the current state because it cannot handle the error token */
5229 if (yyssp == yyss) YYABORT;
5239 short *ssp1 = yyss - 1;
5240 fprintf (stderr, "Error: state stack now");
5241 while (ssp1 != yyssp)
5242 fprintf (stderr, " %d", *++ssp1);
5243 fprintf (stderr, "\n");
5249 yyn = yypact[yystate];
5254 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
5273 fprintf(stderr, "Shifting error token, ");
5285 /* YYACCEPT comes here. */
5297 /* YYABORT comes here. */
5308 #line 2991 "objc-parse.y"