1 /* A Bison parser, made by GNU Bison 2.3. */
3 /* Skeleton implementation for Bison's Yacc-like parsers in C
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6 Free Software Foundation, Inc.
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2, or (at your option)
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA. */
23 /* As a special exception, you may create a larger work that contains
24 part or all of the Bison parser skeleton and distribute that work
25 under terms of your choice, so long as that work isn't itself a
26 parser generator using the skeleton or a modified version thereof
27 as a parser skeleton. Alternatively, if you modify or redistribute
28 the parser skeleton itself, you may (at your option) remove this
29 special exception, which will cause the skeleton and the resulting
30 Bison output files to be licensed under the GNU General Public
31 License without this special exception.
33 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */
36 /* C LALR(1) parser skeleton written by Richard Stallman, by
37 simplifying the original so-called "semantic" parser. */
39 /* All symbols defined below should begin with yy or YY, to avoid
40 infringing on user name space. This should be done even for local
41 variables, as they might otherwise be expanded by user macros.
42 There are some unavoidable exceptions within include files to
43 define necessary library symbols; they are noted "INFRINGES ON
44 USER NAME SPACE" below. */
46 /* Identify Bison output. */
50 #define YYBISON_VERSION "2.3"
53 #define YYSKELETON_NAME "yacc.c"
58 /* Using locations. */
59 #define YYLSP_NEEDED 0
61 /* Substitute the variable and function names. */
62 #define yyparse vhdlScanYYparse
63 #define yylex vhdlScanYYlex
64 #define yyerror vhdlScanYYerror
65 #define yylval vhdlScanYYlval
66 #define yychar vhdlScanYYchar
67 #define yydebug vhdlScanYYdebug
68 #define yynerrs vhdlScanYYnerrs
74 /* Put the tokens into the symbol table, so that GDB and other debuggers
98 t_CONFIGURATION = 279,
172 t_ASSUME_GUARANTEE = 353,
187 t_RESTRICT_GUARANTEE = 368,
211 MED_PRECEDENCE = 392,
216 MAX_PRECEDENCE = 397,
240 #define t_ABSTRLIST 258
241 #define t_CHARLIST 259
250 #define t_ARCHITECTURE 268
253 #define t_ATTRIBUTE 271
260 #define t_COMPONENT 278
261 #define t_CONFIGURATION 279
262 #define t_CONSTANT 280
263 #define t_DISCONNECT 281
272 #define t_FUNCTION 290
273 #define t_GENERATE 291
274 #define t_GENERIC 292
275 #define t_GUARDED 293
281 #define t_LIBRARY 299
282 #define t_LINKAGE 300
296 #define t_PACKAGE 314
298 #define t_PROCEDURE 316
299 #define t_PROCESS 317
302 #define t_REGISTER 320
306 #define t_SEVERITY 324
308 #define t_SUBTYPE 326
311 #define t_TRANSPORT 329
316 #define t_VARIABLE 334
325 #define t_POSTPONED 343
334 #define t_UNAFFECTED 352
335 #define t_ASSUME_GUARANTEE 353
337 #define t_CONTEXT 355
339 #define t_DEFAULT 357
340 #define t_FAIRNESS 358
342 #define t_INERTIAL 360
343 #define t_LITERAL 361
344 #define t_PARAMETER 362
345 #define t_PROTECTED 363
346 #define t_PROPERTY 364
348 #define t_RELEASE 366
349 #define t_RESTRICT 367
350 #define t_RESTRICT_GUARANTEE 368
351 #define t_SEQUENCE 369
371 #define t_Ampersand 389
374 #define MED_PRECEDENCE 392
379 #define MAX_PRECEDENCE 397
382 #define t_DoubleStar 400
383 #define t_Apostrophe 401
384 #define t_LeftParen 402
385 #define t_RightParen 403
387 #define t_VarAsgn 405
389 #define t_Semicolon 407
398 #define t_RIGHTBR 416
399 #define t_ToolDir 417
404 /* Copy the first part of user declarations. */
408 #include <qcstring.h>
409 #include <qstringlist.h>
421 // define struct instead of union
424 #include "membergroup.h"
425 #include "vhdldocgen.h"
427 #include "searchindex.h"
428 #include "vhdlscanner.h"
429 #include "commentscan.h"
431 #include "arguments.h"
433 //-----------------------------variables ---------------------------------------------------------------------------
434 //static VhdlParser* myconv=0;
436 static VhdlContainer s_str;
437 static QList<Entry>instFiles;
439 static Entry* lastCompound;
440 static Entry* currentCompound;
441 static Entry* lastEntity;
442 static Entry* current;
443 static Entry* tempEntry;
444 static Entry* current_root;
445 static QCString compSpec;
446 static QCString currName;
447 static int levelCounter;
448 static QCString confName;
449 static QCString genLabels;
451 static QList<VhdlConfNode> configL;
452 static VhdlConfNode* currNode;
456 enum { GEN_SEC=0x1, PARAM_SEC,CONTEXT_SEC,PROTECTED_SEC } ;
458 static int param_sec = 0;
459 static int parse_sec=0;
462 //---------------------------- function --------------------------------------------------------------------------------
464 int vhdlScanYYlex ();
465 void vhdlScanYYerror (char const *);
467 static void addVhdlType(const QCString &name,int startLine,
468 int section,int spec,
469 const char* args,const char* type,
470 Protection prot=Public);
471 static void addCompInst(char *n, char* instName,char* comp,int line);
473 static void newEntry();
474 static void initEntry(Entry *e);
475 static bool isFuncProcProced();
476 static void popConfig();
477 static void pushLabel(const QCString &label);
478 static void popLabel();
479 static void addConfigureNode(const char* a,const char*b,
480 bool isRoot,bool isLeave,bool inlineConf=FALSE);
481 //static bool addLibUseClause(const QCString &type);
482 static bool isFuncProcProced();
483 static void initEntry(Entry *e);
484 static void addProto(const char *s1,const char *s2,const char *s3,
485 const char *s4,const char *s5,const char *s6);
486 static void createFunction(const QCString &impure,int spec,
487 const QCString &fname);
494 Entry* getCurrentVhdlEntry()
499 void initVhdlParser()
505 current_root=s_str.root;
510 QList<Entry> & getVhdlInstList()
518 /* Enabling traces. */
523 /* Enabling verbose error messages. */
524 #ifdef YYERROR_VERBOSE
525 # undef YYERROR_VERBOSE
526 # define YYERROR_VERBOSE 1
528 # define YYERROR_VERBOSE 0
531 /* Enabling the token table. */
532 #ifndef YYTOKEN_TABLE
533 # define YYTOKEN_TABLE 0
536 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
538 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
539 # define YYSTYPE_IS_DECLARED 1
540 # define YYSTYPE_IS_TRIVIAL 1
545 /* Copy the second part of user declarations. */
548 /* Line 216 of yacc.c. */
556 typedef YYTYPE_UINT8 yytype_uint8;
558 typedef unsigned char yytype_uint8;
562 typedef YYTYPE_INT8 yytype_int8;
563 #elif (defined __STDC__ || defined __C99__FUNC__ \
564 || defined __cplusplus || defined _MSC_VER)
565 typedef signed char yytype_int8;
567 typedef short int yytype_int8;
571 typedef YYTYPE_UINT16 yytype_uint16;
573 typedef unsigned short int yytype_uint16;
577 typedef YYTYPE_INT16 yytype_int16;
579 typedef short int yytype_int16;
583 # ifdef __SIZE_TYPE__
584 # define YYSIZE_T __SIZE_TYPE__
585 # elif defined size_t
586 # define YYSIZE_T size_t
587 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
588 || defined __cplusplus || defined _MSC_VER)
589 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
590 # define YYSIZE_T size_t
592 # define YYSIZE_T unsigned int
596 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
599 # if defined YYENABLE_NLS && YYENABLE_NLS
601 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
602 # define YY_(msgid) dgettext ("bison-runtime", msgid)
606 # define YY_(msgid) msgid
610 /* Suppress unused-variable warnings by "using" E. */
611 #if ! defined lint || defined __GNUC__
612 # define YYUSE(e) ((void) (e))
614 # define YYUSE(e) /* empty */
617 /* Identity function, used to suppress warnings about constant conditions. */
621 #if (defined __STDC__ || defined __C99__FUNC__ \
622 || defined __cplusplus || defined _MSC_VER)
635 #if ! defined yyoverflow || YYERROR_VERBOSE
637 /* The parser invokes alloca or malloc; define the necessary symbols. */
639 # ifdef YYSTACK_USE_ALLOCA
640 # if YYSTACK_USE_ALLOCA
642 # define YYSTACK_ALLOC __builtin_alloca
643 # elif defined __BUILTIN_VA_ARG_INCR
644 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
646 # define YYSTACK_ALLOC __alloca
647 # elif defined _MSC_VER
648 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
649 # define alloca _alloca
651 # define YYSTACK_ALLOC alloca
652 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
653 || defined __cplusplus || defined _MSC_VER)
654 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
663 # ifdef YYSTACK_ALLOC
664 /* Pacify GCC's `empty if-body' warning. */
665 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
666 # ifndef YYSTACK_ALLOC_MAXIMUM
667 /* The OS might guarantee only one guard page at the bottom of the stack,
668 and a page size can be as small as 4096 bytes. So we cannot safely
669 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
670 to allow for a few compiler-allocated temporary stack slots. */
671 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
674 # define YYSTACK_ALLOC YYMALLOC
675 # define YYSTACK_FREE YYFREE
676 # ifndef YYSTACK_ALLOC_MAXIMUM
677 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
679 # if (defined __cplusplus && ! defined _STDLIB_H \
680 && ! ((defined YYMALLOC || defined malloc) \
681 && (defined YYFREE || defined free)))
682 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
688 # define YYMALLOC malloc
689 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
690 || defined __cplusplus || defined _MSC_VER)
691 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
696 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
697 || defined __cplusplus || defined _MSC_VER)
698 void free (void *); /* INFRINGES ON USER NAME SPACE */
702 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
705 #if (! defined yyoverflow \
706 && (! defined __cplusplus \
707 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
709 /* A type that is properly aligned for any stack member. */
716 /* The size of the maximum gap between one aligned stack and the next. */
717 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
719 /* The size of an array large to enough to hold all stacks, each with
721 # define YYSTACK_BYTES(N) \
722 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
723 + YYSTACK_GAP_MAXIMUM)
725 /* Copy COUNT objects from FROM to TO. The source and destination do
728 # if defined __GNUC__ && 1 < __GNUC__
729 # define YYCOPY(To, From, Count) \
730 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
732 # define YYCOPY(To, From, Count) \
736 for (yyi = 0; yyi < (Count); yyi++) \
737 (To)[yyi] = (From)[yyi]; \
743 /* Relocate STACK from its old location to the new one. The
744 local variables YYSIZE and YYSTACKSIZE give the old and new number of
745 elements in the stack, and YYPTR gives the new location of the
746 stack. Advance YYPTR to a properly aligned location for the next
748 # define YYSTACK_RELOCATE(Stack) \
751 YYSIZE_T yynewbytes; \
752 YYCOPY (&yyptr->Stack, Stack, yysize); \
753 Stack = &yyptr->Stack; \
754 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
755 yyptr += yynewbytes / sizeof (*yyptr); \
761 /* YYFINAL -- State number of the termination state. */
763 /* YYLAST -- Last index in YYTABLE. */
766 /* YYNTOKENS -- Number of terminals. */
767 #define YYNTOKENS 163
768 /* YYNNTS -- Number of nonterminals. */
770 /* YYNRULES -- Number of rules. */
772 /* YYNRULES -- Number of states. */
773 #define YYNSTATES 1590
775 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
777 #define YYMAXUTOK 417
779 #define YYTRANSLATE(YYX) \
780 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
782 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
783 static const yytype_uint8 yytranslate[] =
785 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
786 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
787 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
788 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
789 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
790 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
791 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
792 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
793 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
794 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
795 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
796 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
797 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
798 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
799 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
800 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
801 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
802 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
803 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
804 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
805 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
806 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
807 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
808 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
809 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
810 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
811 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
812 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
813 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
814 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
815 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
816 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
817 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
818 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
819 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
820 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
821 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
822 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
823 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
824 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
825 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
826 155, 156, 157, 158, 159, 160, 161, 162
830 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
832 static const yytype_uint16 yyprhs[] =
834 0, 0, 3, 5, 7, 9, 12, 14, 16, 18,
835 20, 22, 24, 26, 28, 30, 33, 34, 36, 39,
836 41, 45, 48, 49, 52, 54, 56, 58, 60, 62,
837 64, 66, 68, 70, 74, 78, 80, 84, 89, 97,
838 101, 102, 104, 105, 108, 109, 112, 114, 115, 116,
839 121, 122, 123, 128, 132, 140, 146, 152, 153, 155,
840 158, 160, 161, 164, 166, 172, 173, 181, 187, 188,
841 190, 192, 195, 196, 199, 201, 207, 213, 217, 218,
842 220, 223, 225, 226, 228, 231, 233, 236, 238, 241,
843 245, 251, 257, 262, 263, 265, 268, 272, 273, 276,
844 278, 280, 282, 284, 286, 288, 290, 292, 294, 296,
845 298, 300, 302, 304, 306, 308, 310, 312, 314, 316,
846 318, 320, 322, 324, 326, 328, 330, 332, 334, 336,
847 338, 340, 342, 344, 346, 348, 351, 353, 355, 357,
848 359, 361, 363, 365, 367, 369, 371, 373, 375, 377,
849 379, 381, 383, 385, 387, 389, 391, 393, 395, 397,
850 399, 401, 403, 405, 407, 409, 411, 413, 415, 417,
851 419, 421, 423, 425, 427, 429, 434, 436, 438, 441,
852 442, 447, 448, 456, 457, 464, 466, 469, 470, 474,
853 475, 478, 479, 482, 484, 486, 488, 497, 504, 505,
854 507, 509, 511, 514, 517, 520, 521, 524, 526, 531,
855 535, 536, 539, 542, 544, 546, 549, 557, 558, 561,
856 562, 564, 566, 567, 569, 570, 572, 574, 576, 578,
857 580, 582, 587, 588, 591, 594, 599, 603, 607, 608,
858 611, 614, 618, 620, 622, 624, 626, 630, 632, 634,
859 636, 638, 641, 643, 645, 647, 649, 651, 653, 655,
860 657, 661, 665, 669, 673, 677, 681, 685, 689, 693,
861 697, 701, 705, 709, 712, 714, 717, 720, 723, 726,
862 730, 735, 739, 743, 747, 751, 755, 759, 763, 767,
863 771, 775, 779, 783, 787, 791, 795, 799, 803, 807,
864 811, 814, 817, 819, 823, 825, 827, 829, 831, 835,
865 837, 839, 841, 843, 845, 848, 851, 855, 857, 859,
866 861, 863, 865, 869, 871, 873, 875, 877, 879, 881,
867 883, 885, 889, 891, 893, 895, 898, 901, 903, 907,
868 912, 916, 920, 924, 927, 933, 938, 942, 948, 952,
869 957, 961, 964, 965, 967, 968, 970, 974, 976, 979,
870 980, 983, 986, 988, 990, 992, 997, 1002, 1006, 1007,
871 1010, 1012, 1014, 1016, 1018, 1020, 1022, 1024, 1026, 1028,
872 1030, 1035, 1036, 1039, 1042, 1049, 1052, 1054, 1055, 1058,
873 1060, 1063, 1068, 1076, 1077, 1080, 1083, 1087, 1092, 1093,
874 1095, 1102, 1103, 1106, 1108, 1113, 1116, 1120, 1126, 1130,
875 1133, 1135, 1136, 1138, 1142, 1145, 1149, 1150, 1152, 1155,
876 1160, 1161, 1164, 1167, 1169, 1171, 1173, 1177, 1179, 1183,
877 1185, 1187, 1194, 1195, 1198, 1206, 1207, 1210, 1211, 1213,
878 1220, 1228, 1229, 1232, 1234, 1236, 1238, 1241, 1243, 1245,
879 1247, 1249, 1257, 1264, 1266, 1268, 1269, 1272, 1281, 1288,
880 1289, 1294, 1295, 1297, 1305, 1308, 1310, 1312, 1313, 1316,
881 1319, 1325, 1333, 1338, 1341, 1343, 1345, 1346, 1349, 1352,
882 1354, 1356, 1358, 1360, 1362, 1364, 1366, 1368, 1370, 1372,
883 1374, 1376, 1378, 1380, 1382, 1384, 1386, 1388, 1390, 1392,
884 1399, 1407, 1408, 1412, 1417, 1418, 1421, 1426, 1432, 1434,
885 1436, 1438, 1443, 1449, 1452, 1454, 1455, 1458, 1460, 1462,
886 1464, 1466, 1468, 1470, 1472, 1474, 1489, 1490, 1492, 1493,
887 1496, 1498, 1499, 1504, 1509, 1510, 1515, 1516, 1521, 1522,
888 1527, 1528, 1530, 1532, 1536, 1539, 1541, 1545, 1547, 1549,
889 1551, 1552, 1562, 1563, 1572, 1581, 1591, 1592, 1596, 1600,
890 1602, 1607, 1610, 1614, 1616, 1621, 1624, 1628, 1630, 1635,
891 1638, 1643, 1646, 1650, 1652, 1658, 1660, 1664, 1670, 1673,
892 1675, 1676, 1679, 1682, 1685, 1686, 1689, 1692, 1694, 1697,
893 1699, 1701, 1704, 1705, 1707, 1711, 1713, 1714, 1716, 1725,
894 1730, 1731, 1734, 1739, 1740, 1743, 1745, 1748, 1749, 1758,
895 1763, 1767, 1768, 1774, 1778, 1780, 1783, 1786, 1790, 1794,
896 1796, 1797, 1808, 1813, 1814, 1818, 1819, 1821, 1822, 1824,
897 1825, 1827, 1830, 1832, 1833, 1837, 1841, 1844, 1845, 1848,
898 1851, 1853, 1854, 1857, 1859, 1861, 1864, 1866, 1868, 1870,
899 1872, 1874, 1876, 1878, 1880, 1883, 1885, 1887, 1889, 1892,
900 1894, 1900, 1906, 1907, 1910, 1911, 1914, 1915, 1917, 1918,
901 1920, 1922, 1933, 1945, 1952, 1953, 1956, 1958, 1963, 1968,
902 1969, 1972, 1973, 1975, 1985, 1993, 1994, 1997, 1998, 2001,
903 2006, 2015, 2016, 2018, 2019, 2021, 2022, 2025, 2030, 2031,
904 2034, 2035, 2037, 2040, 2043, 2047, 2048, 2050, 2055, 2061,
905 2068, 2074, 2076, 2078, 2081, 2083, 2086, 2088, 2091, 2095,
906 2100, 2106, 2107, 2110, 2111, 2114, 2115, 2118, 2120, 2124,
907 2128, 2132, 2135, 2136, 2138, 2146, 2147, 2151, 2152, 2156,
908 2164, 2170, 2171, 2174, 2176, 2177, 2180, 2182, 2184, 2186,
909 2188, 2196, 2197, 2199, 2200, 2204, 2209, 2213, 2218, 2226,
910 2229, 2234, 2237, 2241, 2243, 2245, 2247, 2251, 2252, 2256,
911 2257, 2261, 2264, 2267, 2269, 2271, 2273, 2275, 2279, 2288,
912 2296, 2304, 2307, 2308, 2310, 2312, 2316, 2318, 2320, 2322,
913 2324, 2326, 2328, 2330, 2335, 2340, 2341, 2344, 2346, 2348,
914 2351, 2353, 2355, 2357, 2359, 2365, 2371, 2372, 2375, 2377,
915 2380, 2384, 2386, 2390, 2391, 2400, 2407, 2409, 2412, 2414,
916 2417, 2419, 2421, 2423, 2431, 2440, 2447, 2455, 2464, 2471,
917 2472, 2476, 2479, 2482, 2484, 2488, 2490, 2493, 2496, 2506,
918 2515, 2524, 2530, 2535, 2538, 2540, 2543, 2547, 2549, 2551,
919 2559, 2568, 2575, 2583, 2588, 2593, 2596, 2606, 2615, 2617,
920 2619, 2628, 2629, 2631, 2637, 2639, 2644, 2654, 2655, 2657,
921 2659, 2661, 2665, 2667, 2673, 2678, 2683, 2689, 2692, 2700,
922 2706, 2708, 2713, 2715, 2717, 2719, 2721, 2725, 2732, 2740,
923 2742, 2744, 2745, 2748, 2751, 2752, 2754, 2755, 2762, 2767,
924 2773, 2780, 2784, 2785, 2789, 2796, 2798, 2800, 2802, 2804,
925 2806, 2808, 2812, 2815, 2819, 2822, 2825, 2829, 2831, 2836,
929 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
930 static const yytype_int16 yyrhs[] =
932 164, 0, -1, 165, -1, 166, -1, 174, -1, 166,
933 174, -1, 491, -1, 493, -1, 494, -1, 495, -1,
934 492, -1, 172, -1, 52, -1, 495, -1, 491, -1,
935 171, 491, -1, -1, 494, -1, 494, 491, -1, 491,
936 -1, 173, 149, 491, -1, 175, 176, -1, -1, 175,
937 177, -1, 181, -1, 196, -1, 202, -1, 191, -1,
938 208, -1, 507, -1, 512, -1, 178, -1, 179, -1,
939 44, 173, 152, -1, 78, 180, 152, -1, 271, -1,
940 180, 149, 271, -1, 182, 1, 460, 152, -1, 182,
941 189, 187, 185, 184, 460, 152, -1, 31, 491, 42,
942 -1, -1, 491, -1, -1, 17, 359, -1, -1, 185,
943 186, -1, 215, -1, -1, -1, 60, 188, 239, 152,
944 -1, -1, -1, 37, 190, 239, 152, -1, 37, 1,
945 152, -1, 192, 194, 17, 359, 30, 193, 152, -1,
946 192, 1, 30, 193, 152, -1, 13, 491, 53, 491,
947 42, -1, -1, 491, -1, 13, 491, -1, 13, -1,
948 -1, 194, 195, -1, 216, -1, 198, 1, 30, 199,
949 152, -1, -1, 198, 200, 465, 30, 199, 152, 197,
950 -1, 24, 491, 53, 491, 42, -1, -1, 491, -1,
951 24, -1, 24, 491, -1, -1, 200, 201, -1, 222,
952 -1, 203, 1, 30, 204, 152, -1, 203, 205, 30,
953 204, 152, -1, 59, 491, 42, -1, -1, 491, -1,
954 59, 491, -1, 59, -1, -1, 207, -1, 205, 206,
955 -1, 218, -1, 549, 152, -1, 549, -1, 549, 548,
956 -1, 549, 548, 152, -1, 209, 1, 30, 210, 152,
957 -1, 209, 211, 30, 210, 152, -1, 59, 19, 491,
958 42, -1, -1, 491, -1, 59, 19, -1, 59, 19,
959 491, -1, -1, 211, 212, -1, 219, -1, 202, -1,
960 512, -1, 208, -1, 513, -1, 287, -1, 311, -1,
961 324, -1, 336, -1, 333, -1, 224, -1, 179, -1,
962 214, -1, 235, -1, 343, -1, 344, -1, 339, -1,
963 326, -1, 329, -1, 486, -1, 485, -1, 213, -1,
964 214, -1, 235, -1, 462, -1, 343, -1, 344, -1,
965 475, -1, 339, -1, 326, -1, 329, -1, 486, -1,
966 485, -1, 213, -1, 560, -1, 216, -1, 217, 216,
967 -1, 214, -1, 462, -1, 343, -1, 344, -1, 339,
968 -1, 326, -1, 329, -1, 486, -1, 485, -1, 202,
969 -1, 512, -1, 513, -1, 214, -1, 235, -1, 329,
970 -1, 486, -1, 485, -1, 343, -1, 344, -1, 213,
971 -1, 214, -1, 235, -1, 343, -1, 344, -1, 329,
972 -1, 486, -1, 485, -1, 213, -1, 214, -1, 235,
973 -1, 343, -1, 344, -1, 329, -1, 486, -1, 485,
974 -1, 213, -1, 344, -1, 179, -1, 485, -1, 78,
975 118, 173, 152, -1, 86, -1, 85, -1, 225, 152,
976 -1, -1, 61, 491, 226, 234, -1, -1, 223, 35,
977 167, 227, 233, 67, 270, -1, -1, 35, 167, 228,
978 233, 67, 270, -1, 549, -1, 549, 548, -1, -1,
979 107, 231, 239, -1, -1, 232, 239, -1, -1, 229,
980 230, -1, 230, -1, 229, -1, 233, -1, 225, 42,
981 237, 17, 420, 30, 236, 152, -1, 225, 42, 1,
982 30, 236, 152, -1, -1, 167, -1, 35, -1, 61,
983 -1, 61, 491, -1, 35, 491, -1, 35, 6, -1,
984 -1, 237, 238, -1, 220, -1, 147, 242, 240, 148,
985 -1, 147, 1, 148, -1, -1, 240, 241, -1, 152,
986 242, -1, 547, -1, 540, -1, 246, 491, -1, 246,
987 173, 151, 245, 312, 244, 243, -1, -1, 150, 258,
988 -1, -1, 20, -1, 21, -1, -1, 247, -1, -1,
989 331, -1, 40, -1, 58, -1, 41, -1, 20, -1,
990 45, -1, 147, 254, 249, 148, -1, -1, 249, 250,
991 -1, 149, 254, -1, 147, 255, 252, 148, -1, 147,
992 1, 148, -1, 147, 55, 148, -1, -1, 252, 253,
993 -1, 149, 255, -1, 256, 153, 257, -1, 257, -1,
994 154, -1, 102, -1, 258, -1, 286, 153, 258, -1,
995 321, -1, 268, -1, 258, -1, 55, -1, 105, 258,
996 -1, 260, -1, 261, -1, 91, -1, 92, -1, 93,
997 -1, 94, -1, 95, -1, 96, -1, 261, 259, 261,
998 -1, 261, 12, 261, -1, 261, 84, 261, -1, 261,
999 56, 261, -1, 261, 51, 261, -1, 261, 90, 261,
1000 -1, 261, 48, 261, -1, 260, 48, 261, -1, 260,
1001 51, 261, -1, 260, 90, 261, -1, 260, 12, 261,
1002 -1, 260, 56, 261, -1, 260, 84, 261, -1, 121,
1003 267, -1, 267, -1, 136, 267, -1, 135, 267, -1,
1004 144, 267, -1, 143, 267, -1, 267, 145, 267, -1,
1005 135, 267, 145, 267, -1, 261, 139, 261, -1, 261,
1006 138, 261, -1, 261, 134, 261, -1, 261, 141, 261,
1007 -1, 261, 136, 261, -1, 261, 135, 261, -1, 261,
1008 130, 261, -1, 261, 128, 261, -1, 261, 131, 261,
1009 -1, 261, 129, 261, -1, 261, 133, 261, -1, 261,
1010 132, 261, -1, 261, 140, 261, -1, 261, 127, 261,
1011 -1, 261, 126, 261, -1, 261, 125, 261, -1, 261,
1012 124, 261, -1, 261, 123, 261, -1, 261, 122, 261,
1013 -1, 135, 264, -1, 136, 264, -1, 264, -1, 262,
1014 263, 264, -1, 134, -1, 135, -1, 136, -1, 266,
1015 -1, 266, 265, 266, -1, 141, -1, 138, -1, 139,
1016 -1, 140, -1, 267, -1, 144, 267, -1, 143, 267,
1017 -1, 267, 145, 267, -1, 268, -1, 168, -1, 276,
1018 -1, 278, -1, 279, -1, 147, 258, 148, -1, 270,
1019 -1, 269, -1, 551, -1, 493, -1, 275, -1, 273,
1020 -1, 491, -1, 271, -1, 268, 156, 272, -1, 167,
1021 -1, 495, -1, 11, -1, 270, 251, -1, 269, 251,
1022 -1, 146, -1, 270, 274, 491, -1, 275, 147, 258,
1023 148, -1, 269, 274, 491, -1, 270, 274, 63, -1,
1024 269, 274, 63, -1, 277, 148, -1, 147, 283, 153,
1025 258, 148, -1, 147, 282, 149, 282, -1, 277, 149,
1026 282, -1, 270, 146, 147, 258, 148, -1, 270, 146,
1027 276, -1, 49, 270, 270, 281, -1, 49, 270, 280,
1028 -1, 49, 278, -1, -1, 251, -1, -1, 251, -1,
1029 283, 153, 258, -1, 258, -1, 286, 284, -1, -1,
1030 284, 285, -1, 155, 286, -1, 258, -1, 321, -1,
1031 57, -1, 75, 491, 1, 152, -1, 75, 491, 288,
1032 152, -1, 75, 1, 152, -1, -1, 42, 289, -1,
1033 290, -1, 316, -1, 293, -1, 299, -1, 303, -1,
1034 305, -1, 309, -1, 310, -1, 496, -1, 501, -1,
1035 147, 169, 291, 148, -1, -1, 291, 292, -1, 149,
1036 169, -1, 316, 76, 297, 295, 30, 294, -1, 76,
1037 491, -1, 76, -1, -1, 295, 296, -1, 298, -1,
1038 491, 152, -1, 491, 133, 170, 152, -1, 14, 147,
1039 302, 300, 148, 53, 312, -1, -1, 300, 301, -1,
1040 149, 302, -1, 270, 63, 154, -1, 14, 317, 53,
1041 312, -1, -1, 491, -1, 64, 308, 306, 30, 64,
1042 304, -1, -1, 306, 307, -1, 308, -1, 173, 151,
1043 312, 152, -1, 8, 312, -1, 33, 53, 270, -1,
1044 71, 491, 42, 312, 152, -1, 71, 1, 152, -1,
1045 270, 313, -1, 314, -1, -1, 251, -1, 270, 270,
1046 316, -1, 270, 316, -1, 270, 270, 315, -1, -1,
1047 251, -1, 63, 322, -1, 147, 320, 318, 148, -1,
1048 -1, 318, 319, -1, 149, 320, -1, 312, -1, 322,
1049 -1, 314, -1, 258, 323, 258, -1, 275, -1, 262,
1050 323, 262, -1, 73, -1, 27, -1, 25, 173, 151,
1051 312, 325, 152, -1, -1, 150, 258, -1, 70, 173,
1052 151, 312, 328, 327, 152, -1, -1, 150, 258, -1,
1053 -1, 332, -1, 79, 173, 151, 312, 330, 152, -1,
1054 89, 79, 173, 151, 312, 330, 152, -1, -1, 150,
1055 258, -1, 25, -1, 70, -1, 79, -1, 89, 79,
1056 -1, 33, -1, 75, -1, 21, -1, 65, -1, 10,
1057 334, 335, 42, 268, 514, 152, -1, 10, 334, 335,
1058 42, 1, 152, -1, 491, -1, 493, -1, -1, 151,
1059 312, -1, 33, 173, 151, 312, 42, 338, 258, 152,
1060 -1, 33, 173, 151, 491, 337, 152, -1, -1, 55,
1061 258, 42, 258, -1, -1, 247, -1, 26, 340, 151,
1062 270, 9, 258, 152, -1, 268, 341, -1, 57, -1,
1063 11, -1, -1, 341, 342, -1, 149, 268, -1, 16,
1064 491, 151, 270, 152, -1, 16, 491, 53, 345, 42,
1065 258, 152, -1, 346, 514, 151, 349, -1, 167, 347,
1066 -1, 57, -1, 11, -1, -1, 347, 348, -1, 149,
1067 167, -1, 31, -1, 13, -1, 59, -1, 24, -1,
1068 23, -1, 43, -1, 75, -1, 71, -1, 61, -1,
1069 35, -1, 70, -1, 79, -1, 25, -1, 87, -1,
1070 33, -1, 76, -1, 106, -1, 114, -1, 109, -1,
1071 351, -1, 39, 258, 36, 401, 353, 352, -1, 39,
1072 454, 258, 36, 401, 353, 352, -1, -1, 28, 36,
1073 401, -1, 28, 454, 36, 401, -1, -1, 353, 354,
1074 -1, 29, 258, 36, 401, -1, 29, 454, 258, 36,
1075 401, -1, 357, -1, 357, -1, 358, -1, 34, 491,
1076 40, 320, -1, 34, 454, 491, 40, 320, -1, 82,
1077 258, -1, 360, -1, -1, 360, 361, -1, 362, -1,
1078 363, -1, 381, -1, 382, -1, 383, -1, 377, -1,
1079 402, -1, 408, -1, 491, 151, 18, 372, 371, 369,
1080 367, 365, 17, 359, 30, 18, 364, 152, -1, -1,
1081 491, -1, -1, 365, 366, -1, 216, -1, -1, 60,
1082 239, 152, 368, -1, 60, 47, 248, 152, -1, -1,
1083 37, 239, 152, 370, -1, -1, 37, 47, 248, 152,
1084 -1, -1, 147, 258, 148, 372, -1, -1, 42, -1,
1085 491, -1, 373, 156, 491, -1, 373, 375, -1, 373,
1086 -1, 147, 491, 148, -1, 24, -1, 31, -1, 23,
1087 -1, -1, 491, 151, 268, 378, 37, 47, 248, 380,
1088 152, -1, -1, 491, 151, 268, 379, 60, 47, 248,
1089 152, -1, 491, 151, 376, 374, 60, 47, 248, 152,
1090 -1, 491, 151, 376, 374, 37, 47, 248, 380, 152,
1091 -1, -1, 60, 47, 248, -1, 491, 151, 425, -1,
1092 425, -1, 491, 151, 88, 425, -1, 88, 425, -1,
1093 491, 151, 449, -1, 449, -1, 491, 151, 88, 449,
1094 -1, 88, 449, -1, 491, 151, 384, -1, 384, -1,
1095 491, 151, 88, 384, -1, 88, 384, -1, 491, 151,
1096 88, 396, -1, 88, 396, -1, 491, 151, 396, -1,
1097 396, -1, 392, 130, 393, 385, 152, -1, 386, -1,
1098 386, 81, 258, -1, 386, 81, 258, 28, 385, -1,
1099 389, 387, -1, 97, -1, -1, 387, 388, -1, 149,
1100 389, -1, 258, 390, -1, -1, 9, 258, -1, 52,
1101 391, -1, 52, -1, 9, 258, -1, 268, -1, 276,
1102 -1, 395, 394, -1, -1, 74, -1, 110, 258, 105,
1103 -1, 105, -1, -1, 38, -1, 83, 258, 68, 392,
1104 130, 393, 397, 152, -1, 398, 386, 81, 283, -1,
1105 -1, 398, 399, -1, 386, 81, 283, 149, -1, -1,
1106 217, 17, -1, 17, -1, 400, 359, -1, -1, 491,
1107 151, 403, 355, 36, 400, 359, 404, -1, 407, 30,
1108 406, 152, -1, 30, 406, 152, -1, -1, 491, 151,
1109 405, 350, 404, -1, 491, 151, 518, -1, 36, -1,
1110 36, 491, -1, 30, 152, -1, 30, 491, 152, -1,
1111 491, 151, 409, -1, 409, -1, -1, 412, 410, 62,
1112 416, 414, 17, 420, 30, 411, 152, -1, 1, 30,
1113 411, 152, -1, -1, 412, 62, 413, -1, -1, 88,
1114 -1, -1, 491, -1, -1, 42, -1, 414, 415, -1,
1115 221, -1, -1, 147, 11, 148, -1, 147, 417, 148,
1116 -1, 268, 418, -1, -1, 418, 419, -1, 149, 268,
1117 -1, 421, -1, -1, 421, 422, -1, 423, -1, 425,
1118 -1, 454, 425, -1, 430, -1, 434, -1, 437, -1,
1119 441, -1, 445, -1, 448, -1, 449, -1, 450, -1,
1120 454, 452, -1, 452, -1, 453, -1, 456, -1, 454,
1121 456, -1, 424, -1, 444, 66, 258, 426, 152, -1,
1122 15, 258, 427, 426, 152, -1, -1, 69, 258, -1,
1123 -1, 66, 258, -1, -1, 157, -1, -1, 157, -1,
1124 491, -1, 22, 428, 258, 42, 433, 431, 30, 22,
1125 429, 152, -1, 454, 22, 428, 258, 42, 433, 431,
1126 30, 22, 429, 152, -1, 22, 1, 30, 22, 429,
1127 152, -1, -1, 431, 432, -1, 433, -1, 81, 283,
1128 153, 420, -1, 32, 436, 435, 152, -1, -1, 81,
1129 258, -1, -1, 491, -1, 39, 258, 72, 420, 439,
1130 438, 30, 39, 152, -1, 39, 258, 72, 1, 30,
1131 39, 152, -1, -1, 28, 420, -1, -1, 439, 440,
1132 -1, 29, 258, 72, 420, -1, 444, 443, 46, 420,
1133 30, 46, 442, 152, -1, -1, 491, -1, -1, 356,
1134 -1, -1, 491, 151, -1, 50, 447, 446, 152, -1,
1135 -1, 81, 258, -1, -1, 491, -1, 52, 152, -1,
1136 268, 152, -1, 67, 451, 152, -1, -1, 258, -1,
1137 392, 130, 386, 152, -1, 392, 130, 533, 386, 152,
1138 -1, 392, 130, 104, 532, 258, 152, -1, 392, 130,
1139 111, 532, 152, -1, 526, -1, 522, -1, 455, 152,
1140 -1, 534, -1, 454, 536, -1, 536, -1, 491, 151,
1141 -1, 392, 150, 258, -1, 454, 392, 150, 258, -1,
1142 80, 459, 458, 457, 152, -1, -1, 34, 258, -1,
1143 -1, 77, 258, -1, -1, 54, 417, -1, 30, -1,
1144 30, 23, 183, -1, 30, 13, 183, -1, 30, 31,
1145 183, -1, 30, 491, -1, -1, 42, -1, 23, 491,
1146 461, 464, 463, 460, 152, -1, -1, 60, 239, 152,
1147 -1, -1, 37, 239, 152, -1, 34, 470, 468, 466,
1148 30, 34, 152, -1, 34, 1, 30, 34, 152, -1,
1149 -1, 466, 467, -1, 471, -1, -1, 468, 469, -1,
1150 179, -1, 268, -1, 465, -1, 472, -1, 34, 477,
1151 474, 473, 30, 34, 152, -1, -1, 465, -1, -1,
1152 481, 480, 152, -1, 78, 118, 173, 152, -1, 78,
1153 479, 152, -1, 34, 477, 476, 152, -1, 34, 477,
1154 476, 152, 30, 34, 152, -1, 78, 479, -1, 78,
1155 118, 173, 152, -1, 481, 480, -1, 478, 151, 258,
1156 -1, 173, -1, 11, -1, 57, -1, 482, 481, 480,
1157 -1, -1, 60, 47, 248, -1, -1, 37, 47, 248,
1158 -1, 31, 268, -1, 24, 270, -1, 55, -1, 491,
1159 -1, 495, -1, 483, -1, 484, 149, 483, -1, 87,
1160 491, 151, 490, 147, 484, 148, 152, -1, 87, 491,
1161 42, 147, 489, 148, 152, -1, 87, 491, 42, 147,
1162 1, 152, 148, -1, 349, 488, -1, -1, 154, -1,
1163 487, -1, 489, 149, 487, -1, 491, -1, 493, -1,
1164 7, -1, 5, -1, 6, -1, 3, -1, 4, -1,
1165 108, 497, 30, 499, -1, 108, 1, 30, 499, -1,
1166 -1, 497, 498, -1, 500, -1, 108, -1, 108, 491,
1167 -1, 179, -1, 344, -1, 224, -1, 513, -1, 108,
1168 19, 502, 30, 504, -1, 108, 19, 1, 30, 504,
1169 -1, -1, 502, 503, -1, 505, -1, 108, 19, -1,
1170 108, 19, 491, -1, 220, -1, 100, 180, 152, -1,
1171 -1, 100, 491, 42, 508, 510, 30, 509, 152, -1,
1172 100, 491, 42, 30, 509, 152, -1, 100, -1, 100,
1173 491, -1, 511, -1, 510, 511, -1, 179, -1, 178,
1174 -1, 506, -1, 59, 491, 42, 49, 373, 514, 152,
1175 -1, 59, 491, 42, 49, 373, 514, 548, 152, -1,
1176 59, 1, 491, 42, 49, 152, -1, 35, 491, 42,
1177 49, 373, 514, 152, -1, 35, 491, 42, 49, 373,
1178 514, 548, 152, -1, 35, 491, 42, 49, 1, 152,
1179 -1, -1, 160, 515, 161, -1, 160, 161, -1, 67,
1180 270, -1, 516, -1, 516, 67, 270, -1, 270, -1,
1181 516, 517, -1, 149, 270, -1, 22, 258, 36, 520,
1182 521, 30, 36, 406, 152, -1, 22, 258, 36, 520,
1183 30, 36, 406, 152, -1, 22, 1, 36, 1, 30,
1184 36, 406, 152, -1, 81, 454, 283, 153, 401, -1,
1185 81, 283, 153, 401, -1, 520, 519, -1, 519, -1,
1186 30, 152, -1, 30, 491, 152, -1, 523, -1, 525,
1187 -1, 392, 130, 389, 81, 258, 524, 152, -1, 392,
1188 130, 533, 389, 81, 258, 524, 152, -1, 392, 130,
1189 389, 81, 258, 152, -1, 392, 130, 533, 389, 81,
1190 258, 152, -1, 392, 130, 1, 152, -1, 28, 258,
1191 81, 258, -1, 28, 258, -1, 392, 130, 104, 532,
1192 258, 81, 258, 535, 152, -1, 392, 130, 104, 532,
1193 258, 81, 258, 152, -1, 527, -1, 531, -1, 83,
1194 258, 68, 428, 392, 130, 528, 529, -1, -1, 533,
1195 -1, 389, 81, 283, 149, 529, -1, 530, -1, 389,
1196 81, 283, 152, -1, 83, 258, 68, 428, 392, 130,
1197 104, 532, 537, -1, -1, 40, -1, 58, -1, 74,
1198 -1, 110, 258, 105, -1, 105, -1, 455, 81, 258,
1199 535, 152, -1, 455, 81, 258, 152, -1, 28, 258,
1200 81, 258, -1, 535, 28, 258, 81, 258, -1, 28,
1201 258, -1, 83, 258, 68, 428, 539, 150, 537, -1,
1202 258, 81, 283, 149, 537, -1, 538, -1, 258, 81,
1203 283, 152, -1, 268, -1, 276, -1, 541, -1, 542,
1204 -1, 61, 491, 545, -1, 35, 543, 545, 67, 270,
1205 544, -1, 223, 35, 543, 545, 67, 270, 544, -1,
1206 491, -1, 493, -1, -1, 42, 491, -1, 42, 154,
1207 -1, -1, 107, -1, -1, 107, 546, 147, 242, 240,
1208 148, -1, 147, 242, 240, 148, -1, 59, 491, 42,
1209 49, 373, -1, 59, 491, 42, 49, 373, 548, -1,
1210 37, 47, 248, -1, -1, 37, 550, 239, -1, 119,
1211 552, 553, 151, 312, 120, -1, 25, -1, 70, -1,
1212 79, -1, 554, -1, 555, -1, 559, -1, 156, 558,
1213 491, -1, 156, 491, -1, 556, 558, 491, -1, 556,
1214 491, -1, 159, 156, -1, 556, 159, 156, -1, 491,
1215 -1, 491, 147, 258, 148, -1, 557, 156, -1, 558,
1216 557, 156, -1, 158, 373, -1, 162, -1
1219 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1220 static const yytype_uint16 yyrline[] =
1222 0, 347, 347, 350, 352, 353, 356, 357, 360, 361,
1223 362, 363, 364, 367, 368, 370, 372, 373, 375, 377,
1224 378, 385, 387, 388, 390, 391, 392, 393, 394, 395,
1225 396, 399, 400, 403, 412, 427, 428, 434, 436, 439,
1226 450, 451, 453, 454, 456, 457, 460, 462, 463, 463,
1227 465, 466, 466, 467, 471, 472, 474, 483, 484, 485,
1228 486, 488, 489, 491, 493, 494, 494, 500, 506, 507,
1229 508, 509, 510, 511, 512, 514, 515, 516, 537, 538,
1230 539, 540, 542, 543, 544, 545, 547, 548, 549, 550,
1231 552, 553, 554, 561, 562, 563, 564, 567, 568, 569,
1232 577, 578, 579, 580, 583, 584, 585, 586, 587, 588,
1233 589, 591, 592, 593, 594, 595, 596, 597, 598, 599,
1234 600, 603, 604, 605, 606, 607, 608, 609, 610, 611,
1235 612, 613, 614, 615, 617, 618, 621, 622, 623, 624,
1236 625, 626, 627, 628, 629, 630, 631, 632, 634, 635,
1237 636, 637, 638, 639, 640, 641, 643, 644, 645, 646,
1238 647, 648, 649, 650, 652, 653, 654, 655, 656, 657,
1239 658, 659, 661, 662, 663, 664, 669, 670, 672, 675,
1240 674, 678, 677, 690, 689, 701, 702, 705, 704, 708,
1241 708, 712, 713, 714, 715, 717, 719, 723, 727, 728,
1242 729, 730, 731, 732, 733, 736, 738, 739, 745, 746,
1243 747, 748, 749, 751, 760, 773, 781, 802, 803, 804,
1244 805, 806, 807, 808, 809, 810, 812, 813, 814, 815,
1245 816, 818, 819, 820, 821, 823, 829, 830, 832, 833,
1246 834, 836, 837, 838, 839, 842, 843, 844, 846, 848,
1247 849, 850, 858, 859, 861, 862, 863, 864, 865, 866,
1248 868, 869, 870, 871, 872, 873, 874, 875, 876, 877,
1249 878, 879, 880, 884, 885, 886, 887, 888, 889, 890,
1250 891, 895, 896, 897, 898, 899, 900, 901, 902, 903,
1251 904, 905, 906, 907, 908, 909, 910, 911, 912, 913,
1252 915, 916, 917, 918, 921, 922, 923, 926, 927, 930,
1253 931, 932, 933, 935, 936, 937, 938, 940, 941, 942,
1254 943, 944, 945, 947, 948, 949, 950, 951, 952, 954,
1255 955, 957, 959, 960, 961, 963, 964, 966, 969, 970,
1256 971, 972, 973, 975, 976, 978, 979, 981, 982, 984,
1257 985, 986, 987, 988, 989, 990, 997, 998, 1000, 1001,
1258 1002, 1003, 1005, 1006, 1007, 1012, 1013, 1017, 1019, 1020,
1259 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031,
1260 1034, 1035, 1036, 1037, 1039, 1048, 1049, 1051, 1052, 1053,
1261 1055, 1057, 1059, 1068, 1069, 1070, 1072, 1074, 1076, 1077,
1262 1079, 1091, 1092, 1096, 1098, 1100, 1102, 1108, 1112, 1113,
1263 1114, 1115, 1116, 1118, 1119, 1120, 1121, 1122, 1124, 1127,
1264 1130, 1131, 1133, 1135, 1136, 1138, 1139, 1141, 1142, 1144,
1265 1145, 1151, 1157, 1158, 1160, 1165, 1166, 1167, 1168, 1170,
1266 1174, 1179, 1180, 1182, 1183, 1184, 1185, 1186, 1187, 1189,
1267 1190, 1192, 1197, 1199, 1200, 1202, 1203, 1206, 1211, 1217,
1268 1218, 1221, 1222, 1224, 1226, 1227, 1228, 1229, 1230, 1231,
1269 1237, 1242, 1248, 1250, 1251, 1252, 1253, 1254, 1255, 1257,
1270 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267,
1271 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1283, 1285,
1272 1286, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1296, 1298,
1273 1299, 1301, 1302, 1304, 1310, 1311, 1312, 1313, 1315, 1316,
1274 1317, 1318, 1319, 1320, 1321, 1323, 1326, 1327, 1328, 1329,
1275 1330, 1331, 1332, 1334, 1335, 1336, 1337, 1338, 1339, 1340,
1276 1341, 1342, 1344, 1345, 1348, 1349, 1351, 1353, 1354, 1355,
1277 1357, 1357, 1361, 1361, 1366, 1370, 1374, 1375, 1377, 1378,
1278 1380, 1381, 1383, 1384, 1386, 1387, 1389, 1390, 1392, 1393,
1279 1395, 1396, 1398, 1399, 1401, 1403, 1404, 1405, 1407, 1408,
1280 1409, 1410, 1411, 1413, 1414, 1415, 1416, 1417, 1418, 1420,
1281 1421, 1423, 1425, 1426, 1427, 1428, 1430, 1431, 1433, 1435,
1282 1436, 1437, 1438, 1440, 1441, 1442, 1448, 1451, 1450, 1456,
1283 1457, 1460, 1459, 1462, 1464, 1465, 1468, 1469, 1471, 1478,
1284 1486, 1485, 1492, 1494, 1495, 1497, 1498, 1500, 1501, 1503,
1285 1504, 1505, 1506, 1507, 1508, 1509, 1511, 1512, 1513, 1514,
1286 1520, 1521, 1522, 1523, 1525, 1526, 1527, 1528, 1529, 1530,
1287 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540,
1288 1542, 1544, 1545, 1546, 1547, 1548, 1550, 1551, 1553, 1554,
1289 1555, 1557, 1558, 1560, 1561, 1562, 1563, 1565, 1567, 1568,
1290 1569, 1570, 1571, 1573, 1574, 1575, 1576, 1577, 1578, 1579,
1291 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1589, 1590, 1591,
1292 1592, 1593, 1595, 1597, 1599, 1600, 1601, 1603, 1604, 1605,
1293 1606, 1607, 1608, 1611, 1612, 1613, 1614, 1616, 1617, 1618,
1294 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1632, 1633, 1634,
1295 1635, 1636, 1638, 1639, 1641, 1646, 1647, 1648, 1649, 1651,
1296 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1664, 1674, 1675,
1297 1677, 1682, 1683, 1684, 1686, 1687, 1688, 1693, 1697, 1702,
1298 1703, 1704, 1706, 1712, 1713, 1714, 1716, 1718, 1719, 1721,
1299 1722, 1725, 1726, 1727, 1730, 1731, 1734, 1735, 1738, 1745,
1300 1751, 1753, 1755, 1756, 1758, 1759, 1763, 1764, 1766, 1771,
1301 1776, 1781, 1786, 1796, 1797, 1799, 1800, 1801, 1802, 1803,
1302 1805, 1806, 1807, 1808, 1810, 1811, 1813, 1814, 1815, 1817,
1303 1818, 1820, 1826, 1828, 1828, 1834, 1839, 1840, 1842, 1843,
1304 1845, 1846, 1847, 1849, 1857, 1862, 1864, 1869, 1874, 1876,
1305 1877, 1879, 1881, 1882, 1883, 1885, 1886, 1887, 1889, 1890,
1306 1891, 1893, 1894, 1895, 1896, 1898, 1899, 1901, 1902, 1904,
1307 1905, 1906, 1907, 1908, 1910, 1911, 1913, 1914, 1916, 1917,
1308 1919, 1922, 1923, 1925, 1926, 1928, 1930, 1933, 1934, 1935,
1309 1937, 1938, 1939, 1941, 1942, 1944, 1945, 1946, 1948, 1950,
1310 1951, 1953, 1955, 1956, 1958, 1959, 1961, 1963, 1973, 1984,
1311 1985, 1988, 1989, 1990, 1992, 1993, 1994, 1994, 1998, 2000,
1312 2005, 2011, 2014, 2013, 2024, 2031, 2032, 2033, 2035, 2036,
1313 2037, 2040, 2041, 2043, 2044, 2046, 2047, 2049, 2050, 2053,
1318 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1319 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1320 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1321 static const char *const yytname[] =
1323 "$end", "error", "$undefined", "t_ABSTRLIST", "t_CHARLIST", "t_DIGIT",
1324 "t_STRING", "t_LETTER", "t_ACCESS", "t_AFTER", "t_ALIAS", "t_ALL",
1325 "t_AND", "t_ARCHITECTURE", "t_ARRAY", "t_ASSERT", "t_ATTRIBUTE",
1326 "t_BEGIN", "t_BLOCK", "t_BODY", "t_BUFFER", "t_BUS", "t_CASE",
1327 "t_COMPONENT", "t_CONFIGURATION", "t_CONSTANT", "t_DISCONNECT",
1328 "t_DOWNTO", "t_ELSE", "t_ELSIF", "t_END", "t_ENTITY", "t_EXIT", "t_FILE",
1329 "t_FOR", "t_FUNCTION", "t_GENERATE", "t_GENERIC", "t_GUARDED", "t_IF",
1330 "t_IN", "t_INOUT", "t_IS", "t_LABEL", "t_LIBRARY", "t_LINKAGE", "t_LOOP",
1331 "t_MAP", "t_NAND", "t_NEW", "t_NEXT", "t_NOR", "t_NULL", "t_OF", "t_ON",
1332 "t_OPEN", "t_OR", "t_OTHERS", "t_OUT", "t_PACKAGE", "t_PORT",
1333 "t_PROCEDURE", "t_PROCESS", "t_RANGE", "t_RECORD", "t_REGISTER",
1334 "t_REPORT", "t_RETURN", "t_SELECT", "t_SEVERITY", "t_SIGNAL",
1335 "t_SUBTYPE", "t_THEN", "t_TO", "t_TRANSPORT", "t_TYPE", "t_UNITS",
1336 "t_UNTIL", "t_USE", "t_VARIABLE", "t_WAIT", "t_WHEN", "t_WHILE",
1337 "t_WITH", "t_XOR", "t_IMPURE", "t_PURE", "t_GROUP", "t_POSTPONED",
1338 "t_SHARED", "t_XNOR", "t_SLL", "t_SRA", "t_SLA", "t_SRL", "t_ROR",
1339 "t_ROL", "t_UNAFFECTED", "t_ASSUME_GUARANTEE", "t_ASSUME", "t_CONTEXT",
1340 "t_COVER", "t_DEFAULT", "t_FAIRNESS", "t_FORCE", "t_INERTIAL",
1341 "t_LITERAL", "t_PARAMETER", "t_PROTECTED", "t_PROPERTY", "t_REJECT",
1342 "t_RELEASE", "t_RESTRICT", "t_RESTRICT_GUARANTEE", "t_SEQUENCE",
1343 "t_STRONG", "t_VMODE", "t_VPROP", "t_VUNIT", "t_SLSL", "t_SRSR", "t_QQ",
1344 "t_QGT", "t_QLT", "t_QG", "t_QL", "t_QEQU", "t_QNEQU", "t_GESym",
1345 "t_GTSym", "t_LESym", "t_LTSym", "t_NESym", "t_EQSym", "t_Ampersand",
1346 "t_Minus", "t_Plus", "MED_PRECEDENCE", "t_REM", "t_MOD", "t_Slash",
1347 "t_Star", "MAX_PRECEDENCE", "t_NOT", "t_ABS", "t_DoubleStar",
1348 "t_Apostrophe", "t_LeftParen", "t_RightParen", "t_Comma", "t_VarAsgn",
1349 "t_Colon", "t_Semicolon", "t_Arrow", "t_Box", "t_Bar", "t_Dot", "t_Q",
1350 "t_At", "t_Neg", "t_LEFTBR", "t_RIGHTBR", "t_ToolDir", "$accept",
1351 "start", "design_file", "design_unit_list", "designator", "literal",
1352 "enumeration_literal", "physical_literal", "physical_literal_1",
1353 "physical_literal_no_default", "idf_list", "design_unit", "context_list",
1354 "lib_unit", "context_item", "lib_clause", "use_clause", "sel_list",
1355 "entity_decl", "entity_start", "entity_decl_5", "entity_decl_4",
1356 "entity_decl_3", "entity_decl_6", "entity_decl_2", "@1", "entity_decl_1",
1357 "@2", "arch_body", "arch_start", "arch_body_2", "arch_body_1",
1358 "arch_body_3", "config_decl", "@3", "config_start", "config_decl_2",
1359 "config_decl_1", "config_decl_3", "package_decl", "package_start",
1360 "package_decl_2", "package_decl_1", "package_decl_3", "package_decl_22",
1361 "package_body", "pack_body_start", "package_body_2", "package_body_1",
1362 "package_body_3", "common_decltve_item_1", "common_decltve_item",
1363 "entity_decltve_item", "block_decltve_item", "block_declarative_part",
1364 "package_decltve_item", "package_body_decltve_item",
1365 "subprog_decltve_item", "procs_decltve_item", "config_decltve_item",
1366 "func_prec", "subprog_decl", "subprog_spec", "@4", "@5", "@6",
1367 "subprog_spec_22", "subprog_spec_33", "@7", "@8", "subprog_spec_2",
1368 "subprog_spec_1", "subprog_body", "subprog_body_2", "subprog_body_1",
1369 "subprog_body_3", "interf_list", "interf_list_1", "interf_list_2",
1370 "interf_element", "interf_element_4", "interf_element_3",
1371 "interf_element_2", "interf_element_1", "mode", "association_list",
1372 "association_list_1", "association_list_2", "gen_association_list",
1373 "gen_association_list_1", "gen_association_list_2",
1374 "association_element", "gen_association_element", "formal_part",
1375 "actual_part", "expr", "shift_op", "and_relation", "relation",
1376 "simple_exp", "adding_op", "term", "multiplying_operator", "factor",
1377 "primary", "name", "name2", "mark", "sel_name", "suffix", "ifts_name",
1378 "sigma", "attribute_name", "aggregate", "element_association_list2",
1379 "qualified_expr", "allocator", "allocator_2", "allocator_1",
1380 "element_association", "choices", "choices_1", "choices_2", "choice",
1381 "type_decl", "type_decl_1", "type_definition",
1382 "enumeration_type_definition", "enumeration_type_definition_1",
1383 "enumeration_type_definition_2", "physical_type_definition", "unit_stat",
1384 "physical_type_definition_1", "physical_type_definition_2",
1385 "base_unit_decl", "secondary_unit_decl",
1386 "unconstrained_array_definition", "unconstrained_array_definition_1",
1387 "unconstrained_array_definition_2", "index_subtype_definition",
1388 "constrained_array_definition", "record_type_simple_name",
1389 "record_type_definition", "record_type_definition_1",
1390 "record_type_definition_2", "element_decl", "access_type_definition",
1391 "file_type_definition", "subtype_decl", "subtype_indic",
1392 "subtype_indic_1", "subtype_indic1", "subtype_indic1_1",
1393 "range_constraint", "index_constraint", "index_constraint_1",
1394 "index_constraint_2", "discrete_range", "discrete_range1", "range_spec",
1395 "direction", "constant_decl", "constant_decl_1", "signal_decl",
1396 "signal_decl_2", "signal_decl_1", "variable_decl", "variable_decl_1",
1397 "object_class", "signal_kind", "alias_decl", "alias_name_stat",
1398 "alias_spec", "file_decl", "fi_dec", "file_decl_1", "disconnection_spec",
1399 "signal_list", "signal_list_1", "signal_list_2", "attribute_decl",
1400 "attribute_spec", "entity_spec", "entity_name_list",
1401 "entity_name_list_1", "entity_name_list_2", "entity_class",
1402 "if_generation_scheme", "if_scheme", "if_scheme_2", "if_scheme_1",
1403 "if_scheme_3", "generation_scheme", "iteration_scheme", "for_scheme",
1404 "while_scheme", "concurrent_stats", "concurrent_stats_1",
1405 "concurrent_stats_2", "concurrent_stat", "block_stat", "block_stat_5",
1406 "block_stat_4", "block_stat_6", "block_stat_3", "block_stat_7",
1407 "block_stat_2", "block_stat_8", "block_stat_1", "block_stat_0",
1408 "dot_name", "mark_comp", "comp_1", "vcomp_stat", "comp_inst_stat", "@9",
1409 "@10", "comp_inst_stat_1", "concurrent_assertion_stat",
1410 "concurrent_procedure_call", "concurrent_signal_assign_stat",
1411 "condal_signal_assign", "condal_wavefrms", "wavefrm", "wavefrm_1",
1412 "wavefrm_2", "wavefrm_element", "wavefrm_element_1", "wavefrm_element_2",
1413 "target", "opts", "opts_2", "opts_1", "sel_signal_assign",
1414 "sel_wavefrms", "sel_wavefrms_1", "sel_wavefrms_2", "gen_stat1",
1415 "generate_statement_body", "generate_stat", "@11", "opstat", "@12",
1416 "generate_stat_1", "end_stats", "procs_stat", "procs_stat1", "@13",
1417 "procs_stat1_3", "procs_stat1_5", "procs_stat1_6", "procs_stat1_2",
1418 "procs_stat1_4", "procs_stat1_1", "sensitivity_list",
1419 "sensitivity_list_1", "sensitivity_list_2", "seq_stats", "seq_stats_1",
1420 "seq_stats_2", "seq_stat", "report_statement", "assertion_stat",
1421 "assertion_stat_2", "assertion_stat_1", "choice_stat", "choice_stat_1",
1422 "case_stat", "case_stat_1", "case_stat_2", "case_stat_alternative",
1423 "exit_stat", "exit_stat_2", "exit_stat_1", "if_stat", "if_stat_2",
1424 "if_stat_1", "if_stat_3", "loop_stat", "loop_stat_3", "loop_stat_2",
1425 "loop_stat_1", "next_stat", "next_stat_2", "next_stat_1", "null_stat",
1426 "procedure_call_stat", "return_stat", "return_stat_1",
1427 "signal_assign_stat", "variable_assign_stat", "lable",
1428 "variable_assign_stat_1", "wait_stat", "wait_stat_3", "wait_stat_2",
1429 "wait_stat_1", "comp_end_dec", "iss", "comp_decl", "comp_decl_2",
1430 "comp_decl_1", "block_config", "block_config_2", "block_config_3",
1431 "block_config_1", "block_config_4", "block_spec", "config_item",
1432 "comp_config", "comp_config_2", "comp_config_1", "config_spec",
1433 "comp_spec_stat", "comp_spec", "inst_list", "binding_indic",
1434 "binding_indic_2", "binding_indic_1", "entity_aspect",
1435 "group_constituent", "group_constituent_list", "group_declaration",
1436 "group_template_declaration", "entity_class_entry", "tbox",
1437 "entity_class_entry_list", "group_name", "t_Identifier",
1438 "t_BitStringLit", "t_StringLit", "t_AbstractLit", "t_CharacterLit",
1439 "protected_type_declaration", "protected_stats", "protected_stat_decl_1",
1440 "protected_stat_1", "protected_type_declaration_item",
1441 "protected_type_body", "protected_body_stats",
1442 "protected_body_stat_decl_1", "protected_body_stat_1",
1443 "protected_type_body_declaration_item", "context_ref", "context_decl",
1444 "@14", "context_stat_1", "libustcont_stats", "libustcont_stat",
1445 "package_instantiation_decl", "subprogram_instantiation_decl",
1446 "signature", "signature1", "mark_stats", "mark_stats_1", "case_scheme",
1447 "when_stats_1", "when_stats", "ttend", "conditional_signal_assignment",
1448 "conditional_waveform_assignment", "else_wave_list",
1449 "conditional_force_assignment", "selected_signal_assignment",
1450 "selected_waveform_assignment", "delay_stat", "sel_wave_list",
1451 "sel_wave_list_1", "selected_force_assignment", "inout_stat",
1452 "delay_mechanism", "conditional_variable_assignment", "else_stat",
1453 "selected_variable_assignment", "sel_var_list", "sel_var_list_1",
1454 "select_name", "interface_subprogram_decl", "iproc", "ifunc",
1455 "func_name", "return_is", "param", "@15", "interface_package_decl",
1456 "gen_assoc_list", "gen_interface_list", "@16", "external_name",
1457 "sig_stat", "external_pathname", "absolute_pathname",
1458 "relative_pathname", "neg_list", "pathname_element",
1459 "pathname_element_list", "package_path_name", "tool_directive", 0
1464 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1466 static const yytype_uint16 yytoknum[] =
1468 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1469 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1470 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1471 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1472 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1473 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1474 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1475 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1476 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1477 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1478 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1479 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1480 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1481 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1482 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1483 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1488 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1489 static const yytype_uint16 yyr1[] =
1491 0, 163, 164, 165, 166, 166, 167, 167, 168, 168,
1492 168, 168, 168, 169, 169, 170, 171, 171, 172, 173,
1493 173, 174, 175, 175, 176, 176, 176, 176, 176, 176,
1494 176, 177, 177, 178, 179, 180, 180, 181, 181, 182,
1495 183, 183, 184, 184, 185, 185, 186, 187, 188, 187,
1496 189, 190, 189, 189, 191, 191, 192, 193, 193, 193,
1497 193, 194, 194, 195, 196, 197, 196, 198, 199, 199,
1498 199, 199, 200, 200, 201, 202, 202, 203, 204, 204,
1499 204, 204, 205, 205, 205, 206, 207, 207, 207, 207,
1500 208, 208, 209, 210, 210, 210, 210, 211, 211, 212,
1501 213, 213, 213, 213, 214, 214, 214, 214, 214, 214,
1502 214, 215, 215, 215, 215, 215, 215, 215, 215, 215,
1503 215, 216, 216, 216, 216, 216, 216, 216, 216, 216,
1504 216, 216, 216, 216, 217, 217, 218, 218, 218, 218,
1505 218, 218, 218, 218, 218, 218, 218, 218, 219, 219,
1506 219, 219, 219, 219, 219, 219, 220, 220, 220, 220,
1507 220, 220, 220, 220, 221, 221, 221, 221, 221, 221,
1508 221, 221, 222, 222, 222, 222, 223, 223, 224, 226,
1509 225, 227, 225, 228, 225, 229, 229, 231, 230, 232,
1510 230, 233, 233, 233, 233, 234, 235, 235, 236, 236,
1511 236, 236, 236, 236, 236, 237, 237, 238, 239, 239,
1512 240, 240, 241, 242, 242, 242, 242, 243, 243, 244,
1513 244, 244, 245, 245, 246, 246, 247, 247, 247, 247,
1514 247, 248, 249, 249, 250, 251, 251, 251, 252, 252,
1515 253, 254, 254, 254, 254, 255, 255, 255, 256, 257,
1516 257, 257, 258, 258, 259, 259, 259, 259, 259, 259,
1517 260, 260, 260, 260, 260, 260, 260, 260, 260, 260,
1518 260, 260, 260, 261, 261, 261, 261, 261, 261, 261,
1519 261, 261, 261, 261, 261, 261, 261, 261, 261, 261,
1520 261, 261, 261, 261, 261, 261, 261, 261, 261, 261,
1521 262, 262, 262, 262, 263, 263, 263, 264, 264, 265,
1522 265, 265, 265, 266, 266, 266, 266, 267, 267, 267,
1523 267, 267, 267, 268, 268, 268, 269, 269, 269, 270,
1524 270, 271, 272, 272, 272, 273, 273, 274, 275, 275,
1525 275, 275, 275, 276, 276, 277, 277, 278, 278, 279,
1526 279, 279, 280, 280, 281, 281, 282, 282, 283, 284,
1527 284, 285, 286, 286, 286, 287, 287, 287, 288, 288,
1528 289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
1529 290, 291, 291, 292, 293, 294, 294, 295, 295, 296,
1530 297, 298, 299, 300, 300, 301, 302, 303, 304, 304,
1531 305, 306, 306, 307, 308, 309, 310, 311, 311, 312,
1532 312, 313, 313, 314, 314, 314, 315, 315, 316, 317,
1533 318, 318, 319, 320, 320, 321, 321, 322, 322, 323,
1534 323, 324, 325, 325, 326, 327, 327, 328, 328, 329,
1535 329, 330, 330, 331, 331, 331, 331, 331, 331, 332,
1536 332, 333, 333, 334, 334, 335, 335, 336, 336, 337,
1537 337, 338, 338, 339, 340, 340, 340, 341, 341, 342,
1538 343, 344, 345, 346, 346, 346, 347, 347, 348, 349,
1539 349, 349, 349, 349, 349, 349, 349, 349, 349, 349,
1540 349, 349, 349, 349, 349, 349, 349, 349, 350, 351,
1541 351, 352, 352, 352, 353, 353, 354, 354, 355, 356,
1542 356, 357, 357, 358, 359, 360, 360, 361, 362, 362,
1543 362, 362, 362, 362, 362, 363, 364, 364, 365, 365,
1544 366, 367, 367, 368, 369, 369, 370, 370, 371, 371,
1545 372, 372, 373, 373, 374, 374, 375, 376, 376, 376,
1546 378, 377, 379, 377, 377, 377, 380, 380, 381, 381,
1547 381, 381, 382, 382, 382, 382, 383, 383, 383, 383,
1548 383, 383, 383, 383, 384, 385, 385, 385, 386, 386,
1549 387, 387, 388, 389, 390, 390, 390, 390, 391, 392,
1550 392, 393, 394, 394, 394, 394, 395, 395, 396, 397,
1551 398, 398, 399, 400, 400, 400, 401, 403, 402, 404,
1552 404, 405, 402, 402, 406, 406, 407, 407, 408, 408,
1553 410, 409, 409, 411, 411, 412, 412, 413, 413, 414,
1554 414, 414, 415, 416, 416, 416, 417, 418, 418, 419,
1555 420, 421, 421, 422, 423, 423, 423, 423, 423, 423,
1556 423, 423, 423, 423, 423, 423, 423, 423, 423, 423,
1557 424, 425, 426, 426, 427, 427, 428, 428, 429, 429,
1558 429, 430, 430, 430, 431, 431, 432, 433, 434, 435,
1559 435, 436, 436, 437, 437, 438, 438, 439, 439, 440,
1560 441, 442, 442, 443, 443, 444, 444, 445, 446, 446,
1561 447, 447, 448, 449, 450, 451, 451, 452, 452, 452,
1562 452, 452, 452, 453, 453, 453, 453, 454, 455, 455,
1563 456, 457, 457, 458, 458, 459, 459, 460, 460, 460,
1564 460, 460, 461, 461, 462, 463, 463, 464, 464, 465,
1565 465, 466, 466, 467, 468, 468, 469, 470, 471, 471,
1566 472, 473, 473, 474, 474, 474, 474, 475, 475, 476,
1567 476, 476, 477, 478, 478, 478, 479, 480, 480, 481,
1568 481, 482, 482, 482, 483, 483, 484, 484, 485, 486,
1569 486, 487, 488, 488, 489, 489, 490, 490, 491, 492,
1570 493, 494, 495, 496, 496, 497, 497, 498, 499, 499,
1571 500, 500, 500, 500, 501, 501, 502, 502, 503, 504,
1572 504, 505, 506, 508, 507, 507, 509, 509, 510, 510,
1573 511, 511, 511, 512, 512, 512, 513, 513, 513, 514,
1574 514, 514, 515, 515, 515, 516, 516, 517, 518, 518,
1575 518, 519, 519, 520, 520, 521, 521, 522, 522, 523,
1576 523, 523, 523, 523, 524, 524, 525, 525, 526, 526,
1577 527, 528, 528, 529, 529, 530, 531, 532, 532, 532,
1578 533, 533, 533, 534, 534, 535, 535, 535, 536, 537,
1579 537, 538, 539, 539, 540, 540, 541, 542, 542, 543,
1580 543, 544, 544, 544, 545, 545, 546, 545, 545, 547,
1581 547, 548, 550, 549, 551, 552, 552, 552, 553, 553,
1582 553, 554, 554, 555, 555, 556, 556, 557, 557, 558,
1586 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1587 static const yytype_uint8 yyr2[] =
1589 0, 2, 1, 1, 1, 2, 1, 1, 1, 1,
1590 1, 1, 1, 1, 1, 2, 0, 1, 2, 1,
1591 3, 2, 0, 2, 1, 1, 1, 1, 1, 1,
1592 1, 1, 1, 3, 3, 1, 3, 4, 7, 3,
1593 0, 1, 0, 2, 0, 2, 1, 0, 0, 4,
1594 0, 0, 4, 3, 7, 5, 5, 0, 1, 2,
1595 1, 0, 2, 1, 5, 0, 7, 5, 0, 1,
1596 1, 2, 0, 2, 1, 5, 5, 3, 0, 1,
1597 2, 1, 0, 1, 2, 1, 2, 1, 2, 3,
1598 5, 5, 4, 0, 1, 2, 3, 0, 2, 1,
1599 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1600 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1601 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1602 1, 1, 1, 1, 1, 2, 1, 1, 1, 1,
1603 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1604 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1605 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1606 1, 1, 1, 1, 1, 4, 1, 1, 2, 0,
1607 4, 0, 7, 0, 6, 1, 2, 0, 3, 0,
1608 2, 0, 2, 1, 1, 1, 8, 6, 0, 1,
1609 1, 1, 2, 2, 2, 0, 2, 1, 4, 3,
1610 0, 2, 2, 1, 1, 2, 7, 0, 2, 0,
1611 1, 1, 0, 1, 0, 1, 1, 1, 1, 1,
1612 1, 4, 0, 2, 2, 4, 3, 3, 0, 2,
1613 2, 3, 1, 1, 1, 1, 3, 1, 1, 1,
1614 1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1615 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1616 3, 3, 3, 2, 1, 2, 2, 2, 2, 3,
1617 4, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1618 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1619 2, 2, 1, 3, 1, 1, 1, 1, 3, 1,
1620 1, 1, 1, 1, 2, 2, 3, 1, 1, 1,
1621 1, 1, 3, 1, 1, 1, 1, 1, 1, 1,
1622 1, 3, 1, 1, 1, 2, 2, 1, 3, 4,
1623 3, 3, 3, 2, 5, 4, 3, 5, 3, 4,
1624 3, 2, 0, 1, 0, 1, 3, 1, 2, 0,
1625 2, 2, 1, 1, 1, 4, 4, 3, 0, 2,
1626 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1627 4, 0, 2, 2, 6, 2, 1, 0, 2, 1,
1628 2, 4, 7, 0, 2, 2, 3, 4, 0, 1,
1629 6, 0, 2, 1, 4, 2, 3, 5, 3, 2,
1630 1, 0, 1, 3, 2, 3, 0, 1, 2, 4,
1631 0, 2, 2, 1, 1, 1, 3, 1, 3, 1,
1632 1, 6, 0, 2, 7, 0, 2, 0, 1, 6,
1633 7, 0, 2, 1, 1, 1, 2, 1, 1, 1,
1634 1, 7, 6, 1, 1, 0, 2, 8, 6, 0,
1635 4, 0, 1, 7, 2, 1, 1, 0, 2, 2,
1636 5, 7, 4, 2, 1, 1, 0, 2, 2, 1,
1637 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1638 1, 1, 1, 1, 1, 1, 1, 1, 1, 6,
1639 7, 0, 3, 4, 0, 2, 4, 5, 1, 1,
1640 1, 4, 5, 2, 1, 0, 2, 1, 1, 1,
1641 1, 1, 1, 1, 1, 14, 0, 1, 0, 2,
1642 1, 0, 4, 4, 0, 4, 0, 4, 0, 4,
1643 0, 1, 1, 3, 2, 1, 3, 1, 1, 1,
1644 0, 9, 0, 8, 8, 9, 0, 3, 3, 1,
1645 4, 2, 3, 1, 4, 2, 3, 1, 4, 2,
1646 4, 2, 3, 1, 5, 1, 3, 5, 2, 1,
1647 0, 2, 2, 2, 0, 2, 2, 1, 2, 1,
1648 1, 2, 0, 1, 3, 1, 0, 1, 8, 4,
1649 0, 2, 4, 0, 2, 1, 2, 0, 8, 4,
1650 3, 0, 5, 3, 1, 2, 2, 3, 3, 1,
1651 0, 10, 4, 0, 3, 0, 1, 0, 1, 0,
1652 1, 2, 1, 0, 3, 3, 2, 0, 2, 2,
1653 1, 0, 2, 1, 1, 2, 1, 1, 1, 1,
1654 1, 1, 1, 1, 2, 1, 1, 1, 2, 1,
1655 5, 5, 0, 2, 0, 2, 0, 1, 0, 1,
1656 1, 10, 11, 6, 0, 2, 1, 4, 4, 0,
1657 2, 0, 1, 9, 7, 0, 2, 0, 2, 4,
1658 8, 0, 1, 0, 1, 0, 2, 4, 0, 2,
1659 0, 1, 2, 2, 3, 0, 1, 4, 5, 6,
1660 5, 1, 1, 2, 1, 2, 1, 2, 3, 4,
1661 5, 0, 2, 0, 2, 0, 2, 1, 3, 3,
1662 3, 2, 0, 1, 7, 0, 3, 0, 3, 7,
1663 5, 0, 2, 1, 0, 2, 1, 1, 1, 1,
1664 7, 0, 1, 0, 3, 4, 3, 4, 7, 2,
1665 4, 2, 3, 1, 1, 1, 3, 0, 3, 0,
1666 3, 2, 2, 1, 1, 1, 1, 3, 8, 7,
1667 7, 2, 0, 1, 1, 3, 1, 1, 1, 1,
1668 1, 1, 1, 4, 4, 0, 2, 1, 1, 2,
1669 1, 1, 1, 1, 5, 5, 0, 2, 1, 2,
1670 3, 1, 3, 0, 8, 6, 1, 2, 1, 2,
1671 1, 1, 1, 7, 8, 6, 7, 8, 6, 0,
1672 3, 2, 2, 1, 3, 1, 2, 2, 9, 8,
1673 8, 5, 4, 2, 1, 2, 3, 1, 1, 7,
1674 8, 6, 7, 4, 4, 2, 9, 8, 1, 1,
1675 8, 0, 1, 5, 1, 4, 9, 0, 1, 1,
1676 1, 3, 1, 5, 4, 4, 5, 2, 7, 5,
1677 1, 4, 1, 1, 1, 1, 3, 6, 7, 1,
1678 1, 0, 2, 2, 0, 1, 0, 6, 4, 5,
1679 6, 3, 0, 3, 6, 1, 1, 1, 1, 1,
1680 1, 3, 2, 3, 2, 2, 3, 1, 4, 2,
1684 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1685 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1686 means the default is an error. */
1687 static const yytype_uint16 yydefact[] =
1689 22, 0, 2, 22, 4, 0, 1, 5, 0, 0,
1690 0, 0, 0, 0, 0, 21, 23, 31, 32, 24,
1691 0, 27, 0, 25, 0, 26, 0, 28, 0, 29,
1692 30, 788, 0, 0, 0, 0, 19, 0, 0, 0,
1693 790, 0, 0, 0, 324, 323, 330, 328, 327, 329,
1694 326, 325, 0, 0, 0, 47, 0, 0, 0, 0,
1695 0, 902, 0, 83, 87, 0, 0, 0, 0, 39,
1696 0, 33, 0, 0, 77, 905, 906, 907, 0, 0,
1697 34, 0, 337, 0, 336, 0, 335, 0, 0, 813,
1698 727, 0, 0, 0, 48, 44, 57, 0, 0, 515,
1699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1700 0, 177, 176, 0, 0, 922, 110, 62, 100, 102,
1701 132, 121, 63, 0, 109, 0, 122, 104, 105, 106,
1702 128, 129, 108, 107, 127, 124, 125, 123, 126, 131,
1703 130, 101, 103, 133, 68, 0, 0, 0, 0, 173,
1704 73, 74, 172, 0, 174, 78, 0, 78, 0, 145,
1705 84, 136, 85, 0, 141, 142, 140, 138, 139, 137,
1706 144, 143, 146, 147, 0, 86, 88, 93, 93, 98,
1707 155, 148, 99, 149, 150, 153, 154, 152, 151, 0,
1708 0, 20, 0, 92, 0, 0, 0, 0, 0, 908,
1709 909, 0, 910, 330, 792, 334, 332, 331, 6, 7,
1710 333, 0, 791, 789, 0, 12, 0, 364, 0, 0,
1711 0, 0, 0, 0, 318, 11, 238, 245, 252, 253,
1712 274, 317, 323, 330, 319, 0, 320, 321, 0, 425,
1713 247, 10, 8, 9, 342, 340, 341, 338, 0, 323,
1714 0, 0, 40, 40, 40, 731, 37, 53, 0, 0,
1715 0, 42, 60, 0, 58, 455, 453, 454, 0, 0,
1716 0, 732, 0, 466, 465, 467, 0, 0, 764, 765,
1717 763, 769, 0, 183, 6, 179, 0, 0, 0, 0,
1718 0, 0, 0, 0, 0, 0, 178, 70, 0, 69,
1719 0, 0, 747, 744, 0, 0, 68, 81, 0, 79,
1720 903, 0, 0, 89, 0, 0, 94, 0, 56, 67,
1721 0, 829, 542, 912, 0, 0, 921, 915, 0, 0,
1722 914, 0, 236, 352, 351, 237, 273, 276, 275, 278,
1723 277, 362, 0, 0, 359, 363, 0, 430, 429, 0,
1724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1725 0, 0, 254, 255, 256, 257, 258, 259, 0, 0,
1726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1728 337, 416, 414, 343, 0, 0, 18, 339, 816, 0,
1729 0, 821, 820, 822, 0, 818, 729, 41, 728, 730,
1730 0, 443, 447, 0, 0, 0, 444, 448, 445, 0,
1731 0, 210, 0, 225, 214, 884, 885, 213, 52, 0,
1732 515, 0, 45, 120, 111, 46, 112, 116, 117, 115,
1733 113, 114, 119, 118, 59, 55, 0, 0, 0, 0,
1734 57, 0, 0, 0, 626, 0, 589, 590, 516, 517,
1735 518, 522, 519, 520, 521, 567, 0, 573, 523, 524,
1736 619, 620, 559, 563, 329, 733, 737, 0, 464, 0,
1737 0, 0, 0, 0, 767, 0, 189, 0, 191, 0,
1738 408, 0, 367, 0, 0, 0, 0, 0, 0, 0,
1739 181, 0, 0, 71, 64, 0, 741, 0, 0, 80,
1740 75, 76, 0, 901, 95, 90, 91, 825, 0, 0,
1741 0, 0, 919, 911, 0, 411, 0, 410, 916, 913,
1742 353, 354, 350, 0, 322, 0, 0, 358, 235, 0,
1743 239, 426, 270, 267, 268, 271, 272, 269, 261, 266,
1744 264, 263, 262, 265, 299, 298, 297, 296, 295, 294,
1745 288, 290, 287, 289, 292, 291, 283, 286, 285, 282,
1746 281, 293, 284, 260, 279, 0, 0, 0, 0, 0,
1747 302, 307, 313, 427, 418, 0, 348, 417, 415, 413,
1748 357, 346, 0, 246, 817, 815, 0, 0, 819, 209,
1749 889, 890, 894, 0, 894, 446, 0, 0, 0, 19,
1750 49, 43, 0, 456, 0, 475, 474, 476, 0, 829,
1751 323, 0, 623, 664, 0, 569, 571, 561, 565, 703,
1752 596, 0, 0, 0, 735, 432, 0, 468, 323, 0,
1753 329, 0, 0, 0, 773, 0, 759, 769, 757, 0,
1754 761, 762, 187, 194, 193, 0, 0, 185, 0, 195,
1755 180, 437, 0, 365, 0, 0, 0, 0, 0, 0,
1756 369, 370, 372, 373, 374, 375, 376, 377, 371, 378,
1757 379, 366, 441, 0, 0, 786, 787, 0, 189, 198,
1758 641, 163, 156, 207, 157, 206, 160, 158, 159, 162,
1759 161, 0, 746, 0, 745, 175, 65, 250, 244, 0,
1760 243, 232, 0, 242, 249, 317, 96, 543, 0, 831,
1761 835, 0, 833, 823, 0, 0, 920, 335, 409, 904,
1762 355, 349, 280, 345, 356, 0, 360, 240, 300, 301,
1763 315, 314, 304, 305, 306, 0, 0, 310, 311, 312,
1764 309, 0, 0, 362, 0, 812, 0, 895, 224, 0,
1765 0, 886, 894, 208, 224, 211, 222, 38, 0, 829,
1766 473, 0, 0, 470, 54, 626, 0, 0, 0, 662,
1767 0, 597, 0, 592, 633, 540, 0, 549, 547, 548,
1768 626, 550, 0, 566, 572, 0, 0, 618, 558, 562,
1769 613, 0, 0, 0, 0, 0, 469, 0, 461, 0,
1770 0, 770, 772, 771, 0, 767, 0, 0, 0, 192,
1771 190, 0, 186, 0, 829, 449, 450, 435, 438, 407,
1772 405, 0, 0, 0, 0, 401, 0, 0, 0, 381,
1773 14, 13, 0, 0, 0, 0, 480, 483, 482, 491,
1774 479, 493, 488, 484, 481, 487, 489, 486, 485, 494,
1775 490, 492, 495, 497, 496, 782, 784, 0, 0, 441,
1776 0, 200, 201, 199, 0, 0, 640, 740, 0, 0,
1777 748, 742, 743, 749, 66, 251, 0, 0, 323, 830,
1778 0, 0, 836, 824, 918, 344, 362, 361, 303, 428,
1779 308, 316, 347, 356, 814, 0, 210, 0, 0, 0,
1780 212, 229, 226, 228, 230, 227, 0, 223, 452, 0,
1781 0, 477, 0, 0, 622, 627, 665, 0, 0, 589,
1782 0, 579, 584, 0, 575, 580, 593, 595, 0, 591,
1783 0, 629, 541, 538, 0, 0, 568, 570, 560, 564,
1784 0, 0, 545, 0, 0, 0, 508, 0, 0, 498,
1785 738, 0, 0, 433, 431, 0, 462, 0, 0, 458,
1786 760, 766, 0, 768, 188, 184, 828, 0, 0, 0,
1787 323, 393, 423, 420, 424, 0, 323, 0, 0, 0,
1788 0, 0, 0, 800, 802, 801, 796, 797, 803, 0,
1789 387, 0, 442, 439, 0, 783, 781, 0, 0, 776,
1790 0, 774, 775, 0, 0, 204, 203, 202, 197, 198,
1791 0, 681, 0, 700, 0, 705, 725, 0, 0, 642,
1792 643, 659, 644, 646, 647, 648, 649, 693, 650, 651,
1793 652, 653, 655, 656, 0, 0, 657, 329, 712, 847,
1794 848, 711, 858, 859, 714, 716, 0, 753, 329, 231,
1795 0, 233, 241, 323, 837, 224, 0, 891, 899, 0,
1796 219, 451, 478, 471, 472, 624, 628, 663, 661, 596,
1797 0, 587, 583, 574, 0, 578, 0, 0, 637, 0,
1798 630, 0, 0, 534, 0, 0, 0, 0, 0, 544,
1799 0, 0, 0, 0, 603, 0, 0, 329, 0, 612,
1800 0, 736, 734, 463, 0, 0, 758, 826, 0, 436,
1801 434, 0, 0, 0, 397, 0, 0, 402, 403, 798,
1802 794, 0, 0, 811, 807, 808, 793, 380, 0, 382,
1803 0, 390, 780, 779, 785, 0, 0, 440, 182, 0,
1804 0, 667, 0, 679, 682, 0, 698, 701, 702, 706,
1805 0, 0, 723, 0, 0, 0, 0, 0, 694, 509,
1806 510, 0, 666, 0, 645, 654, 658, 715, 0, 713,
1807 717, 739, 0, 751, 767, 234, 210, 898, 0, 887,
1808 900, 891, 220, 221, 217, 600, 585, 0, 586, 576,
1809 0, 581, 594, 634, 636, 635, 641, 171, 164, 632,
1810 165, 168, 166, 167, 631, 170, 169, 0, 0, 531,
1811 0, 0, 844, 0, 0, 0, 0, 0, 0, 0,
1812 0, 717, 605, 134, 0, 515, 603, 0, 614, 616,
1813 0, 0, 0, 457, 460, 827, 396, 0, 0, 394,
1814 419, 0, 421, 404, 398, 799, 0, 805, 804, 383,
1815 0, 388, 389, 0, 778, 777, 196, 0, 0, 0,
1816 0, 0, 0, 0, 704, 726, 0, 721, 666, 0,
1817 870, 867, 872, 0, 867, 0, 580, 0, 718, 662,
1818 513, 641, 0, 0, 0, 0, 0, 752, 0, 0,
1819 0, 893, 892, 888, 0, 216, 0, 0, 588, 0,
1820 582, 0, 638, 0, 540, 0, 0, 528, 0, 0,
1821 0, 0, 843, 0, 556, 0, 546, 556, 0, 0,
1822 323, 511, 604, 135, 0, 515, 504, 603, 615, 610,
1823 617, 0, 0, 323, 395, 422, 400, 399, 809, 386,
1824 384, 16, 668, 0, 680, 678, 0, 687, 699, 697,
1825 724, 0, 0, 0, 853, 868, 869, 0, 0, 0,
1826 707, 0, 0, 580, 0, 0, 0, 719, 0, 874,
1827 0, 0, 756, 0, 754, 897, 218, 598, 0, 601,
1828 577, 639, 623, 539, 536, 0, 0, 0, 603, 0,
1829 0, 845, 0, 0, 0, 0, 553, 0, 554, 512,
1830 608, 606, 501, 504, 609, 392, 0, 810, 385, 0,
1831 0, 17, 669, 0, 670, 0, 674, 0, 685, 722,
1832 720, 589, 590, 0, 0, 0, 871, 710, 0, 708,
1833 0, 660, 0, 0, 877, 0, 873, 755, 0, 0,
1834 0, 0, 535, 0, 515, 530, 529, 0, 842, 603,
1835 0, 846, 0, 0, 551, 555, 0, 0, 499, 505,
1836 501, 391, 15, 673, 0, 0, 0, 641, 0, 0,
1837 688, 861, 0, 0, 709, 0, 851, 0, 0, 691,
1838 674, 0, 0, 750, 599, 621, 0, 0, 532, 0,
1839 840, 841, 839, 0, 557, 603, 0, 0, 0, 0,
1840 500, 641, 0, 675, 676, 684, 686, 0, 0, 867,
1841 0, 862, 0, 878, 880, 0, 855, 849, 852, 0,
1842 0, 692, 0, 875, 0, 602, 0, 0, 0, 838,
1843 502, 603, 603, 0, 677, 668, 641, 0, 0, 0,
1844 860, 864, 0, 857, 0, 0, 850, 690, 0, 876,
1845 537, 0, 526, 503, 506, 603, 0, 689, 683, 866,
1846 0, 0, 856, 854, 668, 533, 0, 527, 507, 671,
1847 0, 0, 881, 0, 525, 0, 865, 879, 672, 863
1850 /* YYDEFGOTO[NTERM-NUM]. */
1851 static const yytype_int16 yydefgoto[] =
1853 -1, 1, 2, 3, 873, 224, 839, 1419, 1420, 225,
1854 280, 4, 5, 15, 16, 401, 116, 42, 19, 20,
1855 406, 431, 261, 432, 95, 260, 55, 93, 21, 22,
1856 263, 57, 117, 23, 884, 24, 298, 59, 150, 118,
1857 26, 308, 62, 160, 63, 119, 28, 315, 66, 179,
1858 120, 121, 435, 1233, 1234, 162, 182, 693, 1209, 151,
1859 123, 124, 125, 488, 688, 486, 653, 654, 818, 655,
1860 656, 660, 126, 874, 502, 695, 259, 607, 765, 421,
1861 1305, 1194, 916, 422, 917, 513, 886, 1061, 86, 346,
1862 540, 711, 226, 712, 713, 932, 387, 228, 229, 579,
1863 745, 580, 751, 581, 230, 231, 44, 249, 233, 207,
1864 47, 87, 48, 234, 235, 236, 237, 532, 731, 342,
1865 343, 537, 736, 344, 127, 495, 670, 671, 999, 1139,
1866 672, 1350, 1140, 1261, 1000, 1262, 673, 1122, 1249, 981,
1867 674, 1346, 675, 988, 1127, 835, 676, 677, 128, 982,
1868 728, 527, 588, 392, 832, 1123, 1252, 983, 345, 984,
1869 349, 129, 805, 130, 979, 827, 131, 844, 423, 828,
1870 132, 265, 447, 133, 810, 967, 134, 276, 478, 637,
1871 135, 136, 618, 619, 770, 921, 865, 958, 959, 1468,
1872 1412, 1469, 955, 1168, 956, 1170, 269, 270, 458, 459,
1873 460, 1576, 1396, 1456, 1317, 1498, 1219, 1452, 1093, 943,
1874 321, 953, 1099, 792, 461, 950, 951, 1405, 462, 463,
1875 464, 465, 933, 934, 1085, 1201, 935, 1082, 1198, 466,
1876 782, 939, 783, 467, 1306, 1307, 1389, 1335, 1336, 468,
1877 795, 1109, 796, 1240, 1110, 469, 470, 631, 776, 471,
1878 1075, 1091, 1214, 941, 1089, 1204, 1312, 875, 876, 1029,
1879 1030, 1031, 472, 928, 779, 1152, 1423, 1033, 1475, 1513,
1880 1514, 1034, 1270, 1153, 1035, 1479, 1428, 1480, 1036, 1530,
1881 1171, 1037, 1038, 1273, 1156, 1039, 473, 1041, 1160, 1042,
1882 1043, 1044, 1045, 1046, 1362, 1277, 1162, 91, 476, 137,
1883 803, 634, 153, 703, 881, 506, 704, 303, 882, 883,
1884 1298, 1183, 138, 483, 281, 282, 646, 650, 484, 647,
1885 1009, 1010, 139, 140, 866, 1006, 867, 684, 49, 241,
1886 50, 242, 243, 679, 838, 996, 1130, 997, 680, 991,
1887 1134, 1257, 1135, 403, 29, 251, 399, 404, 405, 141,
1888 142, 520, 721, 722, 892, 800, 1222, 1223, 1323, 1048,
1889 1049, 1487, 1050, 1051, 1052, 1520, 1550, 1551, 1053, 1367,
1890 1287, 1054, 1380, 1055, 1523, 1524, 1434, 424, 425, 426,
1891 602, 1189, 759, 905, 427, 176, 657, 156, 51, 78,
1892 198, 199, 200, 201, 324, 325, 202, 143
1895 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1897 #define YYPACT_NINF -1403
1898 static const yytype_int16 yypact[] =
1900 -1403, 173, -1403, 185, -1403, 676, -1403, -1403, 402, 402,
1901 402, 402, 648, 303, 402, -1403, -1403, -1403, -1403, -1403,
1902 2417, -1403, 1192, -1403, 417, -1403, 2456, -1403, 2489, -1403,
1903 -1403, -1403, 323, 438, 487, 289, -1403, 402, 402, 530,
1904 -1403, 369, 499, 360, 204, 204, 601, -1403, 435, -1403,
1905 -1403, -1403, 550, 586, 82, 569, 606, 1545, 634, 492,
1906 647, -1403, 2594, -1403, 81, 692, 2666, 402, 402, -1403,
1907 402, -1403, 664, 685, 691, -1403, -1403, -1403, 747, 303,
1908 -1403, 829, -1403, 1313, -1403, 341, -1403, 365, 2084, 718,
1909 708, 623, 630, 673, -1403, -1403, 723, 681, 402, -1403,
1910 402, 402, 546, 402, 335, 681, 402, 402, 744, 841,
1911 402, -1403, -1403, 402, 758, -1403, -1403, -1403, -1403, -1403,
1912 -1403, -1403, -1403, 838, -1403, 161, -1403, -1403, -1403, -1403,
1913 -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403,
1914 -1403, -1403, -1403, -1403, 617, 402, 211, 188, 402, -1403,
1915 -1403, -1403, -1403, 867, -1403, 442, 673, 442, 848, -1403,
1916 -1403, -1403, -1403, 707, -1403, -1403, -1403, -1403, -1403, -1403,
1917 -1403, -1403, -1403, -1403, 857, -1403, 779, 540, 540, -1403,
1918 -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403, 893,
1919 902, -1403, 877, -1403, 402, 402, 402, 792, 812, -1403,
1920 -1403, 77, -1403, 678, -1403, -1403, -1403, -1403, -1403, -1403,
1921 -1403, 852, -1403, -1403, 303, -1403, 859, -1403, 374, 374,
1922 374, 374, 374, 2013, -1403, -1403, -1403, 107, 628, 2186,
1923 840, 360, 381, -1403, -1403, 615, -1403, -1403, 844, -1403,
1924 861, -1403, 402, -1403, -1403, -1403, -1403, -1403, 878, 645,
1925 918, 507, 402, 402, 402, -1403, -1403, -1403, 1341, 876,
1926 673, 2633, 402, 888, -1403, 842, -1403, -1403, 71, 959,
1927 837, 988, 803, -1403, -1403, 360, 891, 824, -1403, -1403,
1928 895, 93, 897, -1403, 1004, -1403, 832, 904, 1019, 912,
1929 90, 839, 142, 402, 681, 2522, -1403, 402, 914, -1403,
1930 1016, 1047, 360, -1403, 402, 927, 617, 402, 929, -1403,
1931 -1403, 932, 936, -1403, 1066, 935, -1403, 937, -1403, -1403,
1932 939, 563, -1403, 214, 941, 402, 942, -1403, 303, 943,
1933 214, 402, -1403, 168, -1403, -1403, -1403, 947, -1403, -1403,
1934 -1403, 298, 944, 948, -1403, -1403, 663, -1403, -1403, 2084,
1935 2084, 2084, 2084, 2084, 2084, 2084, 2084, 2084, 2084, 2084,
1936 2084, 2084, -1403, -1403, -1403, -1403, -1403, -1403, 2084, 2084,
1937 2084, 2084, 2084, 2084, 2084, 2084, 2084, 2084, 2084, 2084,
1938 2084, 2084, 2084, 2084, 2084, 2084, 2084, 2084, 374, 2121,
1939 955, 392, -1403, -1403, 2013, 2084, -1403, -1403, 402, 952,
1940 303, -1403, -1403, -1403, 616, -1403, -1403, -1403, -1403, -1403,
1941 940, -1403, -1403, 681, 402, 402, -1403, -1403, -1403, 1029,
1942 1060, -1403, 402, -1403, -1403, -1403, -1403, -1403, -1403, 958,
1943 -1403, 586, -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403,
1944 -1403, -1403, -1403, -1403, -1403, -1403, 303, 1067, 736, 303,
1945 723, 1082, 2084, 2084, 334, 2013, 610, -1403, -1403, -1403,
1946 -1403, -1403, -1403, -1403, -1403, -1403, 989, -1403, -1403, -1403,
1947 -1403, -1403, -1403, -1403, 969, -1403, 1085, 303, 974, 303,
1948 303, 1077, 463, 973, 1068, 2084, 468, 1084, 284, 303,
1949 -1403, 303, -1403, 975, 394, 979, 303, 987, 681, 845,
1950 -1403, 1096, 2699, -1403, -1403, 1102, 1062, 732, 990, -1403,
1951 -1403, -1403, 1439, -1403, 402, -1403, -1403, -1403, 402, 100,
1952 86, 2084, -1403, 214, 985, 207, 1024, -1403, -1403, 214,
1953 643, 670, -1403, 374, -1403, 2013, 2084, 991, -1403, 2013,
1954 -1403, -1403, 2161, 2161, 2161, 2161, 2161, 2161, 2161, 2161,
1955 2161, 2161, 2161, 2161, 2771, 2771, 2771, 2771, 2771, 2771,
1956 2771, 2771, 2771, 2771, 2771, 2771, 751, 751, 751, -1403,
1957 -1403, -1403, -1403, 2161, -1403, 539, 539, 374, 374, 498,
1958 -1403, 755, 1000, 557, -1403, 2013, -1403, 643, -1403, -1403,
1959 178, -1403, 997, -1403, -1403, -1403, 759, 918, -1403, -1403,
1960 -1403, -1403, 59, 1110, 59, -1403, 681, 661, 850, 709,
1961 -1403, -1403, 1002, -1403, 361, -1403, -1403, -1403, 1113, 996,
1962 677, 1007, 272, 1094, 1093, -1403, -1403, -1403, -1403, -1403,
1963 1124, 1103, 1914, 673, 1106, 1021, 303, -1403, 102, 1130,
1964 113, 936, 303, 303, -1403, 402, -1403, 1138, 1148, 1132,
1965 -1403, -1403, -1403, 470, -1403, 673, 1114, 1145, 849, -1403,
1966 -1403, 545, 1031, -1403, 303, 1038, 1133, 402, 931, 915,
1967 -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403, 1115, -1403,
1968 -1403, -1403, 1039, 2322, 1045, -1403, -1403, 303, 468, 155,
1969 -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403,
1970 -1403, 1042, -1403, 828, -1403, -1403, -1403, -1403, -1403, 2084,
1971 -1403, -1403, 1037, -1403, -1403, 774, -1403, -1403, 303, -1403,
1972 670, 1034, 58, -1403, 1044, 1049, -1403, 966, -1403, -1403,
1973 643, -1403, -1403, -1403, 1051, 2013, -1403, -1403, -1403, -1403,
1974 -1403, -1403, -1403, -1403, -1403, 539, 2121, -1403, -1403, -1403,
1975 -1403, 539, 374, 312, 2084, -1403, 1048, 1054, 1078, 1137,
1976 1156, -1403, 59, -1403, 1078, -1403, 761, -1403, 1055, 714,
1977 1057, 2084, 1059, -1403, -1403, -1403, 1064, 1149, 2084, 1143,
1978 148, -1403, 1976, 655, 1072, 1172, 1963, -1403, -1403, -1403,
1979 334, 424, 402, -1403, -1403, 1186, 1182, -1403, -1403, -1403,
1980 -1403, 1070, 673, 586, 2084, 1071, 360, 2084, 761, 2084,
1981 1076, -1403, 670, 360, 784, 1068, 1190, 936, 673, -1403,
1982 -1403, 303, -1403, 1080, 563, -1403, -1403, 1079, -1403, -1403,
1983 -1403, 2121, 1181, 303, 870, -1403, 1205, 2555, 722, -1403,
1984 -1403, -1403, 402, 2084, 1086, 1087, -1403, -1403, -1403, -1403,
1985 -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403,
1986 -1403, -1403, -1403, -1403, -1403, 1083, -1403, 810, 915, 1039,
1987 1173, 908, 402, -1403, 1089, 1213, 2156, -1403, 1210, 358,
1988 -1403, -1403, -1403, -1403, -1403, -1403, 855, 1936, 510, -1403,
1989 303, 303, -1403, -1403, -1403, -1403, 410, -1403, -1403, 836,
1990 -1403, -1403, -1403, -1403, -1403, 1105, -1403, 303, 402, 1183,
1991 -1403, -1403, -1403, -1403, -1403, -1403, 303, -1403, -1403, 1097,
1992 681, -1403, 1104, 2335, -1403, 402, -1403, 2084, 1107, 360,
1993 1125, -1403, 129, 1108, 1176, -1403, -1403, -1403, 2084, -1403,
1994 508, 1212, -1403, 1117, 1225, 1229, -1403, -1403, -1403, -1403,
1995 1231, 1206, 554, 541, 402, 1233, -1403, 2084, 1242, -1403,
1996 -1403, 1121, 1122, -1403, -1403, 1123, -1403, 2084, 1234, -1403,
1997 -1403, -1403, 1131, -1403, -1403, 670, -1403, 98, 2084, 1134,
1998 413, -1403, -1403, -1403, -1403, 303, 699, 303, 583, 1174,
1999 1254, 2732, 1174, -1403, -1403, -1403, -1403, -1403, -1403, 884,
2000 -1403, 1136, -1403, -1403, 1141, -1403, -1403, 1140, 2335, -1403,
2001 887, -1403, -1403, 1142, 303, -1403, -1403, -1403, -1403, 155,
2002 766, 402, 2084, 402, 1144, 2084, 1236, 2084, 48, -1403,
2003 -1403, -1403, -1403, -1403, -1403, -1403, -1403, 400, -1403, -1403,
2004 -1403, -1403, -1403, -1403, 543, 40, -1403, 1146, -1403, -1403,
2005 -1403, -1403, -1403, -1403, -1403, -1403, 1147, 122, 874, -1403,
2006 1439, -1403, -1403, 649, 670, 1078, 731, 182, 146, 303,
2007 957, -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403, 1124,
2008 2084, 1276, -1403, -1403, 2084, 1152, 1188, 1150, 360, 1157,
2009 -1403, 2765, 2084, 1258, 1305, 1226, 1261, 1262, 402, -1403,
2010 1263, 1264, 402, 108, 1717, 1279, 2084, 1170, 106, -1403,
2011 1292, -1403, -1403, -1403, 1171, 2084, -1403, -1403, 1175, -1403,
2012 -1403, 590, 889, 906, -1403, 1177, 1260, -1403, -1403, 402,
2013 -1403, 1217, 1217, -1403, -1403, -1403, -1403, -1403, 915, -1403,
2014 595, -1403, -1403, -1403, -1403, 1178, 915, -1403, 670, 1179,
2015 1298, -1403, 2084, 1251, -1403, 1265, 1252, -1403, -1403, -1403,
2016 1184, 303, 1257, 1270, 1903, 2084, 2084, 2084, -1403, -1403,
2017 -1403, 1293, 1194, 456, -1403, -1403, -1403, -1403, 2084, -1403,
2018 712, -1403, 500, 1309, 1068, -1403, -1403, -1403, 87, -1403,
2019 -1403, 182, -1403, -1403, 1195, -1403, -1403, 2084, -1403, 1319,
2020 2084, -1403, -1403, -1403, 1207, -1403, -1403, -1403, -1403, -1403,
2021 -1403, -1403, -1403, -1403, -1403, -1403, -1403, 1211, 673, 1295,
2022 1328, 2013, -1403, 314, 936, 936, 1215, 936, 936, 1320,
2023 2121, -1403, -1403, -1403, 1795, -1403, 1717, 1325, 402, -1403,
2024 1219, 1221, 1331, -1403, -1403, -1403, -1403, 1311, 303, -1403,
2025 -1403, 2121, -1403, -1403, 402, -1403, 1350, -1403, -1403, -1403,
2026 1299, -1403, -1403, 1245, -1403, -1403, -1403, 1357, 1339, 2084,
2027 1232, 1634, 2084, 1237, -1403, -1403, 2084, 1354, 1194, 1238,
2028 -1403, 564, -1403, 2084, 564, 1239, 1312, 1976, -1403, 1143,
2029 -1403, -1403, 2084, 2084, 111, 402, 1243, -1403, 1366, 1249,
2030 734, -1403, -1403, -1403, 2084, -1403, 1253, 1976, -1403, 1976,
2031 -1403, 303, -1403, 1367, 1172, 1255, 673, -1403, 1368, 1250,
2032 2013, 121, -1403, 1376, 1348, 1266, -1403, 1348, 1269, 2121,
2033 350, -1403, -1403, -1403, 1242, -1403, -1403, 1717, -1403, -1403,
2034 -1403, 1271, 303, 474, -1403, -1403, -1403, -1403, 402, 402,
2035 -1403, 1406, 69, 1332, -1403, -1403, 1384, -1403, -1403, -1403,
2036 -1403, 2084, 1272, 148, -1403, -1403, -1403, 2084, 1324, 1273,
2037 -1403, 2084, 1281, 1355, 1283, 1401, 1396, -1403, 2084, -1403,
2038 117, 788, -1403, 1405, -1403, -1403, -1403, -1403, 1369, -1403,
2039 -1403, 360, 272, -1403, 1410, 1300, 1816, 1331, 1717, 1301,
2040 1331, -1403, 1303, 1415, 1414, 1310, -1403, 1314, -1403, -1403,
2041 -1403, -1403, 1030, -1403, -1403, -1403, 1315, -1403, -1403, 1316,
2042 402, -1403, -1403, 1318, -1403, 2013, -1403, 1424, 1043, -1403,
2043 -1403, 719, 1317, 1323, 1321, 264, -1403, -1403, 124, -1403,
2044 2084, -1403, 1418, 1332, 1391, 2084, -1403, -1403, 1322, 2013,
2045 1326, 1426, -1403, 1416, -1403, -1403, -1403, 1327, -1403, 1717,
2046 1330, -1403, 1331, 936, -1403, -1403, 172, 2084, -1403, -1403,
2047 1030, -1403, -1403, -1403, 1333, 344, 1335, -1403, 2084, 1435,
2048 -1403, 675, 2084, 2084, -1403, 2084, -1403, 1338, 128, 402,
2049 -1403, 2084, 1394, -1403, 1334, -1403, 936, 1430, -1403, 1454,
2050 -1403, -1403, -1403, 1343, -1403, 1717, 1449, 1170, 1457, 2084,
2051 -1403, -1403, 1475, -1403, -1403, -1403, -1403, 1427, 1462, 564,
2052 2084, -1403, 1421, -1403, -1403, 130, 1423, -1403, -1403, 1353,
2053 1356, -1403, 506, -1403, 2084, -1403, 1358, 936, 1488, -1403,
2054 -1403, 1717, 1717, 1471, -1403, 69, -1403, 1359, 2084, 1433,
2055 -1403, -1403, 2013, -1403, 136, 2084, -1403, -1403, 1493, -1403,
2056 -1403, 1364, 402, -1403, -1403, 1717, 1370, -1403, -1403, -1403,
2057 2013, 815, -1403, -1403, 69, -1403, 1371, -1403, -1403, -1403,
2058 816, 2084, -1403, 1373, -1403, 2084, -1403, -1403, -1403, -1403
2061 /* YYPGOTO[NTERM-NUM]. */
2062 static const yytype_int16 yypgoto[] =
2064 -1403, -1403, -1403, -1403, -66, -1403, 382, -1403, -1403, -1403,
2065 7, 1518, -1403, -1403, -1403, 1521, 50, 1127, -1403, -1403,
2066 822, -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403,
2067 1088, -1403, -1403, -1403, -1403, -1403, 1222, -1403, -1403, 115,
2068 -1403, 1372, -1403, -1403, -1403, 1525, -1403, 1365, -1403, -1403,
2069 -57, -52, -1403, -50, -1403, -1403, -1403, 542, -1403, -1403,
2070 -224, 694, -24, -1403, -1403, -1403, -1403, 881, -1403, -1403,
2071 -417, -1403, -34, 517, -1403, -1403, -148, -839, -1403, -692,
2072 -1403, -1403, -1403, -1403, 739, -616, -1403, -1403, -39, -1403,
2073 -1403, 482, 1009, -1403, 662, 220, -1403, -1403, 2505, 804,
2074 -1403, -489, -1403, 800, -178, 903, -1403, 189, 52, -1403,
2075 -1403, 1509, -353, -257, -1403, 1342, -1403, -1403, -1403, -278,
2076 -382, -1403, -1403, -36, -1403, -1403, -1403, -1403, -1403, -1403,
2077 -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403, 309,
2078 -1403, -1403, -1403, -1403, -1403, 571, -1403, -1403, -1403, -199,
2079 -1403, -72, -1403, -269, -1403, -1403, -1403, -893, -27, -344,
2080 984, -1403, -1403, 16, -1403, -1403, -46, 695, -1403, -1403,
2081 -1403, -1403, -1403, -1403, -1403, -1403, 18, -1403, -1403, -1403,
2082 -31, -40, -1403, -1403, -1403, -1403, 642, -1403, -1403, 99,
2083 159, -1403, -1403, -1403, 536, -1403, -407, -1403, -1403, -1403,
2084 -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403, 262,
2085 -147, -1403, -1403, -1403, -1403, -1403, -1403, 250, -1403, -1403,
2086 -1403, -380, 275, -1023, -1403, -1403, -1096, -1403, -1403, -732,
2087 509, -1403, -1403, -379, -1403, -1403, -1403, 481, -1222, -1403,
2088 -1403, 255, -1403, -1157, -1403, -1403, 960, -1403, 202, -595,
2089 -1403, -1403, -1403, -1403, 434, -1403, -1403, -1145, -1403, -1403,
2090 -1403, -1403, -397, 307, -1403, -1012, -1402, -1403, 109, -1403,
2091 -1188, -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403, -1403,
2092 -1403, -1403, -1403, -1403, -1403, -1403, -401, -1403, -1403, 553,
2093 -1403, -903, -1403, 556, -1403, -1403, -1403, -373, -1403, 1539,
2094 -1403, -1403, -653, -1403, -1403, -1403, -1403, -1403, -1403, -1403,
2095 -1403, -1403, -1403, -1403, 724, -1403, 420, -752, -583, -1403,
2096 459, -1403, -38, -29, 599, -1403, -1403, -1403, -8, -1403,
2097 22, 257, -64, -1403, -1403, -1403, 618, -1403, -1403, -1403,
2098 -1403, 477, -1403, -1403, -1403, -1403, 1014, -1403, 1208, 322,
2099 -16, -549, -1403, -1403, -1403, -1403, 390, -1403, -1403, -1403,
2100 -1403, 131, -1403, -1403, -1403, -1403, 32, -1403, -1403, -1215,
2101 137, -1403, 97, 581, -1385, -1403, -1403, -1403, -1403, -1403,
2102 1020, 436, -523, -1403, -1403, -468, 1602, -1403, -1403, -1403,
2103 -1403, -1403, -1403, -1403, 547, 1428, -1403, -1403
2106 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
2107 positive, shift that token. If negative, reduce the rule which
2108 number is the opposite. If zero, do what YYDEFACT says.
2109 If YYTABLE_NINF, syntax error. */
2110 #define YYTABLE_NINF -918
2111 static const yytype_int16 yytable[] =
2113 32, 33, 34, 36, 39, 84, 52, 122, 310, 180,
2114 161, 239, 592, 457, 181, 206, 165, 210, 35, 152,
2115 184, 154, 168, 611, 170, 811, 186, 777, 187, 72,
2116 73, 167, 183, 171, 420, 185, 583, 188, 163, 283,
2117 336, 337, 338, 339, 340, 584, 173, 238, 930, 326,
2118 880, 1102, 724, 628, 1106, 18, 240, 627, 612, 189,
2119 190, 1313, 191, 971, 815, 46, 906, 1066, 1286, 1369,
2120 772, 659, 910, 208, 625, 626, 31, 245, 164, 247,
2121 166, 761, 255, 92, 31, 1341, 738, 739, 264, 266,
2122 268, 493, 271, 36, 31, 36, 36, 284, 285, 36,
2123 288, 290, 36, 209, 1310, 292, 40, 31, 272, 149,
2124 277, 807, 429, 31, 286, 1413, 591, 291, 174, 267,
2125 25, 1178, 589, 174, 448, 890, 1357, 209, 31, 526,
2126 481, 203, 494, 586, 347, 174, 299, 300, 1080, 1378,
2127 305, 1285, 1238, 1566, 1028, 1445, 1375, 309, 1230, 309,
2128 39, 239, 1485, 592, 40, 31, 1485, 1400, 1378, 481,
2129 1292, 40, 31, 1569, 1445, 1426, 757, 718, 809, 316,
2130 316, 482, 1583, 6, 40, 31, 1458, 159, 1164, 31,
2131 348, 1081, -769, 174, 497, -3, 322, 323, 322, 822,
2132 871, 1373, 1179, 330, 40, 31, 1587, 457, 1165, 46,
2133 1182, 973, 45, 295, 433, 347, 758, 891, 1505, 434,
2134 574, 582, 301, 40, 31, 438, 872, 40, 31, 41,
2135 919, 441, 449, 442, 1188, 678, 1422, 436, 500, -51,
2136 440, 799, 443, 175, 396, 798, 329, 1501, 723, 909,
2137 1457, 1301, -368, 1460, 407, 407, 407, 613, 82, 83,
2138 1117, 348, 793, 794, 444, 1490, 898, 733, 1239, 1231,
2139 -362, 719, 474, 1379, 1372, -459, 1363, 41, 45, 1446,
2140 389, 870, 232, 1401, -769, 977, 1486, 437, 635, 439,
2141 1528, 639, 1553, 1540, 1388, 36, 208, 41, 1572, 503,
2142 661, 45, 662, 498, 530, 455, 36, 682, 299, 509,
2143 499, 402, 518, 227, 1548, 1503, 304, 41, 248, 40,
2144 31, 507, 1173, 296, 390, 83, 209, 523, 1320, 1563,
2145 1564, 61, 239, 529, -323, 347, 41, 30, 82, 83,
2146 41, -362, 1516, -362, -625, 45, 45, 1331, -323, 347,
2147 40, 31, 31, 1578, 1321, 1483, 278, 1300, 31, 452,
2148 82, 83, 587, 82, 83, 732, 40, 31, 1345, 301,
2149 775, 521, 768, -323, 40, 31, 1544, 40, 31, 278,
2150 -917, 348, 31, 1186, 1512, 457, 67, 212, 204, 213,
2151 40, 31, 617, 239, 172, 348, -411, 40, 31, 949,
2152 594, 652, 279, 948, 75, 1221, -411, 582, 582, 740,
2153 741, 1567, 664, 333, 244, 600, 603, 604, 665, 31,
2154 946, 947, 232, 389, 609, 279, 1484, 453, 58, 40,
2155 31, 391, 41, 214, 1549, 1425, 215, 666, 246, 608,
2156 962, -189, 1299, -72, 954, 601, 1409, 347, 70, 76,
2157 208, 71, 264, 341, 389, 691, 534, -357, 77, 31,
2158 692, -72, 46, 41, 402, 389, 696, 389, 667, 45,
2159 902, -357, 698, 239, 699, 830, 1166, 239, 694, 41,
2160 209, 697, 640, 700, 1184, 1040, 1121, 41, 583, 1032,
2161 41, 455, 1167, 348, -552, 801, 727, 642, 869, 1549,
2162 685, 68, 730, 41, 643, -72, 390, 83, -411, -411,
2163 41, 307, 668, 238, -72, 61, 716, 820, 145, 1118,
2164 717, 824, 240, 239, 40, 31, 81, 525, 644, 1087,
2165 686, 223, 531, 457, 642, 347, 146, 390, 83, 69,
2166 1297, 643, 41, 457, 420, -191, 1558, 1416, 82, 83,
2167 420, 669, 212, 204, 213, 40, 31, 31, -323, 40,
2168 31, 11, 40, 31, -589, 644, 702, 273, 452, 390,
2169 83, -411, -411, 1506, 1509, 1172, 825, 582, 582, 541,
2170 147, 348, 74, 582, 901, 652, 629, 652, 1100, 148,
2171 81, 645, 88, 232, -327, 13, 1164, 1425, 214, 45,
2172 31, 215, 89, 212, 204, 213, 40, 31, 600, 314,
2173 1190, 1101, 31, 274, 1365, 841, 1293, 400, 1324, 1325,
2174 826, 1327, 1328, 1126, 590, 593, 90, -189, 1295, 457,
2175 82, 83, 1366, 1026, 31, 1260, 1027, 41, 601, 94,
2176 -327, 1433, 742, 743, 744, 525, 96, 36, 620, 214,
2177 350, 297, 215, 45, 232, 952, 597, 1174, 79, 37,
2178 322, 80, 814, 582, 961, 31, 82, 83, 41, 36,
2179 11, 840, 41, 239, 144, 41, 525, 38, 638, 525,
2180 974, -832, 623, 624, 834, 590, 351, 155, 525, 352,
2181 525, 208, 577, 578, 353, 525, 223, 40, 31, 8,
2182 455, -327, -327, -327, 13, -327, -327, -327, -327, 897,
2183 9, 1098, -327, -327, 88, 651, 192, 10, 720, 41,
2184 518, 209, 354, -327, 391, 31, 400, 1070, 355, 518,
2185 11, 252, 177, 519, 232, 575, 576, 193, 232, 936,
2186 31, 253, 714, 577, 578, 12, 262, 223, 145, 254,
2187 194, 725, 40, 31, 1246, 287, -696, 615, 250, 1280,
2188 -35, 31, 992, -35, 13, 590, 734, 105, -696, 227,
2189 937, 1068, 629, 393, 394, 938, 81, 1150, 583, -666,
2190 -666, -666, -666, -666, 232, 256, 14, 584, -696, 1519,
2191 1282, 911, 257, 106, 322, 1283, 1124, 457, 1125, -335,
2192 -335, 390, 83, 616, -696, 82, 83, 777, 995, -335,
2193 13, 912, 913, 45, 1012, 753, 914, 111, 112, 763,
2194 -834, 538, 539, 764, 163, -666, 82, 83, -666, 915,
2195 258, 45, 998, 82, 83, 45, -323, -36, 1334, 773,
2196 -36, 812, 45, 204, 1001, 40, 31, 293, 451, 1319,
2197 205, 420, 289, 40, 31, 82, 83, 1504, 31, 37,
2198 823, -406, 452, 525, 1072, 31, 31, -215, 878, 296,
2199 1011, -215, 879, 1016, 1017, -514, -514, -514, 1047, -882,
2200 81, 1058, 524, 294, 519, 81, 525, 583, 524, 1187,
2201 1536, 70, 1385, 764, 705, -666, 764, -666, 993, 383,
2202 384, 385, 386, 747, 748, 749, 750, 306, 583, -625,
2203 322, -666, -666, 195, 312, 196, 197, 888, 79, -666,
2204 -666, 755, 208, -666, 1015, 31, 43, 1076, -514, 204,
2205 453, 1561, 31, 1151, 232, 454, 320, -248, 1411, 885,
2206 81, 313, 836, 70, 691, 318, 970, 70, 1399, 692,
2207 1447, 727, 209, 582, 319, 696, 1103, -795, 327, 1107,
2208 837, 698, 70, 699, 477, 896, 41, 694, 1007, 1008,
2209 697, -795, 700, 328, 1581, 1585, -795, 1582, 1586, 45,
2210 742, 743, 744, 70, 903, 480, 583, 1192, 1193, 45,
2211 36, 70, 43, 489, 455, 388, -412, -412, 70, 450,
2212 496, 922, -795, 446, 70, 834, 687, 395, 926, 70,
2213 332, 766, -412, 1059, 1060, 275, 945, 335, -412, -795,
2214 975, 208, -412, 1154, -363, 1157, -795, -795, 398, 70,
2215 980, 987, 986, -19, 963, -19, 397, 965, 428, 968,
2216 475, -412, 1137, 1138, 1207, 1145, 1146, 1247, 1248, 1208,
2217 445, 209, 479, 1474, 70, 1211, 487, 1499, 485, 302,
2218 43, 1213, 582, 1215, 1250, 1251, 490, 1210, 1466, 1467,
2219 1212, 491, 1216, 1002, 492, 45, 504, 1494, 45, 448,
2220 1315, 1477, 1478, 582, 841, 408, 409, 505, 498, 1063,
2221 1064, 510, 1012, 512, 511, 514, -412, 515, 599, 516,
2222 1226, 517, 533, 535, 1229, 606, 1067, 522, 518, 528,
2223 1241, 536, 585, 411, 595, 525, 1432, 714, 605, 614,
2224 610, 412, 622, 413, -412, -412, -412, 43, -412, 630,
2225 632, 1255, 633, 636, 641, 648, 689, 663, 649, 45,
2226 840, 681, 1263, 658, 683, 43, 701, 414, 1011, 415,
2227 13, 726, 706, 1415, 729, 752, 735, 1077, 416, 239,
2228 754, 582, 760, 417, 767, 771, 519, 418, 1086, 774,
2229 778, 780, 781, 111, 112, 784, 802, 419, 1395, 391,
2230 1571, 804, 808, 456, 525, 481, 525, 1105, 816, 817,
2231 1302, 821, 174, 829, 1333, 831, 833, 1114, 1580, 843,
2232 887, 842, 868, 56, 877, 889, 893, 894, 1119, 895,
2233 904, -896, -61, 1148, 907, 908, 920, 918, -61, -61,
2234 923, 925, 927, 1107, 942, -61, 924, -61, -61, 940,
2235 954, 957, 960, 964, 972, -61, -61, -61, 969, 978,
2236 1338, 43, 976, 45, 985, 989, 43, 1005, 1003, 1004,
2237 1014, 1018, 1155, 1019, 1056, 1159, 1347, 1163, 239, 1071,
2238 1069, -61, 1065, -61, 1090, 1079, 1073, 1084, 1191, 1078,
2239 1083, 1094, -61, -61, 1092, 1095, 1097, -61, 1096, 1104,
2240 -61, -61, 1108, 1111, 1112, 1113, 1115, -61, -61, -61,
2241 714, -61, 1129, 1116, 1131, 1197, 1120, 36, 1141, 1142,
2242 1161, 727, 1143, 1202, 1147, 1218, 1158, 1180, 1203, 1181,
2243 1196, 1200, 1381, 43, 1199, 1205, 1220, 1221, 1224, 1225,
2244 1227, 1228, 1217, 1402, 211, 1236, 212, 204, 213, 40,
2245 31, 1231, 1242, 1243, 1254, 1256, 1237, 1245, 1267, 1253,
2246 1264, 1266, 1269, 1272, 1276, 1244, 1274, 1271, 1278, 1291,
2247 1417, 1418, 410, 146, 1424, 1304, 1455, 1309, -224, 43,
2248 45, 1151, 43, 239, -61, 1316, 1311, 456, 1318, 1314,
2249 1329, 1337, 214, 1326, 1342, 215, 411, 1238, 216, 1348,
2250 217, 1339, 1268, 1340, 412, 1349, 413, 239, 1351, 1352,
2251 43, 1353, 43, 43, 1355, 1288, 1289, 1290, 1361, 1359,
2252 1364, 1370, 43, 1371, 43, 1382, 1383, 1392, 1294, 43,
2253 414, 1384, 415, 1398, 1397, 1387, 1403, 1394, 1404, 212,
2254 232, 416, 1472, 1425, 1427, 715, 417, 1308, 1406, 1330,
2255 418, 1408, 43, 1414, 1430, 1437, 111, 112, 43, 1436,
2256 419, 1442, 41, 1439, 218, 1441, 1440, 1343, 1443, 1448,
2257 1330, 896, 212, 204, 213, 40, 31, 1451, 219, 220,
2258 1449, 1462, 1453, 1481, 1459, 1461, 221, 222, 1507, 1107,
2259 223, 1463, 1464, 1476, 1489, 1518, 1465, -883, 1471, 1246,
2260 1473, 1482, 1491, 1496, 1493, 1534, 1497, 1537, 1495, 1500,
2261 239, 1531, 1502, 1535, 1538, 1541, 1511, 1515, 214, 1354,
2262 1527, 215, 1358, 1542, 707, 1539, 1360, 1545, 239, 1546,
2263 45, 1547, 1552, 1368, 1555, 1556, 1562, 1565, 1557, 232,
2264 1560, 1568, 1376, 1377, 1570, 1574, 1575, 769, 1330, 391,
2265 1259, 7, 1579, 1584, 1386, 1588, 17, 596, 508, 311,
2266 27, 525, 994, 1133, 819, 791, 1149, 1424, 621, 806,
2267 896, 708, 1185, 317, 709, 43, 813, 966, 737, 1062,
2268 899, 900, 45, 85, 1577, 97, 334, 1344, 41, 1128,
2269 218, 98, 99, 746, 1013, 1074, 1424, 43, 100, 1510,
2270 101, 102, 1470, 1169, 219, 220, 1393, 1407, 103, 104,
2271 105, 1429, 221, 222, 1390, 1235, 223, 1435, 1195, 1410,
2272 43, 1438, 797, 710, 1450, 1275, 1374, 1175, 1444, 1532,
2273 1176, 169, 1296, 1057, 12, 1265, 106, 1144, 1421, 1258,
2274 1136, 756, 598, 1322, 232, 107, 108, 1589, 1521, 1529,
2275 109, 43, 1554, 13, 110, 1177, 762, 1303, 64, 331,
2276 111, 112, 113, 0, 114, 1356, 0, 0, 232, 0,
2277 -641, -641, 0, 0, 0, 896, 0, 0, 0, -641,
2278 0, 0, 0, 0, 0, 0, -641, 0, 0, 0,
2279 1488, 0, -641, -641, -641, 1492, -641, 0, -641, 896,
2280 0, 0, 0, -641, 0, 0, 0, 0, 0, 0,
2281 -641, 0, 0, 929, -641, 0, -641, 1508, 0, 0,
2282 0, 0, 0, 456, 0, 0, 0, 0, 1517, 0,
2283 -641, -641, 1522, 1525, 0, 1526, 0, 115, 0, 0,
2284 0, 1533, 0, 0, -641, 0, -641, -641, 0, 0,
2285 0, 0, 0, 0, 43, 0, 0, 97, 0, 1543,
2286 0, 0, 0, 98, 1232, 0, 43, 0, 0, 0,
2287 100, 232, 101, 102, 0, 0, 0, 0, 0, 0,
2288 103, 104, 105, -641, 1559, 0, 0, 0, 0, 232,
2289 0, 0, 0, 0, 0, 0, 0, 0, 1522, 0,
2290 0, 0, 896, 0, 0, 1573, 12, 0, 106, 456,
2291 0, -641, 302, 0, 0, 0, 0, 107, 108, 0,
2292 896, 0, 109, 43, 43, 13, 110, 0, 0, 0,
2293 0, 1522, 111, 112, 113, 97, 114, 0, 0, 0,
2294 43, 98, 1332, 0, 0, 0, 0, 0, 100, 43,
2295 101, 102, 0, 0, 0, 0, 97, 0, 103, 104,
2296 105, 0, 98, 1454, 0, 0, 0, 0, 0, 100,
2297 0, 101, 102, 1088, 0, 0, 0, 0, 0, 103,
2298 104, 105, 0, 0, 12, 0, 106, 0, 0, 0,
2299 0, 0, 0, 0, 0, 107, 108, 0, 0, 0,
2300 109, 0, 0, 13, 110, 12, 0, 106, 0, 115,
2301 111, 112, 113, 43, 114, 0, 107, 108, 43, 0,
2302 43, 109, 0, 0, 13, 110, 0, 0, 0, 0,
2303 0, 111, 112, 113, 1279, 114, 212, 204, 213, 40,
2304 31, 0, 0, 0, 0, 451, 0, 43, 0, 0,
2305 40, 31, 0, 0, 0, 0, 0, 0, 0, 452,
2306 0, 0, 785, 0, 0, 0, 786, 787, 788, 212,
2307 204, 213, 40, 31, 0, 789, 0, 929, -607, 0,
2308 0, 0, 214, -611, 0, 215, 0, 115, 0, 0,
2309 0, 0, 0, 715, 944, 0, 212, 204, 213, 40,
2310 31, 0, 43, 0, 0, 0, -625, 1280, 115, 212,
2311 204, 213, 40, 31, 0, 214, 0, 0, 215, 0,
2312 0, 707, 0, 0, 0, 0, 0, 453, 0, 0,
2313 931, 0, 790, 0, 0, 0, 0, 1281, 1282, 0,
2314 0, 0, 214, 1283, 1284, 215, 212, 204, 213, 40,
2315 31, 0, 41, 0, 218, 214, 0, 0, 215, 0,
2316 0, 0, 0, 41, 0, 0, 0, 0, 219, 220,
2317 0, 709, 0, 0, 0, 0, 221, 222, 0, 0,
2318 223, 0, 0, 0, 0, 41, 0, 218, 0, 0,
2319 0, 455, 214, 0, 1088, 215, 0, 0, 0, 0,
2320 217, 219, 220, 931, 0, 0, 0, 0, 0, 221,
2321 222, 0, 41, 223, 218, 0, 0, 212, 204, 213,
2322 40, 31, 0, 0, 0, 41, 0, 218, 219, 220,
2323 0, 0, 0, 0, 0, 0, 221, 222, 0, 0,
2324 223, 219, 220, 0, 0, 0, 0, 0, 0, 221,
2325 222, 0, 0, 223, 212, 204, 213, 40, 31, 0,
2326 0, 0, 41, 214, 218, 0, 215, 0, 0, 0,
2327 0, 0, 0, 0, 0, 0, 0, 0, 219, 220,
2328 0, 43, 0, 0, 0, 0, 221, 222, 0, 0,
2329 223, 0, 40, 31, 0, 0, 0, 0, 0, 0,
2330 214, 452, 0, 215, 0, 0, 0, 0, 1020, 0,
2331 0, 0, 0, 0, 0, 0, 0, 0, 1021, 0,
2332 -695, 0, 0, 0, 0, 1022, 0, 0, 356, 0,
2333 0, 0, -695, 41, 0, 218, 1023, 0, 1024, 0,
2334 0, 0, 0, 0, 1391, 0, 0, 0, 0, 219,
2335 220, 0, -695, 1025, 0, 0, 0, 221, 222, 0,
2336 0, 223, 0, 43, 357, 0, 1026, 358, -695, 1027,
2337 41, 0, 359, 0, 0, 43, 0, 0, 0, 0,
2338 0, 0, 0, 0, 0, 0, 575, 576, 0, 0,
2339 0, 0, 0, 0, 577, 578, 1431, 0, 223, 0,
2340 360, 0, 0, 0, 0, 41, 361, 362, 363, 364,
2341 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
2342 375, 376, 377, 378, 379, 380, 381, 382, 0, 383,
2343 384, 385, 386, 455, 0, 0, 0, 0, 368, 369,
2344 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
2345 380, 381, 382, 845, 383, 384, 385, 386, 0, 0,
2346 0, 0, 0, 0, 0, 846, 0, 0, 0, 0,
2347 0, 0, 0, 0, 0, 847, 848, 849, 846, 0,
2348 0, 0, 0, 850, 0, 851, 0, 852, 847, 848,
2349 849, 0, 0, 0, 0, 853, 850, 0, 851, 0,
2350 852, 0, 0, 0, 0, 0, 0, 0, 853, 0,
2351 0, 854, 0, 855, 0, 0, 0, 0, 0, 0,
2352 0, 0, 856, 857, 854, 0, 855, 858, 859, 0,
2353 0, 860, 0, 0, 0, 856, 857, 0, 0, 861,
2354 858, 859, 0, 0, 860, 0, 0, 0, 53, 0,
2355 0, 0, 861, 0, 0, 0, 0, -50, 862, 0,
2356 0, 863, 0, -50, -50, 0, 864, 0, 0, 0,
2357 0, 862, -50, -50, 863, 0, 0, -50, 0, 864,
2358 -50, 0, -50, 0, 54, 0, 0, 60, 0, 0,
2359 0, 0, 0, 0, 0, 0, -82, 0, 0, 0,
2360 0, 0, -82, 0, 0, 0, -50, -50, -50, -82,
2361 0, -82, -82, 0, 0, 0, -82, -50, -50, -82,
2362 65, -82, -50, 61, 0, -50, -50, 0, 0, -97,
2363 0, 0, -50, -50, -50, -97, -50, 0, 0, 0,
2364 0, 0, 0, 0, -97, -82, 0, -82, 0, -97,
2365 0, 0, -97, 501, -97, 0, -82, -82, 0, 0,
2366 0, -82, -205, 0, -82, -82, 0, 0, -205, -205,
2367 0, -82, -82, -82, 0, -82, 0, -205, -97, 0,
2368 -97, 0, 0, 0, 0, -205, 990, -205, 0, 0,
2369 -97, 0, 0, 0, -97, -806, 0, -97, -97, 0,
2370 0, -806, 0, 0, -97, -97, -97, 0, -97, 0,
2371 -806, -205, 0, -205, 0, -806, 0, 0, -806, 0,
2372 -806, 0, 0, -205, 0, 0, 0, -205, 0, 0,
2373 -205, -205, 0, 0, 97, 0, 0, -205, -205, -205,
2374 98, -205, 0, 0, -806, 0, -806, 100, 0, 101,
2375 102, 0, 0, 0, 157, 0, -806, 103, 0, 105,
2376 -806, 0, 0, -806, -806, 0, 0, 0, 0, 0,
2377 -806, -806, -806, 97, -806, 0, 0, 0, 0, 98,
2378 430, 0, 0, 158, 0, 106, 0, 0, 101, 102,
2379 0, 0, 0, 0, 107, 108, 103, 0, 105, 109,
2380 0, 0, 13, 110, 0, 0, 97, 0, 0, 111,
2381 112, 113, 98, 114, 0, 0, 0, 0, 0, 0,
2382 0, 101, 12, 0, 106, 0, 178, 0, 0, 103,
2383 0, 105, 0, 107, 108, 0, 0, 0, 109, 97,
2384 0, 13, 110, 0, 0, 98, 690, 0, 111, 112,
2385 113, 0, 114, 0, 101, 12, 0, 106, 0, 0,
2386 0, 0, 103, 0, 105, 0, 0, 108, 0, 0,
2387 0, 109, 97, 0, 13, 110, 0, 0, 98, 0,
2388 0, 111, 112, 113, 0, 114, 0, 101, 12, 0,
2389 106, 0, 1132, 0, 0, 103, 0, 105, 0, 0,
2390 108, 0, 0, 0, 109, 97, 0, 13, 110, 0,
2391 0, 98, 1206, 0, 111, 112, 113, 0, 114, 0,
2392 101, 12, 0, 106, 0, 0, 0, 0, 103, 0,
2393 105, 0, 0, 108, 0, 0, 0, 109, 0, 0,
2394 13, 110, 0, 0, 0, 0, 0, 111, 112, 113,
2395 0, 114, 0, 0, 12, 0, 106, 0, 0, 0,
2396 0, 0, 0, 0, 0, 0, 108, 0, 0, 0,
2397 109, 0, 0, 13, 110, 0, 0, 0, 0, 0,
2398 111, 112, 113, 0, 114, 542, 543, 544, 545, 546,
2399 547, 548, 549, 550, 551, 552, 553, 0, 0, 0,
2400 0, 0, 0, 554, 555, 556, 557, 558, 559, 560,
2401 561, 562, 563, 564, 565, 566, 567, 568, 569, 570,
2402 571, 572, 573, -918, -918, -918, -918, -918, -918, -918,
2403 -918, -918, -918, -918, -918, 380, 381, 382, 0, 383,
2407 static const yytype_int16 yycheck[] =
2409 8, 9, 10, 11, 12, 44, 14, 57, 156, 66,
2410 62, 83, 394, 270, 66, 81, 62, 81, 11, 59,
2411 66, 59, 62, 430, 62, 641, 66, 622, 66, 37,
2412 38, 62, 66, 62, 258, 66, 389, 66, 62, 105,
2413 218, 219, 220, 221, 222, 389, 62, 83, 780, 196,
2414 703, 954, 520, 454, 957, 5, 83, 454, 431, 67,
2415 68, 1206, 70, 815, 647, 13, 758, 906, 1164, 1284,
2416 619, 488, 764, 81, 454, 454, 7, 85, 62, 87,
2417 62, 604, 90, 1, 7, 1242, 575, 576, 96, 97,
2418 98, 1, 100, 101, 7, 103, 104, 105, 106, 107,
2419 108, 109, 110, 81, 1200, 113, 6, 7, 101, 59,
2420 103, 9, 260, 7, 107, 1337, 394, 110, 37, 97,
2421 5, 81, 391, 37, 53, 67, 1271, 105, 7, 328,
2422 37, 79, 42, 390, 27, 37, 144, 145, 9, 28,
2423 148, 1164, 36, 1545, 876, 28, 1291, 155, 40, 157,
2424 158, 223, 28, 535, 6, 7, 28, 36, 28, 37,
2425 1172, 6, 7, 1548, 28, 1353, 107, 67, 55, 177,
2426 178, 78, 1574, 0, 6, 7, 1398, 62, 130, 7,
2427 73, 52, 60, 37, 42, 0, 194, 195, 196, 657,
2428 35, 1287, 152, 201, 6, 7, 1581, 454, 150, 147,
2429 78, 817, 13, 42, 261, 27, 147, 149, 36, 261,
2430 388, 389, 1, 6, 7, 261, 61, 6, 7, 119,
2431 769, 261, 151, 261, 42, 494, 157, 261, 294, 147,
2432 261, 632, 261, 152, 242, 632, 159, 1459, 152, 762,
2433 1397, 154, 152, 1400, 252, 253, 254, 446, 146, 147,
2434 152, 73, 632, 632, 262, 1443, 745, 535, 152, 151,
2435 153, 161, 270, 152, 1287, 152, 1278, 119, 79, 152,
2436 63, 688, 83, 152, 152, 824, 152, 261, 477, 261,
2437 152, 480, 152, 1505, 1307, 293, 294, 119, 152, 297,
2438 489, 102, 491, 151, 333, 147, 304, 496, 306, 307,
2439 293, 251, 156, 83, 1519, 1462, 118, 119, 88, 6,
2440 7, 304, 1044, 152, 146, 147, 294, 325, 1221, 1541,
2441 1542, 37, 394, 331, 156, 27, 119, 5, 146, 147,
2442 119, 153, 1477, 155, 62, 146, 147, 1230, 156, 27,
2443 6, 7, 7, 1565, 30, 81, 11, 1186, 7, 15,
2444 146, 147, 391, 146, 147, 533, 6, 7, 1251, 1,
2445 88, 147, 1, 156, 6, 7, 1511, 6, 7, 11,
2446 156, 73, 7, 1065, 30, 632, 53, 3, 4, 5,
2447 6, 7, 448, 455, 62, 73, 36, 6, 7, 790,
2448 398, 107, 57, 790, 25, 81, 46, 575, 576, 577,
2449 578, 1546, 8, 214, 63, 413, 414, 415, 14, 7,
2450 790, 790, 223, 63, 422, 57, 152, 83, 1, 6,
2451 7, 232, 119, 49, 1520, 81, 52, 33, 63, 422,
2452 803, 147, 1184, 16, 34, 413, 1329, 27, 149, 70,
2453 448, 152, 450, 223, 63, 502, 148, 149, 79, 7,
2454 502, 34, 400, 119, 404, 63, 502, 63, 64, 270,
2455 148, 149, 502, 535, 502, 664, 66, 539, 502, 119,
2456 448, 502, 480, 502, 1057, 876, 63, 119, 831, 876,
2457 119, 147, 82, 73, 60, 633, 525, 24, 687, 1585,
2458 498, 53, 531, 119, 31, 78, 146, 147, 148, 149,
2459 119, 59, 108, 539, 87, 37, 514, 655, 16, 977,
2460 518, 658, 539, 585, 6, 7, 156, 328, 55, 11,
2461 498, 147, 333, 780, 24, 27, 34, 146, 147, 42,
2462 1183, 31, 119, 790, 758, 67, 30, 63, 146, 147,
2463 764, 147, 3, 4, 5, 6, 7, 7, 156, 6,
2464 7, 44, 6, 7, 130, 55, 506, 11, 15, 146,
2465 147, 148, 149, 1466, 1467, 22, 21, 745, 746, 349,
2466 78, 73, 42, 751, 752, 107, 152, 107, 37, 87,
2467 156, 118, 147, 394, 27, 78, 130, 81, 49, 400,
2468 7, 52, 42, 3, 4, 5, 6, 7, 606, 59,
2469 1068, 60, 7, 57, 40, 669, 150, 100, 1224, 1225,
2470 65, 1227, 1228, 30, 394, 395, 30, 147, 118, 876,
2471 146, 147, 58, 80, 7, 30, 83, 119, 606, 60,
2472 73, 1363, 134, 135, 136, 446, 30, 645, 449, 49,
2473 12, 24, 52, 454, 455, 792, 30, 1044, 149, 1,
2474 658, 152, 645, 831, 802, 7, 146, 147, 119, 667,
2475 44, 669, 119, 735, 30, 119, 477, 19, 479, 480,
2476 818, 161, 452, 453, 667, 455, 48, 30, 489, 51,
2477 491, 689, 143, 144, 56, 496, 147, 6, 7, 13,
2478 147, 134, 135, 136, 78, 138, 139, 140, 141, 735,
2479 24, 147, 145, 146, 147, 485, 42, 31, 519, 119,
2480 156, 689, 84, 156, 525, 7, 100, 916, 90, 156,
2481 44, 13, 30, 160, 535, 135, 136, 42, 539, 74,
2482 7, 23, 512, 143, 144, 59, 13, 147, 16, 31,
2483 49, 521, 6, 7, 154, 1, 34, 11, 30, 74,
2484 149, 7, 30, 152, 78, 535, 536, 35, 46, 539,
2485 105, 908, 152, 148, 149, 110, 156, 1, 1121, 3,
2486 4, 5, 6, 7, 585, 152, 100, 1121, 66, 104,
2487 105, 20, 152, 61, 792, 110, 985, 1044, 987, 146,
2488 147, 146, 147, 57, 82, 146, 147, 1392, 838, 156,
2489 78, 40, 41, 614, 868, 585, 45, 85, 86, 148,
2490 161, 148, 149, 152, 838, 49, 146, 147, 52, 58,
2491 147, 632, 838, 146, 147, 636, 156, 149, 1235, 152,
2492 152, 642, 643, 4, 842, 6, 7, 79, 1, 1221,
2493 11, 1065, 1, 6, 7, 146, 147, 1463, 7, 1,
2494 1, 152, 15, 664, 920, 7, 7, 148, 30, 152,
2495 868, 152, 34, 871, 872, 28, 29, 30, 876, 150,
2496 156, 879, 325, 35, 160, 156, 687, 1230, 331, 148,
2497 1496, 149, 148, 152, 152, 119, 152, 121, 838, 138,
2498 139, 140, 141, 138, 139, 140, 141, 30, 1251, 62,
2499 908, 135, 136, 156, 47, 158, 159, 718, 149, 143,
2500 144, 152, 920, 147, 6, 7, 13, 925, 81, 4,
2501 83, 1537, 7, 157, 735, 88, 49, 153, 1335, 709,
2502 156, 152, 1, 149, 991, 42, 152, 149, 1320, 991,
2503 152, 980, 920, 1121, 42, 991, 954, 16, 156, 957,
2504 19, 991, 149, 991, 151, 735, 119, 991, 148, 149,
2505 991, 30, 991, 151, 149, 149, 35, 152, 152, 780,
2506 134, 135, 136, 149, 754, 151, 1329, 20, 21, 790,
2507 988, 149, 79, 151, 147, 145, 20, 21, 149, 30,
2508 151, 771, 61, 151, 149, 988, 151, 153, 778, 149,
2509 148, 151, 36, 148, 149, 102, 786, 148, 42, 78,
2510 821, 1019, 46, 1021, 153, 1023, 85, 86, 100, 149,
2511 831, 151, 833, 149, 804, 151, 148, 807, 152, 809,
2512 42, 65, 148, 149, 1091, 148, 149, 148, 149, 1091,
2513 152, 1019, 151, 1425, 149, 1091, 42, 1454, 151, 146,
2514 147, 1091, 1230, 1091, 148, 149, 152, 1091, 28, 29,
2515 1091, 42, 1091, 843, 152, 876, 152, 1449, 879, 53,
2516 1218, 28, 29, 1251, 1138, 253, 254, 30, 151, 890,
2517 891, 152, 1146, 147, 152, 19, 120, 152, 148, 152,
2518 1098, 152, 145, 149, 1102, 35, 907, 156, 156, 156,
2519 1108, 153, 147, 25, 152, 916, 1363, 887, 79, 42,
2520 152, 33, 30, 35, 148, 149, 150, 214, 152, 130,
2521 151, 1129, 37, 149, 47, 152, 30, 152, 60, 940,
2522 1138, 152, 1140, 49, 147, 232, 34, 59, 1146, 61,
2523 78, 156, 152, 1342, 120, 145, 155, 927, 70, 1221,
2524 153, 1329, 42, 75, 152, 42, 160, 79, 938, 152,
2525 66, 68, 38, 85, 86, 62, 60, 89, 1316, 980,
2526 1552, 150, 42, 270, 985, 37, 987, 957, 30, 47,
2527 1188, 67, 37, 152, 1234, 147, 53, 967, 1570, 150,
2528 153, 76, 147, 1, 152, 161, 152, 148, 978, 148,
2529 152, 147, 10, 1014, 67, 49, 149, 152, 16, 17,
2530 151, 62, 69, 1221, 42, 23, 152, 25, 26, 147,
2531 34, 39, 152, 152, 34, 33, 34, 35, 152, 150,
2532 1238, 328, 152, 1044, 53, 30, 333, 154, 152, 152,
2533 67, 152, 1022, 30, 34, 1025, 1254, 1027, 1320, 152,
2534 67, 59, 147, 61, 42, 130, 152, 81, 1069, 152,
2535 152, 36, 70, 71, 147, 36, 60, 75, 37, 36,
2536 78, 79, 30, 152, 152, 152, 42, 85, 86, 87,
2537 1060, 89, 108, 152, 30, 9, 152, 1295, 152, 148,
2538 54, 1330, 152, 105, 152, 37, 152, 151, 148, 152,
2539 1080, 149, 1295, 400, 1084, 148, 1, 81, 47, 47,
2540 47, 47, 1092, 1321, 1, 36, 3, 4, 5, 6,
2541 7, 151, 30, 152, 64, 108, 1106, 152, 30, 152,
2542 152, 152, 81, 81, 77, 1115, 152, 72, 68, 46,
2543 1348, 1349, 1, 34, 1352, 150, 1396, 28, 7, 446,
2544 1161, 157, 449, 1425, 162, 60, 149, 454, 30, 148,
2545 40, 36, 49, 148, 53, 52, 25, 36, 55, 19,
2546 57, 152, 1152, 152, 33, 76, 35, 1449, 133, 22,
2547 477, 42, 479, 480, 152, 1165, 1166, 1167, 34, 152,
2548 152, 152, 489, 81, 491, 152, 30, 30, 1178, 496,
2549 59, 152, 61, 153, 36, 152, 30, 152, 60, 3,
2550 1221, 70, 1420, 81, 30, 512, 75, 1197, 152, 1230,
2551 79, 152, 519, 152, 152, 152, 85, 86, 525, 105,
2552 89, 30, 119, 152, 121, 152, 81, 1248, 42, 34,
2553 1251, 1221, 3, 4, 5, 6, 7, 37, 135, 136,
2554 81, 36, 152, 130, 153, 152, 143, 144, 1466, 1467,
2555 147, 47, 152, 39, 46, 30, 152, 150, 152, 154,
2556 152, 150, 81, 47, 152, 81, 60, 47, 152, 152,
2557 1552, 1489, 152, 149, 30, 36, 153, 152, 49, 1269,
2558 152, 52, 1272, 36, 55, 152, 1276, 22, 1570, 72,
2559 1311, 39, 81, 1283, 81, 152, 18, 36, 152, 1320,
2560 152, 152, 1292, 1293, 81, 22, 152, 614, 1329, 1330,
2561 1138, 3, 152, 152, 1304, 152, 5, 400, 306, 157,
2562 5, 1342, 838, 991, 653, 632, 1019, 1545, 450, 636,
2563 1320, 102, 1060, 178, 105, 642, 643, 808, 539, 887,
2564 746, 751, 1363, 44, 1562, 10, 214, 1248, 119, 988,
2565 121, 16, 17, 579, 869, 923, 1574, 664, 23, 1470,
2566 25, 26, 1413, 1037, 135, 136, 1314, 1327, 33, 34,
2567 35, 1361, 143, 144, 1309, 1104, 147, 1367, 1079, 1334,
2568 687, 1371, 632, 154, 1392, 1161, 1289, 1044, 1378, 1490,
2569 1044, 62, 1182, 879, 59, 1146, 61, 1008, 1351, 1132,
2570 992, 597, 404, 1223, 1425, 70, 71, 1585, 1481, 1488,
2571 75, 718, 1525, 78, 79, 1044, 606, 1191, 26, 201,
2572 85, 86, 87, -1, 89, 1, -1, -1, 1449, -1,
2573 6, 7, -1, -1, -1, 1425, -1, -1, -1, 15,
2574 -1, -1, -1, -1, -1, -1, 22, -1, -1, -1,
2575 1440, -1, 28, 29, 30, 1445, 32, -1, 34, 1449,
2576 -1, -1, -1, 39, -1, -1, -1, -1, -1, -1,
2577 46, -1, -1, 780, 50, -1, 52, 1467, -1, -1,
2578 -1, -1, -1, 790, -1, -1, -1, -1, 1478, -1,
2579 66, 67, 1482, 1483, -1, 1485, -1, 162, -1, -1,
2580 -1, 1491, -1, -1, 80, -1, 82, 83, -1, -1,
2581 -1, -1, -1, -1, 821, -1, -1, 10, -1, 1509,
2582 -1, -1, -1, 16, 17, -1, 833, -1, -1, -1,
2583 23, 1552, 25, 26, -1, -1, -1, -1, -1, -1,
2584 33, 34, 35, 119, 1534, -1, -1, -1, -1, 1570,
2585 -1, -1, -1, -1, -1, -1, -1, -1, 1548, -1,
2586 -1, -1, 1552, -1, -1, 1555, 59, -1, 61, 876,
2587 -1, 147, 879, -1, -1, -1, -1, 70, 71, -1,
2588 1570, -1, 75, 890, 891, 78, 79, -1, -1, -1,
2589 -1, 1581, 85, 86, 87, 10, 89, -1, -1, -1,
2590 907, 16, 17, -1, -1, -1, -1, -1, 23, 916,
2591 25, 26, -1, -1, -1, -1, 10, -1, 33, 34,
2592 35, -1, 16, 17, -1, -1, -1, -1, -1, 23,
2593 -1, 25, 26, 940, -1, -1, -1, -1, -1, 33,
2594 34, 35, -1, -1, 59, -1, 61, -1, -1, -1,
2595 -1, -1, -1, -1, -1, 70, 71, -1, -1, -1,
2596 75, -1, -1, 78, 79, 59, -1, 61, -1, 162,
2597 85, 86, 87, 980, 89, -1, 70, 71, 985, -1,
2598 987, 75, -1, -1, 78, 79, -1, -1, -1, -1,
2599 -1, 85, 86, 87, 1, 89, 3, 4, 5, 6,
2600 7, -1, -1, -1, -1, 1, -1, 1014, -1, -1,
2601 6, 7, -1, -1, -1, -1, -1, -1, -1, 15,
2602 -1, -1, 18, -1, -1, -1, 22, 23, 24, 3,
2603 4, 5, 6, 7, -1, 31, -1, 1044, 34, -1,
2604 -1, -1, 49, 39, -1, 52, -1, 162, -1, -1,
2605 -1, -1, -1, 1060, 1, -1, 3, 4, 5, 6,
2606 7, -1, 1069, -1, -1, -1, 62, 74, 162, 3,
2607 4, 5, 6, 7, -1, 49, -1, -1, 52, -1,
2608 -1, 55, -1, -1, -1, -1, -1, 83, -1, -1,
2609 97, -1, 88, -1, -1, -1, -1, 104, 105, -1,
2610 -1, -1, 49, 110, 111, 52, 3, 4, 5, 6,
2611 7, -1, 119, -1, 121, 49, -1, -1, 52, -1,
2612 -1, -1, -1, 119, -1, -1, -1, -1, 135, 136,
2613 -1, 105, -1, -1, -1, -1, 143, 144, -1, -1,
2614 147, -1, -1, -1, -1, 119, -1, 121, -1, -1,
2615 -1, 147, 49, -1, 1161, 52, -1, -1, -1, -1,
2616 57, 135, 136, 97, -1, -1, -1, -1, -1, 143,
2617 144, -1, 119, 147, 121, -1, -1, 3, 4, 5,
2618 6, 7, -1, -1, -1, 119, -1, 121, 135, 136,
2619 -1, -1, -1, -1, -1, -1, 143, 144, -1, -1,
2620 147, 135, 136, -1, -1, -1, -1, -1, -1, 143,
2621 144, -1, -1, 147, 3, 4, 5, 6, 7, -1,
2622 -1, -1, 119, 49, 121, -1, 52, -1, -1, -1,
2623 -1, -1, -1, -1, -1, -1, -1, -1, 135, 136,
2624 -1, 1248, -1, -1, -1, -1, 143, 144, -1, -1,
2625 147, -1, 6, 7, -1, -1, -1, -1, -1, -1,
2626 49, 15, -1, 52, -1, -1, -1, -1, 22, -1,
2627 -1, -1, -1, -1, -1, -1, -1, -1, 32, -1,
2628 34, -1, -1, -1, -1, 39, -1, -1, 12, -1,
2629 -1, -1, 46, 119, -1, 121, 50, -1, 52, -1,
2630 -1, -1, -1, -1, 1311, -1, -1, -1, -1, 135,
2631 136, -1, 66, 67, -1, -1, -1, 143, 144, -1,
2632 -1, 147, -1, 1330, 48, -1, 80, 51, 82, 83,
2633 119, -1, 56, -1, -1, 1342, -1, -1, -1, -1,
2634 -1, -1, -1, -1, -1, -1, 135, 136, -1, -1,
2635 -1, -1, -1, -1, 143, 144, 1363, -1, 147, -1,
2636 84, -1, -1, -1, -1, 119, 90, 91, 92, 93,
2637 94, 95, 96, 122, 123, 124, 125, 126, 127, 128,
2638 129, 130, 131, 132, 133, 134, 135, 136, -1, 138,
2639 139, 140, 141, 147, -1, -1, -1, -1, 122, 123,
2640 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
2641 134, 135, 136, 1, 138, 139, 140, 141, -1, -1,
2642 -1, -1, -1, -1, -1, 13, -1, -1, -1, -1,
2643 -1, -1, -1, -1, -1, 23, 24, 25, 13, -1,
2644 -1, -1, -1, 31, -1, 33, -1, 35, 23, 24,
2645 25, -1, -1, -1, -1, 43, 31, -1, 33, -1,
2646 35, -1, -1, -1, -1, -1, -1, -1, 43, -1,
2647 -1, 59, -1, 61, -1, -1, -1, -1, -1, -1,
2648 -1, -1, 70, 71, 59, -1, 61, 75, 76, -1,
2649 -1, 79, -1, -1, -1, 70, 71, -1, -1, 87,
2650 75, 76, -1, -1, 79, -1, -1, -1, 1, -1,
2651 -1, -1, 87, -1, -1, -1, -1, 10, 106, -1,
2652 -1, 109, -1, 16, 17, -1, 114, -1, -1, -1,
2653 -1, 106, 25, 26, 109, -1, -1, 30, -1, 114,
2654 33, -1, 35, -1, 37, -1, -1, 1, -1, -1,
2655 -1, -1, -1, -1, -1, -1, 10, -1, -1, -1,
2656 -1, -1, 16, -1, -1, -1, 59, 60, 61, 23,
2657 -1, 25, 26, -1, -1, -1, 30, 70, 71, 33,
2658 1, 35, 75, 37, -1, 78, 79, -1, -1, 10,
2659 -1, -1, 85, 86, 87, 16, 89, -1, -1, -1,
2660 -1, -1, -1, -1, 25, 59, -1, 61, -1, 30,
2661 -1, -1, 33, 1, 35, -1, 70, 71, -1, -1,
2662 -1, 75, 10, -1, 78, 79, -1, -1, 16, 17,
2663 -1, 85, 86, 87, -1, 89, -1, 25, 59, -1,
2664 61, -1, -1, -1, -1, 33, 1, 35, -1, -1,
2665 71, -1, -1, -1, 75, 10, -1, 78, 79, -1,
2666 -1, 16, -1, -1, 85, 86, 87, -1, 89, -1,
2667 25, 59, -1, 61, -1, 30, -1, -1, 33, -1,
2668 35, -1, -1, 71, -1, -1, -1, 75, -1, -1,
2669 78, 79, -1, -1, 10, -1, -1, 85, 86, 87,
2670 16, 89, -1, -1, 59, -1, 61, 23, -1, 25,
2671 26, -1, -1, -1, 30, -1, 71, 33, -1, 35,
2672 75, -1, -1, 78, 79, -1, -1, -1, -1, -1,
2673 85, 86, 87, 10, 89, -1, -1, -1, -1, 16,
2674 17, -1, -1, 59, -1, 61, -1, -1, 25, 26,
2675 -1, -1, -1, -1, 70, 71, 33, -1, 35, 75,
2676 -1, -1, 78, 79, -1, -1, 10, -1, -1, 85,
2677 86, 87, 16, 89, -1, -1, -1, -1, -1, -1,
2678 -1, 25, 59, -1, 61, -1, 30, -1, -1, 33,
2679 -1, 35, -1, 70, 71, -1, -1, -1, 75, 10,
2680 -1, 78, 79, -1, -1, 16, 17, -1, 85, 86,
2681 87, -1, 89, -1, 25, 59, -1, 61, -1, -1,
2682 -1, -1, 33, -1, 35, -1, -1, 71, -1, -1,
2683 -1, 75, 10, -1, 78, 79, -1, -1, 16, -1,
2684 -1, 85, 86, 87, -1, 89, -1, 25, 59, -1,
2685 61, -1, 30, -1, -1, 33, -1, 35, -1, -1,
2686 71, -1, -1, -1, 75, 10, -1, 78, 79, -1,
2687 -1, 16, 17, -1, 85, 86, 87, -1, 89, -1,
2688 25, 59, -1, 61, -1, -1, -1, -1, 33, -1,
2689 35, -1, -1, 71, -1, -1, -1, 75, -1, -1,
2690 78, 79, -1, -1, -1, -1, -1, 85, 86, 87,
2691 -1, 89, -1, -1, 59, -1, 61, -1, -1, -1,
2692 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
2693 75, -1, -1, 78, 79, -1, -1, -1, -1, -1,
2694 85, 86, 87, -1, 89, 350, 351, 352, 353, 354,
2695 355, 356, 357, 358, 359, 360, 361, -1, -1, -1,
2696 -1, -1, -1, 368, 369, 370, 371, 372, 373, 374,
2697 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
2698 385, 386, 387, 122, 123, 124, 125, 126, 127, 128,
2699 129, 130, 131, 132, 133, 134, 135, 136, -1, 138,
2703 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2704 symbol of state STATE-NUM. */
2705 static const yytype_uint16 yystos[] =
2707 0, 164, 165, 166, 174, 175, 0, 174, 13, 24,
2708 31, 44, 59, 78, 100, 176, 177, 178, 179, 181,
2709 182, 191, 192, 196, 198, 202, 203, 208, 209, 507,
2710 512, 7, 491, 491, 491, 173, 491, 1, 19, 491,
2711 6, 119, 180, 268, 269, 270, 271, 273, 275, 491,
2712 493, 551, 491, 1, 37, 189, 1, 194, 1, 200,
2713 1, 37, 205, 207, 549, 1, 211, 53, 53, 42,
2714 149, 152, 491, 491, 42, 25, 70, 79, 552, 149,
2715 152, 156, 146, 147, 251, 274, 251, 274, 147, 42,
2716 30, 460, 1, 190, 60, 187, 30, 10, 16, 17,
2717 23, 25, 26, 33, 34, 35, 61, 70, 71, 75,
2718 79, 85, 86, 87, 89, 162, 179, 195, 202, 208,
2719 213, 214, 216, 223, 224, 225, 235, 287, 311, 324,
2720 326, 329, 333, 336, 339, 343, 344, 462, 475, 485,
2721 486, 512, 513, 560, 30, 16, 34, 78, 87, 179,
2722 201, 222, 344, 465, 485, 30, 550, 30, 59, 202,
2723 206, 214, 218, 225, 326, 329, 339, 343, 344, 462,
2724 485, 486, 512, 513, 37, 152, 548, 30, 30, 212,
2725 213, 214, 219, 235, 329, 343, 344, 485, 486, 491,
2726 491, 491, 42, 42, 49, 156, 158, 159, 553, 554,
2727 555, 556, 559, 271, 4, 11, 167, 272, 491, 493,
2728 495, 1, 3, 5, 49, 52, 55, 57, 121, 135,
2729 136, 143, 144, 147, 168, 172, 255, 258, 260, 261,
2730 267, 268, 270, 271, 276, 277, 278, 279, 286, 314,
2731 321, 492, 494, 495, 63, 491, 63, 491, 258, 270,
2732 30, 508, 13, 23, 31, 491, 152, 152, 147, 239,
2733 188, 185, 13, 193, 491, 334, 491, 493, 491, 359,
2734 360, 491, 173, 11, 57, 268, 340, 173, 11, 57,
2735 173, 477, 478, 167, 491, 491, 173, 1, 491, 1,
2736 491, 173, 491, 79, 35, 42, 152, 24, 199, 491,
2737 491, 1, 268, 470, 118, 491, 30, 59, 204, 491,
2738 239, 204, 47, 152, 59, 210, 491, 210, 42, 42,
2739 49, 373, 491, 491, 557, 558, 373, 156, 151, 159,
2740 491, 558, 148, 270, 278, 148, 267, 267, 267, 267,
2741 267, 258, 282, 283, 286, 321, 252, 27, 73, 323,
2742 12, 48, 51, 56, 84, 90, 12, 48, 51, 56,
2743 84, 90, 91, 92, 93, 94, 95, 96, 122, 123,
2744 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
2745 134, 135, 136, 138, 139, 140, 141, 259, 145, 63,
2746 146, 270, 316, 148, 149, 153, 491, 148, 100, 509,
2747 100, 178, 179, 506, 510, 511, 183, 491, 183, 183,
2748 1, 25, 33, 35, 59, 61, 70, 75, 79, 89,
2749 223, 242, 246, 331, 540, 541, 542, 547, 152, 239,
2750 17, 184, 186, 213, 214, 215, 235, 326, 329, 339,
2751 343, 344, 485, 486, 491, 152, 151, 335, 53, 151,
2752 30, 1, 15, 83, 88, 147, 268, 276, 361, 362,
2753 363, 377, 381, 382, 383, 384, 392, 396, 402, 408,
2754 409, 412, 425, 449, 491, 42, 461, 151, 341, 151,
2755 151, 37, 78, 476, 481, 151, 228, 42, 226, 151,
2756 152, 42, 152, 1, 42, 288, 151, 42, 151, 173,
2757 167, 1, 237, 491, 152, 30, 468, 173, 199, 491,
2758 152, 152, 147, 248, 19, 152, 152, 152, 156, 160,
2759 514, 147, 156, 491, 557, 270, 312, 314, 156, 491,
2760 251, 270, 280, 145, 148, 149, 153, 284, 148, 149,
2761 253, 258, 261, 261, 261, 261, 261, 261, 261, 261,
2762 261, 261, 261, 261, 261, 261, 261, 261, 261, 261,
2763 261, 261, 261, 261, 261, 261, 261, 261, 261, 261,
2764 261, 261, 261, 261, 267, 135, 136, 143, 144, 262,
2765 264, 266, 267, 275, 322, 147, 276, 251, 315, 316,
2766 258, 282, 283, 258, 491, 152, 180, 30, 511, 148,
2767 491, 493, 543, 491, 491, 79, 35, 240, 173, 491,
2768 152, 359, 460, 312, 42, 11, 57, 167, 345, 346,
2769 270, 193, 30, 258, 258, 384, 396, 425, 449, 152,
2770 130, 410, 151, 37, 464, 312, 149, 342, 270, 312,
2771 491, 47, 24, 31, 55, 118, 479, 482, 152, 60,
2772 480, 258, 107, 229, 230, 232, 233, 549, 49, 233,
2773 234, 312, 312, 152, 8, 14, 33, 64, 108, 147,
2774 289, 290, 293, 299, 303, 305, 309, 310, 316, 496,
2775 501, 152, 312, 147, 490, 491, 493, 151, 227, 30,
2776 17, 213, 214, 220, 235, 238, 329, 343, 344, 485,
2777 486, 34, 179, 466, 469, 152, 152, 55, 102, 105,
2778 154, 254, 256, 257, 258, 268, 491, 491, 67, 161,
2779 270, 515, 516, 152, 548, 258, 156, 251, 313, 120,
2780 251, 281, 267, 282, 258, 155, 285, 255, 264, 264,
2781 267, 267, 134, 135, 136, 263, 323, 138, 139, 140,
2782 141, 265, 145, 258, 153, 152, 509, 107, 147, 545,
2783 42, 545, 543, 148, 152, 241, 151, 152, 1, 268,
2784 347, 42, 514, 152, 152, 88, 411, 412, 66, 427,
2785 68, 38, 393, 395, 62, 18, 22, 23, 24, 31,
2786 88, 268, 376, 384, 396, 403, 405, 409, 425, 449,
2787 518, 239, 60, 463, 150, 325, 268, 9, 42, 55,
2788 337, 248, 270, 268, 173, 481, 30, 47, 231, 230,
2789 239, 67, 548, 1, 373, 21, 65, 328, 332, 152,
2790 312, 147, 317, 53, 173, 308, 1, 19, 497, 169,
2791 491, 495, 76, 150, 330, 1, 13, 23, 24, 25,
2792 31, 33, 35, 43, 59, 61, 70, 71, 75, 76,
2793 79, 87, 106, 109, 114, 349, 487, 489, 147, 312,
2794 233, 35, 61, 167, 236, 420, 421, 152, 30, 34,
2795 465, 467, 471, 472, 197, 258, 249, 153, 270, 161,
2796 67, 149, 517, 152, 148, 148, 258, 286, 264, 262,
2797 266, 267, 148, 258, 152, 546, 242, 67, 49, 545,
2798 242, 20, 40, 41, 45, 58, 245, 247, 152, 514,
2799 149, 348, 258, 151, 152, 62, 258, 69, 426, 268,
2800 392, 97, 258, 385, 386, 389, 74, 105, 110, 394,
2801 147, 416, 42, 372, 1, 258, 384, 396, 425, 449,
2802 378, 379, 373, 374, 34, 355, 357, 39, 350, 351,
2803 152, 239, 460, 258, 152, 258, 247, 338, 258, 152,
2804 152, 480, 34, 248, 239, 270, 152, 514, 150, 327,
2805 270, 302, 312, 320, 322, 53, 270, 151, 306, 30,
2806 1, 502, 30, 179, 224, 344, 498, 500, 513, 291,
2807 297, 491, 258, 152, 152, 154, 488, 148, 149, 483,
2808 484, 491, 495, 330, 67, 6, 491, 491, 152, 30,
2809 22, 32, 39, 50, 52, 67, 80, 83, 392, 422,
2810 423, 424, 425, 430, 434, 437, 441, 444, 445, 448,
2811 449, 450, 452, 453, 454, 455, 456, 491, 522, 523,
2812 525, 526, 527, 531, 534, 536, 34, 477, 491, 148,
2813 149, 250, 257, 270, 270, 147, 240, 270, 373, 67,
2814 312, 152, 167, 152, 349, 413, 491, 258, 152, 130,
2815 9, 52, 390, 152, 81, 387, 258, 11, 268, 417,
2816 42, 414, 147, 371, 36, 36, 37, 60, 147, 375,
2817 37, 60, 454, 491, 36, 258, 454, 491, 30, 404,
2818 407, 152, 152, 152, 258, 42, 152, 152, 548, 258,
2819 152, 63, 300, 318, 312, 312, 30, 307, 308, 108,
2820 499, 30, 30, 220, 503, 505, 499, 148, 149, 292,
2821 295, 152, 148, 152, 487, 148, 149, 152, 270, 236,
2822 1, 157, 428, 436, 491, 258, 447, 491, 152, 258,
2823 451, 54, 459, 258, 130, 150, 66, 82, 356, 357,
2824 358, 443, 22, 392, 425, 452, 456, 536, 81, 152,
2825 151, 152, 78, 474, 481, 254, 242, 148, 42, 544,
2826 548, 270, 20, 21, 244, 393, 258, 9, 391, 258,
2827 149, 388, 105, 148, 418, 148, 17, 213, 214, 221,
2828 235, 329, 343, 344, 415, 485, 486, 258, 37, 369,
2829 1, 81, 519, 520, 47, 47, 491, 47, 47, 491,
2830 40, 151, 17, 216, 217, 400, 36, 258, 36, 152,
2831 406, 491, 30, 152, 258, 152, 154, 148, 149, 301,
2832 148, 149, 319, 152, 64, 491, 108, 504, 504, 169,
2833 30, 296, 298, 491, 152, 483, 152, 30, 258, 81,
2834 435, 72, 81, 446, 152, 417, 77, 458, 68, 1,
2835 74, 104, 105, 110, 111, 386, 389, 533, 258, 258,
2836 258, 46, 428, 150, 258, 118, 479, 465, 473, 480,
2837 240, 154, 491, 544, 150, 243, 397, 398, 258, 28,
2838 389, 149, 419, 420, 148, 239, 60, 367, 30, 283,
2839 454, 30, 519, 521, 248, 248, 148, 248, 248, 40,
2840 270, 320, 17, 216, 359, 400, 401, 36, 491, 152,
2841 152, 406, 53, 270, 302, 320, 304, 491, 19, 76,
2842 294, 133, 22, 42, 258, 152, 1, 420, 258, 152,
2843 258, 34, 457, 428, 152, 40, 58, 532, 258, 532,
2844 152, 81, 386, 389, 426, 420, 258, 258, 28, 152,
2845 535, 173, 152, 30, 152, 148, 258, 152, 386, 399,
2846 385, 268, 30, 372, 152, 239, 365, 36, 153, 283,
2847 36, 152, 491, 30, 60, 380, 152, 380, 152, 320,
2848 404, 359, 353, 401, 152, 312, 63, 491, 491, 170,
2849 171, 494, 157, 429, 491, 81, 433, 30, 439, 258,
2850 152, 268, 276, 392, 539, 258, 105, 152, 258, 152,
2851 81, 152, 30, 42, 258, 28, 152, 152, 34, 81,
2852 411, 37, 370, 152, 17, 216, 366, 406, 401, 153,
2853 406, 152, 36, 47, 152, 152, 28, 29, 352, 354,
2854 353, 152, 491, 152, 283, 431, 39, 28, 29, 438,
2855 440, 130, 150, 81, 152, 28, 152, 524, 258, 46,
2856 433, 81, 258, 152, 283, 152, 47, 60, 368, 359,
2857 152, 401, 152, 406, 248, 36, 454, 491, 258, 454,
2858 352, 153, 30, 432, 433, 152, 420, 258, 30, 104,
2859 528, 533, 258, 537, 538, 258, 258, 152, 152, 524,
2860 442, 491, 431, 258, 81, 149, 248, 47, 30, 152,
2861 401, 36, 36, 258, 420, 22, 72, 39, 532, 389,
2862 529, 530, 81, 152, 535, 81, 152, 152, 30, 258,
2863 152, 248, 18, 401, 401, 36, 429, 420, 152, 537,
2864 81, 283, 152, 258, 22, 152, 364, 491, 401, 152,
2865 283, 149, 152, 429, 152, 149, 152, 537, 152, 529
2868 #define yyerrok (yyerrstatus = 0)
2869 #define yyclearin (yychar = YYEMPTY)
2870 #define YYEMPTY (-2)
2873 #define YYACCEPT goto yyacceptlab
2874 #define YYABORT goto yyabortlab
2875 #define YYERROR goto yyerrorlab
2878 /* Like YYERROR except do call yyerror. This remains here temporarily
2879 to ease the transition to the new meaning of YYERROR, for GCC.
2880 Once GCC version 2 has supplanted version 1, this can go. */
2882 #define YYFAIL goto yyerrlab
2884 #define YYRECOVERING() (!!yyerrstatus)
2886 #define YYBACKUP(Token, Value) \
2888 if (yychar == YYEMPTY && yylen == 1) \
2892 yytoken = YYTRANSLATE (yychar); \
2898 yyerror (YY_("syntax error: cannot back up")); \
2905 #define YYERRCODE 256
2908 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2909 If N is 0, then set CURRENT to the empty location which ends
2910 the previous symbol: RHS[0] (always defined). */
2912 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2913 #ifndef YYLLOC_DEFAULT
2914 # define YYLLOC_DEFAULT(Current, Rhs, N) \
2918 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
2919 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
2920 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
2921 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
2925 (Current).first_line = (Current).last_line = \
2926 YYRHSLOC (Rhs, 0).last_line; \
2927 (Current).first_column = (Current).last_column = \
2928 YYRHSLOC (Rhs, 0).last_column; \
2934 /* YY_LOCATION_PRINT -- Print the location on the stream.
2935 This macro was not mandated originally: define only if we know
2936 we won't break user code: when these are the locations we know. */
2938 #ifndef YY_LOCATION_PRINT
2939 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
2940 # define YY_LOCATION_PRINT(File, Loc) \
2941 fprintf (File, "%d.%d-%d.%d", \
2942 (Loc).first_line, (Loc).first_column, \
2943 (Loc).last_line, (Loc).last_column)
2945 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2950 /* YYLEX -- calling `yylex' with the right arguments. */
2953 # define YYLEX yylex (YYLEX_PARAM)
2955 # define YYLEX yylex ()
2958 /* Enable debugging if requested. */
2962 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2963 # define YYFPRINTF fprintf
2966 # define YYDPRINTF(Args) \
2972 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2976 YYFPRINTF (stderr, "%s ", Title); \
2977 yy_symbol_print (stderr, \
2979 YYFPRINTF (stderr, "\n"); \
2984 /*--------------------------------.
2985 | Print this symbol on YYOUTPUT. |
2986 `--------------------------------*/
2989 #if (defined __STDC__ || defined __C99__FUNC__ \
2990 || defined __cplusplus || defined _MSC_VER)
2992 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2995 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2998 YYSTYPE const * const yyvaluep;
3004 if (yytype < YYNTOKENS)
3005 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
3017 /*--------------------------------.
3018 | Print this symbol on YYOUTPUT. |
3019 `--------------------------------*/
3021 #if (defined __STDC__ || defined __C99__FUNC__ \
3022 || defined __cplusplus || defined _MSC_VER)
3024 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
3027 yy_symbol_print (yyoutput, yytype, yyvaluep)
3030 YYSTYPE const * const yyvaluep;
3033 if (yytype < YYNTOKENS)
3034 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
3036 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
3038 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
3039 YYFPRINTF (yyoutput, ")");
3042 /*------------------------------------------------------------------.
3043 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
3045 `------------------------------------------------------------------*/
3047 #if (defined __STDC__ || defined __C99__FUNC__ \
3048 || defined __cplusplus || defined _MSC_VER)
3050 yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
3053 yy_stack_print (bottom, top)
3054 yytype_int16 *bottom;
3058 YYFPRINTF (stderr, "Stack now");
3059 for (; bottom <= top; ++bottom)
3060 YYFPRINTF (stderr, " %d", *bottom);
3061 YYFPRINTF (stderr, "\n");
3064 # define YY_STACK_PRINT(Bottom, Top) \
3067 yy_stack_print ((Bottom), (Top)); \
3071 /*------------------------------------------------.
3072 | Report that the YYRULE is going to be reduced. |
3073 `------------------------------------------------*/
3075 #if (defined __STDC__ || defined __C99__FUNC__ \
3076 || defined __cplusplus || defined _MSC_VER)
3078 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
3081 yy_reduce_print (yyvsp, yyrule)
3086 int yynrhs = yyr2[yyrule];
3088 unsigned long int yylno = yyrline[yyrule];
3089 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
3091 /* The symbols being reduced. */
3092 for (yyi = 0; yyi < yynrhs; yyi++)
3094 fprintf (stderr, " $%d = ", yyi + 1);
3095 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
3096 &(yyvsp[(yyi + 1) - (yynrhs)])
3098 fprintf (stderr, "\n");
3102 # define YY_REDUCE_PRINT(Rule) \
3105 yy_reduce_print (yyvsp, Rule); \
3108 /* Nonzero means print parse trace. It is left uninitialized so that
3109 multiple parsers can coexist. */
3111 #else /* !YYDEBUG */
3112 # define YYDPRINTF(Args)
3113 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
3114 # define YY_STACK_PRINT(Bottom, Top)
3115 # define YY_REDUCE_PRINT(Rule)
3116 #endif /* !YYDEBUG */
3119 /* YYINITDEPTH -- initial size of the parser's stacks. */
3121 # define YYINITDEPTH 200
3124 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3125 if the built-in stack extension method is used).
3127 Do not make this value too large; the results are undefined if
3128 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
3129 evaluated with infinite-precision integer arithmetic. */
3132 # define YYMAXDEPTH 10000
3140 # if defined __GLIBC__ && defined _STRING_H
3141 # define yystrlen strlen
3143 /* Return the length of YYSTR. */
3144 #if (defined __STDC__ || defined __C99__FUNC__ \
3145 || defined __cplusplus || defined _MSC_VER)
3147 yystrlen (const char *yystr)
3155 for (yylen = 0; yystr[yylen]; yylen++)
3163 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
3164 # define yystpcpy stpcpy
3166 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3168 #if (defined __STDC__ || defined __C99__FUNC__ \
3169 || defined __cplusplus || defined _MSC_VER)
3171 yystpcpy (char *yydest, const char *yysrc)
3174 yystpcpy (yydest, yysrc)
3180 const char *yys = yysrc;
3182 while ((*yyd++ = *yys++) != '\0')
3191 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3192 quotes and backslashes, so that it's suitable for yyerror. The
3193 heuristic is that double-quoting is unnecessary unless the string
3194 contains an apostrophe, a comma, or backslash (other than
3195 backslash-backslash). YYSTR is taken from yytname. If YYRES is
3196 null, do not copy; instead, return the length of what the result
3199 yytnamerr (char *yyres, const char *yystr)
3204 char const *yyp = yystr;
3211 goto do_not_strip_quotes;
3215 goto do_not_strip_quotes;
3228 do_not_strip_quotes: ;
3232 return yystrlen (yystr);
3234 return yystpcpy (yyres, yystr) - yyres;
3238 /* Copy into YYRESULT an error message about the unexpected token
3239 YYCHAR while in state YYSTATE. Return the number of bytes copied,
3240 including the terminating null byte. If YYRESULT is null, do not
3241 copy anything; just return the number of bytes that would be
3242 copied. As a special case, return 0 if an ordinary "syntax error"
3243 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
3244 size calculation. */
3246 yysyntax_error (char *yyresult, int yystate, int yychar)
3248 int yyn = yypact[yystate];
3250 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
3254 int yytype = YYTRANSLATE (yychar);
3255 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
3256 YYSIZE_T yysize = yysize0;
3258 int yysize_overflow = 0;
3259 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3260 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3264 /* This is so xgettext sees the translatable formats that are
3265 constructed on the fly. */
3266 YY_("syntax error, unexpected %s");
3267 YY_("syntax error, unexpected %s, expecting %s");
3268 YY_("syntax error, unexpected %s, expecting %s or %s");
3269 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
3270 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
3274 static char const yyunexpected[] = "syntax error, unexpected %s";
3275 static char const yyexpecting[] = ", expecting %s";
3276 static char const yyor[] = " or %s";
3277 char yyformat[sizeof yyunexpected
3278 + sizeof yyexpecting - 1
3279 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
3280 * (sizeof yyor - 1))];
3281 char const *yyprefix = yyexpecting;
3283 /* Start YYX at -YYN if negative to avoid negative indexes in
3285 int yyxbegin = yyn < 0 ? -yyn : 0;
3287 /* Stay within bounds of both yycheck and yytname. */
3288 int yychecklim = YYLAST - yyn + 1;
3289 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3292 yyarg[0] = yytname[yytype];
3293 yyfmt = yystpcpy (yyformat, yyunexpected);
3295 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3296 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
3298 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3302 yyformat[sizeof yyunexpected - 1] = '\0';
3305 yyarg[yycount++] = yytname[yyx];
3306 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3307 yysize_overflow |= (yysize1 < yysize);
3309 yyfmt = yystpcpy (yyfmt, yyprefix);
3313 yyf = YY_(yyformat);
3314 yysize1 = yysize + yystrlen (yyf);
3315 yysize_overflow |= (yysize1 < yysize);
3318 if (yysize_overflow)
3319 return YYSIZE_MAXIMUM;
3323 /* Avoid sprintf, as that infringes on the user's name space.
3324 Don't have undefined behavior even if the translation
3325 produced a string with the wrong number of "%s"s. */
3326 char *yyp = yyresult;
3328 while ((*yyp = *yyf) != '\0')
3330 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3332 yyp += yytnamerr (yyp, yyarg[yyi++]);
3345 #endif /* YYERROR_VERBOSE */
3348 /*-----------------------------------------------.
3349 | Release the memory associated to this symbol. |
3350 `-----------------------------------------------*/
3353 #if (defined __STDC__ || defined __C99__FUNC__ \
3354 || defined __cplusplus || defined _MSC_VER)
3356 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
3359 yydestruct (yymsg, yytype, yyvaluep)
3369 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3380 /* Prevent warnings from -Wmissing-prototypes. */
3382 #ifdef YYPARSE_PARAM
3383 #if defined __STDC__ || defined __cplusplus
3384 int yyparse (void *YYPARSE_PARAM);
3388 #else /* ! YYPARSE_PARAM */
3389 #if defined __STDC__ || defined __cplusplus
3394 #endif /* ! YYPARSE_PARAM */
3398 /* The look-ahead symbol. */
3401 /* The semantic value of the look-ahead symbol. */
3404 /* Number of syntax errors so far. */
3413 #ifdef YYPARSE_PARAM
3414 #if (defined __STDC__ || defined __C99__FUNC__ \
3415 || defined __cplusplus || defined _MSC_VER)
3417 yyparse (void *YYPARSE_PARAM)
3420 yyparse (YYPARSE_PARAM)
3421 void *YYPARSE_PARAM;
3423 #else /* ! YYPARSE_PARAM */
3424 #if (defined __STDC__ || defined __C99__FUNC__ \
3425 || defined __cplusplus || defined _MSC_VER)
3439 /* Number of tokens to shift before error messages enabled. */
3441 /* Look-ahead token as an internal (translated) token number. */
3444 /* Buffer for error messages, and its allocated size. */
3446 char *yymsg = yymsgbuf;
3447 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
3450 /* Three stacks and their tools:
3451 `yyss': related to states,
3452 `yyvs': related to semantic values,
3453 `yyls': related to locations.
3455 Refer to the stacks thru separate pointers, to allow yyoverflow
3456 to reallocate them elsewhere. */
3458 /* The state stack. */
3459 yytype_int16 yyssa[YYINITDEPTH];
3460 yytype_int16 *yyss = yyssa;
3461 yytype_int16 *yyssp;
3463 /* The semantic value stack. */
3464 YYSTYPE yyvsa[YYINITDEPTH];
3465 YYSTYPE *yyvs = yyvsa;
3470 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
3472 YYSIZE_T yystacksize = YYINITDEPTH;
3474 /* The variables used to return semantic value and location from the
3479 /* The number of symbols on the RHS of the reduced rule.
3480 Keep to zero when no symbol should be popped. */
3483 YYDPRINTF ((stderr, "Starting parse\n"));
3488 yychar = YYEMPTY; /* Cause a token to be read. */
3490 /* Initialize stack pointers.
3491 Waste one element of value and location stack
3492 so that they stay on the same level as the state stack.
3493 The wasted elements are never initialized. */
3499 /* User initialization code. */
3502 /* Line 1078 of yacc.c. */
3506 /*------------------------------------------------------------.
3507 | yynewstate -- Push a new state, which is found in yystate. |
3508 `------------------------------------------------------------*/
3510 /* In all cases, when you get here, the value and location stacks
3511 have just been pushed. So pushing a state here evens the stacks. */
3517 if (yyss + yystacksize - 1 <= yyssp)
3519 /* Get the current used size of the three stacks, in elements. */
3520 YYSIZE_T yysize = yyssp - yyss + 1;
3524 /* Give user a chance to reallocate the stack. Use copies of
3525 these so that the &'s don't force the real ones into
3527 YYSTYPE *yyvs1 = yyvs;
3528 yytype_int16 *yyss1 = yyss;
3531 /* Each stack pointer address is followed by the size of the
3532 data in use in that stack, in bytes. This used to be a
3533 conditional around just the two extra args, but that might
3534 be undefined if yyoverflow is a macro. */
3535 yyoverflow (YY_("memory exhausted"),
3536 &yyss1, yysize * sizeof (*yyssp),
3537 &yyvs1, yysize * sizeof (*yyvsp),
3544 #else /* no yyoverflow */
3545 # ifndef YYSTACK_RELOCATE
3546 goto yyexhaustedlab;
3548 /* Extend the stack our own way. */
3549 if (YYMAXDEPTH <= yystacksize)
3550 goto yyexhaustedlab;
3552 if (YYMAXDEPTH < yystacksize)
3553 yystacksize = YYMAXDEPTH;
3556 yytype_int16 *yyss1 = yyss;
3557 union yyalloc *yyptr =
3558 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3560 goto yyexhaustedlab;
3561 YYSTACK_RELOCATE (yyss);
3562 YYSTACK_RELOCATE (yyvs);
3564 # undef YYSTACK_RELOCATE
3566 YYSTACK_FREE (yyss1);
3569 #endif /* no yyoverflow */
3571 yyssp = yyss + yysize - 1;
3572 yyvsp = yyvs + yysize - 1;
3575 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
3576 (unsigned long int) yystacksize));
3578 if (yyss + yystacksize - 1 <= yyssp)
3582 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
3591 /* Do appropriate processing given the current state. Read a
3592 look-ahead token if we need one and don't already have one. */
3594 /* First try to decide what to do without reference to look-ahead token. */
3595 yyn = yypact[yystate];
3596 if (yyn == YYPACT_NINF)
3599 /* Not known => get a look-ahead token if don't already have one. */
3601 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
3602 if (yychar == YYEMPTY)
3604 YYDPRINTF ((stderr, "Reading a token: "));
3608 if (yychar <= YYEOF)
3610 yychar = yytoken = YYEOF;
3611 YYDPRINTF ((stderr, "Now at end of input.\n"));
3615 yytoken = YYTRANSLATE (yychar);
3616 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3619 /* If the proper action on seeing token YYTOKEN is to reduce or to
3620 detect an error, take that action. */
3622 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
3627 if (yyn == 0 || yyn == YYTABLE_NINF)
3636 /* Count tokens shifted since error; after three, turn off error
3641 /* Shift the look-ahead token. */
3642 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3644 /* Discard the shifted token unless it is eof. */
3645 if (yychar != YYEOF)
3654 /*-----------------------------------------------------------.
3655 | yydefault -- do the default action for the current state. |
3656 `-----------------------------------------------------------*/
3658 yyn = yydefact[yystate];
3664 /*-----------------------------.
3665 | yyreduce -- Do a reduction. |
3666 `-----------------------------*/
3668 /* yyn is the number of a rule to reduce with. */
3671 /* If YYLEN is nonzero, implement the default value of the action:
3674 Otherwise, the following line sets YYVAL to garbage.
3675 This behavior is undocumented and Bison
3676 users should not rely upon it. Assigning to YYVAL
3677 unconditionally makes the parser a bit smaller, and it avoids a
3678 GCC warning that YYVAL may be used uninitialized. */
3679 yyval = yyvsp[1-yylen];
3682 YY_REDUCE_PRINT (yyn);
3687 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
3692 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
3697 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
3702 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
3707 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
3712 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
3717 { (yyval.qstr)="null"; ;}
3722 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
3727 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
3732 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "+(yyvsp[(2) - (2)].qstr); ;}
3737 { (yyval.qstr)=""; ;}
3742 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
3747 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "+(yyvsp[(2) - (2)].qstr); ;}
3752 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
3757 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+","+(yyvsp[(3) - (3)].qstr);}
3763 if ( parse_sec == 0)
3765 addVhdlType((yyvsp[(2) - (3)].qstr),getParsedLine(t_LIBRARY),Entry::VARIABLE_SEC,VhdlDocGen::LIBRARY,(yyvsp[(2) - (3)].qstr).data(),"_library_");
3767 (yyval.qstr)="library "+(yyvsp[(2) - (3)].qstr);
3774 QStringList ql1=QStringList::split(",",(yyvsp[(2) - (3)].qstr),FALSE);
3775 for (uint j=0;j<ql1.count();j++)
3777 QStringList ql=QStringList::split(".",ql1[j],FALSE);
3778 QCString it=ql[1].utf8();
3779 if ( parse_sec == 0 )
3781 addVhdlType(it,getParsedLine(t_USE),Entry::VARIABLE_SEC,VhdlDocGen::USE,it.data(),"_use_");
3784 (yyval.qstr)="use "+(yyvsp[(2) - (3)].qstr);
3790 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
3795 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+","+(yyvsp[(3) - (3)].qstr); ;}
3801 (yyval.qstr)=(yyvsp[(2) - (3)].qstr);
3804 /*int k=*/ getParsedLine(t_ENTITY);
3805 addVhdlType((yyval.qstr),getParsedLine(t_ENTITY),Entry::CLASS_SEC,VhdlDocGen::ENTITY,0,0,Public);
3806 //fprintf(stderr,"\n entiy %s : at line %d",$$.data(),s_str.yyLineNr);
3812 { (yyval.qstr)=""; ;}
3817 { currP=VhdlDocGen::PORT; ;}
3827 { (yyval.qstr)=""; ;}
3832 { currP=VhdlDocGen::GENERIC;parse_sec=GEN_SEC;}
3837 { currP=0;parse_sec=0; ;}
3848 (yyval.qstr)=(yyvsp[(4) - (5)].qstr);
3850 (yyval.qstr)+=(yyvsp[(2) - (5)].qstr);
3851 pushLabel((yyvsp[(2) - (5)].qstr));
3852 lastCompound=current;
3853 addVhdlType((yyval.qstr),getParsedLine(t_ARCHITECTURE),Entry::CLASS_SEC,VhdlDocGen::ARCHITECTURE,0,0,Private);
3859 { (yyval.qstr)=""; ;}
3864 { genLabels.resize(0); ;}
3869 { genLabels.resize(0); ;}
3882 confName=(yyvsp[(2) - (5)].qstr)+"::"+(yyvsp[(4) - (5)].qstr);
3883 addVhdlType((yyvsp[(2) - (5)].qstr).data(),getParsedLine(t_CONFIGURATION),Entry::VARIABLE_SEC,VhdlDocGen::CONFIG,"configuration",(yyvsp[(4) - (5)].qstr).data());
3889 { (yyval.qstr)=""; ;}
3894 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
3899 { (yyval.qstr)="configuration"; ;}
3904 { (yyval.qstr)=(yyvsp[(2) - (2)].qstr); ;}
3909 { (yyval.qstr)=""; ;}
3914 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "+(yyvsp[(2) - (2)].qstr); ;}
3919 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
3925 lastCompound=current;
3928 Entry *clone=new Entry(*current);
3929 clone->section=Entry::NAMESPACE_SEC;
3930 clone->spec=VhdlDocGen::PACKAGE;
3931 clone->name=(yyvsp[(2) - (3)].qstr);
3932 int line=s_str.iLine;
3933 clone->startLine=line;
3934 clone->bodyLine=line;
3936 clone->protection=Package;
3937 current_root->addSubEntry(clone);
3940 addVhdlType((yyvsp[(2) - (3)].qstr),line,Entry::CLASS_SEC,VhdlDocGen::PACKAGE,0,0,Package);
3941 //fprintf(stderr,"\n entiy %s : at line %d",$$.data(),s_str.yyLineNr);
3947 { lastCompound=0; ;}
3952 { lastCompound=0; ;}
3957 { lastCompound=0; ;}
3963 (yyval.qstr)=(yyvsp[(3) - (4)].qstr);
3964 lastCompound=current;
3965 (yyval.qstr).prepend("_");
3966 addVhdlType((yyval.qstr),getParsedLine(t_PACKAGE) ,Entry::CLASS_SEC,VhdlDocGen::PACKAGE_BODY,0,0,Protected);
3972 { (yyval.qstr)="";lastCompound=0; ;}
3977 { lastCompound=0; ;}
3982 { lastCompound=0; ;}
3987 { lastCompound=0; ;}
3992 { (yyval.qstr)=""; ;}
3997 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4002 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4007 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4012 { (yyval.qstr)=(yyvsp[(3) - (4)].qstr); ;}
4017 { (yyval.qstr)="pure"; ;}
4022 { (yyval.qstr)="impure"; ;}
4032 { currP=VhdlDocGen::PROCEDURE; createFunction((yyvsp[(2) - (2)].qstr),currP,0); ;}
4043 currP=VhdlDocGen::FUNCTION;
4044 createFunction((yyvsp[(1) - (3)].qstr),currP,(yyvsp[(3) - (3)].qstr).data());
4052 current->type=(yyvsp[(7) - (7)].qstr);
4060 currP=VhdlDocGen::FUNCTION;
4061 createFunction(0,currP,(yyvsp[(2) - (2)].qstr).data());
4069 current->type=(yyvsp[(6) - (6)].qstr);
4076 { param_sec=PARAM_SEC; ;}
4086 { param_sec=PARAM_SEC; ;}
4110 { (yyval.qstr)=""; ;}
4115 { (yyval.qstr)=""; ;}
4121 // adding generic : [ package foo is new bar]
4122 if (parse_sec==GEN_SEC)
4124 QCString n=current->name;
4125 addVhdlType(n.data(),getParsedLine(t_PACKAGE),Entry::VARIABLE_SEC,VhdlDocGen::GENERIC,(yyvsp[(1) - (1)].qstr).data(),0);
4133 if (parse_sec==GEN_SEC)
4135 int a=getParsedLine(t_FUNCTION);
4136 int b=getParsedLine(t_PROCEDURE);
4140 QCString n=current->name;
4141 addVhdlType(n.data(),b,Entry::VARIABLE_SEC,VhdlDocGen::GENERIC,(yyvsp[(1) - (1)].qstr).data(),0);
4149 if (parse_sec==GEN_SEC)
4151 QCString v= (yyvsp[(1) - (2)].qstr);
4152 addVhdlType((yyvsp[(2) - (2)].qstr),s_str.iLine,Entry::VARIABLE_SEC,currP,(yyvsp[(1) - (2)].qstr).data(),0);
4160 QCString b=(yyvsp[(2) - (7)].qstr);
4161 (yyval.qstr)=(yyvsp[(2) - (7)].qstr)+":"+(yyvsp[(4) - (7)].qstr)+(yyvsp[(5) - (7)].qstr)+(yyvsp[(6) - (7)].qstr)+(yyvsp[(7) - (7)].qstr);
4162 if (currP!=VhdlDocGen::COMPONENT)
4164 if (currP==VhdlDocGen::FUNCTION || currP==VhdlDocGen::PROCEDURE)
4166 addProto((yyvsp[(1) - (7)].qstr).data(),(yyvsp[(2) - (7)].qstr).data(),(yyvsp[(4) - (7)].qstr).data(),(yyvsp[(5) - (7)].qstr).data(),(yyvsp[(6) - (7)].qstr).data(),(yyvsp[(7) - (7)].qstr).data());
4170 QCString i=(yyvsp[(5) - (7)].qstr)+(yyvsp[(6) - (7)].qstr)+(yyvsp[(7) - (7)].qstr);
4171 if (currP==VhdlDocGen::GENERIC)
4172 addVhdlType((yyvsp[(2) - (7)].qstr),s_str.iLine,Entry::VARIABLE_SEC,currP,i.data(),(yyvsp[(4) - (7)].qstr).data());
4173 else if(parse_sec != GEN_SEC)
4174 addVhdlType((yyvsp[(2) - (7)].qstr),s_str.iLine,Entry::VARIABLE_SEC,currP,i.data(),(yyvsp[(4) - (7)].qstr).data());
4176 // fprintf(stderr,"\n\n <<port %s >>\n",$$.data());
4183 { (yyval.qstr)=""; ;}
4188 { (yyval.qstr)=":="+(yyvsp[(2) - (2)].qstr); ;}
4193 { (yyval.qstr)=""; ;}
4198 { (yyval.qstr)="buffer"; ;}
4203 { (yyval.qstr)="bus"; ;}
4208 { (yyval.qstr)=""; ;}
4213 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4218 { (yyval.qstr)=""; ;}
4223 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4228 { (yyval.qstr)="in"; ;}
4233 { (yyval.qstr)="out"; ;}
4238 { (yyval.qstr)="inout"; ;}
4243 { (yyval.qstr)="buffer"; ;}
4248 { (yyval.qstr)="link"; ;}
4253 { (yyval.qstr)="("+(yyvsp[(2) - (4)].qstr)+")"; ;}
4258 { (yyval.qstr)=""; ;}
4263 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "+(yyvsp[(2) - (2)].qstr); ;}
4268 { (yyval.qstr)=", "+(yyvsp[(2) - (2)].qstr); ;}
4274 QCString str="( "+(yyvsp[(2) - (4)].qstr);
4282 { (yyval.qstr)=""; ;}
4287 { (yyval.qstr)=" ( open ) "; ;}
4292 { (yyval.qstr)=""; ;}
4297 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+"?? "+(yyvsp[(2) - (2)].qstr); ;}
4302 { (yyval.qstr)=","+(yyvsp[(2) - (2)].qstr); ;}
4307 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+"=>"+(yyvsp[(3) - (3)].qstr); ;}
4312 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4317 { (yyval.qstr)="<>"; ;}
4322 { (yyval.qstr)="default"; ;}
4327 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4332 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr) ; ;}
4337 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4342 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4347 { (yyval.qstr)="open"; ;}
4352 { (yyval.qstr)="inertial"; ;}
4357 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4362 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4367 { (yyval.qstr)=" ?? "+(yyvsp[(2) - (2)].qstr); ;}
4372 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4377 { (yyval.qstr)="+"+(yyvsp[(2) - (2)].qstr); ;}
4382 { (yyval.qstr)="-"+(yyvsp[(2) - (2)].qstr); ;}
4387 { (yyval.qstr)="abs"+(yyvsp[(2) - (2)].qstr); ;}
4392 { (yyval.qstr)="not "+(yyvsp[(2) - (2)].qstr); ;}
4397 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" ** "+(yyvsp[(3) - (3)].qstr); ;}
4402 { (yyval.qstr)=(yyvsp[(2) - (4)].qstr)+" ** "+(yyvsp[(4) - (4)].qstr); ;}
4407 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" mod "+(yyvsp[(3) - (3)].qstr); ;}
4412 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" rem "+(yyvsp[(3) - (3)].qstr); ;}
4417 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" & "+(yyvsp[(3) - (3)].qstr); ;}
4422 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" * "+(yyvsp[(3) - (3)].qstr); ;}
4427 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" + "+(yyvsp[(3) - (3)].qstr); ;}
4432 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" - "+(yyvsp[(3) - (3)].qstr); ;}
4437 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" <= "+(yyvsp[(3) - (3)].qstr); ;}
4442 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" >= "+(yyvsp[(3) - (3)].qstr); ;}
4447 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" < "+(yyvsp[(3) - (3)].qstr); ;}
4452 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" > "+(yyvsp[(3) - (3)].qstr); ;}
4457 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" == "+(yyvsp[(3) - (3)].qstr); ;}
4462 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" != "+(yyvsp[(3) - (3)].qstr); ;}
4467 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" /"+(yyvsp[(3) - (3)].qstr); ;}
4472 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" ?/="+(yyvsp[(3) - (3)].qstr); ;}
4477 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" ?="+(yyvsp[(3) - (3)].qstr); ;}
4482 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" ?<"+(yyvsp[(3) - (3)].qstr); ;}
4487 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" ?>"+(yyvsp[(3) - (3)].qstr); ;}
4492 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" ?<="+(yyvsp[(3) - (3)].qstr); ;}
4497 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" ?>="+(yyvsp[(3) - (3)].qstr); ;}
4502 { (yyval.qstr) = "-"+(yyvsp[(2) - (2)].qstr); ;}
4507 { (yyval.qstr) = "+"+(yyvsp[(2) - (2)].qstr); ;}
4512 { (yyval.qstr) = (yyvsp[(1) - (1)].qstr); ;}
4517 { (yyval.qstr) = (yyvsp[(1) - (3)].qstr)+" "+(yyvsp[(2) - (3)].qstr)+" "+(yyvsp[(3) - (3)].qstr); ;}
4522 { (yyval.qstr) = "&"; ;}
4527 { (yyval.qstr) = "-"; ;}
4532 { (yyval.qstr) = "+"; ;}
4537 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4542 { (yyval.qstr) = (yyvsp[(1) - (3)].qstr)+" "+(yyvsp[(2) - (3)].qstr)+" "+(yyvsp[(3) - (3)].qstr); ;}
4547 { (yyval.qstr) = "*"; ;}
4552 { (yyval.qstr) = "rem"; ;}
4557 { (yyval.qstr) = "mod"; ;}
4562 { (yyval.qstr) = "/"; ;}
4567 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4572 { (yyval.qstr)="abs "+(yyvsp[(2) - (2)].qstr); ;}
4577 { (yyval.qstr)="not "+(yyvsp[(2) - (2)].qstr); ;}
4582 { (yyval.qstr) = (yyvsp[(1) - (3)].qstr)+" ** "+(yyvsp[(3) - (3)].qstr); ;}
4587 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4592 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4597 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4602 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4607 { (yyval.qstr)=""; ;}
4612 { (yyval.qstr)="("+(yyvsp[(2) - (3)].qstr)+")"; ;}
4617 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4622 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4627 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4632 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4637 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4642 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4647 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4652 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4657 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+"."+(yyvsp[(3) - (3)].qstr); ;}
4662 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4667 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4672 { (yyval.qstr)="all"; ;}
4677 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "+(yyvsp[(2) - (2)].qstr); ;}
4682 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "+(yyvsp[(2) - (2)].qstr); ;}
4687 { (yyval.qstr)="'"; ;}
4692 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+"' "+(yyvsp[(3) - (3)].qstr); ;}
4697 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" '"+(yyvsp[(3) - (3)].qstr); ;}
4702 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+"' range "; ;}
4707 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+"' range "; ;}
4712 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" ) "; ;}
4717 { (yyval.qstr)="( "+(yyvsp[(2) - (5)].qstr)+ "=>"+(yyvsp[(4) - (5)].qstr)+" ) "; ;}
4722 { (yyval.qstr)=" ( "+(yyvsp[(2) - (4)].qstr)+","+(yyvsp[(4) - (4)].qstr); ;}
4727 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+","+(yyvsp[(3) - (3)].qstr); ;}
4732 { (yyval.qstr)=(yyvsp[(1) - (5)].qstr)+"'("+(yyvsp[(4) - (5)].qstr)+" ) "; ;}
4737 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+"'"+(yyvsp[(3) - (3)].qstr); ;}
4742 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+"=> "+(yyvsp[(3) - (3)].qstr); ;}
4747 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4752 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "+(yyvsp[(2) - (2)].qstr); ;}
4757 { (yyval.qstr)=""; ;}
4762 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "+(yyvsp[(2) - (2)].qstr); ;}
4767 { (yyval.qstr)=" | "+(yyvsp[(2) - (2)].qstr); ;}
4772 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4777 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4782 { (yyval.qstr)="others"; ;}
4787 { (yyval.qstr)=""; ;}
4793 addVhdlType((yyvsp[(2) - (4)].qstr),getParsedLine(t_TYPE),Entry::VARIABLE_SEC,VhdlDocGen::TYPE,0,(yyvsp[(3) - (4)].qstr).data());
4799 { (yyval.qstr)=""; ;}
4804 { (yyval.qstr)=""; ;}
4809 { (yyval.qstr)="is "+(yyvsp[(2) - (2)].qstr); ;}
4814 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4819 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4824 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4829 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4834 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4839 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4844 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4849 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4854 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4859 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4864 { (yyval.qstr)="( "+(yyvsp[(2) - (4)].qstr)+" "+(yyvsp[(3) - (4)].qstr)+" )"; ;}
4869 { (yyval.qstr)=""; ;}
4874 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "+(yyvsp[(2) - (2)].qstr); ;}
4879 { (yyval.qstr)=","+(yyvsp[(2) - (2)].qstr); ;}
4885 (yyval.qstr)=(yyvsp[(1) - (6)].qstr);
4886 current->args=(yyvsp[(3) - (6)].qstr)+"#"+(yyvsp[(4) - (6)].qstr);
4887 current->args.prepend("units");
4888 current->spec=VhdlDocGen::UNITS;
4894 { (yyval.qstr)=""; ;}
4899 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "+(yyvsp[(2) - (2)].qstr); ;}
4904 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr)+"#"; ;}
4909 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr); ;}
4914 { (yyval.qstr)=(yyvsp[(1) - (4)].qstr)+"="+(yyvsp[(3) - (4)].qstr) ;}
4920 QCString sr1=" array ( "+(yyvsp[(3) - (7)].qstr)+" "+(yyvsp[(4) - (7)].qstr);
4921 QCString sr2=" ) of "+(yyvsp[(7) - (7)].qstr);
4922 (yyval.qstr)=sr1+sr2;
4928 { (yyval.qstr)=""; ;}
4933 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "+(yyvsp[(2) - (2)].qstr) ;}
4938 { (yyval.qstr)=", "+(yyvsp[(2) - (2)].qstr) ;}
4943 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" range<> "; ;}
4948 { (yyval.qstr)=" array "+(yyvsp[(2) - (4)].qstr)+" of "+(yyvsp[(4) - (4)].qstr); ;}
4953 { (yyval.qstr)=""; ;}
4958 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4964 QRegExp reg("[\\s]");
4965 QCString oo=(yyvsp[(2) - (6)].qstr)+" "+(yyvsp[(3) - (6)].qstr);
4966 current->spec=VhdlDocGen::RECORD;
4968 current->args.replace(reg,"%");
4969 current->args.prepend("record");
4970 (yyval.qstr)=(yyvsp[(2) - (6)].qstr)+" "+(yyvsp[(3) - (6)].qstr);
4976 { (yyval.qstr)=""; ;}
4982 (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "+(yyvsp[(2) - (2)].qstr);
4988 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
4993 { (yyval.qstr)=(yyvsp[(1) - (4)].qstr)+":"+(yyvsp[(3) - (4)].qstr)+"#"; ;}
4998 { (yyval.qstr)="access "+(yyvsp[(2) - (2)].qstr); ;}
5003 { (yyval.qstr)="file of "+(yyvsp[(3) - (3)].qstr); ;}
5009 addVhdlType((yyvsp[(2) - (5)].qstr),getParsedLine(t_SUBTYPE),Entry::VARIABLE_SEC,VhdlDocGen::SUBTYPE,0,(yyvsp[(4) - (5)].qstr).data());
5015 { (yyval.qstr)=""; ;}
5020 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "+(yyvsp[(2) - (2)].qstr); ;}
5025 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5030 { (yyval.qstr)=""; ;}
5035 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5040 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" "+(yyvsp[(2) - (3)].qstr)+" "+(yyvsp[(3) - (3)].qstr); ;}
5045 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "+(yyvsp[(2) - (2)].qstr); ;}
5050 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" "+(yyvsp[(2) - (3)].qstr)+" "+(yyvsp[(3) - (3)].qstr); ;}
5055 { (yyval.qstr)=""; ;}
5060 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5065 { (yyval.qstr)="range "+(yyvsp[(2) - (2)].qstr); ;}
5070 { (yyval.qstr)="("+(yyvsp[(2) - (4)].qstr)+" "+(yyvsp[(3) - (4)].qstr)+")"; ;}
5075 { (yyval.qstr)=""; ;}
5080 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "+(yyvsp[(2) - (2)].qstr); ;}
5085 { (yyval.qstr)=","+(yyvsp[(2) - (2)].qstr); ;}
5090 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5095 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5100 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5105 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" "+(yyvsp[(2) - (3)].qstr)+" "+(yyvsp[(3) - (3)].qstr); ;}
5110 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5115 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" "+(yyvsp[(2) - (3)].qstr)+" "+(yyvsp[(3) - (3)].qstr); ;}
5120 { (yyval.qstr)=" to "; ;}
5125 { (yyval.qstr)=" downto "; ;}
5131 QCString it=(yyvsp[(4) - (6)].qstr)+" "+(yyvsp[(5) - (6)].qstr);
5132 // fprintf(stderr,"\n currP %d \n",currP);
5133 addVhdlType((yyvsp[(2) - (6)].qstr),getParsedLine(t_CONSTANT),Entry::VARIABLE_SEC,VhdlDocGen::CONSTANT,0,it.data());
5139 { (yyval.qstr)=""; ;}
5144 { (yyval.qstr)=":="+(yyvsp[(2) - (2)].qstr); ;}
5150 QCString s=(yyvsp[(4) - (7)].qstr)+" "+(yyvsp[(6) - (7)].qstr);
5151 addVhdlType((yyvsp[(2) - (7)].qstr),getParsedLine(t_SIGNAL),Entry::VARIABLE_SEC,VhdlDocGen::SIGNAL,0,s.data());
5157 { (yyval.qstr)=""; ;}
5162 { (yyval.qstr)=":="+(yyvsp[(2) - (2)].qstr); ;}
5167 { (yyval.qstr)=""; ;}
5172 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5178 (yyval.qstr)=(yyvsp[(2) - (6)].qstr)+":"+(yyvsp[(4) - (6)].qstr)+" "+(yyvsp[(5) - (6)].qstr);
5185 (yyval.qstr)=(yyvsp[(5) - (7)].qstr)+" "+(yyvsp[(6) - (7)].qstr);
5186 addVhdlType((yyvsp[(3) - (7)].qstr),getParsedLine(t_VARIABLE),Entry::VARIABLE_SEC,VhdlDocGen::SHAREDVARIABLE,0,(yyval.qstr).data());
5192 { (yyval.qstr)=""; ;}
5197 { (yyval.qstr)=":="+(yyvsp[(2) - (2)].qstr); ;}
5202 { (yyval.qstr)="constant"; ;}
5207 { (yyval.qstr)="signal"; ;}
5212 { (yyval.qstr)="variable"; ;}
5217 { (yyval.qstr)="shared"; ;}
5222 { (yyval.qstr)="file"; ;}
5227 { (yyval.qstr)="type"; ;}
5232 { (yyval.qstr)="bus"; ;}
5237 { (yyval.qstr)="register"; ;}
5243 QCString s=(yyvsp[(3) - (7)].qstr)+" is "+(yyvsp[(5) - (7)].qstr)+(yyvsp[(6) - (7)].qstr);
5244 addVhdlType((yyvsp[(2) - (7)].qstr),getParsedLine(t_ALIAS),Entry::VARIABLE_SEC,VhdlDocGen::ALIAS,0,s.data());
5250 { (yyval.qstr)=""; ;}
5255 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5260 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5265 { (yyval.qstr)=""; ;}
5270 { (yyval.qstr)=","+(yyvsp[(2) - (2)].qstr); ;}
5276 addVhdlType((yyvsp[(2) - (8)].qstr),getParsedLine(t_FILE),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,(yyvsp[(4) - (8)].qstr).data());
5283 QCString s=(yyvsp[(4) - (6)].qstr)+" "+(yyvsp[(5) - (6)].qstr);
5284 addVhdlType((yyvsp[(2) - (6)].qstr),getParsedLine(t_FILE),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,s.data());
5290 { (yyval.qstr)=""; ;}
5295 { (yyval.qstr)="open "+(yyvsp[(2) - (4)].qstr)+" is "+s_str.qstr; ;}
5300 { (yyval.qstr)=""; ;}
5305 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5311 addVhdlType((yyvsp[(2) - (5)].qstr),getParsedLine(t_ATTRIBUTE),Entry::VARIABLE_SEC,VhdlDocGen::ATTRIBUTE,0,(yyvsp[(4) - (5)].qstr).data());
5318 QCString oo=(yyvsp[(4) - (7)].qstr)+" is "+(yyvsp[(6) - (7)].qstr);
5319 addVhdlType((yyvsp[(2) - (7)].qstr),getParsedLine(t_ATTRIBUTE),Entry::VARIABLE_SEC,VhdlDocGen::ATTRIBUTE,0,oo.data());
5325 { (yyval.qstr)=(yyvsp[(1) - (4)].qstr)+(yyvsp[(2) - (4)].qstr)+":"+(yyvsp[(4) - (4)].qstr);;}
5330 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "+(yyvsp[(2) - (2)].qstr); ;}
5335 { (yyval.qstr)="others"; ;}
5340 { (yyval.qstr)="all"; ;}
5345 { (yyval.qstr)=""; ;}
5350 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "+(yyvsp[(2) - (2)].qstr); ;}
5355 { (yyval.qstr)=","+(yyvsp[(2) - (2)].qstr); ;}
5360 { (yyval.qstr)="entity"; ;}
5365 { (yyval.qstr)="architecture"; ;}
5370 { (yyval.qstr)="package"; ;}
5375 { (yyval.qstr)="configuration"; ;}
5380 { (yyval.qstr)="component"; ;}
5385 { (yyval.qstr)="label"; ;}
5390 { (yyval.qstr)="type"; ;}
5395 { (yyval.qstr)="subtype"; ;}
5400 { (yyval.qstr)="procedure"; ;}
5405 { (yyval.qstr)="function"; ;}
5410 { (yyval.qstr)="signal"; ;}
5415 { (yyval.qstr)="variable"; ;}
5420 { (yyval.qstr)="constant"; ;}
5425 { (yyval.qstr)="group"; ;}
5430 { (yyval.qstr)="file"; ;}
5435 { (yyval.qstr)="units"; ;}
5440 { (yyval.qstr)="literal"; ;}
5445 { (yyval.qstr)="sequence"; ;}
5450 { (yyval.qstr)="property"; ;}
5455 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5460 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+"."+(yyvsp[(3) - (3)].qstr); ;}
5465 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "+(yyvsp[(2) - (2)].qstr); ;}
5470 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5475 { (yyval.qstr)="("+(yyvsp[(2) - (3)].qstr)+")"; ;}
5480 { (yyval.qstr)="configurátion";yyLineNr=s_str.iLine; ;}
5485 { (yyval.qstr)="entity";yyLineNr=s_str.iLine; ;}
5490 { (yyval.qstr)="component";yyLineNr=s_str.iLine; ;}
5495 { yyLineNr=s_str.iLine; ;}
5501 addCompInst((yyvsp[(1) - (9)].qstr).data(),(yyvsp[(3) - (9)].qstr).data(),0,yyLineNr);
5507 { yyLineNr=s_str.iLine; ;}
5513 addCompInst((yyvsp[(1) - (8)].qstr).data(),(yyvsp[(3) - (8)].qstr).data(),0,yyLineNr);
5520 addCompInst((yyvsp[(1) - (8)].qstr).data(),(yyvsp[(4) - (8)].qstr).data(),(yyvsp[(3) - (8)].qstr).data(),yyLineNr);
5527 addCompInst((yyvsp[(1) - (9)].qstr).data(),(yyvsp[(4) - (9)].qstr).data(),(yyvsp[(3) - (9)].qstr).data(),yyLineNr);
5533 { pushLabel((yyvsp[(1) - (2)].qstr)); ;}
5548 { pushLabel((yyvsp[(1) - (2)].qstr)); ;}
5553 { (yyval.qstr)=""; ;}
5558 { (yyval.qstr)=(yyvsp[(2) - (2)].qstr); ;}
5564 current->name=(yyvsp[(1) - (3)].qstr);
5565 current->endBodyLine=s_str.yyLineNr;
5573 current->name=VhdlDocGen::getProcessNumber();
5574 current->endBodyLine=s_str.yyLineNr;
5581 { currP=VhdlDocGen::PROCESS; ;}
5587 createFunction(currName,VhdlDocGen::PROCESS,(yyvsp[(4) - (10)].qstr).data());
5598 { (yyval.qstr)=""; ;}
5603 { (yyval.qstr)="postponed"; ;}
5608 { (yyval.qstr)=""; ;}
5613 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5618 { (yyval.qstr)=""; ;}
5623 { (yyval.qstr)="all"; ;}
5628 { (yyval.qstr)=(yyvsp[(2) - (3)].qstr); ;}
5633 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "+(yyvsp[(2) - (2)].qstr); ;}
5638 { (yyval.qstr)=""; ;}
5643 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "+(yyvsp[(2) - (2)].qstr); ;}
5648 { (yyval.qstr)=","+(yyvsp[(2) - (2)].qstr); ;}
5653 { lastEntity=0; lastCompound=0; genLabels.resize(0); ;}
5658 { lastCompound=0; genLabels.resize(0); ;}
5663 { lastEntity=0; genLabels.resize(0); ;}
5668 { lastEntity=0; lastCompound=0; genLabels.resize(0); ;}
5673 { currP=VhdlDocGen::COMPONENT; ;}
5678 { currP=VhdlDocGen::COMPONENT; ;}
5684 addVhdlType((yyvsp[(2) - (7)].qstr),getParsedLine(t_COMPONENT),Entry::VARIABLE_SEC,VhdlDocGen::COMPONENT,0,0);
5691 { (yyval.qstr)=""; ;}
5696 { (yyval.qstr)=(yyvsp[(2) - (3)].qstr); ;}
5701 { (yyval.qstr)=""; ;}
5706 { (yyval.qstr)=(yyvsp[(2) - (3)].qstr); ;}
5718 { (yyval.qstr)=""; ;}
5723 { (yyval.qstr)=""; ;}
5728 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "; ;}
5733 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5738 { (yyval.qstr)=""; ;}
5743 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr); ;}
5748 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5754 (yyval.qstr)=(yyvsp[(1) - (1)].qstr);
5756 if (levelCounter==0)
5757 addConfigureNode((yyvsp[(1) - (1)].qstr).data(),NULL,TRUE,FALSE);
5759 addConfigureNode((yyvsp[(1) - (1)].qstr).data(),NULL,FALSE,FALSE);
5765 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5770 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5776 (yyval.qstr)=(yyvsp[(2) - (7)].qstr)+" "+(yyvsp[(3) - (7)].qstr)+" "+(yyvsp[(4) - (7)].qstr);
5783 { (yyval.qstr)=""; ;}
5788 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5793 { (yyval.qstr)=""; ;}
5798 { (yyval.qstr)=""; ;}
5803 { (yyval.qstr)=""; ;}
5809 addConfigureNode(compSpec.data(),(yyvsp[(2) - (3)].qstr).data(),FALSE,FALSE);
5816 addConfigureNode((yyvsp[(2) - (4)].qstr).data(),(yyvsp[(3) - (4)].qstr).data(),TRUE,FALSE,TRUE);currNode->confVhdl=lastCompound->name;
5823 addConfigureNode((yyvsp[(2) - (7)].qstr).data(),(yyvsp[(3) - (7)].qstr).data(),TRUE,FALSE,TRUE);currNode->confVhdl=lastCompound->name;
5829 { (yyval.qstr)=(yyvsp[(2) - (2)].qstr); ;}
5834 { (yyval.qstr)=""; ;}
5839 { (yyval.qstr)=""; ;}
5845 (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+":"+(yyvsp[(3) - (3)].qstr);
5846 compSpec=(yyval.qstr);
5852 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5857 { (yyval.qstr)="all"; ;}
5862 { (yyval.qstr)="others"; ;}
5867 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr); ;}
5872 { (yyval.qstr)="entity "+(yyvsp[(2) - (2)].qstr); ;}
5877 { (yyval.qstr)="configuration "+ (yyvsp[(2) - (2)].qstr); ;}
5882 { (yyval.qstr)="open "; ;}
5887 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5892 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5897 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5902 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+","+(yyvsp[(3) - (3)].qstr); ;}
5909 (yyval.qstr)="("+(yyvsp[(4) - (8)].qstr)+(yyvsp[(6) - (8)].qstr)+")";
5910 addVhdlType((yyvsp[(2) - (8)].qstr),getParsedLine(t_GROUP),Entry::VARIABLE_SEC,VhdlDocGen::GROUP,(yyval.qstr).data(),0);
5917 (yyval.qstr)=(yyvsp[(2) - (7)].qstr)+":"+(yyvsp[(5) - (7)].qstr);
5918 addVhdlType((yyvsp[(2) - (7)].qstr),getParsedLine(t_GROUP),Entry::VARIABLE_SEC,VhdlDocGen::GROUP,(yyvsp[(5) - (7)].qstr).data(),0);
5924 { (yyval.qstr)=""; ;}
5929 { (yyval.qstr)=""; ;}
5934 { (yyval.qstr)="<>"; ;}
5939 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5944 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+","+(yyvsp[(3) - (3)].qstr); ;}
5949 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5954 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
5960 (yyval.qstr)=s_str.qstr;
5967 (yyval.qstr)=s_str.qstr;
5974 (yyval.qstr)=s_str.qstr;
5981 (yyval.qstr)=s_str.qstr;
5988 (yyval.qstr)=s_str.qstr;
5994 { (yyval.qstr)=""; ;}
5999 { (yyval.qstr)=""; ;}
6004 { (yyval.qstr)=""; ;}
6009 { (yyval.qstr)=""; ;}
6014 { (yyval.qstr)="context "+(yyvsp[(2) - (3)].qstr); ;}
6019 { parse_sec=CONTEXT_SEC; ;}
6026 QCString v=(yyvsp[(5) - (8)].qstr);
6027 addVhdlType((yyvsp[(2) - (8)].qstr),getParsedLine(t_LIBRARY),Entry::VARIABLE_SEC,VhdlDocGen::LIBRARY,"context",(yyvsp[(5) - (8)].qstr).data());
6034 addVhdlType((yyvsp[(2) - (6)].qstr),getParsedLine(t_LIBRARY),Entry::VARIABLE_SEC,VhdlDocGen::LIBRARY,"context",0);
6040 { (yyval.qstr) = (yyvsp[(1) - (1)].qstr); ;}
6045 { (yyval.qstr) = (yyvsp[(1) - (2)].qstr)+"#"+(yyvsp[(2) - (2)].qstr); ;}
6050 { (yyval.qstr) = (yyvsp[(1) - (1)].qstr); ;}
6055 { (yyval.qstr) = (yyvsp[(1) - (1)].qstr); ;}
6060 { (yyval.qstr) = (yyvsp[(1) - (1)].qstr); ;}
6066 (yyval.qstr)=" is new "+(yyvsp[(5) - (7)].qstr)+(yyvsp[(6) - (7)].qstr);
6067 //Entry * pp=lastCompound;
6068 //Entry * pps=lastEntity ;
6070 addVhdlType((yyvsp[(2) - (7)].qstr),getParsedLine(t_PACKAGE),Entry::VARIABLE_SEC,VhdlDocGen::INSTANTIATION,"package",(yyval.qstr).data());
6077 (yyval.qstr)=" is new "+(yyvsp[(5) - (8)].qstr)+(yyvsp[(6) - (8)].qstr);
6078 addVhdlType((yyvsp[(2) - (8)].qstr),getParsedLine(t_PACKAGE),Entry::VARIABLE_SEC,VhdlDocGen::INSTANTIATION,"package",(yyval.qstr).data());
6084 { (yyval.qstr)=""; ;}
6090 (yyval.qstr)= " is new "+(yyvsp[(5) - (7)].qstr)+(yyvsp[(6) - (7)].qstr);
6091 addVhdlType((yyvsp[(2) - (7)].qstr),getParsedLine(t_FUNCTION),Entry::VARIABLE_SEC,VhdlDocGen::INSTANTIATION,"function ",(yyval.qstr).data());
6098 (yyval.qstr)=" is new "+(yyvsp[(5) - (8)].qstr)+(yyvsp[(6) - (8)].qstr);
6099 addVhdlType((yyvsp[(2) - (8)].qstr),getParsedLine(t_FUNCTION),Entry::VARIABLE_SEC,VhdlDocGen::INSTANTIATION,"function ",(yyval.qstr).data());
6105 { (yyval.qstr)=""; ;}
6110 { (yyval.qstr)=""; ;}
6115 { (yyval.qstr)="["+(yyvsp[(2) - (3)].qstr)+" ]"; ;}
6120 { (yyval.qstr)="[ ]"; ;}
6125 { (yyval.qstr)="return "+(yyvsp[(2) - (2)].qstr); ;}
6130 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
6135 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+" return "+(yyvsp[(3) - (3)].qstr); ;}
6140 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
6145 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+" "+(yyvsp[(2) - (2)].qstr); ;}
6150 { (yyval.qstr)=" , "+(yyvsp[(2) - (2)].qstr); ;}
6155 { (yyval.qstr) = (yyvsp[(1) - (1)].qstr); ;}
6160 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
6165 { (yyval.qstr) = "procedure "+(yyvsp[(2) - (3)].qstr)+(yyvsp[(3) - (3)].qstr); current->name=(yyvsp[(2) - (3)].qstr); ;}
6171 QCString s=(yyvsp[(6) - (6)].qstr);
6176 (yyval.qstr)=" function "+(yyvsp[(2) - (6)].qstr)+(yyvsp[(3) - (6)].qstr)+(yyvsp[(5) - (6)].qstr)+s;
6177 current->name=(yyvsp[(2) - (6)].qstr);
6184 QCString s=(yyvsp[(7) - (7)].qstr);
6189 (yyval.qstr)=(yyvsp[(1) - (7)].qstr)+" function "+(yyvsp[(3) - (7)].qstr)+(yyvsp[(4) - (7)].qstr)+" return "+(yyvsp[(6) - (7)].qstr)+s;
6190 current->name=(yyvsp[(3) - (7)].qstr);
6196 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
6201 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
6206 { (yyval.qstr)=""; ;}
6211 { (yyval.qstr)=(yyvsp[(2) - (2)].qstr); ;}
6216 { (yyval.qstr)="<>"; ;}
6221 { (yyval.qstr)=""; ;}
6226 { (yyval.qstr)="parameter "; ;}
6231 { parse_sec=PARAM_SEC; ;}
6241 { (yyval.qstr)="("+(yyvsp[(2) - (4)].qstr)+")"; ;}
6247 (yyval.qstr)="package "+(yyvsp[(2) - (5)].qstr)+" is new "+(yyvsp[(5) - (5)].qstr);
6248 current->name=(yyvsp[(2) - (5)].qstr);
6255 (yyval.qstr)="package "+(yyvsp[(2) - (6)].qstr)+" is new "+(yyvsp[(5) - (6)].qstr)+"( ... )" ;
6256 current->name=(yyvsp[(2) - (6)].qstr);
6263 //int u=s_str.iLine;
6271 QCString vo=(yyvsp[(3) - (3)].qstr);
6279 QCString s="<<"+(yyvsp[(2) - (6)].qstr);
6280 QCString s1=(yyvsp[(3) - (6)].qstr)+":"+(yyvsp[(5) - (6)].qstr)+">>";
6287 { (yyval.qstr)="constant "; ;}
6292 { (yyval.qstr)="signal "; ;}
6297 { (yyval.qstr)="variable "; ;}
6302 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
6307 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
6312 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
6317 { (yyval.qstr)="."+(yyvsp[(2) - (3)].qstr)+(yyvsp[(3) - (3)].qstr); ;}
6322 { (yyval.qstr)="."+(yyvsp[(2) - (2)].qstr); ;}
6327 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+(yyvsp[(2) - (3)].qstr)+(yyvsp[(3) - (3)].qstr); ;}
6332 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+(yyvsp[(2) - (2)].qstr); ;}
6337 { (yyval.qstr)="^."; ;}
6342 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+"^."; ;}
6347 { (yyval.qstr)=(yyvsp[(1) - (1)].qstr); ;}
6352 { (yyval.qstr)=(yyvsp[(1) - (4)].qstr)+"("+(yyvsp[(3) - (4)].qstr)+")"; ;}
6357 { (yyval.qstr)=(yyvsp[(1) - (2)].qstr)+"."; ;}
6362 { (yyval.qstr)=(yyvsp[(1) - (3)].qstr)+(yyvsp[(2) - (3)].qstr)+"."; ;}
6367 { (yyval.qstr)="@"+(yyvsp[(2) - (2)].qstr); ;}
6373 // fprintf(stderr,"\n tooldir %s",s_str.qstr.data() );
6378 /* Line 1267 of yacc.c. */
6382 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
6386 YY_STACK_PRINT (yyss, yyssp);
6391 /* Now `shift' the result of the reduction. Determine what state
6392 that goes to, based on the state we popped back to and the rule
6393 number reduced by. */
6397 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
6398 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
6399 yystate = yytable[yystate];
6401 yystate = yydefgoto[yyn - YYNTOKENS];
6406 /*------------------------------------.
6407 | yyerrlab -- here on detecting error |
6408 `------------------------------------*/
6410 /* If not already recovering from an error, report this error. */
6414 #if ! YYERROR_VERBOSE
6415 yyerror (YY_("syntax error"));
6418 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
6419 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
6421 YYSIZE_T yyalloc = 2 * yysize;
6422 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
6423 yyalloc = YYSTACK_ALLOC_MAXIMUM;
6424 if (yymsg != yymsgbuf)
6425 YYSTACK_FREE (yymsg);
6426 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
6428 yymsg_alloc = yyalloc;
6432 yymsg_alloc = sizeof yymsgbuf;
6436 if (0 < yysize && yysize <= yymsg_alloc)
6438 (void) yysyntax_error (yymsg, yystate, yychar);
6443 yyerror (YY_("syntax error"));
6445 goto yyexhaustedlab;
6453 if (yyerrstatus == 3)
6455 /* If just tried and failed to reuse look-ahead token after an
6456 error, discard it. */
6458 if (yychar <= YYEOF)
6460 /* Return failure if at end of input. */
6461 if (yychar == YYEOF)
6466 yydestruct ("Error: discarding",
6472 /* Else will try to reuse look-ahead token after shifting the error
6477 /*---------------------------------------------------.
6478 | yyerrorlab -- error raised explicitly by YYERROR. |
6479 `---------------------------------------------------*/
6482 /* Pacify compilers like GCC when the user code never invokes
6483 YYERROR and the label yyerrorlab therefore never appears in user
6485 if (/*CONSTCOND*/ 0)
6488 /* Do not reclaim the symbols of the rule which action triggered
6492 YY_STACK_PRINT (yyss, yyssp);
6497 /*-------------------------------------------------------------.
6498 | yyerrlab1 -- common code for both syntax error and YYERROR. |
6499 `-------------------------------------------------------------*/
6501 yyerrstatus = 3; /* Each real token shifted decrements this. */
6505 yyn = yypact[yystate];
6506 if (yyn != YYPACT_NINF)
6509 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6517 /* Pop the current state because it cannot handle the error token. */
6522 yydestruct ("Error: popping",
6523 yystos[yystate], yyvsp);
6526 YY_STACK_PRINT (yyss, yyssp);
6535 /* Shift the error token. */
6536 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
6542 /*-------------------------------------.
6543 | yyacceptlab -- YYACCEPT comes here. |
6544 `-------------------------------------*/
6549 /*-----------------------------------.
6550 | yyabortlab -- YYABORT comes here. |
6551 `-----------------------------------*/
6557 /*-------------------------------------------------.
6558 | yyexhaustedlab -- memory exhaustion comes here. |
6559 `-------------------------------------------------*/
6561 yyerror (YY_("memory exhausted"));
6567 if (yychar != YYEOF && yychar != YYEMPTY)
6568 yydestruct ("Cleanup: discarding lookahead",
6570 /* Do not reclaim the symbols of the rule which action triggered
6571 this YYABORT or YYACCEPT. */
6573 YY_STACK_PRINT (yyss, yyssp);
6574 while (yyssp != yyss)
6576 yydestruct ("Cleanup: popping",
6577 yystos[*yyssp], yyvsp);
6582 YYSTACK_FREE (yyss);
6585 if (yymsg != yymsgbuf)
6586 YYSTACK_FREE (yymsg);
6588 /* Make sure YYID is used. */
6589 return YYID (yyresult);
6596 extern YYSTYPE vhdlScanYYlval;
6598 void vhdlScanYYerror(const char* /*str*/)
6600 // fprintf(stderr,"\n<---error at line %d : [ %s] in file : %s ---->",s_str.yyLineNr,s_str.qstr.data(),s_str.fileName);
6612 // return myconv->doLex();
6615 VhdlContainer* getVhdlCont()
6620 Entry* getVhdlCompound()
6622 if (lastEntity) return lastEntity;
6623 if (lastCompound) return lastCompound;
6627 QList<VhdlConfNode>& getVhdlConfiguration() { return configL; }
6629 static void addCompInst(char *n, char* instName, char* comp,int iLine)
6632 current->spec=VhdlDocGen::INSTANTIATION;
6633 current->section=Entry::VARIABLE_SEC;
6634 current->startLine=iLine;
6635 current->bodyLine=iLine;
6636 current->type=instName; // foo:instname e.g proto or work. proto(ttt)
6637 current->exception=genLabels; // |arch|label1:label2...
6638 current->name=n; // foo
6639 current->args=lastCompound->name; // architecture name
6640 current->includeName=comp; // component/enity/configuration
6642 //printf(" \n genlable: [%s] inst: [%s] name: [%s] \n",genLabels.data(),instName,n);
6646 current->args=lastCompound->name;
6647 if (true) // !findInstant(current->type))
6650 instFiles.append(new Entry(*current));
6653 Entry *temp=current; // hold current pointer (temp=oldEntry)
6654 current=new Entry; // (oldEntry != current)
6664 static void pushLabel(const QCString &label)
6666 genLabels+="|"+label;
6669 static void popLabel()
6671 int u=genLabels.findRev("|");
6673 genLabels=genLabels.left(u);
6676 static void popConfig()
6679 currNode=currNode->prevNode;
6680 // printf("\n pop arch %s ",currNode->arch.data());
6683 static void addConfigureNode(const char* a,const char*b, bool isRoot,bool isLeave,bool inlineConf)
6686 QCString ent,arch,lab;
6688 lab = VhdlDocGen::parseForConfig(ent,arch);
6693 lab=VhdlDocGen::parseForBinding(ent,arch);
6696 co=new VhdlConfNode(a,b,confName.data());
6699 co->isInlineConf=TRUE;
6707 currNode->prevNode=currNode;
6711 currNode->addNode(co);
6712 co->prevNode=currNode;
6718 co=new VhdlConfNode(a,b,confName.data());
6719 currNode->addNode(co);
6723 //------------------------------------------------------------------------------------------------------------
6725 static bool isFuncProcProced()
6727 if (currP==VhdlDocGen::FUNCTION ||
6728 currP==VhdlDocGen::PROCEDURE ||
6729 currP==VhdlDocGen::PROCESS
6737 static void initEntry(Entry *e)
6739 e->fileName = s_str.fileName;
6740 e->lang=SrcLangExt_VHDL;
6745 static void addProto(const char *s1,const char *s2,const char *s3,
6746 const char *s4,const char *s5,const char *s6)
6748 // (void)s3; // avoid unused warning
6749 (void)s5; // avoid unused warning
6750 static QRegExp reg("[\\s]");
6752 QStringList ql=QStringList::split(",",name,FALSE);
6754 for (uint u=0;u<ql.count();u++)
6756 Argument *arg=new Argument;
6757 arg->name=ql[u].utf8();
6768 if (parse_sec==GEN_SEC && param_sec==0)
6773 if (parse_sec==PARAM_SEC)
6779 arg->attrib="";//s6;
6781 current->argList->append(arg);
6787 static void createFunction(const QCString &impure,int spec,
6788 const QCString &fname)
6791 current->bodyLine=getParsedLine(spec);
6793 current->section=Entry::FUNCTION_SEC;
6794 current->exception=impure;
6796 if (parse_sec==GEN_SEC)
6798 current->spec= VhdlDocGen::GENERIC;
6799 current->section=Entry::FUNCTION_SEC;
6802 if (currP==VhdlDocGen::PROCEDURE)
6804 current->name=impure;
6805 current->exception="";
6810 current->name=fname;
6814 if (spec==VhdlDocGen::PROCESS)
6817 current->args=fname;
6818 current->name=impure;
6819 if (!fname.isEmpty())
6821 QStringList q1=QStringList::split(',',fname);
6822 for (uint ii=0;ii<q1.count();ii++)
6824 Argument *arg=new Argument;
6825 arg->name=q1[ii].utf8();
6826 current->argList->append(arg);
6831 current->startLine=getParsedLine(it);
6832 current->bodyLine=getParsedLine(it);
6835 static void addVhdlType(const QCString &name,int startLine,int section,int spec,
6836 const char* args,const char* type,Protection prot)
6838 static QRegExp reg("[\\s]");
6840 //int startLine=getParsedLine(spec);
6842 if (isFuncProcProced())
6847 if (parse_sec==GEN_SEC)
6849 spec= VhdlDocGen::GENERIC;
6852 // more than one name ?
6853 QStringList ql=QStringList::split(",",name,FALSE);
6855 for (uint u=0;u<ql.count();u++)
6857 current->name=ql[u].utf8();
6858 // if (section==Entry::VARIABLE_SEC && !(spec == VhdlDocGen::USE || spec == VhdlDocGen::LIBRARY) )
6860 // current->name.prepend(VhdlDocGen::getRecordNumber());
6863 current->startLine=startLine;
6864 current->bodyLine=startLine;
6865 current->section=section;
6867 current->fileName=s_str.fileName;
6868 if (current->args.isEmpty())
6871 current->args.replace(reg,"%"); // insert dummy chars because wihte spaces are removed
6874 current->type.replace(reg,"%"); // insert dummy chars because white spaces are removed
6875 current->protection=prot;
6880 static void newEntry()
6882 if (current->spec==VhdlDocGen::ENTITY ||
6883 current->spec==VhdlDocGen::PACKAGE ||
6884 current->spec==VhdlDocGen::ARCHITECTURE ||
6885 current->spec==VhdlDocGen::PACKAGE_BODY
6888 current_root->addSubEntry(current);
6894 lastCompound->addSubEntry(current);
6900 lastEntity->addSubEntry(current);
6904 current_root->addSubEntry(current);
6908 current = new Entry ;