1 /* A Bison parser, made by GNU Bison 2.0. */
3 /* Skeleton parser for Yacc-like parsing with Bison,
4 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. */
21 /* As a special exception, when this file is copied by Bison into a
22 Bison output file, you may use that output file without restriction.
23 This special exception was added by the Free Software Foundation
24 in version 1.24 of Bison. */
26 /* Written by Richard Stallman by simplifying the original so called
27 ``semantic'' parser. */
29 /* All symbols defined below should begin with yy or YY, to avoid
30 infringing on user name space. This should be done even for local
31 variables, as they might otherwise be expanded by user macros.
32 There are some unavoidable exceptions within include files to
33 define necessary library symbols; they are noted "INFRINGES ON
34 USER NAME SPACE" below. */
36 /* Identify Bison output. */
40 #define YYSKELETON_NAME "yacc.c"
45 /* Using locations. */
46 #define YYLSP_NEEDED 0
53 /* Put the tokens into the symbol table, so that GDB and other debuggers
92 TYPES_COMPATIBLE_P = 294,
108 AT_IMPLEMENTATION = 310,
124 AT_SYNCHRONIZED = 326,
128 #define IDENTIFIER 258
133 #define TYPE_QUAL 263
134 #define OBJC_TYPE_QUAL 264
154 #define ASM_KEYWORD 284
157 #define ATTRIBUTE 287
158 #define EXTENSION 288
163 #define CHOOSE_EXPR 293
164 #define TYPES_COMPATIBLE_P 294
165 #define FUNC_NAME 295
170 #define EQCOMPARE 300
171 #define ARITHCOMPARE 301
174 #define MINUSMINUS 304
177 #define HYPERUNARY 307
179 #define AT_INTERFACE 309
180 #define AT_IMPLEMENTATION 310
182 #define AT_SELECTOR 312
184 #define AT_ENCODE 314
185 #define CLASSNAME 315
186 #define AT_PUBLIC 316
187 #define AT_PRIVATE 317
188 #define AT_PROTECTED 318
189 #define AT_PROTOCOL 319
195 #define AT_FINALLY 325
196 #define AT_SYNCHRONIZED 326
197 #define OBJC_STRING 327
202 /* Copy the first part of user declarations. */
207 #include "coretypes.h"
210 #include "langhooks.h"
215 #include "c-pragma.h" /* For YYDEBUG definition, and parse_in. */
222 #include "c-common.h"
224 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
226 /* Like the default stack expander, except (1) use realloc when possible,
227 (2) impose no hard maxiumum on stack size, (3) REALLY do not use alloca.
229 Irritatingly, YYSTYPE is defined after this %{ %} block, so we cannot
230 give malloced_yyvs its proper type. This is ok since all we need from
231 it is to be able to free it. */
233 static short *malloced_yyss;
234 static void *malloced_yyvs;
236 #define yyoverflow(MSG, SS, SSSIZE, VS, VSSIZE, YYSSZ) \
241 newsize = *(YYSSZ) *= 2; \
244 newss = really_call_realloc (*(SS), newsize * sizeof (short)); \
245 newvs = really_call_realloc (*(VS), newsize * sizeof (YYSTYPE)); \
249 newss = really_call_malloc (newsize * sizeof (short)); \
250 newvs = really_call_malloc (newsize * sizeof (YYSTYPE)); \
252 memcpy (newss, *(SS), (SSSIZE)); \
254 memcpy (newvs, *(VS), (VSSIZE)); \
256 if (!newss || !newvs) \
263 malloced_yyss = newss; \
264 malloced_yyvs = (void *) newvs; \
268 /* Enabling traces. */
273 /* Enabling verbose error messages. */
274 #ifdef YYERROR_VERBOSE
275 # undef YYERROR_VERBOSE
276 # define YYERROR_VERBOSE 1
278 # define YYERROR_VERBOSE 0
281 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
282 #line 100 "c-parse.y"
283 typedef union YYSTYPE {long itype; tree ttype; void *otype; struct c_expr exprtype;
284 struct c_arg_info *arginfotype; struct c_declarator *dtrtype;
285 struct c_type_name *typenametype; struct c_parm *parmtype;
286 struct c_declspecs *dsptype; struct c_typespec tstype;
287 enum tree_code code; location_t location; } YYSTYPE;
288 /* Line 190 of yacc.c. */
289 #line 290 "c-parse.c"
290 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
291 # define YYSTYPE_IS_DECLARED 1
292 # define YYSTYPE_IS_TRIVIAL 1
297 /* Copy the second part of user declarations. */
298 #line 251 "c-parse.y"
300 /* Declaration specifiers of the current declaration. */
301 static struct c_declspecs *current_declspecs;
302 static GTY(()) tree prefix_attributes;
304 /* List of all the attributes applying to the identifier currently being
305 declared; includes prefix_attributes and possibly some more attributes
306 just after a comma. */
307 static GTY(()) tree all_prefix_attributes;
309 /* Structure to save declaration specifiers. */
310 struct c_declspec_stack {
311 /* Saved value of current_declspecs. */
312 struct c_declspecs *current_declspecs;
313 /* Saved value of prefix_attributes. */
314 tree prefix_attributes;
315 /* Saved value of all_prefix_attributes. */
316 tree all_prefix_attributes;
317 /* Next level of stack. */
318 struct c_declspec_stack *next;
321 /* Stack of saved values of current_declspecs, prefix_attributes and
322 all_prefix_attributes. */
323 static struct c_declspec_stack *declspec_stack;
325 /* INDIRECT_REF with a TREE_TYPE of the type being queried for offsetof. */
326 static tree offsetof_base;
328 /* PUSH_DECLSPEC_STACK is called from setspecs; POP_DECLSPEC_STACK
329 should be called from the productions making use of setspecs. */
330 #define PUSH_DECLSPEC_STACK \
332 struct c_declspec_stack *t = XOBNEW (&parser_obstack, \
333 struct c_declspec_stack); \
334 t->current_declspecs = current_declspecs; \
335 t->prefix_attributes = prefix_attributes; \
336 t->all_prefix_attributes = all_prefix_attributes; \
337 t->next = declspec_stack; \
338 declspec_stack = t; \
341 #define POP_DECLSPEC_STACK \
343 current_declspecs = declspec_stack->current_declspecs; \
344 prefix_attributes = declspec_stack->prefix_attributes; \
345 all_prefix_attributes = declspec_stack->all_prefix_attributes; \
346 declspec_stack = declspec_stack->next; \
349 /* For __extension__, save/restore the warning flags which are
350 controlled by __extension__. */
351 #define SAVE_EXT_FLAGS() \
353 | (warn_pointer_arith << 1) \
354 | (warn_traditional << 2) \
357 #define RESTORE_EXT_FLAGS(val) \
359 pedantic = val & 1; \
360 warn_pointer_arith = (val >> 1) & 1; \
361 warn_traditional = (val >> 2) & 1; \
362 flag_iso = (val >> 3) & 1; \
366 #define OBJC_NEED_RAW_IDENTIFIER(VAL) /* nothing */
368 /* Tell yyparse how to print a token's value, if yydebug is set. */
370 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
372 static void yyprint (FILE *, int, YYSTYPE);
373 static void yyerror (const char *);
374 static int yylexname (void);
375 static inline int _yylex (void);
376 static int yylex (void);
377 static void init_reswords (void);
379 /* Initialization routine for this file. */
388 /* Line 213 of yacc.c. */
389 #line 390 "c-parse.c"
391 #if ! defined (yyoverflow) || YYERROR_VERBOSE
397 # define YYMALLOC malloc
400 /* The parser invokes alloca or malloc; define the necessary symbols. */
402 # ifdef YYSTACK_USE_ALLOCA
403 # if YYSTACK_USE_ALLOCA
405 # define YYSTACK_ALLOC __builtin_alloca
407 # define YYSTACK_ALLOC alloca
412 # ifdef YYSTACK_ALLOC
413 /* Pacify GCC's `empty if-body' warning. */
414 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
416 # if defined (__STDC__) || defined (__cplusplus)
417 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
418 # define YYSIZE_T size_t
420 # define YYSTACK_ALLOC YYMALLOC
421 # define YYSTACK_FREE YYFREE
423 #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
426 #if (! defined (yyoverflow) \
427 && (! defined (__cplusplus) \
428 || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
430 /* A type that is properly aligned for any stack member. */
437 /* The size of the maximum gap between one aligned stack and the next. */
438 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
440 /* The size of an array large to enough to hold all stacks, each with
442 # define YYSTACK_BYTES(N) \
443 ((N) * (sizeof (short int) + sizeof (YYSTYPE)) \
444 + YYSTACK_GAP_MAXIMUM)
446 /* Copy COUNT objects from FROM to TO. The source and destination do
449 # if defined (__GNUC__) && 1 < __GNUC__
450 # define YYCOPY(To, From, Count) \
451 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
453 # define YYCOPY(To, From, Count) \
456 register YYSIZE_T yyi; \
457 for (yyi = 0; yyi < (Count); yyi++) \
458 (To)[yyi] = (From)[yyi]; \
464 /* Relocate STACK from its old location to the new one. The
465 local variables YYSIZE and YYSTACKSIZE give the old and new number of
466 elements in the stack, and YYPTR gives the new location of the
467 stack. Advance YYPTR to a properly aligned location for the next
469 # define YYSTACK_RELOCATE(Stack) \
472 YYSIZE_T yynewbytes; \
473 YYCOPY (&yyptr->Stack, Stack, yysize); \
474 Stack = &yyptr->Stack; \
475 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
476 yyptr += yynewbytes / sizeof (*yyptr); \
482 #if defined (__STDC__) || defined (__cplusplus)
483 typedef signed char yysigned_char;
485 typedef short int yysigned_char;
488 /* YYFINAL -- State number of the termination state. */
490 /* YYLAST -- Last index in YYTABLE. */
493 /* YYNTOKENS -- Number of terminals. */
495 /* YYNNTS -- Number of nonterminals. */
497 /* YYNRULES -- Number of rules. */
499 /* YYNRULES -- Number of states. */
500 #define YYNSTATES 933
502 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
504 #define YYMAXUTOK 327
506 #define YYTRANSLATE(YYX) \
507 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
509 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
510 static const unsigned char yytranslate[] =
512 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
513 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
514 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
515 2, 2, 2, 90, 2, 2, 2, 59, 50, 2,
516 65, 92, 57, 55, 91, 56, 64, 58, 2, 2,
517 2, 2, 2, 2, 2, 2, 2, 2, 45, 87,
518 2, 42, 2, 44, 2, 2, 2, 2, 2, 2,
519 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
520 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
521 2, 66, 2, 94, 49, 2, 2, 2, 2, 2,
522 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
523 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
524 2, 2, 2, 93, 48, 88, 89, 2, 2, 2,
525 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
526 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
527 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
528 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
529 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
530 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
531 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
532 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
533 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
534 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
535 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
536 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
537 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
538 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
539 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
540 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
541 35, 36, 37, 38, 39, 40, 41, 43, 46, 47,
542 51, 52, 53, 54, 60, 61, 62, 63, 67, 68,
543 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
544 79, 80, 81, 82, 83, 84, 85, 86
548 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
550 static const unsigned short int yyprhs[] =
552 0, 0, 3, 4, 6, 7, 11, 12, 17, 19,
553 21, 23, 26, 27, 31, 36, 41, 44, 47, 50,
554 52, 53, 54, 63, 68, 69, 70, 79, 84, 85,
555 86, 94, 98, 100, 102, 104, 106, 108, 110, 112,
556 114, 116, 118, 122, 123, 125, 127, 131, 133, 136,
557 139, 142, 145, 148, 153, 156, 161, 164, 167, 169,
558 171, 173, 175, 180, 182, 186, 190, 194, 198, 202,
559 206, 210, 214, 218, 222, 226, 230, 231, 236, 237,
560 242, 243, 244, 252, 253, 259, 263, 267, 269, 271,
561 273, 275, 276, 284, 288, 292, 296, 300, 305, 312,
562 313, 321, 326, 335, 340, 347, 352, 357, 361, 365,
563 368, 371, 373, 377, 382, 383, 385, 388, 390, 392,
564 395, 398, 403, 408, 411, 414, 417, 418, 420, 425,
565 430, 434, 438, 441, 444, 446, 449, 452, 455, 458,
566 461, 463, 466, 468, 471, 474, 477, 480, 483, 486,
567 488, 491, 494, 497, 500, 503, 506, 509, 512, 515,
568 518, 521, 524, 527, 530, 533, 536, 538, 541, 544,
569 547, 550, 553, 556, 559, 562, 565, 568, 571, 574,
570 577, 580, 583, 586, 589, 592, 595, 598, 601, 604,
571 607, 610, 613, 616, 619, 622, 625, 628, 631, 634,
572 637, 640, 643, 646, 649, 652, 655, 658, 661, 664,
573 667, 670, 672, 674, 676, 678, 680, 682, 684, 686,
574 688, 690, 692, 694, 696, 698, 700, 702, 704, 706,
575 708, 710, 712, 714, 716, 718, 720, 722, 724, 726,
576 728, 730, 732, 734, 736, 738, 740, 742, 744, 746,
577 748, 750, 752, 754, 756, 758, 760, 762, 764, 766,
578 768, 770, 772, 774, 776, 778, 780, 782, 783, 785,
579 787, 789, 791, 793, 795, 797, 799, 804, 809, 811,
580 816, 818, 823, 824, 831, 835, 836, 843, 847, 848,
581 850, 852, 855, 864, 868, 870, 874, 875, 877, 882,
582 889, 894, 896, 898, 900, 902, 904, 906, 908, 909,
583 914, 916, 917, 920, 922, 926, 930, 933, 934, 939,
584 941, 942, 947, 949, 951, 953, 956, 959, 961, 967,
585 971, 972, 973, 980, 981, 982, 989, 991, 993, 998,
586 1002, 1005, 1009, 1011, 1013, 1015, 1019, 1022, 1024, 1028,
587 1031, 1035, 1039, 1044, 1048, 1053, 1057, 1060, 1062, 1064,
588 1067, 1069, 1072, 1074, 1077, 1078, 1086, 1092, 1093, 1101,
589 1107, 1108, 1117, 1118, 1126, 1129, 1132, 1135, 1136, 1138,
590 1139, 1141, 1143, 1146, 1147, 1151, 1154, 1158, 1161, 1165,
591 1167, 1169, 1172, 1174, 1179, 1181, 1186, 1189, 1194, 1198,
592 1201, 1206, 1210, 1212, 1216, 1218, 1220, 1224, 1225, 1229,
593 1230, 1232, 1233, 1235, 1238, 1240, 1242, 1244, 1248, 1251,
594 1255, 1260, 1264, 1267, 1270, 1272, 1277, 1281, 1286, 1292,
595 1298, 1300, 1302, 1304, 1306, 1308, 1311, 1314, 1317, 1320,
596 1322, 1325, 1328, 1331, 1333, 1336, 1339, 1342, 1345, 1347,
597 1350, 1352, 1354, 1356, 1358, 1361, 1362, 1363, 1365, 1367,
598 1370, 1374, 1376, 1379, 1381, 1383, 1387, 1389, 1391, 1394,
599 1397, 1398, 1399, 1402, 1406, 1409, 1412, 1415, 1419, 1423,
600 1425, 1435, 1445, 1453, 1461, 1462, 1463, 1473, 1474, 1475,
601 1489, 1490, 1492, 1495, 1497, 1500, 1502, 1515, 1516, 1525,
602 1528, 1530, 1532, 1534, 1536, 1538, 1541, 1544, 1547, 1551,
603 1553, 1557, 1562, 1564, 1566, 1568, 1572, 1578, 1581, 1586,
604 1593, 1594, 1596, 1599, 1604, 1613, 1615, 1619, 1625, 1633,
605 1634, 1636, 1637, 1639, 1641, 1645, 1652, 1662, 1664, 1668,
606 1670, 1671, 1672, 1673, 1677, 1680, 1681, 1682, 1689, 1692,
607 1693, 1695, 1697, 1701, 1703, 1707, 1712, 1717, 1721, 1726,
608 1730, 1735, 1740, 1744, 1749, 1753, 1755, 1756, 1760, 1762,
609 1765, 1767, 1771, 1773, 1777
612 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
613 static const short int yyrhs[] =
615 96, 0, -1, -1, 97, -1, -1, 101, 98, 100,
616 -1, -1, 97, 101, 99, 100, -1, 103, -1, 102,
617 -1, 277, -1, 303, 100, -1, -1, 135, 169, 87,
618 -1, 155, 135, 169, 87, -1, 154, 135, 168, 87,
619 -1, 161, 87, -1, 1, 87, -1, 1, 88, -1,
620 87, -1, -1, -1, 154, 135, 198, 104, 130, 250,
621 105, 244, -1, 154, 135, 198, 1, -1, -1, -1,
622 155, 135, 203, 106, 130, 250, 107, 244, -1, 155,
623 135, 203, 1, -1, -1, -1, 135, 203, 108, 130,
624 250, 109, 244, -1, 135, 203, 1, -1, 3, -1,
625 4, -1, 50, -1, 56, -1, 55, -1, 61, -1,
626 60, -1, 89, -1, 90, -1, 120, -1, 112, 91,
627 120, -1, -1, 114, -1, 120, -1, 114, 91, 120,
628 -1, 126, -1, 57, 119, -1, 303, 119, -1, 111,
629 119, -1, 47, 110, -1, 116, 115, -1, 116, 65,
630 224, 92, -1, 117, 115, -1, 117, 65, 224, 92,
631 -1, 35, 119, -1, 36, 119, -1, 13, -1, 31,
632 -1, 30, -1, 115, -1, 65, 224, 92, 119, -1,
633 119, -1, 120, 55, 120, -1, 120, 56, 120, -1,
634 120, 57, 120, -1, 120, 58, 120, -1, 120, 59,
635 120, -1, 120, 54, 120, -1, 120, 53, 120, -1,
636 120, 52, 120, -1, 120, 51, 120, -1, 120, 50,
637 120, -1, 120, 48, 120, -1, 120, 49, 120, -1,
638 -1, 120, 47, 121, 120, -1, -1, 120, 46, 122,
639 120, -1, -1, -1, 120, 44, 123, 112, 45, 124,
640 120, -1, -1, 120, 44, 125, 45, 120, -1, 120,
641 42, 120, -1, 120, 43, 120, -1, 3, -1, 10,
642 -1, 11, -1, 40, -1, -1, 65, 224, 92, 93,
643 127, 183, 88, -1, 65, 112, 92, -1, 65, 1,
644 92, -1, 248, 246, 92, -1, 248, 1, 92, -1,
645 126, 65, 113, 92, -1, 37, 65, 120, 91, 224,
646 92, -1, -1, 41, 65, 224, 91, 128, 129, 92,
647 -1, 41, 65, 1, 92, -1, 38, 65, 120, 91,
648 120, 91, 120, 92, -1, 38, 65, 1, 92, -1,
649 39, 65, 224, 91, 224, 92, -1, 39, 65, 1,
650 92, -1, 126, 66, 112, 94, -1, 126, 64, 110,
651 -1, 126, 67, 110, -1, 126, 61, -1, 126, 60,
652 -1, 110, -1, 129, 64, 110, -1, 129, 66, 112,
653 94, -1, -1, 132, -1, 250, 133, -1, 131, -1,
654 239, -1, 132, 131, -1, 131, 239, -1, 156, 135,
655 168, 87, -1, 157, 135, 169, 87, -1, 156, 87,
656 -1, 157, 87, -1, 250, 137, -1, -1, 174, -1,
657 154, 135, 168, 87, -1, 155, 135, 169, 87, -1,
658 154, 135, 192, -1, 155, 135, 195, -1, 161, 87,
659 -1, 303, 137, -1, 8, -1, 138, 8, -1, 139,
660 8, -1, 138, 175, -1, 140, 8, -1, 141, 8,
661 -1, 175, -1, 140, 175, -1, 163, -1, 142, 8,
662 -1, 143, 8, -1, 142, 165, -1, 143, 165, -1,
663 138, 163, -1, 139, 163, -1, 164, -1, 142, 175,
664 -1, 142, 166, -1, 143, 166, -1, 138, 164, -1,
665 139, 164, -1, 144, 8, -1, 145, 8, -1, 144,
666 165, -1, 145, 165, -1, 140, 163, -1, 141, 163,
667 -1, 144, 175, -1, 144, 166, -1, 145, 166, -1,
668 140, 164, -1, 141, 164, -1, 180, -1, 146, 8,
669 -1, 147, 8, -1, 138, 180, -1, 139, 180, -1,
670 146, 180, -1, 147, 180, -1, 146, 175, -1, 148,
671 8, -1, 149, 8, -1, 140, 180, -1, 141, 180,
672 -1, 148, 180, -1, 149, 180, -1, 148, 175, -1,
673 150, 8, -1, 151, 8, -1, 150, 165, -1, 151,
674 165, -1, 146, 163, -1, 147, 163, -1, 142, 180,
675 -1, 143, 180, -1, 150, 180, -1, 151, 180, -1,
676 150, 175, -1, 150, 166, -1, 151, 166, -1, 146,
677 164, -1, 147, 164, -1, 152, 8, -1, 153, 8,
678 -1, 152, 165, -1, 153, 165, -1, 148, 163, -1,
679 149, 163, -1, 144, 180, -1, 145, 180, -1, 152,
680 180, -1, 153, 180, -1, 152, 175, -1, 152, 166,
681 -1, 153, 166, -1, 148, 164, -1, 149, 164, -1,
682 142, -1, 143, -1, 144, -1, 145, -1, 150, -1,
683 151, -1, 152, -1, 153, -1, 138, -1, 139, -1,
684 140, -1, 141, -1, 146, -1, 147, -1, 148, -1,
685 149, -1, 142, -1, 143, -1, 150, -1, 151, -1,
686 138, -1, 139, -1, 146, -1, 147, -1, 142, -1,
687 143, -1, 144, -1, 145, -1, 138, -1, 139, -1,
688 140, -1, 141, -1, 142, -1, 143, -1, 144, -1,
689 145, -1, 138, -1, 139, -1, 140, -1, 141, -1,
690 138, -1, 139, -1, 140, -1, 141, -1, 142, -1,
691 143, -1, 144, -1, 145, -1, 146, -1, 147, -1,
692 148, -1, 149, -1, 150, -1, 151, -1, 152, -1,
693 153, -1, -1, 159, -1, 165, -1, 167, -1, 166,
694 -1, 7, -1, 212, -1, 207, -1, 4, -1, 118,
695 65, 112, 92, -1, 118, 65, 224, 92, -1, 170,
696 -1, 168, 91, 136, 170, -1, 172, -1, 169, 91,
697 136, 172, -1, -1, 198, 276, 174, 42, 171, 181,
698 -1, 198, 276, 174, -1, -1, 203, 276, 174, 42,
699 173, 181, -1, 203, 276, 174, -1, -1, 175, -1,
700 176, -1, 175, 176, -1, 32, 286, 65, 65, 177,
701 92, 92, 287, -1, 32, 1, 287, -1, 178, -1,
702 177, 91, 178, -1, -1, 179, -1, 179, 65, 3,
703 92, -1, 179, 65, 3, 91, 114, 92, -1, 179,
704 65, 113, 92, -1, 110, -1, 180, -1, 7, -1,
705 8, -1, 6, -1, 5, -1, 120, -1, -1, 93,
706 182, 183, 88, -1, 1, -1, -1, 184, 213, -1,
707 185, -1, 184, 91, 185, -1, 189, 42, 187, -1,
708 191, 187, -1, -1, 110, 45, 186, 187, -1, 187,
709 -1, -1, 93, 188, 183, 88, -1, 120, -1, 1,
710 -1, 190, -1, 189, 190, -1, 64, 110, -1, 191,
711 -1, 66, 120, 12, 120, 94, -1, 66, 120, 94,
712 -1, -1, -1, 198, 193, 130, 250, 194, 249, -1,
713 -1, -1, 203, 196, 130, 250, 197, 249, -1, 199,
714 -1, 203, -1, 65, 174, 199, 92, -1, 199, 65,
715 298, -1, 199, 232, -1, 57, 162, 199, -1, 4,
716 -1, 201, -1, 202, -1, 201, 65, 298, -1, 201,
717 232, -1, 4, -1, 202, 65, 298, -1, 202, 232,
718 -1, 57, 162, 201, -1, 57, 162, 202, -1, 65,
719 174, 202, 92, -1, 203, 65, 298, -1, 65, 174,
720 203, 92, -1, 57, 162, 203, -1, 203, 232, -1,
721 3, -1, 15, -1, 15, 175, -1, 16, -1, 16,
722 175, -1, 14, -1, 14, 175, -1, -1, 204, 110,
723 93, 208, 215, 88, 174, -1, 204, 93, 215, 88,
724 174, -1, -1, 205, 110, 93, 209, 215, 88, 174,
725 -1, 205, 93, 215, 88, 174, -1, -1, 206, 110,
726 93, 210, 222, 214, 88, 174, -1, -1, 206, 93,
727 211, 222, 214, 88, 174, -1, 204, 110, -1, 205,
728 110, -1, 206, 110, -1, -1, 91, -1, -1, 91,
729 -1, 216, -1, 216, 217, -1, -1, 216, 217, 87,
730 -1, 216, 87, -1, 158, 135, 218, -1, 158, 135,
731 -1, 159, 135, 219, -1, 159, -1, 1, -1, 303,
732 217, -1, 220, -1, 218, 91, 136, 220, -1, 221,
733 -1, 219, 91, 136, 221, -1, 198, 174, -1, 198,
734 45, 120, 174, -1, 45, 120, 174, -1, 203, 174,
735 -1, 203, 45, 120, 174, -1, 45, 120, 174, -1,
736 223, -1, 222, 91, 223, -1, 1, -1, 110, -1,
737 110, 42, 120, -1, -1, 160, 225, 226, -1, -1,
738 228, -1, -1, 228, -1, 229, 175, -1, 230, -1,
739 229, -1, 231, -1, 57, 162, 229, -1, 57, 162,
740 -1, 57, 162, 230, -1, 65, 174, 228, 92, -1,
741 231, 65, 288, -1, 231, 232, -1, 65, 288, -1,
742 232, -1, 66, 162, 120, 94, -1, 66, 162, 94,
743 -1, 66, 162, 57, 94, -1, 66, 6, 162, 120,
744 94, -1, 66, 159, 6, 120, 94, -1, 234, -1,
745 235, -1, 236, -1, 237, -1, 253, -1, 234, 253,
746 -1, 235, 253, -1, 236, 253, -1, 237, 253, -1,
747 134, -1, 234, 134, -1, 235, 134, -1, 237, 134,
748 -1, 254, -1, 234, 254, -1, 235, 254, -1, 236,
749 254, -1, 237, 254, -1, 239, -1, 238, 239, -1,
750 234, -1, 235, -1, 236, -1, 237, -1, 1, 87,
751 -1, -1, -1, 242, -1, 243, -1, 242, 243, -1,
752 34, 302, 87, -1, 249, -1, 1, 249, -1, 93,
753 -1, 88, -1, 241, 247, 88, -1, 233, -1, 1,
754 -1, 65, 93, -1, 245, 246, -1, -1, -1, 251,
755 254, -1, 240, 251, 253, -1, 250, 273, -1, 250,
756 274, -1, 250, 112, -1, 240, 251, 258, -1, 240,
757 251, 87, -1, 252, -1, 17, 240, 250, 65, 255,
758 92, 256, 18, 257, -1, 17, 240, 250, 65, 255,
759 92, 257, 18, 257, -1, 17, 240, 250, 65, 255,
760 92, 256, -1, 17, 240, 250, 65, 255, 92, 257,
761 -1, -1, -1, 19, 240, 250, 65, 255, 92, 259,
762 260, 252, -1, -1, -1, 20, 240, 250, 259, 260,
763 252, 19, 263, 264, 65, 255, 92, 87, -1, -1,
764 112, -1, 265, 87, -1, 137, -1, 250, 265, -1,
765 265, -1, 21, 240, 65, 266, 250, 267, 87, 268,
766 92, 259, 260, 252, -1, -1, 22, 240, 65, 112,
767 92, 271, 259, 252, -1, 112, 87, -1, 258, -1,
768 261, -1, 262, -1, 269, -1, 270, -1, 25, 87,
769 -1, 26, 87, -1, 27, 87, -1, 27, 112, 87,
770 -1, 278, -1, 28, 110, 87, -1, 28, 57, 112,
771 87, -1, 87, -1, 249, -1, 272, -1, 23, 120,
772 45, -1, 23, 120, 12, 120, 45, -1, 24, 45,
773 -1, 110, 250, 45, 174, -1, 29, 286, 65, 285,
774 92, 287, -1, -1, 275, -1, 275, 87, -1, 29,
775 1, 287, 87, -1, 29, 280, 286, 65, 279, 92,
776 287, 87, -1, 285, -1, 285, 45, 281, -1, 285,
777 45, 281, 45, 281, -1, 285, 45, 281, 45, 281,
778 45, 284, -1, -1, 8, -1, -1, 282, -1, 283,
779 -1, 282, 91, 283, -1, 285, 287, 65, 112, 92,
780 286, -1, 66, 110, 94, 285, 287, 65, 112, 92,
781 286, -1, 285, -1, 284, 91, 285, -1, 11, -1,
782 -1, -1, -1, 174, 289, 290, -1, 293, 92, -1,
783 -1, -1, 294, 87, 291, 174, 292, 290, -1, 1,
784 92, -1, -1, 12, -1, 294, -1, 294, 91, 12,
785 -1, 296, -1, 294, 91, 295, -1, 154, 135, 200,
786 174, -1, 154, 135, 203, 174, -1, 154, 135, 227,
787 -1, 155, 135, 203, 174, -1, 155, 135, 227, -1,
788 156, 297, 200, 174, -1, 156, 297, 203, 174, -1,
789 156, 297, 227, -1, 157, 297, 203, 174, -1, 157,
790 297, 227, -1, 135, -1, -1, 174, 299, 300, -1,
791 290, -1, 301, 92, -1, 3, -1, 301, 91, 3,
792 -1, 110, -1, 302, 91, 110, -1, 33, -1
795 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
796 static const unsigned short int yyrline[] =
798 0, 342, 342, 345, 353, 353, 356, 355, 361, 362,
799 363, 364, 371, 375, 378, 380, 382, 384, 385, 386,
800 393, 398, 392, 403, 406, 411, 405, 416, 419, 424,
801 418, 429, 434, 435, 438, 440, 442, 447, 449, 451,
802 453, 457, 458, 465, 466, 470, 472, 477, 478, 482,
803 485, 490, 493, 500, 504, 509, 514, 517, 523, 527,
804 531, 535, 536, 542, 543, 545, 547, 549, 551, 553,
805 555, 557, 559, 561, 563, 565, 568, 567, 575, 574,
806 582, 586, 581, 594, 593, 605, 609, 617, 624, 626,
807 628, 632, 631, 652, 657, 659, 665, 670, 673, 678,
808 677, 687, 689, 701, 703, 715, 717, 720, 723, 729,
809 732, 742, 744, 746, 750, 752, 759, 764, 765, 766,
810 767, 775, 777, 779, 782, 791, 800, 820, 825, 827,
811 829, 831, 833, 835, 881, 883, 885, 890, 895, 897,
812 902, 904, 909, 911, 913, 915, 917, 919, 921, 926,
813 928, 930, 932, 934, 936, 941, 943, 945, 947, 949,
814 951, 956, 958, 960, 962, 964, 969, 971, 973, 975,
815 977, 979, 981, 986, 991, 993, 995, 997, 999, 1001,
816 1006, 1011, 1013, 1015, 1017, 1019, 1021, 1023, 1025, 1027,
817 1029, 1034, 1036, 1038, 1040, 1042, 1047, 1049, 1051, 1053,
818 1055, 1057, 1059, 1061, 1063, 1065, 1070, 1072, 1074, 1076,
819 1078, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1095,
820 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1106, 1107, 1108,
821 1109, 1113, 1114, 1115, 1116, 1120, 1121, 1122, 1123, 1127,
822 1128, 1129, 1130, 1134, 1135, 1136, 1137, 1138, 1139, 1140,
823 1141, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153,
824 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1166, 1167, 1193,
825 1194, 1198, 1202, 1206, 1210, 1214, 1219, 1229, 1241, 1242,
826 1246, 1247, 1252, 1251, 1266, 1276, 1275, 1290, 1300, 1301,
827 1306, 1308, 1313, 1316, 1321, 1323, 1329, 1330, 1332, 1334,
828 1336, 1344, 1345, 1346, 1347, 1351, 1352, 1358, 1361, 1360,
829 1364, 1371, 1373, 1377, 1378, 1384, 1387, 1391, 1390, 1396,
830 1401, 1400, 1404, 1406, 1410, 1411, 1415, 1417, 1421, 1425,
831 1431, 1443, 1430, 1461, 1473, 1460, 1493, 1494, 1500, 1502,
832 1504, 1506, 1508, 1517, 1518, 1522, 1524, 1526, 1531, 1533,
833 1535, 1537, 1539, 1547, 1549, 1551, 1553, 1555, 1560, 1562,
834 1567, 1569, 1574, 1576, 1588, 1587, 1595, 1602, 1601, 1607,
835 1614, 1613, 1620, 1619, 1628, 1630, 1632, 1640, 1642, 1645,
836 1647, 1665, 1667, 1673, 1674, 1676, 1682, 1685, 1693, 1696,
837 1701, 1703, 1709, 1710, 1715, 1716, 1721, 1725, 1729, 1737,
838 1741, 1745, 1756, 1757, 1762, 1768, 1770, 1776, 1775, 1786,
839 1787, 1792, 1794, 1797, 1804, 1805, 1809, 1810, 1815, 1818,
840 1823, 1825, 1827, 1829, 1832, 1840, 1842, 1844, 1846, 1849,
841 1860, 1861, 1862, 1866, 1870, 1871, 1872, 1873, 1874, 1878,
842 1879, 1885, 1886, 1890, 1891, 1892, 1893, 1894, 1898, 1899,
843 1903, 1904, 1905, 1906, 1909, 1914, 1919, 1921, 1927, 1928,
844 1932, 1946, 1948, 1951, 1954, 1955, 1959, 1960, 1964, 1975,
845 1984, 1989, 1991, 1996, 2001, 2019, 2023, 2036, 2041, 2045,
846 2049, 2053, 2057, 2061, 2068, 2072, 2076, 2087, 2088, 2085,
847 2097, 2098, 2103, 2105, 2109, 2121, 2126, 2137, 2136, 2149,
848 2151, 2153, 2155, 2157, 2159, 2161, 2163, 2165, 2167, 2169,
849 2170, 2172, 2174, 2180, 2182, 2189, 2191, 2193, 2195, 2212,
850 2220, 2221, 2226, 2228, 2235, 2242, 2245, 2248, 2251, 2259,
851 2260, 2274, 2275, 2279, 2280, 2285, 2289, 2297, 2299, 2305,
852 2317, 2321, 2332, 2331, 2340, 2342, 2344, 2341, 2348, 2359,
853 2364, 2373, 2375, 2380, 2382, 2389, 2393, 2397, 2400, 2405,
854 2413, 2417, 2421, 2424, 2429, 2435, 2445, 2444, 2453, 2454,
855 2469, 2471, 2477, 2479, 2484
859 #if YYDEBUG || YYERROR_VERBOSE
860 /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
861 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
862 static const char *const yytname[] =
864 "$end", "error", "$undefined", "IDENTIFIER", "TYPENAME", "SCSPEC",
865 "STATIC", "TYPESPEC", "TYPE_QUAL", "OBJC_TYPE_QUAL", "CONSTANT",
866 "STRING", "ELLIPSIS", "SIZEOF", "ENUM", "STRUCT", "UNION", "IF", "ELSE",
867 "WHILE", "DO", "FOR", "SWITCH", "CASE", "DEFAULT", "BREAK", "CONTINUE",
868 "RETURN", "GOTO", "ASM_KEYWORD", "TYPEOF", "ALIGNOF", "ATTRIBUTE",
869 "EXTENSION", "LABEL", "REALPART", "IMAGPART", "VA_ARG", "CHOOSE_EXPR",
870 "TYPES_COMPATIBLE_P", "FUNC_NAME", "OFFSETOF", "'='", "ASSIGN", "'?'",
871 "':'", "OROR", "ANDAND", "'|'", "'^'", "'&'", "EQCOMPARE",
872 "ARITHCOMPARE", "RSHIFT", "LSHIFT", "'+'", "'-'", "'*'", "'/'", "'%'",
873 "MINUSMINUS", "PLUSPLUS", "UNARY", "HYPERUNARY", "'.'", "'('", "'['",
874 "POINTSAT", "AT_INTERFACE", "AT_IMPLEMENTATION", "AT_END", "AT_SELECTOR",
875 "AT_DEFS", "AT_ENCODE", "CLASSNAME", "AT_PUBLIC", "AT_PRIVATE",
876 "AT_PROTECTED", "AT_PROTOCOL", "AT_CLASS", "AT_ALIAS", "AT_THROW",
877 "AT_TRY", "AT_CATCH", "AT_FINALLY", "AT_SYNCHRONIZED", "OBJC_STRING",
878 "';'", "'}'", "'~'", "'!'", "','", "')'", "'{'", "']'", "$accept",
879 "program", "extdefs", "@1", "@2", "extdef", "save_obstack_position",
880 "datadef", "fndef", "@3", "@4", "@5", "@6", "@7", "@8", "identifier",
881 "unop", "expr", "exprlist", "nonnull_exprlist", "unary_expr", "sizeof",
882 "alignof", "typeof", "cast_expr", "expr_no_commas", "@9", "@10", "@11",
883 "@12", "@13", "primary", "@14", "@15", "offsetof_member_designator",
884 "old_style_parm_decls", "lineno_datadecl", "datadecls", "datadecl",
885 "lineno_decl", "setspecs", "maybe_resetattrs", "decl",
886 "declspecs_nosc_nots_nosa_noea", "declspecs_nosc_nots_nosa_ea",
887 "declspecs_nosc_nots_sa_noea", "declspecs_nosc_nots_sa_ea",
888 "declspecs_nosc_ts_nosa_noea", "declspecs_nosc_ts_nosa_ea",
889 "declspecs_nosc_ts_sa_noea", "declspecs_nosc_ts_sa_ea",
890 "declspecs_sc_nots_nosa_noea", "declspecs_sc_nots_nosa_ea",
891 "declspecs_sc_nots_sa_noea", "declspecs_sc_nots_sa_ea",
892 "declspecs_sc_ts_nosa_noea", "declspecs_sc_ts_nosa_ea",
893 "declspecs_sc_ts_sa_noea", "declspecs_sc_ts_sa_ea", "declspecs_ts",
894 "declspecs_nots", "declspecs_ts_nosa", "declspecs_nots_nosa",
895 "declspecs_nosc_ts", "declspecs_nosc_nots", "declspecs_nosc",
896 "declspecs", "maybe_type_quals_attrs", "typespec_nonattr",
897 "typespec_attr", "typespec_reserved_nonattr", "typespec_reserved_attr",
898 "typespec_nonreserved_nonattr", "initdecls", "notype_initdecls",
899 "initdcl", "@16", "notype_initdcl", "@17", "maybe_attribute",
900 "attributes", "attribute", "attribute_list", "attrib", "any_word",
901 "scspec", "init", "@18", "initlist_maybe_comma", "initlist1", "initelt",
902 "@19", "initval", "@20", "designator_list", "designator",
903 "array_designator", "nested_function", "@21", "@22",
904 "notype_nested_function", "@23", "@24", "declarator",
905 "after_type_declarator", "parm_declarator",
906 "parm_declarator_starttypename", "parm_declarator_nostarttypename",
907 "notype_declarator", "struct_head", "union_head", "enum_head",
908 "structsp_attr", "@25", "@26", "@27", "@28", "structsp_nonattr",
909 "maybecomma", "maybecomma_warn", "component_decl_list",
910 "component_decl_list2", "component_decl", "components",
911 "components_notype", "component_declarator",
912 "component_notype_declarator", "enumlist", "enumerator", "typename",
913 "@29", "absdcl", "absdcl_maybe_attribute", "absdcl1", "absdcl1_noea",
914 "absdcl1_ea", "direct_absdcl1", "array_declarator", "stmts_and_decls",
915 "lineno_stmt_decl_or_labels_ending_stmt",
916 "lineno_stmt_decl_or_labels_ending_decl",
917 "lineno_stmt_decl_or_labels_ending_label",
918 "lineno_stmt_decl_or_labels_ending_error", "lineno_stmt_decl_or_labels",
919 "errstmt", "c99_block_start", "maybe_label_decls", "label_decls",
920 "label_decl", "compstmt_or_error", "compstmt_start", "compstmt_nostart",
921 "compstmt_contents_nonempty", "compstmt_primary_start", "compstmt",
922 "save_location", "lineno_labels", "c99_block_lineno_labeled_stmt",
923 "lineno_stmt", "lineno_label", "condition", "if_statement_1",
924 "if_statement_2", "if_statement", "start_break", "start_continue",
925 "while_statement", "do_statement", "@30", "@31", "xexpr",
926 "for_init_stmt", "for_cond_expr", "for_incr_expr", "for_statement",
927 "switch_statement", "@32", "stmt_nocomp", "stmt", "label",
928 "simple_asm_expr", "maybeasm", "asmdef", "asm_stmt", "asm_argument",
929 "maybe_volatile", "asm_operands", "nonnull_asm_operands", "asm_operand",
930 "asm_clobbers", "asm_string", "stop_string_translation",
931 "start_string_translation", "parmlist", "@33", "parmlist_1", "@34",
932 "@35", "parmlist_2", "parms", "parm", "firstparm", "setspecs_fp",
933 "parmlist_or_identifiers", "@36", "parmlist_or_identifiers_1",
934 "identifiers", "identifiers_or_typenames", "extension", 0
939 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
941 static const unsigned short int yytoknum[] =
943 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
944 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
945 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
946 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
947 295, 296, 61, 297, 63, 58, 298, 299, 124, 94,
948 38, 300, 301, 302, 303, 43, 45, 42, 47, 37,
949 304, 305, 306, 307, 46, 40, 91, 308, 309, 310,
950 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
951 321, 322, 323, 324, 325, 326, 327, 59, 125, 126,
956 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
957 static const unsigned short int yyr1[] =
959 0, 95, 96, 96, 98, 97, 99, 97, 100, 100,
960 100, 100, 101, 102, 102, 102, 102, 102, 102, 102,
961 104, 105, 103, 103, 106, 107, 103, 103, 108, 109,
962 103, 103, 110, 110, 111, 111, 111, 111, 111, 111,
963 111, 112, 112, 113, 113, 114, 114, 115, 115, 115,
964 115, 115, 115, 115, 115, 115, 115, 115, 116, 117,
965 118, 119, 119, 120, 120, 120, 120, 120, 120, 120,
966 120, 120, 120, 120, 120, 120, 121, 120, 122, 120,
967 123, 124, 120, 125, 120, 120, 120, 126, 126, 126,
968 126, 127, 126, 126, 126, 126, 126, 126, 126, 128,
969 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
970 126, 129, 129, 129, 130, 130, 131, 132, 132, 132,
971 132, 133, 133, 133, 133, 134, 135, 136, 137, 137,
972 137, 137, 137, 137, 138, 138, 138, 139, 140, 140,
973 141, 141, 142, 142, 142, 142, 142, 142, 142, 143,
974 143, 143, 143, 143, 143, 144, 144, 144, 144, 144,
975 144, 145, 145, 145, 145, 145, 146, 146, 146, 146,
976 146, 146, 146, 147, 148, 148, 148, 148, 148, 148,
977 149, 150, 150, 150, 150, 150, 150, 150, 150, 150,
978 150, 151, 151, 151, 151, 151, 152, 152, 152, 152,
979 152, 152, 152, 152, 152, 152, 153, 153, 153, 153,
980 153, 154, 154, 154, 154, 154, 154, 154, 154, 155,
981 155, 155, 155, 155, 155, 155, 155, 156, 156, 156,
982 156, 157, 157, 157, 157, 158, 158, 158, 158, 159,
983 159, 159, 159, 160, 160, 160, 160, 160, 160, 160,
984 160, 161, 161, 161, 161, 161, 161, 161, 161, 161,
985 161, 161, 161, 161, 161, 161, 161, 162, 162, 163,
986 163, 164, 165, 165, 166, 167, 167, 167, 168, 168,
987 169, 169, 171, 170, 170, 173, 172, 172, 174, 174,
988 175, 175, 176, 176, 177, 177, 178, 178, 178, 178,
989 178, 179, 179, 179, 179, 180, 180, 181, 182, 181,
990 181, 183, 183, 184, 184, 185, 185, 186, 185, 185,
991 188, 187, 187, 187, 189, 189, 190, 190, 191, 191,
992 193, 194, 192, 196, 197, 195, 198, 198, 199, 199,
993 199, 199, 199, 200, 200, 201, 201, 201, 202, 202,
994 202, 202, 202, 203, 203, 203, 203, 203, 204, 204,
995 205, 205, 206, 206, 208, 207, 207, 209, 207, 207,
996 210, 207, 211, 207, 212, 212, 212, 213, 213, 214,
997 214, 215, 215, 216, 216, 216, 217, 217, 217, 217,
998 217, 217, 218, 218, 219, 219, 220, 220, 220, 221,
999 221, 221, 222, 222, 222, 223, 223, 225, 224, 226,
1000 226, 227, 227, 227, 228, 228, 229, 229, 230, 230,
1001 231, 231, 231, 231, 231, 232, 232, 232, 232, 232,
1002 233, 233, 233, 233, 234, 234, 234, 234, 234, 235,
1003 235, 235, 235, 236, 236, 236, 236, 236, 237, 237,
1004 238, 238, 238, 238, 239, 240, 241, 241, 242, 242,
1005 243, 244, 244, 245, 246, 246, 247, 247, 248, 249,
1006 250, 251, 251, 252, 253, 254, 255, 256, 257, 257,
1007 258, 258, 258, 258, 259, 260, 261, 263, 264, 262,
1008 265, 265, 266, 266, 267, 268, 269, 271, 270, 272,
1009 272, 272, 272, 272, 272, 272, 272, 272, 272, 272,
1010 272, 272, 272, 273, 273, 274, 274, 274, 274, 275,
1011 276, 276, 277, 277, 278, 279, 279, 279, 279, 280,
1012 280, 281, 281, 282, 282, 283, 283, 284, 284, 285,
1013 286, 287, 289, 288, 290, 291, 292, 290, 290, 293,
1014 293, 293, 293, 294, 294, 295, 295, 295, 295, 295,
1015 296, 296, 296, 296, 296, 297, 299, 298, 300, 300,
1016 301, 301, 302, 302, 303
1019 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1020 static const unsigned char yyr2[] =
1022 0, 2, 0, 1, 0, 3, 0, 4, 1, 1,
1023 1, 2, 0, 3, 4, 4, 2, 2, 2, 1,
1024 0, 0, 8, 4, 0, 0, 8, 4, 0, 0,
1025 7, 3, 1, 1, 1, 1, 1, 1, 1, 1,
1026 1, 1, 3, 0, 1, 1, 3, 1, 2, 2,
1027 2, 2, 2, 4, 2, 4, 2, 2, 1, 1,
1028 1, 1, 4, 1, 3, 3, 3, 3, 3, 3,
1029 3, 3, 3, 3, 3, 3, 0, 4, 0, 4,
1030 0, 0, 7, 0, 5, 3, 3, 1, 1, 1,
1031 1, 0, 7, 3, 3, 3, 3, 4, 6, 0,
1032 7, 4, 8, 4, 6, 4, 4, 3, 3, 2,
1033 2, 1, 3, 4, 0, 1, 2, 1, 1, 2,
1034 2, 4, 4, 2, 2, 2, 0, 1, 4, 4,
1035 3, 3, 2, 2, 1, 2, 2, 2, 2, 2,
1036 1, 2, 1, 2, 2, 2, 2, 2, 2, 1,
1037 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1038 2, 2, 2, 2, 2, 2, 1, 2, 2, 2,
1039 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1040 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1041 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1042 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1043 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1044 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1045 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1046 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1047 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1048 1, 1, 1, 1, 1, 1, 1, 0, 1, 1,
1049 1, 1, 1, 1, 1, 1, 4, 4, 1, 4,
1050 1, 4, 0, 6, 3, 0, 6, 3, 0, 1,
1051 1, 2, 8, 3, 1, 3, 0, 1, 4, 6,
1052 4, 1, 1, 1, 1, 1, 1, 1, 0, 4,
1053 1, 0, 2, 1, 3, 3, 2, 0, 4, 1,
1054 0, 4, 1, 1, 1, 2, 2, 1, 5, 3,
1055 0, 0, 6, 0, 0, 6, 1, 1, 4, 3,
1056 2, 3, 1, 1, 1, 3, 2, 1, 3, 2,
1057 3, 3, 4, 3, 4, 3, 2, 1, 1, 2,
1058 1, 2, 1, 2, 0, 7, 5, 0, 7, 5,
1059 0, 8, 0, 7, 2, 2, 2, 0, 1, 0,
1060 1, 1, 2, 0, 3, 2, 3, 2, 3, 1,
1061 1, 2, 1, 4, 1, 4, 2, 4, 3, 2,
1062 4, 3, 1, 3, 1, 1, 3, 0, 3, 0,
1063 1, 0, 1, 2, 1, 1, 1, 3, 2, 3,
1064 4, 3, 2, 2, 1, 4, 3, 4, 5, 5,
1065 1, 1, 1, 1, 1, 2, 2, 2, 2, 1,
1066 2, 2, 2, 1, 2, 2, 2, 2, 1, 2,
1067 1, 1, 1, 1, 2, 0, 0, 1, 1, 2,
1068 3, 1, 2, 1, 1, 3, 1, 1, 2, 2,
1069 0, 0, 2, 3, 2, 2, 2, 3, 3, 1,
1070 9, 9, 7, 7, 0, 0, 9, 0, 0, 13,
1071 0, 1, 2, 1, 2, 1, 12, 0, 8, 2,
1072 1, 1, 1, 1, 1, 2, 2, 2, 3, 1,
1073 3, 4, 1, 1, 1, 3, 5, 2, 4, 6,
1074 0, 1, 2, 4, 8, 1, 3, 5, 7, 0,
1075 1, 0, 1, 1, 3, 6, 9, 1, 3, 1,
1076 0, 0, 0, 3, 2, 0, 0, 6, 2, 0,
1077 1, 1, 3, 1, 3, 4, 4, 3, 4, 3,
1078 4, 4, 3, 4, 3, 1, 0, 3, 1, 2,
1082 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1083 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1084 means the default is an error. */
1085 static const unsigned short int yydefact[] =
1087 12, 0, 12, 4, 1, 6, 0, 0, 0, 275,
1088 306, 305, 272, 134, 362, 358, 360, 0, 60, 0,
1089 574, 19, 5, 9, 8, 0, 0, 219, 220, 221,
1090 222, 211, 212, 213, 214, 223, 224, 225, 226, 215,
1091 216, 217, 218, 126, 126, 0, 142, 149, 269, 271,
1092 270, 140, 290, 166, 0, 0, 0, 274, 273, 0,
1093 10, 0, 7, 17, 18, 363, 359, 361, 541, 0,
1094 541, 0, 0, 357, 267, 288, 0, 280, 0, 135,
1095 147, 153, 137, 169, 136, 148, 154, 170, 138, 159,
1096 164, 141, 176, 139, 160, 165, 177, 143, 145, 151,
1097 150, 187, 144, 146, 152, 188, 155, 157, 162, 161,
1098 202, 156, 158, 163, 203, 167, 185, 194, 173, 171,
1099 168, 186, 195, 172, 174, 200, 209, 180, 178, 175,
1100 201, 210, 179, 181, 183, 192, 191, 189, 182, 184,
1101 193, 190, 196, 198, 207, 206, 204, 197, 199, 208,
1102 205, 0, 0, 16, 291, 32, 33, 383, 374, 383,
1103 375, 372, 376, 522, 11, 0, 0, 293, 0, 87,
1104 88, 89, 58, 59, 0, 0, 0, 0, 0, 90,
1105 0, 0, 34, 36, 35, 0, 38, 37, 0, 39,
1106 40, 0, 0, 61, 0, 0, 63, 41, 47, 247,
1107 248, 249, 250, 243, 244, 245, 246, 407, 0, 0,
1108 0, 239, 240, 241, 242, 268, 0, 0, 289, 13,
1109 288, 31, 540, 288, 267, 0, 356, 521, 288, 342,
1110 267, 288, 0, 278, 0, 336, 337, 0, 0, 0,
1111 0, 364, 0, 367, 0, 370, 523, 539, 0, 296,
1112 56, 57, 0, 0, 0, 0, 51, 48, 0, 468,
1113 0, 0, 50, 0, 276, 0, 52, 0, 54, 0,
1114 0, 80, 78, 76, 0, 0, 0, 0, 0, 0,
1115 0, 0, 0, 0, 0, 0, 110, 109, 0, 43,
1116 0, 0, 409, 277, 0, 0, 464, 0, 457, 458,
1117 0, 49, 355, 0, 0, 127, 566, 353, 267, 268,
1118 0, 0, 470, 0, 470, 118, 0, 287, 0, 0,
1119 15, 288, 23, 0, 288, 288, 340, 14, 27, 0,
1120 288, 390, 385, 239, 240, 241, 242, 235, 236, 237,
1121 238, 126, 126, 382, 0, 383, 288, 383, 404, 405,
1122 379, 402, 0, 541, 303, 304, 301, 0, 294, 297,
1123 302, 0, 0, 0, 0, 0, 0, 0, 94, 93,
1124 0, 42, 0, 0, 85, 86, 0, 0, 0, 0,
1125 74, 75, 73, 72, 71, 70, 69, 64, 65, 66,
1126 67, 68, 107, 0, 44, 45, 0, 108, 267, 288,
1127 408, 410, 415, 414, 416, 424, 96, 572, 0, 467,
1128 439, 466, 470, 470, 470, 470, 0, 448, 0, 0,
1129 434, 443, 459, 95, 354, 281, 520, 0, 0, 0,
1130 0, 426, 0, 454, 29, 120, 119, 116, 231, 232,
1131 227, 228, 233, 234, 229, 230, 126, 126, 285, 341,
1132 0, 0, 470, 284, 339, 470, 366, 387, 0, 384,
1133 391, 0, 369, 0, 0, 380, 0, 379, 519, 296,
1134 0, 43, 0, 103, 0, 105, 0, 101, 99, 91,
1135 62, 53, 55, 0, 0, 79, 77, 97, 0, 106,
1136 418, 542, 423, 288, 422, 460, 0, 440, 435, 444,
1137 441, 436, 445, 0, 437, 446, 442, 438, 447, 449,
1138 465, 87, 275, 455, 455, 455, 455, 455, 0, 0,
1139 0, 0, 0, 0, 529, 512, 463, 470, 0, 125,
1140 126, 126, 0, 456, 513, 500, 501, 502, 503, 504,
1141 514, 474, 475, 509, 0, 0, 570, 550, 126, 126,
1142 568, 0, 551, 553, 567, 0, 0, 0, 427, 425,
1143 0, 123, 0, 124, 0, 0, 338, 279, 520, 21,
1144 282, 25, 0, 288, 386, 392, 0, 288, 388, 394,
1145 288, 288, 406, 403, 288, 0, 295, 541, 87, 0,
1146 0, 0, 0, 0, 0, 81, 84, 46, 417, 419,
1147 0, 0, 542, 421, 573, 470, 470, 470, 0, 0,
1148 0, 517, 505, 506, 507, 0, 0, 0, 530, 540,
1149 0, 499, 0, 0, 132, 469, 133, 548, 565, 411,
1150 411, 544, 545, 0, 0, 569, 428, 429, 0, 30,
1151 461, 0, 0, 310, 308, 307, 286, 0, 0, 0,
1152 288, 0, 396, 288, 288, 0, 399, 288, 365, 368,
1153 373, 288, 292, 0, 298, 300, 98, 0, 104, 111,
1154 0, 323, 0, 0, 320, 0, 322, 0, 377, 313,
1155 319, 0, 324, 0, 0, 420, 543, 0, 0, 484,
1156 490, 0, 0, 515, 508, 0, 510, 0, 288, 0,
1157 130, 330, 0, 131, 333, 347, 267, 288, 288, 343,
1158 344, 288, 562, 412, 415, 267, 288, 288, 564, 288,
1159 552, 219, 220, 221, 222, 211, 212, 213, 214, 223,
1160 224, 225, 226, 215, 216, 217, 218, 126, 126, 554,
1161 571, 462, 121, 122, 0, 22, 283, 26, 398, 288,
1162 0, 401, 288, 0, 371, 0, 0, 0, 0, 100,
1163 326, 0, 0, 317, 92, 0, 312, 0, 325, 327,
1164 316, 82, 470, 470, 485, 491, 493, 0, 470, 0,
1165 0, 511, 0, 518, 128, 0, 129, 0, 418, 542,
1166 560, 288, 346, 288, 349, 561, 413, 418, 542, 563,
1167 546, 411, 411, 0, 397, 393, 400, 395, 299, 102,
1168 112, 0, 0, 329, 0, 0, 314, 315, 0, 0,
1169 0, 455, 492, 470, 497, 516, 0, 525, 470, 470,
1170 350, 351, 0, 345, 348, 0, 288, 288, 557, 288,
1171 559, 309, 113, 0, 321, 318, 476, 455, 484, 471,
1172 0, 490, 0, 484, 541, 531, 331, 334, 352, 547,
1173 555, 556, 558, 328, 471, 479, 482, 483, 485, 470,
1174 487, 494, 490, 455, 0, 0, 526, 532, 533, 541,
1175 0, 0, 470, 455, 455, 455, 473, 472, 488, 495,
1176 0, 498, 524, 0, 531, 0, 0, 332, 335, 478,
1177 477, 471, 480, 481, 486, 0, 484, 0, 527, 534,
1178 0, 470, 470, 485, 541, 0, 0, 0, 455, 0,
1179 528, 537, 540, 0, 496, 0, 0, 535, 489, 0,
1183 /* YYDEFGOTO[NTERM-NUM]. */
1184 static const short int yydefgoto[] =
1186 -1, 1, 2, 6, 7, 22, 3, 23, 24, 323,
1187 647, 329, 649, 225, 560, 675, 191, 260, 393, 394,
1188 193, 194, 195, 25, 196, 197, 379, 378, 376, 684,
1189 377, 198, 594, 593, 670, 312, 313, 314, 437, 410,
1190 26, 304, 529, 199, 200, 201, 202, 203, 204, 205,
1191 206, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1192 44, 548, 549, 341, 215, 207, 45, 216, 46, 47,
1193 48, 49, 50, 232, 76, 233, 648, 77, 565, 305,
1194 218, 52, 357, 358, 359, 53, 646, 744, 677, 678,
1195 679, 815, 680, 762, 681, 682, 683, 700, 785, 880,
1196 703, 787, 881, 568, 235, 708, 709, 710, 236, 54,
1197 55, 56, 57, 345, 347, 352, 244, 58, 766, 466,
1198 239, 240, 343, 574, 578, 575, 579, 350, 351, 208,
1199 292, 400, 712, 713, 402, 403, 404, 226, 411, 412,
1200 413, 414, 415, 416, 315, 849, 297, 298, 299, 639,
1201 533, 300, 418, 209, 640, 316, 869, 865, 886, 887,
1202 819, 866, 867, 535, 774, 821, 536, 537, 888, 905,
1203 777, 778, 852, 890, 538, 539, 853, 540, 541, 542,
1204 227, 228, 60, 543, 826, 619, 876, 877, 878, 920,
1205 879, 69, 165, 492, 601, 550, 719, 835, 551, 552,
1206 739, 553, 629, 307, 427, 554, 555, 408, 210
1209 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1211 #define YYPACT_NINF -781
1212 static const short int yypact[] =
1214 109, 117, 136, -781, -781, -781, 2777, 2777, 215, -781,
1215 -781, -781, -781, -781, 106, 106, 106, 84, -781, 94,
1216 -781, -781, -781, -781, -781, 61, 131, 1169, 663, 1640,
1217 1064, 913, 450, 970, 1431, 1809, 1361, 1887, 1541, 1980,
1218 2238, 2116, 2242, -781, -781, 108, -781, -781, -781, -781,
1219 -781, 106, -781, -781, 104, 110, 116, -781, -781, 111,
1220 -781, 2777, -781, -781, -781, 106, 106, 106, -781, 139,
1221 -781, 148, 2509, -781, 89, 106, 179, -781, 1293, -781,
1222 -781, -781, 106, -781, -781, -781, -781, -781, -781, -781,
1223 -781, 106, -781, -781, -781, -781, -781, -781, -781, -781,
1224 106, -781, -781, -781, -781, -781, -781, -781, -781, 106,
1225 -781, -781, -781, -781, -781, -781, -781, -781, 106, -781,
1226 -781, -781, -781, -781, -781, -781, -781, 106, -781, -781,
1227 -781, -781, -781, -781, -781, -781, 106, -781, -781, -781,
1228 -781, -781, -781, -781, -781, 106, -781, -781, -781, -781,
1229 -781, 197, 131, -781, -781, -781, -781, -781, 125, -781,
1230 130, -781, 159, -781, -781, 147, 266, -781, 230, -781,
1231 -781, -781, -781, -781, 2591, 2591, 248, 256, 268, -781,
1232 278, 495, -781, -781, -781, 2591, -781, -781, 1089, -781,
1233 -781, 2591, 425, -781, 2632, 2673, -781, 3209, 718, 957,
1234 525, 1839, 1288, 506, 780, 597, 1148, -781, 272, 1771,
1235 2591, 347, 382, 352, 395, -781, 131, 131, 106, -781,
1236 106, -781, -781, 106, 361, 400, -781, -781, 106, -781,
1237 89, 106, 213, -781, 1219, 482, 487, 283, 2111, 330,
1238 875, -781, 340, -781, 432, -781, -781, -781, 353, 473,
1239 -781, -781, 2591, 2383, 1323, 3052, -781, -781, 360, -781,
1240 475, 377, -781, 2591, -781, 1089, -781, 1089, -781, 2591,
1241 2591, 441, -781, -781, 2591, 2591, 2591, 2591, 2591, 2591,
1242 2591, 2591, 2591, 2591, 2591, 2591, -781, -781, 495, 2591,
1243 2591, 495, 226, -781, 402, 495, -781, 1575, 466, -781,
1244 416, -781, 487, 38, 131, -781, -781, -781, 89, 512,
1245 2134, 436, -781, 936, 49, -781, 2484, 493, 197, 197,
1246 -781, 106, -781, 400, 106, 106, -781, -781, -781, 400,
1247 106, -781, -781, 957, 525, 1839, 1288, 506, 780, 597,
1248 1148, -781, 474, 463, 1214, -781, 106, -781, -781, 514,
1249 485, -781, 432, -781, -781, -781, -781, 477, -781, 489,
1250 -781, 2921, 472, 2942, 510, 488, 524, 539, -781, -781,
1251 1473, 3209, 540, 542, 3209, 3209, 2591, 596, 2591, 2591,
1252 2105, 3248, 1030, 1626, 1969, 354, 354, 403, 403, -781,
1253 -781, -781, -781, 567, 581, 3209, 289, -781, 89, 106,
1254 -781, -781, -781, -781, 505, -781, -781, -781, 286, 436,
1255 -781, -781, 63, 70, 81, 90, 685, -781, 601, 2267,
1256 -781, -781, -781, -781, -781, -781, 222, 1003, 2591, 2591,
1257 2175, -781, 2797, -781, -781, -781, -781, -781, 2305, 3167,
1258 1487, 730, 3086, 3172, 1545, 857, 607, 609, -781, 482,
1259 261, 197, -781, 656, -781, -781, -781, 254, 337, -781,
1260 -781, 613, -781, 615, 2591, 495, 617, 485, -781, 473,
1261 618, 2714, 2728, -781, 2591, -781, 2728, -781, -781, -781,
1262 -781, 619, 619, 36, 2591, 3238, 3171, -781, 2591, -781,
1263 226, 226, -781, 106, -781, -781, 495, -781, -781, -781,
1264 -781, -781, -781, 2342, -781, -781, -781, -781, -781, -781,
1265 -781, 666, 669, -781, -781, -781, -781, -781, 2591, 671,
1266 630, 632, 2550, 275, 715, -781, -781, -781, 298, -781,
1267 -781, -781, 638, 126, -781, -781, -781, -781, -781, -781,
1268 -781, -781, -781, -781, 2446, 635, -781, -781, -781, -781,
1269 -781, 639, 301, -781, -781, 515, 2823, 2846, -781, -781,
1270 64, -781, 197, -781, 131, 2008, -781, -781, 704, -781,
1271 -781, -781, 2591, 80, 650, -781, 2591, 216, 651, -781,
1272 106, 106, 3209, -781, 106, 667, -781, -781, 518, 664,
1273 672, 2967, 676, 495, 1874, -781, 3225, 3209, -781, -781,
1274 680, 1389, -781, -781, -781, -781, -781, -781, 696, 708,
1275 2992, -781, -781, -781, -781, 308, 2591, 688, -781, -781,
1276 736, -781, 197, 131, -781, -781, -781, -781, -781, 97,
1277 178, -781, -781, 3057, 786, -781, -781, -781, 698, -781,
1278 -781, 333, 351, -781, -781, 3209, -781, 64, 2008, 64,
1279 3111, 2591, -781, 106, 3111, 2591, -781, 106, -781, -781,
1280 -781, 106, -781, 2591, -781, -781, -781, 2591, -781, -781,
1281 220, -781, 495, 2591, -781, 747, 3209, 709, 721, -781,
1282 -781, 189, -781, 1656, 2591, -781, -781, 734, 735, -781,
1283 2446, 2591, 2591, -781, -781, 357, -781, 741, 106, 376,
1284 -781, 207, 401, -781, 711, -781, 89, 106, 106, 532,
1285 558, 224, -781, -781, 106, 89, 106, 224, -781, 106,
1286 -781, 2305, 3167, 3091, 3185, 1487, 730, 1694, 1038, 3086,
1287 3172, 3120, 3202, 1545, 857, 1723, 1257, -781, -781, -781,
1288 -781, -781, -781, -781, 1874, -781, -781, -781, -781, 3111,
1289 254, -781, 3111, 337, -781, 536, 2895, 495, 2591, -781,
1290 -781, 2774, 1874, -781, -781, 1942, -781, 2049, -781, -781,
1291 -781, 3225, -781, -781, -781, 724, -781, 729, -781, 545,
1292 3191, -781, 266, -781, -781, 400, -781, 400, 97, 180,
1293 -781, 106, -781, 106, -781, -781, 106, 178, 178, -781,
1294 -781, 97, 178, 737, -781, -781, -781, -781, -781, -781,
1295 -781, 306, 2591, -781, 738, 2049, -781, -781, 2591, 732,
1296 744, -781, -781, -781, -781, -781, 746, 782, -781, -781,
1297 532, 558, 284, -781, -781, 1389, 106, 224, -781, 224,
1298 -781, -781, -781, 2872, -781, -781, 724, -781, -781, -781,
1299 810, 2591, 743, -781, -781, 66, -781, -781, -781, -781,
1300 -781, -781, -781, -781, -781, -781, 822, 823, -781, -781,
1301 -781, -781, 2591, -781, 756, 495, 800, 757, -781, -781,
1302 698, 698, 93, -781, -781, -781, -781, -781, -781, -781,
1303 759, -781, -781, 761, 66, 66, 791, -781, -781, -781,
1304 -781, -781, -781, -781, -781, 792, -781, 266, 825, -781,
1305 2591, 787, -781, -781, -781, 266, 560, 783, -781, 819,
1306 794, -781, -781, 799, -781, 2591, 266, -781, -781, 562,
1310 /* YYPGOTO[NTERM-NUM]. */
1311 static const short int yypgoto[] =
1313 -781, -781, -781, -781, -781, 76, 885, -781, -781, -781,
1314 -781, -781, -781, -781, -781, -28, -781, -71, 417, 232,
1315 468, -781, -781, -781, -105, 1189, -781, -781, -781, -781,
1316 -781, -781, -781, -781, -781, -280, 579, -781, -781, 113,
1317 112, -301, -500, -2, 0, 138, 219, 2, 7, 31,
1318 141, -305, -304, 264, 267, -292, -286, 280, 291, -383,
1319 -359, 583, 585, -781, -162, -781, -373, -209, 620, 1012,
1320 133, 470, -781, -504, -133, 451, -781, 612, -781, 41,
1321 693, -34, -781, 453, -781, 554, 282, -781, -616, -781,
1322 161, -781, -638, -781, -781, 250, 251, -781, -781, -781,
1323 -781, -781, -781, -135, 362, 135, 150, -123, 16, -781,
1324 -781, -781, -781, -781, -781, -781, -781, -781, -781, 479,
1325 -118, -781, 595, -781, -781, 199, 204, 616, 502, -115,
1326 -781, -781, -591, -274, -443, -487, -781, 531, -781, -781,
1327 -781, -781, -781, -781, -246, -461, -781, -781, 681, -551,
1328 -781, 437, -781, -781, -397, 662, -777, -742, -221, -207,
1329 -733, -781, -200, 87, -633, -780, -781, -781, -781, -781,
1330 -757, -781, -781, -781, -781, -781, -781, -781, -781, -781,
1331 269, -205, -781, -781, -781, -781, 88, -781, 95, -781,
1332 -156, -19, -68, 490, -781, -576, -781, -781, -781, -781,
1333 -781, -781, 439, -302, -781, -781, -781, -781, 28
1336 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1337 positive, shift that token. If negative, reduce the rule which
1338 number is the opposite. If zero, do what YYDEFACT says.
1339 If YYTABLE_NINF, syntax error. */
1340 #define YYTABLE_NINF -550
1341 static const short int yytable[] =
1343 71, 192, 167, 599, 27, 27, 28, 28, 31, 31,
1344 248, 442, 443, 32, 32, 310, 234, 154, 401, 237,
1345 451, 318, 534, 454, 444, 686, 158, 160, 162, 324,
1346 445, 154, 154, 154, 61, 61, 530, 33, 33, 718,
1347 820, 242, 78, 452, 626, 770, 532, 598, 154, 455,
1348 -115, 417, 605, 606, 607, 608, 609, 154, 641, 27,
1349 531, 28, 309, 31, -450, 638, 154, 435, 32, 250,
1350 251, -451, 211, 261, 212, 154, 420, 247, 342, 850,
1351 257, 595, -452, 62, 154, 68, 262, 882, 885, 61,
1352 421, -453, 33, 154, 871, 70, 745, 13, 747, 428,
1353 73, 705, 154, 223, 224, 301, 534, 155, 156, -2,
1354 513, 154, 19, 155, 156, 889, 217, 4, 699, 155,
1355 156, 19, 442, 443, 911, 651, 72, 263, 803, 817,
1356 424, 891, 875, 918, 73, 444, -3, 164, 19, 365,
1357 367, 445, -115, 904, 29, 29, 814, 34, 34, -540,
1358 372, -430, 373, 256, 706, 151, 152, 526, -431, -540,
1359 295, 530, 707, 224, 98, 103, 107, 112, 238, -432,
1360 509, 532, 134, 139, 143, 148, 924, 845, -433, 917,
1361 899, 73, 342, 73, 154, 531, 714, 714, 74, 490,
1362 776, 498, 501, 504, 507, 153, 75, 157, 163, 29,
1363 73, 229, 34, 159, 166, 499, 502, 505, 508, 161,
1364 838, 840, 213, 168, 296, 868, 349, 600, 241, 396,
1365 873, 356, 211, 243, 212, 30, 30, 461, 211, 463,
1366 212, 767, 302, 303, 246, 715, 222, 706, 333, -520,
1367 334, 741, 337, 716, 224, 707, 224, 338, 19, -520,
1368 737, 222, 245, 672, 230, 673, 19, 73, 229, 859,
1369 392, 655, 231, 397, 306, 480, 219, 407, 344, 317,
1370 220, 339, 319, 913, 738, 59, 59, 247, 155, 156,
1371 30, 223, 224, 398, 757, 468, 758, 223, 224, 223,
1372 224, 399, 224, 214, -520, 249, 442, 443, -520, 572,
1373 320, 599, 63, 64, 321, 483, 211, 530, 212, 444,
1374 599, 230, 759, 252, 438, 445, 439, 532, 440, 231,
1375 426, 253, 573, 441, 349, 257, 325, 224, 729, 730,
1376 59, 531, 616, 254, 302, 303, 98, 103, 107, 112,
1377 73, 733, 333, 255, 334, 598, 337, 734, 528, 793,
1378 224, 338, 750, 566, 598, 79, 753, 590, 714, 714,
1379 88, 592, 213, 324, 293, 453, 306, 308, 213, 13,
1380 327, 456, 344, 495, 220, 339, 858, 496, 335, 19,
1381 263, 340, 576, 489, 19, 621, 864, 462, 632, 263,
1382 84, 527, 633, 19, 74, 694, 211, 263, 212, 263,
1383 842, 311, 75, 93, -470, -470, -470, -470, -470, 281,
1384 282, 283, 284, 285, -470, -470, -470, 27, 330, 28,
1385 742, 31, 901, 901, 321, 438, 32, 439, 346, 440,
1386 -470, 642, 528, 348, 441, 155, 156, 349, 743, 301,
1387 491, 356, 220, 214, 781, 353, 213, 544, 263, 214,
1388 33, 615, 368, 457, 458, 10, 11, 12, 102, 336,
1389 283, 284, 285, 784, 14, 15, 16, 321, 604, 370,
1390 98, 103, 107, 112, 577, 527, 155, 156, 10, 11,
1391 354, 355, 335, 897, 898, 340, -83, 701, 786, 833,
1392 702, 834, 220, -114, 406, 617, 324, 788, 155, 156,
1393 295, 99, 104, 108, 113, 828, 797, 829, 423, 135,
1394 140, 144, 149, 12, 97, 600, 263, 264, 429, 662,
1395 14, 15, 16, 433, 600, 497, 500, 214, 506, 9,
1396 442, 443, 12, 84, 602, 448, 213, -256, 19, 14,
1397 15, 16, 27, 444, 28, 695, 31, 325, 224, 445,
1398 459, 32, 223, 224, 471, 18, 464, 29, 562, 564,
1399 34, -389, -389, 336, 473, 669, 263, 369, 469, 470,
1400 493, 224, 544, 98, 103, 33, 465, 134, 139, 476,
1401 426, 83, 87, 92, 96, 101, 105, 110, 114, 119,
1402 123, 128, 132, 137, 141, 146, 150, 791, 224, 438,
1403 697, 439, 475, 440, 12, 106, 634, 635, 441, 663,
1404 664, 14, 15, 16, 652, 573, 477, 214, 656, 775,
1405 779, 658, 659, 793, 224, 660, 827, 488, 808, 19,
1406 478, 721, 481, 722, 482, 725, 263, 824, 30, 704,
1407 726, 484, 622, 623, 760, 711, 717, 80, 85, 89,
1408 94, 263, 922, 263, 931, 116, 121, 125, 130, 487,
1409 628, 628, 266, 268, 727, 831, 832, 9, 10, 11,
1410 12, 84, 488, 99, 104, 108, 113, 14, 15, 16,
1411 449, 450, 29, 902, 903, 34, 311, 811, 27, 510,
1412 28, 748, 31, 18, 561, 751, 563, 32, 570, 51,
1413 51, 580, 754, 581, 211, 584, 212, 65, 66, 67,
1414 587, -32, 479, 211, -33, 212, 611, 612, 544, 613,
1415 82, 33, 91, 618, 100, 624, 109, 627, 118, 810,
1416 127, 631, 136, 222, 145, 10, 11, 12, 102, 783,
1417 222, 653, 657, -520, 14, 15, 16, 846, 789, 790,
1418 -252, 914, 795, -520, 51, 661, 665, 798, 799, 921,
1419 800, 690, 154, 30, 666, 51, 326, 51, 668, 577,
1420 930, 723, 685, 691, 728, 696, 223, 224, 286, 287,
1421 775, 698, 288, 289, 290, 291, 874, 12, 102, 740,
1422 804, 526, 763, 806, 14, 15, 16, 764, -520, 772,
1423 773, 775, -520, 360, 302, 303, 782, 99, 104, 108,
1424 113, 896, 765, 302, 303, 263, 822, 837, 839, 80,
1425 85, 89, 94, 405, 847, 841, 844, 855, 29, 870,
1426 872, 34, 306, 438, 306, 439, 848, 440, 854, 916,
1427 883, 884, 441, 892, 213, 894, 919, 893, 895, 801,
1428 802, 906, 724, 213, 929, 907, 910, 912, 98, 103,
1429 107, 112, 10, 11, 12, 138, 134, 139, 143, 148,
1430 915, 14, 15, 16, 899, 923, 331, 860, 861, 9,
1431 862, 51, 12, 13, 925, 926, 928, 5, 589, 14,
1432 15, 16, 82, 436, 91, 755, 100, 731, 109, 446,
1433 732, 447, 567, 927, 82, 18, 91, 19, 20, 30,
1434 99, 104, 932, 735, 135, 140, 425, 51, 10, 11,
1435 12, 97, 586, 51, 736, 214, 816, 14, 15, 16,
1436 746, 768, 769, 51, 214, 494, 836, 311, 830, 460,
1437 -117, -117, -117, -117, -117, 19, 585, 51, 51, 805,
1438 -117, -117, -117, 80, 85, 89, 94, 807, 51, 419,
1439 51, 9, 332, -381, 12, 79, -117, 583, 467, 900,
1440 625, 14, 15, 16, 434, 10, 11, 12, 106, 422,
1441 326, 326, 908, 603, 14, 15, 16, 18, 630, 19,
1442 909, 0, 83, 87, 101, 105, 119, 123, 137, 141,
1443 -255, 51, 19, 0, 545, 0, 546, 9, 10, 11,
1444 12, 13, 0, 0, 0, 547, 0, 14, 15, 16,
1445 0, 405, 405, 360, 0, 0, 82, 0, 91, -117,
1446 100, 0, 109, 18, 0, 0, 0, 51, 0, 81,
1447 86, 90, 95, 10, 11, 12, 111, 117, 122, 126,
1448 131, 0, 14, 15, 16, 0, 0, -257, 80, 85,
1449 0, 0, 116, 121, 0, 0, 0, 0, 9, 10,
1450 11, 12, 93, 0, 419, 419, 503, 419, 14, 15,
1451 16, 277, 278, 279, 280, 281, 282, 283, 284, 285,
1452 258, 51, 169, 9, 18, -549, 12, 13, 0, 170,
1453 171, 0, 172, 14, 15, 16, 0, 0, 0, 0,
1454 0, 0, 51, 0, 569, 0, 0, 571, 0, 18,
1455 173, 19, 20, 0, 174, 175, 176, 177, 178, 179,
1456 180, 82, 0, 100, 0, 118, 181, 136, 0, 182,
1457 0, 0, 0, 0, 183, 184, 185, 0, 0, 186,
1458 187, -254, 0, 0, 188, 12, 111, 0, 0, 0,
1459 405, 405, 14, 15, 16, 51, 0, 0, 0, 51,
1460 0, 0, 0, 9, 10, 11, 12, 79, 189, 190,
1461 0, 0, 259, 14, 15, 16, 0, 0, 0, 620,
1462 0, 0, 0, 0, 0, 99, 104, 108, 113, 18,
1463 0, 19, 0, 135, 140, 144, 149, 0, 0, 0,
1464 0, 81, 86, 90, 95, 331, 0, 0, 9, 0,
1465 322, 12, 13, -20, -20, -20, -20, -20, 14, 15,
1466 16, 0, 0, -20, -20, -20, 0, 51, 0, 0,
1467 792, 794, 0, 0, 18, 0, 19, 20, 222, -20,
1468 0, -520, 0, 0, 0, 0, -251, 0, 0, 0,
1469 0, -520, 10, 11, 12, 147, 0, 687, 688, 689,
1470 0, 14, 15, 16, 0, 83, 87, 92, 96, 101,
1471 105, 110, 114, 119, 123, 128, 132, 137, 141, 146,
1472 150, 0, 9, 0, 221, 12, 93, -28, -28, -28,
1473 -28, -28, 14, 15, 16, 0, -520, -28, -28, -28,
1474 -520, 0, -20, 0, 0, 0, 0, 0, 18, 405,
1475 405, 0, 222, -28, 364, -520, 51, 9, 405, 405,
1476 12, 13, 405, 405, 0, -520, 0, 14, 15, 16,
1477 0, 80, 85, 89, 94, 81, 86, 90, 95, 116,
1478 121, 125, 130, 18, 0, 19, 0, 0, 223, 224,
1479 0, 792, 794, 794, 0, 9, 10, 11, 12, 120,
1480 0, 0, 0, 0, 0, 14, 15, 16, 0, 0,
1481 -520, 0, 0, 51, -520, 0, -28, 0, 0, 0,
1482 545, 18, 0, 9, 10, 11, 12, 13, 0, 51,
1483 0, 547, 0, 14, 15, 16, 0, 796, 51, 0,
1484 0, 0, 0, 0, 82, 0, 91, 0, 100, 18,
1485 109, 0, 118, 0, 127, 0, 136, 0, 145, 0,
1486 0, 0, 0, 0, 818, 818, 10, 11, 12, 111,
1487 823, 361, 363, 0, 0, 14, 15, 16, -260, 0,
1488 81, 86, 371, 0, 117, 122, 0, 0, 374, 375,
1489 0, 0, 0, 380, 381, 382, 383, 384, 385, 386,
1490 387, 388, 389, 390, 391, 0, 169, 0, 395, 0,
1491 0, -549, 0, 170, 171, 851, 172, 0, 0, 0,
1492 856, 857, 10, 11, 12, 97, 0, 0, 0, 432,
1493 0, 14, 15, 16, 173, 0, 20, 0, 174, 175,
1494 176, 177, 178, 179, 180, 0, 0, 0, -258, 19,
1495 181, 0, 0, 182, 0, 0, 0, 0, 183, 184,
1496 185, 503, 0, 186, 187, 0, 0, 0, 188, 0,
1497 0, 0, 0, 0, 503, 9, 10, 11, 12, 129,
1498 10, 11, 12, 133, 0, 14, 15, 16, 0, 14,
1499 15, 16, 189, 190, 0, 0, 479, 485, 486, 0,
1500 0, 18, 0, 503, 818, 0, 409, 19, -470, -470,
1501 -470, -470, -470, -470, 0, -470, -470, 0, -470, -470,
1502 -470, -470, -470, 0, -470, -470, -470, -470, -470, -470,
1503 -470, -470, -470, -470, -470, -470, -470, -470, -470, 0,
1504 -470, -470, -470, -470, -470, -470, -470, 556, 557, 0,
1505 0, 0, -470, 0, 0, -470, 0, 0, -262, 0,
1506 -470, -470, -470, 0, 0, -470, -470, 0, 0, 0,
1507 -470, 0, 0, 0, 9, 10, 11, 12, 88, 0,
1508 0, 0, 0, 582, 14, 15, 16, 671, 0, 169,
1509 395, 0, -470, 591, -470, -470, 170, 171, -470, 172,
1510 18, 0, 19, 596, 0, 0, 0, 597, 278, 279,
1511 280, 281, 282, 283, 284, 285, 0, 173, 0, 20,
1512 0, 174, 175, 176, 177, 178, 179, 180, -327, 10,
1513 11, 12, 106, 181, 0, 0, 182, 610, 14, 15,
1514 16, 183, 184, 185, 0, 0, 186, 187, 0, 0,
1515 -327, 188, -327, 0, 0, 0, 19, -253, 10, 11,
1516 12, 142, 0, 81, 86, 90, 95, 14, 15, 16,
1517 0, 117, 122, 126, 131, 189, 190, 0, 0, 674,
1518 0, 0, 0, 0, 645, 19, 0, 0, 0, 0,
1519 0, 650, 0, 0, 0, 654, 0, 0, 0, 0,
1520 0, 0, 294, 0, -456, -456, -456, -456, -456, -456,
1521 0, -456, -456, 676, -456, -456, -456, -456, -456, 0,
1522 -456, -456, -456, -456, -456, -456, -456, -456, -456, -456,
1523 -456, -456, -456, -456, -456, 295, -456, -456, -456, -456,
1524 -456, -456, -456, 9, 10, 11, 12, 115, -456, 0,
1525 0, -456, 0, 14, 15, 16, -456, -456, -456, 0,
1526 0, -456, -456, 0, 0, 0, -456, 645, 0, 18,
1527 749, 19, 0, 9, 752, 0, 12, 88, 0, 0,
1528 0, 0, 395, 14, 15, 16, 756, 0, -456, 296,
1529 -456, -456, 761, 0, -456, 0, 0, 0, 0, 18,
1530 0, 19, 676, 771, 0, 671, 0, 511, 156, 0,
1531 0, 780, 0, 0, 170, 171, 0, 172, 0, 0,
1532 0, 9, 10, 11, 12, 124, -259, 0, 0, 0,
1533 0, 14, 15, 16, 0, 173, 0, 20, 0, 174,
1534 175, 176, 177, 178, 179, 180, 0, 18, 0, 19,
1535 0, 181, 0, 0, 182, 0, 0, 0, 0, 183,
1536 184, 185, 0, 676, 186, 187, 0, 0, 672, 188,
1537 673, 0, 0, 671, 0, 511, 156, 0, 0, 0,
1538 0, 676, 170, 171, 676, 172, 676, 0, 0, 0,
1539 0, 0, -311, 189, 190, 0, 0, 674, 0, 0,
1540 0, 0, 0, 173, -261, 20, 0, 174, 175, 176,
1541 177, 178, 179, 180, 0, 10, 11, 12, 133, 181,
1542 0, 0, 182, 0, 14, 15, 16, 183, 184, 185,
1543 0, 843, 186, 187, 676, 0, 672, 188, 673, 643,
1544 0, 169, 19, 0, 0, 0, 0, 0, 170, 171,
1545 0, 172, 279, 280, 281, 282, 283, 284, 285, 0,
1546 -378, 189, 190, 0, 0, 674, 0, 0, 0, 173,
1547 0, 20, 0, 174, 175, 176, 177, 178, 179, 180,
1548 671, 0, 169, 0, 0, 181, 0, 0, 182, 170,
1549 171, 0, 172, 183, 184, 185, 0, -263, 186, 187,
1550 0, 0, 0, 188, 0, 0, 0, 0, 0, 0,
1551 173, 0, 20, 0, 174, 175, 176, 177, 178, 179,
1552 180, 0, 0, 0, 0, 0, 181, 189, 190, 182,
1553 0, 644, 0, 0, 183, 184, 185, 0, 0, 186,
1554 187, 0, 328, 0, 188, -24, -24, -24, -24, -24,
1555 0, 10, 11, 12, 142, -24, -24, -24, 0, 0,
1556 14, 15, 16, 0, 0, 0, 0, 169, 189, 190,
1557 222, -24, 674, -520, 170, 171, 0, 172, 19, 0,
1558 0, 0, 0, -520, 275, 276, 277, 278, 279, 280,
1559 281, 282, 283, 284, 285, 173, 0, 20, 0, 174,
1560 175, 176, 177, 178, 179, 180, 223, 224, 169, 0,
1561 0, 181, 0, 0, 182, 170, 171, 0, 172, 183,
1562 184, 430, 0, 0, 186, 187, 0, 0, -520, 188,
1563 0, 0, -520, -265, -24, 0, 173, 0, 20, 0,
1564 174, 175, 176, 177, 178, 179, 180, 0, 0, 0,
1565 0, 0, 181, 189, 190, 182, 0, 0, 431, 0,
1566 183, 184, 185, 0, 0, 186, 187, 0, 0, 0,
1567 188, 0, 0, 10, 11, 12, 138, 10, 11, 12,
1568 147, 0, 14, 15, 16, 0, 14, 15, 16, 0,
1569 0, 0, 0, 0, 189, 190, 0, 0, 0, 558,
1570 511, 512, 10, 11, 12, 13, 0, 170, 171, 0,
1571 172, 14, 15, 16, 513, 0, 514, 515, 516, 517,
1572 518, 519, 520, 521, 522, 523, 524, 18, 173, 19,
1573 20, 0, 174, 175, 176, 177, 178, 179, 180, 9,
1574 10, 11, 12, 79, 181, 0, 0, 182, 0, 14,
1575 15, 16, 183, 184, 185, -264, 0, 186, 187, -266,
1576 0, 0, 188, 0, 0, 18, 0, 19, 0, 0,
1577 0, 0, 0, 0, 0, 511, 156, 0, 0, 0,
1578 0, 0, 170, 171, 525, 172, 189, 190, 0, 513,
1579 526, 514, 515, 516, 517, 518, 519, 520, 521, 522,
1580 523, 524, 0, 173, 0, 20, 0, 174, 175, 176,
1581 177, 178, 179, 180, 362, 0, 169, 0, 0, 181,
1582 0, 0, 182, 170, 171, 0, 172, 183, 184, 185,
1583 0, 0, 186, 187, 0, 0, 0, 188, 0, 0,
1584 0, 0, 0, 0, 173, 0, 20, 0, 174, 175,
1585 176, 177, 178, 179, 180, 0, 0, 0, 0, 525,
1586 181, 189, 190, 182, 0, 526, 0, 0, 183, 184,
1587 185, 0, 0, 186, 187, 0, 0, 0, 188, 169,
1588 9, 10, 11, 12, 13, 0, 170, 171, 0, 172,
1589 14, 15, 16, 0, 0, 0, 0, 0, 0, 0,
1590 0, 0, 189, 190, 0, 0, 18, 173, 19, 20,
1591 0, 174, 175, 176, 177, 178, 179, 180, 9, 10,
1592 11, 12, 13, 181, 0, 0, 182, 0, 14, 15,
1593 16, 183, 184, 185, 0, 0, 186, 187, 0, 0,
1594 0, 188, 169, 9, 18, 0, 12, 13, 0, 170,
1595 171, 0, 172, 14, 15, 16, 0, 0, 0, 0,
1596 0, 0, 0, 0, 0, 189, 190, 0, 0, 18,
1597 173, 19, 20, 0, 174, 175, 176, 177, 178, 179,
1598 180, 0, 0, 169, 0, 0, 181, 0, 0, 182,
1599 170, 171, 0, 172, 183, 184, 185, 0, 0, 186,
1600 187, 0, 0, 0, 188, 0, 0, 0, 0, 0,
1601 0, 173, 0, 20, 0, 174, 175, 176, 177, 178,
1602 179, 180, 0, 0, 169, 0, 0, 181, 189, 190,
1603 182, 170, 171, 0, 172, 183, 184, 185, 0, 0,
1604 186, 187, 0, 0, 0, 188, 0, 0, 0, 0,
1605 0, 0, 173, 0, 20, 0, 174, 175, 176, 177,
1606 178, 179, 180, 0, 0, 169, 0, 614, 181, 189,
1607 190, 182, 170, 171, 0, 172, 183, 184, 185, 0,
1608 0, 186, 187, 0, 0, 0, 188, 0, 0, 0,
1609 0, 0, 0, 173, 0, 20, 0, 174, 175, 176,
1610 177, 178, 179, 180, 0, 0, 169, 0, 0, 181,
1611 189, 190, 182, 170, 171, 0, 172, 183, 184, 185,
1612 0, 0, 186, 187, 0, 0, 0, 265, 0, 0,
1613 0, 0, 0, 0, 173, 0, 20, 0, 174, 175,
1614 176, 177, 178, 179, 180, 0, 0, 588, 0, 0,
1615 181, 189, 190, 182, 170, 171, 0, 172, 183, 184,
1616 185, 0, 9, 186, 187, 12, 13, 0, 267, 0,
1617 0, 0, 14, 15, 16, 173, 0, 20, 0, 174,
1618 175, 176, 177, 178, 179, 180, 0, 0, 18, 0,
1619 19, 181, 189, 190, 182, 0, 0, 0, 0, 183,
1620 184, 185, 0, 0, 186, 187, 0, 0, 8, 188,
1621 -126, 9, 10, 11, 12, 13, 812, 0, 0, 0,
1622 0, 14, 15, 16, 0, 0, 0, 0, 0, 0,
1623 0, 0, 0, 189, 190, 0, 17, 18, 0, 19,
1624 20, 0, 0, 0, 0, 0, 269, 270, 271, 0,
1625 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
1626 282, 283, 284, 285, -126, 0, 0, 0, 0, 269,
1627 270, 271, -126, 272, 273, 274, 275, 276, 277, 278,
1628 279, 280, 281, 282, 283, 284, 285, 0, 0, 0,
1629 0, 0, 0, 0, 21, 269, 270, 271, 813, 272,
1630 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
1631 283, 284, 285, 0, 0, 0, 0, 0, 269, 270,
1632 271, 559, 272, 273, 274, 275, 276, 277, 278, 279,
1633 280, 281, 282, 283, 284, 285, 0, 0, 0, 0,
1634 0, 0, 0, 0, 269, 270, 271, 636, 272, 273,
1635 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
1636 284, 285, 0, 0, 0, 0, 0, 269, 270, 271,
1637 637, 272, 273, 274, 275, 276, 277, 278, 279, 280,
1638 281, 282, 283, 284, 285, 0, 0, 0, 0, 0,
1639 0, 0, 0, 269, 270, 271, 863, 272, 273, 274,
1640 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1641 285, 0, 0, 0, 269, 270, 271, 809, 272, 273,
1642 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
1643 284, 285, 0, 0, 692, 0, 0, 0, 0, 269,
1644 270, 271, 472, 272, 273, 274, 275, 276, 277, 278,
1645 279, 280, 281, 282, 283, 284, 285, 0, 0, 0,
1646 0, 0, 0, 474, 269, 270, 271, 693, 272, 273,
1647 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
1648 284, 285, 0, 366, 0, 0, 9, 0, 667, 12,
1649 13, 9, 10, 11, 12, 13, 14, 15, 16, 720,
1650 0, 14, 15, 16, 0, 0, 0, 0, 0, 0,
1651 0, 0, 18, 0, 19, 0, 0, 18, 0, 19,
1652 9, 10, 11, 12, 115, 9, 10, 11, 12, 88,
1653 14, 15, 16, 0, 0, 14, 15, 16, 0, 0,
1654 0, 0, 0, 0, 0, 0, 18, 0, 19, 0,
1655 0, 18, 0, 19, 9, 10, 11, 12, 124, 0,
1656 0, 0, 0, 0, 14, 15, 16, 0, 0, 0,
1657 0, 0, 0, 19, 0, 0, 0, 0, 0, 0,
1658 18, 0, 19, 269, 270, 271, 0, 272, 273, 274,
1659 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1660 285, 9, 10, 11, 12, 84, 9, 10, 11, 12,
1661 120, 14, 15, 16, 0, 0, 14, 15, 16, 9,
1662 10, 11, 12, 93, 0, 0, 0, 18, 0, 14,
1663 15, 16, 18, 0, 0, 0, 9, 10, 11, 12,
1664 129, 0, 0, 0, 0, 18, 14, 15, 16, 274,
1665 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1666 285, 0, 18, 269, 270, 271, 825, 272, 273, 274,
1667 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1668 285, 269, 270, 271, 0, 272, 273, 274, 275, 276,
1669 277, 278, 279, 280, 281, 282, 283, 284, 285, 271,
1670 0, 272, 273, 274, 275, 276, 277, 278, 279, 280,
1671 281, 282, 283, 284, 285, 273, 274, 275, 276, 277,
1672 278, 279, 280, 281, 282, 283, 284, 285, 276, 277,
1673 278, 279, 280, 281, 282, 283, 284, 285
1676 static const short int yycheck[] =
1678 19, 72, 70, 490, 6, 7, 6, 7, 6, 7,
1679 166, 316, 316, 6, 7, 224, 151, 51, 292, 152,
1680 321, 230, 419, 325, 316, 601, 54, 55, 56, 234,
1681 316, 65, 66, 67, 6, 7, 419, 6, 7, 630,
1682 773, 159, 26, 323, 544, 683, 419, 490, 82, 329,
1683 1, 297, 513, 514, 515, 516, 517, 91, 562, 61,
1684 419, 61, 224, 61, 1, 1, 100, 313, 61, 174,
1685 175, 1, 74, 188, 74, 109, 297, 11, 240, 821,
1686 185, 45, 1, 7, 118, 1, 191, 864, 868, 61,
1687 297, 1, 61, 127, 851, 1, 647, 8, 649, 308,
1688 3, 4, 136, 65, 66, 210, 503, 3, 4, 0,
1689 17, 145, 32, 3, 4, 872, 75, 0, 622, 3,
1690 4, 32, 427, 427, 901, 45, 65, 91, 744, 767,
1691 92, 873, 66, 913, 3, 427, 0, 61, 32, 254,
1692 255, 427, 93, 885, 6, 7, 762, 6, 7, 65,
1693 265, 88, 267, 181, 57, 43, 44, 93, 88, 65,
1694 34, 544, 65, 66, 31, 32, 33, 34, 152, 88,
1695 416, 544, 39, 40, 41, 42, 918, 815, 88, 912,
1696 87, 3, 344, 3, 218, 544, 629, 630, 57, 398,
1697 690, 412, 413, 414, 415, 87, 65, 93, 87, 61,
1698 3, 4, 61, 93, 65, 412, 413, 414, 415, 93,
1699 801, 802, 74, 65, 88, 848, 244, 491, 93, 290,
1700 853, 249, 224, 93, 224, 6, 7, 345, 230, 347,
1701 230, 42, 216, 217, 87, 57, 29, 57, 240, 32,
1702 240, 638, 240, 65, 66, 65, 66, 240, 32, 42,
1703 633, 29, 93, 64, 57, 66, 32, 3, 4, 835,
1704 288, 45, 65, 291, 223, 370, 87, 295, 240, 228,
1705 91, 240, 231, 906, 633, 6, 7, 11, 3, 4,
1706 61, 65, 66, 57, 64, 353, 66, 65, 66, 65,
1707 66, 65, 66, 74, 87, 65, 601, 601, 91, 45,
1708 87, 788, 87, 88, 91, 376, 308, 690, 308, 601,
1709 797, 57, 92, 65, 316, 601, 316, 690, 316, 65,
1710 304, 65, 457, 316, 352, 430, 65, 66, 633, 633,
1711 61, 690, 57, 65, 318, 319, 203, 204, 205, 206,
1712 3, 633, 344, 65, 344, 788, 344, 633, 419, 65,
1713 66, 344, 653, 92, 797, 8, 657, 472, 801, 802,
1714 8, 476, 224, 568, 92, 324, 325, 6, 230, 8,
1715 87, 330, 344, 87, 91, 344, 92, 91, 240, 32,
1716 91, 240, 45, 94, 32, 87, 847, 346, 87, 91,
1717 8, 419, 91, 32, 57, 87, 398, 91, 398, 91,
1718 94, 1, 65, 8, 4, 5, 6, 7, 8, 55,
1719 56, 57, 58, 59, 14, 15, 16, 419, 88, 419,
1720 87, 419, 883, 884, 91, 427, 419, 427, 88, 427,
1721 30, 564, 503, 1, 427, 3, 4, 465, 87, 544,
1722 399, 469, 91, 224, 87, 92, 308, 419, 91, 230,
1723 419, 522, 92, 341, 342, 5, 6, 7, 8, 240,
1724 57, 58, 59, 87, 14, 15, 16, 91, 496, 92,
1725 337, 338, 339, 340, 458, 503, 3, 4, 5, 6,
1726 7, 8, 344, 880, 881, 344, 45, 622, 87, 791,
1727 623, 793, 91, 93, 92, 523, 701, 706, 3, 4,
1728 34, 31, 32, 33, 34, 785, 715, 787, 92, 39,
1729 40, 41, 42, 7, 8, 789, 91, 92, 6, 587,
1730 14, 15, 16, 87, 798, 412, 413, 308, 415, 4,
1731 835, 835, 7, 8, 493, 42, 398, 87, 32, 14,
1732 15, 16, 544, 835, 544, 616, 544, 65, 66, 835,
1733 87, 544, 65, 66, 65, 30, 42, 419, 446, 447,
1734 419, 87, 88, 344, 92, 593, 91, 92, 91, 92,
1735 65, 66, 544, 440, 441, 544, 91, 444, 445, 91,
1736 564, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1737 36, 37, 38, 39, 40, 41, 42, 65, 66, 601,
1738 619, 601, 92, 601, 7, 8, 91, 92, 601, 91,
1739 92, 14, 15, 16, 573, 750, 92, 398, 577, 690,
1740 691, 580, 581, 65, 66, 584, 782, 91, 92, 32,
1741 91, 633, 92, 633, 92, 633, 91, 92, 419, 623,
1742 633, 45, 530, 531, 672, 629, 630, 27, 28, 29,
1743 30, 91, 92, 91, 92, 35, 36, 37, 38, 92,
1744 548, 549, 194, 195, 633, 788, 789, 4, 5, 6,
1745 7, 8, 91, 203, 204, 205, 206, 14, 15, 16,
1746 318, 319, 544, 883, 884, 544, 1, 758, 690, 88,
1747 690, 650, 690, 30, 87, 654, 87, 690, 42, 6,
1748 7, 88, 661, 88, 706, 88, 706, 14, 15, 16,
1749 92, 45, 93, 715, 45, 715, 45, 87, 690, 87,
1750 27, 690, 29, 8, 31, 87, 33, 92, 35, 757,
1751 37, 92, 39, 29, 41, 5, 6, 7, 8, 698,
1752 29, 91, 91, 32, 14, 15, 16, 818, 707, 708,
1753 87, 907, 711, 42, 61, 88, 92, 716, 717, 915,
1754 719, 65, 796, 544, 92, 72, 235, 74, 92, 753,
1755 926, 633, 92, 65, 633, 87, 65, 66, 60, 61,
1756 851, 45, 64, 65, 66, 67, 854, 7, 8, 3,
1757 749, 93, 45, 752, 14, 15, 16, 88, 87, 65,
1758 65, 872, 91, 249, 788, 789, 65, 337, 338, 339,
1759 340, 879, 91, 797, 798, 91, 87, 801, 802, 199,
1760 200, 201, 202, 292, 92, 88, 88, 45, 690, 19,
1761 87, 690, 791, 835, 793, 835, 92, 835, 92, 910,
1762 18, 18, 835, 87, 706, 45, 914, 875, 91, 737,
1763 738, 92, 633, 715, 925, 94, 65, 65, 725, 726,
1764 727, 728, 5, 6, 7, 8, 733, 734, 735, 736,
1765 45, 14, 15, 16, 87, 92, 1, 836, 837, 4,
1766 839, 188, 7, 8, 65, 91, 87, 2, 471, 14,
1767 15, 16, 199, 314, 201, 663, 203, 633, 205, 316,
1768 633, 316, 451, 922, 211, 30, 213, 32, 33, 690,
1769 440, 441, 931, 633, 444, 445, 304, 224, 5, 6,
1770 7, 8, 469, 230, 633, 706, 765, 14, 15, 16,
1771 648, 681, 681, 240, 715, 404, 801, 1, 788, 344,
1772 4, 5, 6, 7, 8, 32, 467, 254, 255, 750,
1773 14, 15, 16, 333, 334, 335, 336, 753, 265, 297,
1774 267, 4, 87, 88, 7, 8, 30, 465, 352, 882,
1775 533, 14, 15, 16, 312, 5, 6, 7, 8, 298,
1776 449, 450, 894, 493, 14, 15, 16, 30, 549, 32,
1777 895, -1, 438, 439, 440, 441, 442, 443, 444, 445,
1778 87, 308, 32, -1, 1, -1, 3, 4, 5, 6,
1779 7, 8, -1, -1, -1, 12, -1, 14, 15, 16,
1780 -1, 490, 491, 469, -1, -1, 333, -1, 335, 93,
1781 337, -1, 339, 30, -1, -1, -1, 344, -1, 27,
1782 28, 29, 30, 5, 6, 7, 8, 35, 36, 37,
1783 38, -1, 14, 15, 16, -1, -1, 87, 438, 439,
1784 -1, -1, 442, 443, -1, -1, -1, -1, 4, 5,
1785 6, 7, 8, -1, 412, 413, 414, 415, 14, 15,
1786 16, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1787 1, 398, 3, 4, 30, 92, 7, 8, -1, 10,
1788 11, -1, 13, 14, 15, 16, -1, -1, -1, -1,
1789 -1, -1, 419, -1, 452, -1, -1, 455, -1, 30,
1790 31, 32, 33, -1, 35, 36, 37, 38, 39, 40,
1791 41, 438, -1, 440, -1, 442, 47, 444, -1, 50,
1792 -1, -1, -1, -1, 55, 56, 57, -1, -1, 60,
1793 61, 87, -1, -1, 65, 7, 8, -1, -1, -1,
1794 629, 630, 14, 15, 16, 472, -1, -1, -1, 476,
1795 -1, -1, -1, 4, 5, 6, 7, 8, 89, 90,
1796 -1, -1, 93, 14, 15, 16, -1, -1, -1, 527,
1797 -1, -1, -1, -1, -1, 725, 726, 727, 728, 30,
1798 -1, 32, -1, 733, 734, 735, 736, -1, -1, -1,
1799 -1, 199, 200, 201, 202, 1, -1, -1, 4, -1,
1800 1, 7, 8, 4, 5, 6, 7, 8, 14, 15,
1801 16, -1, -1, 14, 15, 16, -1, 544, -1, -1,
1802 709, 710, -1, -1, 30, -1, 32, 33, 29, 30,
1803 -1, 32, -1, -1, -1, -1, 87, -1, -1, -1,
1804 -1, 42, 5, 6, 7, 8, -1, 605, 606, 607,
1805 -1, 14, 15, 16, -1, 721, 722, 723, 724, 725,
1806 726, 727, 728, 729, 730, 731, 732, 733, 734, 735,
1807 736, -1, 4, -1, 1, 7, 8, 4, 5, 6,
1808 7, 8, 14, 15, 16, -1, 87, 14, 15, 16,
1809 91, -1, 93, -1, -1, -1, -1, -1, 30, 788,
1810 789, -1, 29, 30, 1, 32, 633, 4, 797, 798,
1811 7, 8, 801, 802, -1, 42, -1, 14, 15, 16,
1812 -1, 721, 722, 723, 724, 333, 334, 335, 336, 729,
1813 730, 731, 732, 30, -1, 32, -1, -1, 65, 66,
1814 -1, 830, 831, 832, -1, 4, 5, 6, 7, 8,
1815 -1, -1, -1, -1, -1, 14, 15, 16, -1, -1,
1816 87, -1, -1, 690, 91, -1, 93, -1, -1, -1,
1817 1, 30, -1, 4, 5, 6, 7, 8, -1, 706,
1818 -1, 12, -1, 14, 15, 16, -1, 714, 715, -1,
1819 -1, -1, -1, -1, 721, -1, 723, -1, 725, 30,
1820 727, -1, 729, -1, 731, -1, 733, -1, 735, -1,
1821 -1, -1, -1, -1, 772, 773, 5, 6, 7, 8,
1822 778, 252, 253, -1, -1, 14, 15, 16, 87, -1,
1823 438, 439, 263, -1, 442, 443, -1, -1, 269, 270,
1824 -1, -1, -1, 274, 275, 276, 277, 278, 279, 280,
1825 281, 282, 283, 284, 285, -1, 3, -1, 289, -1,
1826 -1, 92, -1, 10, 11, 823, 13, -1, -1, -1,
1827 828, 829, 5, 6, 7, 8, -1, -1, -1, 310,
1828 -1, 14, 15, 16, 31, -1, 33, -1, 35, 36,
1829 37, 38, 39, 40, 41, -1, -1, -1, 87, 32,
1830 47, -1, -1, 50, -1, -1, -1, -1, 55, 56,
1831 57, 869, -1, 60, 61, -1, -1, -1, 65, -1,
1832 -1, -1, -1, -1, 882, 4, 5, 6, 7, 8,
1833 5, 6, 7, 8, -1, 14, 15, 16, -1, 14,
1834 15, 16, 89, 90, -1, -1, 93, 378, 379, -1,
1835 -1, 30, -1, 911, 912, -1, 1, 32, 3, 4,
1836 5, 6, 7, 8, -1, 10, 11, -1, 13, 14,
1837 15, 16, 17, -1, 19, 20, 21, 22, 23, 24,
1838 25, 26, 27, 28, 29, 30, 31, 32, 33, -1,
1839 35, 36, 37, 38, 39, 40, 41, 428, 429, -1,
1840 -1, -1, 47, -1, -1, 50, -1, -1, 87, -1,
1841 55, 56, 57, -1, -1, 60, 61, -1, -1, -1,
1842 65, -1, -1, -1, 4, 5, 6, 7, 8, -1,
1843 -1, -1, -1, 464, 14, 15, 16, 1, -1, 3,
1844 471, -1, 87, 474, 89, 90, 10, 11, 93, 13,
1845 30, -1, 32, 484, -1, -1, -1, 488, 52, 53,
1846 54, 55, 56, 57, 58, 59, -1, 31, -1, 33,
1847 -1, 35, 36, 37, 38, 39, 40, 41, 42, 5,
1848 6, 7, 8, 47, -1, -1, 50, 518, 14, 15,
1849 16, 55, 56, 57, -1, -1, 60, 61, -1, -1,
1850 64, 65, 66, -1, -1, -1, 32, 87, 5, 6,
1851 7, 8, -1, 721, 722, 723, 724, 14, 15, 16,
1852 -1, 729, 730, 731, 732, 89, 90, -1, -1, 93,
1853 -1, -1, -1, -1, 565, 32, -1, -1, -1, -1,
1854 -1, 572, -1, -1, -1, 576, -1, -1, -1, -1,
1855 -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
1856 -1, 10, 11, 594, 13, 14, 15, 16, 17, -1,
1857 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1858 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1859 39, 40, 41, 4, 5, 6, 7, 8, 47, -1,
1860 -1, 50, -1, 14, 15, 16, 55, 56, 57, -1,
1861 -1, 60, 61, -1, -1, -1, 65, 648, -1, 30,
1862 651, 32, -1, 4, 655, -1, 7, 8, -1, -1,
1863 -1, -1, 663, 14, 15, 16, 667, -1, 87, 88,
1864 89, 90, 673, -1, 93, -1, -1, -1, -1, 30,
1865 -1, 32, 683, 684, -1, 1, -1, 3, 4, -1,
1866 -1, 692, -1, -1, 10, 11, -1, 13, -1, -1,
1867 -1, 4, 5, 6, 7, 8, 87, -1, -1, -1,
1868 -1, 14, 15, 16, -1, 31, -1, 33, -1, 35,
1869 36, 37, 38, 39, 40, 41, -1, 30, -1, 32,
1870 -1, 47, -1, -1, 50, -1, -1, -1, -1, 55,
1871 56, 57, -1, 744, 60, 61, -1, -1, 64, 65,
1872 66, -1, -1, 1, -1, 3, 4, -1, -1, -1,
1873 -1, 762, 10, 11, 765, 13, 767, -1, -1, -1,
1874 -1, -1, 88, 89, 90, -1, -1, 93, -1, -1,
1875 -1, -1, -1, 31, 87, 33, -1, 35, 36, 37,
1876 38, 39, 40, 41, -1, 5, 6, 7, 8, 47,
1877 -1, -1, 50, -1, 14, 15, 16, 55, 56, 57,
1878 -1, 812, 60, 61, 815, -1, 64, 65, 66, 1,
1879 -1, 3, 32, -1, -1, -1, -1, -1, 10, 11,
1880 -1, 13, 53, 54, 55, 56, 57, 58, 59, -1,
1881 88, 89, 90, -1, -1, 93, -1, -1, -1, 31,
1882 -1, 33, -1, 35, 36, 37, 38, 39, 40, 41,
1883 1, -1, 3, -1, -1, 47, -1, -1, 50, 10,
1884 11, -1, 13, 55, 56, 57, -1, 87, 60, 61,
1885 -1, -1, -1, 65, -1, -1, -1, -1, -1, -1,
1886 31, -1, 33, -1, 35, 36, 37, 38, 39, 40,
1887 41, -1, -1, -1, -1, -1, 47, 89, 90, 50,
1888 -1, 93, -1, -1, 55, 56, 57, -1, -1, 60,
1889 61, -1, 1, -1, 65, 4, 5, 6, 7, 8,
1890 -1, 5, 6, 7, 8, 14, 15, 16, -1, -1,
1891 14, 15, 16, -1, -1, -1, -1, 3, 89, 90,
1892 29, 30, 93, 32, 10, 11, -1, 13, 32, -1,
1893 -1, -1, -1, 42, 49, 50, 51, 52, 53, 54,
1894 55, 56, 57, 58, 59, 31, -1, 33, -1, 35,
1895 36, 37, 38, 39, 40, 41, 65, 66, 3, -1,
1896 -1, 47, -1, -1, 50, 10, 11, -1, 13, 55,
1897 56, 57, -1, -1, 60, 61, -1, -1, 87, 65,
1898 -1, -1, 91, 87, 93, -1, 31, -1, 33, -1,
1899 35, 36, 37, 38, 39, 40, 41, -1, -1, -1,
1900 -1, -1, 47, 89, 90, 50, -1, -1, 94, -1,
1901 55, 56, 57, -1, -1, 60, 61, -1, -1, -1,
1902 65, -1, -1, 5, 6, 7, 8, 5, 6, 7,
1903 8, -1, 14, 15, 16, -1, 14, 15, 16, -1,
1904 -1, -1, -1, -1, 89, 90, -1, -1, -1, 94,
1905 3, 4, 5, 6, 7, 8, -1, 10, 11, -1,
1906 13, 14, 15, 16, 17, -1, 19, 20, 21, 22,
1907 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1908 33, -1, 35, 36, 37, 38, 39, 40, 41, 4,
1909 5, 6, 7, 8, 47, -1, -1, 50, -1, 14,
1910 15, 16, 55, 56, 57, 87, -1, 60, 61, 87,
1911 -1, -1, 65, -1, -1, 30, -1, 32, -1, -1,
1912 -1, -1, -1, -1, -1, 3, 4, -1, -1, -1,
1913 -1, -1, 10, 11, 87, 13, 89, 90, -1, 17,
1914 93, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1915 28, 29, -1, 31, -1, 33, -1, 35, 36, 37,
1916 38, 39, 40, 41, 1, -1, 3, -1, -1, 47,
1917 -1, -1, 50, 10, 11, -1, 13, 55, 56, 57,
1918 -1, -1, 60, 61, -1, -1, -1, 65, -1, -1,
1919 -1, -1, -1, -1, 31, -1, 33, -1, 35, 36,
1920 37, 38, 39, 40, 41, -1, -1, -1, -1, 87,
1921 47, 89, 90, 50, -1, 93, -1, -1, 55, 56,
1922 57, -1, -1, 60, 61, -1, -1, -1, 65, 3,
1923 4, 5, 6, 7, 8, -1, 10, 11, -1, 13,
1924 14, 15, 16, -1, -1, -1, -1, -1, -1, -1,
1925 -1, -1, 89, 90, -1, -1, 30, 31, 32, 33,
1926 -1, 35, 36, 37, 38, 39, 40, 41, 4, 5,
1927 6, 7, 8, 47, -1, -1, 50, -1, 14, 15,
1928 16, 55, 56, 57, -1, -1, 60, 61, -1, -1,
1929 -1, 65, 3, 4, 30, -1, 7, 8, -1, 10,
1930 11, -1, 13, 14, 15, 16, -1, -1, -1, -1,
1931 -1, -1, -1, -1, -1, 89, 90, -1, -1, 30,
1932 31, 32, 33, -1, 35, 36, 37, 38, 39, 40,
1933 41, -1, -1, 3, -1, -1, 47, -1, -1, 50,
1934 10, 11, -1, 13, 55, 56, 57, -1, -1, 60,
1935 61, -1, -1, -1, 65, -1, -1, -1, -1, -1,
1936 -1, 31, -1, 33, -1, 35, 36, 37, 38, 39,
1937 40, 41, -1, -1, 3, -1, -1, 47, 89, 90,
1938 50, 10, 11, -1, 13, 55, 56, 57, -1, -1,
1939 60, 61, -1, -1, -1, 65, -1, -1, -1, -1,
1940 -1, -1, 31, -1, 33, -1, 35, 36, 37, 38,
1941 39, 40, 41, -1, -1, 3, -1, 87, 47, 89,
1942 90, 50, 10, 11, -1, 13, 55, 56, 57, -1,
1943 -1, 60, 61, -1, -1, -1, 65, -1, -1, -1,
1944 -1, -1, -1, 31, -1, 33, -1, 35, 36, 37,
1945 38, 39, 40, 41, -1, -1, 3, -1, -1, 47,
1946 89, 90, 50, 10, 11, -1, 13, 55, 56, 57,
1947 -1, -1, 60, 61, -1, -1, -1, 65, -1, -1,
1948 -1, -1, -1, -1, 31, -1, 33, -1, 35, 36,
1949 37, 38, 39, 40, 41, -1, -1, 3, -1, -1,
1950 47, 89, 90, 50, 10, 11, -1, 13, 55, 56,
1951 57, -1, 4, 60, 61, 7, 8, -1, 65, -1,
1952 -1, -1, 14, 15, 16, 31, -1, 33, -1, 35,
1953 36, 37, 38, 39, 40, 41, -1, -1, 30, -1,
1954 32, 47, 89, 90, 50, -1, -1, -1, -1, 55,
1955 56, 57, -1, -1, 60, 61, -1, -1, 1, 65,
1956 3, 4, 5, 6, 7, 8, 12, -1, -1, -1,
1957 -1, 14, 15, 16, -1, -1, -1, -1, -1, -1,
1958 -1, -1, -1, 89, 90, -1, 29, 30, -1, 32,
1959 33, -1, -1, -1, -1, -1, 42, 43, 44, -1,
1960 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1961 56, 57, 58, 59, 57, -1, -1, -1, -1, 42,
1962 43, 44, 65, 46, 47, 48, 49, 50, 51, 52,
1963 53, 54, 55, 56, 57, 58, 59, -1, -1, -1,
1964 -1, -1, -1, -1, 87, 42, 43, 44, 94, 46,
1965 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1966 57, 58, 59, -1, -1, -1, -1, -1, 42, 43,
1967 44, 94, 46, 47, 48, 49, 50, 51, 52, 53,
1968 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
1969 -1, -1, -1, -1, 42, 43, 44, 94, 46, 47,
1970 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1971 58, 59, -1, -1, -1, -1, -1, 42, 43, 44,
1972 94, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1973 55, 56, 57, 58, 59, -1, -1, -1, -1, -1,
1974 -1, -1, -1, 42, 43, 44, 94, 46, 47, 48,
1975 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1976 59, -1, -1, -1, 42, 43, 44, 92, 46, 47,
1977 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1978 58, 59, -1, -1, 12, -1, -1, -1, -1, 42,
1979 43, 44, 91, 46, 47, 48, 49, 50, 51, 52,
1980 53, 54, 55, 56, 57, 58, 59, -1, -1, -1,
1981 -1, -1, -1, 91, 42, 43, 44, 45, 46, 47,
1982 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1983 58, 59, -1, 1, -1, -1, 4, -1, 91, 7,
1984 8, 4, 5, 6, 7, 8, 14, 15, 16, 12,
1985 -1, 14, 15, 16, -1, -1, -1, -1, -1, -1,
1986 -1, -1, 30, -1, 32, -1, -1, 30, -1, 32,
1987 4, 5, 6, 7, 8, 4, 5, 6, 7, 8,
1988 14, 15, 16, -1, -1, 14, 15, 16, -1, -1,
1989 -1, -1, -1, -1, -1, -1, 30, -1, 32, -1,
1990 -1, 30, -1, 32, 4, 5, 6, 7, 8, -1,
1991 -1, -1, -1, -1, 14, 15, 16, -1, -1, -1,
1992 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1993 30, -1, 32, 42, 43, 44, -1, 46, 47, 48,
1994 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1995 59, 4, 5, 6, 7, 8, 4, 5, 6, 7,
1996 8, 14, 15, 16, -1, -1, 14, 15, 16, 4,
1997 5, 6, 7, 8, -1, -1, -1, 30, -1, 14,
1998 15, 16, 30, -1, -1, -1, 4, 5, 6, 7,
1999 8, -1, -1, -1, -1, 30, 14, 15, 16, 48,
2000 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2001 59, -1, 30, 42, 43, 44, 45, 46, 47, 48,
2002 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2003 59, 42, 43, 44, -1, 46, 47, 48, 49, 50,
2004 51, 52, 53, 54, 55, 56, 57, 58, 59, 44,
2005 -1, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2006 55, 56, 57, 58, 59, 47, 48, 49, 50, 51,
2007 52, 53, 54, 55, 56, 57, 58, 59, 50, 51,
2008 52, 53, 54, 55, 56, 57, 58, 59
2011 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2012 symbol of state STATE-NUM. */
2013 static const unsigned short int yystos[] =
2015 0, 96, 97, 101, 0, 101, 98, 99, 1, 4,
2016 5, 6, 7, 8, 14, 15, 16, 29, 30, 32,
2017 33, 87, 100, 102, 103, 118, 135, 138, 139, 140,
2018 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2019 151, 152, 153, 154, 155, 161, 163, 164, 165, 166,
2020 167, 175, 176, 180, 204, 205, 206, 207, 212, 275,
2021 277, 303, 100, 87, 88, 175, 175, 175, 1, 286,
2022 1, 286, 65, 3, 57, 65, 169, 172, 203, 8,
2023 163, 164, 175, 180, 8, 163, 164, 180, 8, 163,
2024 164, 175, 180, 8, 163, 164, 180, 8, 165, 166,
2025 175, 180, 8, 165, 166, 180, 8, 165, 166, 175,
2026 180, 8, 165, 166, 180, 8, 163, 164, 175, 180,
2027 8, 163, 164, 180, 8, 163, 164, 175, 180, 8,
2028 163, 164, 180, 8, 165, 166, 175, 180, 8, 165,
2029 166, 180, 8, 165, 166, 175, 180, 8, 165, 166,
2030 180, 135, 135, 87, 176, 3, 4, 93, 110, 93,
2031 110, 93, 110, 87, 100, 287, 65, 287, 65, 3,
2032 10, 11, 13, 31, 35, 36, 37, 38, 39, 40,
2033 41, 47, 50, 55, 56, 57, 60, 61, 65, 89,
2034 90, 111, 112, 115, 116, 117, 119, 120, 126, 138,
2035 139, 140, 141, 142, 143, 144, 145, 160, 224, 248,
2036 303, 138, 139, 140, 141, 159, 162, 174, 175, 87,
2037 91, 1, 29, 65, 66, 108, 232, 275, 276, 4,
2038 57, 65, 168, 170, 198, 199, 203, 169, 203, 215,
2039 216, 93, 215, 93, 211, 93, 87, 11, 285, 65,
2040 119, 119, 65, 65, 65, 65, 110, 119, 1, 93,
2041 112, 224, 119, 91, 92, 65, 115, 65, 115, 42,
2042 43, 44, 46, 47, 48, 49, 50, 51, 52, 53,
2043 54, 55, 56, 57, 58, 59, 60, 61, 64, 65,
2044 66, 67, 225, 92, 1, 34, 88, 241, 242, 243,
2045 246, 119, 203, 203, 136, 174, 174, 298, 6, 159,
2046 162, 1, 130, 131, 132, 239, 250, 174, 162, 174,
2047 87, 91, 1, 104, 276, 65, 232, 87, 1, 106,
2048 88, 1, 87, 138, 139, 140, 141, 142, 143, 144,
2049 145, 158, 159, 217, 303, 208, 88, 209, 1, 110,
2050 222, 223, 210, 92, 7, 8, 110, 177, 178, 179,
2051 180, 120, 1, 120, 1, 224, 1, 224, 92, 92,
2052 92, 120, 224, 224, 120, 120, 123, 125, 122, 121,
2053 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
2054 120, 120, 110, 113, 114, 120, 112, 110, 57, 65,
2055 226, 228, 229, 230, 231, 232, 92, 110, 302, 1,
2056 134, 233, 234, 235, 236, 237, 238, 239, 247, 250,
2057 253, 254, 243, 92, 92, 172, 203, 299, 162, 6,
2058 57, 94, 120, 87, 250, 239, 131, 133, 138, 139,
2059 142, 143, 146, 147, 150, 151, 156, 157, 42, 199,
2060 199, 136, 130, 174, 298, 130, 174, 135, 135, 87,
2061 217, 215, 174, 215, 42, 91, 214, 222, 287, 91,
2062 92, 65, 91, 92, 91, 92, 91, 92, 91, 93,
2063 119, 92, 92, 112, 45, 120, 120, 92, 91, 94,
2064 162, 174, 288, 65, 232, 87, 91, 134, 253, 254,
2065 134, 253, 254, 250, 253, 254, 134, 253, 254, 239,
2066 88, 3, 4, 17, 19, 20, 21, 22, 23, 24,
2067 25, 26, 27, 28, 29, 87, 93, 110, 112, 137,
2068 154, 155, 161, 245, 249, 258, 261, 262, 269, 270,
2069 272, 273, 274, 278, 303, 1, 3, 12, 156, 157,
2070 290, 293, 294, 296, 300, 301, 120, 120, 94, 94,
2071 109, 87, 135, 87, 135, 173, 92, 170, 198, 250,
2072 42, 250, 45, 198, 218, 220, 45, 203, 219, 221,
2073 88, 88, 120, 223, 88, 214, 178, 92, 3, 113,
2074 224, 120, 224, 128, 127, 45, 120, 120, 229, 230,
2075 228, 289, 174, 288, 110, 240, 240, 240, 240, 240,
2076 120, 45, 87, 87, 87, 112, 57, 110, 8, 280,
2077 250, 87, 135, 135, 87, 246, 137, 92, 135, 297,
2078 297, 92, 87, 91, 91, 92, 94, 94, 1, 244,
2079 249, 168, 169, 1, 93, 120, 181, 105, 171, 107,
2080 120, 45, 174, 91, 120, 45, 174, 91, 174, 174,
2081 174, 88, 287, 91, 92, 92, 92, 91, 92, 110,
2082 129, 1, 64, 66, 93, 110, 120, 183, 184, 185,
2083 187, 189, 190, 191, 124, 92, 290, 250, 250, 250,
2084 65, 65, 12, 45, 87, 112, 87, 286, 45, 168,
2085 192, 198, 169, 195, 203, 4, 57, 65, 200, 201,
2086 202, 203, 227, 228, 229, 57, 65, 203, 227, 291,
2087 12, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2088 147, 148, 149, 150, 151, 152, 153, 154, 155, 295,
2089 3, 249, 87, 87, 182, 244, 181, 244, 174, 120,
2090 136, 174, 120, 136, 174, 114, 120, 64, 66, 92,
2091 110, 120, 188, 45, 88, 91, 213, 42, 190, 191,
2092 187, 120, 65, 65, 259, 112, 137, 265, 266, 112,
2093 120, 87, 65, 174, 87, 193, 87, 196, 162, 174,
2094 174, 65, 232, 65, 232, 174, 175, 162, 174, 174,
2095 174, 135, 135, 183, 174, 220, 174, 221, 92, 92,
2096 110, 112, 12, 94, 183, 186, 185, 187, 250, 255,
2097 255, 260, 87, 250, 92, 45, 279, 285, 130, 130,
2098 201, 202, 202, 298, 298, 292, 200, 203, 227, 203,
2099 227, 88, 94, 120, 88, 187, 112, 92, 92, 240,
2100 252, 250, 267, 271, 92, 45, 250, 250, 92, 290,
2101 174, 174, 174, 94, 240, 252, 256, 257, 259, 251,
2102 19, 265, 87, 259, 287, 66, 281, 282, 283, 285,
2103 194, 197, 251, 18, 18, 260, 253, 254, 263, 265,
2104 268, 252, 87, 110, 45, 91, 287, 249, 249, 87,
2105 258, 240, 257, 257, 252, 264, 92, 94, 281, 283,
2106 65, 251, 65, 259, 285, 45, 112, 255, 260, 287,
2107 284, 285, 92, 92, 252, 65, 91, 286, 87, 112,
2111 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
2112 # define YYSIZE_T __SIZE_TYPE__
2114 #if ! defined (YYSIZE_T) && defined (size_t)
2115 # define YYSIZE_T size_t
2117 #if ! defined (YYSIZE_T)
2118 # if defined (__STDC__) || defined (__cplusplus)
2119 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
2120 # define YYSIZE_T size_t
2123 #if ! defined (YYSIZE_T)
2124 # define YYSIZE_T unsigned int
2127 #define yyerrok (yyerrstatus = 0)
2128 #define yyclearin (yychar = YYEMPTY)
2129 #define YYEMPTY (-2)
2132 #define YYACCEPT goto yyacceptlab
2133 #define YYABORT goto yyabortlab
2134 #define YYERROR goto yyerrorlab
2137 /* Like YYERROR except do call yyerror. This remains here temporarily
2138 to ease the transition to the new meaning of YYERROR, for GCC.
2139 Once GCC version 2 has supplanted version 1, this can go. */
2141 #define YYFAIL goto yyerrlab
2143 #define YYRECOVERING() (!!yyerrstatus)
2145 #define YYBACKUP(Token, Value) \
2147 if (yychar == YYEMPTY && yylen == 1) \
2151 yytoken = YYTRANSLATE (yychar); \
2157 yyerror ("syntax error: cannot back up");\
2164 #define YYERRCODE 256
2167 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2168 If N is 0, then set CURRENT to the empty location which ends
2169 the previous symbol: RHS[0] (always defined). */
2171 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2172 #ifndef YYLLOC_DEFAULT
2173 # define YYLLOC_DEFAULT(Current, Rhs, N) \
2177 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
2178 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
2179 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
2180 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
2184 (Current).first_line = (Current).last_line = \
2185 YYRHSLOC (Rhs, 0).last_line; \
2186 (Current).first_column = (Current).last_column = \
2187 YYRHSLOC (Rhs, 0).last_column; \
2193 /* YY_LOCATION_PRINT -- Print the location on the stream.
2194 This macro was not mandated originally: define only if we know
2195 we won't break user code: when these are the locations we know. */
2197 #ifndef YY_LOCATION_PRINT
2198 # if YYLTYPE_IS_TRIVIAL
2199 # define YY_LOCATION_PRINT(File, Loc) \
2200 fprintf (File, "%d.%d-%d.%d", \
2201 (Loc).first_line, (Loc).first_column, \
2202 (Loc).last_line, (Loc).last_column)
2204 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2209 /* YYLEX -- calling `yylex' with the right arguments. */
2212 # define YYLEX yylex (YYLEX_PARAM)
2214 # define YYLEX yylex ()
2217 /* Enable debugging if requested. */
2221 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2222 # define YYFPRINTF fprintf
2225 # define YYDPRINTF(Args) \
2231 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2235 YYFPRINTF (stderr, "%s ", Title); \
2236 yysymprint (stderr, \
2238 YYFPRINTF (stderr, "\n"); \
2242 /*------------------------------------------------------------------.
2243 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2245 `------------------------------------------------------------------*/
2247 #if defined (__STDC__) || defined (__cplusplus)
2249 yy_stack_print (short int *bottom, short int *top)
2252 yy_stack_print (bottom, top)
2257 YYFPRINTF (stderr, "Stack now");
2258 for (/* Nothing. */; bottom <= top; ++bottom)
2259 YYFPRINTF (stderr, " %d", *bottom);
2260 YYFPRINTF (stderr, "\n");
2263 # define YY_STACK_PRINT(Bottom, Top) \
2266 yy_stack_print ((Bottom), (Top)); \
2270 /*------------------------------------------------.
2271 | Report that the YYRULE is going to be reduced. |
2272 `------------------------------------------------*/
2274 #if defined (__STDC__) || defined (__cplusplus)
2276 yy_reduce_print (int yyrule)
2279 yy_reduce_print (yyrule)
2284 unsigned int yylno = yyrline[yyrule];
2285 YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
2287 /* Print the symbols being reduced, and their result. */
2288 for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
2289 YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
2290 YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
2293 # define YY_REDUCE_PRINT(Rule) \
2296 yy_reduce_print (Rule); \
2299 /* Nonzero means print parse trace. It is left uninitialized so that
2300 multiple parsers can coexist. */
2302 #else /* !YYDEBUG */
2303 # define YYDPRINTF(Args)
2304 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2305 # define YY_STACK_PRINT(Bottom, Top)
2306 # define YY_REDUCE_PRINT(Rule)
2307 #endif /* !YYDEBUG */
2310 /* YYINITDEPTH -- initial size of the parser's stacks. */
2312 # define YYINITDEPTH 200
2315 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2316 if the built-in stack extension method is used).
2318 Do not make this value too large; the results are undefined if
2319 SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
2320 evaluated with infinite-precision integer arithmetic. */
2323 # define YYMAXDEPTH 10000
2331 # if defined (__GLIBC__) && defined (_STRING_H)
2332 # define yystrlen strlen
2334 /* Return the length of YYSTR. */
2336 # if defined (__STDC__) || defined (__cplusplus)
2337 yystrlen (const char *yystr)
2343 register const char *yys = yystr;
2345 while (*yys++ != '\0')
2348 return yys - yystr - 1;
2354 # if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
2355 # define yystpcpy stpcpy
2357 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2360 # if defined (__STDC__) || defined (__cplusplus)
2361 yystpcpy (char *yydest, const char *yysrc)
2363 yystpcpy (yydest, yysrc)
2368 register char *yyd = yydest;
2369 register const char *yys = yysrc;
2371 while ((*yyd++ = *yys++) != '\0')
2379 #endif /* !YYERROR_VERBOSE */
2384 /*--------------------------------.
2385 | Print this symbol on YYOUTPUT. |
2386 `--------------------------------*/
2388 #if defined (__STDC__) || defined (__cplusplus)
2390 yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
2393 yysymprint (yyoutput, yytype, yyvaluep)
2399 /* Pacify ``unused variable'' warnings. */
2402 if (yytype < YYNTOKENS)
2403 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2405 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2409 if (yytype < YYNTOKENS)
2410 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2417 YYFPRINTF (yyoutput, ")");
2420 #endif /* ! YYDEBUG */
2421 /*-----------------------------------------------.
2422 | Release the memory associated to this symbol. |
2423 `-----------------------------------------------*/
2425 #if defined (__STDC__) || defined (__cplusplus)
2427 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2430 yydestruct (yymsg, yytype, yyvaluep)
2436 /* Pacify ``unused variable'' warnings. */
2441 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2452 /* Prevent warnings from -Wmissing-prototypes. */
2454 #ifdef YYPARSE_PARAM
2455 # if defined (__STDC__) || defined (__cplusplus)
2456 int yyparse (void *YYPARSE_PARAM);
2460 #else /* ! YYPARSE_PARAM */
2461 #if defined (__STDC__) || defined (__cplusplus)
2466 #endif /* ! YYPARSE_PARAM */
2470 /* The look-ahead symbol. */
2473 /* The semantic value of the look-ahead symbol. */
2476 /* Number of syntax errors so far. */
2485 #ifdef YYPARSE_PARAM
2486 # if defined (__STDC__) || defined (__cplusplus)
2487 int yyparse (void *YYPARSE_PARAM)
2489 int yyparse (YYPARSE_PARAM)
2490 void *YYPARSE_PARAM;
2492 #else /* ! YYPARSE_PARAM */
2493 #if defined (__STDC__) || defined (__cplusplus)
2504 register int yystate;
2507 /* Number of tokens to shift before error messages enabled. */
2509 /* Look-ahead token as an internal (translated) token number. */
2512 /* Three stacks and their tools:
2513 `yyss': related to states,
2514 `yyvs': related to semantic values,
2515 `yyls': related to locations.
2517 Refer to the stacks thru separate pointers, to allow yyoverflow
2518 to reallocate them elsewhere. */
2520 /* The state stack. */
2521 short int yyssa[YYINITDEPTH];
2522 short int *yyss = yyssa;
2523 register short int *yyssp;
2525 /* The semantic value stack. */
2526 YYSTYPE yyvsa[YYINITDEPTH];
2527 YYSTYPE *yyvs = yyvsa;
2528 register YYSTYPE *yyvsp;
2532 #define YYPOPSTACK (yyvsp--, yyssp--)
2534 YYSIZE_T yystacksize = YYINITDEPTH;
2536 /* The variables used to return semantic value and location from the
2541 /* When reducing, the number of symbols on the RHS of the reduced
2545 YYDPRINTF ((stderr, "Starting parse\n"));
2550 yychar = YYEMPTY; /* Cause a token to be read. */
2552 /* Initialize stack pointers.
2553 Waste one element of value and location stack
2554 so that they stay on the same level as the state stack.
2555 The wasted elements are never initialized. */
2565 /*------------------------------------------------------------.
2566 | yynewstate -- Push a new state, which is found in yystate. |
2567 `------------------------------------------------------------*/
2569 /* In all cases, when you get here, the value and location stacks
2570 have just been pushed. so pushing a state here evens the stacks.
2577 if (yyss + yystacksize - 1 <= yyssp)
2579 /* Get the current used size of the three stacks, in elements. */
2580 YYSIZE_T yysize = yyssp - yyss + 1;
2584 /* Give user a chance to reallocate the stack. Use copies of
2585 these so that the &'s don't force the real ones into
2587 YYSTYPE *yyvs1 = yyvs;
2588 short int *yyss1 = yyss;
2591 /* Each stack pointer address is followed by the size of the
2592 data in use in that stack, in bytes. This used to be a
2593 conditional around just the two extra args, but that might
2594 be undefined if yyoverflow is a macro. */
2595 yyoverflow ("parser stack overflow",
2596 &yyss1, yysize * sizeof (*yyssp),
2597 &yyvs1, yysize * sizeof (*yyvsp),
2604 #else /* no yyoverflow */
2605 # ifndef YYSTACK_RELOCATE
2608 /* Extend the stack our own way. */
2609 if (YYMAXDEPTH <= yystacksize)
2612 if (YYMAXDEPTH < yystacksize)
2613 yystacksize = YYMAXDEPTH;
2616 short int *yyss1 = yyss;
2617 union yyalloc *yyptr =
2618 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2621 YYSTACK_RELOCATE (yyss);
2622 YYSTACK_RELOCATE (yyvs);
2624 # undef YYSTACK_RELOCATE
2626 YYSTACK_FREE (yyss1);
2629 #endif /* no yyoverflow */
2631 yyssp = yyss + yysize - 1;
2632 yyvsp = yyvs + yysize - 1;
2635 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2636 (unsigned long int) yystacksize));
2638 if (yyss + yystacksize - 1 <= yyssp)
2642 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
2651 /* Do appropriate processing given the current state. */
2652 /* Read a look-ahead token if we need one and don't already have one. */
2655 /* First try to decide what to do without reference to look-ahead token. */
2657 yyn = yypact[yystate];
2658 if (yyn == YYPACT_NINF)
2661 /* Not known => get a look-ahead token if don't already have one. */
2663 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
2664 if (yychar == YYEMPTY)
2666 YYDPRINTF ((stderr, "Reading a token: "));
2670 if (yychar <= YYEOF)
2672 yychar = yytoken = YYEOF;
2673 YYDPRINTF ((stderr, "Now at end of input.\n"));
2677 yytoken = YYTRANSLATE (yychar);
2678 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
2681 /* If the proper action on seeing token YYTOKEN is to reduce or to
2682 detect an error, take that action. */
2684 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
2689 if (yyn == 0 || yyn == YYTABLE_NINF)
2698 /* Shift the look-ahead token. */
2699 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
2701 /* Discard the token being shifted unless it is eof. */
2702 if (yychar != YYEOF)
2708 /* Count tokens shifted since error; after three, turn off error
2717 /*-----------------------------------------------------------.
2718 | yydefault -- do the default action for the current state. |
2719 `-----------------------------------------------------------*/
2721 yyn = yydefact[yystate];
2727 /*-----------------------------.
2728 | yyreduce -- Do a reduction. |
2729 `-----------------------------*/
2731 /* yyn is the number of a rule to reduce with. */
2734 /* If YYLEN is nonzero, implement the default value of the action:
2737 Otherwise, the following line sets YYVAL to garbage.
2738 This behavior is undocumented and Bison
2739 users should not rely upon it. Assigning to YYVAL
2740 unconditionally makes the parser a bit smaller, and it avoids a
2741 GCC warning that YYVAL may be used uninitialized. */
2742 yyval = yyvsp[1-yylen];
2745 YY_REDUCE_PRINT (yyn);
2749 #line 342 "c-parse.y"
2751 pedwarn ("ISO C forbids an empty source file");
2756 #line 353 "c-parse.y"
2757 { (yyval.dsptype) = NULL; ;}
2761 #line 354 "c-parse.y"
2762 { obstack_free (&parser_obstack, (yyvsp[-2].otype)); ;}
2766 #line 356 "c-parse.y"
2767 { (yyval.dsptype) = NULL; ggc_collect (); ;}
2771 #line 357 "c-parse.y"
2772 { obstack_free (&parser_obstack, (yyvsp[-2].otype)); ;}
2776 #line 365 "c-parse.y"
2777 { RESTORE_EXT_FLAGS ((yyvsp[-1].itype)); ;}
2781 #line 371 "c-parse.y"
2782 { (yyval.otype) = obstack_alloc (&parser_obstack, 0); ;}
2786 #line 376 "c-parse.y"
2787 { pedwarn ("data definition has no type or storage class");
2788 POP_DECLSPEC_STACK; ;}
2792 #line 379 "c-parse.y"
2793 { POP_DECLSPEC_STACK; ;}
2797 #line 381 "c-parse.y"
2798 { POP_DECLSPEC_STACK; ;}
2802 #line 383 "c-parse.y"
2803 { shadow_tag (finish_declspecs ((yyvsp[-1].dsptype))); ;}
2807 #line 387 "c-parse.y"
2809 pedwarn ("ISO C does not allow extra %<;%> outside of a function"); ;}
2813 #line 393 "c-parse.y"
2814 { if (!start_function (current_declspecs, (yyvsp[0].dtrtype),
2815 all_prefix_attributes))
2821 #line 398 "c-parse.y"
2822 { DECL_SOURCE_LOCATION (current_function_decl) = (yyvsp[0].location);
2823 store_parm_decls (); ;}
2827 #line 401 "c-parse.y"
2828 { finish_function ();
2829 POP_DECLSPEC_STACK; ;}
2833 #line 404 "c-parse.y"
2834 { POP_DECLSPEC_STACK; ;}
2838 #line 406 "c-parse.y"
2839 { if (!start_function (current_declspecs, (yyvsp[0].dtrtype),
2840 all_prefix_attributes))
2846 #line 411 "c-parse.y"
2847 { DECL_SOURCE_LOCATION (current_function_decl) = (yyvsp[0].location);
2848 store_parm_decls (); ;}
2852 #line 414 "c-parse.y"
2853 { finish_function ();
2854 POP_DECLSPEC_STACK; ;}
2858 #line 417 "c-parse.y"
2859 { POP_DECLSPEC_STACK; ;}
2863 #line 419 "c-parse.y"
2864 { if (!start_function (current_declspecs, (yyvsp[0].dtrtype),
2865 all_prefix_attributes))
2871 #line 424 "c-parse.y"
2872 { DECL_SOURCE_LOCATION (current_function_decl) = (yyvsp[0].location);
2873 store_parm_decls (); ;}
2877 #line 427 "c-parse.y"
2878 { finish_function ();
2879 POP_DECLSPEC_STACK; ;}
2883 #line 430 "c-parse.y"
2884 { POP_DECLSPEC_STACK; ;}
2888 #line 439 "c-parse.y"
2889 { (yyval.code) = ADDR_EXPR; ;}
2893 #line 441 "c-parse.y"
2894 { (yyval.code) = NEGATE_EXPR; ;}
2898 #line 443 "c-parse.y"
2899 { (yyval.code) = CONVERT_EXPR;
2900 if (warn_traditional && !in_system_header)
2901 warning ("traditional C rejects the unary plus operator");
2906 #line 448 "c-parse.y"
2907 { (yyval.code) = PREINCREMENT_EXPR; ;}
2911 #line 450 "c-parse.y"
2912 { (yyval.code) = PREDECREMENT_EXPR; ;}
2916 #line 452 "c-parse.y"
2917 { (yyval.code) = BIT_NOT_EXPR; ;}
2921 #line 454 "c-parse.y"
2922 { (yyval.code) = TRUTH_NOT_EXPR; ;}
2926 #line 459 "c-parse.y"
2927 { (yyval.exprtype).value = build_compound_expr ((yyvsp[-2].exprtype).value, (yyvsp[0].exprtype).value);
2928 (yyval.exprtype).original_code = COMPOUND_EXPR; ;}
2932 #line 465 "c-parse.y"
2933 { (yyval.ttype) = NULL_TREE; ;}
2937 #line 471 "c-parse.y"
2938 { (yyval.ttype) = build_tree_list (NULL_TREE, (yyvsp[0].exprtype).value); ;}
2942 #line 473 "c-parse.y"
2943 { chainon ((yyvsp[-2].ttype), build_tree_list (NULL_TREE, (yyvsp[0].exprtype).value)); ;}
2947 #line 479 "c-parse.y"
2948 { (yyval.exprtype).value = build_indirect_ref ((yyvsp[0].exprtype).value, "unary *");
2949 (yyval.exprtype).original_code = ERROR_MARK; ;}
2953 #line 483 "c-parse.y"
2954 { (yyval.exprtype) = (yyvsp[0].exprtype);
2955 RESTORE_EXT_FLAGS ((yyvsp[-1].itype)); ;}
2959 #line 486 "c-parse.y"
2960 { (yyval.exprtype).value = build_unary_op ((yyvsp[-1].code), (yyvsp[0].exprtype).value, 0);
2961 overflow_warning ((yyval.exprtype).value);
2962 (yyval.exprtype).original_code = ERROR_MARK; ;}
2966 #line 491 "c-parse.y"
2967 { (yyval.exprtype).value = finish_label_address_expr ((yyvsp[0].ttype));
2968 (yyval.exprtype).original_code = ERROR_MARK; ;}
2972 #line 494 "c-parse.y"
2973 { skip_evaluation--;
2975 if (TREE_CODE ((yyvsp[0].exprtype).value) == COMPONENT_REF
2976 && DECL_C_BIT_FIELD (TREE_OPERAND ((yyvsp[0].exprtype).value, 1)))
2977 error ("%<sizeof%> applied to a bit-field");
2978 (yyval.exprtype) = c_expr_sizeof_expr ((yyvsp[0].exprtype)); ;}
2982 #line 501 "c-parse.y"
2983 { skip_evaluation--;
2985 (yyval.exprtype) = c_expr_sizeof_type ((yyvsp[-1].typenametype)); ;}
2989 #line 505 "c-parse.y"
2990 { skip_evaluation--;
2992 (yyval.exprtype).value = c_alignof_expr ((yyvsp[0].exprtype).value);
2993 (yyval.exprtype).original_code = ERROR_MARK; ;}
2997 #line 510 "c-parse.y"
2998 { skip_evaluation--;
3000 (yyval.exprtype).value = c_alignof (groktypename ((yyvsp[-1].typenametype)));
3001 (yyval.exprtype).original_code = ERROR_MARK; ;}
3005 #line 515 "c-parse.y"
3006 { (yyval.exprtype).value = build_unary_op (REALPART_EXPR, (yyvsp[0].exprtype).value, 0);
3007 (yyval.exprtype).original_code = ERROR_MARK; ;}
3011 #line 518 "c-parse.y"
3012 { (yyval.exprtype).value = build_unary_op (IMAGPART_EXPR, (yyvsp[0].exprtype).value, 0);
3013 (yyval.exprtype).original_code = ERROR_MARK; ;}
3017 #line 523 "c-parse.y"
3018 { skip_evaluation++; in_sizeof++; ;}
3022 #line 527 "c-parse.y"
3023 { skip_evaluation++; in_alignof++; ;}
3027 #line 531 "c-parse.y"
3028 { skip_evaluation++; in_typeof++; ;}
3032 #line 537 "c-parse.y"
3033 { (yyval.exprtype).value = c_cast_expr ((yyvsp[-2].typenametype), (yyvsp[0].exprtype).value);
3034 (yyval.exprtype).original_code = ERROR_MARK; ;}
3038 #line 544 "c-parse.y"
3039 { (yyval.exprtype) = parser_build_binary_op ((yyvsp[-1].code), (yyvsp[-2].exprtype), (yyvsp[0].exprtype)); ;}
3043 #line 546 "c-parse.y"
3044 { (yyval.exprtype) = parser_build_binary_op ((yyvsp[-1].code), (yyvsp[-2].exprtype), (yyvsp[0].exprtype)); ;}
3048 #line 548 "c-parse.y"
3049 { (yyval.exprtype) = parser_build_binary_op ((yyvsp[-1].code), (yyvsp[-2].exprtype), (yyvsp[0].exprtype)); ;}
3053 #line 550 "c-parse.y"
3054 { (yyval.exprtype) = parser_build_binary_op ((yyvsp[-1].code), (yyvsp[-2].exprtype), (yyvsp[0].exprtype)); ;}
3058 #line 552 "c-parse.y"
3059 { (yyval.exprtype) = parser_build_binary_op ((yyvsp[-1].code), (yyvsp[-2].exprtype), (yyvsp[0].exprtype)); ;}
3063 #line 554 "c-parse.y"
3064 { (yyval.exprtype) = parser_build_binary_op ((yyvsp[-1].code), (yyvsp[-2].exprtype), (yyvsp[0].exprtype)); ;}
3068 #line 556 "c-parse.y"
3069 { (yyval.exprtype) = parser_build_binary_op ((yyvsp[-1].code), (yyvsp[-2].exprtype), (yyvsp[0].exprtype)); ;}
3073 #line 558 "c-parse.y"
3074 { (yyval.exprtype) = parser_build_binary_op ((yyvsp[-1].code), (yyvsp[-2].exprtype), (yyvsp[0].exprtype)); ;}
3078 #line 560 "c-parse.y"
3079 { (yyval.exprtype) = parser_build_binary_op ((yyvsp[-1].code), (yyvsp[-2].exprtype), (yyvsp[0].exprtype)); ;}
3083 #line 562 "c-parse.y"
3084 { (yyval.exprtype) = parser_build_binary_op ((yyvsp[-1].code), (yyvsp[-2].exprtype), (yyvsp[0].exprtype)); ;}
3088 #line 564 "c-parse.y"
3089 { (yyval.exprtype) = parser_build_binary_op ((yyvsp[-1].code), (yyvsp[-2].exprtype), (yyvsp[0].exprtype)); ;}
3093 #line 566 "c-parse.y"
3094 { (yyval.exprtype) = parser_build_binary_op ((yyvsp[-1].code), (yyvsp[-2].exprtype), (yyvsp[0].exprtype)); ;}
3098 #line 568 "c-parse.y"
3099 { (yyvsp[-1].exprtype).value = lang_hooks.truthvalue_conversion
3100 (default_conversion ((yyvsp[-1].exprtype).value));
3101 skip_evaluation += (yyvsp[-1].exprtype).value == truthvalue_false_node; ;}
3105 #line 572 "c-parse.y"
3106 { skip_evaluation -= (yyvsp[-3].exprtype).value == truthvalue_false_node;
3107 (yyval.exprtype) = parser_build_binary_op (TRUTH_ANDIF_EXPR, (yyvsp[-3].exprtype), (yyvsp[0].exprtype)); ;}
3111 #line 575 "c-parse.y"
3112 { (yyvsp[-1].exprtype).value = lang_hooks.truthvalue_conversion
3113 (default_conversion ((yyvsp[-1].exprtype).value));
3114 skip_evaluation += (yyvsp[-1].exprtype).value == truthvalue_true_node; ;}
3118 #line 579 "c-parse.y"
3119 { skip_evaluation -= (yyvsp[-3].exprtype).value == truthvalue_true_node;
3120 (yyval.exprtype) = parser_build_binary_op (TRUTH_ORIF_EXPR, (yyvsp[-3].exprtype), (yyvsp[0].exprtype)); ;}
3124 #line 582 "c-parse.y"
3125 { (yyvsp[-1].exprtype).value = lang_hooks.truthvalue_conversion
3126 (default_conversion ((yyvsp[-1].exprtype).value));
3127 skip_evaluation += (yyvsp[-1].exprtype).value == truthvalue_false_node; ;}
3131 #line 586 "c-parse.y"
3132 { skip_evaluation += (((yyvsp[-4].exprtype).value == truthvalue_true_node)
3133 - ((yyvsp[-4].exprtype).value == truthvalue_false_node)); ;}
3137 #line 589 "c-parse.y"
3138 { skip_evaluation -= (yyvsp[-6].exprtype).value == truthvalue_true_node;
3139 (yyval.exprtype).value = build_conditional_expr ((yyvsp[-6].exprtype).value, (yyvsp[-3].exprtype).value,
3140 (yyvsp[0].exprtype).value);
3141 (yyval.exprtype).original_code = ERROR_MARK; ;}
3145 #line 594 "c-parse.y"
3147 pedwarn ("ISO C forbids omitting the middle term of a ?: expression");
3148 /* Make sure first operand is calculated only once. */
3149 (yyvsp[0].ttype) = save_expr (default_conversion ((yyvsp[-1].exprtype).value));
3150 (yyvsp[-1].exprtype).value = lang_hooks.truthvalue_conversion ((yyvsp[0].ttype));
3151 skip_evaluation += (yyvsp[-1].exprtype).value == truthvalue_true_node; ;}
3155 #line 601 "c-parse.y"
3156 { skip_evaluation -= (yyvsp[-4].exprtype).value == truthvalue_true_node;
3157 (yyval.exprtype).value = build_conditional_expr ((yyvsp[-4].exprtype).value, (yyvsp[-3].ttype),
3158 (yyvsp[0].exprtype).value);
3159 (yyval.exprtype).original_code = ERROR_MARK; ;}
3163 #line 606 "c-parse.y"
3164 { (yyval.exprtype).value = build_modify_expr ((yyvsp[-2].exprtype).value, NOP_EXPR, (yyvsp[0].exprtype).value);
3165 (yyval.exprtype).original_code = MODIFY_EXPR;
3170 #line 610 "c-parse.y"
3171 { (yyval.exprtype).value = build_modify_expr ((yyvsp[-2].exprtype).value, (yyvsp[-1].code), (yyvsp[0].exprtype).value);
3172 TREE_NO_WARNING ((yyval.exprtype).value) = 1;
3173 (yyval.exprtype).original_code = ERROR_MARK;
3178 #line 618 "c-parse.y"
3180 if (yychar == YYEMPTY)
3182 (yyval.exprtype).value = build_external_ref ((yyvsp[0].ttype), yychar == '(');
3183 (yyval.exprtype).original_code = ERROR_MARK;
3188 #line 625 "c-parse.y"
3189 { (yyval.exprtype).value = (yyvsp[0].ttype); (yyval.exprtype).original_code = ERROR_MARK; ;}
3193 #line 627 "c-parse.y"
3194 { (yyval.exprtype).value = (yyvsp[0].ttype); (yyval.exprtype).original_code = STRING_CST; ;}
3198 #line 629 "c-parse.y"
3199 { (yyval.exprtype).value = fname_decl (C_RID_CODE ((yyvsp[0].ttype)), (yyvsp[0].ttype));
3200 (yyval.exprtype).original_code = ERROR_MARK; ;}
3204 #line 632 "c-parse.y"
3205 { start_init (NULL_TREE, NULL, 0);
3206 (yyval.ttype) = groktypename ((yyvsp[-2].typenametype));
3207 if (C_TYPE_VARIABLE_SIZE ((yyval.ttype)))
3209 error ("compound literal has variable size");
3210 (yyval.ttype) = error_mark_node;
3212 really_start_incremental_init ((yyval.ttype)); ;}
3216 #line 641 "c-parse.y"
3217 { struct c_expr init = pop_init_level (0);
3218 tree constructor = init.value;
3219 tree type = (yyvsp[-2].ttype);
3221 maybe_warn_string_init (type, init);
3223 if (pedantic && !flag_isoc99)
3224 pedwarn ("ISO C90 forbids compound literals");
3225 (yyval.exprtype).value = build_compound_literal (type, constructor);
3226 (yyval.exprtype).original_code = ERROR_MARK;
3231 #line 653 "c-parse.y"
3232 { (yyval.exprtype).value = (yyvsp[-1].exprtype).value;
3233 if (TREE_CODE ((yyval.exprtype).value) == MODIFY_EXPR)
3234 TREE_NO_WARNING ((yyval.exprtype).value) = 1;
3235 (yyval.exprtype).original_code = ERROR_MARK; ;}
3239 #line 658 "c-parse.y"
3240 { (yyval.exprtype).value = error_mark_node; (yyval.exprtype).original_code = ERROR_MARK; ;}
3244 #line 660 "c-parse.y"
3246 pedwarn ("ISO C forbids braced-groups within expressions");
3247 (yyval.exprtype).value = c_finish_stmt_expr ((yyvsp[-2].ttype));
3248 (yyval.exprtype).original_code = ERROR_MARK;
3253 #line 666 "c-parse.y"
3254 { c_finish_stmt_expr ((yyvsp[-2].ttype));
3255 (yyval.exprtype).value = error_mark_node;
3256 (yyval.exprtype).original_code = ERROR_MARK;
3261 #line 671 "c-parse.y"
3262 { (yyval.exprtype).value = build_function_call ((yyvsp[-3].exprtype).value, (yyvsp[-1].ttype));
3263 (yyval.exprtype).original_code = ERROR_MARK; ;}
3267 #line 674 "c-parse.y"
3268 { (yyval.exprtype).value = build_va_arg ((yyvsp[-3].exprtype).value, groktypename ((yyvsp[-1].typenametype)));
3269 (yyval.exprtype).original_code = ERROR_MARK; ;}
3273 #line 678 "c-parse.y"
3274 { tree type = groktypename ((yyvsp[-1].typenametype));
3275 if (type == error_mark_node)
3276 offsetof_base = error_mark_node;
3278 offsetof_base = build1 (INDIRECT_REF, type, NULL);
3283 #line 685 "c-parse.y"
3284 { (yyval.exprtype).value = fold_offsetof ((yyvsp[-1].ttype));
3285 (yyval.exprtype).original_code = ERROR_MARK; ;}
3289 #line 688 "c-parse.y"
3290 { (yyval.exprtype).value = error_mark_node; (yyval.exprtype).original_code = ERROR_MARK; ;}
3294 #line 691 "c-parse.y"
3298 c = fold ((yyvsp[-5].exprtype).value);
3300 if (TREE_CODE (c) != INTEGER_CST)
3301 error ("first argument to %<__builtin_choose_expr%> not"
3303 (yyval.exprtype) = integer_zerop (c) ? (yyvsp[-1].exprtype) : (yyvsp[-3].exprtype);
3308 #line 702 "c-parse.y"
3309 { (yyval.exprtype).value = error_mark_node; (yyval.exprtype).original_code = ERROR_MARK; ;}
3313 #line 704 "c-parse.y"
3317 e1 = TYPE_MAIN_VARIANT (groktypename ((yyvsp[-3].typenametype)));
3318 e2 = TYPE_MAIN_VARIANT (groktypename ((yyvsp[-1].typenametype)));
3320 (yyval.exprtype).value = comptypes (e1, e2)
3321 ? build_int_cst (NULL_TREE, 1)
3322 : build_int_cst (NULL_TREE, 0);
3323 (yyval.exprtype).original_code = ERROR_MARK;
3328 #line 716 "c-parse.y"
3329 { (yyval.exprtype).value = error_mark_node; (yyval.exprtype).original_code = ERROR_MARK; ;}
3333 #line 718 "c-parse.y"
3334 { (yyval.exprtype).value = build_array_ref ((yyvsp[-3].exprtype).value, (yyvsp[-1].exprtype).value);
3335 (yyval.exprtype).original_code = ERROR_MARK; ;}
3339 #line 721 "c-parse.y"
3340 { (yyval.exprtype).value = build_component_ref ((yyvsp[-2].exprtype).value, (yyvsp[0].ttype));
3341 (yyval.exprtype).original_code = ERROR_MARK; ;}
3345 #line 724 "c-parse.y"
3347 tree expr = build_indirect_ref ((yyvsp[-2].exprtype).value, "->");
3348 (yyval.exprtype).value = build_component_ref (expr, (yyvsp[0].ttype));
3349 (yyval.exprtype).original_code = ERROR_MARK;
3354 #line 730 "c-parse.y"
3355 { (yyval.exprtype).value = build_unary_op (POSTINCREMENT_EXPR, (yyvsp[-1].exprtype).value, 0);
3356 (yyval.exprtype).original_code = ERROR_MARK; ;}
3360 #line 733 "c-parse.y"
3361 { (yyval.exprtype).value = build_unary_op (POSTDECREMENT_EXPR, (yyvsp[-1].exprtype).value, 0);
3362 (yyval.exprtype).original_code = ERROR_MARK; ;}
3366 #line 743 "c-parse.y"
3367 { (yyval.ttype) = build_component_ref (offsetof_base, (yyvsp[0].ttype)); ;}
3371 #line 745 "c-parse.y"
3372 { (yyval.ttype) = build_component_ref ((yyvsp[-2].ttype), (yyvsp[0].ttype)); ;}
3376 #line 747 "c-parse.y"
3377 { (yyval.ttype) = build_array_ref ((yyvsp[-3].ttype), (yyvsp[-1].exprtype).value); ;}
3381 #line 760 "c-parse.y"
3386 #line 776 "c-parse.y"
3387 { POP_DECLSPEC_STACK; ;}
3391 #line 778 "c-parse.y"
3392 { POP_DECLSPEC_STACK; ;}
3396 #line 780 "c-parse.y"
3397 { shadow_tag_warned (finish_declspecs ((yyvsp[-1].dsptype)), 1);
3398 pedwarn ("empty declaration"); ;}
3402 #line 783 "c-parse.y"
3403 { pedwarn ("empty declaration"); ;}
3407 #line 792 "c-parse.y"
3412 #line 800 "c-parse.y"
3413 { pending_xref_error ();
3414 PUSH_DECLSPEC_STACK;
3415 if ((yyvsp[0].dsptype))
3417 prefix_attributes = (yyvsp[0].dsptype)->attrs;
3418 (yyvsp[0].dsptype)->attrs = NULL_TREE;
3419 current_declspecs = (yyvsp[0].dsptype);
3423 prefix_attributes = NULL_TREE;
3424 current_declspecs = build_null_declspecs ();
3426 current_declspecs = finish_declspecs (current_declspecs);
3427 all_prefix_attributes = prefix_attributes; ;}
3431 #line 821 "c-parse.y"
3432 { all_prefix_attributes = chainon ((yyvsp[0].ttype), prefix_attributes); ;}
3436 #line 826 "c-parse.y"
3437 { POP_DECLSPEC_STACK; ;}
3441 #line 828 "c-parse.y"
3442 { POP_DECLSPEC_STACK; ;}
3446 #line 830 "c-parse.y"
3447 { POP_DECLSPEC_STACK; ;}
3451 #line 832 "c-parse.y"
3452 { POP_DECLSPEC_STACK; ;}
3456 #line 834 "c-parse.y"
3457 { shadow_tag (finish_declspecs ((yyvsp[-1].dsptype))); ;}
3461 #line 836 "c-parse.y"
3462 { RESTORE_EXT_FLAGS ((yyvsp[-1].itype)); ;}
3466 #line 882 "c-parse.y"
3467 { (yyval.dsptype) = declspecs_add_qual (build_null_declspecs (), (yyvsp[0].ttype)); ;}
3471 #line 884 "c-parse.y"
3472 { (yyval.dsptype) = declspecs_add_qual ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3476 #line 886 "c-parse.y"
3477 { (yyval.dsptype) = declspecs_add_qual ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3481 #line 891 "c-parse.y"
3482 { (yyval.dsptype) = declspecs_add_attrs ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3486 #line 896 "c-parse.y"
3487 { (yyval.dsptype) = declspecs_add_qual ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3491 #line 898 "c-parse.y"
3492 { (yyval.dsptype) = declspecs_add_qual ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3496 #line 903 "c-parse.y"
3497 { (yyval.dsptype) = declspecs_add_attrs (build_null_declspecs (), (yyvsp[0].ttype)); ;}
3501 #line 905 "c-parse.y"
3502 { (yyval.dsptype) = declspecs_add_attrs ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3506 #line 910 "c-parse.y"
3507 { (yyval.dsptype) = declspecs_add_type (build_null_declspecs (), (yyvsp[0].tstype)); ;}
3511 #line 912 "c-parse.y"
3512 { (yyval.dsptype) = declspecs_add_qual ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3516 #line 914 "c-parse.y"
3517 { (yyval.dsptype) = declspecs_add_qual ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3521 #line 916 "c-parse.y"
3522 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3526 #line 918 "c-parse.y"
3527 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3531 #line 920 "c-parse.y"
3532 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3536 #line 922 "c-parse.y"
3537 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3541 #line 927 "c-parse.y"
3542 { (yyval.dsptype) = declspecs_add_type (build_null_declspecs (), (yyvsp[0].tstype)); ;}
3546 #line 929 "c-parse.y"
3547 { (yyval.dsptype) = declspecs_add_attrs ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3551 #line 931 "c-parse.y"
3552 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3556 #line 933 "c-parse.y"
3557 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3561 #line 935 "c-parse.y"
3562 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3566 #line 937 "c-parse.y"
3567 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3571 #line 942 "c-parse.y"
3572 { (yyval.dsptype) = declspecs_add_qual ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3576 #line 944 "c-parse.y"
3577 { (yyval.dsptype) = declspecs_add_qual ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3581 #line 946 "c-parse.y"
3582 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3586 #line 948 "c-parse.y"
3587 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3591 #line 950 "c-parse.y"
3592 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3596 #line 952 "c-parse.y"
3597 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3601 #line 957 "c-parse.y"
3602 { (yyval.dsptype) = declspecs_add_attrs ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3606 #line 959 "c-parse.y"
3607 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3611 #line 961 "c-parse.y"
3612 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3616 #line 963 "c-parse.y"
3617 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3621 #line 965 "c-parse.y"
3622 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3626 #line 970 "c-parse.y"
3627 { (yyval.dsptype) = declspecs_add_scspec (build_null_declspecs (), (yyvsp[0].ttype)); ;}
3631 #line 972 "c-parse.y"
3632 { (yyval.dsptype) = declspecs_add_qual ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3636 #line 974 "c-parse.y"
3637 { (yyval.dsptype) = declspecs_add_qual ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3641 #line 976 "c-parse.y"
3642 { (yyval.dsptype) = declspecs_add_scspec ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3646 #line 978 "c-parse.y"
3647 { (yyval.dsptype) = declspecs_add_scspec ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3651 #line 980 "c-parse.y"
3652 { (yyval.dsptype) = declspecs_add_scspec ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3656 #line 982 "c-parse.y"
3657 { (yyval.dsptype) = declspecs_add_scspec ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3661 #line 987 "c-parse.y"
3662 { (yyval.dsptype) = declspecs_add_attrs ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3666 #line 992 "c-parse.y"
3667 { (yyval.dsptype) = declspecs_add_qual ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3671 #line 994 "c-parse.y"
3672 { (yyval.dsptype) = declspecs_add_qual ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3676 #line 996 "c-parse.y"
3677 { (yyval.dsptype) = declspecs_add_scspec ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3681 #line 998 "c-parse.y"
3682 { (yyval.dsptype) = declspecs_add_scspec ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3686 #line 1000 "c-parse.y"
3687 { (yyval.dsptype) = declspecs_add_scspec ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3691 #line 1002 "c-parse.y"
3692 { (yyval.dsptype) = declspecs_add_scspec ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3696 #line 1007 "c-parse.y"
3697 { (yyval.dsptype) = declspecs_add_attrs ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3701 #line 1012 "c-parse.y"
3702 { (yyval.dsptype) = declspecs_add_qual ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3706 #line 1014 "c-parse.y"
3707 { (yyval.dsptype) = declspecs_add_qual ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3711 #line 1016 "c-parse.y"
3712 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3716 #line 1018 "c-parse.y"
3717 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3721 #line 1020 "c-parse.y"
3722 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3726 #line 1022 "c-parse.y"
3727 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3731 #line 1024 "c-parse.y"
3732 { (yyval.dsptype) = declspecs_add_scspec ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3736 #line 1026 "c-parse.y"
3737 { (yyval.dsptype) = declspecs_add_scspec ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3741 #line 1028 "c-parse.y"
3742 { (yyval.dsptype) = declspecs_add_scspec ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3746 #line 1030 "c-parse.y"
3747 { (yyval.dsptype) = declspecs_add_scspec ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3751 #line 1035 "c-parse.y"
3752 { (yyval.dsptype) = declspecs_add_attrs ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3756 #line 1037 "c-parse.y"
3757 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3761 #line 1039 "c-parse.y"
3762 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3766 #line 1041 "c-parse.y"
3767 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3771 #line 1043 "c-parse.y"
3772 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3776 #line 1048 "c-parse.y"
3777 { (yyval.dsptype) = declspecs_add_qual ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3781 #line 1050 "c-parse.y"
3782 { (yyval.dsptype) = declspecs_add_qual ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3786 #line 1052 "c-parse.y"
3787 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3791 #line 1054 "c-parse.y"
3792 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3796 #line 1056 "c-parse.y"
3797 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3801 #line 1058 "c-parse.y"
3802 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3806 #line 1060 "c-parse.y"
3807 { (yyval.dsptype) = declspecs_add_scspec ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3811 #line 1062 "c-parse.y"
3812 { (yyval.dsptype) = declspecs_add_scspec ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3816 #line 1064 "c-parse.y"
3817 { (yyval.dsptype) = declspecs_add_scspec ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3821 #line 1066 "c-parse.y"
3822 { (yyval.dsptype) = declspecs_add_scspec ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3826 #line 1071 "c-parse.y"
3827 { (yyval.dsptype) = declspecs_add_attrs ((yyvsp[-1].dsptype), (yyvsp[0].ttype)); ;}
3831 #line 1073 "c-parse.y"
3832 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3836 #line 1075 "c-parse.y"
3837 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3841 #line 1077 "c-parse.y"
3842 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3846 #line 1079 "c-parse.y"
3847 { (yyval.dsptype) = declspecs_add_type ((yyvsp[-1].dsptype), (yyvsp[0].tstype)); ;}
3851 #line 1166 "c-parse.y"
3852 { (yyval.dsptype) = NULL; ;}
3856 #line 1168 "c-parse.y"
3857 { (yyval.dsptype) = (yyvsp[0].dsptype); ;}
3861 #line 1203 "c-parse.y"
3862 { OBJC_NEED_RAW_IDENTIFIER (1);
3863 (yyval.tstype).kind = ctsk_resword;
3864 (yyval.tstype).spec = (yyvsp[0].ttype); ;}
3868 #line 1215 "c-parse.y"
3869 { /* For a typedef name, record the meaning, not the name.
3870 In case of `foo foo, bar;'. */
3871 (yyval.tstype).kind = ctsk_typedef;
3872 (yyval.tstype).spec = lookup_name ((yyvsp[0].ttype)); ;}
3876 #line 1220 "c-parse.y"
3877 { skip_evaluation--;
3879 if (TREE_CODE ((yyvsp[-1].exprtype).value) == COMPONENT_REF
3880 && DECL_C_BIT_FIELD (TREE_OPERAND ((yyvsp[-1].exprtype).value, 1)))
3881 error ("%<typeof%> applied to a bit-field");
3882 (yyval.tstype).kind = ctsk_typeof;
3883 (yyval.tstype).spec = TREE_TYPE ((yyvsp[-1].exprtype).value);
3884 pop_maybe_used (variably_modified_type_p ((yyval.tstype).spec,
3889 #line 1230 "c-parse.y"
3890 { skip_evaluation--;
3892 (yyval.tstype).kind = ctsk_typeof;
3893 (yyval.tstype).spec = groktypename ((yyvsp[-1].typenametype));
3894 pop_maybe_used (variably_modified_type_p ((yyval.tstype).spec,
3899 #line 1252 "c-parse.y"
3900 { (yyval.ttype) = start_decl ((yyvsp[-3].dtrtype), current_declspecs, true,
3901 chainon ((yyvsp[-1].ttype), all_prefix_attributes));
3903 (yyval.ttype) = error_mark_node;
3904 start_init ((yyval.ttype), (yyvsp[-2].ttype), global_bindings_p ()); ;}
3908 #line 1259 "c-parse.y"
3910 if ((yyvsp[-1].ttype) != error_mark_node)
3912 maybe_warn_string_init (TREE_TYPE ((yyvsp[-1].ttype)), (yyvsp[0].exprtype));
3913 finish_decl ((yyvsp[-1].ttype), (yyvsp[0].exprtype).value, (yyvsp[-4].ttype));
3919 #line 1267 "c-parse.y"
3920 { tree d = start_decl ((yyvsp[-2].dtrtype), current_declspecs, false,
3921 chainon ((yyvsp[0].ttype), all_prefix_attributes));
3923 finish_decl (d, NULL_TREE, (yyvsp[-1].ttype));
3928 #line 1276 "c-parse.y"
3929 { (yyval.ttype) = start_decl ((yyvsp[-3].dtrtype), current_declspecs, true,
3930 chainon ((yyvsp[-1].ttype), all_prefix_attributes));
3932 (yyval.ttype) = error_mark_node;
3933 start_init ((yyval.ttype), (yyvsp[-2].ttype), global_bindings_p ()); ;}
3937 #line 1283 "c-parse.y"
3939 if ((yyvsp[-1].ttype) != error_mark_node)
3941 maybe_warn_string_init (TREE_TYPE ((yyvsp[-1].ttype)), (yyvsp[0].exprtype));
3942 finish_decl ((yyvsp[-1].ttype), (yyvsp[0].exprtype).value, (yyvsp[-4].ttype));
3948 #line 1291 "c-parse.y"
3949 { tree d = start_decl ((yyvsp[-2].dtrtype), current_declspecs, false,
3950 chainon ((yyvsp[0].ttype), all_prefix_attributes));
3952 finish_decl (d, NULL_TREE, (yyvsp[-1].ttype)); ;}
3956 #line 1300 "c-parse.y"
3957 { (yyval.ttype) = NULL_TREE; ;}
3961 #line 1302 "c-parse.y"
3962 { (yyval.ttype) = (yyvsp[0].ttype); ;}
3966 #line 1307 "c-parse.y"
3967 { (yyval.ttype) = (yyvsp[0].ttype); ;}
3971 #line 1309 "c-parse.y"
3972 { (yyval.ttype) = chainon ((yyvsp[-1].ttype), (yyvsp[0].ttype)); ;}
3976 #line 1315 "c-parse.y"
3977 { (yyval.ttype) = (yyvsp[-3].ttype); ;}
3981 #line 1317 "c-parse.y"
3982 { (yyval.ttype) = NULL_TREE; ;}
3986 #line 1322 "c-parse.y"
3987 { (yyval.ttype) = (yyvsp[0].ttype); ;}
3991 #line 1324 "c-parse.y"
3992 { (yyval.ttype) = chainon ((yyvsp[-2].ttype), (yyvsp[0].ttype)); ;}
3996 #line 1329 "c-parse.y"
3997 { (yyval.ttype) = NULL_TREE; ;}
4001 #line 1331 "c-parse.y"
4002 { (yyval.ttype) = build_tree_list ((yyvsp[0].ttype), NULL_TREE); ;}
4006 #line 1333 "c-parse.y"
4007 { (yyval.ttype) = build_tree_list ((yyvsp[-3].ttype), build_tree_list (NULL_TREE, (yyvsp[-1].ttype))); ;}
4011 #line 1335 "c-parse.y"
4012 { (yyval.ttype) = build_tree_list ((yyvsp[-5].ttype), tree_cons (NULL_TREE, (yyvsp[-3].ttype), (yyvsp[-1].ttype))); ;}
4016 #line 1337 "c-parse.y"
4017 { (yyval.ttype) = build_tree_list ((yyvsp[-3].ttype), (yyvsp[-1].ttype)); ;}
4021 #line 1359 "c-parse.y"
4022 { (yyval.exprtype) = (yyvsp[0].exprtype); ;}
4026 #line 1361 "c-parse.y"
4027 { really_start_incremental_init (NULL_TREE); ;}
4031 #line 1363 "c-parse.y"
4032 { (yyval.exprtype) = pop_init_level (0); ;}
4036 #line 1365 "c-parse.y"
4037 { (yyval.exprtype).value = error_mark_node; (yyval.exprtype).original_code = ERROR_MARK; ;}
4041 #line 1371 "c-parse.y"
4043 pedwarn ("ISO C forbids empty initializer braces"); ;}
4047 #line 1385 "c-parse.y"
4048 { if (pedantic && !flag_isoc99)
4049 pedwarn ("ISO C90 forbids specifying subobject to initialize"); ;}
4053 #line 1388 "c-parse.y"
4055 pedwarn ("obsolete use of designated initializer without %<=%>"); ;}
4059 #line 1391 "c-parse.y"
4060 { set_init_label ((yyvsp[-1].ttype));
4062 pedwarn ("obsolete use of designated initializer with %<:%>"); ;}
4066 #line 1395 "c-parse.y"
4071 #line 1401 "c-parse.y"
4072 { push_init_level (0); ;}
4076 #line 1403 "c-parse.y"
4077 { process_init_element (pop_init_level (0)); ;}
4081 #line 1405 "c-parse.y"
4082 { process_init_element ((yyvsp[0].exprtype)); ;}
4086 #line 1416 "c-parse.y"
4087 { set_init_label ((yyvsp[0].ttype)); ;}
4091 #line 1422 "c-parse.y"
4092 { set_init_index ((yyvsp[-3].exprtype).value, (yyvsp[-1].exprtype).value);
4094 pedwarn ("ISO C forbids specifying range of elements to initialize"); ;}
4098 #line 1426 "c-parse.y"
4099 { set_init_index ((yyvsp[-1].exprtype).value, NULL_TREE); ;}
4103 #line 1431 "c-parse.y"
4105 pedwarn ("ISO C forbids nested functions");
4107 push_function_context ();
4108 if (!start_function (current_declspecs, (yyvsp[0].dtrtype),
4109 all_prefix_attributes))
4111 pop_function_context ();
4118 #line 1443 "c-parse.y"
4119 { tree decl = current_function_decl;
4120 DECL_SOURCE_LOCATION (decl) = (yyvsp[0].location);
4121 store_parm_decls (); ;}
4125 #line 1452 "c-parse.y"
4126 { tree decl = current_function_decl;
4127 add_stmt ((yyvsp[0].ttype));
4129 pop_function_context ();
4130 add_stmt (build_stmt (DECL_EXPR, decl)); ;}
4134 #line 1461 "c-parse.y"
4136 pedwarn ("ISO C forbids nested functions");
4138 push_function_context ();
4139 if (!start_function (current_declspecs, (yyvsp[0].dtrtype),
4140 all_prefix_attributes))
4142 pop_function_context ();
4149 #line 1473 "c-parse.y"
4150 { tree decl = current_function_decl;
4151 DECL_SOURCE_LOCATION (decl) = (yyvsp[0].location);
4152 store_parm_decls (); ;}
4156 #line 1482 "c-parse.y"
4157 { tree decl = current_function_decl;
4158 add_stmt ((yyvsp[0].ttype));
4160 pop_function_context ();
4161 add_stmt (build_stmt (DECL_EXPR, decl)); ;}
4165 #line 1501 "c-parse.y"
4166 { (yyval.dtrtype) = (yyvsp[-2].ttype) ? build_attrs_declarator ((yyvsp[-2].ttype), (yyvsp[-1].dtrtype)) : (yyvsp[-1].dtrtype); ;}
4170 #line 1503 "c-parse.y"
4171 { (yyval.dtrtype) = build_function_declarator ((yyvsp[0].arginfotype), (yyvsp[-2].dtrtype)); ;}
4175 #line 1505 "c-parse.y"
4176 { (yyval.dtrtype) = set_array_declarator_inner ((yyvsp[0].dtrtype), (yyvsp[-1].dtrtype), false); ;}
4180 #line 1507 "c-parse.y"
4181 { (yyval.dtrtype) = make_pointer_declarator ((yyvsp[-1].dsptype), (yyvsp[0].dtrtype)); ;}
4185 #line 1509 "c-parse.y"
4186 { (yyval.dtrtype) = build_id_declarator ((yyvsp[0].ttype)); ;}
4190 #line 1523 "c-parse.y"
4191 { (yyval.dtrtype) = build_function_declarator ((yyvsp[0].arginfotype), (yyvsp[-2].dtrtype)); ;}
4195 #line 1525 "c-parse.y"
4196 { (yyval.dtrtype) = set_array_declarator_inner ((yyvsp[0].dtrtype), (yyvsp[-1].dtrtype), false); ;}
4200 #line 1527 "c-parse.y"
4201 { (yyval.dtrtype) = build_id_declarator ((yyvsp[0].ttype)); ;}
4205 #line 1532 "c-parse.y"
4206 { (yyval.dtrtype) = build_function_declarator ((yyvsp[0].arginfotype), (yyvsp[-2].dtrtype)); ;}
4210 #line 1534 "c-parse.y"
4211 { (yyval.dtrtype) = set_array_declarator_inner ((yyvsp[0].dtrtype), (yyvsp[-1].dtrtype), false); ;}
4215 #line 1536 "c-parse.y"
4216 { (yyval.dtrtype) = make_pointer_declarator ((yyvsp[-1].dsptype), (yyvsp[0].dtrtype)); ;}
4220 #line 1538 "c-parse.y"
4221 { (yyval.dtrtype) = make_pointer_declarator ((yyvsp[-1].dsptype), (yyvsp[0].dtrtype)); ;}
4225 #line 1540 "c-parse.y"
4226 { (yyval.dtrtype) = (yyvsp[-2].ttype) ? build_attrs_declarator ((yyvsp[-2].ttype), (yyvsp[-1].dtrtype)) : (yyvsp[-1].dtrtype); ;}
4230 #line 1548 "c-parse.y"
4231 { (yyval.dtrtype) = build_function_declarator ((yyvsp[0].arginfotype), (yyvsp[-2].dtrtype)); ;}
4235 #line 1550 "c-parse.y"
4236 { (yyval.dtrtype) = (yyvsp[-2].ttype) ? build_attrs_declarator ((yyvsp[-2].ttype), (yyvsp[-1].dtrtype)) : (yyvsp[-1].dtrtype); ;}
4240 #line 1552 "c-parse.y"
4241 { (yyval.dtrtype) = make_pointer_declarator ((yyvsp[-1].dsptype), (yyvsp[0].dtrtype)); ;}
4245 #line 1554 "c-parse.y"
4246 { (yyval.dtrtype) = set_array_declarator_inner ((yyvsp[0].dtrtype), (yyvsp[-1].dtrtype), false); ;}
4250 #line 1556 "c-parse.y"
4251 { (yyval.dtrtype) = build_id_declarator ((yyvsp[0].ttype)); ;}
4255 #line 1561 "c-parse.y"
4256 { (yyval.ttype) = NULL_TREE; ;}
4260 #line 1563 "c-parse.y"
4261 { (yyval.ttype) = (yyvsp[0].ttype); ;}
4265 #line 1568 "c-parse.y"
4266 { (yyval.ttype) = NULL_TREE; ;}
4270 #line 1570 "c-parse.y"
4271 { (yyval.ttype) = (yyvsp[0].ttype); ;}
4275 #line 1575 "c-parse.y"
4276 { (yyval.ttype) = NULL_TREE; ;}
4280 #line 1577 "c-parse.y"
4281 { (yyval.ttype) = (yyvsp[0].ttype); ;}
4285 #line 1588 "c-parse.y"
4286 { (yyval.ttype) = start_struct (RECORD_TYPE, (yyvsp[-1].ttype));
4287 /* Start scope of tag before parsing components. */
4292 #line 1592 "c-parse.y"
4293 { (yyval.tstype).spec = finish_struct ((yyvsp[-3].ttype), nreverse ((yyvsp[-2].ttype)),
4294 chainon ((yyvsp[-6].ttype), (yyvsp[0].ttype)));
4295 (yyval.tstype).kind = ctsk_tagdef; ;}
4299 #line 1596 "c-parse.y"
4300 { (yyval.tstype).spec = finish_struct (start_struct (RECORD_TYPE,
4302 nreverse ((yyvsp[-2].ttype)), chainon ((yyvsp[-4].ttype), (yyvsp[0].ttype)));
4303 (yyval.tstype).kind = ctsk_tagdef;
4308 #line 1602 "c-parse.y"
4309 { (yyval.ttype) = start_struct (UNION_TYPE, (yyvsp[-1].ttype)); ;}
4313 #line 1604 "c-parse.y"
4314 { (yyval.tstype).spec = finish_struct ((yyvsp[-3].ttype), nreverse ((yyvsp[-2].ttype)),
4315 chainon ((yyvsp[-6].ttype), (yyvsp[0].ttype)));
4316 (yyval.tstype).kind = ctsk_tagdef; ;}
4320 #line 1608 "c-parse.y"
4321 { (yyval.tstype).spec = finish_struct (start_struct (UNION_TYPE,
4323 nreverse ((yyvsp[-2].ttype)), chainon ((yyvsp[-4].ttype), (yyvsp[0].ttype)));
4324 (yyval.tstype).kind = ctsk_tagdef;
4329 #line 1614 "c-parse.y"
4330 { (yyval.ttype) = start_enum ((yyvsp[-1].ttype)); ;}
4334 #line 1616 "c-parse.y"
4335 { (yyval.tstype).spec = finish_enum ((yyvsp[-4].ttype), nreverse ((yyvsp[-3].ttype)),
4336 chainon ((yyvsp[-7].ttype), (yyvsp[0].ttype)));
4337 (yyval.tstype).kind = ctsk_tagdef; ;}
4341 #line 1620 "c-parse.y"
4342 { (yyval.ttype) = start_enum (NULL_TREE); ;}
4346 #line 1622 "c-parse.y"
4347 { (yyval.tstype).spec = finish_enum ((yyvsp[-4].ttype), nreverse ((yyvsp[-3].ttype)),
4348 chainon ((yyvsp[-6].ttype), (yyvsp[0].ttype)));
4349 (yyval.tstype).kind = ctsk_tagdef; ;}
4353 #line 1629 "c-parse.y"
4354 { (yyval.tstype) = parser_xref_tag (RECORD_TYPE, (yyvsp[0].ttype)); ;}
4358 #line 1631 "c-parse.y"
4359 { (yyval.tstype) = parser_xref_tag (UNION_TYPE, (yyvsp[0].ttype)); ;}
4363 #line 1633 "c-parse.y"
4364 { (yyval.tstype) = parser_xref_tag (ENUMERAL_TYPE, (yyvsp[0].ttype));
4365 /* In ISO C, enumerated types can be referred to
4366 only if already defined. */
4367 if (pedantic && !COMPLETE_TYPE_P ((yyval.tstype).spec))
4368 pedwarn ("ISO C forbids forward references to %<enum%> types"); ;}
4372 #line 1648 "c-parse.y"
4373 { if (pedantic && !flag_isoc99)
4374 pedwarn ("comma at end of enumerator list"); ;}
4378 #line 1666 "c-parse.y"
4379 { (yyval.ttype) = (yyvsp[0].ttype); ;}
4383 #line 1668 "c-parse.y"
4384 { (yyval.ttype) = chainon ((yyvsp[0].ttype), (yyvsp[-1].ttype));
4385 pedwarn ("no semicolon at end of struct or union"); ;}
4389 #line 1673 "c-parse.y"
4390 { (yyval.ttype) = NULL_TREE; ;}
4394 #line 1675 "c-parse.y"
4395 { (yyval.ttype) = chainon ((yyvsp[-1].ttype), (yyvsp[-2].ttype)); ;}
4399 #line 1677 "c-parse.y"
4401 pedwarn ("extra semicolon in struct or union specified"); ;}
4405 #line 1683 "c-parse.y"
4406 { (yyval.ttype) = (yyvsp[0].ttype);
4407 POP_DECLSPEC_STACK; ;}
4411 #line 1686 "c-parse.y"
4413 /* Support for unnamed structs or unions as members of
4414 structs or unions (which is [a] useful and [b] supports
4416 (yyval.ttype) = grokfield (build_id_declarator (NULL_TREE),
4417 current_declspecs, NULL_TREE);
4418 POP_DECLSPEC_STACK; ;}
4422 #line 1694 "c-parse.y"
4423 { (yyval.ttype) = (yyvsp[0].ttype);
4424 POP_DECLSPEC_STACK; ;}
4428 #line 1697 "c-parse.y"
4430 pedwarn ("ISO C forbids member declarations with no members");
4431 shadow_tag_warned (finish_declspecs ((yyvsp[0].dsptype)), pedantic);
4432 (yyval.ttype) = NULL_TREE; ;}
4436 #line 1702 "c-parse.y"
4437 { (yyval.ttype) = NULL_TREE; ;}
4441 #line 1704 "c-parse.y"
4442 { (yyval.ttype) = (yyvsp[0].ttype);
4443 RESTORE_EXT_FLAGS ((yyvsp[-1].itype)); ;}
4447 #line 1711 "c-parse.y"
4448 { TREE_CHAIN ((yyvsp[0].ttype)) = (yyvsp[-3].ttype); (yyval.ttype) = (yyvsp[0].ttype); ;}
4452 #line 1717 "c-parse.y"
4453 { TREE_CHAIN ((yyvsp[0].ttype)) = (yyvsp[-3].ttype); (yyval.ttype) = (yyvsp[0].ttype); ;}
4457 #line 1722 "c-parse.y"
4458 { (yyval.ttype) = grokfield ((yyvsp[-1].dtrtype), current_declspecs, NULL_TREE);
4459 decl_attributes (&(yyval.ttype),
4460 chainon ((yyvsp[0].ttype), all_prefix_attributes), 0); ;}
4464 #line 1726 "c-parse.y"
4465 { (yyval.ttype) = grokfield ((yyvsp[-3].dtrtype), current_declspecs, (yyvsp[-1].exprtype).value);
4466 decl_attributes (&(yyval.ttype),
4467 chainon ((yyvsp[0].ttype), all_prefix_attributes), 0); ;}
4471 #line 1730 "c-parse.y"
4472 { (yyval.ttype) = grokfield (build_id_declarator (NULL_TREE),
4473 current_declspecs, (yyvsp[-1].exprtype).value);
4474 decl_attributes (&(yyval.ttype),
4475 chainon ((yyvsp[0].ttype), all_prefix_attributes), 0); ;}
4479 #line 1738 "c-parse.y"
4480 { (yyval.ttype) = grokfield ((yyvsp[-1].dtrtype), current_declspecs, NULL_TREE);
4481 decl_attributes (&(yyval.ttype),
4482 chainon ((yyvsp[0].ttype), all_prefix_attributes), 0); ;}
4486 #line 1742 "c-parse.y"
4487 { (yyval.ttype) = grokfield ((yyvsp[-3].dtrtype), current_declspecs, (yyvsp[-1].exprtype).value);
4488 decl_attributes (&(yyval.ttype),
4489 chainon ((yyvsp[0].ttype), all_prefix_attributes), 0); ;}
4493 #line 1746 "c-parse.y"
4494 { (yyval.ttype) = grokfield (build_id_declarator (NULL_TREE),
4495 current_declspecs, (yyvsp[-1].exprtype).value);
4496 decl_attributes (&(yyval.ttype),
4497 chainon ((yyvsp[0].ttype), all_prefix_attributes), 0); ;}
4501 #line 1758 "c-parse.y"
4502 { if ((yyvsp[-2].ttype) == error_mark_node)
4503 (yyval.ttype) = (yyvsp[-2].ttype);
4505 TREE_CHAIN ((yyvsp[0].ttype)) = (yyvsp[-2].ttype), (yyval.ttype) = (yyvsp[0].ttype); ;}
4509 #line 1763 "c-parse.y"
4510 { (yyval.ttype) = error_mark_node; ;}
4514 #line 1769 "c-parse.y"
4515 { (yyval.ttype) = build_enumerator ((yyvsp[0].ttype), NULL_TREE); ;}
4519 #line 1771 "c-parse.y"
4520 { (yyval.ttype) = build_enumerator ((yyvsp[-2].ttype), (yyvsp[0].exprtype).value); ;}
4524 #line 1776 "c-parse.y"
4525 { pending_xref_error ();
4526 (yyval.dsptype) = finish_declspecs ((yyvsp[0].dsptype)); ;}
4530 #line 1779 "c-parse.y"
4531 { (yyval.typenametype) = XOBNEW (&parser_obstack, struct c_type_name);
4532 (yyval.typenametype)->specs = (yyvsp[-1].dsptype);
4533 (yyval.typenametype)->declarator = (yyvsp[0].dtrtype); ;}
4537 #line 1786 "c-parse.y"
4538 { (yyval.dtrtype) = build_id_declarator (NULL_TREE); ;}
4542 #line 1792 "c-parse.y"
4543 { (yyval.parmtype) = build_c_parm (current_declspecs, all_prefix_attributes,
4544 build_id_declarator (NULL_TREE)); ;}
4548 #line 1795 "c-parse.y"
4549 { (yyval.parmtype) = build_c_parm (current_declspecs, all_prefix_attributes,
4550 (yyvsp[0].dtrtype)); ;}
4554 #line 1798 "c-parse.y"
4555 { (yyval.parmtype) = build_c_parm (current_declspecs,
4556 chainon ((yyvsp[0].ttype), all_prefix_attributes),
4557 (yyvsp[-1].dtrtype)); ;}
4561 #line 1811 "c-parse.y"
4562 { (yyval.dtrtype) = make_pointer_declarator ((yyvsp[-1].dsptype), (yyvsp[0].dtrtype)); ;}
4566 #line 1816 "c-parse.y"
4567 { (yyval.dtrtype) = make_pointer_declarator
4568 ((yyvsp[0].dsptype), build_id_declarator (NULL_TREE)); ;}
4572 #line 1819 "c-parse.y"
4573 { (yyval.dtrtype) = make_pointer_declarator ((yyvsp[-1].dsptype), (yyvsp[0].dtrtype)); ;}
4577 #line 1824 "c-parse.y"
4578 { (yyval.dtrtype) = (yyvsp[-2].ttype) ? build_attrs_declarator ((yyvsp[-2].ttype), (yyvsp[-1].dtrtype)) : (yyvsp[-1].dtrtype); ;}
4582 #line 1826 "c-parse.y"
4583 { (yyval.dtrtype) = build_function_declarator ((yyvsp[0].arginfotype), (yyvsp[-2].dtrtype)); ;}
4587 #line 1828 "c-parse.y"
4588 { (yyval.dtrtype) = set_array_declarator_inner ((yyvsp[0].dtrtype), (yyvsp[-1].dtrtype), true); ;}
4592 #line 1830 "c-parse.y"
4593 { (yyval.dtrtype) = build_function_declarator
4594 ((yyvsp[0].arginfotype), build_id_declarator (NULL_TREE)); ;}
4598 #line 1833 "c-parse.y"
4599 { (yyval.dtrtype) = set_array_declarator_inner
4600 ((yyvsp[0].dtrtype), build_id_declarator (NULL_TREE), true); ;}
4604 #line 1841 "c-parse.y"
4605 { (yyval.dtrtype) = build_array_declarator ((yyvsp[-1].exprtype).value, (yyvsp[-2].dsptype), false, false); ;}
4609 #line 1843 "c-parse.y"
4610 { (yyval.dtrtype) = build_array_declarator (NULL_TREE, (yyvsp[-1].dsptype), false, false); ;}
4614 #line 1845 "c-parse.y"
4615 { (yyval.dtrtype) = build_array_declarator (NULL_TREE, (yyvsp[-2].dsptype), false, true); ;}
4619 #line 1847 "c-parse.y"
4620 { (yyval.dtrtype) = build_array_declarator ((yyvsp[-1].exprtype).value, (yyvsp[-2].dsptype), true, false); ;}
4624 #line 1850 "c-parse.y"
4625 { (yyval.dtrtype) = build_array_declarator ((yyvsp[-1].exprtype).value, (yyvsp[-3].dsptype), true, false); ;}
4629 #line 1863 "c-parse.y"
4631 error ("label at end of compound statement");
4636 #line 1880 "c-parse.y"
4638 if ((pedantic && !flag_isoc99)
4639 || warn_declaration_after_statement)
4640 pedwarn_c90 ("ISO C90 forbids mixed declarations and code");
4645 #line 1914 "c-parse.y"
4646 { (yyval.ttype) = c_begin_compound_stmt (flag_isoc99); ;}
4650 #line 1922 "c-parse.y"
4652 pedwarn ("ISO C forbids label declarations"); ;}
4656 #line 1933 "c-parse.y"
4658 for (link = (yyvsp[-1].ttype); link; link = TREE_CHAIN (link))
4660 tree label = declare_label (TREE_VALUE (link));
4661 C_DECLARED_LABEL_FLAG (label) = 1;
4662 add_stmt (build_stmt (DECL_EXPR, label));
4668 #line 1947 "c-parse.y"
4669 { add_stmt ((yyvsp[0].ttype)); ;}
4673 #line 1951 "c-parse.y"
4674 { (yyval.ttype) = c_begin_compound_stmt (true); ;}
4678 #line 1965 "c-parse.y"
4679 { if (cur_stmt_list == NULL)
4681 error ("braced-group within expression allowed "
4682 "only inside a function");
4685 (yyval.ttype) = c_begin_stmt_expr ();
4690 #line 1976 "c-parse.y"
4691 { (yyval.ttype) = c_end_compound_stmt ((yyvsp[-1].ttype), true); ;}
4695 #line 1984 "c-parse.y"
4696 { if (yychar == YYEMPTY)
4698 (yyval.location) = input_location; ;}
4702 #line 1997 "c-parse.y"
4703 { (yyval.ttype) = c_end_compound_stmt ((yyvsp[-2].ttype), flag_isoc99); ;}
4707 #line 2002 "c-parse.y"
4709 /* Two cases cannot and do not have line numbers associated:
4710 If stmt is degenerate, such as "2;", then stmt is an
4711 INTEGER_CST, which cannot hold line numbers. But that's
4712 ok because the statement will either be changed to a
4713 MODIFY_EXPR during gimplification of the statement expr,
4714 or discarded. If stmt was compound, but without new
4715 variables, we will have skipped the creation of a BIND
4716 and will have a bare STATEMENT_LIST. But that's ok
4717 because (recursively) all of the component statments
4718 should already have line numbers assigned. */
4719 if ((yyvsp[0].ttype) && EXPR_P ((yyvsp[0].ttype)))
4720 SET_EXPR_LOCATION ((yyvsp[0].ttype), (yyvsp[-1].location));
4725 #line 2020 "c-parse.y"
4726 { if ((yyvsp[0].ttype)) SET_EXPR_LOCATION ((yyvsp[0].ttype), (yyvsp[-1].location)); ;}
4730 #line 2024 "c-parse.y"
4731 { (yyval.ttype) = lang_hooks.truthvalue_conversion ((yyvsp[0].exprtype).value);
4732 if (EXPR_P ((yyval.ttype)))
4733 SET_EXPR_LOCATION ((yyval.ttype), (yyvsp[-1].location)); ;}
4737 #line 2037 "c-parse.y"
4738 { (yyval.ttype) = c_end_compound_stmt ((yyvsp[-2].ttype), flag_isoc99); ;}
4742 #line 2042 "c-parse.y"
4743 { if (extra_warnings)
4744 add_stmt (build (NOP_EXPR, NULL_TREE, NULL_TREE));
4745 (yyval.ttype) = c_end_compound_stmt ((yyvsp[-2].ttype), flag_isoc99); ;}
4749 #line 2051 "c-parse.y"
4750 { c_finish_if_stmt ((yyvsp[-6].location), (yyvsp[-4].ttype), (yyvsp[-2].ttype), (yyvsp[0].ttype), true);
4751 add_stmt (c_end_compound_stmt ((yyvsp[-7].ttype), flag_isoc99)); ;}
4755 #line 2055 "c-parse.y"
4756 { c_finish_if_stmt ((yyvsp[-6].location), (yyvsp[-4].ttype), (yyvsp[-2].ttype), (yyvsp[0].ttype), false);
4757 add_stmt (c_end_compound_stmt ((yyvsp[-7].ttype), flag_isoc99)); ;}
4761 #line 2059 "c-parse.y"
4762 { c_finish_if_stmt ((yyvsp[-4].location), (yyvsp[-2].ttype), (yyvsp[0].ttype), NULL, true);
4763 add_stmt (c_end_compound_stmt ((yyvsp[-5].ttype), flag_isoc99)); ;}
4767 #line 2063 "c-parse.y"
4768 { c_finish_if_stmt ((yyvsp[-4].location), (yyvsp[-2].ttype), (yyvsp[0].ttype), NULL, false);
4769 add_stmt (c_end_compound_stmt ((yyvsp[-5].ttype), flag_isoc99)); ;}
4773 #line 2068 "c-parse.y"
4774 { (yyval.ttype) = c_break_label; c_break_label = NULL; ;}
4778 #line 2072 "c-parse.y"
4779 { (yyval.ttype) = c_cont_label; c_cont_label = NULL; ;}
4783 #line 2078 "c-parse.y"
4784 { c_finish_loop ((yyvsp[-6].location), (yyvsp[-4].ttype), NULL, (yyvsp[0].ttype), c_break_label,
4785 c_cont_label, true);
4786 add_stmt (c_end_compound_stmt ((yyvsp[-7].ttype), flag_isoc99));
4787 c_break_label = (yyvsp[-2].ttype); c_cont_label = (yyvsp[-1].ttype); ;}
4791 #line 2087 "c-parse.y"
4792 { (yyval.ttype) = c_break_label; c_break_label = (yyvsp[-3].ttype); ;}
4796 #line 2088 "c-parse.y"
4797 { (yyval.ttype) = c_cont_label; c_cont_label = (yyvsp[-3].ttype); ;}
4801 #line 2090 "c-parse.y"
4802 { c_finish_loop ((yyvsp[-10].location), (yyvsp[-2].ttype), NULL, (yyvsp[-7].ttype), (yyvsp[-5].ttype),
4803 (yyvsp[-4].ttype), false);
4804 add_stmt (c_end_compound_stmt ((yyvsp[-11].ttype), flag_isoc99)); ;}
4808 #line 2097 "c-parse.y"
4809 { (yyval.ttype) = NULL_TREE; ;}
4813 #line 2099 "c-parse.y"
4814 { (yyval.ttype) = (yyvsp[0].exprtype).value; ;}
4818 #line 2104 "c-parse.y"
4819 { c_finish_expr_stmt ((yyvsp[-1].ttype)); ;}
4823 #line 2106 "c-parse.y"
4824 { check_for_loop_decls (); ;}
4828 #line 2110 "c-parse.y"
4829 { if ((yyvsp[0].ttype))
4831 (yyval.ttype) = lang_hooks.truthvalue_conversion ((yyvsp[0].ttype));
4832 if (EXPR_P ((yyval.ttype)))
4833 SET_EXPR_LOCATION ((yyval.ttype), (yyvsp[-1].location));
4836 (yyval.ttype) = NULL;
4841 #line 2122 "c-parse.y"
4842 { (yyval.ttype) = c_process_expr_stmt ((yyvsp[0].ttype)); ;}
4846 #line 2129 "c-parse.y"
4847 { c_finish_loop ((yyvsp[-7].location), (yyvsp[-6].ttype), (yyvsp[-4].ttype), (yyvsp[0].ttype), c_break_label,
4848 c_cont_label, true);
4849 add_stmt (c_end_compound_stmt ((yyvsp[-10].ttype), flag_isoc99));
4850 c_break_label = (yyvsp[-2].ttype); c_cont_label = (yyvsp[-1].ttype); ;}
4854 #line 2137 "c-parse.y"
4855 { (yyval.ttype) = c_start_case ((yyvsp[-1].exprtype).value); ;}
4859 #line 2139 "c-parse.y"
4860 { c_finish_case ((yyvsp[0].ttype));
4862 add_stmt (build (LABEL_EXPR, void_type_node,
4864 c_break_label = (yyvsp[-1].ttype);
4865 add_stmt (c_end_compound_stmt ((yyvsp[-6].ttype), flag_isoc99)); ;}
4869 #line 2150 "c-parse.y"
4870 { (yyval.ttype) = c_finish_expr_stmt ((yyvsp[-1].exprtype).value); ;}
4874 #line 2152 "c-parse.y"
4875 { (yyval.ttype) = NULL_TREE; ;}
4879 #line 2154 "c-parse.y"
4880 { (yyval.ttype) = NULL_TREE; ;}
4884 #line 2156 "c-parse.y"
4885 { (yyval.ttype) = NULL_TREE; ;}
4889 #line 2158 "c-parse.y"
4890 { (yyval.ttype) = NULL_TREE; ;}
4894 #line 2160 "c-parse.y"
4895 { (yyval.ttype) = NULL_TREE; ;}
4899 #line 2162 "c-parse.y"
4900 { (yyval.ttype) = c_finish_bc_stmt (&c_break_label, true); ;}
4904 #line 2164 "c-parse.y"
4905 { (yyval.ttype) = c_finish_bc_stmt (&c_cont_label, false); ;}
4909 #line 2166 "c-parse.y"
4910 { (yyval.ttype) = c_finish_return (NULL_TREE); ;}
4914 #line 2168 "c-parse.y"
4915 { (yyval.ttype) = c_finish_return ((yyvsp[-1].exprtype).value); ;}
4919 #line 2171 "c-parse.y"
4920 { (yyval.ttype) = c_finish_goto_label ((yyvsp[-1].ttype)); ;}
4924 #line 2173 "c-parse.y"
4925 { (yyval.ttype) = c_finish_goto_ptr ((yyvsp[-1].exprtype).value); ;}
4929 #line 2175 "c-parse.y"
4930 { (yyval.ttype) = NULL_TREE; ;}
4934 #line 2181 "c-parse.y"
4935 { add_stmt ((yyvsp[0].ttype)); (yyval.ttype) = NULL_TREE; ;}
4939 #line 2190 "c-parse.y"
4940 { (yyval.ttype) = do_case ((yyvsp[-1].exprtype).value, NULL_TREE); ;}
4944 #line 2192 "c-parse.y"
4945 { (yyval.ttype) = do_case ((yyvsp[-3].exprtype).value, (yyvsp[-1].exprtype).value); ;}
4949 #line 2194 "c-parse.y"
4950 { (yyval.ttype) = do_case (NULL_TREE, NULL_TREE); ;}
4954 #line 2196 "c-parse.y"
4955 { tree label = define_label ((yyvsp[-2].location), (yyvsp[-3].ttype));
4958 decl_attributes (&label, (yyvsp[0].ttype), 0);
4959 (yyval.ttype) = add_stmt (build_stmt (LABEL_EXPR, label));
4962 (yyval.ttype) = NULL_TREE;
4967 #line 2214 "c-parse.y"
4968 { (yyval.ttype) = (yyvsp[-2].ttype); ;}
4972 #line 2220 "c-parse.y"
4973 { (yyval.ttype) = NULL_TREE; ;}
4977 #line 2227 "c-parse.y"
4978 { assemble_asm ((yyvsp[-1].ttype)); ;}
4982 #line 2229 "c-parse.y"
4987 #line 2237 "c-parse.y"
4988 { (yyval.ttype) = build_asm_stmt ((yyvsp[-6].ttype), (yyvsp[-3].ttype)); ;}
4992 #line 2243 "c-parse.y"
4993 { (yyval.ttype) = build_asm_expr ((yyvsp[0].ttype), 0, 0, 0, true); ;}
4997 #line 2246 "c-parse.y"
4998 { (yyval.ttype) = build_asm_expr ((yyvsp[-2].ttype), (yyvsp[0].ttype), 0, 0, false); ;}
5002 #line 2249 "c-parse.y"
5003 { (yyval.ttype) = build_asm_expr ((yyvsp[-4].ttype), (yyvsp[-2].ttype), (yyvsp[0].ttype), 0, false); ;}
5007 #line 2252 "c-parse.y"
5008 { (yyval.ttype) = build_asm_expr ((yyvsp[-6].ttype), (yyvsp[-4].ttype), (yyvsp[-2].ttype), (yyvsp[0].ttype), false); ;}
5012 #line 2259 "c-parse.y"
5013 { (yyval.ttype) = 0; ;}
5017 #line 2261 "c-parse.y"
5018 { if ((yyvsp[0].ttype) != ridpointers[RID_VOLATILE])
5020 warning ("%E qualifier ignored on asm", (yyvsp[0].ttype));
5024 (yyval.ttype) = (yyvsp[0].ttype);
5029 #line 2274 "c-parse.y"
5030 { (yyval.ttype) = NULL_TREE; ;}
5034 #line 2281 "c-parse.y"
5035 { (yyval.ttype) = chainon ((yyvsp[-2].ttype), (yyvsp[0].ttype)); ;}
5039 #line 2287 "c-parse.y"
5040 { (yyval.ttype) = build_tree_list (build_tree_list (NULL_TREE, (yyvsp[-5].ttype)),
5041 (yyvsp[-2].exprtype).value); ;}
5045 #line 2291 "c-parse.y"
5046 { (yyvsp[-7].ttype) = build_string (IDENTIFIER_LENGTH ((yyvsp[-7].ttype)),
5047 IDENTIFIER_POINTER ((yyvsp[-7].ttype)));
5048 (yyval.ttype) = build_tree_list (build_tree_list ((yyvsp[-7].ttype), (yyvsp[-5].ttype)), (yyvsp[-2].exprtype).value); ;}
5052 #line 2298 "c-parse.y"
5053 { (yyval.ttype) = tree_cons (NULL_TREE, (yyvsp[0].ttype), NULL_TREE); ;}
5057 #line 2300 "c-parse.y"
5058 { (yyval.ttype) = tree_cons (NULL_TREE, (yyvsp[0].ttype), (yyvsp[-2].ttype)); ;}
5062 #line 2306 "c-parse.y"
5063 { if (TYPE_MAIN_VARIANT (TREE_TYPE (TREE_TYPE ((yyvsp[0].ttype))))
5066 error ("wide string literal in %<asm%>");
5067 (yyval.ttype) = build_string (1, "");
5070 (yyval.ttype) = (yyvsp[0].ttype); ;}
5074 #line 2317 "c-parse.y"
5075 { c_lex_string_translate = 0; ;}
5079 #line 2321 "c-parse.y"
5080 { c_lex_string_translate = 1; ;}
5084 #line 2332 "c-parse.y"
5086 declare_parm_level (); ;}
5090 #line 2335 "c-parse.y"
5091 { (yyval.arginfotype) = (yyvsp[0].arginfotype);
5096 #line 2342 "c-parse.y"
5097 { mark_forward_parm_decls (); ;}
5101 #line 2344 "c-parse.y"
5102 { /* Dummy action so attributes are in known place
5103 on parser stack. */ ;}
5107 #line 2347 "c-parse.y"
5108 { (yyval.arginfotype) = (yyvsp[0].arginfotype); ;}
5112 #line 2349 "c-parse.y"
5113 { (yyval.arginfotype) = XOBNEW (&parser_obstack, struct c_arg_info);
5114 (yyval.arginfotype)->parms = 0;
5115 (yyval.arginfotype)->tags = 0;
5116 (yyval.arginfotype)->types = 0;
5117 (yyval.arginfotype)->others = 0; ;}
5121 #line 2359 "c-parse.y"
5122 { (yyval.arginfotype) = XOBNEW (&parser_obstack, struct c_arg_info);
5123 (yyval.arginfotype)->parms = 0;
5124 (yyval.arginfotype)->tags = 0;
5125 (yyval.arginfotype)->types = 0;
5126 (yyval.arginfotype)->others = 0; ;}
5130 #line 2365 "c-parse.y"
5131 { (yyval.arginfotype) = XOBNEW (&parser_obstack, struct c_arg_info);
5132 (yyval.arginfotype)->parms = 0;
5133 (yyval.arginfotype)->tags = 0;
5134 (yyval.arginfotype)->others = 0;
5135 /* Suppress -Wold-style-definition for this case. */
5136 (yyval.arginfotype)->types = error_mark_node;
5137 error ("ISO C requires a named argument before %<...%>");
5142 #line 2374 "c-parse.y"
5143 { (yyval.arginfotype) = get_parm_info (/*ellipsis=*/false); ;}
5147 #line 2376 "c-parse.y"
5148 { (yyval.arginfotype) = get_parm_info (/*ellipsis=*/true); ;}
5152 #line 2381 "c-parse.y"
5153 { push_parm_decl ((yyvsp[0].parmtype)); ;}
5157 #line 2383 "c-parse.y"
5158 { push_parm_decl ((yyvsp[0].parmtype)); ;}
5162 #line 2390 "c-parse.y"
5163 { (yyval.parmtype) = build_c_parm (current_declspecs,
5164 chainon ((yyvsp[0].ttype), all_prefix_attributes), (yyvsp[-1].dtrtype));
5165 POP_DECLSPEC_STACK; ;}
5169 #line 2394 "c-parse.y"
5170 { (yyval.parmtype) = build_c_parm (current_declspecs,
5171 chainon ((yyvsp[0].ttype), all_prefix_attributes), (yyvsp[-1].dtrtype));
5172 POP_DECLSPEC_STACK; ;}
5176 #line 2398 "c-parse.y"
5177 { (yyval.parmtype) = (yyvsp[0].parmtype);
5178 POP_DECLSPEC_STACK; ;}
5182 #line 2401 "c-parse.y"
5183 { (yyval.parmtype) = build_c_parm (current_declspecs,
5184 chainon ((yyvsp[0].ttype), all_prefix_attributes), (yyvsp[-1].dtrtype));
5185 POP_DECLSPEC_STACK; ;}
5189 #line 2406 "c-parse.y"
5190 { (yyval.parmtype) = (yyvsp[0].parmtype);
5191 POP_DECLSPEC_STACK; ;}
5195 #line 2414 "c-parse.y"
5196 { (yyval.parmtype) = build_c_parm (current_declspecs,
5197 chainon ((yyvsp[0].ttype), all_prefix_attributes), (yyvsp[-1].dtrtype));
5198 POP_DECLSPEC_STACK; ;}
5202 #line 2418 "c-parse.y"
5203 { (yyval.parmtype) = build_c_parm (current_declspecs,
5204 chainon ((yyvsp[0].ttype), all_prefix_attributes), (yyvsp[-1].dtrtype));
5205 POP_DECLSPEC_STACK; ;}
5209 #line 2422 "c-parse.y"
5210 { (yyval.parmtype) = (yyvsp[0].parmtype);
5211 POP_DECLSPEC_STACK; ;}
5215 #line 2425 "c-parse.y"
5216 { (yyval.parmtype) = build_c_parm (current_declspecs,
5217 chainon ((yyvsp[0].ttype), all_prefix_attributes), (yyvsp[-1].dtrtype));
5218 POP_DECLSPEC_STACK; ;}
5222 #line 2430 "c-parse.y"
5223 { (yyval.parmtype) = (yyvsp[0].parmtype);
5224 POP_DECLSPEC_STACK; ;}
5228 #line 2436 "c-parse.y"
5229 { prefix_attributes = chainon (prefix_attributes, (yyvsp[-3].ttype));
5230 all_prefix_attributes = prefix_attributes; ;}
5234 #line 2445 "c-parse.y"
5236 declare_parm_level (); ;}
5240 #line 2448 "c-parse.y"
5241 { (yyval.arginfotype) = (yyvsp[0].arginfotype);
5246 #line 2455 "c-parse.y"
5247 { (yyval.arginfotype) = XOBNEW (&parser_obstack, struct c_arg_info);
5248 (yyval.arginfotype)->parms = 0;
5249 (yyval.arginfotype)->tags = 0;
5250 (yyval.arginfotype)->types = (yyvsp[-1].ttype);
5251 (yyval.arginfotype)->others = 0;
5253 /* Make sure we have a parmlist after attributes. */
5254 if ((yyvsp[-3].ttype) != 0)
5260 #line 2470 "c-parse.y"
5261 { (yyval.ttype) = build_tree_list (NULL_TREE, (yyvsp[0].ttype)); ;}
5265 #line 2472 "c-parse.y"
5266 { (yyval.ttype) = chainon ((yyvsp[-2].ttype), build_tree_list (NULL_TREE, (yyvsp[0].ttype))); ;}
5270 #line 2478 "c-parse.y"
5271 { (yyval.ttype) = build_tree_list (NULL_TREE, (yyvsp[0].ttype)); ;}
5275 #line 2480 "c-parse.y"
5276 { (yyval.ttype) = chainon ((yyvsp[-2].ttype), build_tree_list (NULL_TREE, (yyvsp[0].ttype))); ;}
5280 #line 2485 "c-parse.y"
5281 { (yyval.itype) = SAVE_EXT_FLAGS ();
5283 warn_pointer_arith = 0;
5284 warn_traditional = 0;
5291 /* Line 1037 of yacc.c. */
5292 #line 5293 "c-parse.c"
5298 YY_STACK_PRINT (yyss, yyssp);
5303 /* Now `shift' the result of the reduction. Determine what state
5304 that goes to, based on the state we popped back to and the rule
5305 number reduced by. */
5309 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
5310 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
5311 yystate = yytable[yystate];
5313 yystate = yydefgoto[yyn - YYNTOKENS];
5318 /*------------------------------------.
5319 | yyerrlab -- here on detecting error |
5320 `------------------------------------*/
5322 /* If not already recovering from an error, report this error. */
5327 yyn = yypact[yystate];
5329 if (YYPACT_NINF < yyn && yyn < YYLAST)
5331 YYSIZE_T yysize = 0;
5332 int yytype = YYTRANSLATE (yychar);
5333 const char* yyprefix;
5337 /* Start YYX at -YYN if negative to avoid negative indexes in
5339 int yyxbegin = yyn < 0 ? -yyn : 0;
5341 /* Stay within bounds of both yycheck and yytname. */
5342 int yychecklim = YYLAST - yyn;
5343 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
5346 yyprefix = ", expecting ";
5347 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
5348 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
5350 yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
5358 yysize += (sizeof ("syntax error, unexpected ")
5359 + yystrlen (yytname[yytype]));
5360 yymsg = (char *) YYSTACK_ALLOC (yysize);
5363 char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
5364 yyp = yystpcpy (yyp, yytname[yytype]);
5368 yyprefix = ", expecting ";
5369 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
5370 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
5372 yyp = yystpcpy (yyp, yyprefix);
5373 yyp = yystpcpy (yyp, yytname[yyx]);
5378 YYSTACK_FREE (yymsg);
5381 yyerror ("syntax error; also virtual memory exhausted");
5384 #endif /* YYERROR_VERBOSE */
5385 yyerror ("syntax error");
5390 if (yyerrstatus == 3)
5392 /* If just tried and failed to reuse look-ahead token after an
5393 error, discard it. */
5395 if (yychar <= YYEOF)
5397 /* If at end of input, pop the error token,
5398 then the rest of the stack, then return failure. */
5399 if (yychar == YYEOF)
5406 yydestruct ("Error: popping",
5407 yystos[*yyssp], yyvsp);
5412 yydestruct ("Error: discarding", yytoken, &yylval);
5417 /* Else will try to reuse look-ahead token after shifting the error
5422 /*---------------------------------------------------.
5423 | yyerrorlab -- error raised explicitly by YYERROR. |
5424 `---------------------------------------------------*/
5428 /* Pacify GCC when the user code never invokes YYERROR and the label
5429 yyerrorlab therefore never appears in user code. */
5440 /*-------------------------------------------------------------.
5441 | yyerrlab1 -- common code for both syntax error and YYERROR. |
5442 `-------------------------------------------------------------*/
5444 yyerrstatus = 3; /* Each real token shifted decrements this. */
5448 yyn = yypact[yystate];
5449 if (yyn != YYPACT_NINF)
5452 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
5460 /* Pop the current state because it cannot handle the error token. */
5465 yydestruct ("Error: popping", yystos[yystate], yyvsp);
5468 YY_STACK_PRINT (yyss, yyssp);
5477 /* Shift the error token. */
5478 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
5484 /*-------------------------------------.
5485 | yyacceptlab -- YYACCEPT comes here. |
5486 `-------------------------------------*/
5491 /*-----------------------------------.
5492 | yyabortlab -- YYABORT comes here. |
5493 `-----------------------------------*/
5495 yydestruct ("Error: discarding lookahead",
5502 /*----------------------------------------------.
5503 | yyoverflowlab -- parser overflow comes here. |
5504 `----------------------------------------------*/
5506 yyerror ("parser stack overflow");
5514 YYSTACK_FREE (yyss);
5520 #line 2492 "c-parse.y"
5523 /* yylex() is a thin wrapper around c_lex(), all it does is translate
5524 cpplib.h's token codes into yacc's token codes. */
5526 static enum cpp_ttype last_token;
5528 /* The reserved keyword table. */
5532 ENUM_BITFIELD(rid) rid : 16;
5533 unsigned int disable : 16;
5536 /* Disable mask. Keywords are disabled if (reswords[i].disable & mask) is
5538 #define D_C89 0x01 /* not in C89 */
5539 #define D_EXT 0x02 /* GCC extension */
5540 #define D_EXT89 0x04 /* GCC extension incorporated in C99 */
5541 #define D_OBJC 0x08 /* Objective C only */
5543 static const struct resword reswords[] =
5545 { "_Bool", RID_BOOL, 0 },
5546 { "_Complex", RID_COMPLEX, 0 },
5547 { "__FUNCTION__", RID_FUNCTION_NAME, 0 },
5548 { "__PRETTY_FUNCTION__", RID_PRETTY_FUNCTION_NAME, 0 },
5549 { "__alignof", RID_ALIGNOF, 0 },
5550 { "__alignof__", RID_ALIGNOF, 0 },
5551 { "__asm", RID_ASM, 0 },
5552 { "__asm__", RID_ASM, 0 },
5553 { "__attribute", RID_ATTRIBUTE, 0 },
5554 { "__attribute__", RID_ATTRIBUTE, 0 },
5555 { "__builtin_choose_expr", RID_CHOOSE_EXPR, 0 },
5556 { "__builtin_offsetof", RID_OFFSETOF, 0 },
5557 { "__builtin_types_compatible_p", RID_TYPES_COMPATIBLE_P, 0 },
5558 { "__builtin_va_arg", RID_VA_ARG, 0 },
5559 { "__complex", RID_COMPLEX, 0 },
5560 { "__complex__", RID_COMPLEX, 0 },
5561 { "__const", RID_CONST, 0 },
5562 { "__const__", RID_CONST, 0 },
5563 { "__extension__", RID_EXTENSION, 0 },
5564 { "__func__", RID_C99_FUNCTION_NAME, 0 },
5565 { "__imag", RID_IMAGPART, 0 },
5566 { "__imag__", RID_IMAGPART, 0 },
5567 { "__inline", RID_INLINE, 0 },
5568 { "__inline__", RID_INLINE, 0 },
5569 { "__label__", RID_LABEL, 0 },
5570 { "__real", RID_REALPART, 0 },
5571 { "__real__", RID_REALPART, 0 },
5572 { "__restrict", RID_RESTRICT, 0 },
5573 { "__restrict__", RID_RESTRICT, 0 },
5574 { "__signed", RID_SIGNED, 0 },
5575 { "__signed__", RID_SIGNED, 0 },
5576 { "__thread", RID_THREAD, 0 },
5577 { "__typeof", RID_TYPEOF, 0 },
5578 { "__typeof__", RID_TYPEOF, 0 },
5579 { "__volatile", RID_VOLATILE, 0 },
5580 { "__volatile__", RID_VOLATILE, 0 },
5581 { "asm", RID_ASM, D_EXT },
5582 { "auto", RID_AUTO, 0 },
5583 { "break", RID_BREAK, 0 },
5584 { "case", RID_CASE, 0 },
5585 { "char", RID_CHAR, 0 },
5586 { "const", RID_CONST, 0 },
5587 { "continue", RID_CONTINUE, 0 },
5588 { "default", RID_DEFAULT, 0 },
5589 { "do", RID_DO, 0 },
5590 { "double", RID_DOUBLE, 0 },
5591 { "else", RID_ELSE, 0 },
5592 { "enum", RID_ENUM, 0 },
5593 { "extern", RID_EXTERN, 0 },
5594 { "float", RID_FLOAT, 0 },
5595 { "for", RID_FOR, 0 },
5596 { "goto", RID_GOTO, 0 },
5597 { "if", RID_IF, 0 },
5598 { "inline", RID_INLINE, D_EXT89 },
5599 { "int", RID_INT, 0 },
5600 { "long", RID_LONG, 0 },
5601 { "register", RID_REGISTER, 0 },
5602 { "restrict", RID_RESTRICT, D_C89 },
5603 { "return", RID_RETURN, 0 },
5604 { "short", RID_SHORT, 0 },
5605 { "signed", RID_SIGNED, 0 },
5606 { "sizeof", RID_SIZEOF, 0 },
5607 { "static", RID_STATIC, 0 },
5608 { "struct", RID_STRUCT, 0 },
5609 { "switch", RID_SWITCH, 0 },
5610 { "typedef", RID_TYPEDEF, 0 },
5611 { "typeof", RID_TYPEOF, D_EXT },
5612 { "union", RID_UNION, 0 },
5613 { "unsigned", RID_UNSIGNED, 0 },
5614 { "void", RID_VOID, 0 },
5615 { "volatile", RID_VOLATILE, 0 },
5616 { "while", RID_WHILE, 0 },
5619 #define N_reswords (sizeof reswords / sizeof (struct resword))
5621 /* Table mapping from RID_* constants to yacc token numbers.
5622 Unfortunately we have to have entries for all the keywords in all
5624 static const short rid_to_yy[RID_MAX] =
5626 /* RID_STATIC */ STATIC,
5627 /* RID_UNSIGNED */ TYPESPEC,
5628 /* RID_LONG */ TYPESPEC,
5629 /* RID_CONST */ TYPE_QUAL,
5630 /* RID_EXTERN */ SCSPEC,
5631 /* RID_REGISTER */ SCSPEC,
5632 /* RID_TYPEDEF */ SCSPEC,
5633 /* RID_SHORT */ TYPESPEC,
5634 /* RID_INLINE */ SCSPEC,
5635 /* RID_VOLATILE */ TYPE_QUAL,
5636 /* RID_SIGNED */ TYPESPEC,
5637 /* RID_AUTO */ SCSPEC,
5638 /* RID_RESTRICT */ TYPE_QUAL,
5641 /* RID_COMPLEX */ TYPESPEC,
5642 /* RID_THREAD */ SCSPEC,
5646 /* RID_VIRTUAL */ 0,
5647 /* RID_EXPLICIT */ 0,
5649 /* RID_MUTABLE */ 0,
5652 /* RID_IN */ OBJC_TYPE_QUAL,
5653 /* RID_OUT */ OBJC_TYPE_QUAL,
5654 /* RID_INOUT */ OBJC_TYPE_QUAL,
5655 /* RID_BYCOPY */ OBJC_TYPE_QUAL,
5656 /* RID_BYREF */ OBJC_TYPE_QUAL,
5657 /* RID_ONEWAY */ OBJC_TYPE_QUAL,
5660 /* RID_INT */ TYPESPEC,
5661 /* RID_CHAR */ TYPESPEC,
5662 /* RID_FLOAT */ TYPESPEC,
5663 /* RID_DOUBLE */ TYPESPEC,
5664 /* RID_VOID */ TYPESPEC,
5665 /* RID_ENUM */ ENUM,
5666 /* RID_STRUCT */ STRUCT,
5667 /* RID_UNION */ UNION,
5669 /* RID_ELSE */ ELSE,
5670 /* RID_WHILE */ WHILE,
5673 /* RID_SWITCH */ SWITCH,
5674 /* RID_CASE */ CASE,
5675 /* RID_DEFAULT */ DEFAULT,
5676 /* RID_BREAK */ BREAK,
5677 /* RID_CONTINUE */ CONTINUE,
5678 /* RID_RETURN */ RETURN,
5679 /* RID_GOTO */ GOTO,
5680 /* RID_SIZEOF */ SIZEOF,
5683 /* RID_ASM */ ASM_KEYWORD,
5684 /* RID_TYPEOF */ TYPEOF,
5685 /* RID_ALIGNOF */ ALIGNOF,
5686 /* RID_ATTRIBUTE */ ATTRIBUTE,
5687 /* RID_VA_ARG */ VA_ARG,
5688 /* RID_EXTENSION */ EXTENSION,
5689 /* RID_IMAGPART */ IMAGPART,
5690 /* RID_REALPART */ REALPART,
5691 /* RID_LABEL */ LABEL,
5693 /* RID_CHOOSE_EXPR */ CHOOSE_EXPR,
5694 /* RID_TYPES_COMPATIBLE_P */ TYPES_COMPATIBLE_P,
5696 /* RID_FUNCTION_NAME */ FUNC_NAME,
5697 /* RID_PRETTY_FUNCTION_NAME */ FUNC_NAME,
5698 /* RID_C99_FUNCTION_NAME */ FUNC_NAME,
5701 /* RID_BOOL */ TYPESPEC,
5705 /* RID_PRIVATE */ 0,
5706 /* RID_PROTECTED */ 0,
5707 /* RID_TEMPLATE */ 0,
5712 /* RID_NAMESPACE */ 0,
5714 /* RID_OFFSETOF */ OFFSETOF,
5715 /* RID_OPERATOR */ 0,
5720 /* RID_TYPENAME */ 0,
5725 /* RID_CONSTCAST */ 0,
5726 /* RID_DYNCAST */ 0,
5727 /* RID_REINTCAST */ 0,
5728 /* RID_STATCAST */ 0,
5731 /* RID_AT_ENCODE */ AT_ENCODE,
5732 /* RID_AT_END */ AT_END,
5733 /* RID_AT_CLASS */ AT_CLASS,
5734 /* RID_AT_ALIAS */ AT_ALIAS,
5735 /* RID_AT_DEFS */ AT_DEFS,
5736 /* RID_AT_PRIVATE */ AT_PRIVATE,
5737 /* RID_AT_PROTECTED */ AT_PROTECTED,
5738 /* RID_AT_PUBLIC */ AT_PUBLIC,
5739 /* RID_AT_PROTOCOL */ AT_PROTOCOL,
5740 /* RID_AT_SELECTOR */ AT_SELECTOR,
5741 /* RID_AT_THROW */ AT_THROW,
5742 /* RID_AT_TRY */ AT_TRY,
5743 /* RID_AT_CATCH */ AT_CATCH,
5744 /* RID_AT_FINALLY */ AT_FINALLY,
5745 /* RID_AT_SYNCHRONIZED */ AT_SYNCHRONIZED,
5746 /* RID_AT_INTERFACE */ AT_INTERFACE,
5747 /* RID_AT_IMPLEMENTATION */ AT_IMPLEMENTATION
5751 init_reswords (void)
5755 int mask = (flag_isoc99 ? 0 : D_C89)
5756 | (flag_no_asm ? (flag_isoc99 ? D_EXT : D_EXT|D_EXT89) : 0);
5758 if (!c_dialect_objc ())
5761 ridpointers = GGC_CNEWVEC (tree, (int) RID_MAX);
5762 for (i = 0; i < N_reswords; i++)
5764 /* If a keyword is disabled, do not enter it into the table
5765 and so create a canonical spelling that isn't a keyword. */
5766 if (reswords[i].disable & mask)
5769 id = get_identifier (reswords[i].word);
5770 C_RID_CODE (id) = reswords[i].rid;
5771 C_IS_RESERVED_WORD (id) = 1;
5772 ridpointers [(int) reswords[i].rid] = id;
5776 #define NAME(type) cpp_type2name (type)
5779 yyerror (const char *msgid)
5781 c_parse_error (msgid, last_token, yylval.ttype);
5790 if (C_IS_RESERVED_WORD (yylval.ttype))
5792 enum rid rid_code = C_RID_CODE (yylval.ttype);
5795 /* Return the canonical spelling for this keyword. */
5796 yylval.ttype = ridpointers[(int) rid_code];
5797 return rid_to_yy[(int) rid_code];
5801 decl = lookup_name (yylval.ttype);
5804 if (TREE_CODE (decl) == TYPE_DECL)
5815 last_token = c_lex (&yylval.ttype);
5818 case CPP_EQ: return '=';
5819 case CPP_NOT: return '!';
5820 case CPP_GREATER: yylval.code = GT_EXPR; return ARITHCOMPARE;
5821 case CPP_LESS: yylval.code = LT_EXPR; return ARITHCOMPARE;
5822 case CPP_PLUS: yylval.code = PLUS_EXPR; return '+';
5823 case CPP_MINUS: yylval.code = MINUS_EXPR; return '-';
5824 case CPP_MULT: yylval.code = MULT_EXPR; return '*';
5825 case CPP_DIV: yylval.code = TRUNC_DIV_EXPR; return '/';
5826 case CPP_MOD: yylval.code = TRUNC_MOD_EXPR; return '%';
5827 case CPP_AND: yylval.code = BIT_AND_EXPR; return '&';
5828 case CPP_OR: yylval.code = BIT_IOR_EXPR; return '|';
5829 case CPP_XOR: yylval.code = BIT_XOR_EXPR; return '^';
5830 case CPP_RSHIFT: yylval.code = RSHIFT_EXPR; return RSHIFT;
5831 case CPP_LSHIFT: yylval.code = LSHIFT_EXPR; return LSHIFT;
5833 case CPP_COMPL: return '~';
5834 case CPP_AND_AND: return ANDAND;
5835 case CPP_OR_OR: return OROR;
5836 case CPP_QUERY: return '?';
5837 case CPP_OPEN_PAREN: return '(';
5838 case CPP_EQ_EQ: yylval.code = EQ_EXPR; return EQCOMPARE;
5839 case CPP_NOT_EQ: yylval.code = NE_EXPR; return EQCOMPARE;
5840 case CPP_GREATER_EQ:yylval.code = GE_EXPR; return ARITHCOMPARE;
5841 case CPP_LESS_EQ: yylval.code = LE_EXPR; return ARITHCOMPARE;
5843 case CPP_PLUS_EQ: yylval.code = PLUS_EXPR; return ASSIGN;
5844 case CPP_MINUS_EQ: yylval.code = MINUS_EXPR; return ASSIGN;
5845 case CPP_MULT_EQ: yylval.code = MULT_EXPR; return ASSIGN;
5846 case CPP_DIV_EQ: yylval.code = TRUNC_DIV_EXPR; return ASSIGN;
5847 case CPP_MOD_EQ: yylval.code = TRUNC_MOD_EXPR; return ASSIGN;
5848 case CPP_AND_EQ: yylval.code = BIT_AND_EXPR; return ASSIGN;
5849 case CPP_OR_EQ: yylval.code = BIT_IOR_EXPR; return ASSIGN;
5850 case CPP_XOR_EQ: yylval.code = BIT_XOR_EXPR; return ASSIGN;
5851 case CPP_RSHIFT_EQ: yylval.code = RSHIFT_EXPR; return ASSIGN;
5852 case CPP_LSHIFT_EQ: yylval.code = LSHIFT_EXPR; return ASSIGN;
5854 case CPP_OPEN_SQUARE: return '[';
5855 case CPP_CLOSE_SQUARE: return ']';
5856 case CPP_OPEN_BRACE: return '{';
5857 case CPP_CLOSE_BRACE: return '}';
5858 case CPP_ELLIPSIS: return ELLIPSIS;
5860 case CPP_PLUS_PLUS: return PLUSPLUS;
5861 case CPP_MINUS_MINUS: return MINUSMINUS;
5862 case CPP_DEREF: return POINTSAT;
5863 case CPP_DOT: return '.';
5865 /* The following tokens may affect the interpretation of any
5866 identifiers following, if doing Objective-C. */
5867 case CPP_COLON: OBJC_NEED_RAW_IDENTIFIER (0); return ':';
5868 case CPP_COMMA: OBJC_NEED_RAW_IDENTIFIER (0); return ',';
5869 case CPP_CLOSE_PAREN: OBJC_NEED_RAW_IDENTIFIER (0); return ')';
5870 case CPP_SEMICOLON: OBJC_NEED_RAW_IDENTIFIER (0); return ';';
5876 return yylexname ();
5879 /* This only happens in Objective-C; it must be a keyword. */
5880 return rid_to_yy [(int) C_RID_CODE (yylval.ttype)];
5891 case CPP_OBJC_STRING:
5894 /* These tokens are C++ specific (and will not be generated
5895 in C mode, but let's be cautious). */
5897 case CPP_DEREF_STAR:
5903 /* These tokens should not survive translation phase 4. */
5906 error ("syntax error at %qs token", NAME(last_token));
5919 timevar_push (TV_LEX);
5921 timevar_pop (TV_LEX);
5925 /* Function used when yydebug is set, to print a token in more detail. */
5928 yyprint (FILE *file, int yychar, YYSTYPE yyl)
5932 fprintf (file, " [%s]", NAME(last_token));
5942 if (IDENTIFIER_POINTER (t))
5943 fprintf (file, " '%s'", IDENTIFIER_POINTER (t));
5947 fprintf (file, " %s", GET_MODE_NAME (TYPE_MODE (TREE_TYPE (t))));
5948 if (TREE_CODE (t) == INTEGER_CST)
5951 fprintf (file, HOST_WIDE_INT_PRINT_DOUBLE_HEX,
5952 TREE_INT_CST_HIGH (t), TREE_INT_CST_LOW (t));
5958 /* This is not the ideal place to put this, but we have to get it out
5959 of c-lex.c because cp/lex.c has its own version. */
5961 /* Parse the file. */
5969 free (malloced_yyss);
5970 free (malloced_yyvs);
5976 /* Depending on the version of Bison used to compile this grammar,
5977 it may issue generic diagnostics spelled "syntax error" or
5978 "parse error". To prevent this from changing the translation
5979 template randomly, we list all the variants of this particular
5980 diagnostic here. Translators: there is no fine distinction
5981 between diagnostics with "syntax error" in them, and diagnostics
5982 with "parse error" in them. It's okay to give them both the same
5984 const char d1[] = N_("syntax error");
5985 const char d2[] = N_("parse error");
5986 const char d3[] = N_("syntax error; also virtual memory exhausted");
5987 const char d4[] = N_("parse error; also virtual memory exhausted");
5988 const char d5[] = N_("syntax error: cannot back up");
5989 const char d6[] = N_("parse error: cannot back up");
5992 #include "gt-c-parse.h"