2 /* A Bison parser, made from c-parse.y
3 by GNU Bison version 1.27
6 #define YYBISON 1 /* Identify Bison output. */
32 #define ASM_KEYWORD 281
41 #define END_OF_LINE 290
46 #define ARITHCOMPARE 295
51 #define MINUSMINUS 300
52 #define HYPERUNARY 301
55 #define IMPLEMENTATION 304
65 #define OBJECTNAME 314
68 #define OBJC_STRING 317
84 #ifdef MULTIBYTE_CHARS
89 /* Since parsers are distinct for each language, put the language string
91 const char * const language_string = "GNU C";
93 /* Like YYERROR but do call yyerror. */
94 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
96 /* Cause the `yydebug' variable to be defined. */
100 typedef union {long itype; tree ttype; enum tree_code code;
101 char *filename; int lineno; int ends_in_label; } YYSTYPE;
102 #line 184 "c-parse.y"
104 /* Number of statements (loosely speaking) and compound statements
106 static int stmt_count;
107 static int compstmt_count;
109 /* Input file and line number of the end of the body of last simple_if;
110 used by the stmt-rule immediately after simple_if returns. */
111 static char *if_stmt_file;
112 static int if_stmt_line;
114 /* List of types and structure classes of the current declaration. */
115 static tree current_declspecs = NULL_TREE;
116 static tree prefix_attributes = NULL_TREE;
118 /* Stack of saved values of current_declspecs and prefix_attributes. */
119 static tree declspec_stack;
121 /* 1 if we explained undeclared var errors. */
122 static int undeclared_variable_notice;
125 /* Tell yyparse how to print a token's value, if yydebug is set. */
127 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
128 extern void yyprint PROTO ((FILE *, int, YYSTYPE));
140 #define YYFLAG -32768
143 #define YYTRANSLATE(x) ((unsigned)(x) <= 317 ? yytranslate[x] : 244)
145 static const char yytranslate[] = { 0,
146 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
147 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
148 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
149 2, 2, 82, 2, 2, 2, 54, 45, 2, 61,
150 78, 52, 50, 83, 51, 60, 53, 2, 2, 2,
151 2, 2, 2, 2, 2, 2, 2, 40, 79, 2,
152 38, 2, 39, 2, 2, 2, 2, 2, 2, 2,
153 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
154 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
155 62, 2, 85, 44, 2, 2, 2, 2, 2, 2,
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, 84, 43, 80, 81, 2, 2, 2, 2,
159 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
160 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
161 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
162 2, 2, 2, 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 2, 2, 2, 2, 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, 2, 2, 2, 2, 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, 1, 3, 4, 5, 6,
172 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
173 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
174 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
175 37, 41, 42, 46, 47, 48, 49, 55, 56, 57,
176 58, 59, 63, 64, 65, 66, 67, 68, 69, 70,
177 71, 72, 73, 74, 75, 76, 77
181 static const short yyprhs[] = { 0,
182 0, 1, 3, 4, 7, 8, 12, 14, 16, 22,
183 25, 29, 34, 39, 42, 45, 48, 51, 53, 54,
184 55, 63, 68, 69, 70, 78, 83, 84, 85, 92,
185 96, 98, 100, 102, 104, 106, 108, 110, 112, 114,
186 116, 117, 119, 121, 125, 127, 130, 133, 136, 139,
187 142, 147, 150, 155, 158, 161, 168, 170, 172, 174,
188 179, 180, 188, 190, 194, 198, 202, 206, 210, 214,
189 218, 222, 226, 230, 234, 238, 239, 244, 245, 250,
190 251, 252, 260, 261, 267, 271, 275, 277, 279, 281,
191 285, 289, 293, 297, 302, 307, 311, 315, 318, 321,
192 323, 326, 327, 329, 332, 336, 338, 340, 343, 346,
193 351, 356, 359, 362, 366, 368, 370, 373, 376, 377,
194 378, 383, 388, 392, 396, 399, 402, 405, 408, 412,
195 413, 416, 419, 422, 425, 429, 430, 433, 436, 438,
196 440, 443, 446, 448, 450, 453, 456, 459, 463, 464,
197 467, 469, 471, 473, 478, 483, 485, 487, 489, 491,
198 495, 497, 501, 502, 507, 508, 515, 519, 520, 527,
199 531, 532, 534, 536, 539, 546, 548, 552, 553, 555,
200 560, 567, 572, 574, 576, 578, 580, 582, 583, 588,
201 590, 591, 594, 596, 600, 604, 607, 608, 613, 615,
202 616, 621, 623, 625, 627, 630, 633, 639, 643, 644,
203 645, 651, 652, 653, 659, 661, 663, 667, 671, 676,
204 680, 684, 688, 690, 694, 699, 704, 708, 712, 716,
205 718, 722, 726, 730, 735, 740, 744, 748, 750, 752,
206 755, 757, 760, 762, 765, 766, 774, 780, 783, 784,
207 792, 798, 801, 802, 811, 812, 820, 823, 824, 826,
208 827, 829, 831, 834, 835, 839, 842, 846, 848, 852,
209 854, 856, 859, 861, 865, 870, 877, 883, 885, 889,
210 891, 893, 897, 900, 903, 904, 906, 908, 911, 912,
211 915, 919, 923, 926, 930, 935, 939, 942, 946, 949,
212 953, 955, 957, 960, 963, 964, 966, 969, 970, 971,
213 973, 975, 978, 982, 984, 987, 989, 991, 997, 1002,
214 1007, 1010, 1013, 1016, 1019, 1024, 1025, 1030, 1031, 1032,
215 1036, 1041, 1045, 1047, 1049, 1051, 1053, 1056, 1057, 1062,
216 1064, 1068, 1069, 1070, 1078, 1084, 1087, 1088, 1089, 1090,
217 1103, 1104, 1111, 1114, 1117, 1120, 1124, 1131, 1140, 1151,
218 1164, 1168, 1173, 1175, 1177, 1178, 1185, 1189, 1195, 1198,
219 1202, 1203, 1205, 1206, 1208, 1209, 1211, 1213, 1217, 1222,
220 1224, 1228, 1229, 1232, 1235, 1236, 1241, 1244, 1245, 1247,
221 1249, 1253, 1255, 1259, 1264, 1269, 1274, 1279, 1284, 1285,
222 1288, 1290, 1293, 1295, 1299, 1301, 1305
225 static const short yyrhs[] = { -1,
226 87, 0, 0, 88, 90, 0, 0, 87, 89, 90,
227 0, 92, 0, 91, 0, 27, 61, 101, 78, 79,
228 0, 243, 90, 0, 123, 137, 79, 0, 130, 123,
229 137, 79, 0, 126, 123, 136, 79, 0, 130, 79,
230 0, 126, 79, 0, 1, 79, 0, 1, 80, 0,
231 79, 0, 0, 0, 126, 123, 165, 93, 117, 94,
232 199, 0, 126, 123, 165, 1, 0, 0, 0, 130,
233 123, 168, 95, 117, 96, 199, 0, 130, 123, 168,
234 1, 0, 0, 0, 123, 168, 97, 117, 98, 199,
235 0, 123, 168, 1, 0, 3, 0, 4, 0, 45,
236 0, 51, 0, 50, 0, 56, 0, 57, 0, 81,
237 0, 82, 0, 103, 0, 0, 103, 0, 109, 0,
238 103, 83, 109, 0, 115, 0, 52, 107, 0, 243,
239 107, 0, 100, 107, 0, 42, 99, 0, 105, 104,
240 0, 105, 61, 186, 78, 0, 106, 104, 0, 106,
241 61, 186, 78, 0, 33, 107, 0, 34, 107, 0,
242 35, 61, 109, 83, 186, 78, 0, 11, 0, 29,
243 0, 104, 0, 61, 186, 78, 107, 0, 0, 61,
244 186, 78, 84, 108, 151, 80, 0, 107, 0, 109,
245 50, 109, 0, 109, 51, 109, 0, 109, 52, 109,
246 0, 109, 53, 109, 0, 109, 54, 109, 0, 109,
247 48, 109, 0, 109, 49, 109, 0, 109, 47, 109,
248 0, 109, 46, 109, 0, 109, 45, 109, 0, 109,
249 43, 109, 0, 109, 44, 109, 0, 0, 109, 42,
250 110, 109, 0, 0, 109, 41, 111, 109, 0, 0,
251 0, 109, 39, 112, 101, 40, 113, 109, 0, 0,
252 109, 39, 114, 40, 109, 0, 109, 38, 109, 0,
253 109, 37, 109, 0, 3, 0, 8, 0, 116, 0,
254 61, 101, 78, 0, 61, 1, 78, 0, 202, 201,
255 78, 0, 202, 1, 78, 0, 115, 61, 102, 78,
256 0, 115, 62, 101, 85, 0, 115, 60, 99, 0,
257 115, 59, 99, 0, 115, 56, 0, 115, 57, 0,
258 9, 0, 116, 9, 0, 0, 119, 0, 119, 10,
259 0, 208, 209, 120, 0, 118, 0, 194, 0, 119,
260 118, 0, 118, 194, 0, 128, 123, 136, 79, 0,
261 131, 123, 137, 79, 0, 128, 79, 0, 131, 79,
262 0, 208, 209, 125, 0, 121, 0, 194, 0, 122,
263 121, 0, 121, 194, 0, 0, 0, 126, 123, 136,
264 79, 0, 130, 123, 137, 79, 0, 126, 123, 159,
265 0, 130, 123, 162, 0, 126, 79, 0, 130, 79,
266 0, 243, 125, 0, 134, 127, 0, 130, 134, 127,
267 0, 0, 127, 135, 0, 127, 5, 0, 127, 144,
268 0, 134, 129, 0, 131, 134, 129, 0, 0, 129,
269 135, 0, 129, 5, 0, 131, 0, 144, 0, 130,
270 131, 0, 130, 144, 0, 7, 0, 5, 0, 131,
271 7, 0, 131, 5, 0, 134, 133, 0, 188, 134,
272 133, 0, 0, 133, 135, 0, 6, 0, 172, 0,
273 4, 0, 28, 61, 101, 78, 0, 28, 61, 186,
274 78, 0, 6, 0, 7, 0, 172, 0, 139, 0,
275 136, 83, 139, 0, 141, 0, 137, 83, 139, 0,
276 0, 27, 61, 116, 78, 0, 0, 165, 138, 143,
277 38, 140, 149, 0, 165, 138, 143, 0, 0, 168,
278 138, 143, 38, 142, 149, 0, 168, 138, 143, 0,
279 0, 144, 0, 145, 0, 144, 145, 0, 30, 61,
280 61, 146, 78, 78, 0, 147, 0, 146, 83, 147,
281 0, 0, 148, 0, 148, 61, 3, 78, 0, 148,
282 61, 3, 83, 103, 78, 0, 148, 61, 102, 78,
283 0, 99, 0, 5, 0, 6, 0, 7, 0, 109,
284 0, 0, 84, 150, 151, 80, 0, 1, 0, 0,
285 152, 177, 0, 153, 0, 152, 83, 153, 0, 157,
286 38, 155, 0, 158, 155, 0, 0, 99, 40, 154,
287 155, 0, 155, 0, 0, 84, 156, 151, 80, 0,
288 109, 0, 1, 0, 158, 0, 157, 158, 0, 60,
289 99, 0, 62, 109, 10, 109, 85, 0, 62, 109,
290 85, 0, 0, 0, 165, 160, 117, 161, 203, 0,
291 0, 0, 168, 163, 117, 164, 203, 0, 166, 0,
292 168, 0, 61, 166, 78, 0, 166, 61, 238, 0,
293 166, 62, 101, 85, 0, 166, 62, 85, 0, 52,
294 189, 166, 0, 144, 124, 166, 0, 4, 0, 167,
295 61, 238, 0, 167, 62, 52, 85, 0, 167, 62,
296 101, 85, 0, 167, 62, 85, 0, 52, 189, 167,
297 0, 144, 124, 167, 0, 4, 0, 168, 61, 238,
298 0, 61, 168, 78, 0, 52, 189, 168, 0, 168,
299 62, 52, 85, 0, 168, 62, 101, 85, 0, 168,
300 62, 85, 0, 144, 124, 168, 0, 3, 0, 13,
301 0, 13, 144, 0, 14, 0, 14, 144, 0, 12,
302 0, 12, 144, 0, 0, 169, 99, 84, 173, 179,
303 80, 143, 0, 169, 84, 179, 80, 143, 0, 169,
304 99, 0, 0, 170, 99, 84, 174, 179, 80, 143,
305 0, 170, 84, 179, 80, 143, 0, 170, 99, 0,
306 0, 171, 99, 84, 175, 184, 178, 80, 143, 0,
307 0, 171, 84, 176, 184, 178, 80, 143, 0, 171,
308 99, 0, 0, 83, 0, 0, 83, 0, 180, 0,
309 180, 181, 0, 0, 180, 181, 79, 0, 180, 79,
310 0, 132, 123, 182, 0, 132, 0, 188, 123, 182,
311 0, 188, 0, 1, 0, 243, 181, 0, 183, 0,
312 182, 83, 183, 0, 208, 209, 165, 143, 0, 208,
313 209, 165, 40, 109, 143, 0, 208, 209, 40, 109,
314 143, 0, 185, 0, 184, 83, 185, 0, 1, 0,
315 99, 0, 99, 38, 109, 0, 132, 187, 0, 188,
316 187, 0, 0, 190, 0, 7, 0, 188, 7, 0,
317 0, 189, 7, 0, 61, 190, 78, 0, 52, 189,
318 190, 0, 52, 189, 0, 190, 61, 231, 0, 190,
319 62, 101, 85, 0, 190, 62, 85, 0, 61, 231,
320 0, 62, 101, 85, 0, 62, 85, 0, 144, 124,
321 190, 0, 192, 0, 211, 0, 192, 211, 0, 192,
322 194, 0, 0, 191, 0, 1, 79, 0, 0, 0,
323 197, 0, 198, 0, 197, 198, 0, 32, 242, 79,
324 0, 203, 0, 1, 203, 0, 84, 0, 80, 0,
325 195, 196, 122, 193, 80, 0, 195, 196, 1, 80,
326 0, 195, 196, 191, 80, 0, 61, 84, 0, 200,
327 201, 0, 205, 210, 0, 205, 1, 0, 15, 61,
328 101, 78, 0, 0, 18, 207, 210, 17, 0, 0,
329 0, 208, 209, 213, 0, 208, 209, 224, 210, 0,
330 208, 209, 212, 0, 213, 0, 224, 0, 203, 0,
331 221, 0, 101, 79, 0, 0, 204, 16, 214, 210,
332 0, 204, 0, 204, 16, 1, 0, 0, 0, 17,
333 215, 61, 101, 78, 216, 210, 0, 206, 61, 101,
334 78, 79, 0, 206, 1, 0, 0, 0, 0, 19,
335 61, 226, 79, 217, 226, 79, 218, 226, 78, 219,
336 210, 0, 0, 20, 61, 101, 78, 220, 210, 0,
337 23, 79, 0, 24, 79, 0, 25, 79, 0, 25,
338 101, 79, 0, 27, 225, 61, 101, 78, 79, 0,
339 27, 225, 61, 101, 40, 227, 78, 79, 0, 27,
340 225, 61, 101, 40, 227, 40, 227, 78, 79, 0,
341 27, 225, 61, 101, 40, 227, 40, 227, 40, 230,
342 78, 79, 0, 26, 99, 79, 0, 26, 52, 101,
343 79, 0, 79, 0, 222, 0, 0, 19, 61, 115,
344 78, 223, 210, 0, 21, 109, 40, 0, 21, 109,
345 10, 109, 40, 0, 22, 40, 0, 99, 40, 143,
346 0, 0, 7, 0, 0, 101, 0, 0, 228, 0,
347 229, 0, 228, 83, 229, 0, 9, 61, 101, 78,
348 0, 116, 0, 230, 83, 116, 0, 0, 232, 233,
349 0, 235, 78, 0, 0, 236, 79, 234, 233, 0,
350 1, 78, 0, 0, 10, 0, 236, 0, 236, 83,
351 10, 0, 237, 0, 236, 83, 237, 0, 126, 123,
352 167, 143, 0, 126, 123, 168, 143, 0, 126, 123,
353 187, 143, 0, 130, 123, 168, 143, 0, 130, 123,
354 187, 143, 0, 0, 239, 240, 0, 233, 0, 241,
355 78, 0, 3, 0, 241, 83, 3, 0, 99, 0,
356 242, 83, 99, 0, 31, 0
362 static const short yyrline[] = { 0,
363 213, 218, 232, 234, 234, 235, 237, 239, 240, 248,
364 252, 263, 268, 273, 275, 277, 278, 279, 284, 291,
365 293, 298, 303, 309, 311, 316, 321, 327, 329, 334,
366 341, 343, 346, 348, 350, 352, 354, 356, 358, 362,
367 366, 369, 372, 375, 379, 381, 384, 387, 391, 419,
368 425, 428, 431, 434, 436, 438, 442, 446, 450, 452,
369 455, 459, 486, 488, 490, 492, 494, 496, 498, 500,
370 502, 504, 506, 508, 510, 512, 516, 518, 522, 524,
371 527, 531, 533, 540, 543, 551, 562, 661, 662, 664,
372 670, 672, 695, 704, 706, 708, 712, 718, 720, 725,
373 727, 732, 734, 735, 745, 750, 752, 753, 754, 761,
374 767, 772, 775, 783, 788, 790, 791, 792, 799, 810,
375 814, 820, 825, 830, 835, 837, 839, 848, 851, 855,
376 857, 859, 864, 868, 871, 875, 878, 880, 892, 895,
377 897, 899, 903, 907, 909, 912, 925, 928, 932, 934,
378 942, 943, 944, 948, 950, 956, 957, 958, 961, 963,
379 966, 968, 971, 974, 980, 987, 989, 996, 1003, 1006,
380 1013, 1016, 1020, 1023, 1027, 1032, 1035, 1039, 1042, 1044,
381 1046, 1048, 1055, 1057, 1058, 1059, 1064, 1066, 1071, 1079,
382 1084, 1088, 1091, 1093, 1098, 1100, 1101, 1104, 1104, 1107,
383 1110, 1112, 1114, 1117, 1119, 1122, 1128, 1130, 1134, 1148,
384 1156, 1160, 1174, 1182, 1189, 1191, 1196, 1199, 1204, 1206,
385 1208, 1215, 1217, 1225, 1231, 1236, 1238, 1240, 1247, 1249,
386 1255, 1261, 1263, 1265, 1270, 1272, 1279, 1281, 1284, 1287,
387 1291, 1294, 1298, 1301, 1305, 1310, 1312, 1316, 1318, 1320,
388 1322, 1326, 1328, 1331, 1334, 1337, 1340, 1344, 1346, 1349,
389 1351, 1356, 1359, 1364, 1366, 1368, 1382, 1389, 1394, 1400,
390 1405, 1407, 1412, 1414, 1418, 1422, 1426, 1436, 1438, 1443,
391 1448, 1451, 1455, 1458, 1462, 1465, 1468, 1471, 1475, 1478,
392 1482, 1486, 1488, 1490, 1492, 1494, 1496, 1498, 1500, 1504,
393 1512, 1520, 1522, 1524, 1528, 1530, 1533, 1536, 1547, 1549,
394 1554, 1556, 1559, 1573, 1576, 1579, 1581, 1583, 1591, 1599,
395 1609, 1627, 1632, 1637, 1640, 1654, 1663, 1667, 1671, 1675,
396 1681, 1685, 1690, 1693, 1698, 1701, 1702, 1719, 1724, 1727,
397 1739, 1741, 1751, 1761, 1762, 1770, 1773, 1785, 1789, 1806,
398 1816, 1825, 1830, 1835, 1840, 1844, 1848, 1859, 1866, 1873,
399 1880, 1891, 1897, 1900, 1905, 1928, 1962, 1993, 2024, 2039,
400 2053, 2057, 2061, 2064, 2069, 2071, 2074, 2076, 2080, 2085,
401 2088, 2094, 2099, 2104, 2106, 2115, 2116, 2122, 2124, 2134,
402 2136, 2140, 2143, 2149, 2159, 2168, 2177, 2187, 2201, 2206,
403 2211, 2213, 2222, 2225, 2230, 2233, 2237
408 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
410 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
411 "TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING","ELLIPSIS","SIZEOF",
412 "ENUM","STRUCT","UNION","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT",
413 "BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF","ATTRIBUTE",
414 "EXTENSION","LABEL","REALPART","IMAGPART","VA_ARG","END_OF_LINE","ASSIGN","'='",
415 "'?'","':'","OROR","ANDAND","'|'","'^'","'&'","EQCOMPARE","ARITHCOMPARE","LSHIFT",
416 "RSHIFT","'+'","'-'","'*'","'/'","'%'","UNARY","PLUSPLUS","MINUSMINUS","HYPERUNARY",
417 "POINTSAT","'.'","'('","'['","INTERFACE","IMPLEMENTATION","END","SELECTOR","DEFS",
418 "ENCODE","CLASSNAME","PUBLIC","PRIVATE","PROTECTED","PROTOCOL","OBJECTNAME",
419 "CLASS","ALIAS","OBJC_STRING","')'","';'","'}'","'~'","'!'","','","'{'","']'",
420 "program","extdefs","@1","@2","extdef","datadef","fndef","@3","@4","@5","@6",
421 "@7","@8","identifier","unop","expr","exprlist","nonnull_exprlist","unary_expr",
422 "sizeof","alignof","cast_expr","@9","expr_no_commas","@10","@11","@12","@13",
423 "@14","primary","string","old_style_parm_decls","lineno_datadecl","datadecls",
424 "datadecl","lineno_decl","decls","setspecs","setattrs","decl","typed_declspecs",
425 "reserved_declspecs","typed_declspecs_no_prefix_attr","reserved_declspecs_no_prefix_attr",
426 "declmods","declmods_no_prefix_attr","typed_typespecs","reserved_typespecquals",
427 "typespec","typespecqual_reserved","initdecls","notype_initdecls","maybeasm",
428 "initdcl","@15","notype_initdcl","@16","maybe_attribute","attributes","attribute",
429 "attribute_list","attrib","any_word","init","@17","initlist_maybe_comma","initlist1",
430 "initelt","@18","initval","@19","designator_list","designator","nested_function",
431 "@20","@21","notype_nested_function","@22","@23","declarator","after_type_declarator",
432 "parm_declarator","notype_declarator","struct_head","union_head","enum_head",
433 "structsp","@24","@25","@26","@27","maybecomma","maybecomma_warn","component_decl_list",
434 "component_decl_list2","component_decl","components","component_declarator",
435 "enumlist","enumerator","typename","absdcl","nonempty_type_quals","type_quals",
436 "absdcl1","stmts","lineno_stmt_or_labels","xstmts","errstmt","pushlevel","maybe_label_decls",
437 "label_decls","label_decl","compstmt_or_error","compstmt_start","compstmt_nostart",
438 "compstmt_primary_start","compstmt","simple_if","if_prefix","do_stmt_start",
439 "@28","save_filename","save_lineno","lineno_labeled_stmt","lineno_stmt_or_label",
440 "stmt_or_label","stmt","@29","@30","@31","@32","@33","@34","@35","all_iter_stmt",
441 "all_iter_stmt_simple","@36","label","maybe_type_qual","xexpr","asm_operands",
442 "nonnull_asm_operands","asm_operand","asm_clobbers","parmlist","@37","parmlist_1",
443 "@38","parmlist_2","parms","parm","parmlist_or_identifiers","@39","parmlist_or_identifiers_1",
444 "identifiers","identifiers_or_typenames","extension", NULL
448 static const short yyr1[] = { 0,
449 86, 86, 88, 87, 89, 87, 90, 90, 90, 90,
450 91, 91, 91, 91, 91, 91, 91, 91, 93, 94,
451 92, 92, 95, 96, 92, 92, 97, 98, 92, 92,
452 99, 99, 100, 100, 100, 100, 100, 100, 100, 101,
453 102, 102, 103, 103, 104, 104, 104, 104, 104, 104,
454 104, 104, 104, 104, 104, 104, 105, 106, 107, 107,
455 108, 107, 109, 109, 109, 109, 109, 109, 109, 109,
456 109, 109, 109, 109, 109, 110, 109, 111, 109, 112,
457 113, 109, 114, 109, 109, 109, 115, 115, 115, 115,
458 115, 115, 115, 115, 115, 115, 115, 115, 115, 116,
459 116, 117, 117, 117, 118, 119, 119, 119, 119, 120,
460 120, 120, 120, 121, 122, 122, 122, 122, 123, 124,
461 125, 125, 125, 125, 125, 125, 125, 126, 126, 127,
462 127, 127, 127, 128, 128, 129, 129, 129, 130, 130,
463 130, 130, 131, 131, 131, 131, 132, 132, 133, 133,
464 134, 134, 134, 134, 134, 135, 135, 135, 136, 136,
465 137, 137, 138, 138, 140, 139, 139, 142, 141, 141,
466 143, 143, 144, 144, 145, 146, 146, 147, 147, 147,
467 147, 147, 148, 148, 148, 148, 149, 150, 149, 149,
468 151, 151, 152, 152, 153, 153, 154, 153, 153, 156,
469 155, 155, 155, 157, 157, 158, 158, 158, 160, 161,
470 159, 163, 164, 162, 165, 165, 166, 166, 166, 166,
471 166, 166, 166, 167, 167, 167, 167, 167, 167, 167,
472 168, 168, 168, 168, 168, 168, 168, 168, 169, 169,
473 170, 170, 171, 171, 173, 172, 172, 172, 174, 172,
474 172, 172, 175, 172, 176, 172, 172, 177, 177, 178,
475 178, 179, 179, 180, 180, 180, 181, 181, 181, 181,
476 181, 181, 182, 182, 183, 183, 183, 184, 184, 184,
477 185, 185, 186, 186, 187, 187, 188, 188, 189, 189,
478 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
479 191, 192, 192, 192, 193, 193, 194, 195, 196, 196,
480 197, 197, 198, 199, 199, 200, 201, 201, 201, 201,
481 202, 203, 204, 204, 205, 207, 206, 208, 209, 210,
482 210, 211, 212, 212, 213, 213, 213, 214, 213, 213,
483 213, 215, 216, 213, 213, 213, 217, 218, 219, 213,
484 220, 213, 213, 213, 213, 213, 213, 213, 213, 213,
485 213, 213, 213, 221, 223, 222, 224, 224, 224, 224,
486 225, 225, 226, 226, 227, 227, 228, 228, 229, 230,
487 230, 232, 231, 233, 234, 233, 233, 235, 235, 235,
488 235, 236, 236, 237, 237, 237, 237, 237, 239, 238,
489 240, 240, 241, 241, 242, 242, 243
492 static const short yyr2[] = { 0,
493 0, 1, 0, 2, 0, 3, 1, 1, 5, 2,
494 3, 4, 4, 2, 2, 2, 2, 1, 0, 0,
495 7, 4, 0, 0, 7, 4, 0, 0, 6, 3,
496 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
497 0, 1, 1, 3, 1, 2, 2, 2, 2, 2,
498 4, 2, 4, 2, 2, 6, 1, 1, 1, 4,
499 0, 7, 1, 3, 3, 3, 3, 3, 3, 3,
500 3, 3, 3, 3, 3, 0, 4, 0, 4, 0,
501 0, 7, 0, 5, 3, 3, 1, 1, 1, 3,
502 3, 3, 3, 4, 4, 3, 3, 2, 2, 1,
503 2, 0, 1, 2, 3, 1, 1, 2, 2, 4,
504 4, 2, 2, 3, 1, 1, 2, 2, 0, 0,
505 4, 4, 3, 3, 2, 2, 2, 2, 3, 0,
506 2, 2, 2, 2, 3, 0, 2, 2, 1, 1,
507 2, 2, 1, 1, 2, 2, 2, 3, 0, 2,
508 1, 1, 1, 4, 4, 1, 1, 1, 1, 3,
509 1, 3, 0, 4, 0, 6, 3, 0, 6, 3,
510 0, 1, 1, 2, 6, 1, 3, 0, 1, 4,
511 6, 4, 1, 1, 1, 1, 1, 0, 4, 1,
512 0, 2, 1, 3, 3, 2, 0, 4, 1, 0,
513 4, 1, 1, 1, 2, 2, 5, 3, 0, 0,
514 5, 0, 0, 5, 1, 1, 3, 3, 4, 3,
515 3, 3, 1, 3, 4, 4, 3, 3, 3, 1,
516 3, 3, 3, 4, 4, 3, 3, 1, 1, 2,
517 1, 2, 1, 2, 0, 7, 5, 2, 0, 7,
518 5, 2, 0, 8, 0, 7, 2, 0, 1, 0,
519 1, 1, 2, 0, 3, 2, 3, 1, 3, 1,
520 1, 2, 1, 3, 4, 6, 5, 1, 3, 1,
521 1, 3, 2, 2, 0, 1, 1, 2, 0, 2,
522 3, 3, 2, 3, 4, 3, 2, 3, 2, 3,
523 1, 1, 2, 2, 0, 1, 2, 0, 0, 1,
524 1, 2, 3, 1, 2, 1, 1, 5, 4, 4,
525 2, 2, 2, 2, 4, 0, 4, 0, 0, 3,
526 4, 3, 1, 1, 1, 1, 2, 0, 4, 1,
527 3, 0, 0, 7, 5, 2, 0, 0, 0, 12,
528 0, 6, 2, 2, 2, 3, 6, 8, 10, 12,
529 3, 4, 1, 1, 0, 6, 3, 5, 2, 3,
530 0, 1, 0, 1, 0, 1, 1, 3, 4, 1,
531 3, 0, 2, 2, 0, 4, 2, 0, 1, 1,
532 3, 1, 3, 4, 4, 4, 4, 4, 0, 2,
536 static const short yydefact[] = { 3,
537 5, 0, 0, 0, 153, 144, 151, 143, 243, 239,
538 241, 0, 0, 0, 407, 18, 4, 8, 7, 0,
539 119, 119, 139, 130, 140, 173, 0, 0, 0, 152,
540 0, 6, 16, 17, 244, 240, 242, 0, 0, 0,
541 238, 289, 0, 0, 161, 120, 0, 15, 0, 14,
542 0, 141, 130, 142, 146, 145, 128, 174, 31, 32,
543 264, 248, 264, 252, 255, 257, 10, 87, 88, 100,
544 57, 58, 0, 0, 0, 0, 33, 35, 34, 0,
545 36, 37, 0, 38, 39, 0, 0, 40, 59, 0,
546 0, 63, 43, 45, 89, 0, 0, 287, 0, 285,
547 149, 0, 285, 178, 0, 0, 11, 0, 0, 30,
548 0, 399, 0, 0, 171, 223, 289, 0, 0, 159,
549 120, 0, 215, 216, 0, 0, 129, 132, 156, 157,
550 131, 133, 158, 0, 0, 245, 0, 249, 0, 253,
551 54, 55, 0, 49, 46, 0, 321, 0, 0, 48,
552 0, 0, 0, 50, 0, 52, 0, 0, 80, 78,
553 76, 0, 0, 0, 0, 0, 0, 0, 0, 0,
554 0, 0, 0, 98, 99, 0, 0, 41, 0, 101,
555 0, 317, 309, 0, 47, 154, 289, 382, 0, 120,
556 283, 286, 147, 155, 288, 149, 284, 184, 185, 186,
557 183, 0, 176, 179, 290, 233, 232, 162, 163, 237,
558 0, 231, 0, 0, 236, 0, 0, 28, 0, 328,
559 107, 329, 170, 172, 0, 0, 13, 0, 0, 22,
560 0, 171, 399, 0, 12, 26, 0, 171, 271, 266,
561 119, 263, 119, 0, 264, 171, 264, 280, 281, 260,
562 278, 0, 0, 91, 90, 0, 9, 44, 0, 0,
563 86, 85, 0, 0, 0, 0, 74, 75, 73, 72,
564 71, 69, 70, 64, 65, 66, 67, 68, 97, 96,
565 0, 42, 0, 93, 0, 0, 310, 311, 92, 293,
566 0, 297, 0, 299, 0, 0, 382, 0, 150, 148,
567 0, 178, 41, 0, 0, 403, 389, 119, 119, 401,
568 0, 390, 392, 400, 0, 234, 235, 307, 0, 109,
569 104, 108, 0, 168, 221, 217, 160, 222, 20, 167,
570 218, 220, 0, 24, 247, 328, 265, 328, 272, 0,
571 251, 0, 0, 261, 0, 260, 0, 61, 60, 51,
572 53, 0, 0, 79, 77, 94, 95, 405, 0, 0,
573 0, 328, 0, 0, 116, 329, 302, 312, 292, 291,
574 383, 298, 300, 294, 296, 0, 175, 177, 87, 0,
575 164, 387, 285, 285, 384, 385, 0, 402, 0, 0,
576 316, 29, 308, 314, 105, 119, 119, 136, 0, 0,
577 165, 219, 0, 267, 273, 329, 269, 171, 171, 282,
578 279, 171, 0, 0, 0, 81, 84, 313, 0, 319,
579 118, 117, 306, 0, 320, 304, 329, 303, 0, 295,
580 180, 0, 182, 230, 289, 382, 120, 171, 171, 171,
581 289, 120, 171, 171, 0, 391, 393, 404, 315, 322,
582 112, 0, 113, 0, 136, 134, 190, 188, 187, 169,
583 21, 0, 25, 328, 0, 246, 250, 256, 171, 56,
584 203, 87, 0, 0, 200, 0, 202, 0, 258, 193,
585 199, 0, 0, 0, 406, 318, 0, 153, 0, 342,
586 326, 0, 0, 0, 0, 0, 0, 0, 0, 371,
587 363, 0, 0, 114, 119, 119, 335, 340, 0, 0,
588 332, 333, 336, 364, 334, 0, 0, 293, 0, 399,
589 0, 394, 395, 396, 293, 0, 397, 398, 386, 0,
590 0, 163, 135, 138, 137, 0, 166, 274, 0, 171,
591 254, 206, 0, 0, 197, 62, 0, 192, 0, 205,
592 196, 82, 0, 0, 328, 373, 0, 0, 369, 353,
593 354, 355, 0, 0, 0, 372, 0, 171, 337, 125,
594 0, 126, 0, 0, 324, 329, 323, 346, 0, 127,
595 181, 228, 229, 224, 0, 227, 0, 110, 111, 0,
596 171, 0, 275, 0, 208, 0, 0, 194, 195, 0,
597 0, 0, 374, 45, 0, 0, 0, 367, 356, 0,
598 361, 0, 370, 0, 123, 209, 0, 124, 212, 341,
599 328, 0, 0, 225, 226, 189, 277, 171, 0, 201,
600 198, 325, 0, 327, 365, 347, 351, 0, 362, 0,
601 121, 0, 122, 0, 339, 330, 328, 0, 276, 207,
602 343, 328, 373, 328, 368, 375, 0, 210, 213, 331,
603 345, 328, 366, 0, 352, 0, 0, 376, 377, 357,
604 0, 0, 344, 348, 0, 375, 0, 0, 211, 214,
605 373, 0, 0, 358, 378, 0, 379, 0, 0, 349,
606 380, 0, 359, 328, 0, 0, 350, 360, 381, 0,
610 static const short yydefgoto[] = { 700,
611 1, 2, 3, 17, 18, 19, 231, 400, 237, 403,
612 114, 319, 476, 86, 148, 281, 88, 89, 90, 91,
613 92, 415, 93, 266, 265, 263, 484, 264, 94, 95,
614 218, 219, 220, 395, 361, 362, 20, 109, 504, 308,
615 57, 396, 456, 309, 23, 100, 193, 24, 131, 119,
616 44, 115, 120, 462, 45, 399, 223, 224, 26, 202,
617 203, 204, 460, 536, 478, 479, 480, 597, 481, 544,
618 482, 483, 615, 642, 671, 618, 644, 672, 209, 123,
619 438, 124, 27, 28, 29, 30, 245, 247, 252, 139,
620 548, 345, 134, 135, 242, 404, 405, 250, 251, 102,
621 191, 103, 105, 192, 363, 364, 424, 221, 183, 286,
622 287, 288, 392, 393, 184, 96, 394, 508, 509, 510,
623 555, 576, 323, 577, 367, 511, 512, 621, 554, 662,
624 653, 681, 694, 654, 513, 514, 652, 515, 567, 605,
625 667, 668, 669, 692, 292, 293, 310, 445, 311, 312,
626 313, 212, 213, 314, 315, 359, 97
629 static const short yypact[] = { 130,
630 136, 2364, 2364, 105,-32768,-32768,-32768,-32768, 117, 117,
631 117, 22, 103, 137,-32768,-32768,-32768,-32768,-32768, 288,
632 134, 461, 168,-32768, 117,-32768, 48, 86, 95,-32768,
633 2364,-32768,-32768,-32768, 117, 117, 117, 2180, 2090, 139,
634 -32768,-32768, 288, 127,-32768, 117, 1396,-32768, 245,-32768,
635 288, 168,-32768, 117,-32768,-32768, 559,-32768,-32768,-32768,
636 -32768, 135,-32768, 144,-32768, 169,-32768,-32768,-32768,-32768,
637 -32768,-32768, 2180, 2180, 179, 328,-32768,-32768,-32768, 2180,
638 -32768,-32768, 1133,-32768,-32768, 2180, 185, 188,-32768, 2215,
639 2270,-32768, 2495, 1061, 265, 627, 2180,-32768, 206, 228,
640 -32768, 209, 978, 689, 350, 215,-32768, 245, 288,-32768,
641 196,-32768, 1496, 855, 117,-32768,-32768, 245, 237,-32768,
642 117, 1488, 367, 386, 273, 1460, 559,-32768,-32768,-32768,
643 -32768, 117,-32768, 222, 949,-32768, 270,-32768, 438,-32768,
644 -32768,-32768, 2180,-32768,-32768, 230,-32768, 239, 267,-32768,
645 313, 2180, 1133,-32768, 1133,-32768, 2180, 2180, 321,-32768,
646 -32768, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180,
647 2180, 2180, 2180,-32768,-32768, 328, 328, 2180, 2180,-32768,
648 286,-32768, 363, 320,-32768,-32768,-32768, 228, 1551, 117,
649 -32768, 416, 376,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
650 -32768, 35,-32768, 347,-32768, 386,-32768,-32768, 387, 386,
651 443,-32768, 1051, 1589,-32768, 370, 379,-32768, 323, 55,
652 -32768,-32768, 425, 117, 240, 285,-32768, 245, 245,-32768,
653 855, 117,-32768, 1644,-32768,-32768, 855, 117,-32768,-32768,
654 305, 393, 431, 1919,-32768, 117,-32768,-32768, 452, 410,
655 -32768, 438, 2430,-32768,-32768, 1975,-32768, 2495, 421, 444,
656 2495, 2495, 2180, 463, 2180, 2180, 2518, 571, 2059, 727,
657 1401, 733, 733, 104, 104,-32768,-32768,-32768,-32768,-32768,
658 446, 188, 432,-32768, 328, 794, 363,-32768,-32768, 351,
659 316,-32768, 1653,-32768, 445, 228,-32768, 1682,-32768, 376,
660 450, 689, 2305, 94, 454,-32768,-32768,-32768, 743,-32768,
661 456, 276,-32768,-32768, 110,-32768,-32768,-32768, 71,-32768,
662 -32768,-32768, 2188,-32768, 367,-32768,-32768, 367,-32768, 471,
663 -32768,-32768, 453,-32768,-32768,-32768,-32768,-32768,-32768, 436,
664 -32768, 457, 2180, 328, 459, 410, 945,-32768,-32768,-32768,
665 -32768, 509, 2180, 2354, 2507,-32768,-32768,-32768, 296, 401,
666 709, 476, 477, 885,-32768,-32768,-32768,-32768, 416,-32768,
667 -32768,-32768, 416,-32768,-32768, 482,-32768,-32768, 131, 484,
668 -32768,-32768, 234, 156,-32768,-32768, 661,-32768, 565, 485,
669 -32768,-32768, 490,-32768,-32768, 497, 1745,-32768, 1330, 71,
670 -32768,-32768, 71, 495,-32768,-32768, 495, 117, 117, 2495,
671 -32768, 117, 499, 502, 1168,-32768, 2241,-32768, 328,-32768,
672 -32768,-32768,-32768, 501,-32768,-32768,-32768,-32768, 1858,-32768,
673 -32768, 2180,-32768,-32768,-32768, 156, 117, 253, 282, 117,
674 -32768, 117, 282, 117, 1653,-32768,-32768,-32768,-32768,-32768,
675 -32768, 245,-32768, 288,-32768, 420,-32768,-32768, 2495,-32768,
676 -32768, 1330,-32768,-32768, 248,-32768,-32768,-32768, 117,-32768,
677 -32768, 543, 328, 2180,-32768, 545, 2495, 506, 504,-32768,
678 -32768, 83, 1292, 2180,-32768,-32768, 1940, 552, 532,-32768,
679 -32768, 533, 534, 2180, 558, 521, 535, 2125, 98, 606,
680 -32768, 587, 550,-32768, 584, 547,-32768, 648, 992, 53,
681 -32768,-32768,-32768,-32768,-32768, 2034, 138, 220, 234,-32768,
682 1737,-32768,-32768,-32768, 174, 156,-32768,-32768,-32768, 314,
683 326, 121, 420,-32768,-32768, 1168,-32768,-32768, 2180, 64,
684 -32768,-32768, 2403, 1168,-32768,-32768, 1230,-32768, 1387,-32768,
685 -32768, 2241, 2180, 609,-32768, 2180, 2180, 1801,-32768,-32768,
686 -32768,-32768, 597, 2180, 601,-32768, 620, 117,-32768,-32768,
687 245,-32768, 288, 1074,-32768,-32768,-32768,-32768, 2180,-32768,
688 -32768, 424, 424,-32768, 1775,-32768, 600,-32768,-32768, 602,
689 2455, 2180,-32768, 2180,-32768, 607, 1387,-32768,-32768, 608,
690 2180, 673,-32768, 641, 646, 621, 2180,-32768,-32768, 662,
691 -32768, 2180,-32768, 337,-32768, 467, 338,-32768, 1143,-32768,
692 -32768, 1940, 667,-32768,-32768,-32768,-32768, 2455, 2385,-32768,
693 -32768,-32768, 668,-32768,-32768,-32768,-32768, 2477,-32768, 29,
694 -32768, 855,-32768, 855,-32768,-32768,-32768, 674,-32768,-32768,
695 -32768,-32768, 2180,-32768,-32768, 749, 683,-32768,-32768,-32768,
696 -32768,-32768,-32768, 684,-32768, 691, 31, 681,-32768,-32768,
697 485, 485,-32768,-32768, 2180, 749, 688, 749,-32768,-32768,
698 2180, 690, 33,-32768,-32768, 694,-32768, 443, 715,-32768,
699 265, 178,-32768,-32768, 717, 443,-32768,-32768, 265, 769,
703 static const short yypgoto[] = {-32768,
704 -32768,-32768,-32768, 54,-32768,-32768,-32768,-32768,-32768,-32768,
705 -32768,-32768, -23,-32768, -38, 507, -138, 397,-32768,-32768,
706 -65,-32768, 439,-32768,-32768,-32768,-32768,-32768, 274, -182,
707 -188, 611,-32768,-32768, 464,-32768, -10, -66, 317, 28,
708 779,-32768, 380, 32, -4, -77, 638, 25, -171, -402,
709 -44, -112, -62,-32768,-32768,-32768, -70, 17, 42,-32768,
710 538,-32768, 375,-32768, -417,-32768, 294,-32768, -407,-32768,
711 -32768, 360,-32768,-32768,-32768,-32768,-32768,-32768, -46, -26,
712 -6, -18,-32768,-32768,-32768, -41,-32768,-32768,-32768,-32768,
713 -32768, 503, -25,-32768, 599, 510, 383, 605, 508, -22,
714 -80, -73, -81, -95, 491,-32768,-32768, -149,-32768,-32768,
715 -32768, 576, -288,-32768, 465,-32768, -349,-32768,-32768,-32768,
716 -32768, -97, -322, -460, 500,-32768, 243,-32768,-32768,-32768,
717 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 244,-32768, -571,
718 194,-32768, 193,-32768, 575,-32768, -248,-32768,-32768,-32768,
719 487, -209,-32768,-32768,-32768,-32768, 11
726 static const short yytable[] = { 87,
727 99, 47, 122, 62, 64, 66, 125, 141, 142, 232,
728 49, 51, 31, 31, 145, 133, 222, 52, 25, 25,
729 150, 299, 197, 331, 106, 35, 36, 37, 304, 21,
730 21, 185, 126, 22, 22, 225, 46, 137, 54, 282,
731 449, 31, 329, 429, 371, 208, 53, 25, 334, 530,
732 59, 60, 144, 578, 229, -103, 32, 241, 21, 46,
733 149, 243, 22, 101, 321, 121, 58, 46, 656, 320,
734 676, 390, 688, 132, 216, 551, 58, 58, 58, 507,
735 201, 664, 38, 465, 67, 133, 206, 58, 59, 60,
736 210, 226, 291, 14, 602, 58, 232, 59, 60, 106,
737 59, 60, 180, 592, 487, 290, 657, 101, 677, 686,
738 689, 461, 301, 579, 463, 249, 190, 302, 590, 190,
739 549, 46, 222, 296, 121, 46, 596, 196, 299, -1,
740 259, 61, 260, 222, 121, -2, 365, 507, -103, 222,
741 283, 599, 473, 132, 474, 244, 14, 111, 145, 564,
742 295, 133, 279, 280, 391, 171, 172, 173, 41, 101,
743 645, 330, 58, 39, 282, 327, 241, 335, 614, 63,
744 243, 381, 55, 58, 56, 341, 41, 101, 65, 101,
745 205, 112, 113, 33, 34, 14, 660, 388, 366, 631,
746 349, 663, 389, 665, 369, 333, 529, 40, 325, 104,
747 373, 673, 328, 14, 190, 107, 206, 441, 431, 108,
748 210, 421, 48, 432, 426, 581, 436, 189, 136, 340,
749 152, 342, 41, 434, 352, 441, 205, 138, 249, 25,
750 336, 58, 338, 697, 436, 189, 41, 434, 406, 143,
751 406, 121, 41, 116, 121, 121, 205, 41, 116, 14,
752 41, 116, 140, 622, 244, 695, 211, 14, 133, 376,
753 696, 358, 151, 14, 366, 58, 427, 196, 101, 14,
754 152, 435, 507, 180, 14, 112, 113, 14, 201, 187,
755 436, 189, 14, 186, 535, 435, 194, 539, 188, 189,
756 41, 117, 207, 517, 436, 189, 117, 383, 384, 117,
757 118, 238, 440, 444, 52, 118, 190, 254, 118, 25,
758 584, 14, 190, 520, 521, 227, 255, 14, 397, 228,
759 249, 679, 680, 217, 414, 54, -106, -106, -106, -106,
760 59, 60, -106, 53, -106, -106, -106, 466, 467, 42,
761 291, 468, 112, 113, 256, 233, 234, 398, 43, 246,
762 -106, 235, 41, 518, 386, 108, 205, 205, 387, 525,
763 -83, 535, 326, 284, 439, 443, 406, 522, 523, 524,
764 519, 101, 527, 528, 418, 526, 297, 298, 419, 14,
765 14, 129, 130, -268, -268, 452, 454, 9, 10, 11,
766 503, 257, 588, 370, 285, 485, 228, 289, 541, 437,
767 442, 42, 187, 25, 589, 502, -106, 303, 108, 531,
768 43, 188, 189, 111, 133, 641, 643, 106, 540, 228,
769 108, 455, 369, 373, 534, 129, 130, 233, 234, 369,
770 373, 9, 10, 11, 5, 532, 7, 195, 248, 516,
771 59, 60, 9, 10, 11, 25, 112, 113, 503, 542,
772 185, 70, 442, 658, 317, 659, 505, 318, 13, 563,
773 506, 25, 324, 502, 5, 6, 7, 8, 121, 593,
774 46, 337, 9, 10, 11, 565, 297, 298, 58, 318,
775 420, 121, 587, 58, 520, 521, 154, 156, 13, 343,
776 14, 133, 344, 111, 571, 573, -163, 613, 350, 206,
777 210, 52, 353, 232, -163, 691, 206, 210, 401, -270,
778 -270, 582, 583, 699, 600, 408, 357, 603, 606, 145,
779 627, 351, 54, 356, 616, 610, 516, 377, 617, 372,
780 53, 382, 25, 385, 437, 437, 409, 402, 412, 50,
781 623, 442, 442, 505, 222, -163, 222, 506, 416, -163,
782 5, 6, 7, 8, 619, -305, 425, 649, 9, 10,
783 11, 433, 633, 128, 129, 130, 430, 448, 391, 182,
784 9, 10, 11, 640, 13, 451, 14, 464, 469, 470,
785 486, 253, -31, 503, 545, 546, 547, 121, 14, 46,
786 258, -32, 553, 556, 557, 261, 262, 559, 502, 560,
787 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
788 277, 278, 566, 561, 603, 164, 165, 166, 167, 168,
789 169, 170, 171, 172, 173, 572, 568, 181, 569, -308,
790 -308, -308, -308, -308, -308, -308, 682, -308, -308, -308,
791 -308, -308, 603, -308, -308, -308, -308, -308, -308, -308,
792 -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
793 -308, -308, 570, 574, 5, 6, 7, 8, -308, 601,
794 446, -308, 9, 10, 11, 609, -308, -308, -308, 611,
795 612, 626, -308, -308, 625, 632, 630, -308, 13, 634,
796 14, 59, 60, 198, 199, 200, 174, 175, 637, 176,
797 177, 178, 179, 354, 355, -308, 182, -308, -308, 217,
798 -308, -115, -115, -115, -115, -115, -115, -115, 635, -115,
799 -115, -115, -115, -115, 636, -115, -115, -115, -115, -115,
800 -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
801 639, -115, -115, -115, 648, 651, 5, 6, 7, 8,
802 -115, 675, 661, -115, 9, 10, 11, 666, -115, -115,
803 -115, 670, 674, 678, -115, -115, 684, 687, 701, -115,
804 13, 690, 14, 166, 167, 168, 169, 170, 171, 172,
805 173, 410, 169, 170, 171, 172, 173, -115, -115, -115,
806 -115, 417, -115, 693, 360, 698, -328, -328, -328, -328,
807 -328, -328, -328, 702, -328, -328, -328, -328, -328, 380,
808 -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
809 -328, -328, -328, -328, -328, 422, -328, -328, -328, 604,
810 322, 127, 580, 300, 533, -328, 537, 459, -328, 378,
811 598, 550, 339, -328, -328, -328, 538, 407, 413, -328,
812 -328, 411, 423, 477, -328, 217, 346, 450, -328, -328,
813 -328, -328, 368, 428, 646, 647, -328, -328, -328, 683,
814 685, 374, -328, 447, -328, -328, 0, -328, 0, 0,
815 0, 0, -328, 0, 0, 217, 0, -328, -328, 0,
816 0, 0, -328, -328, 0, -328, 0, 0, 0, -328,
817 459, -328, -328, -328, -328, -328, -328, -328, -328, -328,
818 -328, -328, 543, -328, 0, -328, 0, -328, -328, -328,
819 0, 477, 552, 0, 0, 0, -328, 0, 0, -328,
820 0, 0, 558, 0, -328, -328, -328, 0, -102, 0,
821 -328, -328, 0, 0, 0, -328, 0, 0, 5, 239,
822 7, 98, 5, 0, 7, 98, 9, 10, 11, 0,
823 9, 10, 11, -328, -301, -328, -328, 0, -328, 0,
824 0, 0, 13, 0, 477, 0, 13, 591, 0, 15,
825 0, 5, 477, 7, 195, 477, 0, 477, 0, 9,
826 10, 11, 575, 0, -328, -328, 0, 0, 0, -328,
827 -328, 0, -328, 0, 0, 13, -328, 14, -328, -328,
828 -328, -328, -328, -328, -328, -328, -328, -328, -328, 0,
829 -328, 0, -328, 0, -328, -328, -328, 240, -262, 187,
830 628, 0, 629, -328, 0, 477, -328, 0, 188, 189,
831 0, -328, -328, -328, 0, 638, 0, -328, -328, 0,
832 0, 305, -328, 306, 5, 6, 7, 8, 0, 0,
833 307, 0, 9, 10, 11, 0, 0, 0, 0, 0,
834 -328, 0, -328, -328, 620, -328, -338, -338, 13, 0,
835 14, -338, -338, 0, -338, 0, 0, 0, -338, 0,
836 -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
837 -338, 0, -338, 0, -338, 0, -338, -338, -338, 0,
838 0, 0, 0, 0, 0, -338, 174, 175, -338, 176,
839 177, 178, 179, -338, -338, -338, 0, 0, -388, -338,
840 -338, 0, 0, 146, -338, 68, 5, 0, 7, 98,
841 69, 70, 0, 71, 9, 10, 11, 0, 0, 0,
842 0, 0, -338, 0, -338, -338, 0, -338, 0, 0,
843 13, 72, 0, 15, 0, 73, 74, 75, 471, 111,
844 472, 60, -163, 0, 76, 69, 70, 77, 71, 0,
845 -163, 0, 78, 79, 80, 0, 0, 0, 81, 82,
846 0, 0, 0, 83, 0, 0, 72, 0, 15, 0,
847 73, 74, 75, 112, 113, 0, 0, 0, 0, 76,
848 0, 0, 77, 84, 85, 0, 147, 78, 79, 80,
849 0, -163, 0, 81, 82, -163, 0, 473, 83, 474,
850 471, 0, 472, 60, 0, 0, 0, 69, 70, 0,
851 71, 0, 0, 0, 0, 0, 0, -191, 84, 85,
852 0, 475, 0, 0, 0, 0, 0, 0, 72, 0,
853 15, 0, 73, 74, 75, 0, 0, 0, 0, 0,
854 0, 76, 0, 0, 77, 0, 0, 0, 0, 78,
855 79, 80, 0, 0, 0, 81, 82, 0, 0, 473,
856 83, 474, 471, 0, 68, 0, 0, 0, 0, 69,
857 70, 0, 71, 0, 0, 0, 0, 0, 0, -259,
858 84, 85, 0, 475, 0, 0, 0, 0, 0, 0,
859 72, 0, 15, 0, 73, 74, 75, 0, 0, -204,
860 457, 0, 68, 76, 0, 0, 77, 69, 70, 0,
861 71, 78, 79, 80, 0, 0, 0, 81, 82, 0,
862 0, -204, 83, -204, 0, 0, 0, 0, 72, 0,
863 15, 0, 73, 74, 75, 0, 0, 0, 0, 0,
864 0, 76, 84, 85, 77, 475, 0, 0, 0, 78,
865 79, 80, 0, 0, 0, 81, 82, 471, 0, 68,
866 83, 0, 0, 0, 69, 70, 110, 71, 0, -27,
867 -27, -27, -27, 0, 0, 0, 0, -27, -27, -27,
868 84, 85, 0, 458, 0, 72, 0, 15, 0, 73,
869 74, 75, 111, -27, 0, -163, 0, 0, 76, 0,
870 0, 77, 0, -163, 0, 0, 78, 79, 80, 0,
871 0, 0, 81, 82, 0, 0, 0, 83, 167, 168,
872 169, 170, 171, 172, 173, 0, 112, 113, 0, 0,
873 236, 0, 0, -23, -23, -23, -23, 84, 85, 0,
874 475, -23, -23, -23, -163, 0, 0, 0, -163, -27,
875 0, 0, 0, 0, 0, 0, 111, -23, 230, -163,
876 0, -19, -19, -19, -19, 0, 0, -163, 68, -19,
877 -19, -19, 0, 69, 70, 0, 71, 0, 0, 0,
878 0, 0, 0, 0, 111, -19, 0, -163, 0, 0,
879 112, 113, 0, 0, 72, -163, 15, 0, 73, 74,
880 75, 0, 0, 0, 0, 0, 0, 76, -163, 0,
881 77, 0, -163, -23, 0, 78, 79, 214, 0, 0,
882 0, 81, 82, 68, 0, 0, 83, 0, 69, 70,
883 0, 71, 0, 0, 0, 0, -163, 0, 0, 0,
884 -163, -19, 0, 0, 0, 0, 84, 85, 0, 72,
885 215, 15, 0, 73, 74, 75, 0, 0, 0, 0,
886 0, 68, 76, 0, 0, 77, 69, 70, 0, 71,
887 78, 79, 80, 0, 0, 0, 81, 82, 0, 0,
888 0, 83, 0, 0, 0, 0, 0, 72, 0, 15,
889 0, 73, 74, 75, 0, 0, 0, 0, 0, 0,
890 76, 84, 85, 77, 0, 294, 0, 0, 78, 79,
891 80, 0, 0, 0, 81, 82, 68, 0, 0, 83,
892 0, 69, 70, 305, 71, 0, 5, 6, 7, 8,
893 0, 0, 307, 0, 9, 10, 11, 0, 0, 84,
894 85, 0, 72, 316, 15, 0, 73, 74, 75, 0,
895 13, 0, 14, 0, 68, 76, 0, 0, 77, 69,
896 70, 0, 71, 78, 79, 80, 0, 0, 0, 81,
897 82, 0, 0, 0, 83, 0, 0, 0, 0, 0,
898 72, 0, 15, 0, 73, 74, 75, 0, 0, 0,
899 0, 0, 0, 76, 84, 85, 77, 0, 332, 0,
900 -388, 78, 79, 80, 0, 0, 0, 81, 82, 68,
901 0, 0, 83, 0, 69, 70, 0, 71, 5, 55,
902 7, 56, 0, 0, 0, 0, 9, 10, 11, 0,
903 0, 0, 84, 85, 0, 72, 375, 15, 0, 73,
904 74, 75, 13, 0, 0, 0, 0, 68, 76, 0,
905 0, 77, 69, 70, 0, 71, 78, 79, 585, 0,
906 0, 0, 81, 82, 0, 0, 0, 83, 0, 0,
907 0, 0, 0, 72, 0, 15, 0, 73, 74, 75,
908 607, 0, 0, 0, 0, 0, 76, 84, 85, 77,
909 0, 586, 0, 453, 78, 79, 80, 0, 0, 0,
910 81, 82, 0, 0, 0, 83, 0, 157, 158, 159,
911 608, 160, 161, 162, 163, 164, 165, 166, 167, 168,
912 169, 170, 171, 172, 173, 84, 85, 0, 0, 624,
913 472, 488, 6, 7, 8, 69, 70, 0, 71, 9,
914 10, 11, 489, 0, 490, 491, 492, 493, 494, 495,
915 496, 497, 498, 499, 500, 13, 72, 14, 15, 0,
916 73, 74, 75, 0, 0, 0, 0, 0, 0, 76,
917 0, 0, 77, 0, 0, 0, 0, 78, 79, 80,
918 0, 0, 0, 81, 82, 0, 0, 0, 83, 239,
919 0, 0, 5, 0, 7, 98, 0, 0, 0, 0,
920 9, 10, 11, 0, 0, 0, 501, 0, 84, 85,
921 0, 391, 472, 60, 0, 0, 13, 69, 70, 15,
922 71, 0, 0, 0, 489, 0, 490, 491, 492, 493,
923 494, 495, 496, 497, 498, 499, 500, 0, 72, 0,
924 15, 0, 73, 74, 75, 0, 0, 68, 0, 0,
925 0, 76, 69, 70, 77, 71, 0, 0, 0, 78,
926 79, 80, 0, 0, 0, 81, 82, 0, 0, 0,
927 83, 0, 0, 72, 0, 15, 0, 73, 74, 75,
928 0, 0, 0, 0, 0, 0, 76, 0, 501, 77,
929 84, 85, 0, 391, 78, 79, 80, 0, 0, 0,
930 81, 82, 0, 0, 0, 83, 68, 5, 6, 7,
931 8, 69, 70, 0, 71, 9, 10, 11, 0, 0,
932 0, 0, 0, 0, 0, 84, 85, 0, 348, 0,
933 0, 13, 72, 14, 15, 0, 73, 74, 75, 0,
934 0, 0, 0, 0, 0, 76, 0, 0, 77, 0,
935 0, 0, 0, 78, 79, 80, 0, 0, 0, 81,
936 82, 0, 68, 5, 83, 7, 98, 69, 70, 0,
937 71, 9, 10, 11, 165, 166, 167, 168, 169, 170,
938 171, 172, 173, 0, 84, 85, 0, 13, 72, 0,
939 15, 0, 73, 74, 75, 0, 0, 68, 0, 0,
940 0, 76, 69, 70, 77, 71, 0, 0, 0, 78,
941 79, 80, 0, 0, 0, 81, 82, 0, 0, 0,
942 83, 0, 0, 72, 0, 15, 0, 73, 74, 75,
943 0, 0, 0, 0, 0, 0, 76, 0, 0, 77,
944 84, 85, 0, 0, 78, 79, 80, 0, 0, 0,
945 81, 82, 68, 0, 0, 83, 0, 69, 70, 0,
946 71, 5, 6, 7, 8, 0, 0, 0, 0, 9,
947 10, 11, 0, 562, 0, 84, 85, 0, 72, 0,
948 15, 0, 73, 74, 75, 13, 0, 68, 0, 0,
949 0, 76, 69, 70, 77, 71, 0, 0, 0, 78,
950 79, 80, 0, 0, 0, 81, 82, 0, 0, 0,
951 83, 0, 0, 72, 0, 15, 0, 73, 74, 75,
952 0, 0, 0, 0, 0, 0, 76, 0, 0, 77,
953 84, 85, 0, 0, 78, 79, 80, 0, 0, 0,
954 81, 82, 68, 0, 0, 153, 0, 69, 70, 159,
955 71, 160, 161, 162, 163, 164, 165, 166, 167, 168,
956 169, 170, 171, 172, 173, 84, 85, 0, 72, 0,
957 15, 0, 73, 74, 75, 0, 0, 379, 0, 0,
958 0, 76, 69, 70, 77, 71, 0, 0, 0, 78,
959 79, 80, 0, 0, 0, 81, 82, 0, 0, 0,
960 155, 0, 0, 72, 0, 15, 0, 73, 74, 75,
961 0, 0, 0, 0, 0, 0, 76, 0, 0, 77,
962 84, 85, 0, 0, 78, 79, 80, 0, 0, 0,
963 81, 82, 0, 0, 4, 83, -119, 5, 6, 7,
964 8, 0, 0, 0, 0, 9, 10, 11, 0, 0,
965 0, 0, 0, 0, 0, 84, 85, 0, 0, 0,
966 12, 13, 0, 14, 15, 161, 162, 163, 164, 165,
967 166, 167, 168, 169, 170, 171, 172, 173, 0, 0,
968 0, 0, 594, 0, 0, -119, 0, 0, 0, 0,
969 0, 157, 158, 159, -119, 160, 161, 162, 163, 164,
970 165, 166, 167, 168, 169, 170, 171, 172, 173, 157,
971 158, 159, 16, 160, 161, 162, 163, 164, 165, 166,
972 167, 168, 169, 170, 171, 172, 173, 0, 0, 0,
973 0, 0, 0, 0, 0, 0, 157, 158, 159, 650,
974 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
975 170, 171, 172, 173, 14, 0, 0, 595, 0, 0,
976 0, 157, 158, 159, 0, 160, 161, 162, 163, 164,
977 165, 166, 167, 168, 169, 170, 171, 172, 173, 0,
978 0, 0, 347, 157, 158, 159, 655, 160, 161, 162,
979 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
980 173, 157, 158, 159, 0, 160, 161, 162, 163, 164,
981 165, 166, 167, 168, 169, 170, 171, 172, 173, 162,
982 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
983 173, 163, 164, 165, 166, 167, 168, 169, 170, 171,
987 static const short yycheck[] = { 38,
988 39, 20, 49, 27, 28, 29, 51, 73, 74, 122,
989 21, 22, 2, 3, 80, 57, 114, 22, 2, 3,
990 86, 193, 103, 233, 43, 9, 10, 11, 211, 2,
991 3, 97, 51, 2, 3, 117, 20, 63, 22, 178,
992 390, 31, 231, 366, 293, 108, 22, 31, 237, 452,
993 3, 4, 76, 1, 121, 1, 3, 135, 31, 43,
994 83, 135, 31, 39, 10, 49, 25, 51, 40, 219,
995 40, 1, 40, 57, 113, 483, 35, 36, 37, 429,
996 104, 653, 61, 406, 31, 127, 105, 46, 3, 4,
997 109, 118, 188, 30, 555, 54, 209, 3, 4, 118,
998 3, 4, 9, 40, 427, 187, 78, 83, 78, 681,
999 78, 400, 78, 61, 403, 139, 100, 83, 536, 103,
1000 38, 105, 220, 190, 108, 109, 544, 103, 300, 0,
1001 153, 84, 155, 231, 118, 0, 286, 487, 84, 237,
1002 179, 549, 60, 127, 62, 135, 30, 27, 214, 52,
1003 189, 193, 176, 177, 84, 52, 53, 54, 3, 135,
1004 621, 232, 121, 61, 303, 228, 244, 238, 571, 84,
1005 244, 78, 5, 132, 7, 246, 3, 153, 84, 155,
1006 7, 61, 62, 79, 80, 30, 647, 78, 286, 597,
1007 256, 652, 83, 654, 290, 234, 445, 61, 225, 61,
1008 296, 662, 229, 30, 188, 79, 225, 52, 78, 83,
1009 229, 361, 79, 83, 364, 78, 61, 62, 84, 245,
1010 83, 247, 3, 4, 263, 52, 7, 84, 252, 213,
1011 241, 190, 243, 694, 61, 62, 3, 4, 336, 61,
1012 338, 225, 3, 4, 228, 229, 7, 3, 4, 30,
1013 3, 4, 84, 576, 244, 78, 61, 30, 300, 298,
1014 83, 285, 78, 30, 362, 224, 364, 243, 244, 30,
1015 83, 52, 622, 9, 30, 61, 62, 30, 302, 52,
1016 61, 62, 30, 78, 456, 52, 78, 40, 61, 62,
1017 3, 52, 78, 432, 61, 62, 52, 308, 309, 52,
1018 61, 80, 383, 384, 309, 61, 290, 78, 61, 293,
1019 520, 30, 296, 61, 62, 79, 78, 30, 323, 83,
1020 344, 671, 672, 1, 347, 309, 4, 5, 6, 7,
1021 3, 4, 10, 309, 12, 13, 14, 408, 409, 52,
1022 436, 412, 61, 62, 78, 61, 62, 323, 61, 80,
1023 28, 79, 3, 435, 79, 83, 7, 7, 83, 441,
1024 40, 533, 78, 78, 383, 384, 464, 438, 439, 440,
1025 437, 347, 443, 444, 79, 442, 61, 62, 83, 30,
1026 30, 6, 7, 79, 80, 396, 397, 12, 13, 14,
1027 429, 79, 79, 78, 32, 419, 83, 78, 469, 383,
1028 384, 52, 52, 387, 79, 429, 84, 61, 83, 454,
1029 61, 61, 62, 27, 456, 79, 79, 436, 465, 83,
1030 83, 397, 518, 519, 5, 6, 7, 61, 62, 525,
1031 526, 12, 13, 14, 4, 454, 6, 7, 1, 429,
1032 3, 4, 12, 13, 14, 429, 61, 62, 487, 473,
1033 516, 9, 436, 642, 85, 644, 429, 79, 28, 498,
1034 429, 445, 38, 487, 4, 5, 6, 7, 452, 540,
1035 454, 79, 12, 13, 14, 499, 61, 62, 437, 79,
1036 80, 465, 521, 442, 61, 62, 90, 91, 28, 38,
1037 30, 533, 83, 27, 505, 506, 30, 568, 78, 518,
1038 519, 506, 40, 616, 38, 688, 525, 526, 38, 79,
1039 80, 518, 519, 696, 553, 80, 85, 556, 557, 585,
1040 591, 78, 506, 78, 571, 564, 516, 78, 573, 85,
1041 506, 78, 516, 78, 518, 519, 80, 85, 80, 79,
1042 579, 525, 526, 516, 642, 79, 644, 516, 40, 83,
1043 4, 5, 6, 7, 573, 80, 80, 628, 12, 13,
1044 14, 78, 601, 5, 6, 7, 85, 3, 84, 80,
1045 12, 13, 14, 612, 28, 79, 30, 83, 80, 78,
1046 80, 143, 40, 622, 40, 80, 83, 571, 30, 573,
1047 152, 40, 61, 61, 61, 157, 158, 40, 622, 79,
1048 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
1049 172, 173, 7, 79, 653, 45, 46, 47, 48, 49,
1050 50, 51, 52, 53, 54, 79, 40, 1, 79, 3,
1051 4, 5, 6, 7, 8, 9, 675, 11, 12, 13,
1052 14, 15, 681, 17, 18, 19, 20, 21, 22, 23,
1053 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1054 34, 35, 79, 16, 4, 5, 6, 7, 42, 61,
1055 10, 45, 12, 13, 14, 79, 50, 51, 52, 79,
1056 61, 80, 56, 57, 85, 78, 80, 61, 28, 17,
1057 30, 3, 4, 5, 6, 7, 56, 57, 78, 59,
1058 60, 61, 62, 265, 266, 79, 80, 81, 82, 1,
1059 84, 3, 4, 5, 6, 7, 8, 9, 78, 11,
1060 12, 13, 14, 15, 79, 17, 18, 19, 20, 21,
1061 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1062 79, 33, 34, 35, 78, 78, 4, 5, 6, 7,
1063 42, 61, 79, 45, 12, 13, 14, 9, 50, 51,
1064 52, 79, 79, 83, 56, 57, 79, 78, 0, 61,
1065 28, 78, 30, 47, 48, 49, 50, 51, 52, 53,
1066 54, 343, 50, 51, 52, 53, 54, 79, 80, 81,
1067 82, 353, 84, 79, 1, 79, 3, 4, 5, 6,
1068 7, 8, 9, 0, 11, 12, 13, 14, 15, 303,
1069 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1070 27, 28, 29, 30, 31, 362, 33, 34, 35, 556,
1071 220, 53, 516, 196, 455, 42, 462, 399, 45, 302,
1072 547, 482, 244, 50, 51, 52, 464, 338, 346, 56,
1073 57, 344, 362, 415, 61, 1, 252, 393, 4, 5,
1074 6, 7, 287, 364, 622, 622, 12, 13, 14, 676,
1075 678, 297, 79, 387, 81, 82, -1, 84, -1, -1,
1076 -1, -1, 28, -1, -1, 1, -1, 3, 4, -1,
1077 -1, -1, 8, 9, -1, 11, -1, -1, -1, 15,
1078 462, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1079 26, 27, 474, 29, -1, 31, -1, 33, 34, 35,
1080 -1, 483, 484, -1, -1, -1, 42, -1, -1, 45,
1081 -1, -1, 494, -1, 50, 51, 52, -1, 84, -1,
1082 56, 57, -1, -1, -1, 61, -1, -1, 4, 1,
1083 6, 7, 4, -1, 6, 7, 12, 13, 14, -1,
1084 12, 13, 14, 79, 80, 81, 82, -1, 84, -1,
1085 -1, -1, 28, -1, 536, -1, 28, 539, -1, 31,
1086 -1, 4, 544, 6, 7, 547, -1, 549, -1, 12,
1087 13, 14, 1, -1, 3, 4, -1, -1, -1, 8,
1088 9, -1, 11, -1, -1, 28, 15, 30, 17, 18,
1089 19, 20, 21, 22, 23, 24, 25, 26, 27, -1,
1090 29, -1, 31, -1, 33, 34, 35, 79, 80, 52,
1091 592, -1, 594, 42, -1, 597, 45, -1, 61, 62,
1092 -1, 50, 51, 52, -1, 607, -1, 56, 57, -1,
1093 -1, 1, 61, 3, 4, 5, 6, 7, -1, -1,
1094 10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
1095 79, -1, 81, 82, 1, 84, 3, 4, 28, -1,
1096 30, 8, 9, -1, 11, -1, -1, -1, 15, -1,
1097 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1098 27, -1, 29, -1, 31, -1, 33, 34, 35, -1,
1099 -1, -1, -1, -1, -1, 42, 56, 57, 45, 59,
1100 60, 61, 62, 50, 51, 52, -1, -1, 78, 56,
1101 57, -1, -1, 1, 61, 3, 4, -1, 6, 7,
1102 8, 9, -1, 11, 12, 13, 14, -1, -1, -1,
1103 -1, -1, 79, -1, 81, 82, -1, 84, -1, -1,
1104 28, 29, -1, 31, -1, 33, 34, 35, 1, 27,
1105 3, 4, 30, -1, 42, 8, 9, 45, 11, -1,
1106 38, -1, 50, 51, 52, -1, -1, -1, 56, 57,
1107 -1, -1, -1, 61, -1, -1, 29, -1, 31, -1,
1108 33, 34, 35, 61, 62, -1, -1, -1, -1, 42,
1109 -1, -1, 45, 81, 82, -1, 84, 50, 51, 52,
1110 -1, 79, -1, 56, 57, 83, -1, 60, 61, 62,
1111 1, -1, 3, 4, -1, -1, -1, 8, 9, -1,
1112 11, -1, -1, -1, -1, -1, -1, 80, 81, 82,
1113 -1, 84, -1, -1, -1, -1, -1, -1, 29, -1,
1114 31, -1, 33, 34, 35, -1, -1, -1, -1, -1,
1115 -1, 42, -1, -1, 45, -1, -1, -1, -1, 50,
1116 51, 52, -1, -1, -1, 56, 57, -1, -1, 60,
1117 61, 62, 1, -1, 3, -1, -1, -1, -1, 8,
1118 9, -1, 11, -1, -1, -1, -1, -1, -1, 80,
1119 81, 82, -1, 84, -1, -1, -1, -1, -1, -1,
1120 29, -1, 31, -1, 33, 34, 35, -1, -1, 38,
1121 1, -1, 3, 42, -1, -1, 45, 8, 9, -1,
1122 11, 50, 51, 52, -1, -1, -1, 56, 57, -1,
1123 -1, 60, 61, 62, -1, -1, -1, -1, 29, -1,
1124 31, -1, 33, 34, 35, -1, -1, -1, -1, -1,
1125 -1, 42, 81, 82, 45, 84, -1, -1, -1, 50,
1126 51, 52, -1, -1, -1, 56, 57, 1, -1, 3,
1127 61, -1, -1, -1, 8, 9, 1, 11, -1, 4,
1128 5, 6, 7, -1, -1, -1, -1, 12, 13, 14,
1129 81, 82, -1, 84, -1, 29, -1, 31, -1, 33,
1130 34, 35, 27, 28, -1, 30, -1, -1, 42, -1,
1131 -1, 45, -1, 38, -1, -1, 50, 51, 52, -1,
1132 -1, -1, 56, 57, -1, -1, -1, 61, 48, 49,
1133 50, 51, 52, 53, 54, -1, 61, 62, -1, -1,
1134 1, -1, -1, 4, 5, 6, 7, 81, 82, -1,
1135 84, 12, 13, 14, 79, -1, -1, -1, 83, 84,
1136 -1, -1, -1, -1, -1, -1, 27, 28, 1, 30,
1137 -1, 4, 5, 6, 7, -1, -1, 38, 3, 12,
1138 13, 14, -1, 8, 9, -1, 11, -1, -1, -1,
1139 -1, -1, -1, -1, 27, 28, -1, 30, -1, -1,
1140 61, 62, -1, -1, 29, 38, 31, -1, 33, 34,
1141 35, -1, -1, -1, -1, -1, -1, 42, 79, -1,
1142 45, -1, 83, 84, -1, 50, 51, 52, -1, -1,
1143 -1, 56, 57, 3, -1, -1, 61, -1, 8, 9,
1144 -1, 11, -1, -1, -1, -1, 79, -1, -1, -1,
1145 83, 84, -1, -1, -1, -1, 81, 82, -1, 29,
1146 85, 31, -1, 33, 34, 35, -1, -1, -1, -1,
1147 -1, 3, 42, -1, -1, 45, 8, 9, -1, 11,
1148 50, 51, 52, -1, -1, -1, 56, 57, -1, -1,
1149 -1, 61, -1, -1, -1, -1, -1, 29, -1, 31,
1150 -1, 33, 34, 35, -1, -1, -1, -1, -1, -1,
1151 42, 81, 82, 45, -1, 85, -1, -1, 50, 51,
1152 52, -1, -1, -1, 56, 57, 3, -1, -1, 61,
1153 -1, 8, 9, 1, 11, -1, 4, 5, 6, 7,
1154 -1, -1, 10, -1, 12, 13, 14, -1, -1, 81,
1155 82, -1, 29, 85, 31, -1, 33, 34, 35, -1,
1156 28, -1, 30, -1, 3, 42, -1, -1, 45, 8,
1157 9, -1, 11, 50, 51, 52, -1, -1, -1, 56,
1158 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
1159 29, -1, 31, -1, 33, 34, 35, -1, -1, -1,
1160 -1, -1, -1, 42, 81, 82, 45, -1, 85, -1,
1161 78, 50, 51, 52, -1, -1, -1, 56, 57, 3,
1162 -1, -1, 61, -1, 8, 9, -1, 11, 4, 5,
1163 6, 7, -1, -1, -1, -1, 12, 13, 14, -1,
1164 -1, -1, 81, 82, -1, 29, 85, 31, -1, 33,
1165 34, 35, 28, -1, -1, -1, -1, 3, 42, -1,
1166 -1, 45, 8, 9, -1, 11, 50, 51, 52, -1,
1167 -1, -1, 56, 57, -1, -1, -1, 61, -1, -1,
1168 -1, -1, -1, 29, -1, 31, -1, 33, 34, 35,
1169 10, -1, -1, -1, -1, -1, 42, 81, 82, 45,
1170 -1, 85, -1, 79, 50, 51, 52, -1, -1, -1,
1171 56, 57, -1, -1, -1, 61, -1, 37, 38, 39,
1172 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1173 50, 51, 52, 53, 54, 81, 82, -1, -1, 85,
1174 3, 4, 5, 6, 7, 8, 9, -1, 11, 12,
1175 13, 14, 15, -1, 17, 18, 19, 20, 21, 22,
1176 23, 24, 25, 26, 27, 28, 29, 30, 31, -1,
1177 33, 34, 35, -1, -1, -1, -1, -1, -1, 42,
1178 -1, -1, 45, -1, -1, -1, -1, 50, 51, 52,
1179 -1, -1, -1, 56, 57, -1, -1, -1, 61, 1,
1180 -1, -1, 4, -1, 6, 7, -1, -1, -1, -1,
1181 12, 13, 14, -1, -1, -1, 79, -1, 81, 82,
1182 -1, 84, 3, 4, -1, -1, 28, 8, 9, 31,
1183 11, -1, -1, -1, 15, -1, 17, 18, 19, 20,
1184 21, 22, 23, 24, 25, 26, 27, -1, 29, -1,
1185 31, -1, 33, 34, 35, -1, -1, 3, -1, -1,
1186 -1, 42, 8, 9, 45, 11, -1, -1, -1, 50,
1187 51, 52, -1, -1, -1, 56, 57, -1, -1, -1,
1188 61, -1, -1, 29, -1, 31, -1, 33, 34, 35,
1189 -1, -1, -1, -1, -1, -1, 42, -1, 79, 45,
1190 81, 82, -1, 84, 50, 51, 52, -1, -1, -1,
1191 56, 57, -1, -1, -1, 61, 3, 4, 5, 6,
1192 7, 8, 9, -1, 11, 12, 13, 14, -1, -1,
1193 -1, -1, -1, -1, -1, 81, 82, -1, 84, -1,
1194 -1, 28, 29, 30, 31, -1, 33, 34, 35, -1,
1195 -1, -1, -1, -1, -1, 42, -1, -1, 45, -1,
1196 -1, -1, -1, 50, 51, 52, -1, -1, -1, 56,
1197 57, -1, 3, 4, 61, 6, 7, 8, 9, -1,
1198 11, 12, 13, 14, 46, 47, 48, 49, 50, 51,
1199 52, 53, 54, -1, 81, 82, -1, 28, 29, -1,
1200 31, -1, 33, 34, 35, -1, -1, 3, -1, -1,
1201 -1, 42, 8, 9, 45, 11, -1, -1, -1, 50,
1202 51, 52, -1, -1, -1, 56, 57, -1, -1, -1,
1203 61, -1, -1, 29, -1, 31, -1, 33, 34, 35,
1204 -1, -1, -1, -1, -1, -1, 42, -1, -1, 45,
1205 81, 82, -1, -1, 50, 51, 52, -1, -1, -1,
1206 56, 57, 3, -1, -1, 61, -1, 8, 9, -1,
1207 11, 4, 5, 6, 7, -1, -1, -1, -1, 12,
1208 13, 14, -1, 79, -1, 81, 82, -1, 29, -1,
1209 31, -1, 33, 34, 35, 28, -1, 3, -1, -1,
1210 -1, 42, 8, 9, 45, 11, -1, -1, -1, 50,
1211 51, 52, -1, -1, -1, 56, 57, -1, -1, -1,
1212 61, -1, -1, 29, -1, 31, -1, 33, 34, 35,
1213 -1, -1, -1, -1, -1, -1, 42, -1, -1, 45,
1214 81, 82, -1, -1, 50, 51, 52, -1, -1, -1,
1215 56, 57, 3, -1, -1, 61, -1, 8, 9, 39,
1216 11, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1217 50, 51, 52, 53, 54, 81, 82, -1, 29, -1,
1218 31, -1, 33, 34, 35, -1, -1, 3, -1, -1,
1219 -1, 42, 8, 9, 45, 11, -1, -1, -1, 50,
1220 51, 52, -1, -1, -1, 56, 57, -1, -1, -1,
1221 61, -1, -1, 29, -1, 31, -1, 33, 34, 35,
1222 -1, -1, -1, -1, -1, -1, 42, -1, -1, 45,
1223 81, 82, -1, -1, 50, 51, 52, -1, -1, -1,
1224 56, 57, -1, -1, 1, 61, 3, 4, 5, 6,
1225 7, -1, -1, -1, -1, 12, 13, 14, -1, -1,
1226 -1, -1, -1, -1, -1, 81, 82, -1, -1, -1,
1227 27, 28, -1, 30, 31, 42, 43, 44, 45, 46,
1228 47, 48, 49, 50, 51, 52, 53, 54, -1, -1,
1229 -1, -1, 10, -1, -1, 52, -1, -1, -1, -1,
1230 -1, 37, 38, 39, 61, 41, 42, 43, 44, 45,
1231 46, 47, 48, 49, 50, 51, 52, 53, 54, 37,
1232 38, 39, 79, 41, 42, 43, 44, 45, 46, 47,
1233 48, 49, 50, 51, 52, 53, 54, -1, -1, -1,
1234 -1, -1, -1, -1, -1, -1, 37, 38, 39, 85,
1235 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1236 51, 52, 53, 54, 30, -1, -1, 85, -1, -1,
1237 -1, 37, 38, 39, -1, 41, 42, 43, 44, 45,
1238 46, 47, 48, 49, 50, 51, 52, 53, 54, -1,
1239 -1, -1, 83, 37, 38, 39, 40, 41, 42, 43,
1240 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1241 54, 37, 38, 39, -1, 41, 42, 43, 44, 45,
1242 46, 47, 48, 49, 50, 51, 52, 53, 54, 43,
1243 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1244 54, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1247 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
1248 #line 3 "/usr/lib/bison.simple"
1249 /* This file comes from bison-1.27. */
1251 /* Skeleton output parser for bison,
1252 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
1254 This program is free software; you can redistribute it and/or modify
1255 it under the terms of the GNU General Public License as published by
1256 the Free Software Foundation; either version 2, or (at your option)
1259 This program is distributed in the hope that it will be useful,
1260 but WITHOUT ANY WARRANTY; without even the implied warranty of
1261 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1262 GNU General Public License for more details.
1264 You should have received a copy of the GNU General Public License
1265 along with this program; if not, write to the Free Software
1266 Foundation, Inc., 59 Temple Place - Suite 330,
1267 Boston, MA 02111-1307, USA. */
1269 /* As a special exception, when this file is copied by Bison into a
1270 Bison output file, you may use that output file without restriction.
1271 This special exception was added by the Free Software Foundation
1272 in version 1.24 of Bison. */
1274 /* This is the parser code that is written into each bison parser
1275 when the %semantic_parser declaration is not specified in the grammar.
1276 It was written by Richard Stallman by simplifying the hairy parser
1277 used when %semantic_parser is specified. */
1279 #ifndef YYSTACK_USE_ALLOCA
1281 #define YYSTACK_USE_ALLOCA
1282 #else /* alloca not defined */
1284 #define YYSTACK_USE_ALLOCA
1285 #define alloca __builtin_alloca
1286 #else /* not GNU C. */
1287 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
1288 #define YYSTACK_USE_ALLOCA
1290 #else /* not sparc */
1291 /* We think this test detects Watcom and Microsoft C. */
1292 /* This used to test MSDOS, but that is a bad idea
1293 since that symbol is in the user namespace. */
1294 #if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
1295 #if 0 /* No need for malloc.h, which pollutes the namespace;
1296 instead, just don't use alloca. */
1299 #else /* not MSDOS, or __TURBOC__ */
1301 /* I don't know what this was needed for, but it pollutes the namespace.
1302 So I turned it off. rms, 2 May 1997. */
1303 /* #include <malloc.h> */
1305 #define YYSTACK_USE_ALLOCA
1306 #else /* not MSDOS, or __TURBOC__, or _AIX */
1308 #ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
1309 and on HPUX 10. Eventually we can turn this on. */
1310 #define YYSTACK_USE_ALLOCA
1311 #define alloca __builtin_alloca
1314 #endif /* not _AIX */
1315 #endif /* not MSDOS, or __TURBOC__ */
1316 #endif /* not sparc */
1317 #endif /* not GNU C */
1318 #endif /* alloca not defined */
1319 #endif /* YYSTACK_USE_ALLOCA not defined */
1321 #ifdef YYSTACK_USE_ALLOCA
1322 #define YYSTACK_ALLOC alloca
1324 #define YYSTACK_ALLOC malloc
1327 /* Note: there must be only one dollar sign in this file.
1328 It is replaced by the list of actions, each action
1329 as one case of the switch. */
1331 #define yyerrok (yyerrstatus = 0)
1332 #define yyclearin (yychar = YYEMPTY)
1335 #define YYACCEPT goto yyacceptlab
1336 #define YYABORT goto yyabortlab
1337 #define YYERROR goto yyerrlab1
1338 /* Like YYERROR except do call yyerror.
1339 This remains here temporarily to ease the
1340 transition to the new meaning of YYERROR, for GCC.
1341 Once GCC version 2 has supplanted version 1, this can go. */
1342 #define YYFAIL goto yyerrlab
1343 #define YYRECOVERING() (!!yyerrstatus)
1344 #define YYBACKUP(token, value) \
1346 if (yychar == YYEMPTY && yylen == 1) \
1347 { yychar = (token), yylval = (value); \
1348 yychar1 = YYTRANSLATE (yychar); \
1353 { yyerror ("syntax error: cannot back up"); YYERROR; } \
1357 #define YYERRCODE 256
1360 #define YYLEX yylex()
1366 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
1368 #define YYLEX yylex(&yylval, &yylloc)
1370 #else /* not YYLSP_NEEDED */
1372 #define YYLEX yylex(&yylval, YYLEX_PARAM)
1374 #define YYLEX yylex(&yylval)
1376 #endif /* not YYLSP_NEEDED */
1379 /* If nonreentrant, generate the variables here */
1383 int yychar; /* the lookahead symbol */
1384 YYSTYPE yylval; /* the semantic value of the */
1385 /* lookahead symbol */
1388 YYLTYPE yylloc; /* location data for the lookahead */
1392 int yynerrs; /* number of parse errors so far */
1393 #endif /* not YYPURE */
1396 int yydebug; /* nonzero means print parse trace */
1397 /* Since this is uninitialized, it does not stop multiple parsers
1401 /* YYINITDEPTH indicates the initial size of the parser's stacks */
1404 #define YYINITDEPTH 200
1407 /* YYMAXDEPTH is the maximum size the stacks can grow to
1408 (effective only if the built-in stack extension method is used). */
1415 #define YYMAXDEPTH 10000
1418 /* Define __yy_memcpy. Note that the size argument
1419 should be passed with type unsigned int, because that is what the non-GCC
1420 definitions require. With GCC, __builtin_memcpy takes an arg
1421 of type size_t, but it can handle unsigned int. */
1423 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
1424 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
1425 #else /* not GNU C or C++ */
1428 /* This is the most reliable way to avoid incompatibilities
1429 in available built-in functions on various systems. */
1431 __yy_memcpy (to, from, count)
1436 register char *f = from;
1437 register char *t = to;
1438 register int i = count;
1444 #else /* __cplusplus */
1446 /* This is the most reliable way to avoid incompatibilities
1447 in available built-in functions on various systems. */
1449 __yy_memcpy (char *to, char *from, unsigned int count)
1451 register char *t = to;
1452 register char *f = from;
1453 register int i = count;
1462 #line 216 "/usr/lib/bison.simple"
1464 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
1465 into yyparse. The argument should have type void *.
1466 It should actually point to an object.
1467 Grammar actions can access the variable by casting it
1468 to the proper pointer type. */
1470 #ifdef YYPARSE_PARAM
1472 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
1473 #define YYPARSE_PARAM_DECL
1474 #else /* not __cplusplus */
1475 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
1476 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
1477 #endif /* not __cplusplus */
1478 #else /* not YYPARSE_PARAM */
1479 #define YYPARSE_PARAM_ARG
1480 #define YYPARSE_PARAM_DECL
1481 #endif /* not YYPARSE_PARAM */
1483 /* Prevent warning if -Wstrict-prototypes. */
1485 #ifdef YYPARSE_PARAM
1486 int yyparse (void *);
1493 yyparse(YYPARSE_PARAM_ARG)
1496 register int yystate;
1498 register short *yyssp;
1499 register YYSTYPE *yyvsp;
1500 int yyerrstatus; /* number of tokens to shift before error messages enabled */
1501 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
1503 short yyssa[YYINITDEPTH]; /* the state stack */
1504 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
1506 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
1507 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
1510 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
1511 YYLTYPE *yyls = yylsa;
1514 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
1516 #define YYPOPSTACK (yyvsp--, yyssp--)
1519 int yystacksize = YYINITDEPTH;
1520 int yyfree_stacks = 0;
1531 YYSTYPE yyval; /* the variable used to return */
1532 /* semantic values from the action */
1539 fprintf(stderr, "Starting parse\n");
1545 yychar = YYEMPTY; /* Cause a token to be read. */
1547 /* Initialize stack pointers.
1548 Waste one element of value and location stack
1549 so that they stay on the same level as the state stack.
1550 The wasted elements are never initialized. */
1558 /* Push a new state, which is found in yystate . */
1559 /* In all cases, when you get here, the value and location stacks
1560 have just been pushed. so pushing a state here evens the stacks. */
1565 if (yyssp >= yyss + yystacksize - 1)
1567 /* Give user a chance to reallocate the stack */
1568 /* Use copies of these so that the &'s don't force the real ones into memory. */
1569 YYSTYPE *yyvs1 = yyvs;
1570 short *yyss1 = yyss;
1572 YYLTYPE *yyls1 = yyls;
1575 /* Get the current used size of the three stacks, in elements. */
1576 int size = yyssp - yyss + 1;
1579 /* Each stack pointer address is followed by the size of
1580 the data in use in that stack, in bytes. */
1582 /* This used to be a conditional around just the two extra args,
1583 but that might be undefined if yyoverflow is a macro. */
1584 yyoverflow("parser stack overflow",
1585 &yyss1, size * sizeof (*yyssp),
1586 &yyvs1, size * sizeof (*yyvsp),
1587 &yyls1, size * sizeof (*yylsp),
1590 yyoverflow("parser stack overflow",
1591 &yyss1, size * sizeof (*yyssp),
1592 &yyvs1, size * sizeof (*yyvsp),
1596 yyss = yyss1; yyvs = yyvs1;
1600 #else /* no yyoverflow */
1601 /* Extend the stack our own way. */
1602 if (yystacksize >= YYMAXDEPTH)
1604 yyerror("parser stack overflow");
1616 if (yystacksize > YYMAXDEPTH)
1617 yystacksize = YYMAXDEPTH;
1618 #ifndef YYSTACK_USE_ALLOCA
1621 yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
1622 __yy_memcpy ((char *)yyss, (char *)yyss1,
1623 size * (unsigned int) sizeof (*yyssp));
1624 yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
1625 __yy_memcpy ((char *)yyvs, (char *)yyvs1,
1626 size * (unsigned int) sizeof (*yyvsp));
1628 yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
1629 __yy_memcpy ((char *)yyls, (char *)yyls1,
1630 size * (unsigned int) sizeof (*yylsp));
1632 #endif /* no yyoverflow */
1634 yyssp = yyss + size - 1;
1635 yyvsp = yyvs + size - 1;
1637 yylsp = yyls + size - 1;
1642 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
1645 if (yyssp >= yyss + yystacksize - 1)
1651 fprintf(stderr, "Entering state %d\n", yystate);
1657 /* Do appropriate processing given the current state. */
1658 /* Read a lookahead token if we need one and don't already have one. */
1661 /* First try to decide what to do without reference to lookahead token. */
1663 yyn = yypact[yystate];
1667 /* Not known => get a lookahead token if don't already have one. */
1669 /* yychar is either YYEMPTY or YYEOF
1670 or a valid token in external form. */
1672 if (yychar == YYEMPTY)
1676 fprintf(stderr, "Reading a token: ");
1681 /* Convert token to internal form (in yychar1) for indexing tables with */
1683 if (yychar <= 0) /* This means end of input. */
1686 yychar = YYEOF; /* Don't call YYLEX any more */
1690 fprintf(stderr, "Now at end of input.\n");
1695 yychar1 = YYTRANSLATE(yychar);
1700 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
1701 /* Give the individual parser a way to print the precise meaning
1702 of a token, for further debugging info. */
1704 YYPRINT (stderr, yychar, yylval);
1706 fprintf (stderr, ")\n");
1712 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
1717 /* yyn is what to do for this token type in this state.
1718 Negative => reduce, -yyn is rule number.
1719 Positive => shift, yyn is new state.
1720 New state is final state => don't bother to shift,
1721 just return success.
1722 0, or most negative number => error. */
1737 /* Shift the lookahead token. */
1741 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
1744 /* Discard the token being shifted unless it is eof. */
1745 if (yychar != YYEOF)
1753 /* count tokens shifted since error; after three, turn off error status. */
1754 if (yyerrstatus) yyerrstatus--;
1759 /* Do the default action for the current state. */
1762 yyn = yydefact[yystate];
1766 /* Do a reduction. yyn is the number of a rule to reduce with. */
1770 yyval = yyvsp[1-yylen]; /* implement default value of the action */
1777 fprintf (stderr, "Reducing via rule %d (line %d), ",
1780 /* Print the symbols being reduced, and their result. */
1781 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
1782 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
1783 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
1791 #line 214 "c-parse.y"
1793 pedwarn ("ANSI C forbids an empty source file");
1798 #line 219 "c-parse.y"
1800 /* In case there were missing closebraces,
1801 get us back to the global binding level. */
1802 while (! global_bindings_p ())
1808 #line 233 "c-parse.y"
1809 {yyval.ttype = NULL_TREE; ;
1812 #line 234 "c-parse.y"
1813 {yyval.ttype = NULL_TREE; ;
1816 #line 241 "c-parse.y"
1817 { STRIP_NOPS (yyvsp[-2].ttype);
1818 if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
1819 && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
1820 || TREE_CODE (yyvsp[-2].ttype) == STRING_CST)
1821 assemble_asm (yyvsp[-2].ttype);
1823 error ("argument of `asm' is not a constant string"); ;
1826 #line 249 "c-parse.y"
1827 { pedantic = yyvsp[-1].itype; ;
1830 #line 254 "c-parse.y"
1832 error ("ANSI C forbids data definition with no type or storage class");
1833 else if (!flag_traditional)
1834 warning ("data definition has no type or storage class");
1836 current_declspecs = TREE_VALUE (declspec_stack);
1837 prefix_attributes = TREE_PURPOSE (declspec_stack);
1838 declspec_stack = TREE_CHAIN (declspec_stack);
1839 resume_momentary (yyvsp[-2].itype); ;
1842 #line 264 "c-parse.y"
1843 { current_declspecs = TREE_VALUE (declspec_stack);
1844 prefix_attributes = TREE_PURPOSE (declspec_stack);
1845 declspec_stack = TREE_CHAIN (declspec_stack);
1846 resume_momentary (yyvsp[-2].itype); ;
1849 #line 269 "c-parse.y"
1850 { current_declspecs = TREE_VALUE (declspec_stack);
1851 prefix_attributes = TREE_PURPOSE (declspec_stack);
1852 declspec_stack = TREE_CHAIN (declspec_stack);
1853 resume_momentary (yyvsp[-2].itype); ;
1856 #line 274 "c-parse.y"
1857 { pedwarn ("empty declaration"); ;
1860 #line 276 "c-parse.y"
1861 { shadow_tag (yyvsp[-1].ttype); ;
1864 #line 280 "c-parse.y"
1866 pedwarn ("ANSI C does not allow extra `;' outside of a function"); ;
1869 #line 286 "c-parse.y"
1870 { if (! start_function (current_declspecs, yyvsp[0].ttype,
1871 prefix_attributes, NULL_TREE, 0))
1873 reinit_parse_for_function (); ;
1876 #line 291 "c-parse.y"
1877 { store_parm_decls (); ;
1880 #line 293 "c-parse.y"
1881 { finish_function (0);
1882 current_declspecs = TREE_VALUE (declspec_stack);
1883 prefix_attributes = TREE_PURPOSE (declspec_stack);
1884 declspec_stack = TREE_CHAIN (declspec_stack);
1885 resume_momentary (yyvsp[-5].itype); ;
1888 #line 299 "c-parse.y"
1889 { current_declspecs = TREE_VALUE (declspec_stack);
1890 prefix_attributes = TREE_PURPOSE (declspec_stack);
1891 declspec_stack = TREE_CHAIN (declspec_stack);
1892 resume_momentary (yyvsp[-2].itype); ;
1895 #line 304 "c-parse.y"
1896 { if (! start_function (current_declspecs, yyvsp[0].ttype,
1897 prefix_attributes, NULL_TREE, 0))
1899 reinit_parse_for_function (); ;
1902 #line 309 "c-parse.y"
1903 { store_parm_decls (); ;
1906 #line 311 "c-parse.y"
1907 { finish_function (0);
1908 current_declspecs = TREE_VALUE (declspec_stack);
1909 prefix_attributes = TREE_PURPOSE (declspec_stack);
1910 declspec_stack = TREE_CHAIN (declspec_stack);
1911 resume_momentary (yyvsp[-5].itype); ;
1914 #line 317 "c-parse.y"
1915 { current_declspecs = TREE_VALUE (declspec_stack);
1916 prefix_attributes = TREE_PURPOSE (declspec_stack);
1917 declspec_stack = TREE_CHAIN (declspec_stack);
1918 resume_momentary (yyvsp[-2].itype); ;
1921 #line 322 "c-parse.y"
1922 { if (! start_function (NULL_TREE, yyvsp[0].ttype,
1923 prefix_attributes, NULL_TREE, 0))
1925 reinit_parse_for_function (); ;
1928 #line 327 "c-parse.y"
1929 { store_parm_decls (); ;
1932 #line 329 "c-parse.y"
1933 { finish_function (0);
1934 current_declspecs = TREE_VALUE (declspec_stack);
1935 prefix_attributes = TREE_PURPOSE (declspec_stack);
1936 declspec_stack = TREE_CHAIN (declspec_stack);
1937 resume_momentary (yyvsp[-5].itype); ;
1940 #line 335 "c-parse.y"
1941 { current_declspecs = TREE_VALUE (declspec_stack);
1942 prefix_attributes = TREE_PURPOSE (declspec_stack);
1943 declspec_stack = TREE_CHAIN (declspec_stack);
1944 resume_momentary (yyvsp[-2].itype); ;
1947 #line 347 "c-parse.y"
1948 { yyval.code = ADDR_EXPR; ;
1951 #line 349 "c-parse.y"
1952 { yyval.code = NEGATE_EXPR; ;
1955 #line 351 "c-parse.y"
1956 { yyval.code = CONVERT_EXPR; ;
1959 #line 353 "c-parse.y"
1960 { yyval.code = PREINCREMENT_EXPR; ;
1963 #line 355 "c-parse.y"
1964 { yyval.code = PREDECREMENT_EXPR; ;
1967 #line 357 "c-parse.y"
1968 { yyval.code = BIT_NOT_EXPR; ;
1971 #line 359 "c-parse.y"
1972 { yyval.code = TRUTH_NOT_EXPR; ;
1975 #line 363 "c-parse.y"
1976 { yyval.ttype = build_compound_expr (yyvsp[0].ttype); ;
1979 #line 368 "c-parse.y"
1980 { yyval.ttype = NULL_TREE; ;
1983 #line 374 "c-parse.y"
1984 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
1987 #line 376 "c-parse.y"
1988 { chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
1991 #line 382 "c-parse.y"
1992 { yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ;
1995 #line 385 "c-parse.y"
1996 { yyval.ttype = yyvsp[0].ttype;
1997 pedantic = yyvsp[-1].itype; ;
2000 #line 388 "c-parse.y"
2001 { yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0);
2002 overflow_warning (yyval.ttype); ;
2005 #line 392 "c-parse.y"
2006 { tree label = lookup_label (yyvsp[0].ttype);
2008 pedwarn ("ANSI C forbids `&&'");
2010 yyval.ttype = null_pointer_node;
2013 TREE_USED (label) = 1;
2014 yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
2015 TREE_CONSTANT (yyval.ttype) = 1;
2020 #line 420 "c-parse.y"
2021 { skip_evaluation--;
2022 if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
2023 && DECL_C_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
2024 error ("`sizeof' applied to a bit-field");
2025 yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
2028 #line 426 "c-parse.y"
2029 { skip_evaluation--;
2030 yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
2033 #line 429 "c-parse.y"
2034 { skip_evaluation--;
2035 yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ;
2038 #line 432 "c-parse.y"
2039 { skip_evaluation--;
2040 yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
2043 #line 435 "c-parse.y"
2044 { yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ;
2047 #line 437 "c-parse.y"
2048 { yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ;
2051 #line 439 "c-parse.y"
2052 { yyval.ttype = build_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ttype)); ;
2055 #line 443 "c-parse.y"
2056 { skip_evaluation++; ;
2059 #line 447 "c-parse.y"
2060 { skip_evaluation++; ;
2063 #line 453 "c-parse.y"
2064 { tree type = groktypename (yyvsp[-2].ttype);
2065 yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
2068 #line 456 "c-parse.y"
2069 { start_init (NULL_TREE, NULL, 0);
2070 yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype);
2071 really_start_incremental_init (yyvsp[-2].ttype); ;
2074 #line 460 "c-parse.y"
2076 tree result = pop_init_level (0);
2077 tree type = yyvsp[-5].ttype;
2080 if (pedantic && ! flag_isoc9x)
2081 pedwarn ("ANSI C forbids constructor expressions");
2082 if (TYPE_NAME (type) != 0)
2084 if (TREE_CODE (TYPE_NAME (type)) == IDENTIFIER_NODE)
2085 name = IDENTIFIER_POINTER (TYPE_NAME (type));
2087 name = IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type)));
2091 yyval.ttype = result;
2092 if (TREE_CODE (type) == ARRAY_TYPE && TYPE_SIZE (type) == 0)
2094 int failure = complete_array_type (type, yyval.ttype, 1);
2101 #line 489 "c-parse.y"
2102 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2105 #line 491 "c-parse.y"
2106 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2109 #line 493 "c-parse.y"
2110 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2113 #line 495 "c-parse.y"
2114 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2117 #line 497 "c-parse.y"
2118 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2121 #line 499 "c-parse.y"
2122 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2125 #line 501 "c-parse.y"
2126 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2129 #line 503 "c-parse.y"
2130 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2133 #line 505 "c-parse.y"
2134 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2137 #line 507 "c-parse.y"
2138 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2141 #line 509 "c-parse.y"
2142 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2145 #line 511 "c-parse.y"
2146 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2149 #line 513 "c-parse.y"
2150 { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
2151 skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
2154 #line 516 "c-parse.y"
2155 { skip_evaluation -= yyvsp[-3].ttype == boolean_false_node;
2156 yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
2159 #line 519 "c-parse.y"
2160 { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
2161 skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
2164 #line 522 "c-parse.y"
2165 { skip_evaluation -= yyvsp[-3].ttype == boolean_true_node;
2166 yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
2169 #line 525 "c-parse.y"
2170 { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
2171 skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
2174 #line 528 "c-parse.y"
2175 { skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node)
2176 - (yyvsp[-4].ttype == boolean_false_node)); ;
2179 #line 531 "c-parse.y"
2180 { skip_evaluation -= yyvsp[-6].ttype == boolean_true_node;
2181 yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
2184 #line 534 "c-parse.y"
2186 pedwarn ("ANSI C forbids omitting the middle term of a ?: expression");
2187 /* Make sure first operand is calculated only once. */
2188 yyvsp[0].ttype = save_expr (yyvsp[-1].ttype);
2189 yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[0].ttype));
2190 skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
2193 #line 541 "c-parse.y"
2194 { skip_evaluation -= yyvsp[-4].ttype == boolean_true_node;
2195 yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
2198 #line 544 "c-parse.y"
2200 yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype);
2201 class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
2202 if (class == 'e' || class == '1'
2203 || class == '2' || class == '<')
2204 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR);
2208 #line 552 "c-parse.y"
2210 yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype);
2211 /* This inhibits warnings in truthvalue_conversion. */
2212 class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
2213 if (class == 'e' || class == '1'
2214 || class == '2' || class == '<')
2215 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK);
2219 #line 564 "c-parse.y"
2221 yyval.ttype = lastiddecl;
2222 if (!yyval.ttype || yyval.ttype == error_mark_node)
2224 if (yychar == YYEMPTY)
2229 /* Ordinary implicit function declaration. */
2230 yyval.ttype = implicitly_declare (yyvsp[0].ttype);
2231 assemble_external (yyval.ttype);
2232 TREE_USED (yyval.ttype) = 1;
2235 else if (current_function_decl == 0)
2237 error ("`%s' undeclared here (not in a function)",
2238 IDENTIFIER_POINTER (yyvsp[0].ttype));
2239 yyval.ttype = error_mark_node;
2244 if (IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) != error_mark_node
2245 || IDENTIFIER_ERROR_LOCUS (yyvsp[0].ttype) != current_function_decl)
2247 error ("`%s' undeclared (first use in this function)",
2248 IDENTIFIER_POINTER (yyvsp[0].ttype));
2250 if (! undeclared_variable_notice)
2252 error ("(Each undeclared identifier is reported only once");
2253 error ("for each function it appears in.)");
2254 undeclared_variable_notice = 1;
2257 yyval.ttype = error_mark_node;
2258 /* Prevent repeated error messages. */
2259 IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) = error_mark_node;
2260 IDENTIFIER_ERROR_LOCUS (yyvsp[0].ttype) = current_function_decl;
2264 else if (TREE_TYPE (yyval.ttype) == error_mark_node)
2265 yyval.ttype = error_mark_node;
2266 else if (C_DECL_ANTICIPATED (yyval.ttype))
2268 /* The first time we see a build-in function used,
2269 if it has not been declared. */
2270 C_DECL_ANTICIPATED (yyval.ttype) = 0;
2271 if (yychar == YYEMPTY)
2275 /* Omit the implicit declaration we
2276 would ordinarily do, so we don't lose
2277 the actual built in type.
2278 But print a diagnostic for the mismatch. */
2279 if (TREE_CODE (yyval.ttype) != FUNCTION_DECL)
2280 error ("`%s' implicitly declared as function",
2281 IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
2282 else if ((TYPE_MODE (TREE_TYPE (TREE_TYPE (yyval.ttype)))
2283 != TYPE_MODE (integer_type_node))
2284 && (TREE_TYPE (TREE_TYPE (yyval.ttype))
2286 pedwarn ("type mismatch in implicit declaration for built-in function `%s'",
2287 IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
2288 /* If it really returns void, change that to int. */
2289 if (TREE_TYPE (TREE_TYPE (yyval.ttype)) == void_type_node)
2290 TREE_TYPE (yyval.ttype)
2291 = build_function_type (integer_type_node,
2292 TYPE_ARG_TYPES (TREE_TYPE (yyval.ttype)));
2295 pedwarn ("built-in function `%s' used without declaration",
2296 IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
2298 /* Do what we would ordinarily do when a fn is used. */
2299 assemble_external (yyval.ttype);
2300 TREE_USED (yyval.ttype) = 1;
2304 assemble_external (yyval.ttype);
2305 TREE_USED (yyval.ttype) = 1;
2308 if (TREE_CODE (yyval.ttype) == CONST_DECL)
2310 yyval.ttype = DECL_INITIAL (yyval.ttype);
2311 /* This is to prevent an enum whose value is 0
2312 from being considered a null pointer constant. */
2313 yyval.ttype = build1 (NOP_EXPR, TREE_TYPE (yyval.ttype), yyval.ttype);
2314 TREE_CONSTANT (yyval.ttype) = 1;
2319 #line 663 "c-parse.y"
2320 { yyval.ttype = combine_strings (yyvsp[0].ttype); ;
2323 #line 665 "c-parse.y"
2324 { char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype));
2325 if (class == 'e' || class == '1'
2326 || class == '2' || class == '<')
2327 C_SET_EXP_ORIGINAL_CODE (yyvsp[-1].ttype, ERROR_MARK);
2328 yyval.ttype = yyvsp[-1].ttype; ;
2331 #line 671 "c-parse.y"
2332 { yyval.ttype = error_mark_node; ;
2335 #line 673 "c-parse.y"
2338 pedwarn ("ANSI C forbids braced-groups within expressions");
2339 pop_iterator_stack ();
2341 rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
2342 /* The statements have side effects, so the group does. */
2343 TREE_SIDE_EFFECTS (rtl_exp) = 1;
2345 if (TREE_CODE (yyvsp[-1].ttype) == BLOCK)
2347 /* Make a BIND_EXPR for the BLOCK already made. */
2348 yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
2349 NULL_TREE, rtl_exp, yyvsp[-1].ttype);
2350 /* Remove the block from the tree at this point.
2351 It gets put back at the proper place
2352 when the BIND_EXPR is expanded. */
2353 delete_block (yyvsp[-1].ttype);
2356 yyval.ttype = yyvsp[-1].ttype;
2360 #line 696 "c-parse.y"
2362 /* Make sure we call expand_end_stmt_expr. Otherwise
2363 we are likely to lose sequences and crash later. */
2364 pop_iterator_stack ();
2366 expand_end_stmt_expr (yyvsp[-2].ttype);
2367 yyval.ttype = error_mark_node;
2371 #line 705 "c-parse.y"
2372 { yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
2375 #line 707 "c-parse.y"
2376 { yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
2379 #line 709 "c-parse.y"
2381 yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype);
2385 #line 713 "c-parse.y"
2387 tree expr = build_indirect_ref (yyvsp[-2].ttype, "->");
2389 yyval.ttype = build_component_ref (expr, yyvsp[0].ttype);
2393 #line 719 "c-parse.y"
2394 { yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;
2397 #line 721 "c-parse.y"
2398 { yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;
2401 #line 728 "c-parse.y"
2402 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
2405 #line 737 "c-parse.y"
2406 { c_mark_varargs ();
2408 pedwarn ("ANSI C does not permit use of `varargs.h'"); ;
2411 #line 747 "c-parse.y"
2415 #line 763 "c-parse.y"
2416 { current_declspecs = TREE_VALUE (declspec_stack);
2417 prefix_attributes = TREE_PURPOSE (declspec_stack);
2418 declspec_stack = TREE_CHAIN (declspec_stack);
2419 resume_momentary (yyvsp[-2].itype); ;
2422 #line 768 "c-parse.y"
2423 { current_declspecs = TREE_VALUE (declspec_stack);
2424 prefix_attributes = TREE_PURPOSE (declspec_stack);
2425 declspec_stack = TREE_CHAIN (declspec_stack);
2426 resume_momentary (yyvsp[-2].itype); ;
2429 #line 773 "c-parse.y"
2430 { shadow_tag_warned (yyvsp[-1].ttype, 1);
2431 pedwarn ("empty declaration"); ;
2434 #line 776 "c-parse.y"
2435 { pedwarn ("empty declaration"); ;
2438 #line 785 "c-parse.y"
2442 #line 800 "c-parse.y"
2443 { yyval.itype = suspend_momentary ();
2444 pending_xref_error ();
2445 declspec_stack = tree_cons (prefix_attributes,
2448 split_specs_attrs (yyvsp[0].ttype,
2449 ¤t_declspecs, &prefix_attributes); ;
2452 #line 811 "c-parse.y"
2453 { prefix_attributes = chainon (prefix_attributes, yyvsp[0].ttype); ;
2456 #line 816 "c-parse.y"
2457 { current_declspecs = TREE_VALUE (declspec_stack);
2458 prefix_attributes = TREE_PURPOSE (declspec_stack);
2459 declspec_stack = TREE_CHAIN (declspec_stack);
2460 resume_momentary (yyvsp[-2].itype); ;
2463 #line 821 "c-parse.y"
2464 { current_declspecs = TREE_VALUE (declspec_stack);
2465 prefix_attributes = TREE_PURPOSE (declspec_stack);
2466 declspec_stack = TREE_CHAIN (declspec_stack);
2467 resume_momentary (yyvsp[-2].itype); ;
2470 #line 826 "c-parse.y"
2471 { current_declspecs = TREE_VALUE (declspec_stack);
2472 prefix_attributes = TREE_PURPOSE (declspec_stack);
2473 declspec_stack = TREE_CHAIN (declspec_stack);
2474 resume_momentary (yyvsp[-1].itype); ;
2477 #line 831 "c-parse.y"
2478 { current_declspecs = TREE_VALUE (declspec_stack);
2479 prefix_attributes = TREE_PURPOSE (declspec_stack);
2480 declspec_stack = TREE_CHAIN (declspec_stack);
2481 resume_momentary (yyvsp[-1].itype); ;
2484 #line 836 "c-parse.y"
2485 { shadow_tag (yyvsp[-1].ttype); ;
2488 #line 838 "c-parse.y"
2489 { pedwarn ("empty declaration"); ;
2492 #line 840 "c-parse.y"
2493 { pedantic = yyvsp[-1].itype; ;
2496 #line 850 "c-parse.y"
2497 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
2500 #line 852 "c-parse.y"
2501 { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
2504 #line 856 "c-parse.y"
2505 { yyval.ttype = NULL_TREE; ;
2508 #line 858 "c-parse.y"
2509 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
2512 #line 860 "c-parse.y"
2513 { if (extra_warnings)
2514 warning ("`%s' is not at beginning of declaration",
2515 IDENTIFIER_POINTER (yyvsp[0].ttype));
2516 yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
2519 #line 865 "c-parse.y"
2520 { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
2523 #line 870 "c-parse.y"
2524 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
2527 #line 872 "c-parse.y"
2528 { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
2531 #line 877 "c-parse.y"
2532 { yyval.ttype = NULL_TREE; ;
2535 #line 879 "c-parse.y"
2536 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
2539 #line 881 "c-parse.y"
2540 { if (extra_warnings)
2541 warning ("`%s' is not at beginning of declaration",
2542 IDENTIFIER_POINTER (yyvsp[0].ttype));
2543 yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
2546 #line 894 "c-parse.y"
2547 { yyval.ttype = yyvsp[0].ttype; ;
2550 #line 896 "c-parse.y"
2551 { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
2554 #line 898 "c-parse.y"
2555 { yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-1].ttype); ;
2558 #line 900 "c-parse.y"
2559 { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
2562 #line 905 "c-parse.y"
2563 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
2564 TREE_STATIC (yyval.ttype) = 1; ;
2567 #line 908 "c-parse.y"
2568 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
2571 #line 910 "c-parse.y"
2572 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
2573 TREE_STATIC (yyval.ttype) = 1; ;
2576 #line 913 "c-parse.y"
2577 { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
2578 warning ("`%s' is not at beginning of declaration",
2579 IDENTIFIER_POINTER (yyvsp[0].ttype));
2580 yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
2581 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
2584 #line 927 "c-parse.y"
2585 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
2588 #line 929 "c-parse.y"
2589 { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
2592 #line 933 "c-parse.y"
2593 { yyval.ttype = NULL_TREE; ;
2596 #line 935 "c-parse.y"
2597 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
2600 #line 945 "c-parse.y"
2601 { /* For a typedef name, record the meaning, not the name.
2602 In case of `foo foo, bar;'. */
2603 yyval.ttype = lookup_name (yyvsp[0].ttype); ;
2606 #line 949 "c-parse.y"
2607 { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ;
2610 #line 951 "c-parse.y"
2611 { yyval.ttype = groktypename (yyvsp[-1].ttype); ;
2614 #line 973 "c-parse.y"
2615 { yyval.ttype = NULL_TREE; ;
2618 #line 975 "c-parse.y"
2619 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
2620 yyval.ttype = yyvsp[-1].ttype;
2624 #line 982 "c-parse.y"
2625 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
2626 yyvsp[-1].ttype, prefix_attributes);
2627 start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
2630 #line 987 "c-parse.y"
2632 finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
2635 #line 990 "c-parse.y"
2636 { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
2637 yyvsp[0].ttype, prefix_attributes);
2638 finish_decl (d, NULL_TREE, yyvsp[-1].ttype);
2642 #line 998 "c-parse.y"
2643 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
2644 yyvsp[-1].ttype, prefix_attributes);
2645 start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
2648 #line 1003 "c-parse.y"
2650 decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype, prefix_attributes);
2651 finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
2654 #line 1007 "c-parse.y"
2655 { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
2656 yyvsp[0].ttype, prefix_attributes);
2657 finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
2660 #line 1015 "c-parse.y"
2661 { yyval.ttype = NULL_TREE; ;
2664 #line 1017 "c-parse.y"
2665 { yyval.ttype = yyvsp[0].ttype; ;
2668 #line 1022 "c-parse.y"
2669 { yyval.ttype = yyvsp[0].ttype; ;
2672 #line 1024 "c-parse.y"
2673 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
2676 #line 1029 "c-parse.y"
2677 { yyval.ttype = yyvsp[-2].ttype; ;
2680 #line 1034 "c-parse.y"
2681 { yyval.ttype = yyvsp[0].ttype; ;
2684 #line 1036 "c-parse.y"
2685 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
2688 #line 1041 "c-parse.y"
2689 { yyval.ttype = NULL_TREE; ;
2692 #line 1043 "c-parse.y"
2693 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
2696 #line 1045 "c-parse.y"
2697 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
2700 #line 1047 "c-parse.y"
2701 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
2704 #line 1049 "c-parse.y"
2705 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
2708 #line 1067 "c-parse.y"
2709 { really_start_incremental_init (NULL_TREE);
2710 /* Note that the call to clear_momentary
2711 is in process_init_element. */
2712 push_momentary (); ;
2715 #line 1072 "c-parse.y"
2716 { yyval.ttype = pop_init_level (0);
2717 if (yyval.ttype == error_mark_node
2718 && ! (yychar == STRING || yychar == CONSTANT))
2721 pop_momentary_nofree (); ;
2724 #line 1080 "c-parse.y"
2725 { yyval.ttype = error_mark_node; ;
2728 #line 1086 "c-parse.y"
2730 pedwarn ("ANSI C forbids empty initializer braces"); ;
2733 #line 1102 "c-parse.y"
2734 { set_init_label (yyvsp[-1].ttype); ;
2737 #line 1109 "c-parse.y"
2738 { push_init_level (0); ;
2741 #line 1111 "c-parse.y"
2742 { process_init_element (pop_init_level (0)); ;
2745 #line 1113 "c-parse.y"
2746 { process_init_element (yyvsp[0].ttype); ;
2749 #line 1124 "c-parse.y"
2750 { set_init_label (yyvsp[0].ttype); ;
2753 #line 1129 "c-parse.y"
2754 { set_init_index (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
2757 #line 1131 "c-parse.y"
2758 { set_init_index (yyvsp[-1].ttype, NULL_TREE); ;
2761 #line 1136 "c-parse.y"
2763 pedwarn ("ANSI C forbids nested functions");
2765 push_function_context ();
2766 if (! start_function (current_declspecs, yyvsp[0].ttype,
2767 prefix_attributes, NULL_TREE, 1))
2769 pop_function_context ();
2772 reinit_parse_for_function (); ;
2775 #line 1148 "c-parse.y"
2776 { store_parm_decls (); ;
2779 #line 1156 "c-parse.y"
2780 { finish_function (1);
2781 pop_function_context (); ;
2784 #line 1162 "c-parse.y"
2786 pedwarn ("ANSI C forbids nested functions");
2788 push_function_context ();
2789 if (! start_function (current_declspecs, yyvsp[0].ttype,
2790 prefix_attributes, NULL_TREE, 1))
2792 pop_function_context ();
2795 reinit_parse_for_function (); ;
2798 #line 1174 "c-parse.y"
2799 { store_parm_decls (); ;
2802 #line 1182 "c-parse.y"
2803 { finish_function (1);
2804 pop_function_context (); ;
2807 #line 1198 "c-parse.y"
2808 { yyval.ttype = yyvsp[-1].ttype; ;
2811 #line 1200 "c-parse.y"
2812 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
2815 #line 1205 "c-parse.y"
2816 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
2819 #line 1207 "c-parse.y"
2820 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
2823 #line 1209 "c-parse.y"
2824 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
2827 #line 1216 "c-parse.y"
2828 { yyval.ttype = yyvsp[0].ttype; ;
2831 #line 1227 "c-parse.y"
2832 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
2835 #line 1232 "c-parse.y"
2836 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, NULL_TREE);
2838 error ("`[*]' in parameter declaration only allowed in ISO C 9x");
2842 #line 1237 "c-parse.y"
2843 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
2846 #line 1239 "c-parse.y"
2847 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
2850 #line 1241 "c-parse.y"
2851 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
2854 #line 1248 "c-parse.y"
2855 { yyval.ttype = yyvsp[0].ttype; ;
2858 #line 1257 "c-parse.y"
2859 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
2862 #line 1262 "c-parse.y"
2863 { yyval.ttype = yyvsp[-1].ttype; ;
2866 #line 1264 "c-parse.y"
2867 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
2870 #line 1266 "c-parse.y"
2871 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, NULL_TREE);
2873 error ("`[*]' in parameter declaration only allowed in ISO C 9x");
2877 #line 1271 "c-parse.y"
2878 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
2881 #line 1273 "c-parse.y"
2882 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
2885 #line 1280 "c-parse.y"
2886 { yyval.ttype = yyvsp[0].ttype; ;
2889 #line 1286 "c-parse.y"
2890 { yyval.ttype = NULL_TREE; ;
2893 #line 1288 "c-parse.y"
2894 { yyval.ttype = yyvsp[0].ttype; ;
2897 #line 1293 "c-parse.y"
2898 { yyval.ttype = NULL_TREE; ;
2901 #line 1295 "c-parse.y"
2902 { yyval.ttype = yyvsp[0].ttype; ;
2905 #line 1300 "c-parse.y"
2906 { yyval.ttype = NULL_TREE; ;
2909 #line 1302 "c-parse.y"
2910 { yyval.ttype = yyvsp[0].ttype; ;
2913 #line 1307 "c-parse.y"
2914 { yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
2915 /* Start scope of tag before parsing components. */
2919 #line 1311 "c-parse.y"
2920 { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
2923 #line 1313 "c-parse.y"
2924 { yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
2925 yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
2929 #line 1317 "c-parse.y"
2930 { yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;
2933 #line 1319 "c-parse.y"
2934 { yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;
2937 #line 1321 "c-parse.y"
2938 { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
2941 #line 1323 "c-parse.y"
2942 { yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
2943 yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
2947 #line 1327 "c-parse.y"
2948 { yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;
2951 #line 1329 "c-parse.y"
2952 { yyvsp[0].itype = suspend_momentary ();
2953 yyval.ttype = start_enum (yyvsp[-1].ttype); ;
2956 #line 1332 "c-parse.y"
2957 { yyval.ttype= finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), chainon (yyvsp[-7].ttype, yyvsp[0].ttype));
2958 resume_momentary (yyvsp[-5].itype); ;
2961 #line 1335 "c-parse.y"
2962 { yyvsp[0].itype = suspend_momentary ();
2963 yyval.ttype = start_enum (NULL_TREE); ;
2966 #line 1338 "c-parse.y"
2967 { yyval.ttype= finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), chainon (yyvsp[-6].ttype, yyvsp[0].ttype));
2968 resume_momentary (yyvsp[-5].itype); ;
2971 #line 1341 "c-parse.y"
2972 { yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ;
2975 #line 1352 "c-parse.y"
2976 { if (pedantic && ! flag_isoc9x)
2977 pedwarn ("comma at end of enumerator list"); ;
2980 #line 1358 "c-parse.y"
2981 { yyval.ttype = yyvsp[0].ttype; ;
2984 #line 1360 "c-parse.y"
2985 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
2986 pedwarn ("no semicolon at end of struct or union"); ;
2989 #line 1365 "c-parse.y"
2990 { yyval.ttype = NULL_TREE; ;
2993 #line 1367 "c-parse.y"
2994 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
2997 #line 1369 "c-parse.y"
2999 pedwarn ("extra semicolon in struct or union specified"); ;
3002 #line 1384 "c-parse.y"
3003 { yyval.ttype = yyvsp[0].ttype;
3004 current_declspecs = TREE_VALUE (declspec_stack);
3005 prefix_attributes = TREE_PURPOSE (declspec_stack);
3006 declspec_stack = TREE_CHAIN (declspec_stack);
3007 resume_momentary (yyvsp[-1].itype); ;
3010 #line 1390 "c-parse.y"
3012 pedwarn ("ANSI C forbids member declarations with no members");
3013 shadow_tag(yyvsp[0].ttype);
3014 yyval.ttype = NULL_TREE; ;
3017 #line 1395 "c-parse.y"
3018 { yyval.ttype = yyvsp[0].ttype;
3019 current_declspecs = TREE_VALUE (declspec_stack);
3020 prefix_attributes = TREE_PURPOSE (declspec_stack);
3021 declspec_stack = TREE_CHAIN (declspec_stack);
3022 resume_momentary (yyvsp[-1].itype); ;
3025 #line 1401 "c-parse.y"
3027 pedwarn ("ANSI C forbids member declarations with no members");
3028 shadow_tag(yyvsp[0].ttype);
3029 yyval.ttype = NULL_TREE; ;
3032 #line 1406 "c-parse.y"
3033 { yyval.ttype = NULL_TREE; ;
3036 #line 1408 "c-parse.y"
3037 { yyval.ttype = yyvsp[0].ttype;
3038 pedantic = yyvsp[-1].itype; ;
3041 #line 1415 "c-parse.y"
3042 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
3045 #line 1420 "c-parse.y"
3046 { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE);
3047 decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
3050 #line 1424 "c-parse.y"
3051 { yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype);
3052 decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
3055 #line 1427 "c-parse.y"
3056 { yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype);
3057 decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
3060 #line 1439 "c-parse.y"
3061 { if (yyvsp[-2].ttype == error_mark_node)
3062 yyval.ttype = yyvsp[-2].ttype;
3064 yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ;
3067 #line 1444 "c-parse.y"
3068 { yyval.ttype = error_mark_node; ;
3071 #line 1450 "c-parse.y"
3072 { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;
3075 #line 1452 "c-parse.y"
3076 { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;
3079 #line 1457 "c-parse.y"
3080 { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3083 #line 1459 "c-parse.y"
3084 { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3087 #line 1464 "c-parse.y"
3088 { yyval.ttype = NULL_TREE; ;
3091 #line 1470 "c-parse.y"
3092 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
3095 #line 1472 "c-parse.y"
3096 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
3099 #line 1477 "c-parse.y"
3100 { yyval.ttype = NULL_TREE; ;
3103 #line 1479 "c-parse.y"
3104 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
3107 #line 1484 "c-parse.y"
3108 { yyval.ttype = yyvsp[-1].ttype; ;
3111 #line 1487 "c-parse.y"
3112 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3115 #line 1489 "c-parse.y"
3116 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
3119 #line 1491 "c-parse.y"
3120 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
3123 #line 1493 "c-parse.y"
3124 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
3127 #line 1495 "c-parse.y"
3128 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
3131 #line 1497 "c-parse.y"
3132 { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
3135 #line 1499 "c-parse.y"
3136 { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
3139 #line 1501 "c-parse.y"
3140 { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ;
3143 #line 1505 "c-parse.y"
3144 { yyval.ttype = yyvsp[0].ttype; ;
3147 #line 1514 "c-parse.y"
3149 if (pedantic && yyvsp[0].ends_in_label)
3150 pedwarn ("ANSI C forbids label at end of compound statement");
3154 #line 1523 "c-parse.y"
3155 { yyval.ends_in_label = yyvsp[0].ends_in_label; ;
3158 #line 1525 "c-parse.y"
3159 { yyval.ends_in_label = 0; ;
3162 #line 1537 "c-parse.y"
3163 { emit_line_note (input_filename, lineno);
3167 expand_start_bindings (0);
3171 #line 1550 "c-parse.y"
3173 pedwarn ("ANSI C forbids label declarations"); ;
3176 #line 1561 "c-parse.y"
3178 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
3180 tree label = shadow_label (TREE_VALUE (link));
3181 C_DECLARED_LABEL_FLAG (label) = 1;
3182 declare_nonlocal_label (label);
3187 #line 1575 "c-parse.y"
3191 #line 1579 "c-parse.y"
3192 { compstmt_count++; ;
3195 #line 1582 "c-parse.y"
3196 { yyval.ttype = convert (void_type_node, integer_zero_node); ;
3199 #line 1584 "c-parse.y"
3200 { emit_line_note (input_filename, lineno);
3201 expand_end_bindings (getdecls (), 1, 0);
3202 yyval.ttype = poplevel (1, 1, 0);
3203 if (yychar == CONSTANT || yychar == STRING)
3204 pop_momentary_nofree ();
3209 #line 1592 "c-parse.y"
3210 { emit_line_note (input_filename, lineno);
3211 expand_end_bindings (getdecls (), kept_level_p (), 0);
3212 yyval.ttype = poplevel (kept_level_p (), 0, 0);
3213 if (yychar == CONSTANT || yychar == STRING)
3214 pop_momentary_nofree ();
3219 #line 1600 "c-parse.y"
3220 { emit_line_note (input_filename, lineno);
3221 expand_end_bindings (getdecls (), kept_level_p (), 0);
3222 yyval.ttype = poplevel (kept_level_p (), 0, 0);
3223 if (yychar == CONSTANT || yychar == STRING)
3224 pop_momentary_nofree ();
3229 #line 1611 "c-parse.y"
3230 { if (current_function_decl == 0)
3232 error ("braced-group within expression allowed only inside a function");
3235 /* We must force a BLOCK for this level
3236 so that, if it is not expanded later,
3237 there is a way to turn off the entire subtree of blocks
3238 that are contained in it. */
3240 push_iterator_stack ();
3241 push_label_level ();
3242 yyval.ttype = expand_start_stmt_expr ();
3247 #line 1628 "c-parse.y"
3248 { yyval.ttype = yyvsp[0].ttype; ;
3251 #line 1642 "c-parse.y"
3252 { emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
3253 c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0,
3255 yyval.itype = stmt_count;
3256 if_stmt_file = yyvsp[-5].filename;
3257 if_stmt_line = yyvsp[-4].lineno;
3258 position_after_white_space (); ;
3261 #line 1656 "c-parse.y"
3264 emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
3265 /* See comment in `while' alternative, above. */
3267 expand_start_loop_continue_elsewhere (1);
3268 position_after_white_space (); ;
3271 #line 1664 "c-parse.y"
3272 { expand_loop_continue_here (); ;
3275 #line 1668 "c-parse.y"
3276 { yyval.filename = input_filename; ;
3279 #line 1672 "c-parse.y"
3280 { yyval.lineno = lineno; ;
3283 #line 1677 "c-parse.y"
3287 #line 1682 "c-parse.y"
3291 #line 1687 "c-parse.y"
3292 { yyval.ends_in_label = yyvsp[0].ends_in_label; ;
3295 #line 1692 "c-parse.y"
3296 { yyval.ends_in_label = 0; ;
3299 #line 1694 "c-parse.y"
3300 { yyval.ends_in_label = 1; ;
3303 #line 1700 "c-parse.y"
3307 #line 1703 "c-parse.y"
3309 emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
3310 /* It appears that this should not be done--that a non-lvalue array
3311 shouldn't get an error if the value isn't used.
3312 Section 3.2.2.1 says that an array lvalue gets converted to a pointer
3313 if it appears as a top-level expression,
3314 but says nothing about non-lvalue arrays. */
3316 /* Call default_conversion to get an error
3317 on referring to a register array if pedantic. */
3318 if (TREE_CODE (TREE_TYPE (yyvsp[-1].ttype)) == ARRAY_TYPE
3319 || TREE_CODE (TREE_TYPE (yyvsp[-1].ttype)) == FUNCTION_TYPE)
3320 yyvsp[-1].ttype = default_conversion (yyvsp[-1].ttype);
3322 iterator_expand (yyvsp[-1].ttype);
3323 clear_momentary (); ;
3326 #line 1720 "c-parse.y"
3327 { c_expand_start_else ();
3328 yyvsp[-1].itype = stmt_count;
3329 position_after_white_space (); ;
3332 #line 1724 "c-parse.y"
3333 { c_expand_end_cond ();
3334 if (extra_warnings && stmt_count == yyvsp[-3].itype)
3335 warning ("empty body in an else-statement"); ;
3338 #line 1728 "c-parse.y"
3339 { c_expand_end_cond ();
3340 /* This warning is here instead of in simple_if, because we
3341 do not want a warning if an empty if is followed by an
3342 else statement. Increment stmt_count so we don't
3343 give a second error if this is a nested `if'. */
3344 if (extra_warnings && stmt_count++ == yyvsp[0].itype)
3345 warning_with_file_and_line (if_stmt_file, if_stmt_line,
3346 "empty body in an if-statement"); ;
3349 #line 1740 "c-parse.y"
3350 { c_expand_end_cond (); ;
3353 #line 1742 "c-parse.y"
3355 emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
3356 /* The emit_nop used to come before emit_line_note,
3357 but that made the nop seem like part of the preceding line.
3358 And that was confusing when the preceding line was
3359 inside of an if statement and was not really executed.
3360 I think it ought to work to put the nop after the line number.
3361 We will see. --rms, July 15, 1991. */
3365 #line 1752 "c-parse.y"
3366 { /* Don't start the loop till we have succeeded
3367 in parsing the end test. This is to make sure
3368 that we end every loop we start. */
3369 expand_start_loop (1);
3370 emit_line_note (input_filename, lineno);
3371 expand_exit_loop_if_false (NULL_PTR,
3372 truthvalue_conversion (yyvsp[-1].ttype));
3373 position_after_white_space (); ;
3376 #line 1761 "c-parse.y"
3377 { expand_end_loop (); ;
3380 #line 1764 "c-parse.y"
3381 { emit_line_note (input_filename, lineno);
3382 expand_exit_loop_if_false (NULL_PTR,
3383 truthvalue_conversion (yyvsp[-2].ttype));
3385 clear_momentary (); ;
3388 #line 1771 "c-parse.y"
3389 { expand_end_loop ();
3390 clear_momentary (); ;
3393 #line 1775 "c-parse.y"
3395 emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
3396 /* See comment in `while' alternative, above. */
3398 if (yyvsp[-1].ttype) c_expand_expr_stmt (yyvsp[-1].ttype);
3399 /* Next step is to call expand_start_loop_continue_elsewhere,
3400 but wait till after we parse the entire for (...).
3401 Otherwise, invalid input might cause us to call that
3402 fn without calling expand_end_loop. */
3406 #line 1787 "c-parse.y"
3407 { yyvsp[0].lineno = lineno;
3408 yyval.filename = input_filename; ;
3411 #line 1790 "c-parse.y"
3413 /* Start the loop. Doing this after parsing
3414 all the expressions ensures we will end the loop. */
3415 expand_start_loop_continue_elsewhere (1);
3416 /* Emit the end-test, with a line number. */
3417 emit_line_note (yyvsp[-2].filename, yyvsp[-3].lineno);
3418 if (yyvsp[-4].ttype)
3419 expand_exit_loop_if_false (NULL_PTR,
3420 truthvalue_conversion (yyvsp[-4].ttype));
3421 /* Don't let the tree nodes for $9 be discarded by
3422 clear_momentary during the parsing of the next stmt. */
3424 yyvsp[-3].lineno = lineno;
3425 yyvsp[-2].filename = input_filename;
3426 position_after_white_space (); ;
3429 #line 1806 "c-parse.y"
3430 { /* Emit the increment expression, with a line number. */
3431 emit_line_note (yyvsp[-4].filename, yyvsp[-5].lineno);
3432 expand_loop_continue_here ();
3433 if (yyvsp[-3].ttype)
3434 c_expand_expr_stmt (yyvsp[-3].ttype);
3435 if (yychar == CONSTANT || yychar == STRING)
3436 pop_momentary_nofree ();
3439 expand_end_loop (); ;
3442 #line 1817 "c-parse.y"
3444 emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
3445 c_expand_start_case (yyvsp[-1].ttype);
3446 /* Don't let the tree nodes for $3 be discarded by
3447 clear_momentary during the parsing of the next stmt. */
3449 position_after_white_space (); ;
3452 #line 1825 "c-parse.y"
3453 { expand_end_case (yyvsp[-3].ttype);
3454 if (yychar == CONSTANT || yychar == STRING)
3455 pop_momentary_nofree ();
3460 #line 1831 "c-parse.y"
3462 emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
3463 if ( ! expand_exit_something ())
3464 error ("break statement not within loop or switch"); ;
3467 #line 1836 "c-parse.y"
3469 emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
3470 if (! expand_continue_loop (NULL_PTR))
3471 error ("continue statement not within a loop"); ;
3474 #line 1841 "c-parse.y"
3476 emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
3477 c_expand_return (NULL_TREE); ;
3480 #line 1845 "c-parse.y"
3482 emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
3483 c_expand_return (yyvsp[-1].ttype); ;
3486 #line 1849 "c-parse.y"
3488 emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno);
3489 STRIP_NOPS (yyvsp[-2].ttype);
3490 if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
3491 && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
3492 || TREE_CODE (yyvsp[-2].ttype) == STRING_CST)
3493 expand_asm (yyvsp[-2].ttype);
3495 error ("argument of `asm' is not a constant string"); ;
3498 #line 1860 "c-parse.y"
3500 emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno);
3501 c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
3502 yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
3503 input_filename, lineno); ;
3506 #line 1867 "c-parse.y"
3508 emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno);
3509 c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
3510 yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
3511 input_filename, lineno); ;
3514 #line 1875 "c-parse.y"
3516 emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno);
3517 c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
3518 yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
3519 input_filename, lineno); ;
3522 #line 1881 "c-parse.y"
3525 emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
3526 decl = lookup_label (yyvsp[-1].ttype);
3529 TREE_USED (decl) = 1;
3535 #line 1892 "c-parse.y"
3537 pedwarn ("ANSI C forbids `goto *expr;'");
3539 emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
3540 expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ;
3543 #line 1907 "c-parse.y"
3545 /* The value returned by this action is */
3546 /* 1 if everything is OK */
3547 /* 0 in case of error or already bound iterator */
3550 if (TREE_CODE (yyvsp[-1].ttype) != VAR_DECL)
3551 error ("invalid `for (ITERATOR)' syntax");
3552 else if (! ITERATOR_P (yyvsp[-1].ttype))
3553 error ("`%s' is not an iterator",
3554 IDENTIFIER_POINTER (DECL_NAME (yyvsp[-1].ttype)));
3555 else if (ITERATOR_BOUND_P (yyvsp[-1].ttype))
3556 error ("`for (%s)' inside expansion of same iterator",
3557 IDENTIFIER_POINTER (DECL_NAME (yyvsp[-1].ttype)));
3561 iterator_for_loop_start (yyvsp[-1].ttype);
3566 #line 1928 "c-parse.y"
3568 if (yyvsp[-1].itype)
3569 iterator_for_loop_end (yyvsp[-3].ttype);
3573 #line 1963 "c-parse.y"
3574 { register tree value = check_case_value (yyvsp[-1].ttype);
3576 = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
3580 if (value != error_mark_node)
3585 if (pedantic && ! INTEGRAL_TYPE_P (TREE_TYPE (value)))
3586 pedwarn ("label must have integral type in ANSI C");
3588 success = pushcase (value, convert_and_check,
3592 error ("case label not within a switch statement");
3593 else if (success == 2)
3595 error ("duplicate case value");
3596 error_with_decl (duplicate, "this is the first entry for that value");
3598 else if (success == 3)
3599 warning ("case value out of range");
3600 else if (success == 5)
3601 error ("case label within scope of cleanup or variable array");
3603 position_after_white_space (); ;
3606 #line 1994 "c-parse.y"
3607 { register tree value1 = check_case_value (yyvsp[-3].ttype);
3608 register tree value2 = check_case_value (yyvsp[-1].ttype);
3610 = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
3613 pedwarn ("ANSI C forbids case ranges");
3616 if (value1 != error_mark_node && value2 != error_mark_node)
3619 int success = pushcase_range (value1, value2,
3620 convert_and_check, label,
3623 error ("case label not within a switch statement");
3624 else if (success == 2)
3626 error ("duplicate case value");
3627 error_with_decl (duplicate, "this is the first entry for that value");
3629 else if (success == 3)
3630 warning ("case value out of range");
3631 else if (success == 4)
3632 warning ("empty case range");
3633 else if (success == 5)
3634 error ("case label within scope of cleanup or variable array");
3636 position_after_white_space (); ;
3639 #line 2025 "c-parse.y"
3643 = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
3644 int success = pushcase (NULL_TREE, 0, label, &duplicate);
3647 error ("default label not within a switch statement");
3648 else if (success == 2)
3650 error ("multiple default labels in one switch");
3651 error_with_decl (duplicate, "this is the first default label");
3653 position_after_white_space (); ;
3656 #line 2040 "c-parse.y"
3657 { tree label = define_label (input_filename, lineno, yyvsp[-2].ttype);
3662 expand_label (label);
3663 decl_attributes (label, yyvsp[0].ttype, NULL_TREE);
3665 position_after_white_space (); ;
3668 #line 2055 "c-parse.y"
3669 { emit_line_note (input_filename, lineno);
3670 yyval.ttype = NULL_TREE; ;
3673 #line 2058 "c-parse.y"
3674 { emit_line_note (input_filename, lineno); ;
3677 #line 2063 "c-parse.y"
3678 { yyval.ttype = NULL_TREE; ;
3681 #line 2070 "c-parse.y"
3682 { yyval.ttype = NULL_TREE; ;
3685 #line 2077 "c-parse.y"
3686 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
3689 #line 2082 "c-parse.y"
3690 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
3693 #line 2087 "c-parse.y"
3694 { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;
3697 #line 2089 "c-parse.y"
3698 { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
3701 #line 2095 "c-parse.y"
3703 clear_parm_order ();
3704 declare_parm_level (0); ;
3707 #line 2099 "c-parse.y"
3708 { yyval.ttype = yyvsp[0].ttype;
3709 parmlist_tags_warning ();
3710 poplevel (0, 0, 0); ;
3713 #line 2107 "c-parse.y"
3716 pedwarn ("ANSI C forbids forward parameter declarations");
3717 /* Mark the forward decls as such. */
3718 for (parm = getdecls (); parm; parm = TREE_CHAIN (parm))
3719 TREE_ASM_WRITTEN (parm) = 1;
3720 clear_parm_order (); ;
3723 #line 2115 "c-parse.y"
3724 { yyval.ttype = yyvsp[0].ttype; ;
3727 #line 2117 "c-parse.y"
3728 { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
3731 #line 2123 "c-parse.y"
3732 { yyval.ttype = get_parm_info (0); ;
3735 #line 2125 "c-parse.y"
3736 { yyval.ttype = get_parm_info (0);
3737 /* Gcc used to allow this as an extension. However, it does
3738 not work for all targets, and thus has been disabled.
3739 Also, since func (...) and func () are indistinguishable,
3740 it caused problems with the code in expand_builtin which
3741 tries to verify that BUILT_IN_NEXT_ARG is being used
3743 error ("ANSI C requires a named argument before `...'");
3747 #line 2135 "c-parse.y"
3748 { yyval.ttype = get_parm_info (1); ;
3751 #line 2137 "c-parse.y"
3752 { yyval.ttype = get_parm_info (0); ;
3755 #line 2142 "c-parse.y"
3756 { push_parm_decl (yyvsp[0].ttype); ;
3759 #line 2144 "c-parse.y"
3760 { push_parm_decl (yyvsp[0].ttype); ;
3763 #line 2151 "c-parse.y"
3764 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
3766 build_tree_list (prefix_attributes,
3768 current_declspecs = TREE_VALUE (declspec_stack);
3769 prefix_attributes = TREE_PURPOSE (declspec_stack);
3770 declspec_stack = TREE_CHAIN (declspec_stack);
3771 resume_momentary (yyvsp[-2].itype); ;
3774 #line 2160 "c-parse.y"
3775 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
3777 build_tree_list (prefix_attributes,
3779 current_declspecs = TREE_VALUE (declspec_stack);
3780 prefix_attributes = TREE_PURPOSE (declspec_stack);
3781 declspec_stack = TREE_CHAIN (declspec_stack);
3782 resume_momentary (yyvsp[-2].itype); ;
3785 #line 2169 "c-parse.y"
3786 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
3788 build_tree_list (prefix_attributes,
3790 current_declspecs = TREE_VALUE (declspec_stack);
3791 prefix_attributes = TREE_PURPOSE (declspec_stack);
3792 declspec_stack = TREE_CHAIN (declspec_stack);
3793 resume_momentary (yyvsp[-2].itype); ;
3796 #line 2178 "c-parse.y"
3797 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
3799 build_tree_list (prefix_attributes,
3801 current_declspecs = TREE_VALUE (declspec_stack);
3802 prefix_attributes = TREE_PURPOSE (declspec_stack);
3803 declspec_stack = TREE_CHAIN (declspec_stack);
3804 resume_momentary (yyvsp[-2].itype); ;
3807 #line 2188 "c-parse.y"
3808 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
3810 build_tree_list (prefix_attributes,
3812 current_declspecs = TREE_VALUE (declspec_stack);
3813 prefix_attributes = TREE_PURPOSE (declspec_stack);
3814 declspec_stack = TREE_CHAIN (declspec_stack);
3815 resume_momentary (yyvsp[-2].itype); ;
3818 #line 2202 "c-parse.y"
3820 clear_parm_order ();
3821 declare_parm_level (1); ;
3824 #line 2206 "c-parse.y"
3825 { yyval.ttype = yyvsp[0].ttype;
3826 parmlist_tags_warning ();
3827 poplevel (0, 0, 0); ;
3830 #line 2214 "c-parse.y"
3832 for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t))
3833 if (TREE_VALUE (t) == NULL_TREE)
3834 error ("`...' in old-style identifier list");
3835 yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
3838 #line 2224 "c-parse.y"
3839 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
3842 #line 2226 "c-parse.y"
3843 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
3846 #line 2232 "c-parse.y"
3847 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
3850 #line 2234 "c-parse.y"
3851 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
3854 #line 2239 "c-parse.y"
3855 { yyval.itype = pedantic;
3859 /* the action file gets copied in in place of this dollarsign */
3860 #line 542 "/usr/lib/bison.simple"
3871 short *ssp1 = yyss - 1;
3872 fprintf (stderr, "state stack now");
3873 while (ssp1 != yyssp)
3874 fprintf (stderr, " %d", *++ssp1);
3875 fprintf (stderr, "\n");
3885 yylsp->first_line = yylloc.first_line;
3886 yylsp->first_column = yylloc.first_column;
3887 yylsp->last_line = (yylsp-1)->last_line;
3888 yylsp->last_column = (yylsp-1)->last_column;
3893 yylsp->last_line = (yylsp+yylen-1)->last_line;
3894 yylsp->last_column = (yylsp+yylen-1)->last_column;
3898 /* Now "shift" the result of the reduction.
3899 Determine what state that goes to,
3900 based on the state we popped back to
3901 and the rule number reduced by. */
3905 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
3906 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
3907 yystate = yytable[yystate];
3909 yystate = yydefgoto[yyn - YYNTBASE];
3913 yyerrlab: /* here on detecting error */
3916 /* If not already recovering from an error, report this error. */
3920 #ifdef YYERROR_VERBOSE
3921 yyn = yypact[yystate];
3923 if (yyn > YYFLAG && yyn < YYLAST)
3930 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
3931 for (x = (yyn < 0 ? -yyn : 0);
3932 x < (sizeof(yytname) / sizeof(char *)); x++)
3933 if (yycheck[x + yyn] == x)
3934 size += strlen(yytname[x]) + 15, count++;
3935 msg = (char *) malloc(size + 15);
3938 strcpy(msg, "parse error");
3943 for (x = (yyn < 0 ? -yyn : 0);
3944 x < (sizeof(yytname) / sizeof(char *)); x++)
3945 if (yycheck[x + yyn] == x)
3947 strcat(msg, count == 0 ? ", expecting `" : " or `");
3948 strcat(msg, yytname[x]);
3957 yyerror ("parse error; also virtual memory exceeded");
3960 #endif /* YYERROR_VERBOSE */
3961 yyerror("parse error");
3965 yyerrlab1: /* here on error raised explicitly by an action */
3967 if (yyerrstatus == 3)
3969 /* if just tried and failed to reuse lookahead token after an error, discard it. */
3971 /* return failure if at end of input */
3972 if (yychar == YYEOF)
3977 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
3983 /* Else will try to reuse lookahead token
3984 after shifting the error token. */
3986 yyerrstatus = 3; /* Each real token shifted decrements this */
3990 yyerrdefault: /* current state does not do anything special for the error token. */
3993 /* This is wrong; only states that explicitly want error tokens
3994 should shift them. */
3995 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
3996 if (yyn) goto yydefault;
3999 yyerrpop: /* pop the current state because it cannot handle the error token */
4001 if (yyssp == yyss) YYABORT;
4011 short *ssp1 = yyss - 1;
4012 fprintf (stderr, "Error: state stack now");
4013 while (ssp1 != yyssp)
4014 fprintf (stderr, " %d", *++ssp1);
4015 fprintf (stderr, "\n");
4021 yyn = yypact[yystate];
4026 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
4045 fprintf(stderr, "Shifting error token, ");
4057 /* YYACCEPT comes here. */
4069 /* YYABORT comes here. */
4080 #line 2243 "c-parse.y"