2 /* A Bison parser, made from objc-parse.y
3 by GNU Bison version 1.25
6 #define YYBISON 1 /* Identify Bison output. */
32 #define ASM_KEYWORD 282
44 #define ARITHCOMPARE 294
49 #define MINUSMINUS 299
50 #define HYPERUNARY 300
53 #define IMPLEMENTATION 303
63 #define OBJECTNAME 313
66 #define OBJC_STRING 316
68 #line 33 "objc-parse.y"
82 #ifdef MULTIBYTE_CHARS
88 /* Since parsers are distinct for each language, put the language string
90 char *language_string = "GNU Obj-C";
92 /* Like YYERROR but do call yyerror. */
93 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
95 /* Cause the `yydebug' variable to be defined. */
98 #line 65 "objc-parse.y"
99 typedef union {long itype; tree ttype; enum tree_code code;
100 char *filename; int lineno; int ends_in_label; } YYSTYPE;
101 #line 193 "objc-parse.y"
103 /* Number of statements (loosely speaking) and compound statements
105 static int stmt_count;
106 static int compstmt_count;
108 /* Input file and line number of the end of the body of last simple_if;
109 used by the stmt-rule immediately after simple_if returns. */
110 static char *if_stmt_file;
111 static int if_stmt_line;
113 /* List of types and structure classes of the current declaration. */
114 static tree current_declspecs = NULL_TREE;
115 static tree prefix_attributes = NULL_TREE;
117 /* Stack of saved values of current_declspecs and prefix_attributes. */
118 static tree declspec_stack;
120 /* 1 if we explained undeclared var errors. */
121 static int undeclared_variable_notice;
123 /* Objective-C specific information */
125 tree objc_interface_context;
126 tree objc_implementation_context;
127 tree objc_method_context;
128 tree objc_ivar_chain;
129 tree objc_ivar_context;
130 enum tree_code objc_inherit_code;
131 int objc_receiver_context;
132 int objc_public_flag;
135 /* Tell yyparse how to print a token's value, if yydebug is set. */
137 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
138 extern void yyprint PROTO ((FILE *, int, YYSTYPE));
150 #define YYFLAG -32768
153 #define YYTRANSLATE(x) ((unsigned)(x) <= 316 ? yytranslate[x] : 309)
155 static const char yytranslate[] = { 0,
156 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
157 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
158 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
159 2, 2, 80, 2, 2, 2, 52, 43, 2, 59,
160 76, 50, 48, 81, 49, 58, 51, 2, 2, 2,
161 2, 2, 2, 2, 2, 2, 2, 38, 77, 2,
162 36, 2, 37, 2, 2, 2, 2, 2, 2, 2,
163 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
164 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
165 60, 2, 83, 42, 2, 2, 2, 2, 2, 2,
166 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
167 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
168 2, 2, 82, 41, 78, 79, 2, 2, 2, 2,
169 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
170 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
171 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
172 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
173 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
174 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
175 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
176 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
177 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
178 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
179 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
180 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
181 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
182 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
183 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
184 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
185 39, 40, 44, 45, 46, 47, 53, 54, 55, 56,
186 57, 61, 62, 63, 64, 65, 66, 67, 68, 69,
187 70, 71, 72, 73, 74, 75
191 static const short yyprhs[] = { 0,
192 0, 1, 3, 4, 7, 8, 12, 14, 16, 18,
193 24, 27, 31, 36, 41, 44, 47, 50, 53, 55,
194 56, 57, 65, 70, 71, 72, 80, 85, 86, 87,
195 94, 98, 100, 102, 104, 106, 108, 110, 112, 114,
196 116, 118, 120, 122, 123, 125, 127, 131, 133, 136,
197 139, 142, 145, 148, 153, 156, 161, 164, 167, 169,
198 171, 173, 178, 179, 187, 189, 193, 197, 201, 205,
199 209, 213, 217, 221, 225, 229, 233, 237, 238, 243,
200 244, 249, 250, 251, 259, 260, 266, 270, 274, 276,
201 278, 280, 284, 288, 289, 294, 299, 304, 308, 312,
202 315, 318, 320, 322, 324, 326, 328, 330, 333, 335,
203 338, 339, 341, 344, 348, 350, 352, 355, 358, 363,
204 368, 371, 374, 378, 380, 382, 385, 388, 389, 390,
205 395, 400, 404, 408, 411, 414, 417, 420, 424, 425,
206 428, 431, 434, 437, 441, 442, 445, 448, 450, 452,
207 455, 458, 460, 462, 465, 468, 471, 475, 476, 479,
208 481, 483, 485, 488, 491, 493, 498, 503, 505, 507,
209 509, 511, 515, 517, 521, 522, 527, 528, 535, 539,
210 540, 547, 551, 552, 554, 556, 559, 566, 568, 572,
211 573, 575, 580, 587, 592, 594, 596, 598, 600, 602,
212 603, 608, 610, 611, 614, 616, 620, 622, 623, 628,
213 630, 631, 636, 637, 643, 644, 645, 651, 652, 653,
214 659, 661, 663, 667, 671, 676, 680, 684, 688, 690,
215 692, 696, 701, 705, 709, 713, 715, 719, 723, 727,
216 732, 736, 740, 742, 744, 747, 749, 752, 754, 757,
217 758, 766, 772, 775, 776, 784, 790, 793, 794, 803,
218 804, 812, 815, 816, 818, 819, 821, 823, 826, 827,
219 831, 834, 839, 843, 845, 849, 851, 853, 856, 858,
220 862, 867, 874, 880, 882, 886, 888, 890, 894, 897,
221 900, 901, 903, 905, 908, 909, 912, 916, 920, 923,
222 927, 932, 936, 939, 943, 946, 948, 950, 953, 956,
223 957, 959, 962, 963, 964, 966, 968, 971, 975, 977,
224 980, 982, 985, 992, 998, 1004, 1007, 1010, 1015, 1016,
225 1021, 1022, 1023, 1027, 1032, 1036, 1038, 1040, 1042, 1044,
226 1047, 1048, 1053, 1055, 1059, 1060, 1061, 1069, 1075, 1078,
227 1079, 1080, 1081, 1094, 1095, 1102, 1105, 1108, 1111, 1115,
228 1122, 1131, 1142, 1155, 1159, 1164, 1166, 1168, 1169, 1176,
229 1180, 1186, 1189, 1192, 1193, 1195, 1196, 1198, 1199, 1201,
230 1203, 1207, 1212, 1214, 1218, 1219, 1222, 1225, 1226, 1231,
231 1234, 1235, 1237, 1239, 1243, 1245, 1249, 1254, 1259, 1264,
232 1269, 1274, 1275, 1278, 1280, 1283, 1285, 1289, 1291, 1295,
233 1297, 1299, 1301, 1303, 1305, 1307, 1309, 1311, 1315, 1319,
234 1324, 1325, 1326, 1337, 1338, 1345, 1346, 1347, 1360, 1361,
235 1370, 1371, 1378, 1381, 1382, 1391, 1396, 1397, 1407, 1413,
236 1414, 1421, 1422, 1424, 1428, 1432, 1434, 1436, 1438, 1440,
237 1441, 1445, 1448, 1452, 1456, 1458, 1459, 1461, 1465, 1467,
238 1471, 1474, 1475, 1476, 1477, 1485, 1486, 1487, 1488, 1496,
239 1497, 1498, 1501, 1503, 1505, 1508, 1509, 1513, 1515, 1517,
240 1518, 1519, 1525, 1526, 1527, 1533, 1538, 1540, 1546, 1549,
241 1550, 1553, 1554, 1556, 1558, 1560, 1563, 1566, 1571, 1574,
242 1577, 1579, 1583, 1586, 1589, 1592, 1593, 1596, 1597, 1601,
243 1603, 1605, 1608, 1610, 1612, 1614, 1616, 1618, 1620, 1622,
244 1624, 1626, 1628, 1630, 1632, 1634, 1636, 1638, 1640, 1642,
245 1644, 1646, 1648, 1650, 1652, 1654, 1656, 1658, 1665, 1669,
246 1675, 1678, 1680, 1682, 1684, 1687, 1689, 1693, 1696, 1698,
247 1700, 1701, 1702, 1709, 1711, 1713, 1715, 1718, 1721, 1723,
251 static const short yyrhs[] = { -1,
252 85, 0, 0, 86, 88, 0, 0, 85, 87, 88,
253 0, 90, 0, 89, 0, 240, 0, 27, 59, 99,
254 76, 77, 0, 239, 88, 0, 123, 137, 77, 0,
255 130, 123, 137, 77, 0, 126, 123, 136, 77, 0,
256 130, 77, 0, 126, 77, 0, 1, 77, 0, 1,
257 78, 0, 77, 0, 0, 0, 126, 123, 163, 91,
258 117, 92, 197, 0, 126, 123, 163, 1, 0, 0,
259 0, 130, 123, 166, 93, 117, 94, 197, 0, 130,
260 123, 166, 1, 0, 0, 0, 123, 166, 95, 117,
261 96, 197, 0, 123, 166, 1, 0, 3, 0, 4,
262 0, 72, 0, 67, 0, 43, 0, 49, 0, 48,
263 0, 54, 0, 55, 0, 79, 0, 80, 0, 101,
264 0, 0, 101, 0, 107, 0, 101, 81, 107, 0,
265 113, 0, 50, 105, 0, 239, 105, 0, 98, 105,
266 0, 40, 97, 0, 103, 102, 0, 103, 59, 184,
267 76, 0, 104, 102, 0, 104, 59, 184, 76, 0,
268 33, 105, 0, 34, 105, 0, 11, 0, 29, 0,
269 102, 0, 59, 184, 76, 105, 0, 0, 59, 184,
270 76, 82, 106, 151, 78, 0, 105, 0, 107, 48,
271 107, 0, 107, 49, 107, 0, 107, 50, 107, 0,
272 107, 51, 107, 0, 107, 52, 107, 0, 107, 46,
273 107, 0, 107, 47, 107, 0, 107, 45, 107, 0,
274 107, 44, 107, 0, 107, 43, 107, 0, 107, 41,
275 107, 0, 107, 42, 107, 0, 0, 107, 40, 108,
276 107, 0, 0, 107, 39, 109, 107, 0, 0, 0,
277 107, 37, 110, 99, 38, 111, 107, 0, 0, 107,
278 37, 112, 38, 107, 0, 107, 36, 107, 0, 107,
279 35, 107, 0, 3, 0, 8, 0, 115, 0, 59,
280 99, 76, 0, 59, 1, 76, 0, 0, 59, 114,
281 199, 76, 0, 113, 59, 100, 76, 0, 113, 60,
282 99, 83, 0, 113, 58, 97, 0, 113, 57, 97,
283 0, 113, 54, 0, 113, 55, 0, 300, 0, 306,
284 0, 307, 0, 308, 0, 116, 0, 9, 0, 115,
285 9, 0, 75, 0, 116, 75, 0, 0, 119, 0,
286 119, 10, 0, 204, 205, 120, 0, 118, 0, 192,
287 0, 119, 118, 0, 118, 192, 0, 128, 123, 136,
288 77, 0, 131, 123, 137, 77, 0, 128, 77, 0,
289 131, 77, 0, 204, 205, 125, 0, 121, 0, 192,
290 0, 122, 121, 0, 121, 192, 0, 0, 0, 126,
291 123, 136, 77, 0, 130, 123, 137, 77, 0, 126,
292 123, 157, 0, 130, 123, 160, 0, 126, 77, 0,
293 130, 77, 0, 239, 125, 0, 134, 127, 0, 130,
294 134, 127, 0, 0, 127, 135, 0, 127, 5, 0,
295 127, 144, 0, 134, 129, 0, 131, 134, 129, 0,
296 0, 129, 135, 0, 129, 5, 0, 131, 0, 144,
297 0, 130, 131, 0, 130, 144, 0, 7, 0, 5,
298 0, 131, 7, 0, 131, 5, 0, 134, 133, 0,
299 186, 134, 133, 0, 0, 133, 135, 0, 6, 0,
300 170, 0, 4, 0, 67, 256, 0, 72, 256, 0,
301 257, 0, 28, 59, 99, 76, 0, 28, 59, 184,
302 76, 0, 6, 0, 7, 0, 170, 0, 139, 0,
303 136, 81, 139, 0, 141, 0, 137, 81, 139, 0,
304 0, 27, 59, 115, 76, 0, 0, 163, 138, 143,
305 36, 140, 149, 0, 163, 138, 143, 0, 0, 166,
306 138, 143, 36, 142, 149, 0, 166, 138, 143, 0,
307 0, 144, 0, 145, 0, 144, 145, 0, 30, 59,
308 59, 146, 76, 76, 0, 147, 0, 146, 81, 147,
309 0, 0, 148, 0, 148, 59, 3, 76, 0, 148,
310 59, 3, 81, 101, 76, 0, 148, 59, 100, 76,
311 0, 97, 0, 5, 0, 6, 0, 7, 0, 107,
312 0, 0, 82, 150, 151, 78, 0, 1, 0, 0,
313 152, 175, 0, 153, 0, 152, 81, 153, 0, 107,
314 0, 0, 82, 154, 151, 78, 0, 1, 0, 0,
315 97, 38, 155, 153, 0, 0, 58, 97, 36, 156,
316 153, 0, 0, 0, 163, 158, 117, 159, 199, 0,
317 0, 0, 166, 161, 117, 162, 199, 0, 164, 0,
318 166, 0, 59, 164, 76, 0, 164, 59, 234, 0,
319 164, 60, 99, 83, 0, 164, 60, 83, 0, 50,
320 187, 164, 0, 144, 124, 164, 0, 4, 0, 72,
321 0, 165, 59, 234, 0, 165, 60, 99, 83, 0,
322 165, 60, 83, 0, 50, 187, 165, 0, 144, 124,
323 165, 0, 4, 0, 166, 59, 234, 0, 59, 166,
324 76, 0, 50, 187, 166, 0, 166, 60, 99, 83,
325 0, 166, 60, 83, 0, 144, 124, 166, 0, 3,
326 0, 13, 0, 13, 144, 0, 14, 0, 14, 144,
327 0, 12, 0, 12, 144, 0, 0, 167, 97, 82,
328 171, 177, 78, 143, 0, 167, 82, 177, 78, 143,
329 0, 167, 97, 0, 0, 168, 97, 82, 172, 177,
330 78, 143, 0, 168, 82, 177, 78, 143, 0, 168,
331 97, 0, 0, 169, 97, 82, 173, 182, 176, 78,
332 143, 0, 0, 169, 82, 174, 182, 176, 78, 143,
333 0, 169, 97, 0, 0, 81, 0, 0, 81, 0,
334 178, 0, 178, 179, 0, 0, 178, 179, 77, 0,
335 178, 77, 0, 65, 59, 67, 76, 0, 132, 123,
336 180, 0, 132, 0, 186, 123, 180, 0, 186, 0,
337 1, 0, 239, 179, 0, 181, 0, 180, 81, 181,
338 0, 204, 205, 163, 143, 0, 204, 205, 163, 38,
339 107, 143, 0, 204, 205, 38, 107, 143, 0, 183,
340 0, 182, 81, 183, 0, 1, 0, 97, 0, 97,
341 36, 107, 0, 132, 185, 0, 186, 185, 0, 0,
342 188, 0, 7, 0, 186, 7, 0, 0, 187, 7,
343 0, 59, 188, 76, 0, 50, 187, 188, 0, 50,
344 187, 0, 188, 59, 227, 0, 188, 60, 99, 83,
345 0, 188, 60, 83, 0, 59, 227, 0, 60, 99,
346 83, 0, 60, 83, 0, 190, 0, 207, 0, 190,
347 207, 0, 190, 192, 0, 0, 189, 0, 1, 77,
348 0, 0, 0, 195, 0, 196, 0, 195, 196, 0,
349 32, 238, 77, 0, 199, 0, 1, 199, 0, 82,
350 0, 198, 78, 0, 198, 193, 194, 122, 191, 78,
351 0, 198, 193, 194, 1, 78, 0, 198, 193, 194,
352 189, 78, 0, 201, 206, 0, 201, 1, 0, 15,
353 59, 99, 76, 0, 0, 18, 203, 206, 17, 0,
354 0, 0, 204, 205, 209, 0, 204, 205, 220, 206,
355 0, 204, 205, 208, 0, 209, 0, 220, 0, 199,
356 0, 217, 0, 99, 77, 0, 0, 200, 16, 210,
357 206, 0, 200, 0, 200, 16, 1, 0, 0, 0,
358 17, 211, 59, 99, 76, 212, 206, 0, 202, 59,
359 99, 76, 77, 0, 202, 1, 0, 0, 0, 0,
360 19, 59, 222, 77, 213, 222, 77, 214, 222, 76,
361 215, 206, 0, 0, 20, 59, 99, 76, 216, 206,
362 0, 23, 77, 0, 24, 77, 0, 25, 77, 0,
363 25, 99, 77, 0, 27, 221, 59, 99, 76, 77,
364 0, 27, 221, 59, 99, 38, 223, 76, 77, 0,
365 27, 221, 59, 99, 38, 223, 38, 223, 76, 77,
366 0, 27, 221, 59, 99, 38, 223, 38, 223, 38,
367 226, 76, 77, 0, 26, 97, 77, 0, 26, 50,
368 99, 77, 0, 77, 0, 218, 0, 0, 19, 59,
369 113, 76, 219, 206, 0, 21, 107, 38, 0, 21,
370 107, 10, 107, 38, 0, 22, 38, 0, 97, 38,
371 0, 0, 7, 0, 0, 99, 0, 0, 224, 0,
372 225, 0, 224, 81, 225, 0, 9, 59, 99, 76,
373 0, 115, 0, 226, 81, 115, 0, 0, 228, 229,
374 0, 231, 76, 0, 0, 232, 77, 230, 229, 0,
375 1, 76, 0, 0, 10, 0, 232, 0, 232, 81,
376 10, 0, 233, 0, 232, 81, 233, 0, 126, 123,
377 165, 143, 0, 126, 123, 166, 143, 0, 126, 123,
378 185, 143, 0, 130, 123, 166, 143, 0, 130, 123,
379 185, 143, 0, 0, 235, 236, 0, 229, 0, 237,
380 76, 0, 3, 0, 237, 81, 3, 0, 97, 0,
381 238, 81, 97, 0, 31, 0, 244, 0, 242, 0,
382 243, 0, 254, 0, 264, 0, 63, 0, 97, 0,
383 241, 81, 97, 0, 73, 241, 77, 0, 74, 97,
384 97, 77, 0, 0, 0, 61, 97, 256, 82, 245,
385 258, 78, 246, 271, 63, 0, 0, 61, 97, 256,
386 247, 271, 63, 0, 0, 0, 61, 97, 38, 97,
387 256, 82, 248, 258, 78, 249, 271, 63, 0, 0,
388 61, 97, 38, 97, 256, 250, 271, 63, 0, 0,
389 62, 97, 82, 251, 258, 78, 0, 62, 97, 0,
390 0, 62, 97, 38, 97, 82, 252, 258, 78, 0,
391 62, 97, 38, 97, 0, 0, 61, 97, 59, 97,
392 76, 256, 253, 271, 63, 0, 62, 97, 59, 97,
393 76, 0, 0, 71, 97, 256, 255, 271, 63, 0,
394 0, 257, 0, 45, 241, 45, 0, 258, 259, 260,
395 0, 260, 0, 69, 0, 70, 0, 68, 0, 0,
396 260, 261, 77, 0, 260, 77, 0, 132, 123, 262,
397 0, 186, 123, 262, 0, 1, 0, 0, 263, 0,
398 262, 81, 263, 0, 163, 0, 163, 38, 107, 0,
399 38, 107, 0, 0, 0, 0, 48, 265, 281, 266,
400 282, 267, 197, 0, 0, 0, 0, 49, 268, 281,
401 269, 282, 270, 197, 0, 0, 0, 272, 273, 0,
402 276, 0, 89, 0, 273, 276, 0, 0, 273, 274,
403 89, 0, 77, 0, 1, 0, 0, 0, 48, 277,
404 281, 278, 275, 0, 0, 0, 49, 279, 281, 280,
405 275, 0, 59, 184, 76, 290, 0, 290, 0, 59,
406 184, 76, 291, 288, 0, 291, 288, 0, 0, 77,
407 283, 0, 0, 284, 0, 285, 0, 192, 0, 284,
408 285, 0, 285, 192, 0, 126, 123, 286, 77, 0,
409 126, 77, 0, 130, 77, 0, 287, 0, 286, 81,
410 287, 0, 165, 143, 0, 166, 143, 0, 185, 143,
411 0, 0, 81, 10, 0, 0, 81, 289, 231, 0,
412 292, 0, 294, 0, 291, 294, 0, 3, 0, 4,
413 0, 72, 0, 293, 0, 12, 0, 13, 0, 14,
414 0, 15, 0, 16, 0, 17, 0, 18, 0, 19,
415 0, 20, 0, 21, 0, 22, 0, 23, 0, 24,
416 0, 25, 0, 26, 0, 27, 0, 11, 0, 28,
417 0, 29, 0, 6, 0, 7, 0, 292, 38, 59,
418 184, 76, 97, 0, 292, 38, 97, 0, 38, 59,
419 184, 76, 97, 0, 38, 97, 0, 292, 0, 296,
420 0, 298, 0, 296, 298, 0, 101, 0, 292, 38,
421 297, 0, 38, 297, 0, 99, 0, 67, 0, 0,
422 0, 60, 301, 299, 302, 295, 83, 0, 292, 0,
423 304, 0, 305, 0, 304, 305, 0, 292, 38, 0,
424 38, 0, 64, 59, 303, 76, 0, 71, 59, 97,
425 76, 0, 66, 59, 184, 76, 0
431 static const short yyrline[] = { 0,
432 233, 238, 252, 254, 254, 255, 257, 259, 260, 261,
433 269, 273, 284, 289, 294, 296, 298, 299, 300, 305,
434 312, 314, 319, 324, 330, 332, 337, 342, 348, 350,
435 355, 362, 364, 365, 366, 369, 371, 373, 375, 377,
436 379, 381, 385, 389, 392, 395, 398, 402, 404, 407,
437 410, 414, 442, 448, 451, 454, 457, 459, 463, 467,
438 471, 473, 476, 480, 507, 509, 511, 513, 515, 517,
439 519, 521, 523, 525, 527, 529, 531, 533, 537, 539,
440 543, 545, 548, 552, 554, 561, 564, 567, 573, 733,
441 734, 736, 742, 744, 758, 781, 783, 785, 797, 811,
442 813, 815, 817, 819, 821, 823, 828, 830, 836, 838,
443 842, 844, 845, 855, 860, 862, 863, 864, 871, 877,
444 882, 885, 893, 898, 900, 901, 902, 909, 920, 924,
445 930, 935, 940, 945, 947, 949, 958, 961, 965, 967,
446 969, 974, 978, 981, 985, 988, 990, 1002, 1005, 1007,
447 1009, 1013, 1017, 1019, 1022, 1035, 1038, 1042, 1044, 1052,
448 1053, 1054, 1058, 1060, 1065, 1067, 1069, 1075, 1076, 1077,
449 1080, 1082, 1085, 1087, 1090, 1093, 1099, 1106, 1108, 1115,
450 1122, 1125, 1132, 1135, 1139, 1142, 1146, 1151, 1154, 1158,
451 1161, 1163, 1165, 1167, 1174, 1176, 1177, 1178, 1183, 1185,
452 1190, 1198, 1203, 1207, 1210, 1212, 1217, 1220, 1222, 1224,
453 1228, 1231, 1231, 1234, 1236, 1247, 1255, 1259, 1270, 1278,
454 1285, 1287, 1292, 1295, 1300, 1302, 1304, 1311, 1313, 1314,
455 1322, 1328, 1330, 1332, 1339, 1341, 1347, 1353, 1355, 1357,
456 1359, 1366, 1368, 1371, 1374, 1378, 1381, 1385, 1388, 1392,
457 1397, 1399, 1403, 1405, 1407, 1409, 1413, 1415, 1418, 1421,
458 1424, 1427, 1431, 1433, 1436, 1438, 1442, 1445, 1450, 1452,
459 1454, 1458, 1482, 1489, 1494, 1500, 1505, 1507, 1512, 1514,
460 1518, 1522, 1526, 1536, 1538, 1543, 1548, 1551, 1555, 1558,
461 1562, 1565, 1568, 1571, 1575, 1578, 1582, 1586, 1588, 1590,
462 1592, 1594, 1596, 1598, 1600, 1610, 1618, 1620, 1622, 1626,
463 1628, 1631, 1634, 1647, 1649, 1654, 1656, 1659, 1673, 1676,
464 1679, 1681, 1683, 1691, 1699, 1710, 1715, 1718, 1732, 1741,
465 1745, 1749, 1753, 1759, 1763, 1768, 1771, 1776, 1779, 1780,
466 1797, 1802, 1805, 1817, 1819, 1829, 1839, 1840, 1848, 1851,
467 1863, 1867, 1884, 1894, 1903, 1908, 1913, 1918, 1922, 1926,
468 1937, 1944, 1951, 1958, 1969, 1975, 1978, 1983, 2006, 2040,
469 2071, 2102, 2117, 2128, 2132, 2136, 2139, 2144, 2146, 2149,
470 2151, 2155, 2160, 2163, 2169, 2174, 2179, 2181, 2190, 2191,
471 2197, 2199, 2209, 2211, 2215, 2218, 2224, 2234, 2243, 2252,
472 2262, 2276, 2281, 2286, 2288, 2297, 2300, 2305, 2308, 2312,
473 2320, 2322, 2323, 2324, 2325, 2326, 2340, 2343, 2347, 2353,
474 2359, 2366, 2371, 2377, 2384, 2390, 2396, 2401, 2407, 2414,
475 2420, 2426, 2432, 2440, 2446, 2452, 2460, 2467, 2473, 2482,
476 2489, 2497, 2502, 2505, 2515, 2517, 2520, 2522, 2523, 2526,
477 2531, 2532, 2549, 2556, 2562, 2566, 2569, 2570, 2573, 2581,
478 2587, 2596, 2606, 2613, 2617, 2622, 2631, 2638, 2642, 2652,
479 2654, 2655, 2657, 2659, 2660, 2661, 2662, 2664, 2666, 2669,
480 2677, 2684, 2684, 2691, 2697, 2699, 2705, 2710, 2715, 2724,
481 2726, 2732, 2734, 2737, 2739, 2740, 2741, 2744, 2750, 2752,
482 2756, 2759, 2766, 2772, 2777, 2784, 2789, 2794, 2799, 2806,
483 2810, 2813, 2819, 2821, 2822, 2823, 2826, 2828, 2829, 2830,
484 2831, 2832, 2833, 2834, 2835, 2836, 2837, 2838, 2839, 2840,
485 2841, 2842, 2843, 2844, 2845, 2846, 2846, 2849, 2855, 2860,
486 2865, 2871, 2873, 2876, 2878, 2885, 2897, 2902, 2908, 2910,
487 2916, 2920, 2921, 2927, 2929, 2932, 2934, 2940, 2945, 2951,
493 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
495 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
496 "TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING","ELLIPSIS","SIZEOF",
497 "ENUM","STRUCT","UNION","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT",
498 "BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF","ATTRIBUTE",
499 "EXTENSION","LABEL","REALPART","IMAGPART","ASSIGN","'='","'?'","':'","OROR",
500 "ANDAND","'|'","'^'","'&'","EQCOMPARE","ARITHCOMPARE","LSHIFT","RSHIFT","'+'",
501 "'-'","'*'","'/'","'%'","UNARY","PLUSPLUS","MINUSMINUS","HYPERUNARY","POINTSAT",
502 "'.'","'('","'['","INTERFACE","IMPLEMENTATION","END","SELECTOR","DEFS","ENCODE",
503 "CLASSNAME","PUBLIC","PRIVATE","PROTECTED","PROTOCOL","OBJECTNAME","CLASS","ALIAS",
504 "OBJC_STRING","')'","';'","'}'","'~'","'!'","','","'{'","']'","program","extdefs",
505 "@1","@2","extdef","datadef","fndef","@3","@4","@5","@6","@7","@8","identifier",
506 "unop","expr","exprlist","nonnull_exprlist","unary_expr","sizeof","alignof",
507 "cast_expr","@9","expr_no_commas","@10","@11","@12","@13","@14","primary","@15",
508 "string","objc_string","old_style_parm_decls","lineno_datadecl","datadecls",
509 "datadecl","lineno_decl","decls","setspecs","setattrs","decl","typed_declspecs",
510 "reserved_declspecs","typed_declspecs_no_prefix_attr","reserved_declspecs_no_prefix_attr",
511 "declmods","declmods_no_prefix_attr","typed_typespecs","reserved_typespecquals",
512 "typespec","typespecqual_reserved","initdecls","notype_initdecls","maybeasm",
513 "initdcl","@16","notype_initdcl","@17","maybe_attribute","attributes","attribute",
514 "attribute_list","attrib","any_word","init","@18","initlist_maybe_comma","initlist1",
515 "initelt","@19","@20","@21","nested_function","@22","@23","notype_nested_function",
516 "@24","@25","declarator","after_type_declarator","parm_declarator","notype_declarator",
517 "struct_head","union_head","enum_head","structsp","@26","@27","@28","@29","maybecomma",
518 "maybecomma_warn","component_decl_list","component_decl_list2","component_decl",
519 "components","component_declarator","enumlist","enumerator","typename","absdcl",
520 "nonempty_type_quals","type_quals","absdcl1","stmts","lineno_stmt_or_labels",
521 "xstmts","errstmt","pushlevel","maybe_label_decls","label_decls","label_decl",
522 "compstmt_or_error","compstmt_start","compstmt","simple_if","if_prefix","do_stmt_start",
523 "@30","save_filename","save_lineno","lineno_labeled_stmt","lineno_stmt_or_label",
524 "stmt_or_label","stmt","@31","@32","@33","@34","@35","@36","@37","all_iter_stmt",
525 "all_iter_stmt_simple","@38","label","maybe_type_qual","xexpr","asm_operands",
526 "nonnull_asm_operands","asm_operand","asm_clobbers","parmlist","@39","parmlist_1",
527 "@40","parmlist_2","parms","parm","parmlist_or_identifiers","@41","parmlist_or_identifiers_1",
528 "identifiers","identifiers_or_typenames","extension","objcdef","identifier_list",
529 "classdecl","aliasdecl","classdef","@42","@43","@44","@45","@46","@47","@48",
530 "@49","@50","protocoldef","@51","protocolrefs","non_empty_protocolrefs","ivar_decl_list",
531 "visibility_spec","ivar_decls","ivar_decl","ivars","ivar_declarator","methoddef",
532 "@52","@53","@54","@55","@56","@57","methodprotolist","@58","methodprotolist2",
533 "@59","semi_or_error","methodproto","@60","@61","@62","@63","methoddecl","optarglist",
534 "myxdecls","mydecls","mydecl","myparms","myparm","optparmlist","@64","unaryselector",
535 "keywordselector","selector","reservedwords","keyworddecl","messageargs","keywordarglist",
536 "keywordexpr","keywordarg","receiver","objcmessageexpr","@65","@66","selectorarg",
537 "keywordnamelist","keywordname","objcselectorexpr","objcprotocolexpr","objcencodeexpr", NULL
541 static const short yyr1[] = { 0,
542 84, 84, 86, 85, 87, 85, 88, 88, 88, 88,
543 88, 89, 89, 89, 89, 89, 89, 89, 89, 91,
544 92, 90, 90, 93, 94, 90, 90, 95, 96, 90,
545 90, 97, 97, 97, 97, 98, 98, 98, 98, 98,
546 98, 98, 99, 100, 100, 101, 101, 102, 102, 102,
547 102, 102, 102, 102, 102, 102, 102, 102, 103, 104,
548 105, 105, 106, 105, 107, 107, 107, 107, 107, 107,
549 107, 107, 107, 107, 107, 107, 107, 108, 107, 109,
550 107, 110, 111, 107, 112, 107, 107, 107, 113, 113,
551 113, 113, 113, 114, 113, 113, 113, 113, 113, 113,
552 113, 113, 113, 113, 113, 113, 115, 115, 116, 116,
553 117, 117, 117, 118, 119, 119, 119, 119, 120, 120,
554 120, 120, 121, 122, 122, 122, 122, 123, 124, 125,
555 125, 125, 125, 125, 125, 125, 126, 126, 127, 127,
556 127, 127, 128, 128, 129, 129, 129, 130, 130, 130,
557 130, 131, 131, 131, 131, 132, 132, 133, 133, 134,
558 134, 134, 134, 134, 134, 134, 134, 135, 135, 135,
559 136, 136, 137, 137, 138, 138, 140, 139, 139, 142,
560 141, 141, 143, 143, 144, 144, 145, 146, 146, 147,
561 147, 147, 147, 147, 148, 148, 148, 148, 149, 150,
562 149, 149, 151, 151, 152, 152, 153, 154, 153, 153,
563 155, 153, 156, 153, 158, 159, 157, 161, 162, 160,
564 163, 163, 164, 164, 164, 164, 164, 164, 164, 164,
565 165, 165, 165, 165, 165, 165, 166, 166, 166, 166,
566 166, 166, 166, 167, 167, 168, 168, 169, 169, 171,
567 170, 170, 170, 172, 170, 170, 170, 173, 170, 174,
568 170, 170, 175, 175, 176, 176, 177, 177, 178, 178,
569 178, 178, 179, 179, 179, 179, 179, 179, 180, 180,
570 181, 181, 181, 182, 182, 182, 183, 183, 184, 184,
571 185, 185, 186, 186, 187, 187, 188, 188, 188, 188,
572 188, 188, 188, 188, 188, 189, 190, 190, 190, 191,
573 191, 192, 193, 194, 194, 195, 195, 196, 197, 197,
574 198, 199, 199, 199, 199, 200, 200, 201, 203, 202,
575 204, 205, 206, 206, 207, 208, 208, 209, 209, 209,
576 210, 209, 209, 209, 211, 212, 209, 209, 209, 213,
577 214, 215, 209, 216, 209, 209, 209, 209, 209, 209,
578 209, 209, 209, 209, 209, 209, 217, 219, 218, 220,
579 220, 220, 220, 221, 221, 222, 222, 223, 223, 224,
580 224, 225, 226, 226, 228, 227, 229, 230, 229, 229,
581 231, 231, 231, 231, 232, 232, 233, 233, 233, 233,
582 233, 235, 234, 236, 236, 237, 237, 238, 238, 239,
583 240, 240, 240, 240, 240, 240, 241, 241, 242, 243,
584 245, 246, 244, 247, 244, 248, 249, 244, 250, 244,
585 251, 244, 244, 252, 244, 244, 253, 244, 244, 255,
586 254, 256, 256, 257, 258, 258, 259, 259, 259, 260,
587 260, 260, 261, 261, 261, 262, 262, 262, 263, 263,
588 263, 265, 266, 267, 264, 268, 269, 270, 264, 271,
589 272, 271, 273, 273, 273, 274, 273, 275, 275, 277,
590 278, 276, 279, 280, 276, 281, 281, 281, 281, 282,
591 282, 283, 283, 284, 284, 284, 284, 285, 285, 285,
592 286, 286, 287, 287, 287, 288, 288, 289, 288, 290,
593 291, 291, 292, 292, 292, 292, 293, 293, 293, 293,
594 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
595 293, 293, 293, 293, 293, 293, 293, 294, 294, 294,
596 294, 295, 295, 296, 296, 297, 298, 298, 299, 299,
597 301, 302, 300, 303, 303, 304, 304, 305, 305, 306,
601 static const short yyr2[] = { 0,
602 0, 1, 0, 2, 0, 3, 1, 1, 1, 5,
603 2, 3, 4, 4, 2, 2, 2, 2, 1, 0,
604 0, 7, 4, 0, 0, 7, 4, 0, 0, 6,
605 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
606 1, 1, 1, 0, 1, 1, 3, 1, 2, 2,
607 2, 2, 2, 4, 2, 4, 2, 2, 1, 1,
608 1, 4, 0, 7, 1, 3, 3, 3, 3, 3,
609 3, 3, 3, 3, 3, 3, 3, 0, 4, 0,
610 4, 0, 0, 7, 0, 5, 3, 3, 1, 1,
611 1, 3, 3, 0, 4, 4, 4, 3, 3, 2,
612 2, 1, 1, 1, 1, 1, 1, 2, 1, 2,
613 0, 1, 2, 3, 1, 1, 2, 2, 4, 4,
614 2, 2, 3, 1, 1, 2, 2, 0, 0, 4,
615 4, 3, 3, 2, 2, 2, 2, 3, 0, 2,
616 2, 2, 2, 3, 0, 2, 2, 1, 1, 2,
617 2, 1, 1, 2, 2, 2, 3, 0, 2, 1,
618 1, 1, 2, 2, 1, 4, 4, 1, 1, 1,
619 1, 3, 1, 3, 0, 4, 0, 6, 3, 0,
620 6, 3, 0, 1, 1, 2, 6, 1, 3, 0,
621 1, 4, 6, 4, 1, 1, 1, 1, 1, 0,
622 4, 1, 0, 2, 1, 3, 1, 0, 4, 1,
623 0, 4, 0, 5, 0, 0, 5, 0, 0, 5,
624 1, 1, 3, 3, 4, 3, 3, 3, 1, 1,
625 3, 4, 3, 3, 3, 1, 3, 3, 3, 4,
626 3, 3, 1, 1, 2, 1, 2, 1, 2, 0,
627 7, 5, 2, 0, 7, 5, 2, 0, 8, 0,
628 7, 2, 0, 1, 0, 1, 1, 2, 0, 3,
629 2, 4, 3, 1, 3, 1, 1, 2, 1, 3,
630 4, 6, 5, 1, 3, 1, 1, 3, 2, 2,
631 0, 1, 1, 2, 0, 2, 3, 3, 2, 3,
632 4, 3, 2, 3, 2, 1, 1, 2, 2, 0,
633 1, 2, 0, 0, 1, 1, 2, 3, 1, 2,
634 1, 2, 6, 5, 5, 2, 2, 4, 0, 4,
635 0, 0, 3, 4, 3, 1, 1, 1, 1, 2,
636 0, 4, 1, 3, 0, 0, 7, 5, 2, 0,
637 0, 0, 12, 0, 6, 2, 2, 2, 3, 6,
638 8, 10, 12, 3, 4, 1, 1, 0, 6, 3,
639 5, 2, 2, 0, 1, 0, 1, 0, 1, 1,
640 3, 4, 1, 3, 0, 2, 2, 0, 4, 2,
641 0, 1, 1, 3, 1, 3, 4, 4, 4, 4,
642 4, 0, 2, 1, 2, 1, 3, 1, 3, 1,
643 1, 1, 1, 1, 1, 1, 1, 3, 3, 4,
644 0, 0, 10, 0, 6, 0, 0, 12, 0, 8,
645 0, 6, 2, 0, 8, 4, 0, 9, 5, 0,
646 6, 0, 1, 3, 3, 1, 1, 1, 1, 0,
647 3, 2, 3, 3, 1, 0, 1, 3, 1, 3,
648 2, 0, 0, 0, 7, 0, 0, 0, 7, 0,
649 0, 2, 1, 1, 2, 0, 3, 1, 1, 0,
650 0, 5, 0, 0, 5, 4, 1, 5, 2, 0,
651 2, 0, 1, 1, 1, 2, 2, 4, 2, 2,
652 1, 3, 2, 2, 2, 0, 2, 0, 3, 1,
653 1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
654 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
655 1, 1, 1, 1, 1, 1, 1, 6, 3, 5,
656 2, 1, 1, 1, 2, 1, 3, 2, 1, 1,
657 0, 0, 6, 1, 1, 1, 2, 2, 1, 4,
661 static const short yydefact[] = { 3,
662 5, 0, 0, 0, 162, 153, 160, 152, 248, 244,
663 246, 0, 0, 0, 410, 0, 462, 466, 0, 0,
664 416, 442, 0, 442, 0, 0, 19, 4, 8, 7,
665 0, 128, 128, 148, 139, 149, 185, 0, 0, 0,
666 161, 0, 9, 412, 413, 411, 414, 165, 415, 6,
667 17, 18, 249, 245, 247, 0, 0, 0, 32, 33,
668 35, 34, 417, 0, 0, 0, 442, 433, 163, 443,
669 442, 164, 0, 0, 243, 295, 0, 0, 173, 129,
670 0, 16, 0, 15, 0, 150, 139, 151, 155, 154,
671 137, 186, 269, 253, 269, 257, 260, 262, 11, 89,
672 90, 107, 59, 60, 0, 0, 0, 36, 38, 37,
673 0, 39, 40, 0, 551, 0, 0, 0, 109, 41,
674 42, 0, 0, 43, 61, 0, 0, 65, 46, 48,
675 91, 106, 0, 102, 103, 104, 105, 293, 0, 291,
676 158, 0, 291, 190, 444, 0, 513, 514, 536, 537,
677 533, 517, 518, 519, 520, 521, 522, 523, 524, 525,
678 526, 527, 528, 529, 530, 531, 532, 534, 535, 0,
679 0, 515, 463, 487, 506, 510, 516, 511, 467, 0,
680 0, 424, 0, 0, 431, 440, 419, 0, 0, 0,
681 12, 0, 0, 31, 0, 402, 0, 0, 183, 229,
682 295, 0, 230, 0, 171, 129, 0, 221, 222, 0,
683 0, 138, 141, 168, 169, 140, 142, 170, 0, 0,
684 0, 250, 0, 254, 0, 258, 57, 58, 52, 49,
685 0, 0, 0, 0, 0, 0, 0, 0, 51, 0,
686 0, 0, 53, 0, 55, 0, 0, 82, 80, 78,
687 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
688 0, 0, 100, 101, 0, 0, 44, 0, 108, 110,
689 50, 166, 295, 385, 0, 289, 292, 156, 167, 294,
690 158, 290, 196, 197, 198, 195, 0, 188, 191, 418,
691 0, 541, 0, 490, 508, 489, 0, 512, 0, 490,
692 442, 0, 421, 471, 436, 0, 450, 471, 420, 296,
693 239, 238, 174, 175, 242, 0, 237, 0, 241, 0,
694 0, 29, 0, 331, 116, 332, 182, 184, 0, 0,
695 14, 0, 0, 23, 0, 183, 402, 0, 13, 27,
696 0, 0, 183, 277, 271, 128, 268, 128, 0, 269,
697 183, 269, 286, 287, 265, 284, 0, 93, 92, 321,
698 313, 0, 0, 550, 549, 552, 559, 554, 0, 555,
699 556, 0, 0, 10, 47, 0, 0, 88, 87, 0,
700 0, 0, 0, 76, 77, 75, 74, 73, 71, 72,
701 66, 67, 68, 69, 70, 99, 98, 0, 45, 0,
702 299, 0, 303, 0, 305, 0, 385, 0, 159, 157,
703 0, 190, 44, 0, 0, 0, 464, 507, 391, 0,
704 539, 468, 429, 442, 450, 0, 0, 434, 439, 0,
705 0, 0, 0, 0, 406, 392, 128, 128, 404, 0,
706 393, 395, 403, 0, 240, 312, 0, 118, 113, 117,
707 0, 180, 227, 223, 172, 228, 21, 179, 224, 226,
708 0, 25, 0, 252, 331, 270, 331, 278, 0, 256,
709 0, 0, 266, 0, 265, 322, 314, 95, 63, 62,
710 0, 558, 560, 0, 557, 562, 561, 54, 56, 0,
711 0, 81, 79, 96, 97, 298, 297, 386, 304, 300,
712 302, 0, 187, 189, 89, 0, 0, 486, 506, 128,
713 0, 495, 491, 493, 0, 0, 509, 393, 0, 0,
714 426, 471, 437, 0, 425, 480, 483, 474, 0, 128,
715 128, 476, 473, 450, 449, 447, 448, 432, 450, 455,
716 452, 128, 128, 0, 441, 176, 390, 291, 291, 387,
717 388, 0, 405, 0, 0, 30, 319, 114, 128, 128,
718 145, 0, 0, 177, 225, 0, 272, 273, 279, 332,
719 275, 183, 183, 288, 285, 183, 0, 0, 0, 315,
720 316, 0, 0, 542, 0, 543, 544, 83, 86, 301,
721 192, 0, 194, 540, 488, 499, 291, 500, 496, 497,
722 465, 0, 469, 450, 0, 471, 422, 0, 0, 175,
723 0, 0, 0, 475, 0, 0, 456, 456, 451, 236,
724 295, 385, 129, 183, 183, 183, 295, 183, 183, 0,
725 394, 396, 407, 320, 121, 0, 122, 0, 145, 143,
726 202, 200, 199, 181, 22, 0, 26, 331, 0, 251,
727 255, 261, 183, 408, 0, 0, 0, 331, 0, 0,
728 125, 332, 307, 317, 210, 89, 0, 208, 0, 207,
729 0, 263, 205, 546, 548, 0, 553, 0, 545, 0,
730 0, 183, 183, 183, 0, 501, 538, 0, 430, 0,
731 471, 481, 484, 477, 435, 0, 459, 453, 457, 454,
732 299, 0, 402, 0, 397, 398, 399, 299, 400, 401,
733 389, 0, 0, 144, 147, 146, 0, 178, 280, 0,
734 183, 259, 318, 0, 324, 127, 126, 311, 0, 325,
735 309, 332, 308, 0, 0, 0, 211, 64, 0, 204,
736 547, 84, 193, 503, 504, 505, 498, 291, 427, 438,
737 0, 0, 0, 461, 0, 0, 234, 295, 235, 231,
738 233, 0, 119, 120, 0, 183, 0, 281, 409, 323,
739 0, 162, 0, 345, 329, 0, 0, 0, 0, 0,
740 0, 0, 0, 374, 442, 442, 366, 0, 0, 123,
741 128, 128, 338, 343, 0, 0, 335, 336, 339, 367,
742 337, 0, 213, 0, 0, 206, 502, 471, 423, 479,
743 478, 482, 485, 460, 458, 0, 232, 201, 283, 183,
744 0, 0, 331, 376, 0, 0, 372, 356, 357, 358,
745 0, 0, 0, 375, 0, 373, 340, 134, 0, 135,
746 0, 0, 327, 332, 326, 349, 0, 136, 0, 209,
747 212, 0, 282, 0, 0, 0, 377, 48, 0, 0,
748 0, 370, 359, 0, 364, 0, 0, 132, 215, 0,
749 133, 218, 344, 331, 0, 0, 214, 428, 328, 0,
750 330, 368, 350, 354, 0, 365, 0, 130, 0, 131,
751 0, 342, 333, 331, 0, 346, 331, 376, 331, 371,
752 378, 0, 216, 219, 334, 348, 331, 369, 0, 355,
753 0, 0, 379, 380, 360, 0, 0, 347, 351, 0,
754 378, 0, 0, 217, 220, 376, 0, 0, 361, 381,
755 0, 382, 0, 0, 352, 383, 0, 362, 331, 0,
756 0, 353, 363, 384, 0, 0, 0
759 static const short yydefgoto[] = { 945,
760 1, 2, 3, 28, 29, 30, 335, 563, 341, 566,
761 198, 447, 669, 122, 232, 398, 124, 125, 126, 127,
762 128, 582, 129, 383, 382, 380, 680, 381, 130, 233,
763 131, 132, 322, 323, 324, 558, 657, 658, 31, 193,
764 790, 437, 91, 559, 640, 438, 34, 140, 278, 35,
765 216, 204, 78, 199, 205, 646, 79, 562, 327, 328,
766 37, 287, 288, 289, 644, 717, 671, 672, 673, 736,
767 805, 849, 868, 889, 916, 871, 891, 917, 314, 208,
768 682, 209, 38, 39, 40, 41, 350, 352, 357, 225,
769 740, 474, 220, 221, 347, 568, 569, 355, 356, 142,
770 684, 143, 189, 277, 659, 660, 729, 325, 477, 579,
771 580, 581, 556, 361, 557, 794, 795, 796, 823, 844,
772 451, 845, 663, 797, 798, 874, 822, 907, 898, 926,
773 939, 899, 799, 800, 897, 801, 835, 859, 912, 913,
774 914, 937, 403, 404, 439, 630, 440, 441, 442, 317,
775 318, 443, 444, 655, 133, 43, 64, 44, 45, 46,
776 425, 691, 304, 604, 808, 522, 307, 534, 606, 47,
777 308, 69, 48, 430, 539, 431, 544, 698, 699, 49,
778 65, 294, 516, 66, 300, 520, 426, 427, 532, 613,
779 812, 533, 608, 752, 609, 753, 173, 417, 513, 514,
780 515, 685, 686, 296, 419, 174, 175, 176, 177, 178,
781 585, 586, 675, 587, 366, 134, 235, 481, 369, 370,
785 static const short yypact[] = { 146,
786 163, 3062, 3062, 133,-32768,-32768,-32768,-32768, 205, 205,
787 205, 182, 209, 215,-32768, 282,-32768,-32768, 282, 282,
788 -32768, 235, 282, 235, 282, 282,-32768,-32768,-32768,-32768,
789 77, 206, 2542, 195,-32768, 205,-32768, 95, 125, 150,
790 -32768, 3062,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
791 -32768,-32768, 205, 205, 205, 2771, 2609, 246,-32768,-32768,
792 -32768,-32768,-32768, 105, 3331, 3331, 211, 49,-32768,-32768,
793 235,-32768, 23, 282,-32768,-32768, 77, 25,-32768, 205,
794 1765,-32768, 464,-32768, 77, 195,-32768, 205,-32768,-32768,
795 593,-32768, 248, 247, 248, 265,-32768, 274,-32768,-32768,
796 -32768,-32768,-32768,-32768, 2771, 2771, 282,-32768,-32768,-32768,
797 2771,-32768,-32768, 1370,-32768, 257, 279, 307,-32768,-32768,
798 -32768, 2771, 301, 302,-32768, 2825, 2879,-32768, 3643, 773,
799 371, 336, 2771,-32768,-32768,-32768,-32768,-32768, 362, 322,
800 -32768, 387, 3451, 259,-32768, 282,-32768,-32768,-32768,-32768,
801 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
802 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 225,
803 837,-32768,-32768,-32768, 2503, 409,-32768,-32768,-32768, 282,
804 282, 391, 282, 282,-32768,-32768,-32768, 388, 292, 144,
805 -32768, 464, 77,-32768, 416,-32768, 1972, 1176, 205,-32768,
806 -32768, 464,-32768, 39,-32768, 205, 1863, 234, 299, 263,
807 1784, 593,-32768,-32768,-32768,-32768, 205,-32768, 426, 419,
808 1696,-32768, 437,-32768, 239,-32768,-32768,-32768,-32768,-32768,
809 449, 469, 465, 477, 2663, 3359, 837, 282,-32768, 450,
810 2771, 1370,-32768, 1370,-32768, 2771, 2771, 518,-32768,-32768,
811 2771, 2771, 2771, 2771, 2771, 2771, 2771, 2771, 2771, 2771,
812 2771, 2771,-32768,-32768, 282, 282, 2771, 2771,-32768,-32768,
813 -32768,-32768,-32768, 322, 2031,-32768, 337, 670,-32768,-32768,
814 -32768,-32768,-32768,-32768,-32768,-32768, 157,-32768, 498,-32768,
815 837,-32768, 484, 485, 554,-32768, 409,-32768, 256, 485,
816 235, 493,-32768, 509, 491, 502,-32768, 509,-32768,-32768,
817 299,-32768,-32768, 558, 299, 582,-32768, 3215,-32768, 511,
818 515,-32768, 879, 84,-32768,-32768, 561, 205, 372, 155,
819 -32768, 464, 464,-32768, 1176, 205,-32768, 2090,-32768,-32768,
820 1176, 534, 205,-32768,-32768, 326, 525, 1910, 717, 248,
821 205, 248,-32768, 572, 529,-32768, 239,-32768,-32768,-32768,
822 536, 552, 2423,-32768,-32768,-32768,-32768, 595, 560, 3359,
823 -32768, 564, 570,-32768, 3643, 577, 580, 3643, 3643, 2771,
824 620, 2771, 2771, 1580, 959, 1151, 1757, 1854, 658, 658,
825 489, 489,-32768,-32768,-32768,-32768,-32768, 583, 302, 584,
826 177, 213,-32768, 3234,-32768, 588,-32768, 2149,-32768, 670,
827 587, 259, 2933, 590, 3395, 1882,-32768,-32768, 3464, 837,
828 -32768,-32768, 578, 235,-32768, 611, 3137,-32768,-32768, 421,
829 3010, 624, 75, 612,-32768,-32768,-32768, 3521,-32768, 626,
830 360,-32768,-32768, 254,-32768,-32768, 92,-32768,-32768,-32768,
831 3533,-32768, 234,-32768,-32768, 234,-32768, 668,-32768,-32768,
832 628,-32768, 638,-32768,-32768,-32768,-32768,-32768, 647,-32768,
833 650, 2771, 282, 654, 529,-32768, 703,-32768,-32768,-32768,
834 3423,-32768,-32768, 595,-32768,-32768,-32768,-32768,-32768, 698,
835 2771, 1345, 1501,-32768,-32768, 337,-32768,-32768,-32768,-32768,
836 -32768, 655,-32768,-32768, 287, 663, 282,-32768, 2503, 665,
837 3245,-32768,-32768, 3521, 1946, 92,-32768, 662, 671, 92,
838 -32768, 509,-32768, 543,-32768,-32768,-32768,-32768, 77, 206,
839 2542, 228,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
840 -32768,-32768, 3546, 667,-32768,-32768,-32768, 592, 357,-32768,
841 -32768, 3476,-32768, 743, 465,-32768,-32768,-32768, 672, 833,
842 -32768, 1685, 92,-32768,-32768, 92,-32768, 674,-32768,-32768,
843 674, 205, 205, 3643,-32768, 205, 673, 282, 1011, 703,
844 -32768, 1450, 2771, 715, 675, 3423,-32768,-32768, 1423,-32768,
845 -32768, 2771,-32768,-32768,-32768,-32768, 592,-32768,-32768,-32768,
846 -32768, 282,-32768,-32768, 693, 509,-32768, 3331, 3331, 62,
847 464, 77, 3165,-32768, 549, 3028, 405, 405,-32768,-32768,
848 -32768, 357, 205, 260, 273, 205,-32768, 273, 205, 3234,
849 -32768,-32768,-32768,-32768,-32768, 464,-32768, 77,-32768, 625,
850 -32768,-32768, 3643,-32768,-32768, 1685,-32768,-32768, 446,-32768,
851 -32768,-32768, 205,-32768, 411, 348, 914, 679, 682, 1091,
852 -32768,-32768,-32768,-32768,-32768, 723, 282,-32768, 725, 3643,
853 686, 689,-32768, 302,-32768, 2771,-32768, 715,-32768, 2771,
854 318, 260, 273, 205, 427,-32768,-32768, 556,-32768, 704,
855 509,-32768,-32768,-32768,-32768, 2771, 737, 697,-32768, 697,
856 499, 410,-32768, 2208,-32768,-32768,-32768, 747,-32768,-32768,
857 -32768, 435, 445, 625,-32768,-32768, 1450,-32768,-32768, 2771,
858 73,-32768,-32768, 282,-32768,-32768,-32768,-32768, 701,-32768,
859 -32768,-32768,-32768, 2289, 745, 1450,-32768,-32768, 1530,-32768,
860 -32768, 1423,-32768,-32768,-32768,-32768,-32768, 592,-32768,-32768,
861 719, 65, 65, 3643, 2771, 405, 398,-32768, 398,-32768,
862 -32768, 700,-32768,-32768, 712, 3607, 2771,-32768,-32768,-32768,
863 2369, 754, 734,-32768,-32768, 736, 739, 2771, 758, 724,
864 726, 2717, 109, 793, 178, 289,-32768, 764, 727,-32768,
865 731, 3264,-32768, 795, 1207, 89,-32768,-32768,-32768,-32768,
866 -32768, 2531,-32768, 735, 1610,-32768,-32768, 509,-32768,-32768,
867 -32768,-32768,-32768, 3643,-32768, 822,-32768,-32768,-32768, 3607,
868 2771, 755,-32768, 2771, 2771, 3584,-32768,-32768,-32768,-32768,
869 738, 2771, 740,-32768, 757,-32768,-32768,-32768, 464,-32768,
870 77, 1290,-32768,-32768,-32768,-32768, 2771,-32768, 1610,-32768,
871 -32768, 760,-32768, 742, 2771, 838,-32768, 799, 783, 786,
872 2771,-32768,-32768, 789,-32768, 2771, 451,-32768, 221, 456,
873 -32768, 471,-32768,-32768, 2369, 791,-32768,-32768,-32768, 792,
874 -32768,-32768,-32768,-32768, 3625,-32768, 54,-32768, 1176,-32768,
875 1176,-32768,-32768,-32768, 797,-32768,-32768, 2771,-32768,-32768,
876 860, 800,-32768,-32768,-32768,-32768,-32768,-32768, 802,-32768,
877 817, 80, 806,-32768,-32768, 465, 465,-32768,-32768, 2771,
878 860, 811, 860,-32768,-32768, 2771, 814, 81,-32768,-32768,
879 818,-32768, 582, 820,-32768, 371, 334,-32768,-32768, 821,
880 582,-32768,-32768, 371, 895, 899,-32768
883 static const short yypgoto[] = {-32768,
884 -32768,-32768,-32768, 98, -363,-32768,-32768,-32768,-32768,-32768,
885 -32768,-32768, -12,-32768, -56, 488, -230, 383,-32768,-32768,
886 -75,-32768, 439,-32768,-32768,-32768,-32768,-32768, 78,-32768,
887 -272,-32768, -312, 579,-32768,-32768, 250,-32768, 44, -181,
888 110, 3, 819,-32768, 275, 7, -18, -162, 632, 104,
889 -228, -581, -68, -204, -123,-32768,-32768,-32768, -255, 32,
890 90,-32768, 504,-32768, 303,-32768, -612,-32768, -653,-32768,
891 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -67, -134,
892 -508, -29,-32768,-32768,-32768, -73,-32768,-32768,-32768,-32768,
893 -32768, 475, -38,-32768, 603, 486, 308, 598, 487, -36,
894 -70, -160, -182, -221, 300,-32768,-32768, -269,-32768,-32768,
895 -32768, 385, -177,-32768, -200,-32768,-32768,-32768,-32768, -186,
896 -487, -709, 306,-32768, 96,-32768,-32768,-32768,-32768,-32768,
897 -32768,-32768,-32768,-32768,-32768, 97,-32768, -801, 46,-32768,
898 47,-32768, 568,-32768, -352,-32768, 557, 563, 425, -298,
899 -32768,-32768,-32768,-32768, 18,-32768, 954,-32768,-32768,-32768,
900 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
901 -32768, 8, 0, -343,-32768, 444,-32768, 366, 231,-32768,
902 -32768,-32768,-32768,-32768,-32768,-32768, -270,-32768,-32768,-32768,
903 237, 463,-32768,-32768,-32768,-32768, -20, 688,-32768,-32768,
904 483,-32768, 251, 537,-32768, 585, 633, -103,-32768, -124,
905 -32768,-32768, 351, 412,-32768,-32768,-32768,-32768,-32768,-32768,
906 643,-32768,-32768,-32768
913 static const short yytable[] = { 123,
914 139, 81, 336, 63, 32, 32, 67, 68, 33, 33,
915 71, 326, 63, 74, 86, 207, 210, 218, 329, 42,
916 42, 70, 457, 70, 333, 94, 96, 98, 462, 227,
917 228, 72, 362, 36, 36, 230, 399, 432, 459, 624,
918 53, 54, 55, 433, 32, 179, 239, 190, 33, 409,
919 298, 498, 402, 448, 712, 211, 223, 271, 346, 42,
920 348, 188, 80, 528, 88, 810, 70, 330, 313, 276,
921 70, 297, 282, 36, 182, 83, 85, 234, 186, 75,
922 458, 524, 649, 269, -112, 806, 183, 464, 195, 846,
923 401, 901, 555, 449, 229, 470, 909, 59, 60, 187,
924 50, 191, 14, 146, 765, 192, 14, 184, 80, 336,
925 767, 59, 60, 856, 206, 331, 80, 921, 933, 332,
926 196, 197, 217, 804, 931, 92, 76, 59, 60, 902,
927 185, 286, 368, 290, 293, 77, 87, 326, 218, 99,
928 320, 811, 92, 92, 92, -1, 512, 847, 326, 145,
929 546, 851, 59, 60, 326, 922, 934, 292, 832, 311,
930 141, 61, -2, 315, 892, -112, 62, 301, 302, 92,
931 305, 306, 190, 360, 734, 61, 93, 92, 365, 496,
932 62, 409, 399, 310, 905, 146, 346, 908, 348, 910,
933 615, 61, 757, 759, 453, 877, 62, 918, 456, 89,
934 372, 90, 196, 197, 218, 376, 95, 377, 455, 51,
935 52, 400, 354, 337, 338, -35, 61, 141, 406, 312,
936 80, 62, 16, 206, 80, 373, 273, 59, 60, 942,
937 454, 97, 411, 206, 14, 274, 275, 412, 349, 353,
938 56, 59, 60, 217, 771, 600, 281, 195, 180, 694,
939 -175, 605, 396, 397, 414, 16, -175, 867, 59, 60,
940 688, 59, 60, 283, 284, 285, 484, 57, 542, 181,
941 543, 407, 408, 58, 141, 526, 527, 711, 570, 16,
942 570, 461, 82, 291, 59, 60, 421, 480, 497, 14,
943 -472, 61, 337, 338, 75, 92, 62, -175, 310, 311,
944 70, -175, 14, 315, 144, 61, 92, 757, 423, 661,
945 62, 469, 219, 471, 420, 236, 650, 651, 703, 704,
946 652, 14, 61, 490, 141, 61, -34, 62, 222, 553,
947 62, 196, 197, 16, 554, 690, 218, 237, 601, 339,
948 141, 76, 603, 192, 354, 141, 224, 141, 61, 36,
949 77, 502, 674, 62, 634, 226, 875, 196, 197, 75,
950 206, 681, 591, 206, 206, 238, 349, 592, 705, 706,
951 707, 273, 709, 710, 75, 200, 240, 584, 310, 269,
952 274, 275, 241, 519, 298, 645, 14, 726, 647, 465,
953 731, 467, 662, 743, 141, 407, 408, 722, 241, 286,
954 402, 14, -274, -274, 760, 297, 627, 75, 200, 940,
955 270, 716, 75, 620, 941, 622, 275, 92, 510, 86,
956 751, 201, 511, 70, 446, 725, 744, 745, 746, 530,
957 202, 523, 560, 531, 14, 36, 551, 272, 701, 14,
958 552, 702, 696, 203, 708, 674, 299, 36, 75, 200,
959 36, 281, 141, 542, 201, 543, 703, 704, 36, 758,
960 354, 570, 279, 202, 309, 768, 75, 200, 77, 88,
961 529, 662, 303, 732, 316, 14, 203, 626, 629, 496,
962 548, 549, 678, 720, 342, 716, 496, 723, 535, 536,
963 537, 724, 86, 14, 594, 201, 343, 195, 538, 610,
964 -175, 75, 620, 747, 202, 310, -175, 748, 243, 245,
965 819, 763, 86, 201, 351, 332, 510, 203, 625, 628,
966 511, 764, 202, 141, 358, 192, 374, 888, 14, 196,
967 197, 332, 890, 793, 141, 203, 192, 852, 260, 261,
968 262, 87, 88, 210, 359, 36, 360, -175, 621, 697,
969 697, -175, 363, 597, 561, -85, 413, 622, 275, 415,
970 80, 416, 88, 418, 853, 654, 218, 683, 424, 713,
971 793, -470, 428, 611, 612, 816, 903, 429, 904, 623,
972 80, 721, 610, 36, 195, 617, 618, 692, 693, 687,
973 102, 446, 190, 445, 75, 620, 452, 213, 214, 215,
974 463, 466, 636, 638, 9, 10, 11, 472, 610, 473,
975 535, 536, 537, 476, 87, 530, 535, 536, 537, 531,
976 607, 14, 14, 535, 536, 537, 695, 478, 623, 715,
977 214, 215, 482, 749, 87, 483, 9, 10, 11, 486,
978 218, 621, 206, 80, 36, 487, 281, 762, 206, 206,
979 622, 275, 488, 80, 735, 489, 529, 491, 494, 521,
980 936, 36, 503, 639, 336, 507, 495, 206, 944, 80,
981 499, 311, 315, 525, 793, 214, 215, 789, 311, 375,
982 206, 9, 10, 11, 378, 379, 545, 547, 697, 384,
983 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
984 395, 550, 326, 564, 326, 258, 259, 260, 261, 262,
985 565, 769, 92, 567, 789, 924, 925, 344, 683, 141,
986 5, 788, 7, 138, 572, 831, 271, 573, 9, 10,
987 11, 576, 623, 623, 578, 588, 791, 590, 593, 80,
988 792, 596, 552, 619, 13, 633, 602, 15, 635, 75,
989 653, 802, 676, 310, 648, 689, -310, 677, 788, 730,
990 -32, 16, 737, 738, 854, 36, 750, 857, 860, 739,
991 833, 869, 870, 86, 755, 864, 14, 756, 770, 623,
992 803, 809, 817, 22, 70, 70, 311, 206, 24, 818,
993 876, -33, 821, 72, 824, 827, 627, 825, 880, 834,
994 828, 836, 829, 837, 791, 622, 275, 838, 792, 887,
995 842, 872, 850, 855, 863, 866, 865, 879, 789, 802,
996 492, 493, 878, 88, 75, 620, 263, 264, 310, 265,
997 266, 267, 268, 36, 839, 841, 5, 89, 7, 90,
998 5, 857, 7, 138, 9, 10, 11, 623, 9, 10,
999 11, 14, 263, 264, 881, 265, 266, 267, 268, 883,
1000 13, 884, 788, 927, 13, 886, 895, 896, 911, 857,
1001 206, 758, 80, 906, 882, 920, 915, 16, 919, 321,
1002 77, 16, -115, -115, -115, -115, 923, 929, -115, 932,
1003 -115, -115, -115, 935, 946, 87, 938, 943, 947, 22,
1004 506, 858, 450, 22, 24, 212, -115, 727, 24, 637,
1005 574, 848, 410, 714, 321, 504, -124, -124, -124, -124,
1006 -124, -124, -124, -115, -124, -124, -124, -124, -124, 589,
1007 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
1008 -124, -124, -124, -124, -124, -115, -124, -124, 718, 577,
1009 -115, 468, 571, -124, 475, 719, -124, 728, -124, 575,
1010 -115, -124, -124, -124, 664, 733, 928, -124, -124, 930,
1011 893, 894, -124, -124, 500, 517, 632, -124, 73, -124,
1012 -124, 518, 616, 700, -124, -124, 815, 422, -124, 813,
1013 -124, -124, -124, -124, 614, -124, 599, 679, 807, 508,
1014 643, 253, 254, 255, 256, 257, 258, 259, 260, 261,
1015 262, 656, 485, -331, -331, -331, -331, -331, -331, -331,
1016 670, -331, -331, -331, -331, -331, 741, -331, -331, -331,
1017 -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
1018 -331, -331, 0, -331, -331, 595, 0, 509, 0, 0,
1019 -331, 0, 0, -331, 0, -331, 0, 0, -331, -331,
1020 -331, 0, 0, 0, -331, -331, 0, 0, 0, -331,
1021 -331, 0, 0, 0, -331, 0, -331, -331, 0, 0,
1022 0, -331, -331, 0, 643, -331, 0, -331, 0, -331,
1023 -331, 321, -331, -331, -331, 0, 0, 0, -331, -331,
1024 0, -331, 0, 0, 0, -331, 0, -331, -331, -331,
1025 -331, -331, -331, -331, -331, -331, -331, -331, 742, -331,
1026 0, -331, 0, -331, -331, 0, 0, 0, 0, 0,
1027 -331, 0, 0, -331, 754, 0, 0, 0, -331, -331,
1028 -331, 0, 0, 0, -331, -331, 0, 0, 0, -331,
1029 -331, 0, 0, 0, -331, 670, -331, -331, 766, 0,
1030 0, -331, -331, 0, 0, -331, 0, -331, -306, -331,
1031 -331, 0, -331, 0, 670, 0, 321, 670, 0, -331,
1032 -331, -331, -331, 0, 0, 0, 0, -331, -331, -331,
1033 0, 0, 0, 814, 254, 255, 256, 257, 258, 259,
1034 260, 261, 262, -331, 0, 820, 0, 843, 0, -331,
1035 -331, 0, 0, 0, -331, -331, 826, -331, 0, 0,
1036 -331, -331, 0, -331, -331, -331, -331, -331, -331, -331,
1037 -331, -331, -331, -331, 0, -331, 0, -331, 0, -331,
1038 -331, 0, -331, 670, 0, 0, -331, -331, 0, -331,
1039 0, 0, 0, 0, -331, -331, -331, -111, 0, 0,
1040 -331, -331, 0, 0, 0, -331, -331, 0, 0, 0,
1041 -331, 0, -331, -331, 0, 0, 0, -331, -331, 0,
1042 0, -331, 0, -331, 0, -331, -331, 670, -331, 0,
1043 873, 0, -341, -341, 0, 0, 0, -341, -341, 885,
1044 -341, 0, 0, 0, -341, 0, -341, -341, -341, -341,
1045 -341, -341, -341, -341, -341, -341, -341, 0, -341, 0,
1046 -341, 0, -341, -341, 0, 0, 0, 0, 0, -341,
1047 0, 0, -341, 0, 0, 0, 0, -341, -341, -341,
1048 0, 0, 0, -341, -341, 0, 0, 0, -341, -341,
1049 0, 0, 0, -341, 0, -341, -341, 0, 0, 0,
1050 -341, -341, 0, 0, -341, 0, -341, 0, -341, -341,
1051 231, -341, 100, 5, 0, 7, 138, 101, 102, 0,
1052 103, 9, 10, 11, 250, 251, 252, 253, 254, 255,
1053 256, 257, 258, 259, 260, 261, 262, 13, 104, 0,
1054 15, 0, 105, 106, 0, 0, 0, 0, 0, 107,
1055 0, 0, 108, 0, 16, 0, 0, 109, 110, 111,
1056 0, 0, 0, 112, 113, 0, 0, 0, 114, 115,
1057 0, 0, 0, 116, 0, 117, 22, 0, 0, 0,
1058 118, 24, 0, 0, 119, 0, 0, 0, 120, 121,
1059 665, -94, 666, 60, 0, 0, 0, 101, 102, 248,
1060 103, 249, 250, 251, 252, 253, 254, 255, 256, 257,
1061 258, 259, 260, 261, 262, 0, 0, 0, 104, 0,
1062 15, 0, 105, 106, 0, 0, 0, 0, 0, 107,
1063 0, 0, 108, 0, 0, 0, 0, 109, 110, 111,
1064 0, 0, 0, 112, 113, 0, 0, 667, 114, 115,
1065 0, 0, 0, 116, 0, 117, 61, 0, 0, 0,
1066 118, 62, 0, 0, 119, 0, 0, -203, 120, 121,
1067 665, 668, 666, 60, 0, 0, 0, 101, 102, 0,
1068 103, 251, 252, 253, 254, 255, 256, 257, 258, 259,
1069 260, 261, 262, 0, 0, 0, 0, 0, 104, 0,
1070 15, 0, 105, 106, 0, 0, 0, 0, 0, 107,
1071 0, 0, 108, 0, 0, 0, 0, 109, 110, 111,
1072 0, 0, 0, 112, 113, 0, 0, 667, 114, 115,
1073 0, 0, 0, 116, 0, 117, 61, 0, 0, 0,
1074 118, 62, 0, 0, 119, 0, 0, -264, 120, 121,
1075 665, 668, 666, 60, 0, 0, 0, 101, 102, 0,
1076 103, 252, 253, 254, 255, 256, 257, 258, 259, 260,
1077 261, 262, 0, 0, 0, 0, 0, 0, 104, 0,
1078 15, 0, 105, 106, 0, 0, 0, 0, 0, 107,
1079 0, 0, 108, 0, 0, 0, 0, 109, 110, 111,
1080 0, 0, 0, 112, 113, 0, 0, 667, 114, 115,
1081 0, 0, 0, 116, 0, 117, 61, 0, 0, 0,
1082 118, 62, 0, 0, 119, 641, 0, 100, 120, 121,
1083 0, 668, 101, 102, 0, 103, 344, 0, 0, 5,
1084 0, 7, 138, 0, 0, 0, 0, 9, 10, 11,
1085 0, 0, 0, 104, 0, 15, 0, 105, 106, 0,
1086 0, 0, 0, 13, 107, 0, 15, 108, 0, 0,
1087 0, 0, 109, 110, 111, 0, 0, 0, 112, 113,
1088 16, 0, 0, 114, 115, 0, 0, 0, 116, 0,
1089 117, 0, 0, 0, 0, 118, 0, 0, 0, 119,
1090 0, 0, 22, 120, 121, 194, 642, 24, -28, -28,
1091 -28, -28, 345, -267, 0, 0, -28, -28, -28, 0,
1092 0, 0, 0, 0, 340, 0, 0, -24, -24, -24,
1093 -24, 195, -28, 0, -175, -24, -24, -24, 0, 0,
1094 -175, 255, 256, 257, 258, 259, 260, 261, 262, -28,
1095 195, -24, 0, -175, 0, 0, 0, 0, 0, -175,
1096 0, 0, 0, 196, 197, 0, 0, 0, -24, 0,
1097 0, -28, 0, 0, 0, 0, -28, 0, 0, 0,
1098 0, -175, 196, 197, 0, -175, -28, 0, 0, 0,
1099 -24, 0, 0, 0, 0, -24, 0, 0, 0, 0,
1100 -175, 0, 0, 334, -175, -24, -20, -20, -20, -20,
1101 0, 0, 0, 0, -20, -20, -20, 0, 0, 0,
1102 0, 0, 321, 0, 0, 5, 6, 7, 8, 195,
1103 -20, 0, -175, 9, 10, 11, 0, 0, -175, 256,
1104 257, 258, 259, 260, 261, 262, 0, -20, 0, 13,
1105 0, 14, 0, 5, 0, 7, 280, 0, 0, 0,
1106 0, 9, 10, 11, 0, 0, 16, 0, 0, -20,
1107 0, 0, 0, 0, -20, 0, 0, 13, 0, -175,
1108 0, 0, 0, -175, -20, 0, 321, 0, 22, -494,
1109 -494, -494, -494, 24, 16, 0, 0, -494, -494, -494,
1110 0, 0, 0, -492, 0, 0, 0, 0, 0, 0,
1111 0, 0, 0, -494, 100, -494, 22, 0, 0, 101,
1112 102, 24, 103, 0, 0, 0, -276, -276, 0, 0,
1113 -494, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1114 104, 0, 15, 0, 105, 106, 0, 0, 0, 0,
1115 0, 107, -494, 0, 108, 0, 0, -494, 0, 109,
1116 110, 111, 0, 0, 0, 112, 113, -494, 0, 0,
1117 114, 115, 0, 100, 0, 116, 0, 117, 101, 102,
1118 0, 103, 118, 0, 0, 0, 119, 0, 0, 0,
1119 120, 121, 0, 0, 319, 0, 0, 0, 0, 104,
1120 0, 15, 0, 105, 106, 0, 0, 0, 0, 0,
1121 107, 0, 0, 108, 0, 0, 0, 0, 109, 110,
1122 111, 0, 0, 0, 112, 113, 0, 0, 0, 114,
1123 115, 0, 100, 0, 116, 0, 117, 101, 102, 0,
1124 103, 118, 0, 0, 0, 119, 0, 0, 0, 120,
1125 121, 0, 0, 405, 0, 0, 0, 0, 104, 0,
1126 15, 0, 105, 106, 0, 0, 0, 0, 0, 107,
1127 0, 0, 108, 0, 0, 0, 0, 109, 110, 111,
1128 0, 0, 0, 112, 113, 0, 0, 0, 114, 115,
1129 0, 100, 0, 116, 0, 117, 101, 102, 0, 103,
1130 118, 0, 0, 0, 119, 0, 0, 0, 120, 121,
1131 0, 0, 460, 0, 0, 0, 0, 104, 0, 15,
1132 0, 105, 106, 0, 0, 0, 0, 0, 107, 0,
1133 0, 108, 0, 0, 0, 0, 109, 110, 111, 0,
1134 0, 0, 112, 113, 0, 0, 0, 114, 115, 0,
1135 100, 0, 116, 0, 117, 101, 102, 0, 103, 118,
1136 0, 0, 0, 119, 0, 0, 0, 120, 121, 0,
1137 0, 501, 0, 0, 0, 0, 104, 0, 15, 0,
1138 105, 106, 0, 0, 0, 0, 0, 107, 0, 0,
1139 108, 0, 0, 0, 0, 109, 110, 111, 0, 0,
1140 0, 112, 113, 0, 0, 0, 114, 115, 0, 0,
1141 0, 116, 0, 117, 0, 0, 0, 0, 118, 0,
1142 0, 0, 119, 0, 0, 0, 120, 121, 0, 0,
1143 761, 666, 772, 6, 7, 8, 101, 102, 0, 103,
1144 9, 10, 11, 773, 0, 774, 775, 776, 777, 778,
1145 779, 780, 781, 782, 783, 784, 13, 104, 14, 15,
1146 0, 105, 106, 0, 0, 0, 0, 0, 107, 0,
1147 0, 108, 0, 16, 0, 0, 109, 110, 111, 0,
1148 0, 0, 112, 113, 0, 0, 0, 114, 115, 0,
1149 0, 0, 116, 0, 117, 785, 0, 0, 0, 118,
1150 786, 0, 0, 119, 0, 787, 0, 120, 121, 0,
1151 360, 666, 60, 0, 0, 0, 101, 102, 0, 103,
1152 0, 0, 0, 773, 0, 774, 775, 776, 777, 778,
1153 779, 780, 781, 782, 783, 784, 0, 104, 0, 15,
1154 0, 105, 106, 0, 0, 0, 0, 0, 107, 0,
1155 0, 108, 0, 0, 0, 0, 109, 110, 111, 0,
1156 0, 0, 112, 113, 0, 100, 0, 114, 115, 0,
1157 101, 102, 116, 103, 117, 61, 0, 0, 0, 118,
1158 62, 0, 0, 119, 0, 787, 0, 120, 121, 0,
1159 360, 104, 0, 15, 0, 105, 106, 0, 0, 0,
1160 0, 0, 107, 0, 0, 108, 0, 0, 0, 0,
1161 109, 110, 111, 0, 0, 0, 112, 113, 0, 0,
1162 0, 114, 115, 0, 0, 0, 116, 0, 117, 0,
1163 0, 0, 0, 118, 0, 0, 0, 119, 0, 0,
1164 0, 120, 121, 0, 479, 147, 148, 0, 149, 150,
1165 0, 0, 0, 151, 152, 153, 154, 155, 156, 157,
1166 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
1167 168, 169, 0, 100, 5, 6, 7, 8, 101, 102,
1168 170, 103, 9, 10, 11, 5, 6, 7, 8, 0,
1169 0, 0, 0, 9, 10, 11, 0, 0, 13, 104,
1170 14, 15, 0, 105, 106, 0, 0, 0, 0, 13,
1171 107, 14, 0, 108, 172, 16, 0, 0, 109, 110,
1172 111, 0, 0, 295, 112, 113, 16, 0, 0, 114,
1173 115, 0, 0, 0, 116, 0, 117, 22, 0, 0,
1174 0, 118, 24, 0, 0, 119, 0, 0, 22, 120,
1175 121, 100, 5, 24, 7, 138, 101, 102, 84, 103,
1176 9, 10, 11, 0, 0, 0, 0, 0, 0, 0,
1177 0, 0, 0, 0, 0, 0, 13, 104, 0, 15,
1178 0, 105, 106, 0, 0, 0, 0, 0, 107, 0,
1179 0, 108, 0, 16, 0, 0, 109, 110, 111, 0,
1180 0, 0, 112, 113, 0, 100, 0, 114, 115, 0,
1181 101, 102, 116, 103, 117, 22, 0, 0, 0, 118,
1182 24, 0, 0, 119, 0, 0, 0, 120, 121, 0,
1183 0, 104, 0, 15, 0, 105, 106, 0, 0, 0,
1184 0, 0, 107, 0, 0, 108, 0, 0, 0, 0,
1185 109, 110, 111, 0, 0, 0, 112, 113, 0, 100,
1186 0, 114, 115, 0, 101, 102, 116, 103, 117, 364,
1187 0, 0, 0, 118, 0, 0, 0, 119, 0, 0,
1188 0, 120, 121, 0, 0, 104, 0, 15, 0, 105,
1189 106, 0, 0, 0, 0, 0, 107, 0, 0, 108,
1190 0, 0, 0, 0, 109, 110, 111, 0, 0, 0,
1191 112, 113, 0, 100, 0, 114, 115, 0, 101, 102,
1192 116, 103, 117, 0, 0, 0, 0, 118, 0, 0,
1193 0, 119, 0, 830, 0, 120, 121, 0, 0, 104,
1194 0, 15, 0, 105, 106, 0, 0, 0, 0, 0,
1195 107, 0, 0, 108, 0, 0, 0, 0, 109, 110,
1196 111, 0, 0, 0, 112, 113, 0, 100, 0, 114,
1197 115, 0, 101, 102, 116, 103, 117, 0, 0, 0,
1198 0, 118, 0, 0, 0, 119, 0, 0, 0, 120,
1199 121, 0, 0, 104, 0, 15, 0, 105, 106, 0,
1200 0, 0, 0, 0, 107, 0, 0, 108, 0, 0,
1201 0, 0, 109, 110, 111, 0, 0, 0, 112, 113,
1202 0, 100, 0, 242, 115, 0, 101, 102, 116, 103,
1203 117, 0, 0, 0, 0, 118, 0, 0, 0, 119,
1204 0, 0, 0, 120, 121, 0, 0, 104, 0, 15,
1205 0, 105, 106, 0, 0, 0, 0, 0, 107, 0,
1206 0, 108, 0, 0, 0, 0, 109, 110, 111, 0,
1207 0, 0, 112, 113, 0, 505, 0, 244, 115, 0,
1208 101, 102, 116, 103, 117, 0, 0, 0, 0, 118,
1209 0, 0, 0, 119, 0, 0, 0, 120, 121, 0,
1210 0, 104, 0, 15, 0, 105, 106, 0, 0, 0,
1211 0, 0, 107, 0, 0, 108, 0, 0, 0, 0,
1212 109, 110, 111, 0, 0, 0, 112, 113, 0, 0,
1213 0, 114, 115, 0, 0, 0, 116, 0, 117, 0,
1214 0, 0, 0, 118, 0, 0, 0, 119, 0, 0,
1215 540, 120, 121, 5, 0, 7, 138, 0, 0, 0,
1216 0, 9, 10, 11, 0, 0, 0, 0, 540, 0,
1217 0, 5, 0, 7, 138, 0, 0, 13, 0, 9,
1218 10, 11, 0, 0, 0, 0, 0, 0, 0, 0,
1219 0, 0, 0, 0, 16, 13, 0, 0, 0, 0,
1220 0, 0, 4, 0, -128, 5, 6, 7, 8, 0,
1221 0, 0, 16, 9, 10, 11, 22, -446, -446, -446,
1222 0, 24, 0, 0, 0, 0, 541, -446, 12, 13,
1223 0, 14, 15, 0, 22, -445, -445, -445, 0, 24,
1224 0, 0, 0, 0, 541, -445, 16, 0, 0, 17,
1225 18, -128, 0, 0, 0, 0, 0, 0, 0, 0,
1226 -128, 0, 19, 20, 21, 0, 0, 0, 22, 0,
1227 0, 0, 23, 24, 25, 26, 0, 4, 27, -128,
1228 5, 6, 7, 8, 0, 0, 0, 0, 9, 10,
1229 11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1230 0, 0, 0, 0, 13, 4, 14, -128, 5, 6,
1231 7, 8, 0, 0, 0, 0, 9, 10, 11, 0,
1232 0, 16, 0, 0, 526, 527, -128, 0, 0, 0,
1233 0, 0, 13, 0, 14, -128, 0, 0, 0, 0,
1234 0, 0, 0, 22, 0, 0, 0, 0, 24, 16,
1235 0, 0, 0, 27, -128, 434, 0, 435, 5, 6,
1236 7, 8, 0, -128, 436, 0, 9, 10, 11, 0,
1237 0, 22, 0, 0, 434, 0, 24, 5, 6, 7,
1238 8, 27, 13, 436, 14, 9, 10, 11, 5, 6,
1239 7, 8, 0, 0, 0, 0, 9, 10, 11, 16,
1240 0, 13, 0, 14, 0, 0, 0, 5, 6, 7,
1241 8, 0, 13, 0, 14, 9, 10, 11, 16, 0,
1242 0, 22, 0, 0, 0, 0, 24, 0, 0, 16,
1243 -391, 13, 0, 14, 0, 0, 0, 0, 0, 0,
1244 22, 0, 0, 0, 0, 24, 0, 0, 16, -391,
1245 0, 22, 0, 0, 0, 0, 24, 0, 0, 0,
1246 0, 598, 0, 0, 0, 0, 0, 0, 0, 0,
1247 22, 0, 0, 147, 148, 24, 149, 150, 0, 0,
1248 840, 151, 152, 153, 154, 155, 156, 157, 158, 159,
1249 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
1250 0, 147, 148, 0, 149, 150, 0, 0, 170, 151,
1251 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1252 162, 163, 164, 165, 166, 167, 168, 169, 0, 171,
1253 0, 0, 0, 0, 0, 0, 367, 147, 148, 0,
1254 149, 150, 172, 0, 0, 151, 152, 153, 154, 155,
1255 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
1256 166, 167, 168, 169, 0, 147, 148, 0, 149, 150,
1257 172, 0, 170, 151, 152, 153, 154, 155, 156, 157,
1258 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
1259 168, 169, 0, 0, 5, 0, 7, 280, 0, 0,
1260 583, 0, 9, 10, 11, 0, 172, 5, 6, 7,
1261 8, 0, 0, 436, 0, 9, 10, 11, 13, 5,
1262 6, 7, 8, 0, 0, 631, 0, 9, 10, 11,
1263 0, 13, 0, 14, 172, 16, 0, 0, 0, 0,
1264 273, 0, 0, 13, 0, 14, 0, 0, 16, 274,
1265 275, 0, 0, 0, 0, 0, 0, 22, 0, 0,
1266 16, 0, 24, 0, 5, 6, 7, 8, 0, 0,
1267 22, 0, 9, 10, 11, 24, 5, 6, 7, 8,
1268 0, 0, 22, 0, 9, 10, 11, 24, 13, 5,
1269 14, 7, 280, 0, 0, 0, 0, 9, 10, 11,
1270 13, 0, 0, 0, 0, 16, 0, 0, 0, 0,
1271 0, 0, 0, 13, 0, 0, 0, 16, 0, 0,
1272 0, 0, 0, 0, 0, 0, 0, 22, 0, 0,
1273 16, 0, 24, 861, 0, 0, 0, 0, 0, 22,
1274 0, 0, 0, 0, 24, 0, 0, 0, 0, 0,
1275 0, 0, 22, 0, 0, 0, 0, 24, 246, 247,
1276 248, 862, 249, 250, 251, 252, 253, 254, 255, 256,
1277 257, 258, 259, 260, 261, 262, 14, 0, 0, 0,
1278 0, 246, 247, 248, 0, 249, 250, 251, 252, 253,
1279 254, 255, 256, 257, 258, 259, 260, 261, 262, 246,
1280 247, 248, 900, 249, 250, 251, 252, 253, 254, 255,
1281 256, 257, 258, 259, 260, 261, 262, 246, 247, 248,
1282 0, 249, 250, 251, 252, 253, 254, 255, 256, 257,
1283 258, 259, 260, 261, 262
1286 static const short yycheck[] = { 56,
1287 57, 31, 207, 16, 2, 3, 19, 20, 2, 3,
1288 23, 198, 25, 26, 33, 83, 85, 91, 201, 2,
1289 3, 22, 335, 24, 206, 38, 39, 40, 341, 105,
1290 106, 24, 233, 2, 3, 111, 267, 308, 337, 548,
1291 9, 10, 11, 316, 42, 66, 122, 77, 42, 278,
1292 175, 404, 274, 323, 636, 85, 95, 133, 221, 42,
1293 221, 74, 31, 427, 33, 1, 67, 202, 192, 140,
1294 71, 175, 143, 42, 67, 32, 33, 114, 71, 3,
1295 336, 425, 570, 9, 1, 739, 38, 343, 27, 1,
1296 273, 38, 1, 10, 107, 351, 898, 3, 4, 77,
1297 3, 77, 30, 81, 717, 81, 30, 59, 77, 314,
1298 38, 3, 4, 823, 83, 77, 85, 38, 38, 81,
1299 59, 60, 91, 736, 926, 36, 50, 3, 4, 76,
1300 82, 144, 236, 146, 171, 59, 33, 324, 212, 42,
1301 197, 77, 53, 54, 55, 0, 416, 59, 335, 45,
1302 76, 805, 3, 4, 341, 76, 76, 170, 50, 189,
1303 57, 67, 0, 193, 874, 82, 72, 180, 181, 80,
1304 183, 184, 202, 82, 662, 67, 82, 88, 235, 401,
1305 72, 410, 413, 7, 894, 81, 349, 897, 349, 899,
1306 534, 67, 701, 702, 329, 849, 72, 907, 333, 5,
1307 237, 7, 59, 60, 278, 242, 82, 244, 332, 77,
1308 78, 268, 225, 59, 60, 38, 67, 114, 275, 76,
1309 189, 72, 45, 192, 193, 238, 50, 3, 4, 939,
1310 76, 82, 76, 202, 30, 59, 60, 81, 221, 1,
1311 59, 3, 4, 212, 732, 515, 143, 27, 38, 613,
1312 30, 522, 265, 266, 291, 45, 36, 839, 3, 4,
1313 604, 3, 4, 5, 6, 7, 370, 59, 431, 59,
1314 431, 59, 60, 59, 171, 48, 49, 630, 465, 45,
1315 467, 338, 77, 59, 3, 4, 299, 363, 76, 30,
1316 63, 67, 59, 60, 3, 206, 72, 77, 7, 329,
1317 301, 81, 30, 333, 59, 67, 217, 816, 301, 579,
1318 72, 350, 65, 352, 59, 59, 572, 573, 59, 60,
1319 576, 30, 67, 380, 221, 67, 38, 72, 82, 76,
1320 72, 59, 60, 45, 81, 606, 410, 59, 516, 77,
1321 237, 50, 520, 81, 357, 242, 82, 244, 67, 318,
1322 59, 408, 583, 72, 555, 82, 844, 59, 60, 3,
1323 329, 592, 76, 332, 333, 59, 349, 81, 624, 625,
1324 626, 50, 628, 629, 3, 4, 76, 481, 7, 9,
1325 59, 60, 81, 420, 509, 563, 30, 657, 566, 346,
1326 660, 348, 579, 76, 291, 59, 60, 653, 81, 412,
1327 622, 30, 77, 78, 703, 509, 50, 3, 4, 76,
1328 75, 640, 3, 4, 81, 59, 60, 328, 416, 438,
1329 691, 50, 416, 424, 77, 78, 682, 683, 684, 427,
1330 59, 424, 451, 427, 30, 404, 77, 76, 621, 30,
1331 81, 623, 38, 72, 627, 676, 38, 416, 3, 4,
1332 419, 348, 349, 616, 50, 616, 59, 60, 427, 50,
1333 473, 648, 76, 59, 77, 721, 3, 4, 59, 438,
1334 427, 658, 82, 660, 59, 30, 72, 548, 549, 701,
1335 437, 438, 586, 38, 59, 714, 708, 77, 68, 69,
1336 70, 81, 511, 30, 507, 50, 78, 27, 78, 529,
1337 30, 3, 4, 77, 59, 7, 36, 81, 126, 127,
1338 766, 77, 531, 50, 78, 81, 514, 72, 548, 549,
1339 514, 77, 59, 420, 76, 81, 77, 77, 30, 59,
1340 60, 81, 77, 734, 431, 72, 81, 808, 50, 51,
1341 52, 438, 511, 612, 76, 514, 82, 77, 50, 617,
1342 618, 81, 76, 510, 451, 38, 59, 59, 60, 76,
1343 529, 77, 531, 10, 820, 578, 640, 597, 76, 638,
1344 771, 63, 82, 530, 531, 758, 889, 76, 891, 548,
1345 549, 649, 612, 552, 27, 542, 543, 608, 609, 602,
1346 9, 77, 622, 83, 3, 4, 36, 5, 6, 7,
1347 67, 77, 559, 560, 12, 13, 14, 36, 638, 81,
1348 68, 69, 70, 78, 511, 613, 68, 69, 70, 613,
1349 78, 30, 30, 68, 69, 70, 78, 76, 597, 5,
1350 6, 7, 38, 78, 531, 76, 12, 13, 14, 76,
1351 714, 50, 611, 612, 613, 76, 543, 704, 617, 618,
1352 59, 60, 76, 622, 667, 76, 613, 38, 76, 82,
1353 933, 630, 76, 560, 869, 76, 83, 636, 941, 638,
1354 83, 701, 702, 63, 875, 6, 7, 734, 708, 241,
1355 649, 12, 13, 14, 246, 247, 63, 76, 756, 251,
1356 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
1357 262, 76, 889, 36, 891, 48, 49, 50, 51, 52,
1358 83, 724, 623, 76, 771, 916, 917, 1, 748, 616,
1359 4, 734, 6, 7, 78, 782, 802, 78, 12, 13,
1360 14, 78, 701, 702, 32, 38, 734, 83, 76, 708,
1361 734, 77, 81, 77, 28, 3, 76, 31, 77, 3,
1362 78, 734, 38, 7, 81, 63, 78, 83, 771, 78,
1363 38, 45, 38, 78, 821, 734, 63, 824, 825, 81,
1364 783, 839, 841, 792, 38, 832, 30, 81, 78, 748,
1365 36, 63, 83, 67, 785, 786, 816, 756, 72, 78,
1366 847, 38, 59, 786, 59, 38, 50, 59, 855, 7,
1367 77, 38, 77, 77, 802, 59, 60, 77, 802, 866,
1368 16, 841, 78, 59, 77, 59, 77, 76, 875, 802,
1369 382, 383, 63, 792, 3, 4, 54, 55, 7, 57,
1370 58, 59, 60, 802, 791, 792, 4, 5, 6, 7,
1371 4, 898, 6, 7, 12, 13, 14, 816, 12, 13,
1372 14, 30, 54, 55, 17, 57, 58, 59, 60, 77,
1373 28, 76, 875, 920, 28, 77, 76, 76, 9, 926,
1374 839, 50, 841, 77, 76, 59, 77, 45, 77, 1,
1375 59, 45, 4, 5, 6, 7, 81, 77, 10, 76,
1376 12, 13, 14, 76, 0, 792, 77, 77, 0, 67,
1377 413, 824, 324, 67, 72, 87, 28, 658, 72, 77,
1378 472, 802, 281, 639, 1, 412, 3, 4, 5, 6,
1379 7, 8, 9, 45, 11, 12, 13, 14, 15, 491,
1380 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1381 27, 28, 29, 30, 31, 67, 33, 34, 646, 475,
1382 72, 349, 467, 40, 357, 648, 43, 658, 45, 473,
1383 82, 48, 49, 50, 580, 660, 921, 54, 55, 923,
1384 875, 875, 59, 60, 407, 419, 552, 64, 25, 66,
1385 67, 419, 539, 618, 71, 72, 756, 300, 75, 753,
1386 77, 78, 79, 80, 532, 82, 514, 586, 748, 415,
1387 562, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1388 52, 1, 370, 3, 4, 5, 6, 7, 8, 9,
1389 582, 11, 12, 13, 14, 15, 676, 17, 18, 19,
1390 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1391 30, 31, -1, 33, 34, 509, -1, 415, -1, -1,
1392 40, -1, -1, 43, -1, 45, -1, -1, 48, 49,
1393 50, -1, -1, -1, 54, 55, -1, -1, -1, 59,
1394 60, -1, -1, -1, 64, -1, 66, 67, -1, -1,
1395 -1, 71, 72, -1, 646, 75, -1, 77, -1, 79,
1396 80, 1, 82, 3, 4, -1, -1, -1, 8, 9,
1397 -1, 11, -1, -1, -1, 15, -1, 17, 18, 19,
1398 20, 21, 22, 23, 24, 25, 26, 27, 680, 29,
1399 -1, 31, -1, 33, 34, -1, -1, -1, -1, -1,
1400 40, -1, -1, 43, 696, -1, -1, -1, 48, 49,
1401 50, -1, -1, -1, 54, 55, -1, -1, -1, 59,
1402 60, -1, -1, -1, 64, 717, 66, 67, 720, -1,
1403 -1, 71, 72, -1, -1, 75, -1, 77, 78, 79,
1404 80, -1, 82, -1, 736, -1, 1, 739, -1, 4,
1405 5, 6, 7, -1, -1, -1, -1, 12, 13, 14,
1406 -1, -1, -1, 755, 44, 45, 46, 47, 48, 49,
1407 50, 51, 52, 28, -1, 767, -1, 1, -1, 3,
1408 4, -1, -1, -1, 8, 9, 778, 11, -1, -1,
1409 45, 15, -1, 17, 18, 19, 20, 21, 22, 23,
1410 24, 25, 26, 27, -1, 29, -1, 31, -1, 33,
1411 34, -1, 67, 805, -1, -1, 40, 72, -1, 43,
1412 -1, -1, -1, -1, 48, 49, 50, 82, -1, -1,
1413 54, 55, -1, -1, -1, 59, 60, -1, -1, -1,
1414 64, -1, 66, 67, -1, -1, -1, 71, 72, -1,
1415 -1, 75, -1, 77, -1, 79, 80, 849, 82, -1,
1416 1, -1, 3, 4, -1, -1, -1, 8, 9, 861,
1417 11, -1, -1, -1, 15, -1, 17, 18, 19, 20,
1418 21, 22, 23, 24, 25, 26, 27, -1, 29, -1,
1419 31, -1, 33, 34, -1, -1, -1, -1, -1, 40,
1420 -1, -1, 43, -1, -1, -1, -1, 48, 49, 50,
1421 -1, -1, -1, 54, 55, -1, -1, -1, 59, 60,
1422 -1, -1, -1, 64, -1, 66, 67, -1, -1, -1,
1423 71, 72, -1, -1, 75, -1, 77, -1, 79, 80,
1424 1, 82, 3, 4, -1, 6, 7, 8, 9, -1,
1425 11, 12, 13, 14, 40, 41, 42, 43, 44, 45,
1426 46, 47, 48, 49, 50, 51, 52, 28, 29, -1,
1427 31, -1, 33, 34, -1, -1, -1, -1, -1, 40,
1428 -1, -1, 43, -1, 45, -1, -1, 48, 49, 50,
1429 -1, -1, -1, 54, 55, -1, -1, -1, 59, 60,
1430 -1, -1, -1, 64, -1, 66, 67, -1, -1, -1,
1431 71, 72, -1, -1, 75, -1, -1, -1, 79, 80,
1432 1, 82, 3, 4, -1, -1, -1, 8, 9, 37,
1433 11, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1434 48, 49, 50, 51, 52, -1, -1, -1, 29, -1,
1435 31, -1, 33, 34, -1, -1, -1, -1, -1, 40,
1436 -1, -1, 43, -1, -1, -1, -1, 48, 49, 50,
1437 -1, -1, -1, 54, 55, -1, -1, 58, 59, 60,
1438 -1, -1, -1, 64, -1, 66, 67, -1, -1, -1,
1439 71, 72, -1, -1, 75, -1, -1, 78, 79, 80,
1440 1, 82, 3, 4, -1, -1, -1, 8, 9, -1,
1441 11, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1442 50, 51, 52, -1, -1, -1, -1, -1, 29, -1,
1443 31, -1, 33, 34, -1, -1, -1, -1, -1, 40,
1444 -1, -1, 43, -1, -1, -1, -1, 48, 49, 50,
1445 -1, -1, -1, 54, 55, -1, -1, 58, 59, 60,
1446 -1, -1, -1, 64, -1, 66, 67, -1, -1, -1,
1447 71, 72, -1, -1, 75, -1, -1, 78, 79, 80,
1448 1, 82, 3, 4, -1, -1, -1, 8, 9, -1,
1449 11, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1450 51, 52, -1, -1, -1, -1, -1, -1, 29, -1,
1451 31, -1, 33, 34, -1, -1, -1, -1, -1, 40,
1452 -1, -1, 43, -1, -1, -1, -1, 48, 49, 50,
1453 -1, -1, -1, 54, 55, -1, -1, 58, 59, 60,
1454 -1, -1, -1, 64, -1, 66, 67, -1, -1, -1,
1455 71, 72, -1, -1, 75, 1, -1, 3, 79, 80,
1456 -1, 82, 8, 9, -1, 11, 1, -1, -1, 4,
1457 -1, 6, 7, -1, -1, -1, -1, 12, 13, 14,
1458 -1, -1, -1, 29, -1, 31, -1, 33, 34, -1,
1459 -1, -1, -1, 28, 40, -1, 31, 43, -1, -1,
1460 -1, -1, 48, 49, 50, -1, -1, -1, 54, 55,
1461 45, -1, -1, 59, 60, -1, -1, -1, 64, -1,
1462 66, -1, -1, -1, -1, 71, -1, -1, -1, 75,
1463 -1, -1, 67, 79, 80, 1, 82, 72, 4, 5,
1464 6, 7, 77, 78, -1, -1, 12, 13, 14, -1,
1465 -1, -1, -1, -1, 1, -1, -1, 4, 5, 6,
1466 7, 27, 28, -1, 30, 12, 13, 14, -1, -1,
1467 36, 45, 46, 47, 48, 49, 50, 51, 52, 45,
1468 27, 28, -1, 30, -1, -1, -1, -1, -1, 36,
1469 -1, -1, -1, 59, 60, -1, -1, -1, 45, -1,
1470 -1, 67, -1, -1, -1, -1, 72, -1, -1, -1,
1471 -1, 77, 59, 60, -1, 81, 82, -1, -1, -1,
1472 67, -1, -1, -1, -1, 72, -1, -1, -1, -1,
1473 77, -1, -1, 1, 81, 82, 4, 5, 6, 7,
1474 -1, -1, -1, -1, 12, 13, 14, -1, -1, -1,
1475 -1, -1, 1, -1, -1, 4, 5, 6, 7, 27,
1476 28, -1, 30, 12, 13, 14, -1, -1, 36, 46,
1477 47, 48, 49, 50, 51, 52, -1, 45, -1, 28,
1478 -1, 30, -1, 4, -1, 6, 7, -1, -1, -1,
1479 -1, 12, 13, 14, -1, -1, 45, -1, -1, 67,
1480 -1, -1, -1, -1, 72, -1, -1, 28, -1, 77,
1481 -1, -1, -1, 81, 82, -1, 1, -1, 67, 4,
1482 5, 6, 7, 72, 45, -1, -1, 12, 13, 14,
1483 -1, -1, -1, 82, -1, -1, -1, -1, -1, -1,
1484 -1, -1, -1, 28, 3, 30, 67, -1, -1, 8,
1485 9, 72, 11, -1, -1, -1, 77, 78, -1, -1,
1486 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1487 29, -1, 31, -1, 33, 34, -1, -1, -1, -1,
1488 -1, 40, 67, -1, 43, -1, -1, 72, -1, 48,
1489 49, 50, -1, -1, -1, 54, 55, 82, -1, -1,
1490 59, 60, -1, 3, -1, 64, -1, 66, 8, 9,
1491 -1, 11, 71, -1, -1, -1, 75, -1, -1, -1,
1492 79, 80, -1, -1, 83, -1, -1, -1, -1, 29,
1493 -1, 31, -1, 33, 34, -1, -1, -1, -1, -1,
1494 40, -1, -1, 43, -1, -1, -1, -1, 48, 49,
1495 50, -1, -1, -1, 54, 55, -1, -1, -1, 59,
1496 60, -1, 3, -1, 64, -1, 66, 8, 9, -1,
1497 11, 71, -1, -1, -1, 75, -1, -1, -1, 79,
1498 80, -1, -1, 83, -1, -1, -1, -1, 29, -1,
1499 31, -1, 33, 34, -1, -1, -1, -1, -1, 40,
1500 -1, -1, 43, -1, -1, -1, -1, 48, 49, 50,
1501 -1, -1, -1, 54, 55, -1, -1, -1, 59, 60,
1502 -1, 3, -1, 64, -1, 66, 8, 9, -1, 11,
1503 71, -1, -1, -1, 75, -1, -1, -1, 79, 80,
1504 -1, -1, 83, -1, -1, -1, -1, 29, -1, 31,
1505 -1, 33, 34, -1, -1, -1, -1, -1, 40, -1,
1506 -1, 43, -1, -1, -1, -1, 48, 49, 50, -1,
1507 -1, -1, 54, 55, -1, -1, -1, 59, 60, -1,
1508 3, -1, 64, -1, 66, 8, 9, -1, 11, 71,
1509 -1, -1, -1, 75, -1, -1, -1, 79, 80, -1,
1510 -1, 83, -1, -1, -1, -1, 29, -1, 31, -1,
1511 33, 34, -1, -1, -1, -1, -1, 40, -1, -1,
1512 43, -1, -1, -1, -1, 48, 49, 50, -1, -1,
1513 -1, 54, 55, -1, -1, -1, 59, 60, -1, -1,
1514 -1, 64, -1, 66, -1, -1, -1, -1, 71, -1,
1515 -1, -1, 75, -1, -1, -1, 79, 80, -1, -1,
1516 83, 3, 4, 5, 6, 7, 8, 9, -1, 11,
1517 12, 13, 14, 15, -1, 17, 18, 19, 20, 21,
1518 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1519 -1, 33, 34, -1, -1, -1, -1, -1, 40, -1,
1520 -1, 43, -1, 45, -1, -1, 48, 49, 50, -1,
1521 -1, -1, 54, 55, -1, -1, -1, 59, 60, -1,
1522 -1, -1, 64, -1, 66, 67, -1, -1, -1, 71,
1523 72, -1, -1, 75, -1, 77, -1, 79, 80, -1,
1524 82, 3, 4, -1, -1, -1, 8, 9, -1, 11,
1525 -1, -1, -1, 15, -1, 17, 18, 19, 20, 21,
1526 22, 23, 24, 25, 26, 27, -1, 29, -1, 31,
1527 -1, 33, 34, -1, -1, -1, -1, -1, 40, -1,
1528 -1, 43, -1, -1, -1, -1, 48, 49, 50, -1,
1529 -1, -1, 54, 55, -1, 3, -1, 59, 60, -1,
1530 8, 9, 64, 11, 66, 67, -1, -1, -1, 71,
1531 72, -1, -1, 75, -1, 77, -1, 79, 80, -1,
1532 82, 29, -1, 31, -1, 33, 34, -1, -1, -1,
1533 -1, -1, 40, -1, -1, 43, -1, -1, -1, -1,
1534 48, 49, 50, -1, -1, -1, 54, 55, -1, -1,
1535 -1, 59, 60, -1, -1, -1, 64, -1, 66, -1,
1536 -1, -1, -1, 71, -1, -1, -1, 75, -1, -1,
1537 -1, 79, 80, -1, 82, 3, 4, -1, 6, 7,
1538 -1, -1, -1, 11, 12, 13, 14, 15, 16, 17,
1539 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1540 28, 29, -1, 3, 4, 5, 6, 7, 8, 9,
1541 38, 11, 12, 13, 14, 4, 5, 6, 7, -1,
1542 -1, -1, -1, 12, 13, 14, -1, -1, 28, 29,
1543 30, 31, -1, 33, 34, -1, -1, -1, -1, 28,
1544 40, 30, -1, 43, 72, 45, -1, -1, 48, 49,
1545 50, -1, -1, 81, 54, 55, 45, -1, -1, 59,
1546 60, -1, -1, -1, 64, -1, 66, 67, -1, -1,
1547 -1, 71, 72, -1, -1, 75, -1, -1, 67, 79,
1548 80, 3, 4, 72, 6, 7, 8, 9, 77, 11,
1549 12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
1550 -1, -1, -1, -1, -1, -1, 28, 29, -1, 31,
1551 -1, 33, 34, -1, -1, -1, -1, -1, 40, -1,
1552 -1, 43, -1, 45, -1, -1, 48, 49, 50, -1,
1553 -1, -1, 54, 55, -1, 3, -1, 59, 60, -1,
1554 8, 9, 64, 11, 66, 67, -1, -1, -1, 71,
1555 72, -1, -1, 75, -1, -1, -1, 79, 80, -1,
1556 -1, 29, -1, 31, -1, 33, 34, -1, -1, -1,
1557 -1, -1, 40, -1, -1, 43, -1, -1, -1, -1,
1558 48, 49, 50, -1, -1, -1, 54, 55, -1, 3,
1559 -1, 59, 60, -1, 8, 9, 64, 11, 66, 67,
1560 -1, -1, -1, 71, -1, -1, -1, 75, -1, -1,
1561 -1, 79, 80, -1, -1, 29, -1, 31, -1, 33,
1562 34, -1, -1, -1, -1, -1, 40, -1, -1, 43,
1563 -1, -1, -1, -1, 48, 49, 50, -1, -1, -1,
1564 54, 55, -1, 3, -1, 59, 60, -1, 8, 9,
1565 64, 11, 66, -1, -1, -1, -1, 71, -1, -1,
1566 -1, 75, -1, 77, -1, 79, 80, -1, -1, 29,
1567 -1, 31, -1, 33, 34, -1, -1, -1, -1, -1,
1568 40, -1, -1, 43, -1, -1, -1, -1, 48, 49,
1569 50, -1, -1, -1, 54, 55, -1, 3, -1, 59,
1570 60, -1, 8, 9, 64, 11, 66, -1, -1, -1,
1571 -1, 71, -1, -1, -1, 75, -1, -1, -1, 79,
1572 80, -1, -1, 29, -1, 31, -1, 33, 34, -1,
1573 -1, -1, -1, -1, 40, -1, -1, 43, -1, -1,
1574 -1, -1, 48, 49, 50, -1, -1, -1, 54, 55,
1575 -1, 3, -1, 59, 60, -1, 8, 9, 64, 11,
1576 66, -1, -1, -1, -1, 71, -1, -1, -1, 75,
1577 -1, -1, -1, 79, 80, -1, -1, 29, -1, 31,
1578 -1, 33, 34, -1, -1, -1, -1, -1, 40, -1,
1579 -1, 43, -1, -1, -1, -1, 48, 49, 50, -1,
1580 -1, -1, 54, 55, -1, 3, -1, 59, 60, -1,
1581 8, 9, 64, 11, 66, -1, -1, -1, -1, 71,
1582 -1, -1, -1, 75, -1, -1, -1, 79, 80, -1,
1583 -1, 29, -1, 31, -1, 33, 34, -1, -1, -1,
1584 -1, -1, 40, -1, -1, 43, -1, -1, -1, -1,
1585 48, 49, 50, -1, -1, -1, 54, 55, -1, -1,
1586 -1, 59, 60, -1, -1, -1, 64, -1, 66, -1,
1587 -1, -1, -1, 71, -1, -1, -1, 75, -1, -1,
1588 1, 79, 80, 4, -1, 6, 7, -1, -1, -1,
1589 -1, 12, 13, 14, -1, -1, -1, -1, 1, -1,
1590 -1, 4, -1, 6, 7, -1, -1, 28, -1, 12,
1591 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
1592 -1, -1, -1, -1, 45, 28, -1, -1, -1, -1,
1593 -1, -1, 1, -1, 3, 4, 5, 6, 7, -1,
1594 -1, -1, 45, 12, 13, 14, 67, 68, 69, 70,
1595 -1, 72, -1, -1, -1, -1, 77, 78, 27, 28,
1596 -1, 30, 31, -1, 67, 68, 69, 70, -1, 72,
1597 -1, -1, -1, -1, 77, 78, 45, -1, -1, 48,
1598 49, 50, -1, -1, -1, -1, -1, -1, -1, -1,
1599 59, -1, 61, 62, 63, -1, -1, -1, 67, -1,
1600 -1, -1, 71, 72, 73, 74, -1, 1, 77, 3,
1601 4, 5, 6, 7, -1, -1, -1, -1, 12, 13,
1602 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1603 -1, -1, -1, -1, 28, 1, 30, 3, 4, 5,
1604 6, 7, -1, -1, -1, -1, 12, 13, 14, -1,
1605 -1, 45, -1, -1, 48, 49, 50, -1, -1, -1,
1606 -1, -1, 28, -1, 30, 59, -1, -1, -1, -1,
1607 -1, -1, -1, 67, -1, -1, -1, -1, 72, 45,
1608 -1, -1, -1, 77, 50, 1, -1, 3, 4, 5,
1609 6, 7, -1, 59, 10, -1, 12, 13, 14, -1,
1610 -1, 67, -1, -1, 1, -1, 72, 4, 5, 6,
1611 7, 77, 28, 10, 30, 12, 13, 14, 4, 5,
1612 6, 7, -1, -1, -1, -1, 12, 13, 14, 45,
1613 -1, 28, -1, 30, -1, -1, -1, 4, 5, 6,
1614 7, -1, 28, -1, 30, 12, 13, 14, 45, -1,
1615 -1, 67, -1, -1, -1, -1, 72, -1, -1, 45,
1616 76, 28, -1, 30, -1, -1, -1, -1, -1, -1,
1617 67, -1, -1, -1, -1, 72, -1, -1, 45, 76,
1618 -1, 67, -1, -1, -1, -1, 72, -1, -1, -1,
1619 -1, 77, -1, -1, -1, -1, -1, -1, -1, -1,
1620 67, -1, -1, 3, 4, 72, 6, 7, -1, -1,
1621 77, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1622 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1623 -1, 3, 4, -1, 6, 7, -1, -1, 38, 11,
1624 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1625 22, 23, 24, 25, 26, 27, 28, 29, -1, 59,
1626 -1, -1, -1, -1, -1, -1, 38, 3, 4, -1,
1627 6, 7, 72, -1, -1, 11, 12, 13, 14, 15,
1628 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1629 26, 27, 28, 29, -1, 3, 4, -1, 6, 7,
1630 72, -1, 38, 11, 12, 13, 14, 15, 16, 17,
1631 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1632 28, 29, -1, -1, 4, -1, 6, 7, -1, -1,
1633 38, -1, 12, 13, 14, -1, 72, 4, 5, 6,
1634 7, -1, -1, 10, -1, 12, 13, 14, 28, 4,
1635 5, 6, 7, -1, -1, 10, -1, 12, 13, 14,
1636 -1, 28, -1, 30, 72, 45, -1, -1, -1, -1,
1637 50, -1, -1, 28, -1, 30, -1, -1, 45, 59,
1638 60, -1, -1, -1, -1, -1, -1, 67, -1, -1,
1639 45, -1, 72, -1, 4, 5, 6, 7, -1, -1,
1640 67, -1, 12, 13, 14, 72, 4, 5, 6, 7,
1641 -1, -1, 67, -1, 12, 13, 14, 72, 28, 4,
1642 30, 6, 7, -1, -1, -1, -1, 12, 13, 14,
1643 28, -1, -1, -1, -1, 45, -1, -1, -1, -1,
1644 -1, -1, -1, 28, -1, -1, -1, 45, -1, -1,
1645 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
1646 45, -1, 72, 10, -1, -1, -1, -1, -1, 67,
1647 -1, -1, -1, -1, 72, -1, -1, -1, -1, -1,
1648 -1, -1, 67, -1, -1, -1, -1, 72, 35, 36,
1649 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1650 47, 48, 49, 50, 51, 52, 30, -1, -1, -1,
1651 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
1652 44, 45, 46, 47, 48, 49, 50, 51, 52, 35,
1653 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1654 46, 47, 48, 49, 50, 51, 52, 35, 36, 37,
1655 -1, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1658 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
1659 #line 3 "/usr/cygnus/progressive-98r1/share/bison.simple"
1661 /* Skeleton output parser for bison,
1662 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
1664 This program is free software; you can redistribute it and/or modify
1665 it under the terms of the GNU General Public License as published by
1666 the Free Software Foundation; either version 2, or (at your option)
1669 This program is distributed in the hope that it will be useful,
1670 but WITHOUT ANY WARRANTY; without even the implied warranty of
1671 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1672 GNU General Public License for more details.
1674 You should have received a copy of the GNU General Public License
1675 along with this program; if not, write to the Free Software
1676 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
1678 /* As a special exception, when this file is copied by Bison into a
1679 Bison output file, you may use that output file without restriction.
1680 This special exception was added by the Free Software Foundation
1681 in version 1.24 of Bison. */
1685 #define alloca __builtin_alloca
1686 #else /* not GNU C. */
1687 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
1689 #else /* not sparc */
1690 #if defined (MSDOS) && !defined (__TURBOC__)
1692 #else /* not MSDOS, or __TURBOC__ */
1696 #else /* not MSDOS, __TURBOC__, or _AIX */
1700 void *alloca (unsigned int);
1702 #else /* not __cplusplus */
1704 #endif /* not __cplusplus */
1706 #endif /* not _AIX */
1707 #endif /* not MSDOS, or __TURBOC__ */
1708 #endif /* not sparc. */
1709 #endif /* not GNU C. */
1710 #endif /* alloca not defined. */
1712 /* This is the parser code that is written into each bison parser
1713 when the %semantic_parser declaration is not specified in the grammar.
1714 It was written by Richard Stallman by simplifying the hairy parser
1715 used when %semantic_parser is specified. */
1717 /* Note: there must be only one dollar sign in this file.
1718 It is replaced by the list of actions, each action
1719 as one case of the switch. */
1721 #define yyerrok (yyerrstatus = 0)
1722 #define yyclearin (yychar = YYEMPTY)
1725 #define YYACCEPT return(0)
1726 #define YYABORT return(1)
1727 #define YYERROR goto yyerrlab1
1728 /* Like YYERROR except do call yyerror.
1729 This remains here temporarily to ease the
1730 transition to the new meaning of YYERROR, for GCC.
1731 Once GCC version 2 has supplanted version 1, this can go. */
1732 #define YYFAIL goto yyerrlab
1733 #define YYRECOVERING() (!!yyerrstatus)
1734 #define YYBACKUP(token, value) \
1736 if (yychar == YYEMPTY && yylen == 1) \
1737 { yychar = (token), yylval = (value); \
1738 yychar1 = YYTRANSLATE (yychar); \
1743 { yyerror ("syntax error: cannot back up"); YYERROR; } \
1747 #define YYERRCODE 256
1750 #define YYLEX yylex()
1756 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
1758 #define YYLEX yylex(&yylval, &yylloc)
1760 #else /* not YYLSP_NEEDED */
1762 #define YYLEX yylex(&yylval, YYLEX_PARAM)
1764 #define YYLEX yylex(&yylval)
1766 #endif /* not YYLSP_NEEDED */
1769 /* If nonreentrant, generate the variables here */
1773 int yychar; /* the lookahead symbol */
1774 YYSTYPE yylval; /* the semantic value of the */
1775 /* lookahead symbol */
1778 YYLTYPE yylloc; /* location data for the lookahead */
1782 int yynerrs; /* number of parse errors so far */
1783 #endif /* not YYPURE */
1786 int yydebug; /* nonzero means print parse trace */
1787 /* Since this is uninitialized, it does not stop multiple parsers
1791 /* YYINITDEPTH indicates the initial size of the parser's stacks */
1794 #define YYINITDEPTH 200
1797 /* YYMAXDEPTH is the maximum size the stacks can grow to
1798 (effective only if the built-in stack extension method is used). */
1805 #define YYMAXDEPTH 10000
1808 /* Prevent warning if -Wstrict-prototypes. */
1813 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
1814 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
1815 #else /* not GNU C or C++ */
1818 /* This is the most reliable way to avoid incompatibilities
1819 in available built-in functions on various systems. */
1821 __yy_memcpy (to, from, count)
1826 register char *f = from;
1827 register char *t = to;
1828 register int i = count;
1834 #else /* __cplusplus */
1836 /* This is the most reliable way to avoid incompatibilities
1837 in available built-in functions on various systems. */
1839 __yy_memcpy (char *to, char *from, int count)
1841 register char *f = from;
1842 register char *t = to;
1843 register int i = count;
1852 #line 196 "/usr/cygnus/progressive-98r1/share/bison.simple"
1854 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
1855 into yyparse. The argument should have type void *.
1856 It should actually point to an object.
1857 Grammar actions can access the variable by casting it
1858 to the proper pointer type. */
1860 #ifdef YYPARSE_PARAM
1862 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
1863 #define YYPARSE_PARAM_DECL
1864 #else /* not __cplusplus */
1865 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
1866 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
1867 #endif /* not __cplusplus */
1868 #else /* not YYPARSE_PARAM */
1869 #define YYPARSE_PARAM_ARG
1870 #define YYPARSE_PARAM_DECL
1871 #endif /* not YYPARSE_PARAM */
1874 yyparse(YYPARSE_PARAM_ARG)
1877 register int yystate;
1879 register short *yyssp;
1880 register YYSTYPE *yyvsp;
1881 int yyerrstatus; /* number of tokens to shift before error messages enabled */
1882 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
1884 short yyssa[YYINITDEPTH]; /* the state stack */
1885 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
1887 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
1888 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
1891 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
1892 YYLTYPE *yyls = yylsa;
1895 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
1897 #define YYPOPSTACK (yyvsp--, yyssp--)
1900 int yystacksize = YYINITDEPTH;
1911 YYSTYPE yyval; /* the variable used to return */
1912 /* semantic values from the action */
1919 fprintf(stderr, "Starting parse\n");
1925 yychar = YYEMPTY; /* Cause a token to be read. */
1927 /* Initialize stack pointers.
1928 Waste one element of value and location stack
1929 so that they stay on the same level as the state stack.
1930 The wasted elements are never initialized. */
1938 /* Push a new state, which is found in yystate . */
1939 /* In all cases, when you get here, the value and location stacks
1940 have just been pushed. so pushing a state here evens the stacks. */
1945 if (yyssp >= yyss + yystacksize - 1)
1947 /* Give user a chance to reallocate the stack */
1948 /* Use copies of these so that the &'s don't force the real ones into memory. */
1949 YYSTYPE *yyvs1 = yyvs;
1950 short *yyss1 = yyss;
1952 YYLTYPE *yyls1 = yyls;
1955 /* Get the current used size of the three stacks, in elements. */
1956 int size = yyssp - yyss + 1;
1959 /* Each stack pointer address is followed by the size of
1960 the data in use in that stack, in bytes. */
1962 /* This used to be a conditional around just the two extra args,
1963 but that might be undefined if yyoverflow is a macro. */
1964 yyoverflow("parser stack overflow",
1965 &yyss1, size * sizeof (*yyssp),
1966 &yyvs1, size * sizeof (*yyvsp),
1967 &yyls1, size * sizeof (*yylsp),
1970 yyoverflow("parser stack overflow",
1971 &yyss1, size * sizeof (*yyssp),
1972 &yyvs1, size * sizeof (*yyvsp),
1976 yyss = yyss1; yyvs = yyvs1;
1980 #else /* no yyoverflow */
1981 /* Extend the stack our own way. */
1982 if (yystacksize >= YYMAXDEPTH)
1984 yyerror("parser stack overflow");
1988 if (yystacksize > YYMAXDEPTH)
1989 yystacksize = YYMAXDEPTH;
1990 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
1991 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
1992 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
1993 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
1995 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
1996 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
1998 #endif /* no yyoverflow */
2000 yyssp = yyss + size - 1;
2001 yyvsp = yyvs + size - 1;
2003 yylsp = yyls + size - 1;
2008 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
2011 if (yyssp >= yyss + yystacksize - 1)
2017 fprintf(stderr, "Entering state %d\n", yystate);
2023 /* Do appropriate processing given the current state. */
2024 /* Read a lookahead token if we need one and don't already have one. */
2027 /* First try to decide what to do without reference to lookahead token. */
2029 yyn = yypact[yystate];
2033 /* Not known => get a lookahead token if don't already have one. */
2035 /* yychar is either YYEMPTY or YYEOF
2036 or a valid token in external form. */
2038 if (yychar == YYEMPTY)
2042 fprintf(stderr, "Reading a token: ");
2047 /* Convert token to internal form (in yychar1) for indexing tables with */
2049 if (yychar <= 0) /* This means end of input. */
2052 yychar = YYEOF; /* Don't call YYLEX any more */
2056 fprintf(stderr, "Now at end of input.\n");
2061 yychar1 = YYTRANSLATE(yychar);
2066 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
2067 /* Give the individual parser a way to print the precise meaning
2068 of a token, for further debugging info. */
2070 YYPRINT (stderr, yychar, yylval);
2072 fprintf (stderr, ")\n");
2078 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
2083 /* yyn is what to do for this token type in this state.
2084 Negative => reduce, -yyn is rule number.
2085 Positive => shift, yyn is new state.
2086 New state is final state => don't bother to shift,
2087 just return success.
2088 0, or most negative number => error. */
2103 /* Shift the lookahead token. */
2107 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
2110 /* Discard the token being shifted unless it is eof. */
2111 if (yychar != YYEOF)
2119 /* count tokens shifted since error; after three, turn off error status. */
2120 if (yyerrstatus) yyerrstatus--;
2125 /* Do the default action for the current state. */
2128 yyn = yydefact[yystate];
2132 /* Do a reduction. yyn is the number of a rule to reduce with. */
2136 yyval = yyvsp[1-yylen]; /* implement default value of the action */
2143 fprintf (stderr, "Reducing via rule %d (line %d), ",
2146 /* Print the symbols being reduced, and their result. */
2147 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
2148 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
2149 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
2157 #line 234 "objc-parse.y"
2159 pedwarn ("ANSI C forbids an empty source file");
2164 #line 239 "objc-parse.y"
2166 /* In case there were missing closebraces,
2167 get us back to the global binding level. */
2168 while (! global_bindings_p ())
2174 #line 253 "objc-parse.y"
2175 {yyval.ttype = NULL_TREE; ;
2178 #line 254 "objc-parse.y"
2179 {yyval.ttype = NULL_TREE; ;
2182 #line 262 "objc-parse.y"
2183 { STRIP_NOPS (yyvsp[-2].ttype);
2184 if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
2185 && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
2186 || TREE_CODE (yyvsp[-2].ttype) == STRING_CST)
2187 assemble_asm (yyvsp[-2].ttype);
2189 error ("argument of `asm' is not a constant string"); ;
2192 #line 270 "objc-parse.y"
2193 { pedantic = yyvsp[-1].itype; ;
2196 #line 275 "objc-parse.y"
2198 error ("ANSI C forbids data definition with no type or storage class");
2199 else if (!flag_traditional)
2200 warning ("data definition has no type or storage class");
2202 current_declspecs = TREE_VALUE (declspec_stack);
2203 prefix_attributes = TREE_PURPOSE (declspec_stack);
2204 declspec_stack = TREE_CHAIN (declspec_stack);
2205 resume_momentary (yyvsp[-2].itype); ;
2208 #line 285 "objc-parse.y"
2209 { current_declspecs = TREE_VALUE (declspec_stack);
2210 prefix_attributes = TREE_PURPOSE (declspec_stack);
2211 declspec_stack = TREE_CHAIN (declspec_stack);
2212 resume_momentary (yyvsp[-2].itype); ;
2215 #line 290 "objc-parse.y"
2216 { current_declspecs = TREE_VALUE (declspec_stack);
2217 prefix_attributes = TREE_PURPOSE (declspec_stack);
2218 declspec_stack = TREE_CHAIN (declspec_stack);
2219 resume_momentary (yyvsp[-2].itype); ;
2222 #line 295 "objc-parse.y"
2223 { pedwarn ("empty declaration"); ;
2226 #line 297 "objc-parse.y"
2227 { shadow_tag (yyvsp[-1].ttype); ;
2230 #line 301 "objc-parse.y"
2232 pedwarn ("ANSI C does not allow extra `;' outside of a function"); ;
2235 #line 307 "objc-parse.y"
2236 { if (! start_function (current_declspecs, yyvsp[0].ttype,
2237 prefix_attributes, NULL_TREE, 0))
2239 reinit_parse_for_function (); ;
2242 #line 312 "objc-parse.y"
2243 { store_parm_decls (); ;
2246 #line 314 "objc-parse.y"
2247 { finish_function (0);
2248 current_declspecs = TREE_VALUE (declspec_stack);
2249 prefix_attributes = TREE_PURPOSE (declspec_stack);
2250 declspec_stack = TREE_CHAIN (declspec_stack);
2251 resume_momentary (yyvsp[-5].itype); ;
2254 #line 320 "objc-parse.y"
2255 { current_declspecs = TREE_VALUE (declspec_stack);
2256 prefix_attributes = TREE_PURPOSE (declspec_stack);
2257 declspec_stack = TREE_CHAIN (declspec_stack);
2258 resume_momentary (yyvsp[-2].itype); ;
2261 #line 325 "objc-parse.y"
2262 { if (! start_function (current_declspecs, yyvsp[0].ttype,
2263 prefix_attributes, NULL_TREE, 0))
2265 reinit_parse_for_function (); ;
2268 #line 330 "objc-parse.y"
2269 { store_parm_decls (); ;
2272 #line 332 "objc-parse.y"
2273 { finish_function (0);
2274 current_declspecs = TREE_VALUE (declspec_stack);
2275 prefix_attributes = TREE_PURPOSE (declspec_stack);
2276 declspec_stack = TREE_CHAIN (declspec_stack);
2277 resume_momentary (yyvsp[-5].itype); ;
2280 #line 338 "objc-parse.y"
2281 { current_declspecs = TREE_VALUE (declspec_stack);
2282 prefix_attributes = TREE_PURPOSE (declspec_stack);
2283 declspec_stack = TREE_CHAIN (declspec_stack);
2284 resume_momentary (yyvsp[-2].itype); ;
2287 #line 343 "objc-parse.y"
2288 { if (! start_function (NULL_TREE, yyvsp[0].ttype,
2289 prefix_attributes, NULL_TREE, 0))
2291 reinit_parse_for_function (); ;
2294 #line 348 "objc-parse.y"
2295 { store_parm_decls (); ;
2298 #line 350 "objc-parse.y"
2299 { finish_function (0);
2300 current_declspecs = TREE_VALUE (declspec_stack);
2301 prefix_attributes = TREE_PURPOSE (declspec_stack);
2302 declspec_stack = TREE_CHAIN (declspec_stack);
2303 resume_momentary (yyvsp[-5].itype); ;
2306 #line 356 "objc-parse.y"
2307 { current_declspecs = TREE_VALUE (declspec_stack);
2308 prefix_attributes = TREE_PURPOSE (declspec_stack);
2309 declspec_stack = TREE_CHAIN (declspec_stack);
2310 resume_momentary (yyvsp[-2].itype); ;
2313 #line 370 "objc-parse.y"
2314 { yyval.code = ADDR_EXPR; ;
2317 #line 372 "objc-parse.y"
2318 { yyval.code = NEGATE_EXPR; ;
2321 #line 374 "objc-parse.y"
2322 { yyval.code = CONVERT_EXPR; ;
2325 #line 376 "objc-parse.y"
2326 { yyval.code = PREINCREMENT_EXPR; ;
2329 #line 378 "objc-parse.y"
2330 { yyval.code = PREDECREMENT_EXPR; ;
2333 #line 380 "objc-parse.y"
2334 { yyval.code = BIT_NOT_EXPR; ;
2337 #line 382 "objc-parse.y"
2338 { yyval.code = TRUTH_NOT_EXPR; ;
2341 #line 386 "objc-parse.y"
2342 { yyval.ttype = build_compound_expr (yyvsp[0].ttype); ;
2345 #line 391 "objc-parse.y"
2346 { yyval.ttype = NULL_TREE; ;
2349 #line 397 "objc-parse.y"
2350 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
2353 #line 399 "objc-parse.y"
2354 { chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
2357 #line 405 "objc-parse.y"
2358 { yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ;
2361 #line 408 "objc-parse.y"
2362 { yyval.ttype = yyvsp[0].ttype;
2363 pedantic = yyvsp[-1].itype; ;
2366 #line 411 "objc-parse.y"
2367 { yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0);
2368 overflow_warning (yyval.ttype); ;
2371 #line 415 "objc-parse.y"
2372 { tree label = lookup_label (yyvsp[0].ttype);
2374 pedwarn ("ANSI C forbids `&&'");
2376 yyval.ttype = null_pointer_node;
2379 TREE_USED (label) = 1;
2380 yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
2381 TREE_CONSTANT (yyval.ttype) = 1;
2386 #line 443 "objc-parse.y"
2387 { skip_evaluation--;
2388 if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
2389 && DECL_C_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
2390 error ("`sizeof' applied to a bit-field");
2391 yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
2394 #line 449 "objc-parse.y"
2395 { skip_evaluation--;
2396 yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
2399 #line 452 "objc-parse.y"
2400 { skip_evaluation--;
2401 yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ;
2404 #line 455 "objc-parse.y"
2405 { skip_evaluation--;
2406 yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
2409 #line 458 "objc-parse.y"
2410 { yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ;
2413 #line 460 "objc-parse.y"
2414 { yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ;
2417 #line 464 "objc-parse.y"
2418 { skip_evaluation++; ;
2421 #line 468 "objc-parse.y"
2422 { skip_evaluation++; ;
2425 #line 474 "objc-parse.y"
2426 { tree type = groktypename (yyvsp[-2].ttype);
2427 yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
2430 #line 477 "objc-parse.y"
2431 { start_init (NULL_TREE, NULL, 0);
2432 yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype);
2433 really_start_incremental_init (yyvsp[-2].ttype); ;
2436 #line 481 "objc-parse.y"
2438 tree result = pop_init_level (0);
2439 tree type = yyvsp[-5].ttype;
2443 pedwarn ("ANSI C forbids constructor expressions");
2444 if (TYPE_NAME (type) != 0)
2446 if (TREE_CODE (TYPE_NAME (type)) == IDENTIFIER_NODE)
2447 name = IDENTIFIER_POINTER (TYPE_NAME (type));
2449 name = IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type)));
2453 yyval.ttype = result;
2454 if (TREE_CODE (type) == ARRAY_TYPE && TYPE_SIZE (type) == 0)
2456 int failure = complete_array_type (type, yyval.ttype, 1);
2463 #line 510 "objc-parse.y"
2464 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2467 #line 512 "objc-parse.y"
2468 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2471 #line 514 "objc-parse.y"
2472 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2475 #line 516 "objc-parse.y"
2476 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2479 #line 518 "objc-parse.y"
2480 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2483 #line 520 "objc-parse.y"
2484 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2487 #line 522 "objc-parse.y"
2488 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2491 #line 524 "objc-parse.y"
2492 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2495 #line 526 "objc-parse.y"
2496 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2499 #line 528 "objc-parse.y"
2500 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2503 #line 530 "objc-parse.y"
2504 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2507 #line 532 "objc-parse.y"
2508 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2511 #line 534 "objc-parse.y"
2512 { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
2513 skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
2516 #line 537 "objc-parse.y"
2517 { skip_evaluation -= yyvsp[-3].ttype == boolean_false_node;
2518 yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
2521 #line 540 "objc-parse.y"
2522 { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
2523 skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
2526 #line 543 "objc-parse.y"
2527 { skip_evaluation -= yyvsp[-3].ttype == boolean_true_node;
2528 yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
2531 #line 546 "objc-parse.y"
2532 { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
2533 skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
2536 #line 549 "objc-parse.y"
2537 { skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node)
2538 - (yyvsp[-4].ttype == boolean_false_node)); ;
2541 #line 552 "objc-parse.y"
2542 { skip_evaluation -= yyvsp[-6].ttype == boolean_true_node;
2543 yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
2546 #line 555 "objc-parse.y"
2548 pedwarn ("ANSI C forbids omitting the middle term of a ?: expression");
2549 /* Make sure first operand is calculated only once. */
2550 yyvsp[0].ttype = save_expr (yyvsp[-1].ttype);
2551 yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[0].ttype));
2552 skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
2555 #line 562 "objc-parse.y"
2556 { skip_evaluation -= yyvsp[-4].ttype == boolean_true_node;
2557 yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
2560 #line 565 "objc-parse.y"
2561 { yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype);
2562 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
2565 #line 568 "objc-parse.y"
2566 { yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype);
2567 /* This inhibits warnings in truthvalue_conversion. */
2568 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK); ;
2571 #line 575 "objc-parse.y"
2573 yyval.ttype = lastiddecl;
2574 if (!yyval.ttype || yyval.ttype == error_mark_node)
2576 if (yychar == YYEMPTY)
2582 if (objc_receiver_context
2583 && ! (objc_receiver_context
2584 && strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "super")))
2585 /* we have a message to super */
2586 yyval.ttype = get_super_receiver ();
2587 else if (objc_method_context
2588 && (decl = is_ivar (objc_ivar_chain, yyvsp[0].ttype)))
2590 if (is_private (decl))
2591 yyval.ttype = error_mark_node;
2593 yyval.ttype = build_ivar_reference (yyvsp[0].ttype);
2597 /* Ordinary implicit function declaration. */
2598 yyval.ttype = implicitly_declare (yyvsp[0].ttype);
2599 assemble_external (yyval.ttype);
2600 TREE_USED (yyval.ttype) = 1;
2603 else if (current_function_decl == 0)
2605 error ("`%s' undeclared here (not in a function)",
2606 IDENTIFIER_POINTER (yyvsp[0].ttype));
2607 yyval.ttype = error_mark_node;
2613 if (objc_receiver_context
2614 && ! strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "super"))
2615 /* we have a message to super */
2616 yyval.ttype = get_super_receiver ();
2617 else if (objc_method_context
2618 && (decl = is_ivar (objc_ivar_chain, yyvsp[0].ttype)))
2620 if (is_private (decl))
2621 yyval.ttype = error_mark_node;
2623 yyval.ttype = build_ivar_reference (yyvsp[0].ttype);
2627 if (IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) != error_mark_node
2628 || IDENTIFIER_ERROR_LOCUS (yyvsp[0].ttype) != current_function_decl)
2630 error ("`%s' undeclared (first use in this function)",
2631 IDENTIFIER_POINTER (yyvsp[0].ttype));
2633 if (! undeclared_variable_notice)
2635 error ("(Each undeclared identifier is reported only once");
2636 error ("for each function it appears in.)");
2637 undeclared_variable_notice = 1;
2640 yyval.ttype = error_mark_node;
2641 /* Prevent repeated error messages. */
2642 IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) = error_mark_node;
2643 IDENTIFIER_ERROR_LOCUS (yyvsp[0].ttype) = current_function_decl;
2647 else if (TREE_TYPE (yyval.ttype) == error_mark_node)
2648 yyval.ttype = error_mark_node;
2649 else if (C_DECL_ANTICIPATED (yyval.ttype))
2651 /* The first time we see a build-in function used,
2652 if it has not been declared. */
2653 C_DECL_ANTICIPATED (yyval.ttype) = 0;
2654 if (yychar == YYEMPTY)
2658 /* Omit the implicit declaration we
2659 would ordinarily do, so we don't lose
2660 the actual built in type.
2661 But print a diagnostic for the mismatch. */
2662 if (objc_method_context
2663 && is_ivar (objc_ivar_chain, yyvsp[0].ttype))
2664 error ("Instance variable `%s' implicitly declared as function",
2665 IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
2667 if (TREE_CODE (yyval.ttype) != FUNCTION_DECL)
2668 error ("`%s' implicitly declared as function",
2669 IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
2670 else if ((TYPE_MODE (TREE_TYPE (TREE_TYPE (yyval.ttype)))
2671 != TYPE_MODE (integer_type_node))
2672 && (TREE_TYPE (TREE_TYPE (yyval.ttype))
2674 pedwarn ("type mismatch in implicit declaration for built-in function `%s'",
2675 IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
2676 /* If it really returns void, change that to int. */
2677 if (TREE_TYPE (TREE_TYPE (yyval.ttype)) == void_type_node)
2678 TREE_TYPE (yyval.ttype)
2679 = build_function_type (integer_type_node,
2680 TYPE_ARG_TYPES (TREE_TYPE (yyval.ttype)));
2683 pedwarn ("built-in function `%s' used without declaration",
2684 IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
2686 /* Do what we would ordinarily do when a fn is used. */
2687 assemble_external (yyval.ttype);
2688 TREE_USED (yyval.ttype) = 1;
2692 assemble_external (yyval.ttype);
2693 TREE_USED (yyval.ttype) = 1;
2694 /* we have a definition - still check if iVariable */
2696 if (!objc_receiver_context
2697 || (objc_receiver_context
2698 && strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "super")))
2702 if (objc_method_context
2703 && (decl = is_ivar (objc_ivar_chain, yyvsp[0].ttype)))
2705 if (IDENTIFIER_LOCAL_VALUE (yyvsp[0].ttype))
2706 warning ("local declaration of `%s' hides instance variable",
2707 IDENTIFIER_POINTER (yyvsp[0].ttype));
2710 if (is_private (decl))
2711 yyval.ttype = error_mark_node;
2713 yyval.ttype = build_ivar_reference (yyvsp[0].ttype);
2717 else /* we have a message to super */
2718 yyval.ttype = get_super_receiver ();
2721 if (TREE_CODE (yyval.ttype) == CONST_DECL)
2723 yyval.ttype = DECL_INITIAL (yyval.ttype);
2724 /* This is to prevent an enum whose value is 0
2725 from being considered a null pointer constant. */
2726 yyval.ttype = build1 (NOP_EXPR, TREE_TYPE (yyval.ttype), yyval.ttype);
2727 TREE_CONSTANT (yyval.ttype) = 1;
2732 #line 735 "objc-parse.y"
2733 { yyval.ttype = combine_strings (yyvsp[0].ttype); ;
2736 #line 737 "objc-parse.y"
2737 { char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype));
2738 if (class == 'e' || class == '1'
2739 || class == '2' || class == '<')
2740 C_SET_EXP_ORIGINAL_CODE (yyvsp[-1].ttype, ERROR_MARK);
2741 yyval.ttype = yyvsp[-1].ttype; ;
2744 #line 743 "objc-parse.y"
2745 { yyval.ttype = error_mark_node; ;
2748 #line 745 "objc-parse.y"
2749 { if (current_function_decl == 0)
2751 error ("braced-group within expression allowed only inside a function");
2754 /* We must force a BLOCK for this level
2755 so that, if it is not expanded later,
2756 there is a way to turn off the entire subtree of blocks
2757 that are contained in it. */
2759 push_iterator_stack ();
2760 push_label_level ();
2761 yyval.ttype = expand_start_stmt_expr (); ;
2764 #line 759 "objc-parse.y"
2767 pedwarn ("ANSI C forbids braced-groups within expressions");
2768 pop_iterator_stack ();
2770 rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
2771 /* The statements have side effects, so the group does. */
2772 TREE_SIDE_EFFECTS (rtl_exp) = 1;
2774 if (TREE_CODE (yyvsp[-1].ttype) == BLOCK)
2776 /* Make a BIND_EXPR for the BLOCK already made. */
2777 yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
2778 NULL_TREE, rtl_exp, yyvsp[-1].ttype);
2779 /* Remove the block from the tree at this point.
2780 It gets put back at the proper place
2781 when the BIND_EXPR is expanded. */
2782 delete_block (yyvsp[-1].ttype);
2785 yyval.ttype = yyvsp[-1].ttype;
2789 #line 782 "objc-parse.y"
2790 { yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
2793 #line 784 "objc-parse.y"
2794 { yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
2797 #line 786 "objc-parse.y"
2799 if (doing_objc_thang)
2801 if (is_public (yyvsp[-2].ttype, yyvsp[0].ttype))
2802 yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype);
2804 yyval.ttype = error_mark_node;
2807 yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype);
2811 #line 798 "objc-parse.y"
2813 tree expr = build_indirect_ref (yyvsp[-2].ttype, "->");
2815 if (doing_objc_thang)
2817 if (is_public (expr, yyvsp[0].ttype))
2818 yyval.ttype = build_component_ref (expr, yyvsp[0].ttype);
2820 yyval.ttype = error_mark_node;
2823 yyval.ttype = build_component_ref (expr, yyvsp[0].ttype);
2827 #line 812 "objc-parse.y"
2828 { yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;
2831 #line 814 "objc-parse.y"
2832 { yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;
2835 #line 816 "objc-parse.y"
2836 { yyval.ttype = build_message_expr (yyvsp[0].ttype); ;
2839 #line 818 "objc-parse.y"
2840 { yyval.ttype = build_selector_expr (yyvsp[0].ttype); ;
2843 #line 820 "objc-parse.y"
2844 { yyval.ttype = build_protocol_expr (yyvsp[0].ttype); ;
2847 #line 822 "objc-parse.y"
2848 { yyval.ttype = build_encode_expr (yyvsp[0].ttype); ;
2851 #line 824 "objc-parse.y"
2852 { yyval.ttype = build_objc_string_object (yyvsp[0].ttype); ;
2855 #line 831 "objc-parse.y"
2856 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
2859 #line 839 "objc-parse.y"
2860 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
2863 #line 847 "objc-parse.y"
2864 { c_mark_varargs ();
2866 pedwarn ("ANSI C does not permit use of `varargs.h'"); ;
2869 #line 857 "objc-parse.y"
2873 #line 873 "objc-parse.y"
2874 { current_declspecs = TREE_VALUE (declspec_stack);
2875 prefix_attributes = TREE_PURPOSE (declspec_stack);
2876 declspec_stack = TREE_CHAIN (declspec_stack);
2877 resume_momentary (yyvsp[-2].itype); ;
2880 #line 878 "objc-parse.y"
2881 { current_declspecs = TREE_VALUE (declspec_stack);
2882 prefix_attributes = TREE_PURPOSE (declspec_stack);
2883 declspec_stack = TREE_CHAIN (declspec_stack);
2884 resume_momentary (yyvsp[-2].itype); ;
2887 #line 883 "objc-parse.y"
2888 { shadow_tag_warned (yyvsp[-1].ttype, 1);
2889 pedwarn ("empty declaration"); ;
2892 #line 886 "objc-parse.y"
2893 { pedwarn ("empty declaration"); ;
2896 #line 895 "objc-parse.y"
2900 #line 910 "objc-parse.y"
2901 { yyval.itype = suspend_momentary ();
2902 pending_xref_error ();
2903 declspec_stack = tree_cons (prefix_attributes,
2906 split_specs_attrs (yyvsp[0].ttype,
2907 ¤t_declspecs, &prefix_attributes); ;
2910 #line 921 "objc-parse.y"
2911 { prefix_attributes = chainon (prefix_attributes, yyvsp[0].ttype); ;
2914 #line 926 "objc-parse.y"
2915 { current_declspecs = TREE_VALUE (declspec_stack);
2916 prefix_attributes = TREE_PURPOSE (declspec_stack);
2917 declspec_stack = TREE_CHAIN (declspec_stack);
2918 resume_momentary (yyvsp[-2].itype); ;
2921 #line 931 "objc-parse.y"
2922 { current_declspecs = TREE_VALUE (declspec_stack);
2923 prefix_attributes = TREE_PURPOSE (declspec_stack);
2924 declspec_stack = TREE_CHAIN (declspec_stack);
2925 resume_momentary (yyvsp[-2].itype); ;
2928 #line 936 "objc-parse.y"
2929 { current_declspecs = TREE_VALUE (declspec_stack);
2930 prefix_attributes = TREE_PURPOSE (declspec_stack);
2931 declspec_stack = TREE_CHAIN (declspec_stack);
2932 resume_momentary (yyvsp[-1].itype); ;
2935 #line 941 "objc-parse.y"
2936 { current_declspecs = TREE_VALUE (declspec_stack);
2937 prefix_attributes = TREE_PURPOSE (declspec_stack);
2938 declspec_stack = TREE_CHAIN (declspec_stack);
2939 resume_momentary (yyvsp[-1].itype); ;
2942 #line 946 "objc-parse.y"
2943 { shadow_tag (yyvsp[-1].ttype); ;
2946 #line 948 "objc-parse.y"
2947 { pedwarn ("empty declaration"); ;
2950 #line 950 "objc-parse.y"
2951 { pedantic = yyvsp[-1].itype; ;
2954 #line 960 "objc-parse.y"
2955 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
2958 #line 962 "objc-parse.y"
2959 { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
2962 #line 966 "objc-parse.y"
2963 { yyval.ttype = NULL_TREE; ;
2966 #line 968 "objc-parse.y"
2967 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
2970 #line 970 "objc-parse.y"
2971 { if (extra_warnings)
2972 warning ("`%s' is not at beginning of declaration",
2973 IDENTIFIER_POINTER (yyvsp[0].ttype));
2974 yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
2977 #line 975 "objc-parse.y"
2978 { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
2981 #line 980 "objc-parse.y"
2982 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
2985 #line 982 "objc-parse.y"
2986 { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
2989 #line 987 "objc-parse.y"
2990 { yyval.ttype = NULL_TREE; ;
2993 #line 989 "objc-parse.y"
2994 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
2997 #line 991 "objc-parse.y"
2998 { if (extra_warnings)
2999 warning ("`%s' is not at beginning of declaration",
3000 IDENTIFIER_POINTER (yyvsp[0].ttype));
3001 yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
3004 #line 1004 "objc-parse.y"
3005 { yyval.ttype = yyvsp[0].ttype; ;
3008 #line 1006 "objc-parse.y"
3009 { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
3012 #line 1008 "objc-parse.y"
3013 { yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-1].ttype); ;
3016 #line 1010 "objc-parse.y"
3017 { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
3020 #line 1015 "objc-parse.y"
3021 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
3022 TREE_STATIC (yyval.ttype) = 1; ;
3025 #line 1018 "objc-parse.y"
3026 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
3029 #line 1020 "objc-parse.y"
3030 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
3031 TREE_STATIC (yyval.ttype) = 1; ;
3034 #line 1023 "objc-parse.y"
3035 { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
3036 warning ("`%s' is not at beginning of declaration",
3037 IDENTIFIER_POINTER (yyvsp[0].ttype));
3038 yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
3039 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
3042 #line 1037 "objc-parse.y"
3043 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
3046 #line 1039 "objc-parse.y"
3047 { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
3050 #line 1043 "objc-parse.y"
3051 { yyval.ttype = NULL_TREE; ;
3054 #line 1045 "objc-parse.y"
3055 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
3058 #line 1055 "objc-parse.y"
3059 { /* For a typedef name, record the meaning, not the name.
3060 In case of `foo foo, bar;'. */
3061 yyval.ttype = lookup_name (yyvsp[0].ttype); ;
3064 #line 1059 "objc-parse.y"
3065 { yyval.ttype = get_static_reference (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3068 #line 1061 "objc-parse.y"
3069 { yyval.ttype = get_object_reference (yyvsp[0].ttype); ;
3072 #line 1066 "objc-parse.y"
3073 { yyval.ttype = get_object_reference (yyvsp[0].ttype); ;
3076 #line 1068 "objc-parse.y"
3077 { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ;
3080 #line 1070 "objc-parse.y"
3081 { yyval.ttype = groktypename (yyvsp[-1].ttype); ;
3084 #line 1092 "objc-parse.y"
3085 { yyval.ttype = NULL_TREE; ;
3088 #line 1094 "objc-parse.y"
3089 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
3090 yyval.ttype = yyvsp[-1].ttype;
3094 #line 1101 "objc-parse.y"
3095 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
3096 yyvsp[-1].ttype, prefix_attributes);
3097 start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
3100 #line 1106 "objc-parse.y"
3102 finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
3105 #line 1109 "objc-parse.y"
3106 { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
3107 yyvsp[0].ttype, prefix_attributes);
3108 finish_decl (d, NULL_TREE, yyvsp[-1].ttype);
3112 #line 1117 "objc-parse.y"
3113 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
3114 yyvsp[-1].ttype, prefix_attributes);
3115 start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
3118 #line 1122 "objc-parse.y"
3120 decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype, prefix_attributes);
3121 finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
3124 #line 1126 "objc-parse.y"
3125 { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
3126 yyvsp[0].ttype, prefix_attributes);
3127 finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
3130 #line 1134 "objc-parse.y"
3131 { yyval.ttype = NULL_TREE; ;
3134 #line 1136 "objc-parse.y"
3135 { yyval.ttype = yyvsp[0].ttype; ;
3138 #line 1141 "objc-parse.y"
3139 { yyval.ttype = yyvsp[0].ttype; ;
3142 #line 1143 "objc-parse.y"
3143 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3146 #line 1148 "objc-parse.y"
3147 { yyval.ttype = yyvsp[-2].ttype; ;
3150 #line 1153 "objc-parse.y"
3151 { yyval.ttype = yyvsp[0].ttype; ;
3154 #line 1155 "objc-parse.y"
3155 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
3158 #line 1160 "objc-parse.y"
3159 { yyval.ttype = NULL_TREE; ;
3162 #line 1162 "objc-parse.y"
3163 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
3166 #line 1164 "objc-parse.y"
3167 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
3170 #line 1166 "objc-parse.y"
3171 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
3174 #line 1168 "objc-parse.y"
3175 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
3178 #line 1186 "objc-parse.y"
3179 { really_start_incremental_init (NULL_TREE);
3180 /* Note that the call to clear_momentary
3181 is in process_init_element. */
3182 push_momentary (); ;
3185 #line 1191 "objc-parse.y"
3186 { yyval.ttype = pop_init_level (0);
3187 if (yyval.ttype == error_mark_node
3188 && ! (yychar == STRING || yychar == CONSTANT))
3191 pop_momentary_nofree (); ;
3194 #line 1199 "objc-parse.y"
3195 { yyval.ttype = error_mark_node; ;
3198 #line 1205 "objc-parse.y"
3200 pedwarn ("ANSI C forbids empty initializer braces"); ;
3203 #line 1219 "objc-parse.y"
3204 { process_init_element (yyvsp[0].ttype); ;
3207 #line 1221 "objc-parse.y"
3208 { push_init_level (0); ;
3211 #line 1223 "objc-parse.y"
3212 { process_init_element (pop_init_level (0)); ;
3215 #line 1229 "objc-parse.y"
3216 { set_init_label (yyvsp[-1].ttype); ;
3219 #line 1232 "objc-parse.y"
3220 { set_init_label (yyvsp[-1].ttype); ;
3223 #line 1238 "objc-parse.y"
3224 { push_c_function_context ();
3225 if (! start_function (current_declspecs, yyvsp[0].ttype,
3226 prefix_attributes, NULL_TREE, 1))
3228 pop_c_function_context ();
3231 reinit_parse_for_function (); ;
3234 #line 1247 "objc-parse.y"
3235 { store_parm_decls (); ;
3238 #line 1255 "objc-parse.y"
3239 { finish_function (1);
3240 pop_c_function_context (); ;
3243 #line 1261 "objc-parse.y"
3244 { push_c_function_context ();
3245 if (! start_function (current_declspecs, yyvsp[0].ttype,
3246 prefix_attributes, NULL_TREE, 1))
3248 pop_c_function_context ();
3251 reinit_parse_for_function (); ;
3254 #line 1270 "objc-parse.y"
3255 { store_parm_decls (); ;
3258 #line 1278 "objc-parse.y"
3259 { finish_function (1);
3260 pop_c_function_context (); ;
3263 #line 1294 "objc-parse.y"
3264 { yyval.ttype = yyvsp[-1].ttype; ;
3267 #line 1296 "objc-parse.y"
3268 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
3271 #line 1301 "objc-parse.y"
3272 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
3275 #line 1303 "objc-parse.y"
3276 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
3279 #line 1305 "objc-parse.y"
3280 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3283 #line 1312 "objc-parse.y"
3284 { yyval.ttype = yyvsp[0].ttype; ;
3287 #line 1324 "objc-parse.y"
3288 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
3291 #line 1329 "objc-parse.y"
3292 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
3295 #line 1331 "objc-parse.y"
3296 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
3299 #line 1333 "objc-parse.y"
3300 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3303 #line 1340 "objc-parse.y"
3304 { yyval.ttype = yyvsp[0].ttype; ;
3307 #line 1349 "objc-parse.y"
3308 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
3311 #line 1354 "objc-parse.y"
3312 { yyval.ttype = yyvsp[-1].ttype; ;
3315 #line 1356 "objc-parse.y"
3316 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3319 #line 1358 "objc-parse.y"
3320 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
3323 #line 1360 "objc-parse.y"
3324 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
3327 #line 1367 "objc-parse.y"
3328 { yyval.ttype = yyvsp[0].ttype; ;
3331 #line 1373 "objc-parse.y"
3332 { yyval.ttype = NULL_TREE; ;
3335 #line 1375 "objc-parse.y"
3336 { yyval.ttype = yyvsp[0].ttype; ;
3339 #line 1380 "objc-parse.y"
3340 { yyval.ttype = NULL_TREE; ;
3343 #line 1382 "objc-parse.y"
3344 { yyval.ttype = yyvsp[0].ttype; ;
3347 #line 1387 "objc-parse.y"
3348 { yyval.ttype = NULL_TREE; ;
3351 #line 1389 "objc-parse.y"
3352 { yyval.ttype = yyvsp[0].ttype; ;
3355 #line 1394 "objc-parse.y"
3356 { yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
3357 /* Start scope of tag before parsing components. */
3361 #line 1398 "objc-parse.y"
3362 { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
3365 #line 1400 "objc-parse.y"
3366 { yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
3367 yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
3371 #line 1404 "objc-parse.y"
3372 { yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;
3375 #line 1406 "objc-parse.y"
3376 { yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;
3379 #line 1408 "objc-parse.y"
3380 { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
3383 #line 1410 "objc-parse.y"
3384 { yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
3385 yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
3389 #line 1414 "objc-parse.y"
3390 { yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;
3393 #line 1416 "objc-parse.y"
3394 { yyvsp[0].itype = suspend_momentary ();
3395 yyval.ttype = start_enum (yyvsp[-1].ttype); ;
3398 #line 1419 "objc-parse.y"
3399 { yyval.ttype= finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), chainon (yyvsp[-7].ttype, yyvsp[0].ttype));
3400 resume_momentary (yyvsp[-5].itype); ;
3403 #line 1422 "objc-parse.y"
3404 { yyvsp[0].itype = suspend_momentary ();
3405 yyval.ttype = start_enum (NULL_TREE); ;
3408 #line 1425 "objc-parse.y"
3409 { yyval.ttype= finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), chainon (yyvsp[-6].ttype, yyvsp[0].ttype));
3410 resume_momentary (yyvsp[-5].itype); ;
3413 #line 1428 "objc-parse.y"
3414 { yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ;
3417 #line 1439 "objc-parse.y"
3418 { if (pedantic) pedwarn ("comma at end of enumerator list"); ;
3421 #line 1444 "objc-parse.y"
3422 { yyval.ttype = yyvsp[0].ttype; ;
3425 #line 1446 "objc-parse.y"
3426 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
3427 pedwarn ("no semicolon at end of struct or union"); ;
3430 #line 1451 "objc-parse.y"
3431 { yyval.ttype = NULL_TREE; ;
3434 #line 1453 "objc-parse.y"
3435 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
3438 #line 1455 "objc-parse.y"
3440 pedwarn ("extra semicolon in struct or union specified"); ;
3443 #line 1459 "objc-parse.y"
3445 tree interface = lookup_interface (yyvsp[-1].ttype);
3448 yyval.ttype = get_class_ivars (interface);
3451 error ("Cannot find interface declaration for `%s'",
3452 IDENTIFIER_POINTER (yyvsp[-1].ttype));
3453 yyval.ttype = NULL_TREE;
3458 #line 1484 "objc-parse.y"
3459 { yyval.ttype = yyvsp[0].ttype;
3460 current_declspecs = TREE_VALUE (declspec_stack);
3461 prefix_attributes = TREE_PURPOSE (declspec_stack);
3462 declspec_stack = TREE_CHAIN (declspec_stack);
3463 resume_momentary (yyvsp[-1].itype); ;
3466 #line 1490 "objc-parse.y"
3468 pedwarn ("ANSI C forbids member declarations with no members");
3469 shadow_tag(yyvsp[0].ttype);
3470 yyval.ttype = NULL_TREE; ;
3473 #line 1495 "objc-parse.y"
3474 { yyval.ttype = yyvsp[0].ttype;
3475 current_declspecs = TREE_VALUE (declspec_stack);
3476 prefix_attributes = TREE_PURPOSE (declspec_stack);
3477 declspec_stack = TREE_CHAIN (declspec_stack);
3478 resume_momentary (yyvsp[-1].itype); ;
3481 #line 1501 "objc-parse.y"
3483 pedwarn ("ANSI C forbids member declarations with no members");
3484 shadow_tag(yyvsp[0].ttype);
3485 yyval.ttype = NULL_TREE; ;
3488 #line 1506 "objc-parse.y"
3489 { yyval.ttype = NULL_TREE; ;
3492 #line 1508 "objc-parse.y"
3493 { yyval.ttype = yyvsp[0].ttype;
3494 pedantic = yyvsp[-1].itype; ;
3497 #line 1515 "objc-parse.y"
3498 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
3501 #line 1520 "objc-parse.y"
3502 { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE);
3503 decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
3506 #line 1524 "objc-parse.y"
3507 { yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype);
3508 decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
3511 #line 1527 "objc-parse.y"
3512 { yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype);
3513 decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
3516 #line 1539 "objc-parse.y"
3517 { if (yyvsp[-2].ttype == error_mark_node)
3518 yyval.ttype = yyvsp[-2].ttype;
3520 yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ;
3523 #line 1544 "objc-parse.y"
3524 { yyval.ttype = error_mark_node; ;
3527 #line 1550 "objc-parse.y"
3528 { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;
3531 #line 1552 "objc-parse.y"
3532 { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;
3535 #line 1557 "objc-parse.y"
3536 { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3539 #line 1559 "objc-parse.y"
3540 { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3543 #line 1564 "objc-parse.y"
3544 { yyval.ttype = NULL_TREE; ;
3547 #line 1570 "objc-parse.y"
3548 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
3551 #line 1572 "objc-parse.y"
3552 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
3555 #line 1577 "objc-parse.y"
3556 { yyval.ttype = NULL_TREE; ;
3559 #line 1579 "objc-parse.y"
3560 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
3563 #line 1584 "objc-parse.y"
3564 { yyval.ttype = yyvsp[-1].ttype; ;
3567 #line 1587 "objc-parse.y"
3568 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3571 #line 1589 "objc-parse.y"
3572 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
3575 #line 1591 "objc-parse.y"
3576 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
3579 #line 1593 "objc-parse.y"
3580 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
3583 #line 1595 "objc-parse.y"
3584 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
3587 #line 1597 "objc-parse.y"
3588 { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
3591 #line 1599 "objc-parse.y"
3592 { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
3595 #line 1601 "objc-parse.y"
3596 { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ;
3599 #line 1612 "objc-parse.y"
3601 if (pedantic && yyvsp[0].ends_in_label)
3602 pedwarn ("ANSI C forbids label at end of compound statement");
3606 #line 1621 "objc-parse.y"
3607 { yyval.ends_in_label = yyvsp[0].ends_in_label; ;
3610 #line 1623 "objc-parse.y"
3611 { yyval.ends_in_label = 0; ;
3614 #line 1635 "objc-parse.y"
3615 { emit_line_note (input_filename, lineno);
3619 expand_start_bindings (0);
3620 if (objc_method_context)
3625 #line 1650 "objc-parse.y"
3627 pedwarn ("ANSI C forbids label declarations"); ;
3630 #line 1661 "objc-parse.y"
3632 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
3634 tree label = shadow_label (TREE_VALUE (link));
3635 C_DECLARED_LABEL_FLAG (label) = 1;
3636 declare_nonlocal_label (label);
3641 #line 1675 "objc-parse.y"
3645 #line 1679 "objc-parse.y"
3646 { compstmt_count++; ;
3649 #line 1682 "objc-parse.y"
3650 { yyval.ttype = convert (void_type_node, integer_zero_node); ;
3653 #line 1684 "objc-parse.y"
3654 { emit_line_note (input_filename, lineno);
3655 expand_end_bindings (getdecls (), 1, 0);
3656 yyval.ttype = poplevel (1, 1, 0);
3657 if (yychar == CONSTANT || yychar == STRING)
3658 pop_momentary_nofree ();
3663 #line 1692 "objc-parse.y"
3664 { emit_line_note (input_filename, lineno);
3665 expand_end_bindings (getdecls (), kept_level_p (), 0);
3666 yyval.ttype = poplevel (kept_level_p (), 0, 0);
3667 if (yychar == CONSTANT || yychar == STRING)
3668 pop_momentary_nofree ();
3673 #line 1700 "objc-parse.y"
3674 { emit_line_note (input_filename, lineno);
3675 expand_end_bindings (getdecls (), kept_level_p (), 0);
3676 yyval.ttype = poplevel (kept_level_p (), 0, 0);
3677 if (yychar == CONSTANT || yychar == STRING)
3678 pop_momentary_nofree ();
3683 #line 1720 "objc-parse.y"
3684 { emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
3685 c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0,
3687 yyval.itype = stmt_count;
3688 if_stmt_file = yyvsp[-5].filename;
3689 if_stmt_line = yyvsp[-4].lineno;
3690 position_after_white_space (); ;
3693 #line 1734 "objc-parse.y"
3696 emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
3697 /* See comment in `while' alternative, above. */
3699 expand_start_loop_continue_elsewhere (1);
3700 position_after_white_space (); ;
3703 #line 1742 "objc-parse.y"
3704 { expand_loop_continue_here (); ;
3707 #line 1746 "objc-parse.y"
3708 { yyval.filename = input_filename; ;
3711 #line 1750 "objc-parse.y"
3712 { yyval.lineno = lineno; ;
3715 #line 1755 "objc-parse.y"
3719 #line 1760 "objc-parse.y"
3723 #line 1765 "objc-parse.y"
3724 { yyval.ends_in_label = yyvsp[0].ends_in_label; ;
3727 #line 1770 "objc-parse.y"
3728 { yyval.ends_in_label = 0; ;
3731 #line 1772 "objc-parse.y"
3732 { yyval.ends_in_label = 1; ;
3735 #line 1778 "objc-parse.y"
3739 #line 1781 "objc-parse.y"
3741 emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
3742 /* It appears that this should not be done--that a non-lvalue array
3743 shouldn't get an error if the value isn't used.
3744 Section 3.2.2.1 says that an array lvalue gets converted to a pointer
3745 if it appears as a top-level expression,
3746 but says nothing about non-lvalue arrays. */
3748 /* Call default_conversion to get an error
3749 on referring to a register array if pedantic. */
3750 if (TREE_CODE (TREE_TYPE (yyvsp[-1].ttype)) == ARRAY_TYPE
3751 || TREE_CODE (TREE_TYPE (yyvsp[-1].ttype)) == FUNCTION_TYPE)
3752 yyvsp[-1].ttype = default_conversion (yyvsp[-1].ttype);
3754 iterator_expand (yyvsp[-1].ttype);
3755 clear_momentary (); ;
3758 #line 1798 "objc-parse.y"
3759 { c_expand_start_else ();
3760 yyvsp[-1].itype = stmt_count;
3761 position_after_white_space (); ;
3764 #line 1802 "objc-parse.y"
3765 { c_expand_end_cond ();
3766 if (extra_warnings && stmt_count == yyvsp[-3].itype)
3767 warning ("empty body in an else-statement"); ;
3770 #line 1806 "objc-parse.y"
3771 { c_expand_end_cond ();
3772 /* This warning is here instead of in simple_if, because we
3773 do not want a warning if an empty if is followed by an
3774 else statement. Increment stmt_count so we don't
3775 give a second error if this is a nested `if'. */
3776 if (extra_warnings && stmt_count++ == yyvsp[0].itype)
3777 warning_with_file_and_line (if_stmt_file, if_stmt_line,
3778 "empty body in an if-statement"); ;
3781 #line 1818 "objc-parse.y"
3782 { c_expand_end_cond (); ;
3785 #line 1820 "objc-parse.y"
3787 emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
3788 /* The emit_nop used to come before emit_line_note,
3789 but that made the nop seem like part of the preceding line.
3790 And that was confusing when the preceding line was
3791 inside of an if statement and was not really executed.
3792 I think it ought to work to put the nop after the line number.
3793 We will see. --rms, July 15, 1991. */
3797 #line 1830 "objc-parse.y"
3798 { /* Don't start the loop till we have succeeded
3799 in parsing the end test. This is to make sure
3800 that we end every loop we start. */
3801 expand_start_loop (1);
3802 emit_line_note (input_filename, lineno);
3803 expand_exit_loop_if_false (NULL_PTR,
3804 truthvalue_conversion (yyvsp[-1].ttype));
3805 position_after_white_space (); ;
3808 #line 1839 "objc-parse.y"
3809 { expand_end_loop (); ;
3812 #line 1842 "objc-parse.y"
3813 { emit_line_note (input_filename, lineno);
3814 expand_exit_loop_if_false (NULL_PTR,
3815 truthvalue_conversion (yyvsp[-2].ttype));
3817 clear_momentary (); ;
3820 #line 1849 "objc-parse.y"
3821 { expand_end_loop ();
3822 clear_momentary (); ;
3825 #line 1853 "objc-parse.y"
3827 emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
3828 /* See comment in `while' alternative, above. */
3830 if (yyvsp[-1].ttype) c_expand_expr_stmt (yyvsp[-1].ttype);
3831 /* Next step is to call expand_start_loop_continue_elsewhere,
3832 but wait till after we parse the entire for (...).
3833 Otherwise, invalid input might cause us to call that
3834 fn without calling expand_end_loop. */
3838 #line 1865 "objc-parse.y"
3839 { yyvsp[0].lineno = lineno;
3840 yyval.filename = input_filename; ;
3843 #line 1868 "objc-parse.y"
3845 /* Start the loop. Doing this after parsing
3846 all the expressions ensures we will end the loop. */
3847 expand_start_loop_continue_elsewhere (1);
3848 /* Emit the end-test, with a line number. */
3849 emit_line_note (yyvsp[-2].filename, yyvsp[-3].lineno);
3850 if (yyvsp[-4].ttype)
3851 expand_exit_loop_if_false (NULL_PTR,
3852 truthvalue_conversion (yyvsp[-4].ttype));
3853 /* Don't let the tree nodes for $9 be discarded by
3854 clear_momentary during the parsing of the next stmt. */
3856 yyvsp[-3].lineno = lineno;
3857 yyvsp[-2].filename = input_filename;
3858 position_after_white_space (); ;
3861 #line 1884 "objc-parse.y"
3862 { /* Emit the increment expression, with a line number. */
3863 emit_line_note (yyvsp[-4].filename, yyvsp[-5].lineno);
3864 expand_loop_continue_here ();
3865 if (yyvsp[-3].ttype)
3866 c_expand_expr_stmt (yyvsp[-3].ttype);
3867 if (yychar == CONSTANT || yychar == STRING)
3868 pop_momentary_nofree ();
3871 expand_end_loop (); ;
3874 #line 1895 "objc-parse.y"
3876 emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
3877 c_expand_start_case (yyvsp[-1].ttype);
3878 /* Don't let the tree nodes for $3 be discarded by
3879 clear_momentary during the parsing of the next stmt. */
3881 position_after_white_space (); ;
3884 #line 1903 "objc-parse.y"
3885 { expand_end_case (yyvsp[-3].ttype);
3886 if (yychar == CONSTANT || yychar == STRING)
3887 pop_momentary_nofree ();
3892 #line 1909 "objc-parse.y"
3894 emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
3895 if ( ! expand_exit_something ())
3896 error ("break statement not within loop or switch"); ;
3899 #line 1914 "objc-parse.y"
3901 emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
3902 if (! expand_continue_loop (NULL_PTR))
3903 error ("continue statement not within a loop"); ;
3906 #line 1919 "objc-parse.y"
3908 emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
3909 c_expand_return (NULL_TREE); ;
3912 #line 1923 "objc-parse.y"
3914 emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
3915 c_expand_return (yyvsp[-1].ttype); ;
3918 #line 1927 "objc-parse.y"
3920 emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno);
3921 STRIP_NOPS (yyvsp[-2].ttype);
3922 if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
3923 && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
3924 || TREE_CODE (yyvsp[-2].ttype) == STRING_CST)
3925 expand_asm (yyvsp[-2].ttype);
3927 error ("argument of `asm' is not a constant string"); ;
3930 #line 1938 "objc-parse.y"
3932 emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno);
3933 c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
3934 yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
3935 input_filename, lineno); ;
3938 #line 1945 "objc-parse.y"
3940 emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno);
3941 c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
3942 yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
3943 input_filename, lineno); ;
3946 #line 1953 "objc-parse.y"
3948 emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno);
3949 c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
3950 yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
3951 input_filename, lineno); ;
3954 #line 1959 "objc-parse.y"
3957 emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
3958 decl = lookup_label (yyvsp[-1].ttype);
3961 TREE_USED (decl) = 1;
3967 #line 1970 "objc-parse.y"
3969 pedwarn ("ANSI C forbids `goto *expr;'");
3971 emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
3972 expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ;
3975 #line 1985 "objc-parse.y"
3977 /* The value returned by this action is */
3978 /* 1 if everything is OK */
3979 /* 0 in case of error or already bound iterator */
3982 if (TREE_CODE (yyvsp[-1].ttype) != VAR_DECL)
3983 error ("invalid `for (ITERATOR)' syntax");
3984 else if (! ITERATOR_P (yyvsp[-1].ttype))
3985 error ("`%s' is not an iterator",
3986 IDENTIFIER_POINTER (DECL_NAME (yyvsp[-1].ttype)));
3987 else if (ITERATOR_BOUND_P (yyvsp[-1].ttype))
3988 error ("`for (%s)' inside expansion of same iterator",
3989 IDENTIFIER_POINTER (DECL_NAME (yyvsp[-1].ttype)));
3993 iterator_for_loop_start (yyvsp[-1].ttype);
3998 #line 2006 "objc-parse.y"
4000 if (yyvsp[-1].itype)
4001 iterator_for_loop_end (yyvsp[-3].ttype);
4005 #line 2041 "objc-parse.y"
4006 { register tree value = check_case_value (yyvsp[-1].ttype);
4008 = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
4012 if (value != error_mark_node)
4017 if (pedantic && ! INTEGRAL_TYPE_P (TREE_TYPE (value)))
4018 pedwarn ("label must have integral type in ANSI C");
4020 success = pushcase (value, convert_and_check,
4024 error ("case label not within a switch statement");
4025 else if (success == 2)
4027 error ("duplicate case value");
4028 error_with_decl (duplicate, "this is the first entry for that value");
4030 else if (success == 3)
4031 warning ("case value out of range");
4032 else if (success == 5)
4033 error ("case label within scope of cleanup or variable array");
4035 position_after_white_space (); ;
4038 #line 2072 "objc-parse.y"
4039 { register tree value1 = check_case_value (yyvsp[-3].ttype);
4040 register tree value2 = check_case_value (yyvsp[-1].ttype);
4042 = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
4045 pedwarn ("ANSI C forbids case ranges");
4048 if (value1 != error_mark_node && value2 != error_mark_node)
4051 int success = pushcase_range (value1, value2,
4052 convert_and_check, label,
4055 error ("case label not within a switch statement");
4056 else if (success == 2)
4058 error ("duplicate case value");
4059 error_with_decl (duplicate, "this is the first entry for that value");
4061 else if (success == 3)
4062 warning ("case value out of range");
4063 else if (success == 4)
4064 warning ("empty case range");
4065 else if (success == 5)
4066 error ("case label within scope of cleanup or variable array");
4068 position_after_white_space (); ;
4071 #line 2103 "objc-parse.y"
4075 = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
4076 int success = pushcase (NULL_TREE, 0, label, &duplicate);
4079 error ("default label not within a switch statement");
4080 else if (success == 2)
4082 error ("multiple default labels in one switch");
4083 error_with_decl (duplicate, "this is the first default label");
4085 position_after_white_space (); ;
4088 #line 2118 "objc-parse.y"
4089 { tree label = define_label (input_filename, lineno, yyvsp[-1].ttype);
4093 expand_label (label);
4094 position_after_white_space (); ;
4097 #line 2130 "objc-parse.y"
4098 { emit_line_note (input_filename, lineno);
4099 yyval.ttype = NULL_TREE; ;
4102 #line 2133 "objc-parse.y"
4103 { emit_line_note (input_filename, lineno); ;
4106 #line 2138 "objc-parse.y"
4107 { yyval.ttype = NULL_TREE; ;
4110 #line 2145 "objc-parse.y"
4111 { yyval.ttype = NULL_TREE; ;
4114 #line 2152 "objc-parse.y"
4115 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4118 #line 2157 "objc-parse.y"
4119 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4122 #line 2162 "objc-parse.y"
4123 { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;
4126 #line 2164 "objc-parse.y"
4127 { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
4130 #line 2170 "objc-parse.y"
4132 clear_parm_order ();
4133 declare_parm_level (0); ;
4136 #line 2174 "objc-parse.y"
4137 { yyval.ttype = yyvsp[0].ttype;
4138 parmlist_tags_warning ();
4139 poplevel (0, 0, 0); ;
4142 #line 2182 "objc-parse.y"
4145 pedwarn ("ANSI C forbids forward parameter declarations");
4146 /* Mark the forward decls as such. */
4147 for (parm = getdecls (); parm; parm = TREE_CHAIN (parm))
4148 TREE_ASM_WRITTEN (parm) = 1;
4149 clear_parm_order (); ;
4152 #line 2190 "objc-parse.y"
4153 { yyval.ttype = yyvsp[0].ttype; ;
4156 #line 2192 "objc-parse.y"
4157 { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
4160 #line 2198 "objc-parse.y"
4161 { yyval.ttype = get_parm_info (0); ;
4164 #line 2200 "objc-parse.y"
4165 { yyval.ttype = get_parm_info (0);
4166 /* Gcc used to allow this as an extension. However, it does
4167 not work for all targets, and thus has been disabled.
4168 Also, since func (...) and func () are indistinguishable,
4169 it caused problems with the code in expand_builtin which
4170 tries to verify that BUILT_IN_NEXT_ARG is being used
4172 error ("ANSI C requires a named argument before `...'");
4176 #line 2210 "objc-parse.y"
4177 { yyval.ttype = get_parm_info (1); ;
4180 #line 2212 "objc-parse.y"
4181 { yyval.ttype = get_parm_info (0); ;
4184 #line 2217 "objc-parse.y"
4185 { push_parm_decl (yyvsp[0].ttype); ;
4188 #line 2219 "objc-parse.y"
4189 { push_parm_decl (yyvsp[0].ttype); ;
4192 #line 2226 "objc-parse.y"
4193 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
4195 build_tree_list (prefix_attributes,
4197 current_declspecs = TREE_VALUE (declspec_stack);
4198 prefix_attributes = TREE_PURPOSE (declspec_stack);
4199 declspec_stack = TREE_CHAIN (declspec_stack);
4200 resume_momentary (yyvsp[-2].itype); ;
4203 #line 2235 "objc-parse.y"
4204 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
4206 build_tree_list (prefix_attributes,
4208 current_declspecs = TREE_VALUE (declspec_stack);
4209 prefix_attributes = TREE_PURPOSE (declspec_stack);
4210 declspec_stack = TREE_CHAIN (declspec_stack);
4211 resume_momentary (yyvsp[-2].itype); ;
4214 #line 2244 "objc-parse.y"
4215 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
4217 build_tree_list (prefix_attributes,
4219 current_declspecs = TREE_VALUE (declspec_stack);
4220 prefix_attributes = TREE_PURPOSE (declspec_stack);
4221 declspec_stack = TREE_CHAIN (declspec_stack);
4222 resume_momentary (yyvsp[-2].itype); ;
4225 #line 2253 "objc-parse.y"
4226 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
4228 build_tree_list (prefix_attributes,
4230 current_declspecs = TREE_VALUE (declspec_stack);
4231 prefix_attributes = TREE_PURPOSE (declspec_stack);
4232 declspec_stack = TREE_CHAIN (declspec_stack);
4233 resume_momentary (yyvsp[-2].itype); ;
4236 #line 2263 "objc-parse.y"
4237 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
4239 build_tree_list (prefix_attributes,
4241 current_declspecs = TREE_VALUE (declspec_stack);
4242 prefix_attributes = TREE_PURPOSE (declspec_stack);
4243 declspec_stack = TREE_CHAIN (declspec_stack);
4244 resume_momentary (yyvsp[-2].itype); ;
4247 #line 2277 "objc-parse.y"
4249 clear_parm_order ();
4250 declare_parm_level (1); ;
4253 #line 2281 "objc-parse.y"
4254 { yyval.ttype = yyvsp[0].ttype;
4255 parmlist_tags_warning ();
4256 poplevel (0, 0, 0); ;
4259 #line 2289 "objc-parse.y"
4261 for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t))
4262 if (TREE_VALUE (t) == NULL_TREE)
4263 error ("`...' in old-style identifier list");
4264 yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
4267 #line 2299 "objc-parse.y"
4268 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4271 #line 2301 "objc-parse.y"
4272 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4275 #line 2307 "objc-parse.y"
4276 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4279 #line 2309 "objc-parse.y"
4280 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4283 #line 2314 "objc-parse.y"
4284 { yyval.itype = pedantic;
4288 #line 2327 "objc-parse.y"
4290 if (objc_implementation_context)
4292 finish_class (objc_implementation_context);
4293 objc_ivar_chain = NULL_TREE;
4294 objc_implementation_context = NULL_TREE;
4297 warning ("`@end' must appear in an implementation context");
4301 #line 2342 "objc-parse.y"
4302 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4305 #line 2344 "objc-parse.y"
4306 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4309 #line 2349 "objc-parse.y"
4311 objc_declare_class (yyvsp[-1].ttype);
4315 #line 2355 "objc-parse.y"
4317 objc_declare_alias (yyvsp[-2].ttype, yyvsp[-1].ttype);
4321 #line 2361 "objc-parse.y"
4323 objc_interface_context = objc_ivar_context
4324 = start_class (CLASS_INTERFACE_TYPE, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
4325 objc_public_flag = 0;
4329 #line 2367 "objc-parse.y"
4331 continue_class (objc_interface_context);
4335 #line 2372 "objc-parse.y"
4337 finish_class (objc_interface_context);
4338 objc_interface_context = NULL_TREE;
4342 #line 2378 "objc-parse.y"
4344 objc_interface_context
4345 = start_class (CLASS_INTERFACE_TYPE, yyvsp[-1].ttype, NULL_TREE, yyvsp[0].ttype);
4346 continue_class (objc_interface_context);
4350 #line 2385 "objc-parse.y"
4352 finish_class (objc_interface_context);
4353 objc_interface_context = NULL_TREE;
4357 #line 2391 "objc-parse.y"
4359 objc_interface_context = objc_ivar_context
4360 = start_class (CLASS_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype);
4361 objc_public_flag = 0;
4365 #line 2397 "objc-parse.y"
4367 continue_class (objc_interface_context);
4371 #line 2402 "objc-parse.y"
4373 finish_class (objc_interface_context);
4374 objc_interface_context = NULL_TREE;
4378 #line 2408 "objc-parse.y"
4380 objc_interface_context
4381 = start_class (CLASS_INTERFACE_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
4382 continue_class (objc_interface_context);
4386 #line 2415 "objc-parse.y"
4388 finish_class (objc_interface_context);
4389 objc_interface_context = NULL_TREE;
4393 #line 2421 "objc-parse.y"
4395 objc_implementation_context = objc_ivar_context
4396 = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4397 objc_public_flag = 0;
4401 #line 2427 "objc-parse.y"
4404 = continue_class (objc_implementation_context);
4408 #line 2433 "objc-parse.y"
4410 objc_implementation_context
4411 = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[0].ttype, NULL_TREE, NULL_TREE);
4413 = continue_class (objc_implementation_context);
4417 #line 2441 "objc-parse.y"
4419 objc_implementation_context = objc_ivar_context
4420 = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
4421 objc_public_flag = 0;
4425 #line 2447 "objc-parse.y"
4428 = continue_class (objc_implementation_context);
4432 #line 2453 "objc-parse.y"
4434 objc_implementation_context
4435 = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE);
4437 = continue_class (objc_implementation_context);
4441 #line 2461 "objc-parse.y"
4443 objc_interface_context
4444 = start_class (CATEGORY_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype);
4445 continue_class (objc_interface_context);
4449 #line 2468 "objc-parse.y"
4451 finish_class (objc_interface_context);
4452 objc_interface_context = NULL_TREE;
4456 #line 2474 "objc-parse.y"
4458 objc_implementation_context
4459 = start_class (CATEGORY_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
4461 = continue_class (objc_implementation_context);
4465 #line 2484 "objc-parse.y"
4467 remember_protocol_qualifiers ();
4468 objc_interface_context
4469 = start_protocol(PROTOCOL_INTERFACE_TYPE, yyvsp[-1].ttype, yyvsp[0].ttype);
4473 #line 2490 "objc-parse.y"
4475 forget_protocol_qualifiers();
4476 finish_protocol(objc_interface_context);
4477 objc_interface_context = NULL_TREE;
4481 #line 2499 "objc-parse.y"
4483 yyval.ttype = NULL_TREE;
4487 #line 2507 "objc-parse.y"
4489 if (yyvsp[-2].code == LT_EXPR && yyvsp[0].code == GT_EXPR)
4490 yyval.ttype = yyvsp[-1].ttype;
4496 #line 2521 "objc-parse.y"
4497 { objc_public_flag = 2; ;
4500 #line 2522 "objc-parse.y"
4501 { objc_public_flag = 0; ;
4504 #line 2523 "objc-parse.y"
4505 { objc_public_flag = 1; ;
4508 #line 2528 "objc-parse.y"
4510 yyval.ttype = NULL_TREE;
4514 #line 2533 "objc-parse.y"
4517 pedwarn ("extra semicolon in struct or union specified");
4521 #line 2551 "objc-parse.y"
4522 { yyval.ttype = yyvsp[0].ttype;
4523 current_declspecs = TREE_VALUE (declspec_stack);
4524 prefix_attributes = TREE_PURPOSE (declspec_stack);
4525 declspec_stack = TREE_CHAIN (declspec_stack);
4526 resume_momentary (yyvsp[-1].itype); ;
4529 #line 2557 "objc-parse.y"
4530 { yyval.ttype = yyvsp[0].ttype;
4531 current_declspecs = TREE_VALUE (declspec_stack);
4532 prefix_attributes = TREE_PURPOSE (declspec_stack);
4533 declspec_stack = TREE_CHAIN (declspec_stack);
4534 resume_momentary (yyvsp[-1].itype); ;
4537 #line 2563 "objc-parse.y"
4538 { yyval.ttype = NULL_TREE; ;
4541 #line 2568 "objc-parse.y"
4542 { yyval.ttype = NULL_TREE; ;
4545 #line 2575 "objc-parse.y"
4547 yyval.ttype = add_instance_variable (objc_ivar_context,
4549 yyvsp[0].ttype, current_declspecs,
4554 #line 2582 "objc-parse.y"
4556 yyval.ttype = add_instance_variable (objc_ivar_context,
4558 yyvsp[-2].ttype, current_declspecs, yyvsp[0].ttype);
4562 #line 2588 "objc-parse.y"
4564 yyval.ttype = add_instance_variable (objc_ivar_context,
4567 current_declspecs, yyvsp[0].ttype);
4571 #line 2598 "objc-parse.y"
4573 remember_protocol_qualifiers ();
4574 if (objc_implementation_context)
4575 objc_inherit_code = CLASS_METHOD_DECL;
4577 fatal ("method definition not in class context");
4581 #line 2606 "objc-parse.y"
4583 forget_protocol_qualifiers ();
4584 add_class_method (objc_implementation_context, yyvsp[0].ttype);
4585 start_method_def (yyvsp[0].ttype);
4586 objc_method_context = yyvsp[0].ttype;
4590 #line 2613 "objc-parse.y"
4592 continue_method_def ();
4596 #line 2617 "objc-parse.y"
4598 finish_method_def ();
4599 objc_method_context = NULL_TREE;
4603 #line 2623 "objc-parse.y"
4605 remember_protocol_qualifiers ();
4606 if (objc_implementation_context)
4607 objc_inherit_code = INSTANCE_METHOD_DECL;
4609 fatal ("method definition not in class context");
4613 #line 2631 "objc-parse.y"
4615 forget_protocol_qualifiers ();
4616 add_instance_method (objc_implementation_context, yyvsp[0].ttype);
4617 start_method_def (yyvsp[0].ttype);
4618 objc_method_context = yyvsp[0].ttype;
4622 #line 2638 "objc-parse.y"
4624 continue_method_def ();
4628 #line 2642 "objc-parse.y"
4630 finish_method_def ();
4631 objc_method_context = NULL_TREE;
4635 #line 2654 "objc-parse.y"
4636 {yyval.ttype = NULL_TREE; ;
4639 #line 2661 "objc-parse.y"
4640 {yyval.ttype = NULL_TREE; ;
4643 #line 2671 "objc-parse.y"
4645 /* Remember protocol qualifiers in prototypes. */
4646 remember_protocol_qualifiers ();
4647 objc_inherit_code = CLASS_METHOD_DECL;
4651 #line 2677 "objc-parse.y"
4653 /* Forget protocol qualifiers here. */
4654 forget_protocol_qualifiers ();
4655 add_class_method (objc_interface_context, yyvsp[0].ttype);
4659 #line 2685 "objc-parse.y"
4661 /* Remember protocol qualifiers in prototypes. */
4662 remember_protocol_qualifiers ();
4663 objc_inherit_code = INSTANCE_METHOD_DECL;
4667 #line 2691 "objc-parse.y"
4669 /* Forget protocol qualifiers here. */
4670 forget_protocol_qualifiers ();
4671 add_instance_method (objc_interface_context, yyvsp[0].ttype);
4675 #line 2701 "objc-parse.y"
4677 yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE);
4681 #line 2706 "objc-parse.y"
4683 yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[0].ttype, NULL_TREE);
4687 #line 2711 "objc-parse.y"
4689 yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
4693 #line 2716 "objc-parse.y"
4695 yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype);
4699 #line 2746 "objc-parse.y"
4700 { current_declspecs = TREE_VALUE (declspec_stack);
4701 prefix_attributes = TREE_PURPOSE (declspec_stack);
4702 declspec_stack = TREE_CHAIN (declspec_stack);
4703 resume_momentary (yyvsp[-2].itype); ;
4706 #line 2751 "objc-parse.y"
4707 { shadow_tag (yyvsp[-1].ttype); ;
4710 #line 2753 "objc-parse.y"
4711 { pedwarn ("empty declaration"); ;
4714 #line 2758 "objc-parse.y"
4715 { push_parm_decl (yyvsp[0].ttype); ;
4718 #line 2760 "objc-parse.y"
4719 { push_parm_decl (yyvsp[0].ttype); ;
4722 #line 2768 "objc-parse.y"
4723 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
4725 build_tree_list (prefix_attributes,
4729 #line 2773 "objc-parse.y"
4730 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
4732 build_tree_list (prefix_attributes,
4736 #line 2778 "objc-parse.y"
4737 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
4739 build_tree_list (prefix_attributes,
4743 #line 2786 "objc-parse.y"
4745 yyval.ttype = NULL_TREE;
4749 #line 2790 "objc-parse.y"
4751 /* oh what a kludge! */
4752 yyval.ttype = (tree)1;
4756 #line 2795 "objc-parse.y"
4762 #line 2799 "objc-parse.y"
4764 /* returns a tree list node generated by get_parm_info */
4765 yyval.ttype = yyvsp[0].ttype;
4770 #line 2814 "objc-parse.y"
4772 yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
4776 #line 2827 "objc-parse.y"
4777 { yyval.ttype = get_identifier (token_buffer); ;
4780 #line 2828 "objc-parse.y"
4781 { yyval.ttype = get_identifier (token_buffer); ;
4784 #line 2829 "objc-parse.y"
4785 { yyval.ttype = get_identifier (token_buffer); ;
4788 #line 2830 "objc-parse.y"
4789 { yyval.ttype = get_identifier (token_buffer); ;
4792 #line 2831 "objc-parse.y"
4793 { yyval.ttype = get_identifier (token_buffer); ;
4796 #line 2832 "objc-parse.y"
4797 { yyval.ttype = get_identifier (token_buffer); ;
4800 #line 2833 "objc-parse.y"
4801 { yyval.ttype = get_identifier (token_buffer); ;
4804 #line 2834 "objc-parse.y"
4805 { yyval.ttype = get_identifier (token_buffer); ;
4808 #line 2835 "objc-parse.y"
4809 { yyval.ttype = get_identifier (token_buffer); ;
4812 #line 2836 "objc-parse.y"
4813 { yyval.ttype = get_identifier (token_buffer); ;
4816 #line 2837 "objc-parse.y"
4817 { yyval.ttype = get_identifier (token_buffer); ;
4820 #line 2838 "objc-parse.y"
4821 { yyval.ttype = get_identifier (token_buffer); ;
4824 #line 2839 "objc-parse.y"
4825 { yyval.ttype = get_identifier (token_buffer); ;
4828 #line 2840 "objc-parse.y"
4829 { yyval.ttype = get_identifier (token_buffer); ;
4832 #line 2841 "objc-parse.y"
4833 { yyval.ttype = get_identifier (token_buffer); ;
4836 #line 2842 "objc-parse.y"
4837 { yyval.ttype = get_identifier (token_buffer); ;
4840 #line 2843 "objc-parse.y"
4841 { yyval.ttype = get_identifier (token_buffer); ;
4844 #line 2844 "objc-parse.y"
4845 { yyval.ttype = get_identifier (token_buffer); ;
4848 #line 2845 "objc-parse.y"
4849 { yyval.ttype = get_identifier (token_buffer); ;
4852 #line 2851 "objc-parse.y"
4854 yyval.ttype = build_keyword_decl (yyvsp[-5].ttype, yyvsp[-2].ttype, yyvsp[0].ttype);
4858 #line 2856 "objc-parse.y"
4860 yyval.ttype = build_keyword_decl (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
4864 #line 2861 "objc-parse.y"
4866 yyval.ttype = build_keyword_decl (NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype);
4870 #line 2866 "objc-parse.y"
4872 yyval.ttype = build_keyword_decl (NULL_TREE, NULL_TREE, yyvsp[0].ttype);
4876 #line 2879 "objc-parse.y"
4878 yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
4882 #line 2887 "objc-parse.y"
4884 if (TREE_CHAIN (yyvsp[0].ttype) == NULL_TREE)
4885 /* just return the expr., remove a level of indirection */
4886 yyval.ttype = TREE_VALUE (yyvsp[0].ttype);
4888 /* we have a comma expr., we will collapse later */
4889 yyval.ttype = yyvsp[0].ttype;
4893 #line 2899 "objc-parse.y"
4895 yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype);
4899 #line 2903 "objc-parse.y"
4901 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype);
4905 #line 2911 "objc-parse.y"
4907 yyval.ttype = get_class_reference (yyvsp[0].ttype);
4911 #line 2918 "objc-parse.y"
4912 { objc_receiver_context = 1; ;
4915 #line 2920 "objc-parse.y"
4916 { objc_receiver_context = 0; ;
4919 #line 2922 "objc-parse.y"
4921 yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype);
4925 #line 2935 "objc-parse.y"
4927 yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
4931 #line 2942 "objc-parse.y"
4933 yyval.ttype = build_tree_list (yyvsp[-1].ttype, NULL_TREE);
4937 #line 2946 "objc-parse.y"
4939 yyval.ttype = build_tree_list (NULL_TREE, NULL_TREE);
4943 #line 2953 "objc-parse.y"
4945 yyval.ttype = yyvsp[-1].ttype;
4949 #line 2960 "objc-parse.y"
4951 yyval.ttype = yyvsp[-1].ttype;
4955 #line 2969 "objc-parse.y"
4957 yyval.ttype = groktypename (yyvsp[-1].ttype);
4961 /* the action file gets copied in in place of this dollarsign */
4962 #line 498 "/usr/cygnus/progressive-98r1/share/bison.simple"
4973 short *ssp1 = yyss - 1;
4974 fprintf (stderr, "state stack now");
4975 while (ssp1 != yyssp)
4976 fprintf (stderr, " %d", *++ssp1);
4977 fprintf (stderr, "\n");
4987 yylsp->first_line = yylloc.first_line;
4988 yylsp->first_column = yylloc.first_column;
4989 yylsp->last_line = (yylsp-1)->last_line;
4990 yylsp->last_column = (yylsp-1)->last_column;
4995 yylsp->last_line = (yylsp+yylen-1)->last_line;
4996 yylsp->last_column = (yylsp+yylen-1)->last_column;
5000 /* Now "shift" the result of the reduction.
5001 Determine what state that goes to,
5002 based on the state we popped back to
5003 and the rule number reduced by. */
5007 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
5008 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
5009 yystate = yytable[yystate];
5011 yystate = yydefgoto[yyn - YYNTBASE];
5015 yyerrlab: /* here on detecting error */
5018 /* If not already recovering from an error, report this error. */
5022 #ifdef YYERROR_VERBOSE
5023 yyn = yypact[yystate];
5025 if (yyn > YYFLAG && yyn < YYLAST)
5032 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
5033 for (x = (yyn < 0 ? -yyn : 0);
5034 x < (sizeof(yytname) / sizeof(char *)); x++)
5035 if (yycheck[x + yyn] == x)
5036 size += strlen(yytname[x]) + 15, count++;
5037 msg = (char *) malloc(size + 15);
5040 strcpy(msg, "parse error");
5045 for (x = (yyn < 0 ? -yyn : 0);
5046 x < (sizeof(yytname) / sizeof(char *)); x++)
5047 if (yycheck[x + yyn] == x)
5049 strcat(msg, count == 0 ? ", expecting `" : " or `");
5050 strcat(msg, yytname[x]);
5059 yyerror ("parse error; also virtual memory exceeded");
5062 #endif /* YYERROR_VERBOSE */
5063 yyerror("parse error");
5067 yyerrlab1: /* here on error raised explicitly by an action */
5069 if (yyerrstatus == 3)
5071 /* if just tried and failed to reuse lookahead token after an error, discard it. */
5073 /* return failure if at end of input */
5074 if (yychar == YYEOF)
5079 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
5085 /* Else will try to reuse lookahead token
5086 after shifting the error token. */
5088 yyerrstatus = 3; /* Each real token shifted decrements this */
5092 yyerrdefault: /* current state does not do anything special for the error token. */
5095 /* This is wrong; only states that explicitly want error tokens
5096 should shift them. */
5097 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
5098 if (yyn) goto yydefault;
5101 yyerrpop: /* pop the current state because it cannot handle the error token */
5103 if (yyssp == yyss) YYABORT;
5113 short *ssp1 = yyss - 1;
5114 fprintf (stderr, "Error: state stack now");
5115 while (ssp1 != yyssp)
5116 fprintf (stderr, " %d", *++ssp1);
5117 fprintf (stderr, "\n");
5123 yyn = yypact[yystate];
5128 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
5147 fprintf(stderr, "Shifting error token, ");
5158 #line 2974 "objc-parse.y"