2 ** Inserted at beginning of c files generated by bison
3 ** REMEMBER: Change bison.reset too.
42 /*@-unqualifiedtrans@*/
49 /*drl added 11/27/2001*/
52 /*drl added 12/11/2002*/
55 /* < end of bison.head > */
57 /* A Bison parser, made by GNU Bison 1.875a. */
59 /* Skeleton parser for Yacc-like parsing with Bison,
60 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
62 This program is free software; you can redistribute it and/or modify
63 it under the terms of the GNU General Public License as published by
64 the Free Software Foundation; either version 2, or (at your option)
67 This program is distributed in the hope that it will be useful,
68 but WITHOUT ANY WARRANTY; without even the implied warranty of
69 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
70 GNU General Public License for more details.
72 You should have received a copy of the GNU General Public License
73 along with this program; if not, write to the Free Software
74 Foundation, Inc., 59 Temple Place - Suite 330,
75 Boston, MA 02111-1307, USA. */
77 /* As a special exception, when this file is copied by Bison into a
78 Bison output file, you may use that output file without restriction.
79 This special exception was added by the Free Software Foundation
80 in version 1.24 of Bison. */
82 /* Written by Richard Stallman by simplifying the original so called
83 ``semantic'' parser. */
85 /* All symbols defined below should begin with yy or YY, to avoid
86 infringing on user name space. This should be done even for local
87 variables, as they might otherwise be expanded by user macros.
88 There are some unavoidable exceptions within include files to
89 define necessary library symbols; they are noted "INFRINGES ON
90 USER NAME SPACE" below. */
92 /* Identify Bison output. */
96 #define YYSKELETON_NAME "yacc.c"
101 /* Using locations. */
102 #define YYLSP_NEEDED 0
109 /* Put the tokens into the symbol table, so that GDB and other debuggers
210 QINNERCONTINUE = 356,
212 QLINTNOTREACHED = 358,
213 QLINTFALLTHROUGH = 359,
217 QLINTPRINTFLIKE = 363,
240 QCHECKEDSTRICT = 386,
288 QUNSIGNEDINTEGRALTYPE = 434,
289 QSIGNEDINTEGRALTYPE = 435,
290 QNULLTERMINATED = 436,
291 QSETBUFFERSIZE = 437,
292 QSETSTRINGLENGTH = 438,
298 NEW_IDENTIFIER = 444,
299 TYPE_NAME_OR_ID = 445,
310 #define CTOK_ELIPSIS 260
334 #define TAMPERSAND 284
352 #define COFFSETOF 302
363 #define MUL_ASSIGN 313
364 #define DIV_ASSIGN 314
365 #define MOD_ASSIGN 315
366 #define ADD_ASSIGN 316
367 #define SUB_ASSIGN 317
368 #define LEFT_ASSIGN 318
369 #define RIGHT_ASSIGN 319
370 #define AND_ASSIGN 320
371 #define XOR_ASSIGN 321
372 #define OR_ASSIGN 322
380 #define QMODIFIES 330
382 #define QCONSTANT 332
383 #define QFUNCTION 333
387 #define QALLOCATES 337
389 #define QRELEASES 339
390 #define QPRECLAUSE 340
391 #define QPOSTCLAUSE 341
392 #define QINVARIANT 342
396 #define QENDMACRO 346
398 #define LLMACROITER 348
399 #define LLMACROEND 349
400 #define TENDMACRO 350
401 #define QDREVEALSTATE 351
402 #define QSWITCHBREAK 352
403 #define QLOOPBREAK 353
404 #define QINNERBREAK 354
405 #define QSAFEBREAK 355
406 #define QINNERCONTINUE 356
407 #define QFALLTHROUGH 357
408 #define QLINTNOTREACHED 358
409 #define QLINTFALLTHROUGH 359
410 #define QLINTFALLTHRU 360
411 #define QARGSUSED 361
412 #define QPRINTFLIKE 362
413 #define QLINTPRINTFLIKE 363
414 #define QSCANFLIKE 364
415 #define QMESSAGELIKE 365
416 #define QNOTREACHED 366
418 #define QRESTRICT 368
419 #define QVOLATILE 369
421 #define QEXTENSION 371
425 #define QREGISTER 375
435 #define QUNCHECKED 385
436 #define QCHECKEDSTRICT 386
437 #define QCHECKMOD 387
443 #define QDEPENDENT 393
444 #define QRETURNED 394
447 #define QOBSERVER 397
451 #define QNEVEREXIT 401
452 #define QTRUEEXIT 402
453 #define QFALSEEXIT 403
456 #define QUNSIGNED 406
462 #define QABSTRACT 412
463 #define QNUMABSTRACT 413
464 #define QCONCRETE 414
466 #define QIMMUTABLE 416
467 #define QTRUENULL 417
468 #define QFALSENULL 418
469 #define QEXTERNAL 419
470 #define QREFCOUNTED 420
483 #define QINTEGRALTYPE 433
484 #define QUNSIGNEDINTEGRALTYPE 434
485 #define QSIGNEDINTEGRALTYPE 435
486 #define QNULLTERMINATED 436
487 #define QSETBUFFERSIZE 437
488 #define QSETSTRINGLENGTH 438
491 #define QTESTINRANGE 441
493 #define IDENTIFIER 443
494 #define NEW_IDENTIFIER 444
495 #define TYPE_NAME_OR_ID 445
496 #define CANNOTATION 446
497 #define CCONSTANT 447
498 #define ITER_NAME 448
499 #define ITER_ENDNAME 449
500 #define TYPE_NAME 450
501 #define METASTATE_NAME 451
506 /* Copy the first part of user declarations. */
513 ** Yacc/Bison grammar for extended ANSI C used by Splint.
515 ** original grammar by Nate Osgood ---
516 ** hacrat@catfish.lcs.mit.edu Mon Jun 14 13:06:32 1993
518 ** changes for Splint --- handle typedef names correctly
519 ** fix struct/union parsing bug (empty struct is accepted)
520 ** add productions to handle macros --- require
521 ** error correction --- main source of conflicts in grammar.
522 ** need to process initializations sequentially, L->R
524 ** production names are cryptic, so more productions fit on one line
526 ** conflicts: 87 shift/reduce, 18 reduce/reduce
527 ** most of these are due to handling macros
528 ** a few are due to handling type expressions
534 extern void yyerror (char *);
536 # include "splintMacros.nf"
538 # include "cscanner.h"
539 # include "cscannerHelp.h"
540 # include "cgrammar.h"
541 # include "exprChecks.h"
546 # define SHOWCSYM FALSE
549 ** This is necessary, or else when the bison-generated code #include's malloc.h,
550 ** there will be a parse error.
552 ** Unfortunately, it means the error checking on malloc, etc. is lost for allocations
553 ** in bison-generated files under Win32.
564 /* Enabling traces. */
569 /* Enabling verbose error messages. */
570 #ifdef YYERROR_VERBOSE
571 # undef YYERROR_VERBOSE
572 # define YYERROR_VERBOSE 1
574 # define YYERROR_VERBOSE 0
577 #if ! defined (cgrammar_YYSTYPE) && ! defined (cgrammar_YYSTYPE_IS_DECLARED)
579 typedef union cgrammar_YYSTYPE {
585 /*@dependent@*/ sRef sr;
588 /*@only@*/ functionClauseList funcclauselist;
589 /*@only@*/ functionClause funcclause;
590 /*@only@*/ flagSpec flagspec;
591 /*@only@*/ globalsClause globsclause;
592 /*@only@*/ modifiesClause modsclause;
593 /*@only@*/ warnClause warnclause;
594 /*@only@*/ stateClause stateclause;
595 /*@only@*/ pointers pointers;
596 /*@only@*/ functionConstraint fcnconstraint;
598 /*@only@*/ metaStateConstraint msconstraint;
599 /*@only@*/ metaStateSpecifier msspec;
600 /*@only@*/ metaStateExpression msexpr;
601 /*@observer@*/ metaStateInfo msinfo;
603 /*@only@*/ sRefList srlist;
604 /*@only@*/ globSet globset;
605 /*@only@*/ qtype qtyp;
606 /*@only@*/ cstring cname;
607 /*@observer@*/ annotationInfo annotation;
608 /*@only@*/ idDecl ntyp;
609 /*@only@*/ idDeclList ntyplist;
610 /*@only@*/ uentryList flist;
611 /*@owned@*/ uentryList entrylist;
612 /*@observer@*/ /*@dependent@*/ uentry entry;
613 /*@only@*/ uentry oentry;
614 /*@only@*/ exprNode expr;
615 /*@only@*/ enumNameList enumnamelist;
616 /*@only@*/ exprNodeList exprlist;
617 /*@only@*/ sRefSet srset;
618 /*@only@*/ cstringList cstringlist;
628 /* Line 191 of yacc.c. */
630 # define yystype cgrammar_YYSTYPE /* obsolescent; will be withdrawn */
631 # define cgrammar_YYSTYPE_IS_DECLARED 1
632 # define cgrammar_YYSTYPE_IS_TRIVIAL 1
637 /* Copy the second part of user declarations. */
640 /* Line 214 of yacc.c. */
643 #if ! defined (yyoverflow) || YYERROR_VERBOSE
645 /* The parser invokes alloca or malloc; define the necessary symbols. */
647 # if YYSTACK_USE_ALLOCA
648 # define YYSTACK_ALLOC alloca
650 # ifndef YYSTACK_USE_ALLOCA
651 # if defined (alloca) || defined (_ALLOCA_H)
652 # define YYSTACK_ALLOC alloca
655 # define YYSTACK_ALLOC __builtin_alloca
661 # ifdef YYSTACK_ALLOC
662 /* Pacify GCC's `empty if-body' warning. */
663 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
665 # if defined (__STDC__) || defined (__cplusplus)
666 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
667 # define YYSIZE_T size_t
669 # define YYSTACK_ALLOC malloc
670 # define YYSTACK_FREE free
672 #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
675 #if (! defined (yyoverflow) \
676 && (! defined (__cplusplus) \
677 || (cgrammar_YYSTYPE_IS_TRIVIAL)))
679 /* A type that is properly aligned for any stack member. */
683 cgrammar_YYSTYPE yyvs;
686 /* The size of the maximum gap between one aligned stack and the next. */
687 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
689 /* The size of an array large to enough to hold all stacks, each with
691 # define YYSTACK_BYTES(N) \
692 ((N) * (sizeof (short) + sizeof (cgrammar_YYSTYPE)) \
693 + YYSTACK_GAP_MAXIMUM)
695 /* Copy COUNT objects from FROM to TO. The source and destination do
699 # define YYCOPY(To, From, Count) \
700 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
702 # define YYCOPY(To, From, Count) \
705 register YYSIZE_T yyi; \
706 for (yyi = 0; yyi < (Count); yyi++) \
707 (To)[yyi] = (From)[yyi]; \
713 /* Relocate STACK from its old location to the new one. The
714 local variables YYSIZE and YYSTACKSIZE give the old and new number of
715 elements in the stack, and YYPTR gives the new location of the
716 stack. Advance YYPTR to a properly aligned location for the next
718 # define YYSTACK_RELOCATE(Stack) \
721 YYSIZE_T yynewbytes; \
722 YYCOPY (&yyptr->Stack, Stack, yysize); \
723 Stack = &yyptr->Stack; \
724 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
725 yyptr += yynewbytes / sizeof (*yyptr); \
731 #if defined (__STDC__) || defined (__cplusplus)
732 typedef signed char yysigned_char;
734 typedef short yysigned_char;
737 /* YYFINAL -- State number of the termination state. */
739 /* YYLAST -- Last index in YYTABLE. */
742 /* YYNTOKENS -- Number of terminals. */
743 #define YYNTOKENS 197
744 /* YYNNTS -- Number of nonterminals. */
746 /* YYNRULES -- Number of rules. */
748 /* YYNRULES -- Number of states. */
749 #define YYNSTATES 1256
751 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
753 #define YYMAXUTOK 451
755 #define YYTRANSLATE(YYX) \
756 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
758 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
759 static const unsigned char yytranslate[] =
761 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
762 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
763 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
764 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
765 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
766 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
767 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
768 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
769 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
770 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
771 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
772 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
773 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
774 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
775 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
776 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
777 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
778 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
779 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
780 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
781 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
782 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
783 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
784 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
785 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
786 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
787 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
788 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
789 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
790 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
791 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
792 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
793 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
794 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
795 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
796 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
797 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
798 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
799 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
800 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
801 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
802 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
803 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
804 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
805 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
810 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
812 static const unsigned short yyprhs[] =
814 0, 0, 3, 4, 6, 8, 11, 14, 16, 18,
815 20, 22, 24, 26, 28, 37, 49, 50, 56, 58,
816 62, 64, 67, 69, 76, 80, 87, 88, 95, 96,
817 104, 106, 113, 117, 124, 125, 132, 133, 141, 142,
818 143, 154, 158, 162, 166, 169, 171, 175, 176, 181,
819 182, 187, 189, 193, 195, 197, 199, 203, 205, 209,
820 211, 213, 215, 217, 219, 221, 226, 232, 234, 236,
821 238, 240, 244, 249, 252, 256, 260, 264, 266, 268,
822 270, 271, 274, 275, 278, 280, 282, 284, 286, 288,
823 290, 292, 294, 296, 298, 300, 302, 305, 306, 311,
824 313, 316, 317, 321, 323, 327, 329, 331, 332, 335,
825 339, 342, 344, 348, 351, 352, 355, 357, 359, 361,
826 363, 365, 367, 369, 371, 373, 375, 377, 379, 381,
827 383, 385, 387, 391, 392, 396, 397, 398, 403, 406,
828 409, 411, 413, 415, 417, 421, 426, 429, 433, 437,
829 441, 443, 445, 447, 451, 453, 455, 459, 464, 467,
830 471, 475, 479, 480, 482, 484, 488, 490, 492, 494,
831 498, 500, 502, 503, 508, 510, 515, 519, 524, 531,
832 537, 543, 546, 549, 557, 559, 563, 565, 568, 571,
833 574, 577, 580, 583, 586, 589, 593, 595, 599, 604,
834 606, 616, 617, 621, 622, 623, 628, 631, 636, 639,
835 641, 646, 648, 652, 656, 660, 662, 666, 670, 672,
836 676, 680, 682, 686, 690, 694, 698, 700, 704, 708,
837 710, 714, 716, 720, 722, 726, 728, 729, 734, 736,
838 737, 742, 744, 745, 746, 754, 756, 760, 764, 768,
839 772, 776, 780, 784, 788, 792, 796, 800, 802, 806,
840 807, 809, 811, 813, 815, 817, 821, 822, 832, 833,
841 845, 847, 849, 852, 853, 860, 861, 870, 875, 880,
842 881, 882, 885, 887, 892, 895, 897, 902, 903, 908,
843 910, 914, 919, 922, 925, 928, 930, 933, 937, 940,
844 942, 946, 948, 950, 952, 954, 956, 959, 960, 967,
845 970, 973, 974, 981, 982, 988, 990, 992, 994, 996,
846 998, 1000, 1002, 1004, 1006, 1008, 1010, 1012, 1014, 1016,
847 1018, 1020, 1022, 1024, 1026, 1028, 1030, 1032, 1034, 1036,
848 1038, 1040, 1042, 1044, 1046, 1048, 1050, 1052, 1054, 1056,
849 1058, 1060, 1062, 1064, 1066, 1068, 1070, 1072, 1074, 1076,
850 1078, 1080, 1082, 1084, 1086, 1088, 1090, 1092, 1094, 1097,
851 1100, 1103, 1106, 1109, 1112, 1115, 1118, 1121, 1124, 1127,
852 1130, 1133, 1136, 1139, 1142, 1145, 1148, 1151, 1154, 1157,
853 1160, 1163, 1166, 1169, 1172, 1176, 1178, 1183, 1185, 1189,
854 1192, 1195, 1198, 1199, 1201, 1202, 1203, 1204, 1217, 1218,
855 1219, 1231, 1238, 1245, 1246, 1247, 1258, 1259, 1260, 1271,
856 1277, 1283, 1288, 1293, 1294, 1296, 1298, 1301, 1307, 1311,
857 1314, 1319, 1321, 1325, 1330, 1337, 1338, 1347, 1352, 1354,
858 1358, 1361, 1363, 1368, 1370, 1372, 1375, 1378, 1380, 1383,
859 1385, 1388, 1390, 1392, 1394, 1396, 1399, 1401, 1404, 1407,
860 1411, 1413, 1417, 1419, 1423, 1425, 1427, 1431, 1432, 1435,
861 1436, 1441, 1446, 1448, 1450, 1453, 1455, 1457, 1460, 1461,
862 1463, 1469, 1472, 1476, 1480, 1485, 1489, 1494, 1499, 1505,
863 1507, 1509, 1511, 1513, 1515, 1517, 1519, 1521, 1523, 1525,
864 1530, 1532, 1534, 1536, 1539, 1542, 1550, 1557, 1560, 1561,
865 1562, 1573, 1574, 1581, 1583, 1585, 1587, 1589, 1592, 1594,
866 1596, 1598, 1600, 1602, 1604, 1606, 1610, 1612, 1613, 1617,
867 1620, 1623, 1625, 1627, 1629, 1631, 1633, 1635, 1637, 1639,
868 1641, 1643, 1647, 1649, 1651, 1653, 1656, 1659, 1660, 1663,
869 1664, 1669, 1670, 1677, 1678, 1682, 1683, 1689, 1693, 1696,
870 1700, 1701, 1702, 1703, 1704, 1705, 1707, 1710, 1713, 1717,
871 1720, 1724, 1728, 1733, 1736, 1739, 1743, 1747, 1752, 1754,
872 1757, 1759, 1762, 1764, 1768, 1770, 1775, 1777, 1780, 1782,
873 1785, 1787, 1790, 1792, 1797, 1800, 1801, 1807, 1808, 1815,
874 1820, 1825, 1826, 1827, 1838, 1840, 1841, 1846, 1848, 1850,
875 1852, 1854, 1856, 1859, 1861, 1865, 1867, 1872, 1876, 1881,
876 1888, 1894, 1900, 1903, 1906, 1908, 1911, 1914, 1917, 1920,
877 1923, 1926, 1929, 1932, 1934, 1936, 1941, 1943, 1947, 1951,
878 1955, 1957, 1961, 1965, 1967, 1971, 1975, 1977, 1981, 1985,
879 1989, 1993, 1995, 1999, 2003, 2005, 2009, 2011, 2015, 2017,
880 2021, 2023, 2027, 2029, 2033, 2035, 2036, 2037, 2045, 2047,
881 2051, 2055, 2059, 2063, 2067, 2071, 2075, 2079, 2083, 2087,
882 2091, 2093, 2094, 2096, 2099, 2107, 2110, 2113, 2121, 2128,
883 2131, 2135, 2138, 2142, 2145, 2149, 2153, 2157, 2161, 2164,
884 2168, 2169, 2171, 2172, 2174, 2176, 2178, 2180, 2182, 2184,
885 2186, 2188, 2190, 2195
888 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
889 static const short yyrhs[] =
891 198, 0, -1, -1, 199, -1, 200, -1, 199, 200,
892 -1, 261, 464, -1, 201, -1, 202, -1, 212, -1,
893 215, -1, 301, -1, 18, -1, 1, -1, 77, 345,
894 359, 369, 359, 464, 310, 91, -1, 77, 345, 359,
895 369, 359, 23, 310, 317, 316, 464, 91, -1, -1,
896 78, 203, 204, 464, 91, -1, 205, -1, 345, 359,
897 205, -1, 209, -1, 373, 209, -1, 467, -1, 310,
898 24, 359, 369, 310, 25, -1, 206, 26, 27, -1,
899 206, 26, 310, 300, 27, 359, -1, -1, 206, 311,
900 24, 25, 207, 233, -1, -1, 206, 311, 24, 370,
901 25, 208, 233, -1, 467, -1, 310, 24, 359, 205,
902 310, 25, -1, 209, 26, 27, -1, 209, 26, 310,
903 300, 27, 359, -1, -1, 209, 311, 24, 25, 210,
904 234, -1, -1, 209, 311, 24, 370, 25, 211, 234,
905 -1, -1, -1, 79, 467, 24, 370, 25, 213, 234,
906 214, 464, 91, -1, 92, 401, 95, -1, 93, 387,
907 95, -1, 94, 388, 95, -1, 92, 95, -1, 256,
908 -1, 218, 23, 221, -1, -1, 230, 219, 22, 222,
909 -1, -1, 5, 220, 22, 222, -1, 218, -1, 218,
910 40, 221, -1, 196, -1, 187, -1, 56, -1, 225,
911 223, 224, -1, 225, -1, 228, 227, 228, -1, 184,
912 -1, 185, -1, 53, -1, 52, -1, 54, -1, 229,
913 -1, 231, 24, 228, 25, -1, 24, 228, 232, 228,
914 25, -1, 230, -1, 192, -1, 466, -1, 189, -1,
915 230, 26, 27, -1, 230, 26, 192, 27, -1, 34,
916 230, -1, 24, 230, 25, -1, 230, 28, 467, -1,
917 230, 45, 467, -1, 226, -1, 33, -1, 32, -1,
918 -1, 235, 233, -1, -1, 236, 234, -1, 237, -1,
919 241, -1, 240, -1, 323, -1, 326, -1, 247, -1,
920 238, -1, 242, -1, 240, -1, 324, -1, 328, -1,
921 248, -1, 238, 91, -1, -1, 74, 239, 249, 464,
922 -1, 76, -1, 242, 91, -1, -1, 75, 243, 262,
923 -1, 245, -1, 245, 40, 244, -1, 189, -1, 247,
924 -1, -1, 248, 91, -1, 73, 244, 440, -1, 73,
925 244, -1, 250, -1, 249, 21, 250, -1, 251, 252,
926 -1, -1, 253, 251, -1, 466, -1, 189, -1, 301,
927 -1, 89, -1, 90, -1, 121, -1, 122, -1, 135,
928 -1, 80, -1, 81, -1, 82, -1, 83, -1, 84,
929 -1, 85, -1, 86, -1, 369, -1, 345, 359, 369,
930 -1, -1, 19, 258, 418, -1, -1, -1, 259, 422,
931 260, 411, -1, 216, 257, -1, 265, 464, -1, 464,
932 -1, 466, -1, 189, -1, 190, -1, 263, 26, 27,
933 -1, 263, 26, 264, 27, -1, 34, 263, -1, 24,
934 263, 25, -1, 263, 28, 467, -1, 263, 45, 467,
935 -1, 263, -1, 440, -1, 263, -1, 265, 21, 263,
936 -1, 466, -1, 189, -1, 266, 26, 27, -1, 266,
937 26, 264, 27, -1, 34, 266, -1, 24, 266, 25,
938 -1, 266, 28, 467, -1, 266, 45, 467, -1, -1,
939 268, -1, 266, -1, 268, 21, 266, -1, 466, -1,
940 189, -1, 440, -1, 24, 298, 25, -1, 190, -1,
941 116, -1, -1, 24, 270, 411, 25, -1, 269, -1,
942 271, 26, 298, 27, -1, 271, 24, 25, -1, 271,
943 24, 272, 25, -1, 71, 24, 297, 21, 381, 25,
944 -1, 271, 359, 28, 467, 310, -1, 271, 359, 45,
945 467, 310, -1, 271, 48, -1, 271, 49, -1, 24,
946 381, 25, 19, 423, 465, 20, -1, 297, -1, 272,
947 21, 297, -1, 271, -1, 48, 273, -1, 49, 273,
948 -1, 29, 281, -1, 34, 281, -1, 33, 281, -1,
949 32, 281, -1, 31, 281, -1, 30, 281, -1, 278,
950 276, 279, -1, 275, -1, 274, 28, 467, -1, 274,
951 26, 298, 27, -1, 467, -1, 47, 310, 24, 381,
952 359, 21, 274, 25, 310, -1, -1, 310, 277, 280,
953 -1, -1, -1, 42, 24, 381, 25, -1, 42, 273,
954 -1, 43, 24, 381, 25, -1, 43, 273, -1, 273,
955 -1, 24, 381, 25, 281, -1, 281, -1, 282, 34,
956 281, -1, 282, 35, 281, -1, 282, 36, 281, -1,
957 282, -1, 283, 33, 282, -1, 283, 32, 282, -1,
958 283, -1, 284, 50, 283, -1, 284, 51, 283, -1,
959 284, -1, 285, 37, 284, -1, 285, 38, 284, -1,
960 285, 52, 284, -1, 285, 53, 284, -1, 285, -1,
961 286, 54, 285, -1, 286, 55, 285, -1, 286, -1,
962 287, 29, 286, -1, 287, -1, 288, 39, 287, -1,
963 288, -1, 289, 40, 288, -1, 289, -1, -1, 290,
964 56, 291, 289, -1, 290, -1, -1, 292, 57, 293,
965 290, -1, 292, -1, -1, -1, 292, 41, 295, 298,
966 22, 296, 294, -1, 294, -1, 273, 23, 297, -1,
967 273, 58, 297, -1, 273, 59, 297, -1, 273, 60,
968 297, -1, 273, 61, 297, -1, 273, 62, 297, -1,
969 273, 63, 297, -1, 273, 64, 297, -1, 273, 65,
970 297, -1, 273, 66, 297, -1, 273, 67, 297, -1,
971 297, -1, 298, 21, 297, -1, -1, 298, -1, 294,
972 -1, 302, -1, 72, -1, 308, -1, 345, 310, 18,
973 -1, -1, 345, 359, 369, 359, 303, 310, 316, 18,
974 310, -1, -1, 345, 359, 369, 359, 23, 304, 310,
975 317, 316, 18, 310, -1, 306, -1, 195, -1, 369,
976 359, -1, -1, 369, 359, 23, 307, 310, 317, -1,
977 -1, 46, 345, 309, 359, 314, 310, 246, 18, -1,
978 46, 345, 310, 18, -1, 46, 312, 310, 18, -1,
979 -1, -1, 313, 310, -1, 306, -1, 312, 21, 359,
980 306, -1, 315, 310, -1, 305, -1, 314, 21, 359,
981 305, -1, -1, 316, 21, 359, 306, -1, 297, -1,
982 19, 321, 20, -1, 19, 321, 21, 20, -1, 318,
983 317, -1, 319, 23, -1, 467, 22, -1, 320, -1,
984 319, 320, -1, 26, 300, 27, -1, 28, 467, -1,
985 317, -1, 321, 21, 317, -1, 117, -1, 115, -1,
986 118, -1, 119, -1, 120, -1, 324, 91, -1, -1,
987 254, 359, 325, 268, 464, 310, -1, 328, 91, -1,
988 255, 359, -1, -1, 327, 334, 329, 267, 464, 310,
989 -1, -1, 327, 330, 331, 464, 310, -1, 224, -1,
990 217, -1, 144, -1, 145, -1, 147, -1, 148, -1,
991 146, -1, 129, -1, 132, -1, 130, -1, 131, -1,
992 137, -1, 138, -1, 123, -1, 125, -1, 124, -1,
993 133, -1, 134, -1, 126, -1, 128, -1, 141, -1,
994 143, -1, 156, -1, 155, -1, 140, -1, 142, -1,
995 181, -1, 191, -1, 139, -1, 154, -1, 153, -1,
996 164, -1, 162, -1, 163, -1, 157, -1, 158, -1,
997 159, -1, 160, -1, 161, -1, 165, -1, 166, -1,
998 169, -1, 170, -1, 167, -1, 168, -1, 152, -1,
999 149, -1, 150, -1, 151, -1, 121, -1, 122, -1,
1000 135, -1, 136, -1, 112, 310, -1, 114, 310, -1,
1001 113, 310, -1, 341, 310, -1, 334, 310, -1, 332,
1002 310, -1, 335, 310, -1, 333, 310, -1, 337, 310,
1003 -1, 336, 310, -1, 338, 310, -1, 339, 310, -1,
1004 171, 359, -1, 173, 359, -1, 172, 359, -1, 174,
1005 359, -1, 175, 359, -1, 176, 359, -1, 177, 359,
1006 -1, 178, 359, -1, 179, 359, -1, 180, 359, -1,
1007 468, 359, -1, 350, 359, -1, 364, 359, -1, 340,
1008 359, -1, 310, 345, 310, -1, 347, -1, 347, 88,
1009 346, 91, -1, 381, -1, 381, 21, 346, -1, 322,
1010 348, -1, 342, 348, -1, 343, 348, -1, -1, 345,
1011 -1, -1, -1, -1, 359, 68, 467, 310, 19, 351,
1012 415, 360, 416, 352, 20, 349, -1, -1, -1, 359,
1013 69, 467, 310, 19, 353, 415, 360, 416, 354, 20,
1014 -1, 359, 68, 467, 310, 19, 20, -1, 359, 69,
1015 467, 310, 19, 20, -1, -1, -1, 359, 68, 310,
1016 19, 355, 415, 360, 416, 356, 20, -1, -1, -1,
1017 359, 69, 310, 19, 357, 415, 360, 416, 358, 20,
1018 -1, 359, 68, 310, 19, 20, -1, 359, 69, 310,
1019 19, 20, -1, 359, 68, 467, 359, -1, 359, 69,
1020 467, 359, -1, -1, 361, -1, 215, -1, 360, 361,
1021 -1, 345, 359, 362, 310, 18, -1, 345, 310, 18,
1022 -1, 363, 359, -1, 362, 21, 363, 359, -1, 369,
1023 -1, 22, 310, 300, -1, 369, 22, 310, 300, -1,
1024 359, 70, 19, 366, 20, 310, -1, -1, 359, 70,
1025 467, 19, 365, 366, 20, 310, -1, 359, 70, 467,
1026 310, -1, 367, -1, 366, 21, 367, -1, 366, 21,
1027 -1, 467, -1, 467, 23, 310, 300, -1, 206, -1,
1028 383, -1, 373, 195, -1, 373, 368, -1, 206, -1,
1029 373, 206, -1, 376, -1, 359, 374, -1, 112, -1,
1030 113, -1, 114, -1, 371, -1, 372, 371, -1, 34,
1031 -1, 34, 372, -1, 34, 373, -1, 34, 372, 373,
1032 -1, 375, -1, 375, 21, 5, -1, 467, -1, 375,
1033 21, 467, -1, 5, -1, 377, -1, 377, 21, 5,
1034 -1, -1, 378, 380, -1, -1, 377, 21, 379, 380,
1035 -1, 310, 345, 368, 310, -1, 467, -1, 344, -1,
1036 344, 382, -1, 373, -1, 384, -1, 373, 384, -1,
1037 -1, 384, -1, 310, 24, 359, 382, 25, -1, 26,
1038 27, -1, 26, 300, 27, -1, 384, 26, 27, -1,
1039 384, 26, 300, 27, -1, 310, 24, 25, -1, 310,
1040 24, 376, 25, -1, 384, 310, 24, 25, -1, 384,
1041 310, 24, 376, 25, -1, 403, -1, 405, -1, 408,
1042 -1, 411, -1, 426, -1, 429, -1, 461, -1, 434,
1043 -1, 463, -1, 386, -1, 96, 24, 298, 25, -1,
1044 389, -1, 387, -1, 396, -1, 389, 396, -1, 433,
1045 389, -1, 460, 402, 11, 24, 298, 25, 18, -1,
1046 460, 402, 11, 24, 298, 25, -1, 391, 396, -1,
1047 -1, -1, 13, 24, 299, 18, 299, 18, 392, 299,
1048 393, 25, -1, -1, 193, 413, 24, 395, 437, 25,
1049 -1, 194, -1, 403, -1, 405, -1, 408, -1, 399,
1050 422, -1, 399, -1, 400, -1, 426, -1, 397, -1,
1051 390, -1, 394, -1, 463, -1, 24, 396, 25, -1,
1052 1, -1, -1, 428, 398, 396, -1, 413, 19, -1,
1053 417, 20, -1, 402, -1, 421, -1, 403, -1, 405,
1054 -1, 408, -1, 412, -1, 427, -1, 429, -1, 434,
1055 -1, 462, -1, 24, 402, 25, -1, 463, -1, 386,
1056 -1, 1, -1, 467, 22, -1, 111, 385, -1, -1,
1057 102, 404, -1, -1, 6, 300, 406, 22, -1, -1,
1058 102, 404, 6, 300, 407, 22, -1, -1, 7, 409,
1059 22, -1, -1, 102, 404, 7, 410, 22, -1, 24,
1060 411, 25, -1, 413, 419, -1, 413, 420, 414, -1,
1061 -1, -1, -1, -1, -1, 20, -1, 111, 20, -1,
1062 425, 20, -1, 425, 111, 20, -1, 422, 20, -1,
1063 422, 111, 20, -1, 422, 425, 20, -1, 422, 425,
1064 111, 20, -1, 19, 418, -1, 19, 20, -1, 19,
1065 421, 20, -1, 19, 422, 20, -1, 19, 422, 425,
1066 20, -1, 402, -1, 421, 402, -1, 301, -1, 422,
1067 301, -1, 424, -1, 423, 21, 424, -1, 297, -1,
1068 19, 423, 465, 20, -1, 385, -1, 425, 385, -1,
1069 18, -1, 298, 18, -1, 18, -1, 298, 18, -1,
1070 298, -1, 8, 24, 298, 25, -1, 428, 385, -1,
1071 -1, 428, 385, 9, 430, 385, -1, -1, 10, 24,
1072 298, 431, 25, 385, -1, 11, 24, 298, 25, -1,
1073 11, 24, 298, 25, -1, -1, -1, 193, 435, 413,
1074 24, 436, 437, 25, 411, 459, 414, -1, 439, -1,
1075 -1, 437, 438, 21, 439, -1, 458, -1, 466, -1,
1076 190, -1, 189, -1, 192, -1, 440, 192, -1, 440,
1077 -1, 24, 298, 25, -1, 441, -1, 271, 26, 298,
1078 27, -1, 271, 24, 25, -1, 271, 24, 272, 25,
1079 -1, 71, 24, 297, 21, 381, 25, -1, 271, 359,
1080 28, 467, 310, -1, 271, 359, 45, 467, 310, -1,
1081 271, 48, -1, 271, 49, -1, 442, -1, 48, 273,
1082 -1, 49, 273, -1, 29, 281, -1, 34, 281, -1,
1083 33, 281, -1, 32, 281, -1, 31, 281, -1, 30,
1084 281, -1, 276, -1, 443, -1, 24, 381, 25, 281,
1085 -1, 444, -1, 282, 34, 281, -1, 282, 35, 281,
1086 -1, 282, 36, 281, -1, 445, -1, 283, 33, 282,
1087 -1, 283, 32, 282, -1, 446, -1, 284, 50, 283,
1088 -1, 284, 51, 283, -1, 447, -1, 285, 37, 284,
1089 -1, 285, 38, 284, -1, 285, 52, 284, -1, 285,
1090 53, 284, -1, 448, -1, 286, 54, 285, -1, 286,
1091 55, 285, -1, 449, -1, 287, 29, 286, -1, 450,
1092 -1, 288, 39, 287, -1, 451, -1, 289, 40, 288,
1093 -1, 452, -1, 290, 56, 289, -1, 453, -1, 292,
1094 57, 290, -1, 454, -1, -1, -1, 292, 41, 456,
1095 298, 22, 457, 294, -1, 455, -1, 273, 23, 297,
1096 -1, 273, 58, 297, -1, 273, 59, 297, -1, 273,
1097 60, 297, -1, 273, 61, 297, -1, 273, 62, 297,
1098 -1, 273, 63, 297, -1, 273, 64, 297, -1, 273,
1099 65, 297, -1, 273, 66, 297, -1, 273, 67, 297,
1100 -1, 194, -1, -1, 12, -1, 432, 385, -1, 460,
1101 385, 11, 24, 298, 25, 18, -1, 391, 385, -1,
1102 432, 402, -1, 460, 402, 11, 24, 298, 25, 18,
1103 -1, 460, 402, 11, 24, 298, 25, -1, 391, 402,
1104 -1, 14, 467, 18, -1, 15, 18, -1, 101, 15,
1105 18, -1, 16, 18, -1, 97, 16, 18, -1, 98,
1106 16, 18, -1, 99, 16, 18, -1, 100, 16, 18,
1107 -1, 17, 18, -1, 17, 298, 18, -1, -1, 18,
1108 -1, -1, 21, -1, 188, -1, 189, -1, 193, -1,
1109 194, -1, 466, -1, 190, -1, 195, -1, 190, -1,
1110 44, 24, 298, 25, -1, 44, 24, 381, 25, -1
1113 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1114 static const unsigned short yyrline[] =
1116 0, 327, 327, 329, 333, 334, 338, 339, 340, 341,
1117 342, 343, 344, 345, 349, 351, 356, 356, 365, 371,
1118 376, 377, 382, 383, 385, 387, 405, 404, 436, 435,
1119 465, 466, 468, 472, 490, 489, 502, 501, 516, 517,
1120 515, 524, 525, 526, 527, 531, 535, 540, 540, 545,
1121 545, 553, 554, 558, 564, 565, 569, 570, 574, 580,
1122 581, 585, 586, 587, 591, 592, 593, 599, 600, 604,
1123 606, 608, 610, 619, 621, 623, 625, 642, 646, 647,
1124 654, 655, 665, 666, 671, 672, 673, 674, 675, 676,
1125 680, 681, 682, 683, 684, 685, 689, 693, 693, 702,
1126 706, 711, 710, 725, 727, 732, 736, 737, 741, 745,
1127 751, 756, 757, 761, 765, 766, 770, 771, 772, 776,
1128 777, 778, 779, 780, 784, 785, 786, 787, 788, 792,
1129 793, 797, 804, 809, 809, 815, 816, 815, 826, 837,
1130 838, 842, 843, 844, 845, 846, 847, 848, 849, 850,
1131 854, 855, 860, 861, 865, 867, 869, 870, 871, 872,
1132 873, 875, 880, 881, 885, 891, 904, 905, 906, 907,
1133 908, 909, 910, 910, 916, 917, 918, 919, 920, 921,
1134 922, 923, 924, 925, 930, 931, 935, 936, 937, 938,
1135 939, 940, 941, 942, 943, 944, 945, 949, 950, 952,
1136 956, 962, 962, 966, 969, 973, 974, 975, 976, 982,
1137 983, 988, 989, 990, 991, 995, 996, 997, 1001, 1002,
1138 1003, 1007, 1008, 1009, 1010, 1011, 1015, 1016, 1017, 1021,
1139 1022, 1026, 1027, 1031, 1032, 1036, 1038, 1037, 1049, 1051,
1140 1050, 1063, 1064, 1065, 1064, 1070, 1071, 1072, 1073, 1074,
1141 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1085, 1086, 1090,
1142 1091, 1095, 1101, 1102, 1103, 1107, 1122, 1121, 1133, 1132,
1143 1141, 1142, 1146, 1151, 1151, 1156, 1156, 1159, 1160, 1164,
1144 1168, 1172, 1176, 1177, 1181, 1185, 1186, 1190, 1191, 1195,
1145 1196, 1197, 1198, 1206, 1207, 1212, 1213, 1217, 1218, 1222,
1146 1224, 1234, 1235, 1236, 1237, 1238, 1242, 1247, 1246, 1262,
1147 1266, 1271, 1270, 1285, 1284, 1316, 1317, 1321, 1322, 1323,
1148 1324, 1325, 1329, 1330, 1331, 1332, 1336, 1337, 1338, 1339,
1149 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349,
1150 1350, 1351, 1352, 1356, 1357, 1361, 1362, 1366, 1367, 1371,
1151 1372, 1373, 1374, 1375, 1379, 1380, 1381, 1382, 1383, 1384,
1152 1388, 1389, 1390, 1391, 1395, 1396, 1397, 1398, 1402, 1403,
1153 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413,
1154 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430,
1155 1431, 1432, 1433, 1434, 1438, 1443, 1444, 1449, 1450, 1455,
1156 1456, 1457, 1461, 1462, 1466, 1473, 1475, 1473, 1479, 1481,
1157 1479, 1484, 1486, 1488, 1490, 1488, 1493, 1495, 1493, 1498,
1158 1500, 1502, 1503, 1507, 1511, 1512, 1513, 1517, 1519, 1524,
1159 1526, 1531, 1532, 1533, 1538, 1540, 1540, 1542, 1546, 1548,
1160 1550, 1554, 1559, 1567, 1568, 1569, 1575, 1580, 1581, 1586,
1161 1587, 1591, 1592, 1593, 1597, 1598, 1602, 1603, 1604, 1605,
1162 1609, 1610, 1614, 1615, 1619, 1620, 1621, 1625, 1625, 1626,
1163 1626, 1631, 1643, 1660, 1661, 1665, 1666, 1667, 1671, 1672,
1164 1676, 1678, 1679, 1681, 1682, 1684, 1686, 1688, 1690, 1697,
1165 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1710,
1166 1714, 1718, 1722, 1723, 1728, 1730, 1732, 1734, 1740, 1740,
1167 1739, 1748, 1747, 1751, 1755, 1756, 1757, 1758, 1759, 1760,
1168 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1771, 1771, 1778,
1169 1782, 1786, 1787, 1791, 1792, 1793, 1794, 1795, 1796, 1797,
1170 1798, 1799, 1800, 1801, 1802, 1806, 1807, 1815, 1816, 1823,
1171 1823, 1825, 1825, 1830, 1830, 1832, 1832, 1837, 1838, 1843,
1172 1847, 1851, 1855, 1859, 1863, 1867, 1868, 1869, 1870, 1872,
1173 1873, 1875, 1877, 1884, 1889, 1891, 1893, 1895, 1900, 1901,
1174 1905, 1906, 1910, 1911, 1915, 1916, 1920, 1921, 1925, 1926,
1175 1930, 1931, 1932, 1936, 1950, 1955, 1955, 1960, 1960, 1965,
1176 1971, 1975, 1976, 1975, 1986, 1987, 1987, 1992, 1993, 1994,
1177 2005, 2013, 2014, 2018, 2019, 2023, 2024, 2025, 2026, 2027,
1178 2029, 2030, 2031, 2032, 2036, 2037, 2038, 2039, 2040, 2041,
1179 2042, 2043, 2044, 2045, 2049, 2050, 2054, 2055, 2056, 2057,
1180 2061, 2062, 2063, 2067, 2068, 2069, 2073, 2074, 2075, 2076,
1181 2077, 2081, 2082, 2083, 2087, 2088, 2092, 2093, 2097, 2098,
1182 2102, 2103, 2107, 2108, 2112, 2113, 2114, 2113, 2119, 2120,
1183 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130,
1184 2134, 2135, 2139, 2143, 2145, 2147, 2152, 2153, 2155, 2157,
1185 2161, 2162, 2163, 2165, 2166, 2167, 2168, 2169, 2170, 2171,
1186 2174, 2176, 2179, 2181, 2185, 2189, 2190, 2191, 2192, 2193,
1187 2197, 2198, 2199, 2200
1191 #if YYDEBUG || YYERROR_VERBOSE
1192 /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1193 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1194 static const char *const yytname[] =
1196 "$end", "error", "$undefined", "BADTOK", "SKIPTOK", "CTOK_ELIPSIS",
1197 "CASE", "DEFAULT", "CIF", "CELSE", "SWITCH", "WHILE", "DO", "CFOR",
1198 "GOTO", "CONTINUE", "BREAK", "RETURN", "TSEMI", "TLBRACE", "TRBRACE",
1199 "TCOMMA", "TCOLON", "TASSIGN", "TLPAREN", "TRPAREN", "TLSQBR", "TRSQBR",
1200 "TDOT", "TAMPERSAND", "TEXCL", "TTILDE", "TMINUS", "TPLUS", "TMULT",
1201 "TDIV", "TPERCENT", "TLT", "TGT", "TCIRC", "TBAR", "TQUEST", "CSIZEOF",
1202 "CALIGNOF", "CTYPEOF", "ARROW_OP", "CTYPEDEF", "COFFSETOF", "INC_OP",
1203 "DEC_OP", "LEFT_OP", "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP",
1204 "AND_OP", "OR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN",
1205 "ADD_ASSIGN", "SUB_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN",
1206 "XOR_ASSIGN", "OR_ASSIGN", "CSTRUCT", "CUNION", "CENUM", "VA_ARG",
1207 "VA_DCL", "QWARN", "QGLOBALS", "QMODIFIES", "QNOMODS", "QCONSTANT",
1208 "QFUNCTION", "QITER", "QDEFINES", "QUSES", "QALLOCATES", "QSETS",
1209 "QRELEASES", "QPRECLAUSE", "QPOSTCLAUSE", "QINVARIANT", "QALT",
1210 "QUNDEF", "QKILLED", "QENDMACRO", "LLMACRO", "LLMACROITER",
1211 "LLMACROEND", "TENDMACRO", "QDREVEALSTATE", "QSWITCHBREAK",
1212 "QLOOPBREAK", "QINNERBREAK", "QSAFEBREAK", "QINNERCONTINUE",
1213 "QFALLTHROUGH", "QLINTNOTREACHED", "QLINTFALLTHROUGH", "QLINTFALLTHRU",
1214 "QARGSUSED", "QPRINTFLIKE", "QLINTPRINTFLIKE", "QSCANFLIKE",
1215 "QMESSAGELIKE", "QNOTREACHED", "QCONST", "QRESTRICT", "QVOLATILE",
1216 "QINLINE", "QEXTENSION", "QEXTERN", "QSTATIC", "QAUTO", "QREGISTER",
1217 "QOUT", "QIN", "QYIELD", "QONLY", "QTEMP", "QSHARED", "QREF", "QUNIQUE",
1218 "QCHECKED", "QUNCHECKED", "QCHECKEDSTRICT", "QCHECKMOD", "QKEEP",
1219 "QKEPT", "QPARTIAL", "QSPECIAL", "QOWNED", "QDEPENDENT", "QRETURNED",
1220 "QEXPOSED", "QNULL", "QOBSERVER", "QISNULL", "QEXITS", "QMAYEXIT",
1221 "QNEVEREXIT", "QTRUEEXIT", "QFALSEEXIT", "QLONG", "QSIGNED",
1222 "QUNSIGNED", "QSHORT", "QUNUSED", "QSEF", "QNOTNULL", "QRELNULL",
1223 "QABSTRACT", "QNUMABSTRACT", "QCONCRETE", "QMUTABLE", "QIMMUTABLE",
1224 "QTRUENULL", "QFALSENULL", "QEXTERNAL", "QREFCOUNTED", "QREFS",
1225 "QNEWREF", "QTEMPREF", "QKILLREF", "QRELDEF", "CGCHAR", "CBOOL", "CINT",
1226 "CGFLOAT", "CDOUBLE", "CVOID", "QANYTYPE", "QINTEGRALTYPE",
1227 "QUNSIGNEDINTEGRALTYPE", "QSIGNEDINTEGRALTYPE", "QNULLTERMINATED",
1228 "QSETBUFFERSIZE", "QSETSTRINGLENGTH", "QMAXSET", "QMAXREAD",
1229 "QTESTINRANGE", "TCAND", "IDENTIFIER", "NEW_IDENTIFIER",
1230 "TYPE_NAME_OR_ID", "CANNOTATION", "CCONSTANT", "ITER_NAME",
1231 "ITER_ENDNAME", "TYPE_NAME", "METASTATE_NAME", "$accept", "file",
1232 "externalDefs", "externalDef", "constantDecl", "fcnDecl", "@1",
1233 "plainFcn", "plainNamedDecl", "namedDeclBase", "@2", "@3",
1234 "plainNamedDeclBase", "@4", "@5", "iterDecl", "@6", "@7", "macroDef",
1235 "fcnDefHdr", "metaStateConstraint", "metaStateSpecifier", "@8", "@9",
1236 "metaStateExpression", "metaStateName", "constraintSeperator",
1237 "BufConstraintList", "BufConstraint", "bufferModifier", "relationalOp",
1238 "BufConstraintExpr", "BufConstraintTerm", "BufConstraintSrefExpr",
1239 "BufUnaryOp", "BufBinaryOp", "functionClauses", "functionClausesPlain",
1240 "functionClause", "functionClausePlain", "globalsClause",
1241 "globalsClausePlain", "@10", "nomodsClause", "modifiesClause",
1242 "modifiesClausePlain", "@11", "flagSpec", "flagId", "optWarnClause",
1243 "warnClause", "warnClausePlain", "globIdList", "globIdListExpr",
1244 "optGlobQuals", "globId", "globQual", "stateTag", "conditionTag",
1245 "fcnDefHdrAux", "fcnBody", "@12", "@13", "@14", "fcnDef", "locModifies",
1246 "modListExpr", "mExpr", "modList", "specClauseListExpr",
1247 "optSpecClauseList", "specClauseList", "primaryExpr", "@15",
1248 "postfixExpr", "argumentExprList", "unaryExpr", "fieldDesignator",
1249 "offsetofExpr", "sizeofExpr", "@16", "processSizeof",
1250 "endprocessSizeof", "sizeofExprAux", "castExpr", "timesExpr",
1251 "plusExpr", "shiftExpr", "relationalExpr", "equalityExpr", "bitandExpr",
1252 "xorExpr", "bitorExpr", "andExpr", "@17", "orExpr", "@18",
1253 "conditionalExpr", "@19", "@20", "assignExpr", "expr", "optExpr",
1254 "constantExpr", "initializer", "instanceDecl", "@21", "@22",
1255 "namedInitializerType", "namedInitializer", "@23", "typeDecl", "@24",
1256 "IsType", "PushType", "namedInitializerList", "namedInitializerListAux",
1257 "namedInitializerTypeList", "namedInitializerTypeListAux",
1258 "optDeclarators", "init", "designation", "designatorList", "designator",
1259 "initList", "storageSpecifier", "stateClause", "stateClausePlain",
1260 "@25", "conditionClause", "startConditionClause",
1261 "conditionClausePlain", "@26", "@27", "functionConstraint",
1262 "exitsQualifier", "checkQualifier", "stateQualifier", "paramQualifier",
1263 "visibilityQualifier", "returnQualifier", "typedefQualifier",
1264 "refcountQualifier", "typeModifier", "definedQualifier",
1265 "typeQualifier", "typeSpecifier", "completeType",
1266 "completeTypeSpecifier", "altType", "completeTypeSpecifierAux",
1267 "optCompleteType", "optStructInvariant", "suSpc", "@28", "@29", "@30",
1268 "@31", "@32", "@33", "@34", "@35", "NotType", "structDeclList",
1269 "structDecl", "structNamedDeclList", "structNamedDecl", "enumSpc",
1270 "@36", "enumeratorList", "enumerator", "optNamedDecl", "namedDecl",
1271 "genericParamList", "innerMods", "innerModsList", "pointers",
1272 "paramIdList", "idList", "paramTypeList", "paramList", "@37", "@38",
1273 "paramDecl", "typeExpression", "abstractDecl", "optAbstractDeclBase",
1274 "abstractDeclBase", "stmt", "debugStmt", "iterBody", "endBody",
1275 "iterDefStmtList", "iterDefIterationStmt", "forPred", "@39", "@40",
1276 "partialIterStmt", "@41", "iterDefStmt", "iterSelectionStmt", "@42",
1277 "openScope", "closeScope", "macroBody", "stmtErr", "labeledStmt",
1278 "optExtraFallThroughs", "caseStmt", "@43", "@44", "defaultStmt", "@45",
1279 "@46", "compoundStmt", "compoundStmtErr", "CreateInnerScope",
1280 "DeleteInnerScope", "CreateStructInnerScope", "DeleteStructInnerScope",
1281 "DeleteInnerScopeSafe", "compoundStmtRest", "compoundStmtAux",
1282 "compoundStmtAuxErr", "stmtListErr", "initializerList",
1283 "typeInitializerList", "typeInitializer", "stmtList", "expressionStmt",
1284 "expressionStmtErr", "ifPred", "selectionStmt", "@47", "@48",
1285 "whilePred", "iterWhilePred", "iterStmt", "@49", "@50", "iterArgList",
1286 "@51", "iterArgExpr", "cconstantExpr", "primaryIterExpr",
1287 "postfixIterExpr", "unaryIterExpr", "castIterExpr", "timesIterExpr",
1288 "plusIterExpr", "shiftIterExpr", "relationalIterExpr",
1289 "equalityIterExpr", "bitandIterExpr", "xorIterExpr", "bitorIterExpr",
1290 "andIterExpr", "orIterExpr", "conditionalIterExpr", "@52", "@53",
1291 "assignIterExpr", "endIter", "doHeader", "iterationStmt",
1292 "iterationStmtErr", "jumpStmt", "optSemi", "optComma", "id", "newId",
1298 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1300 static const unsigned short yytoknum[] =
1302 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1303 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1304 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1305 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1306 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1307 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1308 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1309 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1310 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1311 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1312 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1313 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1314 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1315 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1316 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1317 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1318 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1319 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1320 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1321 445, 446, 447, 448, 449, 450, 451
1325 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1326 static const unsigned short yyr1[] =
1328 0, 197, 198, 198, 199, 199, 200, 200, 200, 200,
1329 200, 200, 200, 200, 201, 201, 203, 202, 204, 204,
1330 205, 205, 206, 206, 206, 206, 207, 206, 208, 206,
1331 209, 209, 209, 209, 210, 209, 211, 209, 213, 214,
1332 212, 215, 215, 215, 215, 216, 217, 219, 218, 220,
1333 218, 221, 221, 222, 223, 223, 224, 224, 225, 226,
1334 226, 227, 227, 227, 228, 228, 228, 229, 229, 230,
1335 230, 230, 230, 230, 230, 230, 230, 231, 232, 232,
1336 233, 233, 234, 234, 235, 235, 235, 235, 235, 235,
1337 236, 236, 236, 236, 236, 236, 237, 239, 238, 240,
1338 241, 243, 242, 244, 244, 245, 246, 246, 247, 248,
1339 248, 249, 249, 250, 251, 251, 252, 252, 252, 253,
1340 253, 253, 253, 253, 254, 254, 254, 254, 254, 255,
1341 255, 256, 256, 258, 257, 259, 260, 257, 261, 262,
1342 262, 263, 263, 263, 263, 263, 263, 263, 263, 263,
1343 264, 264, 265, 265, 266, 266, 266, 266, 266, 266,
1344 266, 266, 267, 267, 268, 268, 269, 269, 269, 269,
1345 269, 269, 270, 269, 271, 271, 271, 271, 271, 271,
1346 271, 271, 271, 271, 272, 272, 273, 273, 273, 273,
1347 273, 273, 273, 273, 273, 273, 273, 274, 274, 274,
1348 275, 277, 276, 278, 279, 280, 280, 280, 280, 281,
1349 281, 282, 282, 282, 282, 283, 283, 283, 284, 284,
1350 284, 285, 285, 285, 285, 285, 286, 286, 286, 287,
1351 287, 288, 288, 289, 289, 290, 291, 290, 292, 293,
1352 292, 294, 295, 296, 294, 297, 297, 297, 297, 297,
1353 297, 297, 297, 297, 297, 297, 297, 298, 298, 299,
1354 299, 300, 301, 301, 301, 302, 303, 302, 304, 302,
1355 305, 305, 306, 307, 306, 309, 308, 308, 308, 310,
1356 311, 312, 313, 313, 314, 315, 315, 316, 316, 317,
1357 317, 317, 317, 318, 318, 319, 319, 320, 320, 321,
1358 321, 322, 322, 322, 322, 322, 323, 325, 324, 326,
1359 327, 329, 328, 330, 328, 331, 331, 332, 332, 332,
1360 332, 332, 333, 333, 333, 333, 334, 334, 334, 334,
1361 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
1362 334, 334, 334, 335, 335, 336, 336, 337, 337, 338,
1363 338, 338, 338, 338, 339, 339, 339, 339, 339, 339,
1364 340, 340, 340, 340, 341, 341, 341, 341, 342, 342,
1365 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
1366 343, 343, 343, 343, 343, 343, 343, 343, 343, 343,
1367 343, 343, 343, 343, 344, 345, 345, 346, 346, 347,
1368 347, 347, 348, 348, 349, 351, 352, 350, 353, 354,
1369 350, 350, 350, 355, 356, 350, 357, 358, 350, 350,
1370 350, 350, 350, 359, 360, 360, 360, 361, 361, 362,
1371 362, 363, 363, 363, 364, 365, 364, 364, 366, 366,
1372 366, 367, 367, 368, 368, 368, 368, 369, 369, 370,
1373 370, 371, 371, 371, 372, 372, 373, 373, 373, 373,
1374 374, 374, 375, 375, 376, 376, 376, 378, 377, 379,
1375 377, 380, 380, 381, 381, 382, 382, 382, 383, 383,
1376 384, 384, 384, 384, 384, 384, 384, 384, 384, 385,
1377 385, 385, 385, 385, 385, 385, 385, 385, 385, 386,
1378 387, 388, 389, 389, 390, 390, 390, 390, 392, 393,
1379 391, 395, 394, 394, 396, 396, 396, 396, 396, 396,
1380 396, 396, 396, 396, 396, 396, 396, 398, 397, 399,
1381 400, 401, 401, 402, 402, 402, 402, 402, 402, 402,
1382 402, 402, 402, 402, 402, 403, 403, 404, 404, 406,
1383 405, 407, 405, 409, 408, 410, 408, 411, 411, 412,
1384 413, 414, 415, 416, 417, 418, 418, 418, 418, 418,
1385 418, 418, 418, 419, 420, 420, 420, 420, 421, 421,
1386 422, 422, 423, 423, 424, 424, 425, 425, 426, 426,
1387 427, 427, 427, 428, 429, 430, 429, 431, 429, 432,
1388 433, 435, 436, 434, 437, 438, 437, 439, 439, 439,
1389 439, 440, 440, 441, 441, 442, 442, 442, 442, 442,
1390 442, 442, 442, 442, 443, 443, 443, 443, 443, 443,
1391 443, 443, 443, 443, 444, 444, 445, 445, 445, 445,
1392 446, 446, 446, 447, 447, 447, 448, 448, 448, 448,
1393 448, 449, 449, 449, 450, 450, 451, 451, 452, 452,
1394 453, 453, 454, 454, 455, 456, 457, 455, 458, 458,
1395 458, 458, 458, 458, 458, 458, 458, 458, 458, 458,
1396 459, 459, 460, 461, 461, 461, 462, 462, 462, 462,
1397 463, 463, 463, 463, 463, 463, 463, 463, 463, 463,
1398 464, 464, 465, 465, 466, 467, 467, 467, 467, 467,
1402 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1403 static const unsigned char yyr2[] =
1405 0, 2, 0, 1, 1, 2, 2, 1, 1, 1,
1406 1, 1, 1, 1, 8, 11, 0, 5, 1, 3,
1407 1, 2, 1, 6, 3, 6, 0, 6, 0, 7,
1408 1, 6, 3, 6, 0, 6, 0, 7, 0, 0,
1409 10, 3, 3, 3, 2, 1, 3, 0, 4, 0,
1410 4, 1, 3, 1, 1, 1, 3, 1, 3, 1,
1411 1, 1, 1, 1, 1, 4, 5, 1, 1, 1,
1412 1, 3, 4, 2, 3, 3, 3, 1, 1, 1,
1413 0, 2, 0, 2, 1, 1, 1, 1, 1, 1,
1414 1, 1, 1, 1, 1, 1, 2, 0, 4, 1,
1415 2, 0, 3, 1, 3, 1, 1, 0, 2, 3,
1416 2, 1, 3, 2, 0, 2, 1, 1, 1, 1,
1417 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1418 1, 1, 3, 0, 3, 0, 0, 4, 2, 2,
1419 1, 1, 1, 1, 3, 4, 2, 3, 3, 3,
1420 1, 1, 1, 3, 1, 1, 3, 4, 2, 3,
1421 3, 3, 0, 1, 1, 3, 1, 1, 1, 3,
1422 1, 1, 0, 4, 1, 4, 3, 4, 6, 5,
1423 5, 2, 2, 7, 1, 3, 1, 2, 2, 2,
1424 2, 2, 2, 2, 2, 3, 1, 3, 4, 1,
1425 9, 0, 3, 0, 0, 4, 2, 4, 2, 1,
1426 4, 1, 3, 3, 3, 1, 3, 3, 1, 3,
1427 3, 1, 3, 3, 3, 3, 1, 3, 3, 1,
1428 3, 1, 3, 1, 3, 1, 0, 4, 1, 0,
1429 4, 1, 0, 0, 7, 1, 3, 3, 3, 3,
1430 3, 3, 3, 3, 3, 3, 3, 1, 3, 0,
1431 1, 1, 1, 1, 1, 3, 0, 9, 0, 11,
1432 1, 1, 2, 0, 6, 0, 8, 4, 4, 0,
1433 0, 2, 1, 4, 2, 1, 4, 0, 4, 1,
1434 3, 4, 2, 2, 2, 1, 2, 3, 2, 1,
1435 3, 1, 1, 1, 1, 1, 2, 0, 6, 2,
1436 2, 0, 6, 0, 5, 1, 1, 1, 1, 1,
1437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1439 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1440 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1441 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
1442 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1443 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1444 2, 2, 2, 2, 3, 1, 4, 1, 3, 2,
1445 2, 2, 0, 1, 0, 0, 0, 12, 0, 0,
1446 11, 6, 6, 0, 0, 10, 0, 0, 10, 5,
1447 5, 4, 4, 0, 1, 1, 2, 5, 3, 2,
1448 4, 1, 3, 4, 6, 0, 8, 4, 1, 3,
1449 2, 1, 4, 1, 1, 2, 2, 1, 2, 1,
1450 2, 1, 1, 1, 1, 2, 1, 2, 2, 3,
1451 1, 3, 1, 3, 1, 1, 3, 0, 2, 0,
1452 4, 4, 1, 1, 2, 1, 1, 2, 0, 1,
1453 5, 2, 3, 3, 4, 3, 4, 4, 5, 1,
1454 1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
1455 1, 1, 1, 2, 2, 7, 6, 2, 0, 0,
1456 10, 0, 6, 1, 1, 1, 1, 2, 1, 1,
1457 1, 1, 1, 1, 1, 3, 1, 0, 3, 2,
1458 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1459 1, 3, 1, 1, 1, 2, 2, 0, 2, 0,
1460 4, 0, 6, 0, 3, 0, 5, 3, 2, 3,
1461 0, 0, 0, 0, 0, 1, 2, 2, 3, 2,
1462 3, 3, 4, 2, 2, 3, 3, 4, 1, 2,
1463 1, 2, 1, 3, 1, 4, 1, 2, 1, 2,
1464 1, 2, 1, 4, 2, 0, 5, 0, 6, 4,
1465 4, 0, 0, 10, 1, 0, 4, 1, 1, 1,
1466 1, 1, 2, 1, 3, 1, 4, 3, 4, 6,
1467 5, 5, 2, 2, 1, 2, 2, 2, 2, 2,
1468 2, 2, 2, 1, 1, 4, 1, 3, 3, 3,
1469 1, 3, 3, 1, 3, 3, 1, 3, 3, 3,
1470 3, 1, 3, 3, 1, 3, 1, 3, 1, 3,
1471 1, 3, 1, 3, 1, 0, 0, 7, 1, 3,
1472 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1473 1, 0, 1, 2, 7, 2, 2, 7, 6, 2,
1474 3, 2, 3, 2, 3, 3, 3, 3, 2, 3,
1475 0, 1, 0, 1, 1, 1, 1, 1, 1, 1,
1479 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1480 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1481 means the default is an error. */
1482 static const unsigned short yydefact[] =
1484 0, 13, 12, 456, 0, 423, 263, 423, 16, 0,
1485 0, 0, 0, 279, 279, 279, 302, 301, 303, 304,
1486 305, 364, 365, 328, 330, 329, 333, 334, 322, 324,
1487 325, 323, 331, 332, 366, 367, 326, 327, 343, 339,
1488 335, 340, 336, 317, 318, 321, 319, 320, 361, 362,
1489 363, 360, 345, 344, 338, 337, 349, 350, 351, 352,
1490 353, 347, 348, 346, 354, 355, 358, 359, 356, 357,
1491 423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
1492 341, 704, 705, 709, 342, 706, 707, 710, 0, 0,
1493 4, 7, 8, 447, 9, 10, 135, 45, 700, 11,
1494 262, 264, 0, 402, 279, 279, 279, 279, 279, 279,
1495 279, 279, 423, 279, 402, 402, 423, 395, 423, 0,
1496 423, 131, 279, 708, 22, 423, 451, 452, 453, 454,
1497 457, 458, 279, 282, 279, 279, 275, 423, 711, 423,
1498 423, 709, 0, 544, 203, 553, 0, 0, 0, 682,
1499 0, 0, 0, 0, 203, 590, 0, 203, 203, 203,
1500 203, 203, 203, 279, 203, 203, 0, 44, 0, 0,
1501 0, 0, 0, 0, 547, 203, 171, 167, 170, 611,
1502 601, 174, 186, 209, 196, 279, 211, 215, 218, 221,
1503 226, 229, 231, 233, 235, 238, 241, 245, 257, 592,
1504 543, 0, 0, 578, 533, 534, 535, 536, 0, 0,
1505 537, 203, 538, 0, 539, 168, 0, 540, 542, 166,
1506 0, 526, 0, 588, 0, 560, 513, 0, 0, 0,
1507 522, 0, 523, 502, 521, 518, 519, 514, 515, 516,
1508 0, 0, 520, 527, 0, 0, 524, 501, 0, 368,
1509 370, 369, 380, 382, 381, 383, 384, 385, 386, 387,
1510 388, 389, 1, 5, 279, 0, 133, 138, 423, 701,
1511 6, 423, 403, 399, 373, 375, 372, 374, 377, 376,
1512 378, 379, 393, 371, 400, 401, 0, 279, 279, 391,
1513 279, 279, 0, 392, 448, 390, 455, 459, 279, 167,
1514 170, 0, 423, 473, 0, 166, 423, 0, 281, 423,
1515 0, 272, 279, 700, 18, 20, 0, 423, 279, 30,
1516 467, 209, 261, 549, 0, 203, 203, 203, 203, 0,
1517 691, 693, 698, 0, 560, 0, 0, 0, 189, 194,
1518 193, 192, 191, 190, 0, 279, 187, 188, 203, 203,
1519 0, 0, 0, 0, 0, 547, 0, 279, 546, 498,
1520 203, 489, 490, 491, 492, 0, 493, 494, 203, 496,
1521 203, 495, 497, 560, 203, 203, 181, 182, 0, 203,
1522 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
1523 204, 201, 203, 203, 203, 203, 203, 203, 203, 203,
1524 203, 203, 203, 203, 203, 203, 203, 203, 236, 242,
1525 239, 591, 203, 689, 41, 0, 561, 579, 594, 686,
1526 612, 0, 545, 203, 0, 0, 0, 589, 42, 503,
1527 507, 580, 423, 517, 529, 530, 0, 0, 0, 43,
1528 24, 203, 467, 423, 423, 279, 265, 132, 0, 397,
1529 0, 423, 0, 423, 0, 279, 0, 712, 279, 203,
1530 0, 475, 474, 476, 713, 279, 278, 279, 277, 273,
1531 423, 0, 279, 0, 423, 279, 21, 464, 0, 0,
1532 449, 465, 279, 0, 554, 0, 597, 0, 260, 0,
1533 690, 699, 560, 0, 169, 203, 541, 279, 0, 0,
1534 0, 694, 695, 696, 697, 692, 548, 203, 555, 0,
1535 685, 423, 558, 683, 0, 0, 176, 0, 184, 0,
1536 0, 0, 246, 247, 248, 249, 250, 251, 252, 253,
1537 254, 255, 256, 195, 0, 212, 213, 214, 217, 216,
1538 219, 220, 222, 223, 224, 225, 227, 228, 230, 232,
1539 234, 203, 203, 203, 258, 574, 711, 578, 0, 423,
1540 559, 595, 0, 0, 525, 511, 279, 581, 528, 0,
1541 0, 26, 0, 565, 203, 586, 134, 423, 203, 560,
1542 279, 266, 396, 279, 413, 0, 421, 416, 0, 422,
1543 0, 438, 441, 435, 437, 394, 481, 0, 467, 477,
1544 203, 0, 283, 271, 285, 270, 279, 279, 279, 700,
1545 17, 32, 203, 467, 279, 19, 450, 460, 462, 38,
1546 469, 423, 468, 472, 550, 593, 0, 599, 203, 173,
1547 203, 210, 423, 0, 279, 499, 551, 0, 557, 573,
1548 0, 602, 203, 177, 175, 279, 279, 203, 203, 202,
1549 237, 0, 240, 575, 576, 203, 203, 203, 600, 203,
1550 423, 203, 423, 80, 28, 566, 569, 203, 203, 567,
1551 203, 587, 137, 0, 268, 279, 398, 419, 562, 405,
1552 420, 562, 408, 279, 440, 279, 0, 482, 485, 279,
1553 0, 483, 0, 467, 423, 107, 284, 203, 279, 279,
1554 0, 34, 0, 279, 0, 82, 466, 279, 478, 203,
1555 0, 203, 584, 702, 582, 0, 0, 0, 556, 203,
1556 203, 185, 179, 180, 279, 206, 279, 208, 243, 577,
1557 596, 0, 279, 203, 203, 203, 203, 203, 203, 203,
1558 203, 0, 167, 170, 186, 209, 633, 215, 218, 221,
1559 226, 229, 231, 233, 235, 238, 0, 605, 604, 168,
1560 615, 624, 634, 636, 640, 643, 646, 651, 654, 656,
1561 658, 660, 662, 664, 668, 607, 166, 0, 25, 0,
1562 97, 101, 99, 124, 125, 126, 127, 128, 129, 130,
1563 27, 80, 84, 0, 86, 85, 0, 89, 0, 423,
1564 423, 87, 0, 88, 313, 0, 80, 570, 571, 203,
1565 568, 23, 279, 287, 423, 411, 562, 423, 412, 562,
1566 434, 439, 203, 0, 0, 486, 484, 487, 0, 279,
1567 0, 106, 203, 203, 0, 289, 274, 203, 0, 295,
1568 0, 203, 0, 423, 82, 36, 0, 461, 463, 39,
1569 82, 90, 92, 91, 95, 93, 94, 470, 443, 0,
1570 279, 478, 444, 479, 598, 508, 702, 203, 0, 0,
1571 178, 552, 0, 605, 0, 0, 203, 688, 0, 0,
1572 189, 194, 193, 192, 191, 190, 187, 188, 203, 203,
1573 203, 181, 182, 0, 203, 203, 203, 203, 203, 203,
1574 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
1575 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
1576 203, 203, 665, 203, 512, 0, 506, 105, 110, 103,
1577 114, 700, 81, 96, 100, 108, 307, 310, 306, 0,
1578 311, 309, 29, 572, 203, 0, 425, 423, 423, 424,
1579 423, 423, 423, 442, 279, 480, 488, 286, 276, 299,
1580 0, 0, 298, 292, 293, 296, 294, 287, 14, 33,
1581 35, 82, 31, 700, 83, 467, 471, 445, 446, 203,
1582 0, 583, 183, 0, 199, 0, 560, 205, 207, 244,
1583 687, 169, 203, 0, 176, 0, 0, 0, 0, 669,
1584 670, 671, 672, 673, 674, 675, 676, 677, 678, 679,
1585 212, 213, 214, 217, 216, 219, 220, 222, 223, 224,
1586 225, 227, 228, 230, 232, 234, 661, 203, 663, 203,
1587 505, 109, 0, 119, 120, 121, 122, 123, 700, 111,
1588 423, 114, 0, 0, 142, 143, 102, 152, 700, 140,
1589 141, 0, 49, 0, 0, 59, 60, 70, 68, 316,
1590 0, 315, 57, 77, 0, 64, 67, 0, 700, 69,
1591 162, 287, 279, 423, 0, 279, 426, 414, 423, 417,
1592 423, 436, 290, 203, 297, 700, 37, 0, 279, 509,
1593 585, 279, 203, 0, 684, 681, 210, 279, 177, 175,
1594 279, 279, 0, 606, 104, 114, 98, 117, 113, 118,
1595 116, 115, 0, 146, 0, 0, 0, 0, 139, 0,
1596 0, 155, 164, 700, 154, 0, 0, 67, 0, 73,
1597 0, 55, 54, 0, 62, 61, 63, 0, 0, 0,
1598 0, 0, 0, 279, 700, 163, 0, 267, 279, 428,
1599 279, 279, 423, 431, 0, 406, 0, 409, 291, 300,
1600 0, 40, 279, 0, 200, 0, 197, 680, 561, 0,
1601 179, 180, 666, 112, 147, 144, 150, 0, 151, 148,
1602 149, 153, 0, 158, 0, 0, 0, 0, 279, 0,
1603 79, 78, 0, 74, 0, 51, 46, 47, 56, 67,
1604 58, 71, 0, 75, 76, 0, 0, 314, 279, 279,
1605 288, 203, 279, 0, 429, 279, 415, 0, 418, 0,
1606 15, 510, 198, 603, 178, 203, 145, 159, 156, 0,
1607 160, 161, 165, 308, 53, 50, 0, 0, 72, 48,
1608 65, 312, 269, 432, 423, 427, 203, 404, 410, 667,
1609 157, 66, 52, 430, 433, 407
1612 /* YYDEFGOTO[NTERM-NUM]. */
1613 static const short yydefgoto[] =
1615 -1, 88, 89, 90, 91, 92, 140, 313, 314, 93,
1616 663, 806, 315, 844, 971, 94, 705, 973, 946, 96,
1617 1059, 1195, 1141, 1125, 1196, 1235, 1133, 1061, 1062, 1063,
1618 1137, 1064, 1065, 1199, 1067, 1192, 790, 849, 791, 850,
1619 792, 851, 930, 852, 795, 853, 931, 928, 929, 830,
1620 797, 798, 1038, 1039, 1040, 1108, 1041, 799, 800, 97,
1621 267, 443, 268, 579, 98, 1046, 1176, 1177, 1048, 1122,
1622 1144, 1123, 181, 334, 182, 517, 183, 983, 184, 746,
1623 534, 185, 533, 649, 186, 187, 188, 189, 190, 191,
1624 192, 193, 194, 195, 551, 196, 553, 197, 552, 876,
1625 198, 227, 489, 323, 431, 100, 675, 812, 604, 605,
1626 608, 101, 309, 102, 265, 134, 135, 606, 607, 945,
1627 836, 837, 838, 839, 960, 103, 801, 855, 1051, 803,
1628 804, 856, 1070, 939, 1068, 104, 105, 106, 107, 108,
1629 109, 110, 111, 112, 113, 114, 115, 303, 432, 448,
1630 117, 273, 1255, 118, 816, 1217, 819, 1219, 678, 1154,
1631 681, 1156, 119, 948, 949, 1151, 1152, 120, 686, 590,
1632 591, 860, 137, 479, 129, 130, 122, 616, 617, 480,
1633 481, 482, 707, 622, 336, 824, 862, 463, 358, 359,
1634 228, 248, 229, 230, 360, 979, 1163, 232, 659, 233,
1635 234, 436, 235, 236, 202, 417, 361, 356, 362, 483,
1636 717, 363, 324, 637, 364, 207, 365, 560, 814, 1077,
1637 241, 576, 512, 416, 209, 577, 713, 714, 578, 366,
1638 210, 211, 367, 656, 626, 368, 244, 369, 373, 720,
1639 757, 925, 758, 215, 760, 761, 762, 763, 764, 765,
1640 766, 767, 768, 769, 770, 771, 772, 773, 774, 1027,
1641 1225, 775, 1168, 370, 371, 217, 372, 270, 868, 305,
1645 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1647 #define YYPACT_NINF -1021
1648 static const short yypact[] =
1650 2377, -1021, -1021, 434, 55, 5691, -1021, 6920, -1021, 627,
1651 2271, 3974, 3974, -1021, -1021, -1021, -1021, -1021, -1021, -1021,
1652 -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021,
1653 -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021,
1654 -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021,
1655 -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021,
1656 -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021,
1657 -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021,
1658 -1021, -1021, -1021, 114, -1021, -1021, -1021, -1021, 101, 2559,
1659 -1021, -1021, -1021, 469, -1021, -1021, 119, -1021, 163, -1021,
1660 -1021, -1021, 202, 6506, -1021, -1021, -1021, -1021, -1021, -1021,
1661 -1021, -1021, -1021, -1021, 6506, 6506, 221, 168, -1021, 795,
1662 -1021, -1021, 627, -1021, -1021, -1021, -1021, -1021, -1021, -1021,
1663 434, -1021, 5859, -1021, 245, -1021, 221, -1021, -1021, -1021,
1664 5691, -1021, 276, -1021, 5982, -1021, 281, 341, 348, -1021,
1665 361, 627, 382, 390, 1410, -1021, 2945, 5982, 5982, 5982,
1666 5982, 5982, 5982, -1021, 6011, 6011, 397, -1021, 420, 412,
1667 454, 472, 527, 501, 430, 5148, -1021, 533, 570, -1021,
1668 580, -1021, 751, 858, -1021, -1021, -1021, 965, 359, 289,
1669 538, 404, 581, 579, 588, 605, 85, -1021, -1021, 380,
1670 -1021, 3762, 542, 592, -1021, -1021, -1021, -1021, 682, 3442,
1671 -1021, 5148, -1021, 3762, -1021, 550, 3762, -1021, -1021, 670,
1672 740, -1021, 748, -1021, 3140, 580, 743, 489, 738, 3868,
1673 -1021, 3974, -1021, -1021, -1021, 6230, -1021, -1021, -1021, -1021,
1674 770, 825, -1021, -1021, 3974, 3762, -1021, -1021, 752, -1021,
1675 -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021,
1676 -1021, -1021, -1021, -1021, 849, 828, -1021, -1021, 6782, -1021,
1677 -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021,
1678 -1021, -1021, -1021, -1021, -1021, -1021, 839, 325, -1021, -1021,
1679 627, 627, 185, -1021, 469, -1021, -1021, -1021, 1773, -1021,
1680 -1021, 102, 6920, 161, 873, -1021, -1021, 894, -1021, -1021,
1681 909, 923, 325, 163, -1021, 645, 935, -1021, 627, -1021,
1682 229, -1021, -1021, -1021, 944, 5982, 5982, 5982, 1542, 943,
1683 -1021, -1021, -1021, 625, 967, 611, 949, 983, -1021, -1021,
1684 -1021, -1021, -1021, -1021, 972, 1773, -1021, -1021, 5982, 5982,
1685 1004, 1006, 1010, 1016, 1017, 430, 543, 2059, -1021, -1021,
1686 5148, -1021, -1021, -1021, -1021, 1018, -1021, -1021, 5148, -1021,
1687 5148, -1021, -1021, -1021, 5880, 5982, -1021, -1021, 64, 5982,
1688 5982, 5982, 5982, 5982, 5982, 5982, 5982, 5982, 5982, 5982,
1689 -1021, -1021, 5982, 5982, 5982, 5982, 5982, 5982, 5982, 5982,
1690 5982, 5982, 5982, 5982, 5982, 5982, 5982, 5982, -1021, -1021,
1691 -1021, -1021, 5982, -1021, -1021, 2750, -1021, -1021, 1027, -1021,
1692 -1021, 1028, -1021, 5982, 673, 1013, 1020, -1021, -1021, -1021,
1693 -1021, -1021, 221, 6230, -1021, -1021, 3974, 3548, 1030, -1021,
1694 -1021, 5982, 58, 4081, 5232, 325, -1021, 590, 954, 1029,
1695 1033, 1037, 1038, 1037, 627, 1039, 128, -1021, -1021, 5891,
1696 1024, 709, -1021, 757, -1021, 325, -1021, 678, -1021, -1021,
1697 -1021, 968, 1022, 1036, -1021, 325, 645, -1021, 627, 1041,
1698 -1021, 1040, 627, 1042, -1021, 264, 1046, 385, 1046, 1044,
1699 -1021, -1021, 967, 1043, -1021, 5583, -1021, -1021, 1047, 1048,
1700 395, -1021, -1021, -1021, -1021, -1021, -1021, 5982, -1021, 1049,
1701 -1021, 4081, -1021, -1021, 1062, 1053, -1021, 417, -1021, 103,
1702 627, 627, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021,
1703 -1021, -1021, -1021, -1021, 610, -1021, -1021, -1021, 965, 965,
1704 359, 359, 289, 289, 289, 289, 538, 538, 404, 581,
1705 579, 5982, 5982, 5982, -1021, -1021, 3335, -1021, 3655, 4271,
1706 -1021, -1021, 1054, 573, -1021, -1021, 325, -1021, -1021, 1055,
1707 1057, -1021, 1056, -1021, 4651, -1021, -1021, 4461, 4695, 967,
1708 -1021, 1063, -1021, -1021, 1060, 1068, -1021, 1070, 1072, -1021,
1709 560, -1021, 1069, -1021, -1021, -1021, -1021, 1071, 744, 757,
1710 5923, 1073, -1021, -1021, -1021, -1021, 1074, -1021, -1021, 175,
1711 -1021, -1021, 5982, 200, 325, -1021, -1021, 1075, -1021, -1021,
1712 1094, 6920, -1021, -1021, -1021, -1021, 1079, -1021, 1542, -1021,
1713 5610, -1021, -1021, 1081, -1021, -1021, -1021, 1087, -1021, -1021,
1714 1086, -1021, 5982, -1021, -1021, -1021, -1021, 6060, 6090, -1021,
1715 588, 689, 605, -1021, -1021, 4802, 5148, 5982, -1021, 6149,
1716 -1021, 5982, -1021, 1090, -1021, -1021, -1021, 4846, 4953, -1021,
1717 4997, -1021, -1021, 1093, -1021, -1021, -1021, -1021, -1021, 1103,
1718 -1021, -1021, 1104, -1021, 627, -1021, 627, -1021, -1021, 290,
1719 1101, -1021, 1100, 66, -1021, 1058, -1021, 2136, -1021, -1021,
1720 1102, -1021, 1111, -1021, 259, 1090, -1021, 627, 788, 5148,
1721 1123, 5610, -1021, 1122, -1021, 1125, 1119, 1127, -1021, 5982,
1722 6149, -1021, -1021, -1021, 1773, -1021, 1773, -1021, -1021, -1021,
1723 -1021, 658, 1773, 5982, 5982, 5982, 5982, 5982, 5982, 6011,
1724 6011, 1130, 746, 776, 851, 1480, -1021, 976, 772, 885,
1725 597, 830, 1128, 1112, 1120, 1105, 181, 1143, -1021, 49,
1726 -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021,
1727 -1021, -1021, -1021, -1021, -1021, -1021, 777, 803, -1021, 980,
1728 -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021,
1729 -1021, 1090, -1021, 1088, -1021, -1021, 1089, -1021, 1091, -1021,
1730 -1021, -1021, 1092, -1021, 2080, 1097, 1090, -1021, -1021, 5104,
1731 -1021, -1021, -1021, -1021, 6644, -1021, -1021, 6644, -1021, -1021,
1732 -1021, -1021, 5982, 973, 1164, -1021, -1021, -1021, 1165, 678,
1733 1173, -1021, 2136, 5982, 627, -1021, -1021, 2136, 711, -1021,
1734 1171, 2136, 1106, -1021, 1090, -1021, 1169, -1021, -1021, -1021,
1735 1090, -1021, -1021, -1021, -1021, -1021, -1021, -1021, 469, 1172,
1736 -1021, 714, -1021, 757, -1021, -1021, 1122, 5562, 1178, 627,
1737 -1021, -1021, 805, 1174, 1175, 1176, 5982, 1184, 806, 1183,
1738 815, 829, 834, 837, 861, 862, 870, 880, 5982, 5912,
1739 5982, 890, 905, 105, 5982, 5982, 5982, 5982, 5982, 5982,
1740 5982, 5982, 5982, 5982, 5982, 5982, 5982, 5982, 5982, 5982,
1741 5982, 5982, 5982, 5982, 5982, 5982, 5982, 5982, 5982, 5982,
1742 5982, 5982, -1021, 5982, -1021, 1188, 1193, -1021, 1023, 1177,
1743 402, 87, -1021, -1021, -1021, -1021, -1021, -1021, -1021, 456,
1744 -1021, -1021, -1021, -1021, 2136, 700, -1021, 221, 5394, -1021,
1745 6644, 5394, 6644, -1021, -1021, -1021, -1021, -1021, -1021, -1021,
1746 982, 1187, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021,
1747 -1021, 1090, -1021, 163, -1021, 407, -1021, -1021, -1021, 5955,
1748 1196, -1021, -1021, 516, -1021, 1201, 967, 1081, 1081, -1021,
1749 -1021, 907, 5583, 1199, 908, 922, 307, 627, 627, -1021,
1750 -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021,
1751 924, 930, 931, 327, 694, 692, 755, 81, 104, 513,
1752 681, 535, 637, 91, 405, 147, 588, 5982, 605, 6149,
1753 -1021, 550, 980, -1021, -1021, -1021, -1021, -1021, 872, -1021,
1754 6368, 402, 18, 18, -1021, -1021, -1021, 457, 892, -1021,
1755 -1021, 70, -1021, 488, 94, -1021, -1021, -1021, -1021, -1021,
1756 1198, -1021, 30, -1021, 961, -1021, 429, 1200, 163, -1021,
1757 70, -1021, -1021, -1021, 1204, 310, -1021, -1021, 5394, -1021,
1758 5394, -1021, -1021, 1259, -1021, 916, -1021, 1135, 437, -1021,
1759 -1021, -1021, 5982, 627, -1021, 1034, 937, -1021, 939, 948,
1760 -1021, -1021, 997, -1021, -1021, 402, -1021, -1021, -1021, -1021,
1761 -1021, -1021, 89, 457, 555, 627, 627, 18, -1021, 70,
1762 70, -1021, 461, 969, -1021, 1205, 988, 451, 94, 558,
1763 73, -1021, -1021, 488, -1021, -1021, -1021, 488, 27, 627,
1764 627, 1207, 488, -1021, 163, 1211, 971, -1021, 325, -1021,
1765 -1021, 1213, -1021, 1214, 1215, -1021, 1220, -1021, -1021, -1021,
1766 1150, -1021, 132, 1217, -1021, 320, -1021, -1021, -1021, 1218,
1767 950, 958, -1021, -1021, -1021, -1021, 457, 1219, 550, -1021,
1768 -1021, 457, 500, 461, 654, 627, 627, 70, -1021, 1051,
1769 -1021, -1021, 488, -1021, 451, 1208, -1021, 558, -1021, 558,
1770 -1021, -1021, 1223, -1021, -1021, 1051, 1226, -1021, -1021, -1021,
1771 -1021, 5982, 310, 1227, -1021, -1021, -1021, 1224, -1021, 1232,
1772 -1021, -1021, -1021, -1021, 963, 5982, -1021, -1021, -1021, 1228,
1773 -1021, -1021, 461, -1021, -1021, -1021, 1234, 73, -1021, -1021,
1774 -1021, -1021, -1021, -1021, -1021, -1021, 5982, -1021, -1021, -1021,
1775 -1021, -1021, -1021, -1021, -1021, -1021
1778 /* YYPGOTO[NTERM-NUM]. */
1779 static const short yypgoto[] =
1781 -1021, -1021, -1021, 1179, -1021, -1021, -1021, -1021, -382, -115,
1782 -1021, -1021, 942, -1021, -1021, -1021, -1021, -1021, 76, -1021,
1783 -1021, 314, -1021, -1021, 24, 57, -1021, 130, -1021, -1021,
1784 -1021, -943, -1021, -910, -1021, -1021, -718, -731, -1021, -1021,
1785 -1021, -603, -1021, -579, -1021, -420, -1021, 233, -1021, -1021,
1786 571, -667, -1021, 162, 228, -1021, -1021, -1021, -1021, -1021,
1787 -1021, -1021, -1021, -1021, -1021, -1021, -882, 86, -1021, -1020,
1788 -1021, 201, -1021, -1021, -624, 386, 1233, -1021, -1021, 1095,
1789 -1021, -1021, -1021, -1021, -114, -378, -375, -344, -363, -391,
1790 -390, -387, -524, -520, -1021, -622, -1021, -140, -1021, -1021,
1791 1113, 1267, -596, -438, 6, -1021, -1021, -1021, 445, -3,
1792 -1021, -1021, -1021, 650, -253, -1021, -1021, -1021, -1021, -902,
1793 -760, -1021, -1021, 438, -1021, -1021, -1021, -392, -1021, -1021,
1794 -1021, -366, -1021, -1021, -1021, -1021, -1021, 477, -1021, -1021,
1795 -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, 75, 699,
1796 -1021, 918, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021,
1797 -1021, -1021, 1244, -523, -898, -1021, 74, -1021, -1021, 608,
1798 613, 439, 1, -383, 1168, -1021, 33, -1021, -1021, -573,
1799 -1021, -1021, -1021, 595, -117, 998, -1021, -448, 695, 41,
1800 1291, -1021, 1061, -1021, 741, -1021, -1021, -1021, -1021, -163,
1801 -1021, -1021, -1021, -1021, -1021, 20, 994, 955, 1545, -1021,
1802 -1021, 1639, -1021, -1021, -326, -1021, 594, 136, -502, -714,
1803 -1021, 800, -1021, -1021, 897, -201, 602, 459, -474, 125,
1804 -1021, 180, 54, -1021, -1021, 137, -1021, 142, -1021, -1021,
1805 604, -1021, 298, -633, -1021, -1021, -1021, -1021, -1021, -1021,
1806 -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021, -1021,
1807 -1021, -1021, -1021, 1698, -1021, -1021, 1818, -274, 462, 0,
1811 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1812 positive, shift that token. If negative, reduce the rule which
1813 number is the opposite. If zero, do what YYDEFACT says.
1814 If YYTABLE_NINF, syntax error. */
1815 #define YYTABLE_NINF -712
1816 static const short yytable[] =
1818 123, 121, 133, 570, 322, 123, 99, 294, 493, 123,
1819 219, 219, 219, 599, 548, 304, 549, 538, 539, 124,
1820 550, 597, 540, 541, 124, 690, 759, 650, 142, 1066,
1821 203, 509, 710, 652, 433, 744, 131, 756, 854, 471,
1822 546, 547, 1042, 338, 339, 340, 341, 342, 343, 1047,
1823 1076, 200, 1043, 1076, 1201, 542, 543, 544, 545, 572,
1824 793, 425, 473, 477, 212, 1085, 429, 444, 430, 636,
1825 -613, 477, 959, 932, -613, 116, 95, 963, 1052, 132,
1826 136, 967, 139, 571, 794, 655, 1131, 759, 942, 123,
1827 121, 827, 520, 615, 1119, 99, 744, 1128, 756, 1182,
1828 1183, 262, -647, 668, 1120, 269, -647, 1054, 124, 521,
1829 1126, 1042, -655, 970, 1174, 1114, -655, 1115, 1128, 974,
1830 828, 1043, 123, 412, 412, -648, 409, 457, 1054, -648,
1831 644, 397, 398, 997, 1116, 754, 242, 242, 266, 755,
1832 123, 124, 410, 1127, 1129, 403, 404, 213, -711, 412,
1833 998, 123, 214, 494, 397, 398, 219, -475, 459, 319,
1834 1112, 1113, 692, 297, 116, 95, 509, 1232, -659, 1146,
1835 329, 449, -659, 318, 700, 219, 337, 854, 272, 817,
1836 1076, 269, 1076, 854, 1071, -279, 406, 459, 793, 272,
1837 272, 243, 243, 269, 1200, 3, 754, 200, 698, 1206,
1838 755, 219, -711, 793, 454, 477, 81, 1044, 1045, 219,
1839 212, 219, 794, 219, 559, 317, 219, 1132, 1194, 1202,
1840 1197, 413, 922, 473, 219, 701, 271, 794, 498, 219,
1841 702, 219, 703, 419, 477, 1181, 421, 1079, 923, -279,
1842 1086, 420, 200, 796, 219, 219, -423, -423, -423, 1236,
1843 200, -423, -423, 672, 200, 212, 288, 200, 81, 1121,
1844 863, 81, 1057, 212, 847, 438, 306, 212, 751, 752,
1845 212, 802, 753, 568, 429, 81, 1044, 1045, 535, 536,
1846 537, 747, 81, 1057, 748, 412, 200, 123, 447, 625,
1847 123, 123, 123, 213, 951, 1031, 750, 805, 214, 212,
1848 320, 322, -711, -711, 854, 325, 124, -711, -711, 451,
1849 453, 455, 123, 470, 950, 749, 459, 952, 123, 322,
1850 81, 82, 141, 1159, 3, 85, 86, 1197, 412, 751,
1851 752, 124, 1150, 753, 1099, 699, 461, 319, 213, 397,
1852 398, 412, 747, 214, 3, 748, 213, 1222, -642, 242,
1853 213, 214, -642, 213, 242, 214, 242, 750, 214, 3,
1854 219, 392, 393, 394, 1155, 326, 1157, 322, 219, 242,
1855 219, 796, 327, 81, 82, 141, 749, 458, 85, 86,
1856 632, 631, 213, 1089, 953, 328, 796, 214, -423, -423,
1857 -423, 395, 396, -423, -423, 961, 759, 1026, 411, 802,
1858 330, 412, 690, 1028, 243, 744, 412, 756, 331, 243,
1859 627, 243, 477, 863, 802, 219, 412, -423, -423, -423,
1860 635, 348, -423, -423, 243, 805, -657, 1078, 350, 1080,
1861 -657, -423, 688, -423, 405, 557, 219, 219, 642, 567,
1862 805, -423, 643, 219, 349, 123, 580, 81, 82, 141,
1863 567, -47, 85, 86, 123, 1138, 200, 1139, 403, 404,
1864 322, 1052, 602, 459, 124, 123, 449, 123, 3, 212,
1865 351, 3, 322, 592, 1140, 123, 1193, 1138, 123, 1139,
1866 1053, 1178, 123, 1114, 124, 1115, 124, 1184, 352, 1185,
1867 1054, 1033, 1034, -280, 319, 264, 1140, 618, 81, 82,
1868 141, 623, 1116, 85, 86, 754, 1186, 427, 318, 755,
1869 412, 219, 1053, 81, 82, 141, 354, 716, 85, 86,
1870 123, 123, 1054, 1035, 1036, 1227, 1184, 1023, 1185, 1024,
1871 1013, 1014, 355, 1025, -649, 1015, 1016, 1037, -649, 645,
1872 646, 1091, 1092, 353, 1093, 1186, 126, 127, 128, 507,
1873 508, 1178, 213, 1021, 1022, -705, -652, 214, 219, 219,
1874 -652, 242, 242, 397, 398, 567, 123, 660, 1017, 1018,
1875 1019, 1020, 399, 400, 219, 399, 400, 219, 219, 1042,
1876 683, 684, 1175, 567, 1138, 124, 1139, 401, 402, 1043,
1877 401, 402, -709, 858, 412, -423, -423, -423, 658, 200,
1878 -423, -423, -706, 1140, 208, 240, 240, 874, -423, 875,
1879 405, -423, 212, -423, 123, 879, 243, 243, 406, 880,
1880 881, 882, 883, 884, 885, 81, 82, 141, 407, 411,
1881 85, 86, 412, 319, 912, 913, 494, 414, 751, 752,
1882 1055, 1056, 753, 491, 81, 1057, 412, 318, 1058, 914,
1883 915, 747, 647, 648, 748, 219, 219, 1049, -653, 776,
1884 1095, 408, -653, 249, 250, 251, 750, 219, 219, -280,
1885 219, 472, 1055, 1056, 399, 400, 81, 1057, 1042, 412,
1886 1058, 1228, 322, 877, 123, 749, 123, -531, 1043, 401,
1887 402, 427, -708, 322, 412, 213, 708, 219, 494, 1087,
1888 214, 415, -650, 592, 123, 592, -650, 123, 123, 219,
1889 412, 728, 3, -644, 599, -641, 840, -644, 1072, -641,
1890 776, 1073, 461, 848, 395, 396, 623, 124, 392, 393,
1891 394, 397, 398, -279, 964, 459, 989, 833, -279, 834,
1892 459, 861, 420, 81, 1044, 1045, 858, 179, 3, 477,
1893 208, 201, 231, 231, 274, 275, 276, 277, 278, 279,
1894 280, 281, 422, 283, 1106, -707, 286, -610, -423, 688,
1895 -423, -610, 423, 1243, 1118, 374, -645, 375, -423, -423,
1896 -645, -279, 302, 600, 307, 308, 310, 395, 396, 434,
1897 316, 1010, 1011, 1012, 1143, 208, -423, -609, -608, 376,
1898 377, -609, -608, 208, 908, 909, 302, 208, 1254, 219,
1899 208, 1160, -279, 344, 459, 81, 82, 141, 240, 426,
1900 85, 86, 3, 240, 412, 240, 412, 412, 926, 123,
1901 985, 991, 219, 428, 123, 391, -627, 219, 240, 208,
1902 -627, 219, 81, 1044, 1045, 435, 179, 439, 124, 1188,
1903 -632, 840, 442, 962, -632, -631, 840, 446, -630, -631,
1904 840, 123, -630, 290, 291, 292, 81, 82, 141, 123,
1905 1208, 85, 86, 603, 302, 889, 440, 890, 1096, -423,
1906 124, 379, -629, -628, 916, 917, -629, -628, 984, 947,
1907 269, -625, 947, 1105, 861, -625, -423, 201, 464, 891,
1908 892, -626, 81, 82, 141, -626, 418, 85, 86, 977,
1909 269, -622, 466, 1117, 441, -622, 380, 381, 382, 383,
1910 384, 385, 386, 387, 388, 389, -623, 468, -614, -617,
1911 -623, 1050, -614, -617, 269, 910, 911, 1073, 302, 1069,
1912 450, 452, 201, 642, 219, -637, 469, 1098, 302, -637,
1913 201, -638, -639, 460, 201, -638, -639, 201, -635, 474,
1914 -618, 490, -635, 840, -618, 231, 484, 515, 316, -616,
1915 231, -620, 231, -616, 495, -620, 81, 82, 141, -621,
1916 1169, 85, 86, -621, -619, 231, 201, 269, -619, 1209,
1917 1187, 492, 1073, 954, 684, 302, 497, 123, 123, 392,
1918 393, 394, 1082, 1083, 204, 237, 237, 302, 496, 208,
1919 905, 906, 907, 1134, 1135, 1136, 1100, 1101, 412, 1172,
1920 1190, 1191, 501, 947, 502, 947, 947, 947, 503, 776,
1921 240, 240, 284, 285, 504, 505, 561, 511, 564, 562,
1922 1110, 569, 1050, 1050, 565, 582, 1109, 294, 598, 611,
1923 583, 1124, 584, 1069, 1069, 510, -279, 587, 593, 610,
1924 613, 620, 628, 513, 624, 514, 619, 412, 629, 634,
1925 1124, 322, 633, 640, 638, 123, 1153, 641, 657, 661,
1926 677, 664, 286, 219, 662, 1249, 674, 679, 123, 580,
1927 680, 682, 685, 123, 124, 694, 704, 693, 687, 706,
1928 630, 585, 840, 588, 709, 594, 322, 124, 595, 718,
1929 719, 460, 1166, 601, 1050, 123, 123, 1050, 811, 1124,
1930 1124, 1162, 612, 815, 818, 316, 825, 826, 1069, 843,
1931 1069, 779, 621, 1069, 1179, 1180, 845, 1069, 575, 123,
1932 123, 865, 1069, 867, 870, 1210, 869, 302, 123, 871,
1933 204, 919, 208, 947, 888, 947, 201, 918, 1203, 1204,
1934 920, 921, 123, 779, 780, 781, 782, 124, 924, 927,
1935 783, 784, 785, 786, 787, 788, 789, 231, 231, 933,
1936 934, 124, 935, 938, 1050, 123, 123, 1124, 941, 955,
1937 956, 958, 1069, 966, 972, 204, 975, 968, 982, 986,
1938 987, 988, 990, 204, 1230, 1231, 575, 204, 992, 1029,
1939 204, 1030, 123, 1153, 1084, 179, 1090, 1032, 237, 1094,
1940 1097, 1130, 1149, 237, 1142, 237, 1161, 1189, 1167, 1205,
1941 673, 124, 1187, 302, 1212, 1216, 1215, 1069, 237, 204,
1942 1218, 1220, 1221, 1224, 1247, 1245, 1226, 1234, 1237, 601,
1943 1238, 1240, 1248, 1060, 575, 1250, 695, 696, 697, 1251,
1944 476, 1252, 1239, 1198, 316, 1104, 831, 1173, 263, 1111,
1945 1229, 1145, 575, 671, 957, 995, 965, 199, 832, 1158,
1946 390, 940, 676, 298, 302, 833, 1244, 834, 157, 158,
1947 159, 160, 161, 162, 823, 722, 723, 821, 296, 201,
1948 978, 462, 857, 247, 1223, 437, 163, 164, 165, 391,
1949 506, 639, 558, 866, 252, 253, 254, 255, 256, 257,
1950 258, 259, 260, 261, 873, 813, 981, 1103, 980, 0,
1951 166, 0, 0, 820, 0, 822, 0, 0, 0, 460,
1952 0, 0, 0, 0, 0, 0, 0, 0, 841, 842,
1953 671, 730, 0, 846, 0, 0, 282, 621, 859, 0,
1954 287, 0, 289, 671, 293, 0, 0, 0, 0, 295,
1955 391, 0, 0, 0, 302, 176, 302, 321, 0, 0,
1956 0, 311, 302, 312, 0, 0, 0, 0, 0, 0,
1957 321, 321, 321, 321, 321, 321, 0, 346, 347, 301,
1958 0, 0, 0, 0, 864, 0, 0, 0, 0, 204,
1959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1960 0, 333, 0, 335, 0, 0, 378, 0, 332, 0,
1961 237, 237, 0, 0, 298, 0, 0, 0, 0, 157,
1962 158, 159, 160, 161, 162, 0, 0, 81, 177, 178,
1963 0, 179, 85, 86, 0, 0, 0, 163, 164, 165,
1964 0, 499, 944, 0, 0, 0, 0, 0, 199, 0,
1965 0, 0, 0, 0, 0, 0, 199, 0, 0, 0,
1966 199, 166, 0, 199, 0, 0, 0, 518, 0, 0,
1967 0, 424, 522, 523, 524, 525, 526, 527, 528, 529,
1968 530, 531, 532, 894, 0, 0, 0, 0, 0, 0,
1969 976, 859, 199, 601, 0, 445, 0, 0, 0, 0,
1970 0, 0, 0, 0, 0, 554, 176, 0, 0, 0,
1971 0, 0, 0, 0, 0, 0, 0, 0, 895, 896,
1972 897, 898, 899, 900, 901, 902, 903, 904, 0, 0,
1973 465, 0, 204, 467, 0, 205, 238, 238, 0, 0,
1974 -259, 475, 0, 0, 478, 456, 298, 0, 0, 0,
1975 0, 157, 158, 159, 160, 161, 162, 0, 0, 0,
1976 0, 0, 0, 0, 0, 0, 0, 0, 0, 163,
1977 164, 165, 485, 486, 487, 488, 0, 1074, 81, 299,
1978 300, 0, 179, 0, 1081, 0, 0, 0, 0, 0,
1979 0, 0, 456, 166, 0, 0, 500, 0, 0, 0,
1980 0, 0, 0, 0, 456, 321, 321, 321, 321, 321,
1981 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
1982 321, 0, 519, 0, 0, 0, 0, 0, 0, 206,
1983 239, 239, 0, 0, 0, 0, 0, 0, 176, 0,
1984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1985 0, 0, 0, 0, 321, 0, 566, 0, 0, 391,
1986 0, 0, 199, 0, 0, 0, 478, 0, 0, 0,
1987 563, 581, 321, 0, 0, 586, 0, 589, 0, 0,
1988 0, 205, 0, 0, 0, 0, 0, 0, 216, 245,
1989 245, 0, 0, 0, 609, 0, 0, 0, 614, 0,
1990 0, 0, 1147, 0, 0, 0, 0, 0, 321, 0,
1991 81, 299, 300, 0, 179, 0, 0, 0, 859, 0,
1992 321, 1164, 0, 712, 0, 0, 205, 302, 0, 0,
1993 1170, 1171, 0, 0, 205, 721, 0, 0, 205, 0,
1994 0, 205, 0, 0, 0, 0, 0, 0, 0, 238,
1995 0, 0, 0, 0, 238, 0, 238, 0, 0, 0,
1996 0, 0, 0, 0, 321, 0, 321, 0, 0, 238,
1997 205, 0, -172, 1207, 0, 206, 0, 298, 0, 0,
1998 1211, 1213, 157, 158, 159, 160, 161, 162, 0, 0,
1999 835, 0, 859, 0, 0, -203, -203, 0, 0, 651,
2000 163, 164, 165, 0, 712, 199, 0, 0, 218, 246,
2001 246, 0, 0, 321, 0, 0, 0, 0, 1233, 0,
2002 206, 0, 689, 0, 166, 321, 0, 0, 206, 0,
2003 0, 0, 206, 0, 216, 206, 0, 478, 1241, 1242,
2004 0, 0, 0, 239, 0, 1246, 0, 0, 239, 0,
2005 239, 0, 0, 0, 0, 0, 715, 0, 0, 0,
2006 725, 727, 0, 239, 206, 0, 0, 0, 0, 176,
2007 0, 0, 745, 0, 0, 488, 0, 0, 0, 216,
2008 0, 0, 0, 0, 581, 0, 778, 216, 0, 0,
2009 0, 216, 0, 0, 216, 0, 0, 0, 0, 0,
2010 0, 0, 245, 0, 731, 0, 0, 245, 777, 245,
2011 0, 0, 0, 0, 0, 0, 0, 0, 829, 0,
2012 0, 0, 245, 216, 0, 835, 0, 0, 0, 0,
2013 835, 0, 0, 745, 835, 0, 0, 0, 0, 0,
2014 205, 81, 299, 300, 0, 179, 321, 321, 321, 321,
2015 321, 321, 886, 887, 218, 0, 0, 0, 0, 0,
2016 712, 238, 238, 0, 0, 0, 872, 0, 893, 0,
2017 0, 456, 0, 456, 0, 0, 0, 0, 0, 878,
2018 0, 993, 518, 0, 0, 0, 0, 999, 1000, 1001,
2019 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 0, 218,
2020 0, 0, 0, 0, 0, 0, 0, 218, 0, 0,
2021 0, 218, 0, 0, 218, 0, 0, 0, 0, 0,
2022 0, 0, 246, 936, 937, 0, 0, 246, 0, 246,
2023 0, 0, 0, 0, 206, 321, 0, 835, 0, 0,
2024 0, 0, 246, 218, 0, 0, 321, 0, 0, 0,
2025 0, 0, 0, 0, 0, 239, 239, 0, -172, 0,
2026 0, 0, 0, 357, 0, 0, 0, 969, 157, 158,
2027 159, 160, 161, 162, 0, 0, 0, 0, 0, 0,
2028 0, -203, -203, 205, 0, 0, 163, 164, 165, 321,
2029 0, 0, 0, 216, 0, 0, 0, 0, 0, 0,
2030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2031 166, 0, 0, 0, 245, 245, 0, 0, 321, 321,
2032 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
2033 321, 321, 321, 321, 321, 832, 321, 996, 0, 0,
2034 298, 0, 833, 0, 834, 157, 158, 159, 160, 161,
2035 162, 0, 0, 0, 0, 176, 0, 0, 0, 0,
2036 0, 0, 0, 163, 164, 165, 0, 0, 0, 0,
2037 0, 1075, 0, 0, 0, 0, 835, 206, 0, 0,
2038 0, 0, 0, 23, 24, 25, 26, 166, 27, 0,
2039 0, 0, 0, 32, 33, 0, 0, 36, 37, 1088,
2040 39, 40, 41, 42, 0, 321, 0, 0, 0, 0,
2041 0, 0, 0, 218, 0, 54, 55, 0, 0, 0,
2042 0, 0, 0, 0, 0, 0, 488, 81, 299, 300,
2043 0, 179, 176, 0, 246, 246, 216, 0, 0, 0,
2044 0, 80, 745, 0, 0, 0, 0, 0, 0, 0,
2045 0, 84, 143, 0, 0, 0, 0, 144, 145, 146,
2046 0, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2047 -560, 0, 0, 0, 1102, 156, 0, 0, 0, 0,
2048 157, 158, 159, 160, 161, 162, 0, 0, 0, 0,
2049 0, 0, 0, -203, -203, 0, 0, 1148, 163, 164,
2050 165, 0, 0, 0, 81, 177, 178, 0, 179, 85,
2051 86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2052 0, 0, 166, 0, 0, 0, 0, 0, 0, 0,
2053 0, 0, 0, 0, 0, 0, 0, 0, 0, 1165,
2054 0, 0, 0, 0, 0, 0, 167, 168, 169, 170,
2055 171, 172, 173, 174, 0, 0, 218, -2, 1, 0,
2056 0, 0, 175, 0, 0, 0, 0, 176, 0, 0,
2057 0, 0, 0, 0, 0, 2, 1214, 0, 0, 0,
2058 0, -279, 0, 0, 0, 0, 0, 0, 0, 0,
2059 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
2060 0, 4, 0, 5, 0, 0, 0, 0, 0, 0,
2061 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2062 0, 0, 0, 0, 321, -423, -423, -423, 0, 6,
2063 0, 0, 0, 0, 7, 8, 9, 0, 321, 81,
2064 177, 178, 0, 179, 180, 86, 0, 0, 0, 10,
2065 11, 12, 0, 0, 0, 0, 0, 0, 0, 321,
2066 0, 0, 0, 0, 0, 0, 0, 0, 1253, 13,
2067 14, 15, 16, 0, 17, 18, 19, 20, 21, 22,
2068 23, 24, 25, 26, 0, 27, 28, 29, 30, 31,
2069 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2070 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2071 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
2072 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2073 72, 73, 74, 75, 76, 77, 78, 79, 80, -3,
2074 1, 0, 0, 0, 0, 81, 82, 83, 84, 0,
2075 85, 86, 87, 0, 0, 0, 0, 2, 0, 0,
2076 0, 0, 0, -279, 0, 0, 0, 0, 0, 0,
2077 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
2078 0, 0, 0, 4, 0, 5, 0, 0, 0, 0,
2079 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2080 0, 0, 0, 0, 0, 0, 0, -423, -423, -423,
2081 0, 6, 0, 0, 0, 0, 7, 8, 9, 0,
2082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2083 0, 10, 11, 12, 0, 0, 0, 0, 0, 0,
2084 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2085 0, 13, 14, 15, 16, 0, 17, 18, 19, 20,
2086 21, 22, 23, 24, 25, 26, 0, 27, 28, 29,
2087 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2088 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2089 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2090 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2091 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2092 80, 0, 0, 0, 0, 0, 0, 81, 82, 83,
2093 84, 143, 85, 86, 87, 0, 144, 145, 146, 0,
2094 147, 148, 149, 150, 151, 152, 153, 154, 155, -560,
2095 555, 0, 0, 0, 156, 0, 0, 0, 0, 157,
2096 158, 159, 160, 161, 162, 0, 0, 0, 0, 0,
2097 0, 0, -203, -203, 4, 0, 5, 163, 164, 165,
2098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2099 0, 0, 0, 0, 0, 0, 0, 0, -423, -423,
2100 -423, 166, 6, 0, 0, 0, 0, 0, 0, 0,
2101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2102 0, 0, 0, 0, 0, 0, 168, 169, 170, 171,
2103 172, 173, 174, 0, 0, 0, 0, 0, 0, 0,
2104 0, 175, 13, 14, 15, 16, 176, 17, 18, 19,
2105 20, 21, 22, 23, 24, 25, 26, 0, 27, 28,
2106 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2107 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2108 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2109 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2110 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2111 79, 80, 0, 0, 0, 0, 0, 0, 81, 177,
2112 556, 84, 179, 180, 86, 87, 143, 0, 0, 0,
2113 0, 144, 145, 146, 0, 147, 148, 149, 150, 151,
2114 152, 153, 154, 155, -172, 0, 0, 0, 0, 156,
2115 0, 0, 0, 0, 157, 158, 159, 160, 161, 162,
2116 0, 0, 0, 0, 0, 0, 0, -203, -203, -279,
2117 0, 0, 163, 164, 165, 0, 0, 0, 0, 0,
2118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2119 0, 0, 0, -279, -279, -279, 166, 0, 0, 0,
2120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2122 0, 168, 169, 170, 171, 172, 173, 174, 0, 0,
2123 0, 0, 0, 0, 0, 0, 175, -279, -279, -279,
2124 -279, 176, -279, -279, -279, -279, -279, -279, -279, -279,
2125 -279, -279, 0, -279, -279, -279, -279, -279, -279, -279,
2126 -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
2127 -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
2128 -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
2129 -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
2130 -279, -279, -279, -279, -279, -279, -279, 0, 0, 0,
2131 0, 0, 0, 81, 177, 178, -279, 179, 180, 86,
2132 -279, 221, 0, 0, 0, 0, 144, 145, 146, 0,
2133 0, 222, 149, 150, 151, 152, 153, 154, 223, -172,
2134 -564, 0, 0, 0, 224, 0, 0, 0, 0, 157,
2135 158, 159, 160, 161, 162, 0, 0, 0, 0, 0,
2136 0, 0, -203, -203, -279, 0, 0, 163, 164, 165,
2137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2138 0, 0, 0, 0, 0, 0, 0, 0, -279, -279,
2139 -279, 166, 0, 0, 0, 0, 0, 0, 0, 0,
2140 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2141 0, 0, 0, 0, 0, 0, 0, 169, 170, 171,
2142 172, 173, 174, 0, 0, 0, 0, 0, 0, 0,
2143 0, 175, -279, -279, -279, -279, 176, -279, -279, -279,
2144 -279, -279, -279, -279, -279, -279, -279, 0, -279, -279,
2145 -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
2146 -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
2147 -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
2148 -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
2149 -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
2150 -279, -279, 0, 0, 0, 0, 0, 0, 81, 177,
2151 178, -279, 179, 225, 226, -279, -170, 0, 0, 0,
2152 0, -170, -170, -170, 0, -170, -170, -170, -170, -170,
2153 -170, -170, -170, -170, -170, -170, -170, -709, -170, -170,
2154 0, -170, 0, -170, -170, -170, -170, -170, -170, -170,
2155 -170, -170, -170, -170, -170, -170, -170, -170, -170, 0,
2156 -170, 0, -170, -170, -170, -170, -170, -170, -170, -170,
2157 -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
2158 -170, -170, -170, 0, 0, 0, -170, 0, 0, 0,
2159 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2161 0, -170, -170, -170, -170, -170, -170, -170, 0, 0,
2162 0, 0, 0, 143, 0, 0, -170, 0, 144, 145,
2163 146, -170, 147, 148, 149, 150, 151, 152, 153, 154,
2164 155, -560, 0, 0, 0, 0, 156, 0, 0, 0,
2165 0, 157, 158, 159, 160, 161, 162, 0, 0, 0,
2166 0, 0, 0, 0, -203, -203, 0, 0, 0, 163,
2167 164, 165, 0, 0, 0, 0, 0, 0, 0, 0,
2168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2169 0, 0, 0, 166, 0, 0, 0, 0, 0, 0,
2170 0, 0, 0, -170, -170, -170, 0, -170, -170, -170,
2171 0, 0, 0, 0, 0, 0, 0, -532, 168, 169,
2172 170, 171, 172, 173, 174, 0, 0, 0, 0, 221,
2173 0, 0, 0, 175, 144, 145, 146, 0, 176, 222,
2174 149, 150, 151, 152, 153, 154, 223, -504, -504, 0,
2175 0, 0, 224, -504, 0, 0, 0, 157, 158, 159,
2176 160, 161, 162, 0, 0, 0, 0, 0, 0, 0,
2177 -203, -203, 0, 0, 0, 163, 164, 165, 0, 0,
2178 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2179 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
2180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2181 81, 177, 178, 0, 179, 180, 86, 0, 0, 0,
2182 0, 0, 0, -504, 0, 169, 170, 171, 172, 173,
2183 174, 0, 0, 0, 0, 0, 143, 0, 0, 175,
2184 0, 144, 145, 146, 176, 147, 148, 149, 150, 151,
2185 152, 153, 154, 155, -560, 653, 0, 0, 0, 156,
2186 0, 0, 0, 0, 157, 158, 159, 160, 161, 162,
2187 0, 0, 0, 0, 0, 0, 0, -203, -203, 0,
2188 0, 0, 163, 164, 165, 0, 0, 0, 0, 0,
2189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2190 0, 0, 0, 0, 0, 0, 166, 0, 0, 0,
2191 0, 0, 0, 0, 0, 0, 81, 177, 178, 0,
2192 179, 225, 226, 0, 0, 0, 0, 0, 0, 0,
2193 0, 168, 169, 170, 171, 172, 173, 174, 0, 0,
2194 0, 0, 0, 143, 0, 0, 175, 0, 144, 145,
2195 146, 176, 147, 148, 149, 150, 151, 152, 153, 154,
2196 155, -560, 0, 0, 0, 0, 156, 0, 0, 0,
2197 0, 157, 158, 159, 160, 161, 162, 0, 0, 0,
2198 0, 0, 0, 0, -203, -203, 0, 0, 0, 163,
2199 164, 165, 0, 0, 0, 0, 0, 0, 0, 0,
2200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2201 0, 0, 0, 166, 0, 0, 0, 0, 0, 0,
2202 0, 0, 0, 81, 177, 178, 0, 179, 180, 86,
2203 0, 0, 0, 0, 0, 0, 0, 0, 168, 169,
2204 170, 171, 172, 173, 174, 0, 0, 0, 0, 221,
2205 0, 0, 0, 175, 144, 145, 146, 0, 176, 222,
2206 149, 150, 151, 152, 153, 154, 223, -560, -564, 0,
2207 0, 0, 224, 0, 0, 0, 0, 157, 158, 159,
2208 160, 161, 162, 0, 0, 0, 0, 0, 0, 0,
2209 -203, -203, 0, 0, 0, 163, 164, 165, 0, 0,
2210 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2211 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
2212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2213 81, 177, 178, 0, 179, 180, 86, 0, 0, 0,
2214 0, 0, 0, -500, 0, 169, 170, 171, 172, 173,
2215 174, 0, 0, 0, 0, 221, 0, 0, 0, 175,
2216 144, 145, 146, 0, 176, 222, 149, 150, 151, 152,
2217 153, 154, 223, -560, -564, 0, 0, 0, 224, 0,
2218 0, 0, 0, 157, 158, 159, 160, 161, 162, 0,
2219 0, 0, 0, 0, 0, 0, -203, -203, 0, 0,
2220 0, 163, 164, 165, 0, 0, 0, 0, 0, 0,
2221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2222 0, 0, 0, 0, 0, 166, 0, 0, 0, 0,
2223 0, 0, 0, 0, 0, 0, 81, 177, 178, 0,
2224 179, 225, 226, 0, 0, 0, 0, 0, 0, 0,
2225 0, 169, 170, 171, 172, 173, 174, 0, 0, 0,
2226 0, 0, 0, 0, 0, 175, 0, 144, 145, 146,
2227 176, 147, 148, 149, 150, 151, 152, 153, 154, 223,
2228 -560, 573, 0, 0, 0, 357, 0, 0, 0, 0,
2229 157, 158, 159, 160, 161, 162, 0, 0, 0, 0,
2230 0, 0, 0, -203, -203, 4, 0, 5, 163, 164,
2231 165, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2232 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2233 0, 0, 166, 6, 0, 0, 0, 0, 0, 0,
2234 0, 0, 81, 177, 178, 0, 179, 225, 226, 0,
2235 0, 0, 0, 0, 0, 0, 0, 168, 169, 170,
2236 171, 172, 173, 174, 0, 0, 0, 0, 0, 0,
2237 0, 0, 574, 13, 14, 15, 16, 176, 17, 18,
2238 19, 20, 21, 22, 23, 24, 25, 26, 0, 27,
2239 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2240 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2241 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2242 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2243 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2244 78, 79, 80, 0, 0, 0, 0, 0, 0, 81,
2245 177, 556, 84, 179, 180, 86, 87, 144, 145, 146,
2246 0, 147, 148, 149, 150, 151, 152, 153, 154, 223,
2247 -560, 654, 0, 0, 0, 357, 0, 0, 0, 0,
2248 157, 158, 159, 160, 161, 162, 0, 0, 0, 0,
2249 0, 0, 0, -203, -203, 4, 0, 5, 163, 164,
2250 165, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2252 0, 0, 166, 6, 0, 0, 0, 0, 0, 0,
2253 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2254 0, 0, 0, 0, 0, 0, 0, 168, 169, 170,
2255 171, 172, 173, 174, 0, 0, 0, 0, 0, 0,
2256 0, 0, 175, 13, 14, 15, 16, 176, 17, 18,
2257 19, 20, 21, 22, 23, 24, 25, 26, 0, 27,
2258 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2259 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2260 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2261 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2262 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2263 78, 79, 80, 0, 0, 0, 0, 0, 0, 81,
2264 177, 556, 84, 179, 180, 86, 87, 144, 145, 146,
2265 0, 147, 148, 149, 150, 151, 152, 153, 154, 223,
2266 -560, 666, 0, 0, 0, 357, 0, 0, 0, 0,
2267 157, 158, 159, 160, 161, 162, 0, 0, 0, 0,
2268 0, 0, 0, -203, -203, 4, 0, 5, 163, 164,
2269 165, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2271 0, 0, 166, 6, 0, 0, 0, 0, 0, 0,
2272 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2273 0, 0, 0, 0, 0, 0, 0, 168, 169, 170,
2274 171, 172, 173, 174, 0, 0, 0, 0, 0, 0,
2275 0, 0, 667, 13, 14, 15, 16, 176, 17, 18,
2276 19, 20, 21, 22, 23, 24, 25, 26, 0, 27,
2277 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2278 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2279 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2280 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2281 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2282 78, 79, 80, 0, 0, 0, 0, 0, 0, 81,
2283 177, 556, 84, 179, 180, 86, 87, 144, 145, 146,
2284 0, 147, 148, 149, 150, 151, 152, 153, 154, 223,
2285 -560, 665, 0, 0, 0, 357, 0, 0, 0, 0,
2286 157, 158, 159, 160, 161, 162, 0, 0, 0, 0,
2287 0, 0, 0, 0, 0, 0, 0, 0, 163, 164,
2288 165, 144, 145, 146, 0, 147, 148, 149, 150, 151,
2289 152, 153, 154, 223, -560, 669, 0, 0, 0, 357,
2290 0, 0, 166, 0, 157, 158, 159, 160, 161, 162,
2291 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2292 0, 0, 163, 164, 165, 0, 0, 168, 169, 170,
2293 171, 172, 173, 174, 0, 0, 0, 0, 0, 0,
2294 0, 0, 175, 0, 0, 0, 166, 176, 0, 0,
2295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2296 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2297 0, 168, 169, 170, 171, 172, 173, 174, 0, 0,
2298 0, 0, 0, 0, 0, 0, 670, 0, 144, 145,
2299 146, 176, 147, 148, 149, 150, 151, 152, 153, 154,
2300 223, -560, 729, 0, 0, 0, 357, 0, 0, 0,
2301 0, 157, 158, 159, 160, 161, 162, 0, 0, 81,
2302 177, 178, 0, 179, 180, 86, 0, 0, 0, 163,
2303 164, 165, 144, 145, 146, 0, 147, 148, 149, 150,
2304 151, 152, 153, 154, 223, -560, 807, 0, 0, 0,
2305 357, 0, 0, 166, 0, 157, 158, 159, 160, 161,
2306 162, 0, 0, 81, 177, 178, 0, 179, 180, 86,
2307 0, 0, 0, 163, 164, 165, 0, 0, 168, 169,
2308 170, 171, 172, 173, 174, 0, 0, 0, 0, 0,
2309 0, 0, 0, 175, 0, 0, 0, 166, 176, 0,
2310 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2312 0, 0, 168, 169, 170, 171, 172, 173, 174, 0,
2313 0, 0, 0, 0, 0, 0, 0, 175, 0, 144,
2314 145, 146, 176, 147, 148, 149, 150, 151, 152, 153,
2315 154, 223, -560, 808, 0, 0, 0, 357, 0, 0,
2316 0, 0, 157, 158, 159, 160, 161, 162, 0, 0,
2317 81, 177, 178, 0, 179, 180, 86, 0, 0, 0,
2318 163, 164, 165, 144, 145, 146, 0, 147, 148, 149,
2319 150, 151, 152, 153, 154, 223, -560, 810, 0, 0,
2320 0, 357, 0, 0, 166, 0, 157, 158, 159, 160,
2321 161, 162, 0, 0, 81, 177, 178, 0, 179, 180,
2322 86, 0, 0, 0, 163, 164, 165, 0, 0, 168,
2323 169, 170, 171, 172, 173, 174, 0, 0, 0, 0,
2324 0, 0, 0, 0, 809, 0, 0, 0, 166, 176,
2325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2326 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2327 0, 0, 0, 168, 169, 170, 171, 172, 173, 174,
2328 0, 0, 0, 0, 0, 0, 0, 0, 175, 0,
2329 144, 145, 146, 176, 147, 148, 149, 150, 151, 152,
2330 153, 154, 223, -560, 943, 0, 0, 0, 357, 0,
2331 0, 0, 0, 157, 158, 159, 160, 161, 162, 0,
2332 0, 81, 177, 178, 0, 179, 180, 86, 0, 0,
2333 0, 163, 164, 165, 144, 145, 146, 0, 147, 148,
2334 149, 150, 151, 152, 153, 154, 223, -560, 0, 0,
2335 0, 0, 357, 0, 0, 166, 0, 157, 158, 159,
2336 160, 161, 162, 0, 0, 81, 177, 178, 0, 179,
2337 180, 86, 0, 0, 0, 163, 164, 165, 0, 0,
2338 168, 169, 170, 171, 172, 173, 174, 0, 0, 0,
2339 0, 0, 0, 0, 0, 175, 0, 0, 0, 166,
2340 176, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2342 0, 0, 0, 0, 168, 169, 170, 171, 172, 173,
2343 174, -136, 0, 0, 0, 0, -136, 0, 0, 175,
2344 0, 0, 0, 0, 176, 0, 0, 0, 0, 0,
2345 0, 0, 0, 0, 0, 0, 4, 0, 5, 0,
2346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2347 0, 0, 81, 177, 178, 0, 179, 180, 86, 0,
2348 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
2349 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2350 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2351 0, 0, 0, 0, 0, 0, 81, 177, 178, 0,
2352 179, 180, 86, 0, 13, 14, 15, 16, 0, 17,
2353 18, 19, 20, 21, 22, 23, 24, 25, 26, 0,
2354 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2355 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2356 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2357 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2358 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2359 77, 78, 79, 80, -563, 0, 0, 0, 0, 0,
2360 0, 0, 138, 84, 0, 0, 0, 87, 0, 0,
2361 0, 0, 0, 0, 0, 0, 0, 0, 4, 0,
2362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2364 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2367 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2368 0, 0, 0, 0, 0, 0, 13, 14, 15, 16,
2369 0, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2370 26, 0, 27, 28, 29, 30, 31, 32, 33, 34,
2371 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2372 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2373 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2374 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2375 75, 76, 77, 78, 79, 80, 0, 0, 0, 0,
2376 0, 711, -703, 0, 138, 84, 298, 0, 0, 87,
2377 0, 157, 158, 159, 160, 161, 162, 0, 0, 0,
2378 0, 0, 630, 0, 0, 0, 0, 298, 0, 163,
2379 164, 165, 157, 158, 159, 160, 161, 162, 0, 0,
2380 0, 0, 0, 0, 0, 0, 0, 0, 0, 711,
2381 163, 164, 165, 166, 298, 0, 0, 0, 0, 157,
2382 158, 159, 160, 161, 162, 0, 0, 0, 0, 0,
2383 0, 0, 0, 0, 166, 0, 0, 163, 164, 165,
2384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2385 0, 0, 0, 0, 0, 0, 0, 0, 176, 0,
2386 0, 166, 0, 0, 0, 0, 0, 0, 0, 0,
2387 0, 0, 0, 0, 0, 0, 0, 0, 0, 176,
2388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2389 0, 0, 0, 0, 0, -279, 0, 0, 0, 0,
2390 0, 0, 0, 0, 0, 3, 176, 0, 0, 0,
2391 0, 0, 0, 0, 0, 4, 0, 0, 0, 0,
2392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2393 81, 299, 300, 0, 179, 0, 0, 0, 0, 0,
2394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2395 0, 81, 299, 300, 0, 179, 0, 0, 0, 0,
2396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2397 0, 0, 0, 0, 0, 0, 0, 0, 81, 299,
2398 300, 0, 179, 13, 14, 15, 16, 0, 17, 18,
2399 19, 20, 21, 22, 23, 24, 25, 26, 0, 27,
2400 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2401 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2402 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2403 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2404 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2405 78, 79, 80, 0, 0, 0, 0, 0, 0, 81,
2406 82, 83, 84, 298, 85, 86, 87, 0, 157, 158,
2407 159, 160, 161, 162, 0, 0, 0, 0, 0, 0,
2408 0, -203, -203, 0, 298, 516, 163, 164, 165, 157,
2409 158, 159, 160, 161, 162, 298, 0, 0, 596, 0,
2410 157, 158, 159, 160, 161, 162, 0, 163, 164, 165,
2411 166, 0, 0, 0, 0, 0, 298, 994, 163, 164,
2412 165, 157, 158, 159, 160, 161, 162, 298, 0, 0,
2413 691, 166, 157, 158, 159, 160, 161, 162, 0, 163,
2414 164, 165, 166, 0, 0, 0, 0, 0, 0, 0,
2415 163, 164, 165, 0, 0, 176, 0, 0, 0, 298,
2416 -259, 0, 0, 166, 157, 158, 159, 160, 161, 162,
2417 0, 0, 0, 0, 166, 0, 176, 0, 0, 0,
2418 0, 0, 163, 164, 165, 0, 298, 176, 0, 0,
2419 0, 157, 158, 159, 160, 161, 162, 0, 0, 0,
2420 0, 0, 0, 0, 0, 0, 166, 0, 176, 163,
2421 164, 165, 0, 0, 0, 345, 0, 0, 0, 176,
2422 157, 158, 159, 160, 161, 162, 0, 81, 299, 300,
2423 0, 179, 0, 166, 0, 0, 0, 0, 163, 164,
2424 165, 0, 0, 0, 0, 0, 0, 0, 81, 299,
2425 300, 176, 179, 0, 0, 0, 0, 0, 0, 81,
2426 299, 300, 166, 179, 724, 0, 0, 0, 0, 157,
2427 158, 159, 160, 161, 162, 0, 0, 0, 176, 0,
2428 81, 299, 300, 0, 179, 0, 0, 163, 164, 165,
2429 0, 81, 299, 300, 726, 179, 0, 0, 0, 157,
2430 158, 159, 160, 161, 162, 0, 0, 176, 0, 0,
2431 0, 166, 0, 0, 0, 0, 0, 163, 164, 165,
2432 0, 0, 0, 81, 299, 300, 0, 179, 0, 0,
2433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2434 0, 166, 0, 0, 0, 0, 0, 0, 0, 0,
2435 81, 299, 300, 732, 179, 0, 176, 0, 733, 734,
2436 735, 736, 737, 738, 0, 0, 0, 0, 0, 0,
2437 0, 0, 0, 0, 0, 0, 163, 739, 740, 81,
2438 299, 300, 0, 179, 0, 0, 176, 0, 0, 0,
2439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2440 741, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2442 0, 0, 0, 0, 0, 0, 0, 0, 81, 299,
2443 300, 0, 179, 0, 0, 0, 0, 0, 0, 0,
2444 0, 0, 0, 0, 0, 176, 0, 0, 0, 0,
2445 0, 0, 0, 0, 4, 0, 5, 0, 81, 299,
2446 300, 0, 179, 0, 0, 0, 0, 0, 0, 0,
2447 0, 0, 0, 0, 0, 0, 0, 0, -423, -423,
2448 -423, 0, 6, 0, 0, 0, 0, 0, 0, 0,
2449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2451 0, 0, 0, 0, 0, 0, 0, 81, 742, 743,
2452 0, 179, 13, 14, 15, 16, 0, 17, 18, 19,
2453 20, 21, 22, 23, 24, 25, 26, 0, 27, 28,
2454 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2455 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2456 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2457 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2458 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2459 79, 80, 4, 0, 5, 0, 0, 0, 0, 0,
2460 138, 84, 0, 0, 0, 87, 0, 0, 0, 0,
2461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2462 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2466 13, 14, 15, 16, 0, 17, 18, 19, 20, 21,
2467 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
2468 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2469 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2470 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2471 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2472 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2473 4, 0, 0, 0, 0, 0, 81, 1107, 138, 84,
2474 0, 0, 0, 87, 0, 0, 0, 0, 0, 0,
2475 0, 0, 0, 0, -423, -423, -423, 0, 0, 0,
2476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2479 0, 0, 0, 0, 0, 0, 0, 0, 13, 14,
2480 15, 16, 0, 17, 18, 19, 20, 21, 22, 23,
2481 24, 25, 26, 0, 27, 28, 29, 30, 31, 32,
2482 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2483 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2484 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2485 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2486 73, 74, 75, 76, 77, 78, 79, 80, 4, 0,
2487 0, 0, 0, 0, 0, 0, 138, 84, 0, 0,
2488 0, 87, 0, 0, 0, 0, 0, 0, 0, 0,
2489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2491 0, 0, 0, 0, 0, 0, 10, 11, 12, 0,
2492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2493 0, 0, 0, 0, 0, 0, 13, 14, 15, 16,
2494 0, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2495 26, 0, 27, 28, 29, 30, 31, 32, 33, 34,
2496 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2497 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2498 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2499 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2500 75, 76, 77, 78, 79, 80, 4, 0, 5, 0,
2501 0, 0, 0, 0, 138, 84, 0, 0, 0, 87,
2502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2503 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
2504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2507 0, 0, 0, 0, 13, 14, 15, 16, 0, 17,
2508 18, 19, 20, 21, 22, 23, 24, 25, 26, 0,
2509 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2510 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2511 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2512 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2513 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2514 77, 78, 79, 80, 4, 0, 0, 0, 0, 0,
2515 0, 0, 138, 84, 0, 0, 0, 87, 0, 0,
2516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2520 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2521 0, 0, 13, 14, 15, 16, 0, 17, 18, 19,
2522 20, 21, 22, 23, 24, 25, 26, 0, 27, 28,
2523 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2524 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2525 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2526 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2527 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2528 79, 80, 0, 0, 0, 0, 0, 0, 0, 0,
2529 138, 84, 0, 0, 0, 87
2532 static const short yycheck[] =
2534 0, 0, 5, 441, 144, 5, 0, 122, 334, 9,
2535 10, 11, 12, 461, 405, 132, 406, 395, 396, 0,
2536 407, 459, 397, 398, 5, 598, 659, 551, 9, 939,
2537 10, 357, 628, 553, 235, 659, 3, 659, 705, 313,
2538 403, 404, 24, 157, 158, 159, 160, 161, 162, 931,
2539 948, 10, 34, 951, 27, 399, 400, 401, 402, 442,
2540 663, 224, 315, 5, 10, 967, 229, 268, 231, 507,
2541 21, 5, 832, 791, 25, 0, 0, 837, 5, 24,
2542 5, 841, 7, 25, 663, 559, 56, 720, 806, 89,
2543 89, 25, 28, 475, 24, 89, 720, 24, 720, 1119,
2544 1120, 0, 21, 577, 34, 18, 25, 34, 89, 45,
2545 1053, 24, 21, 844, 25, 26, 25, 28, 24, 850,
2546 693, 34, 122, 21, 21, 21, 41, 25, 34, 25,
2547 27, 50, 51, 28, 45, 659, 11, 12, 19, 659,
2548 140, 122, 57, 1053, 1054, 54, 55, 10, 34, 21,
2549 45, 151, 10, 25, 50, 51, 156, 25, 26, 140,
2550 1042, 1043, 600, 130, 89, 89, 492, 1187, 21, 1071,
2551 151, 288, 25, 140, 612, 175, 156, 844, 103, 681,
2552 1078, 18, 1080, 850, 944, 24, 39, 26, 791, 114,
2553 115, 11, 12, 18, 1137, 34, 720, 156, 23, 1142,
2554 720, 201, 88, 806, 19, 5, 188, 189, 190, 209,
2555 156, 211, 791, 213, 415, 140, 216, 187, 1128, 192,
2556 1130, 201, 41, 476, 224, 25, 24, 806, 345, 229,
2557 613, 231, 614, 213, 5, 1117, 216, 951, 57, 18,
2558 971, 192, 201, 663, 244, 245, 188, 189, 190, 1192,
2559 209, 193, 194, 579, 213, 201, 88, 216, 188, 189,
2560 708, 188, 189, 209, 5, 245, 21, 213, 659, 659,
2561 216, 663, 659, 436, 437, 188, 189, 190, 392, 393,
2562 394, 659, 188, 189, 659, 21, 245, 287, 287, 25,
2563 290, 291, 292, 156, 817, 928, 659, 663, 156, 245,
2564 24, 441, 188, 189, 971, 24, 287, 193, 194, 290,
2565 291, 292, 312, 312, 816, 659, 26, 819, 318, 459,
2566 188, 189, 190, 1083, 34, 193, 194, 1237, 21, 720,
2567 720, 312, 22, 720, 27, 609, 303, 318, 201, 50,
2568 51, 21, 720, 201, 34, 720, 209, 27, 21, 224,
2569 213, 209, 25, 216, 229, 213, 231, 720, 216, 34,
2570 360, 34, 35, 36, 1078, 24, 1080, 507, 368, 244,
2571 370, 791, 24, 188, 189, 190, 720, 302, 193, 194,
2572 497, 495, 245, 979, 822, 24, 806, 245, 188, 189,
2573 190, 32, 33, 193, 194, 833, 1029, 921, 18, 791,
2574 18, 21, 975, 923, 224, 1029, 21, 1029, 18, 229,
2575 25, 231, 5, 861, 806, 415, 21, 188, 189, 190,
2576 25, 24, 193, 194, 244, 791, 21, 950, 16, 952,
2577 25, 24, 25, 26, 29, 415, 436, 437, 21, 433,
2578 806, 34, 25, 443, 24, 445, 445, 188, 189, 190,
2579 444, 22, 193, 194, 454, 26, 415, 28, 54, 55,
2580 600, 5, 465, 26, 445, 465, 583, 467, 34, 415,
2581 16, 34, 612, 454, 45, 475, 25, 26, 478, 28,
2582 24, 1114, 482, 26, 465, 28, 467, 26, 16, 28,
2583 34, 89, 90, 24, 475, 26, 45, 478, 188, 189,
2584 190, 482, 45, 193, 194, 1029, 45, 18, 475, 1029,
2585 21, 511, 24, 188, 189, 190, 15, 634, 193, 194,
2586 520, 521, 34, 121, 122, 25, 26, 918, 28, 919,
2587 908, 909, 102, 920, 21, 910, 911, 135, 25, 520,
2588 521, 25, 26, 16, 28, 45, 112, 113, 114, 6,
2589 7, 1184, 415, 916, 917, 22, 21, 415, 558, 559,
2590 25, 436, 437, 50, 51, 559, 566, 566, 912, 913,
2591 914, 915, 37, 38, 574, 37, 38, 577, 578, 24,
2592 20, 21, 27, 577, 26, 566, 28, 52, 53, 34,
2593 52, 53, 22, 708, 21, 188, 189, 190, 25, 558,
2594 193, 194, 22, 45, 10, 11, 12, 724, 18, 726,
2595 29, 21, 558, 23, 614, 732, 436, 437, 39, 733,
2596 734, 735, 736, 737, 738, 188, 189, 190, 40, 18,
2597 193, 194, 21, 614, 37, 38, 25, 95, 1029, 1029,
2598 184, 185, 1029, 18, 188, 189, 21, 614, 192, 52,
2599 53, 1029, 42, 43, 1029, 655, 656, 931, 21, 659,
2600 986, 56, 25, 13, 14, 15, 1029, 667, 668, 24,
2601 670, 26, 184, 185, 37, 38, 188, 189, 24, 21,
2602 192, 27, 822, 25, 684, 1029, 686, 95, 34, 52,
2603 53, 18, 22, 833, 21, 558, 621, 697, 25, 973,
2604 558, 19, 21, 684, 704, 686, 25, 707, 708, 709,
2605 21, 22, 34, 21, 1162, 21, 697, 25, 18, 25,
2606 720, 21, 689, 704, 32, 33, 707, 708, 34, 35,
2607 36, 50, 51, 24, 23, 26, 876, 26, 24, 28,
2608 26, 708, 192, 188, 189, 190, 861, 192, 34, 5,
2609 156, 10, 11, 12, 104, 105, 106, 107, 108, 109,
2610 110, 111, 22, 113, 1038, 22, 116, 21, 24, 25,
2611 26, 25, 24, 1211, 1048, 24, 21, 26, 34, 28,
2612 25, 24, 132, 26, 134, 135, 136, 32, 33, 19,
2613 140, 905, 906, 907, 1068, 201, 45, 21, 21, 48,
2614 49, 25, 25, 209, 32, 33, 156, 213, 1246, 809,
2615 216, 1085, 24, 163, 26, 188, 189, 190, 224, 225,
2616 193, 194, 34, 229, 21, 231, 21, 21, 25, 829,
2617 25, 25, 832, 95, 834, 185, 21, 837, 244, 245,
2618 25, 841, 188, 189, 190, 20, 192, 95, 829, 1123,
2619 21, 832, 24, 834, 25, 21, 837, 18, 21, 25,
2620 841, 861, 25, 68, 69, 70, 188, 189, 190, 869,
2621 1144, 193, 194, 195, 224, 24, 27, 26, 992, 28,
2622 861, 23, 21, 21, 54, 55, 25, 25, 869, 814,
2623 18, 21, 817, 21, 861, 25, 45, 156, 25, 48,
2624 49, 21, 188, 189, 190, 25, 211, 193, 194, 195,
2625 18, 21, 18, 21, 264, 25, 58, 59, 60, 61,
2626 62, 63, 64, 65, 66, 67, 21, 18, 21, 21,
2627 25, 931, 25, 25, 18, 50, 51, 21, 288, 939,
2628 290, 291, 201, 21, 944, 21, 23, 25, 298, 25,
2629 209, 21, 21, 303, 213, 25, 25, 216, 21, 24,
2630 21, 18, 25, 944, 25, 224, 22, 373, 318, 21,
2631 229, 21, 231, 25, 25, 25, 188, 189, 190, 21,
2632 1097, 193, 194, 25, 21, 244, 245, 18, 25, 18,
2633 21, 24, 21, 20, 21, 345, 24, 997, 998, 34,
2634 35, 36, 20, 21, 10, 11, 12, 357, 25, 415,
2635 34, 35, 36, 52, 53, 54, 997, 998, 21, 22,
2636 32, 33, 18, 948, 18, 950, 951, 952, 18, 1029,
2637 436, 437, 114, 115, 18, 18, 9, 19, 25, 11,
2638 1040, 11, 1042, 1043, 24, 91, 1040, 1162, 24, 27,
2639 21, 1051, 19, 1053, 1054, 360, 19, 19, 19, 91,
2640 24, 21, 18, 368, 22, 370, 25, 21, 25, 21,
2641 1070, 1211, 25, 11, 25, 1075, 1075, 24, 24, 24,
2642 20, 25, 432, 1083, 27, 1225, 23, 19, 1088, 1088,
2643 20, 19, 23, 1093, 1075, 21, 21, 24, 27, 5,
2644 19, 451, 1083, 453, 25, 455, 1246, 1088, 458, 22,
2645 24, 461, 1093, 463, 1114, 1115, 1116, 1117, 25, 1119,
2646 1120, 1088, 472, 20, 20, 475, 25, 27, 1128, 27,
2647 1130, 73, 482, 1133, 1115, 1116, 25, 1137, 443, 1139,
2648 1140, 18, 1142, 21, 25, 1148, 21, 497, 1148, 22,
2649 156, 39, 558, 1078, 24, 1080, 415, 29, 1139, 1140,
2650 40, 56, 1162, 73, 74, 75, 76, 1148, 25, 189,
2651 80, 81, 82, 83, 84, 85, 86, 436, 437, 91,
2652 91, 1162, 91, 91, 1184, 1185, 1186, 1187, 91, 25,
2653 25, 18, 1192, 22, 25, 201, 24, 91, 20, 25,
2654 25, 25, 18, 209, 1185, 1186, 511, 213, 25, 21,
2655 216, 18, 1212, 1212, 27, 192, 20, 40, 224, 18,
2656 21, 23, 18, 229, 24, 231, 91, 22, 194, 22,
2657 580, 1212, 21, 583, 21, 20, 22, 1237, 244, 245,
2658 20, 91, 25, 25, 20, 18, 27, 196, 40, 599,
2659 27, 25, 20, 939, 559, 27, 606, 607, 608, 25,
2660 318, 1237, 1205, 1133, 614, 1032, 695, 1105, 89, 1041,
2661 1184, 1070, 577, 578, 829, 889, 838, 10, 19, 20,
2662 185, 804, 583, 24, 634, 26, 1212, 28, 29, 30,
2663 31, 32, 33, 34, 686, 645, 646, 684, 130, 558,
2664 861, 303, 707, 12, 1168, 244, 47, 48, 49, 659,
2665 355, 511, 415, 711, 70, 71, 72, 73, 74, 75,
2666 76, 77, 78, 79, 720, 675, 867, 1029, 866, -1,
2667 71, -1, -1, 683, -1, 685, -1, -1, -1, 689,
2668 -1, -1, -1, -1, -1, -1, -1, -1, 698, 699,
2669 655, 656, -1, 703, -1, -1, 112, 707, 708, -1,
2670 116, -1, 118, 668, 120, -1, -1, -1, -1, 125,
2671 720, -1, -1, -1, 724, 116, 726, 144, -1, -1,
2672 -1, 137, 732, 139, -1, -1, -1, -1, -1, -1,
2673 157, 158, 159, 160, 161, 162, -1, 164, 165, 132,
2674 -1, -1, -1, -1, 709, -1, -1, -1, -1, 415,
2675 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2676 -1, 154, -1, 156, -1, -1, 182, -1, 18, -1,
2677 436, 437, -1, -1, 24, -1, -1, -1, -1, 29,
2678 30, 31, 32, 33, 34, -1, -1, 188, 189, 190,
2679 -1, 192, 193, 194, -1, -1, -1, 47, 48, 49,
2680 -1, 348, 812, -1, -1, -1, -1, -1, 201, -1,
2681 -1, -1, -1, -1, -1, -1, 209, -1, -1, -1,
2682 213, 71, -1, 216, -1, -1, -1, 374, -1, -1,
2683 -1, 224, 379, 380, 381, 382, 383, 384, 385, 386,
2684 387, 388, 389, 23, -1, -1, -1, -1, -1, -1,
2685 860, 861, 245, 863, -1, 271, -1, -1, -1, -1,
2686 -1, -1, -1, -1, -1, 412, 116, -1, -1, -1,
2687 -1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
2688 60, 61, 62, 63, 64, 65, 66, 67, -1, -1,
2689 306, -1, 558, 309, -1, 10, 11, 12, -1, -1,
2690 18, 317, -1, -1, 320, 298, 24, -1, -1, -1,
2691 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2692 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
2693 48, 49, 325, 326, 327, 328, -1, 947, 188, 189,
2694 190, -1, 192, -1, 954, -1, -1, -1, -1, -1,
2695 -1, -1, 345, 71, -1, -1, 349, -1, -1, -1,
2696 -1, -1, -1, -1, 357, 392, 393, 394, 395, 396,
2697 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
2698 407, -1, 375, -1, -1, -1, -1, -1, -1, 10,
2699 11, 12, -1, -1, -1, -1, -1, -1, 116, -1,
2700 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2701 -1, -1, -1, -1, 441, -1, 432, -1, -1, 1029,
2702 -1, -1, 415, -1, -1, -1, 442, -1, -1, -1,
2703 423, 447, 459, -1, -1, 451, -1, 453, -1, -1,
2704 -1, 156, -1, -1, -1, -1, -1, -1, 10, 11,
2705 12, -1, -1, -1, 470, -1, -1, -1, 474, -1,
2706 -1, -1, 1072, -1, -1, -1, -1, -1, 495, -1,
2707 188, 189, 190, -1, 192, -1, -1, -1, 1088, -1,
2708 507, 1091, -1, 630, -1, -1, 201, 1097, -1, -1,
2709 1100, 1101, -1, -1, 209, 642, -1, -1, 213, -1,
2710 -1, 216, -1, -1, -1, -1, -1, -1, -1, 224,
2711 -1, -1, -1, -1, 229, -1, 231, -1, -1, -1,
2712 -1, -1, -1, -1, 551, -1, 553, -1, -1, 244,
2713 245, -1, 19, 1143, -1, 156, -1, 24, -1, -1,
2714 1150, 1151, 29, 30, 31, 32, 33, 34, -1, -1,
2715 697, -1, 1162, -1, -1, 42, 43, -1, -1, 552,
2716 47, 48, 49, -1, 711, 558, -1, -1, 10, 11,
2717 12, -1, -1, 600, -1, -1, -1, -1, 1188, -1,
2718 201, -1, 598, -1, 71, 612, -1, -1, 209, -1,
2719 -1, -1, 213, -1, 156, 216, -1, 613, 1208, 1209,
2720 -1, -1, -1, 224, -1, 1215, -1, -1, 229, -1,
2721 231, -1, -1, -1, -1, -1, 632, -1, -1, -1,
2722 647, 648, -1, 244, 245, -1, -1, -1, -1, 116,
2723 -1, -1, 659, -1, -1, 628, -1, -1, -1, 201,
2724 -1, -1, -1, -1, 660, -1, 662, 209, -1, -1,
2725 -1, 213, -1, -1, 216, -1, -1, -1, -1, -1,
2726 -1, -1, 224, -1, 657, -1, -1, 229, 661, 231,
2727 -1, -1, -1, -1, -1, -1, -1, -1, 694, -1,
2728 -1, -1, 244, 245, -1, 832, -1, -1, -1, -1,
2729 837, -1, -1, 720, 841, -1, -1, -1, -1, -1,
2730 415, 188, 189, 190, -1, 192, 733, 734, 735, 736,
2731 737, 738, 739, 740, 156, -1, -1, -1, -1, -1,
2732 867, 436, 437, -1, -1, -1, 719, -1, 744, -1,
2733 -1, 724, -1, 726, -1, -1, -1, -1, -1, 732,
2734 -1, 888, 889, -1, -1, -1, -1, 894, 895, 896,
2735 897, 898, 899, 900, 901, 902, 903, 904, -1, 201,
2736 -1, -1, -1, -1, -1, -1, -1, 209, -1, -1,
2737 -1, 213, -1, -1, 216, -1, -1, -1, -1, -1,
2738 -1, -1, 224, 799, 800, -1, -1, 229, -1, 231,
2739 -1, -1, -1, -1, 415, 822, -1, 944, -1, -1,
2740 -1, -1, 244, 245, -1, -1, 833, -1, -1, -1,
2741 -1, -1, -1, -1, -1, 436, 437, -1, 19, -1,
2742 -1, -1, -1, 24, -1, -1, -1, 843, 29, 30,
2743 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
2744 -1, 42, 43, 558, -1, -1, 47, 48, 49, 876,
2745 -1, -1, -1, 415, -1, -1, -1, -1, -1, -1,
2746 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2747 71, -1, -1, -1, 436, 437, -1, -1, 905, 906,
2748 907, 908, 909, 910, 911, 912, 913, 914, 915, 916,
2749 917, 918, 919, 920, 921, 19, 923, 890, -1, -1,
2750 24, -1, 26, -1, 28, 29, 30, 31, 32, 33,
2751 34, -1, -1, -1, -1, 116, -1, -1, -1, -1,
2752 -1, -1, -1, 47, 48, 49, -1, -1, -1, -1,
2753 -1, 947, -1, -1, -1, -1, 1083, 558, -1, -1,
2754 -1, -1, -1, 123, 124, 125, 126, 71, 128, -1,
2755 -1, -1, -1, 133, 134, -1, -1, 137, 138, 975,
2756 140, 141, 142, 143, -1, 992, -1, -1, -1, -1,
2757 -1, -1, -1, 415, -1, 155, 156, -1, -1, -1,
2758 -1, -1, -1, -1, -1, -1, 979, 188, 189, 190,
2759 -1, 192, 116, -1, 436, 437, 558, -1, -1, -1,
2760 -1, 181, 1029, -1, -1, -1, -1, -1, -1, -1,
2761 -1, 191, 1, -1, -1, -1, -1, 6, 7, 8,
2762 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2763 19, -1, -1, -1, 1027, 24, -1, -1, -1, -1,
2764 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
2765 -1, -1, -1, 42, 43, -1, -1, 1073, 47, 48,
2766 49, -1, -1, -1, 188, 189, 190, -1, 192, 193,
2767 194, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2768 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
2769 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1092,
2770 -1, -1, -1, -1, -1, -1, 95, 96, 97, 98,
2771 99, 100, 101, 102, -1, -1, 558, 0, 1, -1,
2772 -1, -1, 111, -1, -1, -1, -1, 116, -1, -1,
2773 -1, -1, -1, -1, -1, 18, 1152, -1, -1, -1,
2774 -1, 24, -1, -1, -1, -1, -1, -1, -1, -1,
2775 -1, 34, -1, -1, -1, -1, -1, -1, -1, -1,
2776 -1, 44, -1, 46, -1, -1, -1, -1, -1, -1,
2777 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2778 -1, -1, -1, -1, 1211, 68, 69, 70, -1, 72,
2779 -1, -1, -1, -1, 77, 78, 79, -1, 1225, 188,
2780 189, 190, -1, 192, 193, 194, -1, -1, -1, 92,
2781 93, 94, -1, -1, -1, -1, -1, -1, -1, 1246,
2782 -1, -1, -1, -1, -1, -1, -1, -1, 1244, 112,
2783 113, 114, 115, -1, 117, 118, 119, 120, 121, 122,
2784 123, 124, 125, 126, -1, 128, 129, 130, 131, 132,
2785 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
2786 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2787 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2788 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2789 173, 174, 175, 176, 177, 178, 179, 180, 181, 0,
2790 1, -1, -1, -1, -1, 188, 189, 190, 191, -1,
2791 193, 194, 195, -1, -1, -1, -1, 18, -1, -1,
2792 -1, -1, -1, 24, -1, -1, -1, -1, -1, -1,
2793 -1, -1, -1, 34, -1, -1, -1, -1, -1, -1,
2794 -1, -1, -1, 44, -1, 46, -1, -1, -1, -1,
2795 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2796 -1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
2797 -1, 72, -1, -1, -1, -1, 77, 78, 79, -1,
2798 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2799 -1, 92, 93, 94, -1, -1, -1, -1, -1, -1,
2800 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2801 -1, 112, 113, 114, 115, -1, 117, 118, 119, 120,
2802 121, 122, 123, 124, 125, 126, -1, 128, 129, 130,
2803 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2804 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2805 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2806 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2807 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
2808 181, -1, -1, -1, -1, -1, -1, 188, 189, 190,
2809 191, 1, 193, 194, 195, -1, 6, 7, 8, -1,
2810 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2811 20, -1, -1, -1, 24, -1, -1, -1, -1, 29,
2812 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
2813 -1, -1, 42, 43, 44, -1, 46, 47, 48, 49,
2814 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2815 -1, -1, -1, -1, -1, -1, -1, -1, 68, 69,
2816 70, 71, 72, -1, -1, -1, -1, -1, -1, -1,
2817 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2818 -1, -1, -1, -1, -1, -1, 96, 97, 98, 99,
2819 100, 101, 102, -1, -1, -1, -1, -1, -1, -1,
2820 -1, 111, 112, 113, 114, 115, 116, 117, 118, 119,
2821 120, 121, 122, 123, 124, 125, 126, -1, 128, 129,
2822 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2823 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2824 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2825 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2826 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
2827 180, 181, -1, -1, -1, -1, -1, -1, 188, 189,
2828 190, 191, 192, 193, 194, 195, 1, -1, -1, -1,
2829 -1, 6, 7, 8, -1, 10, 11, 12, 13, 14,
2830 15, 16, 17, 18, 19, -1, -1, -1, -1, 24,
2831 -1, -1, -1, -1, 29, 30, 31, 32, 33, 34,
2832 -1, -1, -1, -1, -1, -1, -1, 42, 43, 44,
2833 -1, -1, 47, 48, 49, -1, -1, -1, -1, -1,
2834 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2835 -1, -1, -1, 68, 69, 70, 71, -1, -1, -1,
2836 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2837 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2838 -1, 96, 97, 98, 99, 100, 101, 102, -1, -1,
2839 -1, -1, -1, -1, -1, -1, 111, 112, 113, 114,
2840 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
2841 125, 126, -1, 128, 129, 130, 131, 132, 133, 134,
2842 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2843 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2844 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2845 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2846 175, 176, 177, 178, 179, 180, 181, -1, -1, -1,
2847 -1, -1, -1, 188, 189, 190, 191, 192, 193, 194,
2848 195, 1, -1, -1, -1, -1, 6, 7, 8, -1,
2849 -1, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2850 20, -1, -1, -1, 24, -1, -1, -1, -1, 29,
2851 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
2852 -1, -1, 42, 43, 44, -1, -1, 47, 48, 49,
2853 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2854 -1, -1, -1, -1, -1, -1, -1, -1, 68, 69,
2855 70, 71, -1, -1, -1, -1, -1, -1, -1, -1,
2856 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2857 -1, -1, -1, -1, -1, -1, -1, 97, 98, 99,
2858 100, 101, 102, -1, -1, -1, -1, -1, -1, -1,
2859 -1, 111, 112, 113, 114, 115, 116, 117, 118, 119,
2860 120, 121, 122, 123, 124, 125, 126, -1, 128, 129,
2861 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2862 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2863 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2864 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2865 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
2866 180, 181, -1, -1, -1, -1, -1, -1, 188, 189,
2867 190, 191, 192, 193, 194, 195, 1, -1, -1, -1,
2868 -1, 6, 7, 8, -1, 10, 11, 12, 13, 14,
2869 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2870 -1, 26, -1, 28, 29, 30, 31, 32, 33, 34,
2871 35, 36, 37, 38, 39, 40, 41, 42, 43, -1,
2872 45, -1, 47, 48, 49, 50, 51, 52, 53, 54,
2873 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2874 65, 66, 67, -1, -1, -1, 71, -1, -1, -1,
2875 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2876 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2877 -1, 96, 97, 98, 99, 100, 101, 102, -1, -1,
2878 -1, -1, -1, 1, -1, -1, 111, -1, 6, 7,
2879 8, 116, 10, 11, 12, 13, 14, 15, 16, 17,
2880 18, 19, -1, -1, -1, -1, 24, -1, -1, -1,
2881 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2882 -1, -1, -1, -1, 42, 43, -1, -1, -1, 47,
2883 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2884 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2885 -1, -1, -1, 71, -1, -1, -1, -1, -1, -1,
2886 -1, -1, -1, 188, 189, 190, -1, 192, 193, 194,
2887 -1, -1, -1, -1, -1, -1, -1, 95, 96, 97,
2888 98, 99, 100, 101, 102, -1, -1, -1, -1, 1,
2889 -1, -1, -1, 111, 6, 7, 8, -1, 116, 11,
2890 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
2891 -1, -1, 24, 25, -1, -1, -1, 29, 30, 31,
2892 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
2893 42, 43, -1, -1, -1, 47, 48, 49, -1, -1,
2894 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2895 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
2896 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2897 188, 189, 190, -1, 192, 193, 194, -1, -1, -1,
2898 -1, -1, -1, 95, -1, 97, 98, 99, 100, 101,
2899 102, -1, -1, -1, -1, -1, 1, -1, -1, 111,
2900 -1, 6, 7, 8, 116, 10, 11, 12, 13, 14,
2901 15, 16, 17, 18, 19, 20, -1, -1, -1, 24,
2902 -1, -1, -1, -1, 29, 30, 31, 32, 33, 34,
2903 -1, -1, -1, -1, -1, -1, -1, 42, 43, -1,
2904 -1, -1, 47, 48, 49, -1, -1, -1, -1, -1,
2905 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2906 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
2907 -1, -1, -1, -1, -1, -1, 188, 189, 190, -1,
2908 192, 193, 194, -1, -1, -1, -1, -1, -1, -1,
2909 -1, 96, 97, 98, 99, 100, 101, 102, -1, -1,
2910 -1, -1, -1, 1, -1, -1, 111, -1, 6, 7,
2911 8, 116, 10, 11, 12, 13, 14, 15, 16, 17,
2912 18, 19, -1, -1, -1, -1, 24, -1, -1, -1,
2913 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2914 -1, -1, -1, -1, 42, 43, -1, -1, -1, 47,
2915 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2916 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2917 -1, -1, -1, 71, -1, -1, -1, -1, -1, -1,
2918 -1, -1, -1, 188, 189, 190, -1, 192, 193, 194,
2919 -1, -1, -1, -1, -1, -1, -1, -1, 96, 97,
2920 98, 99, 100, 101, 102, -1, -1, -1, -1, 1,
2921 -1, -1, -1, 111, 6, 7, 8, -1, 116, 11,
2922 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
2923 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
2924 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
2925 42, 43, -1, -1, -1, 47, 48, 49, -1, -1,
2926 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2927 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
2928 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2929 188, 189, 190, -1, 192, 193, 194, -1, -1, -1,
2930 -1, -1, -1, 95, -1, 97, 98, 99, 100, 101,
2931 102, -1, -1, -1, -1, 1, -1, -1, -1, 111,
2932 6, 7, 8, -1, 116, 11, 12, 13, 14, 15,
2933 16, 17, 18, 19, 20, -1, -1, -1, 24, -1,
2934 -1, -1, -1, 29, 30, 31, 32, 33, 34, -1,
2935 -1, -1, -1, -1, -1, -1, 42, 43, -1, -1,
2936 -1, 47, 48, 49, -1, -1, -1, -1, -1, -1,
2937 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2938 -1, -1, -1, -1, -1, 71, -1, -1, -1, -1,
2939 -1, -1, -1, -1, -1, -1, 188, 189, 190, -1,
2940 192, 193, 194, -1, -1, -1, -1, -1, -1, -1,
2941 -1, 97, 98, 99, 100, 101, 102, -1, -1, -1,
2942 -1, -1, -1, -1, -1, 111, -1, 6, 7, 8,
2943 116, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2944 19, 20, -1, -1, -1, 24, -1, -1, -1, -1,
2945 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
2946 -1, -1, -1, 42, 43, 44, -1, 46, 47, 48,
2947 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2948 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2949 -1, -1, 71, 72, -1, -1, -1, -1, -1, -1,
2950 -1, -1, 188, 189, 190, -1, 192, 193, 194, -1,
2951 -1, -1, -1, -1, -1, -1, -1, 96, 97, 98,
2952 99, 100, 101, 102, -1, -1, -1, -1, -1, -1,
2953 -1, -1, 111, 112, 113, 114, 115, 116, 117, 118,
2954 119, 120, 121, 122, 123, 124, 125, 126, -1, 128,
2955 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2956 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2957 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2958 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2959 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
2960 179, 180, 181, -1, -1, -1, -1, -1, -1, 188,
2961 189, 190, 191, 192, 193, 194, 195, 6, 7, 8,
2962 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2963 19, 20, -1, -1, -1, 24, -1, -1, -1, -1,
2964 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
2965 -1, -1, -1, 42, 43, 44, -1, 46, 47, 48,
2966 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2967 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2968 -1, -1, 71, 72, -1, -1, -1, -1, -1, -1,
2969 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2970 -1, -1, -1, -1, -1, -1, -1, 96, 97, 98,
2971 99, 100, 101, 102, -1, -1, -1, -1, -1, -1,
2972 -1, -1, 111, 112, 113, 114, 115, 116, 117, 118,
2973 119, 120, 121, 122, 123, 124, 125, 126, -1, 128,
2974 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2975 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2976 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2977 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2978 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
2979 179, 180, 181, -1, -1, -1, -1, -1, -1, 188,
2980 189, 190, 191, 192, 193, 194, 195, 6, 7, 8,
2981 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2982 19, 20, -1, -1, -1, 24, -1, -1, -1, -1,
2983 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
2984 -1, -1, -1, 42, 43, 44, -1, 46, 47, 48,
2985 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2986 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2987 -1, -1, 71, 72, -1, -1, -1, -1, -1, -1,
2988 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2989 -1, -1, -1, -1, -1, -1, -1, 96, 97, 98,
2990 99, 100, 101, 102, -1, -1, -1, -1, -1, -1,
2991 -1, -1, 111, 112, 113, 114, 115, 116, 117, 118,
2992 119, 120, 121, 122, 123, 124, 125, 126, -1, 128,
2993 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2994 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2995 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2996 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2997 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
2998 179, 180, 181, -1, -1, -1, -1, -1, -1, 188,
2999 189, 190, 191, 192, 193, 194, 195, 6, 7, 8,
3000 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18,
3001 19, 20, -1, -1, -1, 24, -1, -1, -1, -1,
3002 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
3003 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
3004 49, 6, 7, 8, -1, 10, 11, 12, 13, 14,
3005 15, 16, 17, 18, 19, 20, -1, -1, -1, 24,
3006 -1, -1, 71, -1, 29, 30, 31, 32, 33, 34,
3007 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3008 -1, -1, 47, 48, 49, -1, -1, 96, 97, 98,
3009 99, 100, 101, 102, -1, -1, -1, -1, -1, -1,
3010 -1, -1, 111, -1, -1, -1, 71, 116, -1, -1,
3011 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3012 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3013 -1, 96, 97, 98, 99, 100, 101, 102, -1, -1,
3014 -1, -1, -1, -1, -1, -1, 111, -1, 6, 7,
3015 8, 116, 10, 11, 12, 13, 14, 15, 16, 17,
3016 18, 19, 20, -1, -1, -1, 24, -1, -1, -1,
3017 -1, 29, 30, 31, 32, 33, 34, -1, -1, 188,
3018 189, 190, -1, 192, 193, 194, -1, -1, -1, 47,
3019 48, 49, 6, 7, 8, -1, 10, 11, 12, 13,
3020 14, 15, 16, 17, 18, 19, 20, -1, -1, -1,
3021 24, -1, -1, 71, -1, 29, 30, 31, 32, 33,
3022 34, -1, -1, 188, 189, 190, -1, 192, 193, 194,
3023 -1, -1, -1, 47, 48, 49, -1, -1, 96, 97,
3024 98, 99, 100, 101, 102, -1, -1, -1, -1, -1,
3025 -1, -1, -1, 111, -1, -1, -1, 71, 116, -1,
3026 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3027 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3028 -1, -1, 96, 97, 98, 99, 100, 101, 102, -1,
3029 -1, -1, -1, -1, -1, -1, -1, 111, -1, 6,
3030 7, 8, 116, 10, 11, 12, 13, 14, 15, 16,
3031 17, 18, 19, 20, -1, -1, -1, 24, -1, -1,
3032 -1, -1, 29, 30, 31, 32, 33, 34, -1, -1,
3033 188, 189, 190, -1, 192, 193, 194, -1, -1, -1,
3034 47, 48, 49, 6, 7, 8, -1, 10, 11, 12,
3035 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
3036 -1, 24, -1, -1, 71, -1, 29, 30, 31, 32,
3037 33, 34, -1, -1, 188, 189, 190, -1, 192, 193,
3038 194, -1, -1, -1, 47, 48, 49, -1, -1, 96,
3039 97, 98, 99, 100, 101, 102, -1, -1, -1, -1,
3040 -1, -1, -1, -1, 111, -1, -1, -1, 71, 116,
3041 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3042 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3043 -1, -1, -1, 96, 97, 98, 99, 100, 101, 102,
3044 -1, -1, -1, -1, -1, -1, -1, -1, 111, -1,
3045 6, 7, 8, 116, 10, 11, 12, 13, 14, 15,
3046 16, 17, 18, 19, 20, -1, -1, -1, 24, -1,
3047 -1, -1, -1, 29, 30, 31, 32, 33, 34, -1,
3048 -1, 188, 189, 190, -1, 192, 193, 194, -1, -1,
3049 -1, 47, 48, 49, 6, 7, 8, -1, 10, 11,
3050 12, 13, 14, 15, 16, 17, 18, 19, -1, -1,
3051 -1, -1, 24, -1, -1, 71, -1, 29, 30, 31,
3052 32, 33, 34, -1, -1, 188, 189, 190, -1, 192,
3053 193, 194, -1, -1, -1, 47, 48, 49, -1, -1,
3054 96, 97, 98, 99, 100, 101, 102, -1, -1, -1,
3055 -1, -1, -1, -1, -1, 111, -1, -1, -1, 71,
3056 116, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3057 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3058 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
3059 102, 19, -1, -1, -1, -1, 24, -1, -1, 111,
3060 -1, -1, -1, -1, 116, -1, -1, -1, -1, -1,
3061 -1, -1, -1, -1, -1, -1, 44, -1, 46, -1,
3062 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3063 -1, -1, 188, 189, 190, -1, 192, 193, 194, -1,
3064 -1, -1, -1, -1, 72, -1, -1, -1, -1, -1,
3065 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3066 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3067 -1, -1, -1, -1, -1, -1, 188, 189, 190, -1,
3068 192, 193, 194, -1, 112, 113, 114, 115, -1, 117,
3069 118, 119, 120, 121, 122, 123, 124, 125, 126, -1,
3070 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
3071 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
3072 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
3073 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
3074 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
3075 178, 179, 180, 181, 20, -1, -1, -1, -1, -1,
3076 -1, -1, 190, 191, -1, -1, -1, 195, -1, -1,
3077 -1, -1, -1, -1, -1, -1, -1, -1, 44, -1,
3078 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3079 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3080 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3081 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3082 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3083 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3084 -1, -1, -1, -1, -1, -1, 112, 113, 114, 115,
3085 -1, 117, 118, 119, 120, 121, 122, 123, 124, 125,
3086 126, -1, 128, 129, 130, 131, 132, 133, 134, 135,
3087 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
3088 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
3089 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
3090 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
3091 176, 177, 178, 179, 180, 181, -1, -1, -1, -1,
3092 -1, 19, 20, -1, 190, 191, 24, -1, -1, 195,
3093 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
3094 -1, -1, 19, -1, -1, -1, -1, 24, -1, 47,
3095 48, 49, 29, 30, 31, 32, 33, 34, -1, -1,
3096 -1, -1, -1, -1, -1, -1, -1, -1, -1, 19,
3097 47, 48, 49, 71, 24, -1, -1, -1, -1, 29,
3098 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
3099 -1, -1, -1, -1, 71, -1, -1, 47, 48, 49,
3100 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3101 -1, -1, -1, -1, -1, -1, -1, -1, 116, -1,
3102 -1, 71, -1, -1, -1, -1, -1, -1, -1, -1,
3103 -1, -1, -1, -1, -1, -1, -1, -1, -1, 116,
3104 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3105 -1, -1, -1, -1, -1, 24, -1, -1, -1, -1,
3106 -1, -1, -1, -1, -1, 34, 116, -1, -1, -1,
3107 -1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
3108 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3109 188, 189, 190, -1, 192, -1, -1, -1, -1, -1,
3110 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3111 -1, 188, 189, 190, -1, 192, -1, -1, -1, -1,
3112 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3113 -1, -1, -1, -1, -1, -1, -1, -1, 188, 189,
3114 190, -1, 192, 112, 113, 114, 115, -1, 117, 118,
3115 119, 120, 121, 122, 123, 124, 125, 126, -1, 128,
3116 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
3117 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
3118 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
3119 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
3120 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
3121 179, 180, 181, -1, -1, -1, -1, -1, -1, 188,
3122 189, 190, 191, 24, 193, 194, 195, -1, 29, 30,
3123 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
3124 -1, 42, 43, -1, 24, 25, 47, 48, 49, 29,
3125 30, 31, 32, 33, 34, 24, -1, -1, 27, -1,
3126 29, 30, 31, 32, 33, 34, -1, 47, 48, 49,
3127 71, -1, -1, -1, -1, -1, 24, 25, 47, 48,
3128 49, 29, 30, 31, 32, 33, 34, 24, -1, -1,
3129 27, 71, 29, 30, 31, 32, 33, 34, -1, 47,
3130 48, 49, 71, -1, -1, -1, -1, -1, -1, -1,
3131 47, 48, 49, -1, -1, 116, -1, -1, -1, 24,
3132 25, -1, -1, 71, 29, 30, 31, 32, 33, 34,
3133 -1, -1, -1, -1, 71, -1, 116, -1, -1, -1,
3134 -1, -1, 47, 48, 49, -1, 24, 116, -1, -1,
3135 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
3136 -1, -1, -1, -1, -1, -1, 71, -1, 116, 47,
3137 48, 49, -1, -1, -1, 24, -1, -1, -1, 116,
3138 29, 30, 31, 32, 33, 34, -1, 188, 189, 190,
3139 -1, 192, -1, 71, -1, -1, -1, -1, 47, 48,
3140 49, -1, -1, -1, -1, -1, -1, -1, 188, 189,
3141 190, 116, 192, -1, -1, -1, -1, -1, -1, 188,
3142 189, 190, 71, 192, 24, -1, -1, -1, -1, 29,
3143 30, 31, 32, 33, 34, -1, -1, -1, 116, -1,
3144 188, 189, 190, -1, 192, -1, -1, 47, 48, 49,
3145 -1, 188, 189, 190, 24, 192, -1, -1, -1, 29,
3146 30, 31, 32, 33, 34, -1, -1, 116, -1, -1,
3147 -1, 71, -1, -1, -1, -1, -1, 47, 48, 49,
3148 -1, -1, -1, 188, 189, 190, -1, 192, -1, -1,
3149 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3150 -1, 71, -1, -1, -1, -1, -1, -1, -1, -1,
3151 188, 189, 190, 24, 192, -1, 116, -1, 29, 30,
3152 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
3153 -1, -1, -1, -1, -1, -1, 47, 48, 49, 188,
3154 189, 190, -1, 192, -1, -1, 116, -1, -1, -1,
3155 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3156 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3157 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3158 -1, -1, -1, -1, -1, -1, -1, -1, 188, 189,
3159 190, -1, 192, -1, -1, -1, -1, -1, -1, -1,
3160 -1, -1, -1, -1, -1, 116, -1, -1, -1, -1,
3161 -1, -1, -1, -1, 44, -1, 46, -1, 188, 189,
3162 190, -1, 192, -1, -1, -1, -1, -1, -1, -1,
3163 -1, -1, -1, -1, -1, -1, -1, -1, 68, 69,
3164 70, -1, 72, -1, -1, -1, -1, -1, -1, -1,
3165 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3166 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3167 -1, -1, -1, -1, -1, -1, -1, 188, 189, 190,
3168 -1, 192, 112, 113, 114, 115, -1, 117, 118, 119,
3169 120, 121, 122, 123, 124, 125, 126, -1, 128, 129,
3170 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
3171 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
3172 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
3173 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
3174 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
3175 180, 181, 44, -1, 46, -1, -1, -1, -1, -1,
3176 190, 191, -1, -1, -1, 195, -1, -1, -1, -1,
3177 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3178 72, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3179 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3180 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3181 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3182 112, 113, 114, 115, -1, 117, 118, 119, 120, 121,
3183 122, 123, 124, 125, 126, -1, 128, 129, 130, 131,
3184 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
3185 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3186 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
3187 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3188 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
3189 44, -1, -1, -1, -1, -1, 188, 189, 190, 191,
3190 -1, -1, -1, 195, -1, -1, -1, -1, -1, -1,
3191 -1, -1, -1, -1, 68, 69, 70, -1, -1, -1,
3192 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3193 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3194 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3195 -1, -1, -1, -1, -1, -1, -1, -1, 112, 113,
3196 114, 115, -1, 117, 118, 119, 120, 121, 122, 123,
3197 124, 125, 126, -1, 128, 129, 130, 131, 132, 133,
3198 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
3199 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
3200 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
3201 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
3202 174, 175, 176, 177, 178, 179, 180, 181, 44, -1,
3203 -1, -1, -1, -1, -1, -1, 190, 191, -1, -1,
3204 -1, 195, -1, -1, -1, -1, -1, -1, -1, -1,
3205 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3206 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3207 -1, -1, -1, -1, -1, -1, 92, 93, 94, -1,
3208 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3209 -1, -1, -1, -1, -1, -1, 112, 113, 114, 115,
3210 -1, 117, 118, 119, 120, 121, 122, 123, 124, 125,
3211 126, -1, 128, 129, 130, 131, 132, 133, 134, 135,
3212 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
3213 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
3214 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
3215 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
3216 176, 177, 178, 179, 180, 181, 44, -1, 46, -1,
3217 -1, -1, -1, -1, 190, 191, -1, -1, -1, 195,
3218 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3219 -1, -1, -1, -1, 72, -1, -1, -1, -1, -1,
3220 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3221 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3222 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3223 -1, -1, -1, -1, 112, 113, 114, 115, -1, 117,
3224 118, 119, 120, 121, 122, 123, 124, 125, 126, -1,
3225 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
3226 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
3227 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
3228 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
3229 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
3230 178, 179, 180, 181, 44, -1, -1, -1, -1, -1,
3231 -1, -1, 190, 191, -1, -1, -1, 195, -1, -1,
3232 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3233 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3234 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3235 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3236 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3237 -1, -1, 112, 113, 114, 115, -1, 117, 118, 119,
3238 120, 121, 122, 123, 124, 125, 126, -1, 128, 129,
3239 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
3240 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
3241 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
3242 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
3243 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
3244 180, 181, -1, -1, -1, -1, -1, -1, -1, -1,
3245 190, 191, -1, -1, -1, 195
3248 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
3249 symbol of state STATE-NUM. */
3250 static const unsigned short yystos[] =
3252 0, 1, 18, 34, 44, 46, 72, 77, 78, 79,
3253 92, 93, 94, 112, 113, 114, 115, 117, 118, 119,
3254 120, 121, 122, 123, 124, 125, 126, 128, 129, 130,
3255 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
3256 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
3257 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
3258 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
3259 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
3260 181, 188, 189, 190, 191, 193, 194, 195, 198, 199,
3261 200, 201, 202, 206, 212, 215, 216, 256, 261, 301,
3262 302, 308, 310, 322, 332, 333, 334, 335, 336, 337,
3263 338, 339, 340, 341, 342, 343, 345, 347, 350, 359,
3264 364, 369, 373, 466, 467, 468, 112, 113, 114, 371,
3265 372, 373, 24, 306, 312, 313, 345, 369, 190, 345,
3266 203, 190, 467, 1, 6, 7, 8, 10, 11, 12,
3267 13, 14, 15, 16, 17, 18, 24, 29, 30, 31,
3268 32, 33, 34, 47, 48, 49, 71, 95, 96, 97,
3269 98, 99, 100, 101, 102, 111, 116, 189, 190, 192,
3270 193, 269, 271, 273, 275, 278, 281, 282, 283, 284,
3271 285, 286, 287, 288, 289, 290, 292, 294, 297, 298,
3272 386, 391, 401, 402, 403, 405, 408, 412, 413, 421,
3273 427, 428, 429, 432, 434, 440, 460, 462, 463, 466,
3274 467, 1, 11, 18, 24, 193, 194, 298, 387, 389,
3275 390, 391, 394, 396, 397, 399, 400, 403, 405, 408,
3276 413, 417, 426, 428, 433, 460, 463, 387, 388, 310,
3277 310, 310, 359, 359, 359, 359, 359, 359, 359, 359,
3278 359, 359, 0, 200, 26, 311, 19, 257, 259, 18,
3279 464, 24, 345, 348, 310, 310, 310, 310, 310, 310,
3280 310, 310, 359, 310, 348, 348, 310, 359, 88, 359,
3281 68, 69, 70, 359, 206, 359, 371, 373, 24, 189,
3282 190, 298, 310, 344, 381, 466, 21, 310, 310, 309,
3283 310, 359, 359, 204, 205, 209, 310, 345, 373, 467,
3284 24, 273, 294, 300, 409, 24, 24, 24, 24, 467,
3285 18, 18, 18, 298, 270, 298, 381, 402, 281, 281,
3286 281, 281, 281, 281, 310, 24, 273, 273, 24, 24,
3287 16, 16, 16, 16, 15, 102, 404, 24, 385, 386,
3288 391, 403, 405, 408, 411, 413, 426, 429, 432, 434,
3289 460, 461, 463, 435, 24, 26, 48, 49, 359, 23,
3290 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
3291 276, 310, 34, 35, 36, 32, 33, 50, 51, 37,
3292 38, 52, 53, 54, 55, 29, 39, 40, 56, 41,
3293 57, 18, 21, 402, 95, 19, 420, 402, 385, 402,
3294 192, 402, 22, 24, 298, 396, 413, 18, 95, 396,
3295 396, 301, 345, 422, 19, 20, 398, 389, 402, 95,
3296 27, 310, 24, 258, 422, 359, 18, 369, 346, 381,
3297 310, 467, 310, 467, 19, 467, 298, 25, 345, 26,
3298 310, 373, 382, 384, 25, 359, 18, 359, 18, 23,
3299 369, 464, 26, 311, 24, 359, 209, 5, 359, 370,
3300 376, 377, 378, 406, 22, 298, 298, 298, 298, 299,
3301 18, 18, 24, 411, 25, 25, 25, 24, 381, 297,
3302 298, 18, 18, 18, 18, 18, 404, 6, 7, 411,
3303 385, 19, 419, 385, 385, 413, 25, 272, 297, 298,
3304 28, 45, 297, 297, 297, 297, 297, 297, 297, 297,
3305 297, 297, 297, 279, 277, 281, 281, 281, 282, 282,
3306 283, 283, 284, 284, 284, 284, 285, 285, 286, 287,
3307 288, 291, 295, 293, 297, 20, 190, 402, 421, 422,
3308 414, 9, 11, 298, 25, 24, 359, 301, 396, 11,
3309 300, 25, 370, 20, 111, 385, 418, 422, 425, 260,
3310 369, 359, 91, 21, 19, 310, 359, 19, 310, 359,
3311 366, 367, 467, 19, 310, 310, 27, 300, 24, 384,
3312 26, 310, 306, 195, 305, 306, 314, 315, 307, 359,
3313 91, 27, 310, 24, 359, 205, 374, 375, 467, 25,
3314 21, 310, 380, 467, 22, 25, 431, 25, 18, 25,
3315 19, 281, 381, 25, 21, 25, 300, 410, 25, 418,
3316 11, 24, 21, 25, 27, 467, 467, 42, 43, 280,
3317 289, 298, 290, 20, 20, 425, 430, 24, 25, 395,
3318 369, 24, 27, 207, 25, 20, 20, 111, 425, 20,
3319 111, 385, 411, 310, 23, 303, 346, 20, 355, 19,
3320 20, 357, 19, 20, 21, 23, 365, 27, 25, 359,
3321 376, 27, 300, 24, 21, 310, 310, 310, 23, 464,
3322 300, 25, 370, 205, 21, 213, 5, 379, 345, 25,
3323 299, 19, 297, 423, 424, 359, 381, 407, 22, 24,
3324 436, 297, 310, 310, 24, 273, 24, 273, 22, 20,
3325 385, 298, 24, 29, 30, 31, 32, 33, 34, 48,
3326 49, 71, 189, 190, 271, 273, 276, 282, 283, 284,
3327 285, 286, 287, 288, 289, 290, 292, 437, 439, 440,
3328 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
3329 451, 452, 453, 454, 455, 458, 466, 298, 359, 73,
3330 74, 75, 76, 80, 81, 82, 83, 84, 85, 86,
3331 233, 235, 237, 238, 240, 241, 242, 247, 248, 254,
3332 255, 323, 324, 326, 327, 328, 208, 20, 20, 111,
3333 20, 25, 304, 310, 415, 20, 351, 415, 20, 353,
3334 310, 367, 310, 366, 382, 25, 27, 25, 376, 359,
3335 246, 247, 19, 26, 28, 297, 317, 318, 319, 320,
3336 467, 310, 310, 27, 210, 25, 310, 5, 467, 234,
3337 236, 238, 240, 242, 248, 324, 328, 380, 206, 310,
3338 368, 373, 383, 384, 385, 18, 423, 21, 465, 21,
3339 25, 22, 298, 437, 381, 381, 296, 25, 298, 381,
3340 281, 281, 281, 281, 281, 281, 273, 273, 24, 24,
3341 26, 48, 49, 359, 23, 58, 59, 60, 61, 62,
3342 63, 64, 65, 66, 67, 34, 35, 36, 32, 33,
3343 50, 51, 37, 38, 52, 53, 54, 55, 29, 39,
3344 40, 56, 41, 57, 25, 438, 25, 189, 244, 245,
3345 239, 243, 233, 91, 91, 91, 359, 359, 91, 330,
3346 334, 91, 233, 20, 310, 316, 215, 345, 360, 361,
3347 415, 360, 415, 300, 20, 25, 25, 305, 18, 317,
3348 321, 300, 467, 317, 23, 320, 22, 317, 91, 359,
3349 234, 211, 25, 214, 234, 24, 310, 195, 368, 392,
3350 465, 424, 20, 274, 467, 25, 25, 25, 25, 294,
3351 18, 25, 25, 297, 25, 272, 298, 28, 45, 297,
3352 297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
3353 281, 281, 281, 282, 282, 283, 283, 284, 284, 284,
3354 284, 285, 285, 286, 287, 288, 289, 456, 290, 21,
3355 18, 440, 40, 89, 90, 121, 122, 135, 249, 250,
3356 251, 253, 24, 34, 189, 190, 262, 263, 265, 464,
3357 466, 325, 5, 24, 34, 184, 185, 189, 192, 217,
3358 218, 224, 225, 226, 228, 229, 230, 231, 331, 466,
3359 329, 317, 18, 21, 310, 359, 361, 416, 360, 416,
3360 360, 310, 20, 21, 27, 316, 234, 464, 359, 299,
3361 20, 25, 26, 28, 18, 411, 281, 21, 25, 27,
3362 467, 467, 298, 439, 244, 21, 464, 189, 252, 301,
3363 466, 251, 263, 263, 26, 28, 45, 21, 464, 24,
3364 34, 189, 266, 268, 466, 220, 228, 230, 24, 230,
3365 23, 56, 187, 223, 52, 53, 54, 227, 26, 28,
3366 45, 219, 24, 464, 267, 268, 316, 310, 359, 18,
3367 22, 362, 363, 369, 356, 416, 358, 416, 20, 317,
3368 464, 91, 373, 393, 310, 298, 467, 194, 459, 381,
3369 310, 310, 22, 250, 25, 27, 263, 264, 440, 467,
3370 467, 263, 266, 266, 26, 28, 45, 21, 464, 22,
3371 32, 33, 232, 25, 230, 218, 221, 230, 224, 230,
3372 228, 27, 192, 467, 467, 22, 228, 310, 464, 18,
3373 306, 310, 21, 310, 359, 22, 20, 352, 20, 354,
3374 91, 25, 27, 414, 25, 457, 27, 25, 27, 264,
3375 467, 467, 266, 310, 196, 222, 228, 40, 27, 222,
3376 25, 310, 310, 300, 363, 18, 310, 20, 20, 294,
3377 27, 25, 221, 359, 300, 349
3380 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
3381 # define YYSIZE_T __SIZE_TYPE__
3383 #if ! defined (YYSIZE_T) && defined (size_t)
3384 # define YYSIZE_T size_t
3386 #if ! defined (YYSIZE_T)
3387 # if defined (__STDC__) || defined (__cplusplus)
3388 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
3389 # define YYSIZE_T size_t
3392 #if ! defined (YYSIZE_T)
3393 # define YYSIZE_T unsigned int
3396 #define yyerrok (yyerrstatus = 0)
3397 #define yyclearin (yychar = YYEMPTY)
3398 #define YYEMPTY (-2)
3401 #define YYACCEPT goto yyacceptlab
3402 #define YYABORT goto yyabortlab
3403 #define YYERROR goto yyerrlab1
3406 /* Like YYERROR except do call yyerror. This remains here temporarily
3407 to ease the transition to the new meaning of YYERROR, for GCC.
3408 Once GCC version 2 has supplanted version 1, this can go. */
3410 #define YYFAIL goto yyerrlab
3412 #define YYRECOVERING() (!!yyerrstatus)
3414 #define YYBACKUP(Token, Value) \
3416 if (yychar == YYEMPTY && yylen == 1) \
3420 yytoken = YYTRANSLATE (yychar); \
3426 yyerror ("syntax error: cannot back up");\
3432 #define YYERRCODE 256
3434 /* YYLLOC_DEFAULT -- Compute the default location (before the actions
3437 #ifndef YYLLOC_DEFAULT
3438 # define YYLLOC_DEFAULT(Current, Rhs, N) \
3439 Current.first_line = Rhs[1].first_line; \
3440 Current.first_column = Rhs[1].first_column; \
3441 Current.last_line = Rhs[N].last_line; \
3442 Current.last_column = Rhs[N].last_column;
3445 /* YYLEX -- calling `yylex' with the right arguments. */
3448 # define YYLEX yylex (YYLEX_PARAM)
3450 # define YYLEX yylex ()
3453 /* Enable debugging if requested. */
3457 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
3458 # define YYFPRINTF fprintf
3461 # define YYDPRINTF(Args) \
3467 # define YYDSYMPRINT(Args) \
3473 # define YYDSYMPRINTF(Title, Token, Value, Location) \
3477 YYFPRINTF (stderr, "%s ", Title); \
3478 yysymprint (stderr, \
3480 YYFPRINTF (stderr, "\n"); \
3484 /*------------------------------------------------------------------.
3485 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
3487 `------------------------------------------------------------------*/
3489 #if defined (__STDC__) || defined (__cplusplus)
3491 yy_stack_print (short *bottom, short *top)
3494 yy_stack_print (bottom, top)
3499 YYFPRINTF (stderr, "Stack now");
3500 for (/* Nothing. */; bottom <= top; ++bottom)
3501 YYFPRINTF (stderr, " %d", *bottom);
3502 YYFPRINTF (stderr, "\n");
3505 # define YY_STACK_PRINT(Bottom, Top) \
3508 yy_stack_print ((Bottom), (Top)); \
3512 /*------------------------------------------------.
3513 | Report that the YYRULE is going to be reduced. |
3514 `------------------------------------------------*/
3516 #if defined (__STDC__) || defined (__cplusplus)
3518 yy_reduce_print (int yyrule)
3521 yy_reduce_print (yyrule)
3526 unsigned int yylineno = yyrline[yyrule];
3527 YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
3528 yyrule - 1, yylineno);
3529 /* Print the symbols being reduced, and their result. */
3530 for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
3531 YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
3532 YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
3535 # define YY_REDUCE_PRINT(Rule) \
3538 yy_reduce_print (Rule); \
3541 /* Nonzero means print parse trace. It is left uninitialized so that
3542 multiple parsers can coexist. */
3544 #else /* !YYDEBUG */
3545 # define YYDPRINTF(Args)
3546 # define YYDSYMPRINT(Args)
3547 # define YYDSYMPRINTF(Title, Token, Value, Location)
3548 # define YY_STACK_PRINT(Bottom, Top)
3549 # define YY_REDUCE_PRINT(Rule)
3550 #endif /* !YYDEBUG */
3553 /* YYINITDEPTH -- initial size of the parser's stacks. */
3555 # define YYINITDEPTH 200
3558 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3559 if the built-in stack extension method is used).
3561 Do not make this value too large; the results are undefined if
3562 SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
3563 evaluated with infinite-precision integer arithmetic. */
3570 # define YYMAXDEPTH 10000
3578 # if defined (__GLIBC__) && defined (_STRING_H)
3579 # define yystrlen strlen
3581 /* Return the length of YYSTR. */
3583 # if defined (__STDC__) || defined (__cplusplus)
3584 yystrlen (const char *yystr)
3590 register const char *yys = yystr;
3592 while (*yys++ != '\0')
3595 return yys - yystr - 1;
3601 # if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
3602 # define yystpcpy stpcpy
3604 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3607 # if defined (__STDC__) || defined (__cplusplus)
3608 yystpcpy (char *yydest, const char *yysrc)
3610 yystpcpy (yydest, yysrc)
3615 register char *yyd = yydest;
3616 register const char *yys = yysrc;
3618 while ((*yyd++ = *yys++) != '\0')
3626 #endif /* !YYERROR_VERBOSE */
3631 /*--------------------------------.
3632 | Print this symbol on YYOUTPUT. |
3633 `--------------------------------*/
3635 #if defined (__STDC__) || defined (__cplusplus)
3637 yysymprint (FILE *yyoutput, int yytype, cgrammar_YYSTYPE *yyvaluep)
3640 yysymprint (yyoutput, yytype, yyvaluep)
3643 cgrammar_YYSTYPE *yyvaluep;
3646 /* Pacify ``unused variable'' warnings. */
3649 if (yytype < YYNTOKENS)
3651 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
3653 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
3657 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
3664 YYFPRINTF (yyoutput, ")");
3667 #endif /* ! YYDEBUG */
3668 /*-----------------------------------------------.
3669 | Release the memory associated to this symbol. |
3670 `-----------------------------------------------*/
3672 #if defined (__STDC__) || defined (__cplusplus)
3674 yydestruct (int yytype, cgrammar_YYSTYPE *yyvaluep)
3677 yydestruct (yytype, yyvaluep)
3679 cgrammar_YYSTYPE *yyvaluep;
3682 /* Pacify ``unused variable'' warnings. */
3694 /* Prevent warnings from -Wmissing-prototypes. */
3696 #ifdef YYPARSE_PARAM
3697 # if defined (__STDC__) || defined (__cplusplus)
3698 int yyparse (void *YYPARSE_PARAM);
3702 #else /* ! YYPARSE_PARAM */
3703 #if defined (__STDC__) || defined (__cplusplus)
3708 #endif /* ! YYPARSE_PARAM */
3712 /* The lookahead symbol. */
3715 /* The semantic value of the lookahead symbol. */
3716 cgrammar_YYSTYPE yylval;
3718 /* Number of syntax errors so far. */
3727 #ifdef YYPARSE_PARAM
3728 # if defined (__STDC__) || defined (__cplusplus)
3729 int yyparse (void *YYPARSE_PARAM)
3731 int yyparse (YYPARSE_PARAM)
3732 void *YYPARSE_PARAM;
3734 #else /* ! YYPARSE_PARAM */
3735 #if defined (__STDC__) || defined (__cplusplus)
3746 register int yystate;
3749 /* Number of tokens to shift before error messages enabled. */
3751 /* Lookahead token as an internal (translated) token number. */
3754 /* Three stacks and their tools:
3755 `yyss': related to states,
3756 `yyvs': related to semantic values,
3757 `yyls': related to locations.
3759 Refer to the stacks thru separate pointers, to allow yyoverflow
3760 to reallocate them elsewhere. */
3762 /* The state stack. */
3763 short yyssa[YYINITDEPTH];
3764 short *yyss = yyssa;
3765 register short *yyssp;
3767 /* The semantic value stack. */
3768 cgrammar_YYSTYPE yyvsa[YYINITDEPTH];
3769 cgrammar_YYSTYPE *yyvs = yyvsa;
3770 register cgrammar_YYSTYPE *yyvsp;
3774 #define YYPOPSTACK (yyvsp--, yyssp--)
3776 YYSIZE_T yystacksize = YYINITDEPTH;
3778 /* The variables used to return semantic value and location from the
3780 cgrammar_YYSTYPE yyval;
3783 /* When reducing, the number of symbols on the RHS of the reduced
3787 YYDPRINTF ((stderr, "Starting parse\n"));
3792 yychar = YYEMPTY; /* Cause a token to be read. */
3794 /* Initialize stack pointers.
3795 Waste one element of value and location stack
3796 so that they stay on the same level as the state stack.
3797 The wasted elements are never initialized. */
3804 /*------------------------------------------------------------.
3805 | yynewstate -- Push a new state, which is found in yystate. |
3806 `------------------------------------------------------------*/
3808 /* In all cases, when you get here, the value and location stacks
3809 have just been pushed. so pushing a state here evens the stacks.
3816 if (yyss + yystacksize - 1 <= yyssp)
3818 /* Get the current used size of the three stacks, in elements. */
3819 YYSIZE_T yysize = yyssp - yyss + 1;
3823 /* Give user a chance to reallocate the stack. Use copies of
3824 these so that the &'s don't force the real ones into
3826 cgrammar_YYSTYPE *yyvs1 = yyvs;
3827 short *yyss1 = yyss;
3830 /* Each stack pointer address is followed by the size of the
3831 data in use in that stack, in bytes. This used to be a
3832 conditional around just the two extra args, but that might
3833 be undefined if yyoverflow is a macro. */
3834 yyoverflow ("parser stack overflow",
3835 &yyss1, yysize * sizeof (*yyssp),
3836 &yyvs1, yysize * sizeof (*yyvsp),
3843 #else /* no yyoverflow */
3844 # ifndef YYSTACK_RELOCATE
3847 /* Extend the stack our own way. */
3848 if (YYMAXDEPTH <= yystacksize)
3851 if (YYMAXDEPTH < yystacksize)
3852 yystacksize = YYMAXDEPTH;
3855 short *yyss1 = yyss;
3856 union yyalloc *yyptr =
3857 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3860 YYSTACK_RELOCATE (yyss);
3861 YYSTACK_RELOCATE (yyvs);
3863 # undef YYSTACK_RELOCATE
3865 YYSTACK_FREE (yyss1);
3868 #endif /* no yyoverflow */
3870 yyssp = yyss + yysize - 1;
3871 yyvsp = yyvs + yysize - 1;
3874 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
3875 (unsigned long int) yystacksize));
3877 if (yyss + yystacksize - 1 <= yyssp)
3881 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
3890 /* Do appropriate processing given the current state. */
3891 /* Read a lookahead token if we need one and don't already have one. */
3894 /* First try to decide what to do without reference to lookahead token. */
3896 yyn = yypact[yystate];
3897 if (yyn == YYPACT_NINF)
3900 /* Not known => get a lookahead token if don't already have one. */
3902 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
3903 if (yychar == YYEMPTY)
3905 YYDPRINTF ((stderr, "Reading a token: "));
3909 if (yychar <= YYEOF)
3911 yychar = yytoken = YYEOF;
3912 YYDPRINTF ((stderr, "Now at end of input.\n"));
3916 yytoken = YYTRANSLATE (yychar);
3917 YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
3920 /* If the proper action on seeing token YYTOKEN is to reduce or to
3921 detect an error, take that action. */
3923 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
3928 if (yyn == 0 || yyn == YYTABLE_NINF)
3937 /* Shift the lookahead token. */
3938 YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
3940 /* Discard the token being shifted unless it is eof. */
3941 if (yychar != YYEOF)
3947 /* Count tokens shifted since error; after three, turn off error
3956 /*-----------------------------------------------------------.
3957 | yydefault -- do the default action for the current state. |
3958 `-----------------------------------------------------------*/
3960 yyn = yydefact[yystate];
3966 /*-----------------------------.
3967 | yyreduce -- Do a reduction. |
3968 `-----------------------------*/
3970 /* yyn is the number of a rule to reduce with. */
3973 /* If YYLEN is nonzero, implement the default value of the action:
3976 Otherwise, the following line sets YYVAL to garbage.
3977 This behavior is undocumented and Bison
3978 users should not rely upon it. Assigning to YYVAL
3979 unconditionally makes the parser a bit smaller, and it avoids a
3980 GCC warning that YYVAL may be used uninitialized. */
3981 yyval = yyvsp[1-yylen];
3984 YY_REDUCE_PRINT (yyn);
3989 { context_checkGlobalScope (); ;}
3994 { context_checkGlobalScope (); ;}
3999 { uentry_clearDecl (); ;}
4004 { uentry_clearDecl (); ;}
4009 { uentry_clearDecl (); ;}
4014 { uentry_clearDecl (); ;}
4019 { uentry_clearDecl (); ;}
4024 { uentry_checkDecl (); exprNode_free (yyvsp[0].expr); ;}
4029 { uentry_clearDecl (); lltok_free (yyvsp[0].tok); /* evans 2002-02-08: okay to have a null statement */ ;}
4034 { uentry_clearDecl (); ;}
4039 { checkConstant (yyvsp[-6].qtyp, yyvsp[-4].ntyp); lltok_free2 (yyvsp[-7].tok, yyvsp[0].tok); ;}
4044 { checkValueConstant (yyvsp[-9].qtyp, yyvsp[-7].ntyp, yyvsp[-3].expr); lltok_free3 (yyvsp[-10].tok, yyvsp[-5].tok, yyvsp[0].tok); ;}
4049 { context_enterFunctionHeader (); ;}
4055 declareStaticFunction (yyvsp[-2].ntyp); context_quietExitFunction ();
4056 context_exitFunctionHeader ();
4057 lltok_free2 (yyvsp[-4].tok, yyvsp[0].tok); /*!*/
4064 qtype qint = qtype_create (ctype_int);
4065 yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
4072 { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;}
4077 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].pointers, idDecl_getTyp (yyval.ntyp)); ;}
4082 { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;}
4087 { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); lltok_free2 (yyvsp[-4].tok, yyvsp[0].tok); ;}
4092 { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeInnerArray (idDecl_getCtype (yyvsp[-2].ntyp))); lltok_free2 (yyvsp[-1].tok, yyvsp[0].tok); ;}
4098 exprNode_findValue (yyvsp[-2].expr);
4099 idDecl_notExpectingFunction (yyvsp[-5].ntyp);
4101 if (exprNode_hasValue (yyvsp[-2].expr))
4103 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerFixedArray (idDecl_getCtype (yyvsp[-5].ntyp),
4104 exprNode_getLongValue (yyvsp[-2].expr)));
4108 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerArray (idDecl_getCtype (yyvsp[-5].ntyp)));
4111 lltok_free2 (yyvsp[-4].tok, yyvsp[-1].tok);
4117 { setCurrentParams (uentryList_missingParams); ;}
4122 { /* need to support globals and modifies here! */
4123 functionClauseList fcl;
4124 ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp),
4125 uentryList_makeMissingParams ());
4127 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
4129 /*drl 7/25/01 added*/
4130 setImplicitfcnConstraints();
4132 DPRINTF((message("namedDeclBase PushType TLPAREN TRPAREN...:\n adding implict constraints to functionClause List: %s",
4133 functionClauseList_unparse(yyvsp[0].funcclauselist)
4137 fcl = functionClauseList_setImplicitConstraints(yyvsp[0].funcclauselist);
4139 idDecl_addClauses (yyval.ntyp, fcl);
4141 DPRINTF((message("1 added fuctionClause List: %s to the Id",
4142 functionClauseList_unparse(fcl)
4148 lltok_free2 (yyvsp[-3].tok, yyvsp[-2].tok);
4154 { setCurrentParams (yyvsp[-1].entrylist); ;}
4160 functionClauseList fcl;
4161 setImplicitfcnConstraints ();
4162 clearCurrentParams ();
4163 yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
4165 DPRINTF((message("namedDeclBase PushType TLPAREN genericParamList TRPAREN...:\n adding implict constraints to functionClause List: %s",
4166 functionClauseList_unparse(yyvsp[0].funcclauselist)
4170 fcl = functionClauseList_setImplicitConstraints(yyvsp[0].funcclauselist);
4172 idDecl_addClauses (yyval.ntyp, fcl);
4174 DPRINTF((message("added fuctionClause List: %s to the Id",
4175 functionClauseList_unparse(fcl)
4181 lltok_free2 (yyvsp[-4].tok, yyvsp[-2].tok);
4187 { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;}
4192 { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); lltok_free2 (yyvsp[-4].tok, yyvsp[0].tok); ;}
4197 { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeInnerArray (idDecl_getCtype (yyvsp[-2].ntyp)));
4198 lltok_free2 (yyvsp[-1].tok, yyvsp[0].tok);
4207 if (exprNode_hasValue (yyvsp[-2].expr)
4208 && multiVal_isInt (exprNode_getValue (yyvsp[-2].expr)))
4210 value = (int) multiVal_forceInt (exprNode_getValue (yyvsp[-2].expr));
4217 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerFixedArray (idDecl_getCtype (yyvsp[-5].ntyp), value));
4218 lltok_free2 (yyvsp[-4].tok, yyvsp[-1].tok);
4224 { setCurrentParams (uentryList_missingParams); ;}
4230 ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp),
4231 uentryList_makeMissingParams ());
4233 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
4234 idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
4236 lltok_free2 (yyvsp[-3].tok, yyvsp[-2].tok);
4242 { setCurrentParams (yyvsp[-1].entrylist); ;}
4248 clearCurrentParams ();
4249 yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
4250 idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
4252 lltok_free (yyvsp[-4].tok);
4253 /*!! lltok_free2 ($3, $5); */
4259 { setCurrentParams (yyvsp[-1].entrylist); ;}
4264 { clearCurrentParams (); ;}
4269 { declareCIter (yyvsp[-8].cname, yyvsp[-6].entrylist);
4270 lltok_free3 (yyvsp[-9].tok, yyvsp[-7].tok, yyvsp[-5].tok);
4276 { exprNode_checkMacroBody (yyvsp[-1].expr); lltok_free2 (yyvsp[-2].tok, yyvsp[0].tok); ;}
4281 { exprNode_checkIterBody (yyvsp[-1].expr); lltok_free2 (yyvsp[-2].tok, yyvsp[0].tok); ;}
4286 { exprNode_checkIterEnd (yyvsp[-1].expr); lltok_free2 (yyvsp[-2].tok, yyvsp[0].tok);;}
4291 { exprChecks_checkEmptyMacroBody (); lltok_free2 (yyvsp[-1].tok, yyvsp[0].tok); ;}
4296 { clabstract_declareFunction (yyvsp[0].ntyp); ;}
4301 { yyval.msconstraint = metaStateConstraint_create (yyvsp[-2].msspec, yyvsp[0].msexpr); lltok_free (yyvsp[-1].tok); ;}
4306 { cscannerHelp_expectingMetaStateName (); ;}
4311 { cscannerHelp_clearExpectingMetaStateName ();
4312 yyval.msspec = metaStateSpecifier_create (yyvsp[-3].sr, yyvsp[0].msinfo);
4313 lltok_free (yyvsp[-1].tok);
4319 { cscannerHelp_expectingMetaStateName (); ;}
4324 { cscannerHelp_clearExpectingMetaStateName ();
4325 yyval.msspec = metaStateSpecifier_createElipsis (yyvsp[0].msinfo);
4326 lltok_free2 (yyvsp[-3].tok, yyvsp[-1].tok);
4332 { yyval.msexpr = metaStateExpression_create (yyvsp[0].msspec); ;}
4337 { yyval.msexpr = metaStateExpression_createMerge (yyvsp[-2].msspec, yyvsp[0].msexpr); lltok_free (yyvsp[-1].tok); ;}
4342 { yyval.conL = constraintList_add (yyvsp[0].conL, yyvsp[-2].con); ;}
4347 { yyval.conL = constraintList_single (yyvsp[0].con); ;}
4353 yyval.con = makeConstraintParse3 (yyvsp[-2].conE, yyvsp[-1].tok, yyvsp[0].conE);
4354 DPRINTF(("Done BufConstraint1\n")); ;}
4359 {yyval.conE = constraintExpr_parseMakeUnaryOp (yyvsp[-3].tok, yyvsp[-1].conE); DPRINTF( ("Got BufConstraintExpr UNary Op ") ); ;}
4365 DPRINTF( ("Got BufConstraintExpr BINary Op ") );
4366 yyval.conE = constraintExpr_parseMakeBinaryOp (yyvsp[-3].conE, yyvsp[-2].tok, yyvsp[-1].conE); ;}
4371 { yyval.conE = constraintExpr_makeTermsRef (yyvsp[0].sr);;}
4376 { yyval.conE = constraintExpr_makeIntLiteral (exprNode_getLongValue (yyvsp[0].expr)); ;}
4381 { /*@-onlytrans@*/ yyval.sr = checkbufferConstraintClausesId (yyvsp[0].entry); /*@=onlytrans@*/ /*@i523@*/ ;}
4386 { yyval.sr = fixStateClausesId (yyvsp[0].cname); ;}
4391 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;}
4399 t = cstring_toCharsSafe (exprNode_unparse($3));
4402 yyval.sr = sRef_makeArrayFetchKnown (yyvsp[-3].sr, exprNode_getLongValue (yyvsp[-1].expr));
4408 { yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;}
4413 { yyval.sr = yyvsp[-1].sr; ;}
4418 { cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;}
4423 { cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;}
4428 { yyval.funcclauselist = functionClauseList_new (); ;}
4433 { yyval.funcclauselist = functionClauseList_prepend (yyvsp[0].funcclauselist, yyvsp[-1].funcclause); ;}
4438 { yyval.funcclauselist = functionClauseList_new (); ;}
4443 { yyval.funcclauselist = functionClauseList_prepend (yyvsp[0].funcclauselist, yyvsp[-1].funcclause); ;}
4448 { yyval.funcclause = functionClause_createGlobals (yyvsp[0].globsclause); ;}
4453 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;}
4458 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;}
4463 { yyval.funcclause = functionClause_createState (yyvsp[0].stateclause); ;}
4468 { yyval.funcclause = yyvsp[0].funcclause; ;}
4473 { yyval.funcclause = functionClause_createWarn (yyvsp[0].warnclause); ;}
4478 { yyval.funcclause = functionClause_createGlobals (yyvsp[0].globsclause); ;}
4483 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;}
4488 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;}
4493 { yyval.funcclause = functionClause_createState (yyvsp[0].stateclause); ;}
4498 { yyval.funcclause = yyvsp[0].funcclause; ;}
4503 { yyval.funcclause = functionClause_createWarn (yyvsp[0].warnclause); ;}
4508 { yyval.globsclause = yyvsp[-1].globsclause; ;}
4513 { setProcessingGlobalsList (); ;}
4519 unsetProcessingGlobals ();
4520 yyval.globsclause = globalsClause_create (yyvsp[-3].tok, yyvsp[-1].globset);
4526 { yyval.modsclause = modifiesClause_createNoMods (yyvsp[0].tok); ;}
4531 { yyval.modsclause = yyvsp[-1].modsclause; ;}
4537 context_setProtectVars (); enterParamsTemp ();
4538 sRef_setGlobalScopeSafe ();
4546 sRef_clearGlobalScopeSafe ();
4547 context_releaseVars ();
4548 yyval.modsclause = modifiesClause_create (yyvsp[-2].tok, yyvsp[0].srset);
4554 { yyval.flagspec = flagSpec_createPlain (yyvsp[0].cname); ;}
4559 { yyval.flagspec = flagSpec_createOr (yyvsp[-2].cname, yyvsp[0].flagspec); ;}
4564 { yyval.warnclause = warnClause_undefined; ;}
4569 { yyval.warnclause = yyvsp[-1].warnclause; ;}
4575 llassert (exprNode_knownStringValue (yyvsp[0].expr));
4576 yyval.warnclause = warnClause_create (yyvsp[-2].tok, yyvsp[-1].flagspec, cstring_copy (multiVal_forceString (exprNode_getValue (yyvsp[0].expr))));
4577 exprNode_free (yyvsp[0].expr);
4583 { yyval.warnclause = warnClause_create (yyvsp[-1].tok, yyvsp[0].flagspec, cstring_undefined); ;}
4588 { yyval.globset = globSet_single (yyvsp[0].sr); ;}
4593 { yyval.globset = globSet_insert (yyvsp[-2].globset, yyvsp[0].sr); ;}
4598 { yyval.sr = clabstract_createGlobal (yyvsp[0].sr, yyvsp[-1].tquallist); ;}
4603 { yyval.tquallist = qualList_undefined; ;}
4608 { yyval.tquallist = qualList_add (yyvsp[0].tquallist, yyvsp[-1].typequal); ;}
4613 { yyval.sr = uentry_getSref (yyvsp[0].entry); ;}
4618 { yyval.sr = clabstract_unrecognizedGlobal (yyvsp[0].cname); ;}
4623 { yyval.sr = clabstract_checkGlobal (yyvsp[0].expr); ;}
4628 { yyval.typequal = qual_createUndef (); ;}
4633 { yyval.typequal = qual_createKilled (); ;}
4638 { yyval.typequal = qual_createOut (); ;}
4643 { yyval.typequal = qual_createIn (); ;}
4648 { yyval.typequal = qual_createPartial (); ;}
4654 /**!!! deal with fred; fred (int); declarations! **/
4655 qtype qint = qtype_create (ctype_int);
4656 yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
4663 { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;}
4668 { checkDoneParams (); context_enterInnerContext (); ;}
4674 exprNode_checkFunctionBody (yyvsp[0].expr); yyval.expr = yyvsp[0].expr;
4675 context_exitInner (yyvsp[0].expr);
4681 { context_enterOldStyleScope (); ;}
4686 { oldStyleDoneParams (); context_enterInnerContext (); ;}
4692 exprNode_checkFunctionBody (yyvsp[0].expr);
4693 yyval.expr = yyvsp[0].expr; /* oldstyle */
4694 context_exitInner (yyvsp[0].expr);
4701 context_setFunctionDefined (exprNode_loc (yyvsp[0].expr));
4702 exprNode_checkFunction (context_getHeader (), yyvsp[0].expr);
4705 context_exitFunction ();
4711 { yyval.srset = yyvsp[-1].srset; ;}
4716 { yyval.srset = sRefSet_new (); ;}
4721 { yyval.sr = uentry_getSref (yyvsp[0].entry); checkModifiesId (yyvsp[0].entry); ;}
4726 { yyval.sr = fixModifiesId (yyvsp[0].cname); ;}
4731 { yyval.sr = fixModifiesId (yyvsp[0].cname); ;}
4736 { yyval.sr = modListArrayFetch (yyvsp[-2].sr, sRef_undefined); ;}
4741 { yyval.sr = modListArrayFetch (yyvsp[-3].sr, yyvsp[-1].sr); ;}
4746 { yyval.sr = modListPointer (yyvsp[0].sr); ;}
4751 { yyval.sr = yyvsp[-1].sr; ;}
4756 { yyval.sr = modListFieldAccess (yyvsp[-2].sr, yyvsp[0].cname); ;}
4761 { yyval.sr = modListArrowAccess (yyvsp[-2].sr, yyvsp[0].cname); ;}
4766 { yyval.sr = yyvsp[0].sr; ;}
4771 { yyval.sr = sRef_makeUnknown (); /* sRef_makeConstant ($1); ? */ ;}
4776 { yyval.srset = sRefSet_single (yyvsp[0].sr); ;}
4781 { yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr); ;}
4786 { yyval.sr = checkStateClausesId (yyvsp[0].entry); ;}
4791 { yyval.sr = fixStateClausesId (yyvsp[0].cname); ;}
4796 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;}
4801 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-3].sr); ;}
4806 { yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;}
4811 { yyval.sr = yyvsp[-1].sr; ;}
4816 { cstring_markOwned (yyvsp[0].cname);
4817 yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;}
4822 { cstring_markOwned (yyvsp[0].cname);
4823 yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;}
4828 { DPRINTF ((message("Empty optSpecClauseList") )); yyval.srset = sRefSet_undefined ;}
4833 { if (sRef_isValid (yyvsp[0].sr)) { yyval.srset = sRefSet_single (yyvsp[0].sr); }
4835 DPRINTF((message("returning sRefSEt_undefined ") ));
4836 yyval.srset = sRefSet_undefined; }
4842 { if (sRef_isValid (yyvsp[0].sr))
4844 yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr);
4848 yyval.srset = yyvsp[-2].srset;
4855 { yyval.expr = exprNode_fromIdentifier (yyvsp[0].entry); ;}
4860 { yyval.expr = exprNode_fromUIO (yyvsp[0].cname); ;}
4865 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;}
4870 { yyval.expr = exprNode_fromIdentifier (cscannerHelp_coerceId (yyvsp[0].cname)); ;}
4875 { yyval.expr = exprNode_makeError (); ;}
4880 { exprChecks_inCompoundStatementExpression (); ;}
4885 { exprChecks_leaveCompoundStatementExpression (); yyval.expr = exprNode_compoundStatementExpression (yyvsp[-3].tok, yyvsp[-1].expr); ;}
4890 { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;}
4895 { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;}
4900 { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].exprlist); ;}
4905 { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;}
4910 { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;}
4915 { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;}
4920 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;}
4925 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;}
4930 { /* added for C99 */ yyval.expr = exprNode_undefined; /*@i87 no checking */ ;}
4935 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;}
4940 { yyval.exprlist = exprNodeList_push (yyvsp[-2].exprlist, yyvsp[0].expr); ;}
4945 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;}
4950 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;}
4955 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;}
4960 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;}
4965 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;}
4970 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;}
4975 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;}
4980 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;}
4985 { yyval.expr = yyvsp[-1].expr; ;}
4990 { yyval.expr = yyvsp[0].expr; ;}
4995 { yyval.cstringlist = cstringList_add (yyvsp[-2].cstringlist, yyvsp[0].cname); lltok_free (yyvsp[-1].tok); ;}
5000 { yyval.cstringlist = yyvsp[-3].cstringlist; lltok_free2 (yyvsp[-2].tok, yyvsp[0].tok); ;}
5005 { yyval.cstringlist = cstringList_single (yyvsp[0].cname); ;}
5010 { yyval.expr = exprNode_offsetof (yyvsp[-5].qtyp, yyvsp[-2].cstringlist);
5011 lltok_free3 (yyvsp[-8].tok, yyvsp[-6].tok, yyvsp[-3].tok); lltok_free (yyvsp[-1].tok); ;}
5016 { context_setProtectVars (); ;}
5021 { context_sizeofReleaseVars (); yyval.expr = yyvsp[0].expr; ;}
5026 {context_enterSizeof();}
5031 {context_leaveSizeof();}
5036 { yyval.expr = exprNode_sizeofType (yyvsp[-1].qtyp); lltok_free3 (yyvsp[-3].tok, yyvsp[-2].tok, yyvsp[0].tok); ;}
5041 { yyval.expr = exprNode_sizeofExpr (yyvsp[0].expr); lltok_free (yyvsp[-1].tok); ;}
5046 { yyval.expr = exprNode_alignofType (yyvsp[-1].qtyp); lltok_free3 (yyvsp[-3].tok, yyvsp[-2].tok, yyvsp[0].tok); ;}
5051 { yyval.expr = exprNode_alignofExpr (yyvsp[0].expr); lltok_free (yyvsp[-1].tok); ;}
5056 { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); lltok_free (yyvsp[-1].tok); ;}
5061 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5066 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5071 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5076 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5081 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5086 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5091 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5096 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5101 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5106 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5111 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5116 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5121 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5126 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5131 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5136 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5141 { exprNode_produceGuards (yyvsp[-1].expr);
5142 context_enterAndClause (yyvsp[-1].expr);
5149 yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok);
5150 context_exitAndClause (yyval.expr, yyvsp[0].expr);
5157 exprNode_produceGuards (yyvsp[-1].expr);
5158 context_enterOrClause (yyvsp[-1].expr);
5165 yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok);
5166 context_exitOrClause (yyval.expr, yyvsp[0].expr);
5172 { exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ;}
5177 { context_enterFalseClause (yyvsp[-4].expr); ;}
5182 { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); context_exitClause (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;}
5187 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5192 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5197 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5202 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5207 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5212 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5217 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5222 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5227 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5232 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5237 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
5242 { yyval.expr = exprNode_comma (yyvsp[-2].expr, yyvsp[0].expr); ;}
5247 { yyval.expr = exprNode_undefined; ;}
5252 { yyval.expr = yyvsp[0].expr; ;}
5257 { doVaDcl (); yyval.expr = exprNode_makeError (); ;}
5262 { yyval.expr = exprNode_makeError (); ;}
5267 { yyval.expr = exprNode_makeError (); ;}
5273 setProcessingVars (yyvsp[-3].qtyp);
5274 processNamedDecl (yyvsp[-1].ntyp);
5281 unsetProcessingVars ();
5282 yyval.expr = exprNode_makeEmptyInitialization (yyvsp[-6].ntyp);
5283 DPRINTF (("Empty initialization: %s", exprNode_unparse (yyval.expr)));
5289 { setProcessingVars (yyvsp[-4].qtyp); processNamedDecl (yyvsp[-2].ntyp); ;}
5294 { yyval.expr = exprNode_concat (yyvsp[-2].expr, exprNode_makeInitialization (yyvsp[-8].ntyp, yyvsp[-3].expr));
5295 unsetProcessingVars ();
5301 { yyval.expr = yyvsp[0].expr; ;}
5306 { yyval.expr = exprNode_fromIdentifier (usymtab_getTypeEntry (ctype_typeId (yyvsp[0].ctyp))); ;}
5312 processNamedDecl (yyvsp[-1].ntyp);
5313 yyval.expr = exprNode_makeEmptyInitialization (yyvsp[-1].ntyp);
5319 { processNamedDecl (yyvsp[-2].ntyp); ;}
5324 { yyval.expr = exprNode_makeInitialization (yyvsp[-5].ntyp, yyvsp[0].expr); ;}
5329 { setProcessingTypedef (yyvsp[0].qtyp); ;}
5334 { clabstract_declareType (yyvsp[-3].exprlist, yyvsp[-1].warnclause); ;}
5339 { /* in the ANSI grammar, semantics unclear */ ;}
5344 { /* in the ANSI grammar, semantics unclear */ ;}
5349 { cscannerHelp_setExpectingTypeName (); ;}
5354 { cscannerHelp_setExpectingTypeName (); context_pushLoc (); ;}
5359 { yyval.exprlist = yyvsp[-1].exprlist; ;}
5364 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;}
5369 { yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ;}
5374 { yyval.exprlist = yyvsp[-1].exprlist; ;}
5379 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;}
5384 { yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ;}
5389 { yyval.expr = exprNode_makeError (); ;}
5394 { yyval.expr = exprNode_concat (yyvsp[-3].expr, yyvsp[0].expr); ;}
5399 { yyval.expr = exprNode_makeInitBlock (yyvsp[-2].tok, yyvsp[-1].exprlist); lltok_free (yyvsp[0].tok); ;}
5404 { yyval.expr = exprNode_makeInitBlock (yyvsp[-3].tok, yyvsp[-2].exprlist); lltok_free2 (yyvsp[-1].tok, yyvsp[0].tok); ;}
5409 { yyval.expr = exprNode_undefined; ;}
5414 { yyval.expr = yyvsp[-1].expr; ;}
5419 { yyval.expr = exprNode_undefined;
5420 /* gcc extension, obsolete since 2.5 */ ;}
5425 { yyval.expr = exprNode_undefined; ;}
5430 { yyval.expr = exprNode_undefined; ;}
5435 { yyval.expr = exprNode_undefined; ;}
5440 { yyval.expr = exprNode_undefined; ;}
5445 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;}
5450 { yyval.exprlist = exprNodeList_push (yyvsp[-2].exprlist, yyvsp[0].expr); ;}
5455 { setStorageClass (SCEXTERN); yyval.typequal = qual_createExtern (); ;}
5460 { yyval.typequal = qual_createInline (); ;}
5465 { setStorageClass (SCSTATIC); yyval.typequal = qual_createStatic (); ;}
5470 { yyval.typequal = qual_createAuto (); ;}
5475 { yyval.typequal = qual_createRegister (); ;}
5480 { yyval.stateclause = yyvsp[-1].stateclause; ;}
5486 context_setProtectVars ();
5488 sRef_setGlobalScopeSafe ();
5496 sRef_clearGlobalScopeSafe ();
5497 context_releaseVars ();
5498 yyval.stateclause = stateClause_createPlain (yyvsp[-5].tok, yyvsp[-2].srset);
5504 { yyval.funcclause = yyvsp[-1].funcclause; ;}
5509 { yyval.tok = yyvsp[-1].tok; context_enterFunctionHeader (); ;}
5515 context_exitFunctionHeader ();
5516 context_setProtectVars ();
5518 sRef_setGlobalScopeSafe ();
5526 sRef_clearGlobalScopeSafe ();
5527 context_releaseVars ();
5528 yyval.funcclause = functionClause_createState (stateClause_create (yyvsp[-5].tok, yyvsp[-4].typequal, yyvsp[-2].srset));
5535 context_setProtectVars ();
5537 sRef_setGlobalScopeSafe ();
5544 context_exitFunctionHeader ();
5546 sRef_clearGlobalScopeSafe ();
5547 context_releaseVars ();
5548 DPRINTF (("done optGlobBufConstraintsAux\n"));
5550 if (lltok_isEnsures (yyvsp[-4].tok))
5552 yyval.funcclause = functionClause_createEnsures (yyvsp[-2].fcnconstraint);
5554 else if (lltok_isRequires (yyvsp[-4].tok))
5556 yyval.funcclause = functionClause_createRequires (yyvsp[-2].fcnconstraint);
5563 DPRINTF (("FunctionclauseS: %s", functionClause_unparse (yyval.funcclause)));
5569 { yyval.fcnconstraint = functionConstraint_createBufferConstraint (yyvsp[0].conL); ;}
5574 { yyval.fcnconstraint = functionConstraint_createMetaStateConstraint (yyvsp[0].msconstraint); DPRINTF (("Made constraint: %s", functionConstraint_unparse (yyval.fcnconstraint))); ;}
5579 { yyval.typequal = qual_createExits (); ;}
5584 { yyval.typequal = qual_createMayExit (); ;}
5589 { yyval.typequal = qual_createTrueExit (); ;}
5594 { yyval.typequal = qual_createFalseExit (); ;}
5599 { yyval.typequal = qual_createNeverExit (); ;}
5604 { yyval.typequal = qual_createChecked (); ;}
5609 { yyval.typequal = qual_createCheckMod (); ;}
5614 { yyval.typequal = qual_createUnchecked (); ;}
5619 { yyval.typequal = qual_createCheckedStrict (); ;}
5624 { yyval.typequal = qual_createOwned (); ;}
5629 { yyval.typequal = qual_createDependent (); ;}
5634 { yyval.typequal = qual_createYield (); ;}
5639 { yyval.typequal = qual_createTemp (); ;}
5644 { yyval.typequal = qual_createOnly (); ;}
5649 { yyval.typequal = qual_createKeep (); ;}
5654 { yyval.typequal = qual_createKept (); ;}
5659 { yyval.typequal = qual_createShared (); ;}
5664 { yyval.typequal = qual_createUnique (); ;}
5669 { yyval.typequal = qual_createNull (); ;}
5674 { yyval.typequal = qual_createIsNull (); ;}
5679 { yyval.typequal = qual_createRelNull (); ;}
5684 { yyval.typequal = qual_createNotNull (); ;}
5689 { yyval.typequal = qual_createExposed (); ;}
5694 { yyval.typequal = qual_createObserver (); ;}
5699 { yyval.typequal = qual_createNullTerminated (); ;}
5704 { yyval.typequal = qual_createMetaState (yyvsp[0].annotation); ;}
5709 { yyval.typequal = qual_createReturned (); ;}
5714 { yyval.typequal = qual_createSef (); ;}
5719 { yyval.typequal = qual_createUnused (); ;}
5724 { yyval.typequal = qual_createExternal (); ;}
5729 { yyval.typequal = qual_createTrueNull (); ;}
5734 { yyval.typequal = qual_createFalseNull (); ;}
5739 { yyval.typequal = qual_createAbstract (); ;}
5744 { yyval.typequal = qual_createNumAbstract (); ;}
5749 { yyval.typequal = qual_createConcrete (); ;}
5754 { yyval.typequal = qual_createMutable (); ;}
5759 { yyval.typequal = qual_createImmutable (); ;}
5764 { yyval.typequal = qual_createRefCounted (); ;}
5769 { yyval.typequal = qual_createRefs (); ;}
5774 { yyval.typequal = qual_createKillRef (); ;}
5779 { yyval.typequal = qual_createRelDef (); ;}
5784 { yyval.typequal = qual_createNewRef (); ;}
5789 { yyval.typequal = qual_createTempRef (); ;}
5794 { yyval.typequal = qual_createShort (); ;}
5799 { yyval.typequal = qual_createLong (); ;}
5804 { yyval.typequal = qual_createSigned (); ;}
5809 { yyval.typequal = qual_createUnsigned (); ;}
5814 { yyval.typequal = qual_createOut (); ;}
5819 { yyval.typequal = qual_createIn (); ;}
5824 { yyval.typequal = qual_createPartial (); ;}
5829 { yyval.typequal = qual_createSpecial (); ;}
5834 { yyval.typequal = qual_createConst (); ;}
5839 { yyval.typequal = qual_createVolatile (); ;}
5844 { yyval.typequal = qual_createRestrict (); ;}
5849 { yyval.typequal = yyvsp[-1].typequal; ;}
5854 { yyval.typequal = yyvsp[-1].typequal; ;}
5859 { yyval.typequal = yyvsp[-1].typequal; ;}
5864 { yyval.typequal = yyvsp[-1].typequal; ;}
5869 { yyval.typequal = yyvsp[-1].typequal; ;}
5874 { yyval.typequal = yyvsp[-1].typequal; ;}
5879 { yyval.typequal = yyvsp[-1].typequal; ;}
5884 { yyval.typequal = yyvsp[-1].typequal; ;}
5889 { yyval.typequal = yyvsp[-1].typequal; ;}
5894 { yyval.ctyp = ctype_makeAnytype (); ;}
5899 { yyval.ctyp = ctype_anyintegral; ;}
5904 { yyval.ctyp = ctype_unsignedintegral; ;}
5909 { yyval.ctyp = ctype_signedintegral; ;}
5914 { yyval.ctyp = ctype_fromQual (yyvsp[-1].typequal); ;}
5919 { yyval.qtyp = qtype_resolve (yyvsp[-1].qtyp); ;}
5924 { yyval.qtyp = yyvsp[0].qtyp; ;}
5929 { yyval.qtyp = qtype_mergeAlt (yyvsp[-3].qtyp, yyvsp[-1].qtyp); ;}
5934 { yyval.qtyp = qtype_mergeAlt (yyvsp[-2].qtyp, yyvsp[0].qtyp); ;}
5939 { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;}
5944 { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;}
5949 { yyval.qtyp = qtype_combine (yyvsp[0].qtyp, yyvsp[-1].ctyp); ;}
5954 { yyval.qtyp = qtype_unknown (); ;}
5959 { yyval.qtyp = yyvsp[0].qtyp; ;}
5964 { yyval.conL = constraintList_undefined; ;}
5969 { sRef_setGlobalScopeSafe (); ;}
5974 { sRef_clearGlobalScopeSafe (); ;}
5979 { ctype ct; ct = declareStruct (yyvsp[-9].cname, yyvsp[-4].flist); /* context_setGlobalStructInfo(ct, $12); */ yyval.ctyp = ct; ;}
5984 { sRef_setGlobalScopeSafe (); ;}
5989 { sRef_clearGlobalScopeSafe (); ;}
5994 { yyval.ctyp = declareUnion (yyvsp[-8].cname, yyvsp[-3].flist); ;}
5999 { yyval.ctyp = declareStruct (yyvsp[-3].cname, uentryList_new ()); ;}
6004 { yyval.ctyp = declareUnion (yyvsp[-3].cname, uentryList_new ()); ;}
6009 { sRef_setGlobalScopeSafe (); ;}
6014 { sRef_clearGlobalScopeSafe (); ;}
6019 { yyval.ctyp = declareUnnamedStruct (yyvsp[-3].flist); ;}
6024 { sRef_setGlobalScopeSafe (); ;}
6029 { sRef_clearGlobalScopeSafe (); ;}
6034 { yyval.ctyp = declareUnnamedUnion (yyvsp[-3].flist); ;}
6039 { yyval.ctyp = ctype_createUnnamedStruct (uentryList_new ()); ;}
6044 { yyval.ctyp = ctype_createUnnamedUnion (uentryList_new ()); ;}
6049 { yyval.ctyp = handleStruct (yyvsp[-1].cname); ;}
6054 { yyval.ctyp = handleUnion (yyvsp[-1].cname); ;}
6059 { cscannerHelp_clearExpectingTypeName (); ;}
6064 { yyval.flist = uentryList_undefined; /* bogus! */ ;}
6069 { yyval.flist = uentryList_mergeFields (yyvsp[-1].flist, yyvsp[0].flist); ;}
6074 { yyval.flist = fixUentryList (yyvsp[-2].ntyplist, yyvsp[-4].qtyp); ;}
6079 { yyval.flist = fixUnnamedDecl (yyvsp[-2].qtyp); ;}
6084 { yyval.ntyplist = idDeclList_singleton (yyvsp[-1].ntyp); ;}
6089 { yyval.ntyplist = idDeclList_add (yyvsp[-3].ntyplist, yyvsp[-1].ntyp); ;}
6094 { yyval.ntyp = yyvsp[0].ntyp; ;}
6099 { yyval.ntyp = idDecl_undefined; ;}
6104 { yyval.ntyp = yyvsp[-3].ntyp; ;}
6109 { yyval.ctyp = declareUnnamedEnum (yyvsp[-2].enumnamelist); ;}
6114 { context_pushLoc (); ;}
6119 { context_popLoc (); yyval.ctyp = declareEnum (yyvsp[-5].cname, yyvsp[-2].enumnamelist); ;}
6124 { yyval.ctyp = handleEnum (yyvsp[-1].cname); ;}
6129 { yyval.enumnamelist = enumNameList_single (yyvsp[0].cname); ;}
6134 { yyval.enumnamelist = enumNameList_push (yyvsp[-2].enumnamelist, yyvsp[0].cname); ;}
6139 { uentry ue = uentry_makeEnumConstant (yyvsp[0].cname, ctype_unknown);
6140 usymtab_supGlobalEntry (ue);
6141 yyval.cname = yyvsp[0].cname;
6147 { uentry ue = uentry_makeEnumInitializedConstant (yyvsp[-3].cname, ctype_unknown, yyvsp[0].expr);
6148 usymtab_supGlobalEntry (ue);
6149 yyval.cname = yyvsp[-3].cname;
6155 { yyval.ntyp = idDecl_create (cstring_undefined, qtype_create (yyvsp[0].ctyp)); ;}
6161 qtype qt = qtype_unknown ();
6162 qtype_adjustPointers (yyvsp[-1].pointers, qt);
6163 yyval.ntyp = idDecl_create (cstring_copy (cscannerHelp_observeLastIdentifier ()), qt);
6169 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].pointers, idDecl_getTyp (yyval.ntyp)); ;}
6174 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].pointers, idDecl_getTyp (yyval.ntyp)); ;}
6179 { yyval.entrylist = handleParamTypeList (yyvsp[0].entrylist); ;}
6184 { yyval.entrylist = handleParamIdList (yyvsp[0].entrylist); ;}
6189 { yyval.typequal = qual_createConst (); ;}
6194 { yyval.typequal = qual_createRestrict (); ;}
6199 { yyval.typequal = qual_createVolatile (); ;}
6204 { yyval.tquallist = qualList_single (yyvsp[0].typequal); ;}
6209 { yyval.tquallist = qualList_add (yyvsp[-1].tquallist, yyvsp[0].typequal); ;}
6214 { yyval.pointers = pointers_create (yyvsp[0].tok); ;}
6219 { yyval.pointers = pointers_createMods (yyvsp[-1].tok, yyvsp[0].tquallist); ;}
6224 { yyval.pointers = pointers_extend (pointers_create (yyvsp[-1].tok), yyvsp[0].pointers); ;}
6229 { yyval.pointers = pointers_extend (pointers_createMods (yyvsp[-2].tok, yyvsp[-1].tquallist), yyvsp[0].pointers); ;}
6234 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;}
6239 { yyval.entrylist = uentryList_single (uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;}
6244 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;}
6249 { yyval.entrylist = uentryList_single (uentry_makeElipsisMarker ()); ;}
6254 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;}
6264 { yyval.entrylist = uentryList_single (yyvsp[0].oentry); ;}
6274 { yyval.entrylist = uentryList_add (yyvsp[-3].entrylist, yyvsp[0].oentry); ;}
6280 if (isFlipOldStyle ())
6282 llparseerror (cstring_makeLiteral ("Inconsistent function parameter syntax (mixing old and new style declaration)"));
6288 yyval.oentry = makeCurrentParam (idDecl_fixParamBase (yyvsp[-1].ntyp, yyvsp[-2].qtyp));
6295 idDecl tparam = idDecl_create (yyvsp[0].cname, qtype_unknown ());
6299 llparseerror (message ("Inconsistent function parameter syntax: %q",
6300 idDecl_unparse (tparam)));
6304 yyval.oentry = makeCurrentParam (tparam);
6305 idDecl_free (tparam);
6311 { yyval.qtyp = qtype_newBase (yyvsp[-1].qtyp, yyvsp[0].ctyp); ;}
6316 { yyval.ctyp = ctype_adjustPointers (yyvsp[0].pointers, ctype_unknown); ;}
6321 { yyval.ctyp = ctype_adjustPointers (yyvsp[-1].pointers, yyvsp[0].ctyp); ;}
6326 { yyval.ctyp = ctype_unknown; ;}
6331 { yyval.ctyp = ctype_expectFunction (yyvsp[-1].ctyp); ;}
6336 { yyval.ctyp = ctype_makeArray (ctype_unknown); ;}
6341 { yyval.ctyp = ctype_makeFixedArray (ctype_unknown, exprNode_getLongValue (yyvsp[-1].expr)); ;}
6346 { yyval.ctyp = ctype_makeInnerArray (yyvsp[-2].ctyp); ;}
6351 { yyval.ctyp = ctype_makeInnerFixedArray (yyvsp[-3].ctyp, exprNode_getLongValue (yyvsp[-1].expr)); ;}
6356 { yyval.ctyp = ctype_makeFunction (ctype_unknown, uentryList_makeMissingParams ()); ;}
6361 { yyval.ctyp = ctype_makeParamsFunction (ctype_unknown, yyvsp[-1].entrylist); ;}
6366 { yyval.ctyp = ctype_makeFunction (yyvsp[-3].ctyp, uentryList_makeMissingParams ()); ;}
6371 { yyval.ctyp = ctype_makeParamsFunction (yyvsp[-4].ctyp, yyvsp[-1].entrylist); ;}
6376 { exprNode_revealState (yyvsp[-1].expr); yyval.expr = exprNode_undefined; ;}
6381 { yyval.expr = yyvsp[0].expr; ;}
6386 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;}
6391 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); ;}
6396 { yyval.expr = exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr); ;}
6401 { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;}
6406 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); ;}
6411 { context_setProtectVars (); ;}
6416 { context_sizeofReleaseVars (); ;}
6421 { yyval.expr = exprNode_forPred (yyvsp[-7].expr, yyvsp[-5].expr, yyvsp[-2].expr);
6422 context_enterForClause (yyvsp[-5].expr); ;}
6427 { setProcessingIterVars (yyvsp[-2].entry); ;}
6432 { yyval.expr = exprNode_iterStart (yyvsp[-5].entry, yyvsp[-1].exprlist); ;}
6437 { yyval.expr = exprNode_createId (yyvsp[0].entry); ;}
6442 { yyval.expr = yyvsp[-1].expr; DPRINTF (("def stmt: %s", exprNode_unparse (yyval.expr))); ;}
6447 { yyval.expr = yyvsp[-1].expr; ;}
6452 { yyval.expr = exprNode_makeError (); ;}
6457 { exprNode_checkIfPred (yyvsp[0].expr); ;}
6462 { /* don't: context_exitTrueClause ($1, $2); */
6463 yyval.expr = exprNode_if (yyvsp[-2].expr, yyvsp[0].expr);
6469 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;}
6474 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;}
6479 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;}
6484 { yyval.expr = exprNode_makeError (); ;}
6489 { yyval.expr = exprNode_labelMarker (yyvsp[-1].cname); ;}
6494 { yyval.expr = exprNode_notReached (yyvsp[0].expr); ;}
6509 { context_enterCaseClause (yyvsp[0].expr); ;}
6514 { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, FALSE); ;}
6519 { context_enterCaseClause (yyvsp[0].expr); ;}
6524 { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, TRUE); ;}
6529 { context_enterCaseClause (exprNode_undefined); ;}
6534 { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, FALSE); ;}
6539 { context_enterCaseClause (exprNode_undefined); ;}
6544 { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, TRUE); ;}
6549 { yyval.expr = yyvsp[-1].expr; ;}
6554 { yyval.expr = yyvsp[0].expr; context_exitInner (yyvsp[0].expr); ;}
6559 { yyval.expr = yyvsp[-1].expr; ;}
6564 { context_enterInnerContext (); ;}
6569 { context_exitInnerPlain (); ;}
6574 { context_enterStructInnerContext (); ;}
6579 { context_exitStructInnerContext (); ;}
6584 { context_exitInnerSafe (); ;}
6589 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;}
6594 { yyval.expr = exprNode_notReached (exprNode_createTok (yyvsp[0].tok)); ;}
6599 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;}
6604 { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;}
6609 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;}
6614 { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;}
6619 { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;}
6624 { yyval.expr = exprNode_notReached (exprNode_updateLocation (exprNode_concat (yyvsp[-3].expr, yyvsp[-2].expr),
6625 lltok_getLoc (yyvsp[-1].tok)));
6631 { yyval.expr = exprNode_makeBlock (yyvsp[0].expr); ;}
6636 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;}
6641 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;}
6646 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;}
6651 { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;}
6656 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;}
6661 { yyval.expr = yyvsp[0].expr; ;}
6666 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;}
6671 { yyval.expr = yyvsp[0].expr; ;}
6676 { yyval.expr = exprNode_concat (yyvsp[-2].expr, yyvsp[0].expr); ;}
6681 { yyval.expr = yyvsp[0].expr; ;}
6686 { yyval.expr = yyvsp[-2].expr; ;}
6691 { yyval.expr = yyvsp[0].expr; ;}
6696 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;}
6701 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;}
6706 { yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;}
6711 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;}
6716 { yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;}
6721 { yyval.expr = exprNode_checkExpr (yyvsp[0].expr); ;}
6727 exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr);
6728 exprNode_checkIfPred (yyvsp[-1].expr);
6729 yyval.expr = yyvsp[-1].expr;
6736 context_exitTrueClause (yyvsp[-1].expr, yyvsp[0].expr);
6737 yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr);
6743 { context_enterFalseClause (yyvsp[-2].expr); ;}
6749 context_exitClause (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
6750 yyval.expr = exprNode_ifelse (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
6756 { context_enterSwitch (yyvsp[0].expr); ;}
6761 { yyval.expr = exprNode_switch (yyvsp[-3].expr, yyvsp[0].expr); ;}
6766 { yyval.expr = exprNode_whilePred (yyvsp[-1].expr); context_enterWhileClause (yyvsp[-1].expr); ;}
6771 { yyval.expr = exprNode_whilePred(yyvsp[-1].expr); ;}
6776 { context_enterIterClause (); ;}
6781 { setProcessingIterVars (yyvsp[-3].entry); ;}
6787 yyval.expr = exprNode_iter (yyvsp[-9].entry, yyvsp[-4].exprlist, yyvsp[-2].expr, yyvsp[-1].entry);
6794 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;}
6799 { nextIterParam (); ;}
6804 { yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ;}
6809 { yyval.expr = exprNode_iterExpr (yyvsp[0].expr); ;}
6814 { yyval.expr = exprNode_iterId (yyvsp[0].entry); ;}
6819 { uentry ue = cscannerHelp_coerceIterId (yyvsp[0].cname);
6821 if (uentry_isValid (ue))
6823 yyval.expr = exprNode_iterId (ue);
6827 yyval.expr = exprNode_iterNewId (cstring_copy (cscannerHelp_observeLastIdentifier ()));
6834 { yyval.expr = exprNode_iterNewId (yyvsp[0].cname); ;}
6839 { yyval.expr = exprNode_combineLiterals (yyvsp[-1].expr, yyvsp[0].expr); ;}
6844 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;}
6849 { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;}
6854 { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;}
6859 { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].exprlist); ;}
6864 { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;}
6869 { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;}
6874 { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;}
6879 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;}
6884 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;}
6889 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;}
6894 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;}
6899 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;}
6904 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;}
6909 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;}
6914 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;}
6919 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;}
6924 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;}
6929 { yyval.expr = yyvsp[0].expr; ;}
6934 { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;}
6939 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
6944 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
6949 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
6954 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
6959 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
6964 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
6969 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
6974 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
6979 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
6984 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
6989 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
6994 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
6999 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
7004 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
7009 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
7014 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
7019 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
7024 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
7029 { context_enterTrueClause (yyvsp[-1].expr); ;}
7034 { context_enterFalseClause (yyvsp[-4].expr); ;}
7039 { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;}
7044 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
7049 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
7054 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
7059 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
7064 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
7069 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
7074 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
7079 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
7084 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
7089 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
7094 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;}
7099 { yyval.entry = yyvsp[0].entry; ;}
7104 { yyval.entry = uentry_undefined; ;}
7109 { context_enterDoWhileClause (); yyval.tok = yyvsp[0].tok; ;}
7114 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;}
7119 { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;}
7124 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;}
7129 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;}
7134 { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;}
7139 { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;}
7144 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;}
7149 { yyval.expr = exprNode_goto (yyvsp[-1].cname); ;}
7154 { yyval.expr = exprNode_continue (yyvsp[-1].tok, BADTOK); ;}
7159 { yyval.expr = exprNode_continue (yyvsp[-2].tok, QINNERCONTINUE); ;}
7164 { yyval.expr = exprNode_break (yyvsp[-1].tok, BADTOK); ;}
7169 { yyval.expr = exprNode_break (yyvsp[-1].tok, QSWITCHBREAK); ;}
7174 { yyval.expr = exprNode_break (yyvsp[-1].tok, QLOOPBREAK); ;}
7179 { yyval.expr = exprNode_break (yyvsp[-1].tok, QINNERBREAK); ;}
7184 { yyval.expr = exprNode_break (yyvsp[-1].tok, QSAFEBREAK); ;}
7189 { yyval.expr = exprNode_nullReturn (yyvsp[-1].tok); ;}
7194 { yyval.expr = exprNode_return (yyvsp[-1].expr); ;}
7209 { yyval.cname = uentry_getName (yyvsp[0].entry); ;}
7214 { yyval.cname = uentry_getName (yyvsp[0].entry); ;}
7219 { yyval.cname = uentry_getName (yyvsp[0].entry); ;}
7224 { yyval.cname = yyvsp[0].cname; ;}
7229 { yyval.ctyp = ctype_unknown; ;}
7234 { yyval.ctyp = exprNode_getType (yyvsp[-1].expr); exprNode_free (yyvsp[-1].expr); ;}
7239 { yyval.ctyp = qtype_getType (yyvsp[-1].qtyp); ;}
7245 /* Line 999 of yacc.c. */
7252 YY_STACK_PRINT (yyss, yyssp);
7257 /* Now `shift' the result of the reduction. Determine what state
7258 that goes to, based on the state we popped back to and the rule
7259 number reduced by. */
7263 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
7264 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7265 yystate = yytable[yystate];
7267 yystate = yydefgoto[yyn - YYNTOKENS];
7272 /*------------------------------------.
7273 | yyerrlab -- here on detecting error |
7274 `------------------------------------*/
7276 /* If not already recovering from an error, report this error. */
7281 yyn = yypact[yystate];
7283 if (YYPACT_NINF < yyn && yyn < YYLAST)
7285 YYSIZE_T yysize = 0;
7286 int yytype = YYTRANSLATE (yychar);
7291 /* Start YYX at -YYN if negative to avoid negative indexes in
7293 for (yyx = yyn < 0 ? -yyn : 0;
7294 yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
7295 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
7296 yysize += yystrlen (yytname[yyx]) + 15, yycount++;
7297 yysize += yystrlen ("syntax error, unexpected ") + 1;
7298 yysize += yystrlen (yytname[yytype]);
7299 yymsg = (char *) YYSTACK_ALLOC (yysize);
7302 char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
7303 yyp = yystpcpy (yyp, yytname[yytype]);
7308 for (yyx = yyn < 0 ? -yyn : 0;
7309 yyx < (int) (sizeof (yytname) / sizeof (char *));
7311 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
7313 const char *yyq = ! yycount ? ", expecting " : " or ";
7314 yyp = yystpcpy (yyp, yyq);
7315 yyp = yystpcpy (yyp, yytname[yyx]);
7320 YYSTACK_FREE (yymsg);
7323 yyerror ("syntax error; also virtual memory exhausted");
7326 #endif /* YYERROR_VERBOSE */
7327 yyerror ("syntax error");
7332 if (yyerrstatus == 3)
7334 /* If just tried and failed to reuse lookahead token after an
7335 error, discard it. */
7337 /* Return failure if at end of input. */
7338 if (yychar == YYEOF)
7340 /* Pop the error token. */
7342 /* Pop the rest of the stack. */
7343 while (yyss < yyssp)
7345 YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
7346 yydestruct (yystos[*yyssp], yyvsp);
7352 YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
7353 yydestruct (yytoken, &yylval);
7358 /* Else will try to reuse lookahead token after shifting the error
7363 /*----------------------------------------------------.
7364 | yyerrlab1 -- error raised explicitly by an action. |
7365 `----------------------------------------------------*/
7367 yyerrstatus = 3; /* Each real token shifted decrements this. */
7371 yyn = yypact[yystate];
7372 if (yyn != YYPACT_NINF)
7375 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
7383 /* Pop the current state because it cannot handle the error token. */
7387 YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
7388 yydestruct (yystos[yystate], yyvsp);
7392 YY_STACK_PRINT (yyss, yyssp);
7398 YYDPRINTF ((stderr, "Shifting error token, "));
7407 /*-------------------------------------.
7408 | yyacceptlab -- YYACCEPT comes here. |
7409 `-------------------------------------*/
7414 /*-----------------------------------.
7415 | yyabortlab -- YYABORT comes here. |
7416 `-----------------------------------*/
7422 /*----------------------------------------------.
7423 | yyoverflowlab -- parser overflow comes here. |
7424 `----------------------------------------------*/
7426 yyerror ("parser stack overflow");
7434 YYSTACK_FREE (yyss);
7443 /*@-redecl@*/ /*@-namechecks@*/
7444 extern char *yytext;
7445 /*@=redecl@*/ /*@=namechecks@*/
7447 # include "bison.reset"
7449 void yyerror (/*@unused@*/ char *s)
7451 static bool givehint = FALSE;
7453 if (context_inIterDef ())
7455 llerror (FLG_SYNTAX, message ("Iter syntax not parseable: %s",
7456 context_inFunctionName ()));
7458 else if (context_inIterEnd ())
7460 llerror (FLG_SYNTAX, message ("Iter finalizer syntax not parseable: %s",
7461 context_inFunctionName ()));
7463 else if (context_inMacro ())
7465 llerror (FLG_SYNTAX, message ("Macro syntax not parseable: %s",
7466 context_inFunctionName ()));
7468 if (context_inUnknownMacro ())
7472 llhint (cstring_makeLiteral
7473 ("Precede macro definition with /*@notfunction@*/ "
7474 "to suppress checking and force expansion"));
7479 cscannerHelp_swallowMacro ();
7480 context_exitAllClausesQuiet ();
7484 llparseerror (cstring_undefined);
7501 ** Resets all flags in bison.head
7523 /*@=evalorderuncon@*/
7532 /*@=elseifcomplete@*/
7536 /*@=readonlytrans@*/
7539 /*@=systemunrecog@*/
7540 /*@=dependenttrans@*/
7541 /*@=unqualifiedtrans@*/
7545 /*drl added 11/27/2001*/
7548 /*drl added 12/11/2002*/