2 ** Inserted at beginning of c files generated by bison
3 ** REMEMBER: Change bison.reset too.
42 /*@-unqualifiedtrans@*/
49 /*drl added 11/27/2001*/
52 /*drl added 12/11/2002*/
55 /* < end of bison.head > */
57 /* A Bison parser, made by GNU Bison 2.3. */
59 /* Skeleton implementation for Bison's Yacc-like parsers in C
61 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
62 Free Software Foundation, Inc.
64 This program is free software; you can redistribute it and/or modify
65 it under the terms of the GNU General Public License as published by
66 the Free Software Foundation; either version 2, or (at your option)
69 This program is distributed in the hope that it will be useful,
70 but WITHOUT ANY WARRANTY; without even the implied warranty of
71 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
72 GNU General Public License for more details.
74 You should have received a copy of the GNU General Public License
75 along with this program; if not, write to the Free Software
76 Foundation, Inc., 51 Franklin Street, Fifth Floor,
77 Boston, MA 02110-1301, USA. */
79 /* As a special exception, you may create a larger work that contains
80 part or all of the Bison parser skeleton and distribute that work
81 under terms of your choice, so long as that work isn't itself a
82 parser generator using the skeleton or a modified version thereof
83 as a parser skeleton. Alternatively, if you modify or redistribute
84 the parser skeleton itself, you may (at your option) remove this
85 special exception, which will cause the skeleton and the resulting
86 Bison output files to be licensed under the GNU General Public
87 License without this special exception.
89 This special exception was added by the Free Software Foundation in
90 version 2.2 of Bison. */
92 /* C LALR(1) parser skeleton written by Richard Stallman, by
93 simplifying the original so-called "semantic" parser. */
95 /* All symbols defined below should begin with yy or YY, to avoid
96 infringing on user name space. This should be done even for local
97 variables, as they might otherwise be expanded by user macros.
98 There are some unavoidable exceptions within include files to
99 define necessary library symbols; they are noted "INFRINGES ON
100 USER NAME SPACE" below. */
102 /* Identify Bison output. */
106 #define YYBISON_VERSION "2.3"
109 #define YYSKELETON_NAME "yacc.c"
114 /* Using locations. */
115 #define YYLSP_NEEDED 0
122 /* Put the tokens into the symbol table, so that GDB and other debuggers
223 QINNERCONTINUE = 356,
225 QLINTNOTREACHED = 358,
226 QLINTFALLTHROUGH = 359,
230 QLINTPRINTFLIKE = 363,
253 QCHECKEDSTRICT = 386,
301 QUNSIGNEDINTEGRALTYPE = 434,
302 QSIGNEDINTEGRALTYPE = 435,
303 QNULLTERMINATED = 436,
304 QSETBUFFERSIZE = 437,
305 QSETSTRINGLENGTH = 438,
311 NEW_IDENTIFIER = 444,
312 TYPE_NAME_OR_ID = 445,
324 #define CTOK_ELIPSIS 260
348 #define TAMPERSAND 284
366 #define COFFSETOF 302
377 #define MUL_ASSIGN 313
378 #define DIV_ASSIGN 314
379 #define MOD_ASSIGN 315
380 #define ADD_ASSIGN 316
381 #define SUB_ASSIGN 317
382 #define LEFT_ASSIGN 318
383 #define RIGHT_ASSIGN 319
384 #define AND_ASSIGN 320
385 #define XOR_ASSIGN 321
386 #define OR_ASSIGN 322
394 #define QMODIFIES 330
396 #define QCONSTANT 332
397 #define QFUNCTION 333
401 #define QALLOCATES 337
403 #define QRELEASES 339
404 #define QPRECLAUSE 340
405 #define QPOSTCLAUSE 341
406 #define QINVARIANT 342
410 #define QENDMACRO 346
412 #define LLMACROITER 348
413 #define LLMACROEND 349
414 #define TENDMACRO 350
415 #define QDREVEALSTATE 351
416 #define QSWITCHBREAK 352
417 #define QLOOPBREAK 353
418 #define QINNERBREAK 354
419 #define QSAFEBREAK 355
420 #define QINNERCONTINUE 356
421 #define QFALLTHROUGH 357
422 #define QLINTNOTREACHED 358
423 #define QLINTFALLTHROUGH 359
424 #define QLINTFALLTHRU 360
425 #define QARGSUSED 361
426 #define QPRINTFLIKE 362
427 #define QLINTPRINTFLIKE 363
428 #define QSCANFLIKE 364
429 #define QMESSAGELIKE 365
430 #define QNOTREACHED 366
432 #define QRESTRICT 368
433 #define QVOLATILE 369
435 #define QEXTENSION 371
439 #define QREGISTER 375
449 #define QUNCHECKED 385
450 #define QCHECKEDSTRICT 386
451 #define QCHECKMOD 387
457 #define QDEPENDENT 393
458 #define QRETURNED 394
461 #define QOBSERVER 397
465 #define QNEVEREXIT 401
466 #define QTRUEEXIT 402
467 #define QFALSEEXIT 403
470 #define QUNSIGNED 406
476 #define QABSTRACT 412
477 #define QNUMABSTRACT 413
478 #define QCONCRETE 414
480 #define QIMMUTABLE 416
481 #define QTRUENULL 417
482 #define QFALSENULL 418
483 #define QEXTERNAL 419
484 #define QREFCOUNTED 420
497 #define QINTEGRALTYPE 433
498 #define QUNSIGNEDINTEGRALTYPE 434
499 #define QSIGNEDINTEGRALTYPE 435
500 #define QNULLTERMINATED 436
501 #define QSETBUFFERSIZE 437
502 #define QSETSTRINGLENGTH 438
505 #define QTESTINRANGE 441
507 #define IDENTIFIER 443
508 #define NEW_IDENTIFIER 444
509 #define TYPE_NAME_OR_ID 445
510 #define CANNOTATION 446
511 #define CCONSTANT 447
512 #define ITER_NAME 448
513 #define ITER_ENDNAME 449
514 #define TYPE_NAME 450
515 #define METASTATE_NAME 451
520 /* Copy the first part of user declarations. */
527 ** Yacc/Bison grammar for extended ANSI C used by Splint.
529 ** original grammar by Nate Osgood ---
530 ** hacrat@catfish.lcs.mit.edu Mon Jun 14 13:06:32 1993
532 ** changes for Splint --- handle typedef names correctly
533 ** fix struct/union parsing bug (empty struct is accepted)
534 ** add productions to handle macros --- require
535 ** error correction --- main source of conflicts in grammar.
536 ** need to process initializations sequentially, L->R
538 ** production names are cryptic, so more productions fit on one line
540 ** conflicts: 87 shift/reduce, 18 reduce/reduce
541 ** most of these are due to handling macros
542 ** a few are due to handling type expressions
548 extern void yyerror (char *);
550 # include "splintMacros.nf"
552 # include "cscanner.h"
553 # include "cscannerHelp.h"
554 # include "cgrammar.h"
555 # include "exprChecks.h"
560 # define SHOWCSYM FALSE
563 ** This is necessary, or else when the bison-generated code #include's malloc.h,
564 ** there will be a parse error.
566 ** Unfortunately, it means the error checking on malloc, etc. is lost for allocations
567 ** in bison-generated files under Win32.
578 /* Enabling traces. */
583 /* Enabling verbose error messages. */
584 #ifdef YYERROR_VERBOSE
585 # undef YYERROR_VERBOSE
586 # define YYERROR_VERBOSE 1
588 # define YYERROR_VERBOSE 0
591 /* Enabling the token table. */
592 #ifndef YYTOKEN_TABLE
593 # define YYTOKEN_TABLE 0
596 #if ! defined cgrammar_YYSTYPE && ! defined cgrammar_YYSTYPE_IS_DECLARED
597 typedef union cgrammar_YYSTYPE
605 /*@dependent@*/ sRef sr;
608 /*@only@*/ functionClauseList funcclauselist;
609 /*@only@*/ functionClause funcclause;
610 /*@only@*/ flagSpec flagspec;
611 /*@only@*/ globalsClause globsclause;
612 /*@only@*/ modifiesClause modsclause;
613 /*@only@*/ warnClause warnclause;
614 /*@only@*/ stateClause stateclause;
615 /*@only@*/ pointers pointers;
616 /*@only@*/ functionConstraint fcnconstraint;
618 /*@only@*/ metaStateConstraint msconstraint;
619 /*@only@*/ metaStateSpecifier msspec;
620 /*@only@*/ metaStateExpression msexpr;
621 /*@observer@*/ metaStateInfo msinfo;
623 /*@only@*/ sRefList srlist;
624 /*@only@*/ globSet globset;
625 /*@only@*/ qtype qtyp;
626 /*@only@*/ cstring cname;
627 /*@observer@*/ annotationInfo annotation;
628 /*@only@*/ idDecl ntyp;
629 /*@only@*/ idDeclList ntyplist;
630 /*@only@*/ uentryList flist;
631 /*@owned@*/ uentryList entrylist;
632 /*@observer@*/ /*@dependent@*/ uentry entry;
633 /*@only@*/ uentry oentry;
634 /*@only@*/ exprNode expr;
635 /*@only@*/ enumNameList enumnamelist;
636 /*@only@*/ exprNodeList exprlist;
637 /*@only@*/ sRefSet srset;
638 /*@only@*/ cstringList cstringlist;
648 /* Line 193 of yacc.c. */
651 # define yystype cgrammar_YYSTYPE /* obsolescent; will be withdrawn */
652 # define cgrammar_YYSTYPE_IS_DECLARED 1
653 # define cgrammar_YYSTYPE_IS_TRIVIAL 1
658 /* Copy the second part of user declarations. */
661 /* Line 216 of yacc.c. */
669 typedef YYTYPE_UINT8 yytype_uint8;
671 typedef unsigned char yytype_uint8;
675 typedef YYTYPE_INT8 yytype_int8;
676 #elif (defined __STDC__ || defined __C99__FUNC__ \
677 || defined __cplusplus || defined _MSC_VER)
678 typedef signed char yytype_int8;
680 typedef short int yytype_int8;
684 typedef YYTYPE_UINT16 yytype_uint16;
686 typedef unsigned short int yytype_uint16;
690 typedef YYTYPE_INT16 yytype_int16;
692 typedef short int yytype_int16;
696 # ifdef __SIZE_TYPE__
697 # define YYSIZE_T __SIZE_TYPE__
698 # elif defined size_t
699 # define YYSIZE_T size_t
700 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
701 || defined __cplusplus || defined _MSC_VER)
702 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
703 # define YYSIZE_T size_t
705 # define YYSIZE_T unsigned int
709 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
714 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
715 # define YY_(msgid) dgettext ("bison-runtime", msgid)
719 # define YY_(msgid) msgid
723 /* Suppress unused-variable warnings by "using" E. */
724 #if ! defined lint || defined __GNUC__
725 # define YYUSE(e) ((void) (e))
727 # define YYUSE(e) /* empty */
730 /* Identity function, used to suppress warnings about constant conditions. */
734 #if (defined __STDC__ || defined __C99__FUNC__ \
735 || defined __cplusplus || defined _MSC_VER)
748 #if ! defined yyoverflow || YYERROR_VERBOSE
750 /* The parser invokes alloca or malloc; define the necessary symbols. */
752 # ifdef YYSTACK_USE_ALLOCA
753 # if YYSTACK_USE_ALLOCA
755 # define YYSTACK_ALLOC __builtin_alloca
756 # elif defined __BUILTIN_VA_ARG_INCR
757 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
759 # define YYSTACK_ALLOC __alloca
760 # elif defined _MSC_VER
761 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
762 # define alloca _alloca
764 # define YYSTACK_ALLOC alloca
765 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
766 || defined __cplusplus || defined _MSC_VER)
767 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
776 # ifdef YYSTACK_ALLOC
777 /* Pacify GCC's `empty if-body' warning. */
778 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
779 # ifndef YYSTACK_ALLOC_MAXIMUM
780 /* The OS might guarantee only one guard page at the bottom of the stack,
781 and a page size can be as small as 4096 bytes. So we cannot safely
782 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
783 to allow for a few compiler-allocated temporary stack slots. */
784 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
787 # define YYSTACK_ALLOC YYMALLOC
788 # define YYSTACK_FREE YYFREE
789 # ifndef YYSTACK_ALLOC_MAXIMUM
790 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
792 # if (defined __cplusplus && ! defined _STDLIB_H \
793 && ! ((defined YYMALLOC || defined malloc) \
794 && (defined YYFREE || defined free)))
795 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
801 # define YYMALLOC malloc
802 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
803 || defined __cplusplus || defined _MSC_VER)
804 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
809 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
810 || defined __cplusplus || defined _MSC_VER)
811 void free (void *); /* INFRINGES ON USER NAME SPACE */
815 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
818 #if (! defined yyoverflow \
819 && (! defined __cplusplus \
820 || (defined cgrammar_YYSTYPE_IS_TRIVIAL && cgrammar_YYSTYPE_IS_TRIVIAL)))
822 /* A type that is properly aligned for any stack member. */
826 cgrammar_YYSTYPE yyvs;
829 /* The size of the maximum gap between one aligned stack and the next. */
830 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
832 /* The size of an array large to enough to hold all stacks, each with
834 # define YYSTACK_BYTES(N) \
835 ((N) * (sizeof (yytype_int16) + sizeof (cgrammar_YYSTYPE)) \
836 + YYSTACK_GAP_MAXIMUM)
838 /* Copy COUNT objects from FROM to TO. The source and destination do
841 # if defined __GNUC__ && 1 < __GNUC__
842 # define YYCOPY(To, From, Count) \
843 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
845 # define YYCOPY(To, From, Count) \
849 for (yyi = 0; yyi < (Count); yyi++) \
850 (To)[yyi] = (From)[yyi]; \
856 /* Relocate STACK from its old location to the new one. The
857 local variables YYSIZE and YYSTACKSIZE give the old and new number of
858 elements in the stack, and YYPTR gives the new location of the
859 stack. Advance YYPTR to a properly aligned location for the next
861 # define YYSTACK_RELOCATE(Stack) \
864 YYSIZE_T yynewbytes; \
865 YYCOPY (&yyptr->Stack, Stack, yysize); \
866 Stack = &yyptr->Stack; \
867 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
868 yyptr += yynewbytes / sizeof (*yyptr); \
874 /* YYFINAL -- State number of the termination state. */
876 /* YYLAST -- Last index in YYTABLE. */
879 /* YYNTOKENS -- Number of terminals. */
880 #define YYNTOKENS 197
881 /* YYNNTS -- Number of nonterminals. */
883 /* YYNRULES -- Number of rules. */
885 /* YYNRULES -- Number of states. */
886 #define YYNSTATES 1264
888 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
890 #define YYMAXUTOK 451
892 #define YYTRANSLATE(YYX) \
893 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
895 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
896 static const yytype_uint8 yytranslate[] =
898 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
899 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
900 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
901 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
902 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
903 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
904 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
905 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
906 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
907 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
908 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
909 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
910 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
911 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
912 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
913 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
914 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
915 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
916 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
917 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
918 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
919 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
920 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
921 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
922 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
923 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
924 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
925 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
926 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
927 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
928 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
929 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
930 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
931 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
932 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
933 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
934 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
935 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
936 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
937 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
938 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
939 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
940 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
941 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
942 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
947 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
949 static const yytype_uint16 yyprhs[] =
951 0, 0, 3, 4, 6, 8, 11, 14, 16, 18,
952 20, 22, 24, 26, 28, 37, 49, 50, 56, 58,
953 62, 64, 67, 69, 76, 80, 87, 88, 95, 96,
954 104, 106, 113, 117, 124, 125, 132, 133, 141, 142,
955 143, 154, 158, 162, 166, 169, 171, 175, 176, 181,
956 182, 187, 189, 193, 195, 197, 199, 203, 205, 209,
957 211, 213, 215, 217, 219, 221, 226, 232, 234, 236,
958 238, 240, 244, 249, 252, 256, 260, 264, 266, 268,
959 270, 271, 274, 275, 278, 280, 282, 284, 286, 288,
960 290, 292, 294, 296, 298, 300, 302, 305, 306, 311,
961 313, 316, 317, 321, 323, 327, 329, 331, 332, 335,
962 339, 342, 344, 348, 351, 352, 355, 357, 359, 361,
963 363, 365, 367, 369, 371, 373, 375, 377, 379, 381,
964 383, 385, 387, 391, 392, 396, 397, 398, 403, 406,
965 409, 411, 413, 415, 417, 421, 426, 429, 433, 437,
966 441, 443, 445, 447, 451, 453, 455, 459, 464, 467,
967 471, 475, 479, 480, 482, 484, 488, 490, 492, 494,
968 498, 500, 502, 503, 508, 510, 515, 519, 524, 531,
969 537, 543, 546, 549, 557, 559, 563, 565, 568, 571,
970 574, 577, 580, 583, 586, 589, 593, 595, 599, 604,
971 606, 616, 617, 621, 622, 623, 628, 631, 636, 639,
972 641, 646, 648, 652, 656, 660, 662, 666, 670, 672,
973 676, 680, 682, 686, 690, 694, 698, 700, 704, 708,
974 710, 714, 716, 720, 722, 726, 728, 729, 734, 736,
975 737, 742, 744, 745, 746, 753, 754, 755, 763, 765,
976 769, 773, 777, 781, 785, 789, 793, 797, 801, 805,
977 809, 811, 815, 816, 818, 820, 822, 824, 826, 830,
978 831, 841, 842, 854, 856, 858, 861, 862, 869, 870,
979 879, 884, 889, 890, 891, 894, 896, 901, 904, 906,
980 911, 912, 917, 919, 923, 928, 931, 934, 937, 939,
981 942, 946, 949, 951, 955, 957, 959, 961, 963, 965,
982 968, 969, 976, 979, 982, 983, 990, 991, 997, 999,
983 1001, 1003, 1005, 1007, 1009, 1011, 1013, 1015, 1017, 1019,
984 1021, 1023, 1025, 1027, 1029, 1031, 1033, 1035, 1037, 1039,
985 1041, 1043, 1045, 1047, 1049, 1051, 1053, 1055, 1057, 1059,
986 1061, 1063, 1065, 1067, 1069, 1071, 1073, 1075, 1077, 1079,
987 1081, 1083, 1085, 1087, 1089, 1091, 1093, 1095, 1097, 1099,
988 1101, 1103, 1106, 1109, 1112, 1115, 1118, 1121, 1124, 1127,
989 1130, 1133, 1136, 1139, 1142, 1145, 1148, 1151, 1154, 1157,
990 1160, 1163, 1166, 1169, 1172, 1175, 1178, 1181, 1185, 1187,
991 1192, 1194, 1198, 1201, 1204, 1207, 1208, 1210, 1211, 1212,
992 1213, 1226, 1227, 1228, 1240, 1247, 1254, 1255, 1256, 1267,
993 1268, 1269, 1280, 1286, 1292, 1297, 1302, 1303, 1305, 1307,
994 1310, 1316, 1320, 1323, 1328, 1330, 1334, 1339, 1346, 1347,
995 1356, 1361, 1363, 1367, 1370, 1372, 1377, 1379, 1381, 1384,
996 1387, 1389, 1392, 1394, 1397, 1399, 1401, 1403, 1405, 1408,
997 1410, 1413, 1416, 1420, 1422, 1426, 1428, 1432, 1434, 1436,
998 1440, 1441, 1444, 1445, 1450, 1455, 1457, 1459, 1462, 1464,
999 1466, 1469, 1470, 1472, 1478, 1481, 1485, 1489, 1494, 1498,
1000 1503, 1508, 1514, 1516, 1518, 1520, 1522, 1524, 1526, 1528,
1001 1530, 1532, 1534, 1539, 1541, 1543, 1545, 1548, 1551, 1559,
1002 1566, 1569, 1570, 1571, 1582, 1583, 1590, 1592, 1594, 1596,
1003 1598, 1601, 1603, 1605, 1607, 1609, 1611, 1613, 1615, 1619,
1004 1621, 1622, 1626, 1629, 1632, 1634, 1636, 1638, 1640, 1642,
1005 1644, 1646, 1648, 1650, 1652, 1656, 1658, 1660, 1662, 1665,
1006 1668, 1669, 1672, 1673, 1678, 1679, 1686, 1687, 1691, 1692,
1007 1698, 1702, 1705, 1709, 1710, 1711, 1712, 1713, 1714, 1716,
1008 1719, 1722, 1726, 1729, 1733, 1737, 1742, 1745, 1748, 1752,
1009 1756, 1761, 1763, 1766, 1768, 1771, 1773, 1777, 1779, 1784,
1010 1786, 1789, 1791, 1794, 1796, 1799, 1801, 1806, 1809, 1810,
1011 1816, 1817, 1824, 1829, 1834, 1835, 1836, 1847, 1849, 1850,
1012 1855, 1857, 1859, 1861, 1863, 1865, 1868, 1870, 1874, 1876,
1013 1881, 1885, 1890, 1897, 1903, 1909, 1912, 1915, 1917, 1920,
1014 1923, 1926, 1929, 1932, 1935, 1938, 1941, 1943, 1945, 1950,
1015 1952, 1956, 1960, 1964, 1966, 1970, 1974, 1976, 1980, 1984,
1016 1986, 1990, 1994, 1998, 2002, 2004, 2008, 2012, 2014, 2018,
1017 2020, 2024, 2026, 2030, 2032, 2036, 2038, 2042, 2044, 2045,
1018 2046, 2053, 2054, 2055, 2063, 2065, 2069, 2073, 2077, 2081,
1019 2085, 2089, 2093, 2097, 2101, 2105, 2109, 2111, 2112, 2114,
1020 2117, 2125, 2128, 2131, 2139, 2146, 2149, 2153, 2156, 2160,
1021 2163, 2167, 2171, 2175, 2179, 2182, 2186, 2187, 2189, 2190,
1022 2192, 2194, 2196, 2198, 2200, 2202, 2204, 2206, 2208, 2213
1025 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
1026 static const yytype_int16 yyrhs[] =
1028 198, 0, -1, -1, 199, -1, 200, -1, 199, 200,
1029 -1, 261, 468, -1, 201, -1, 202, -1, 212, -1,
1030 215, -1, 303, -1, 18, -1, 1, -1, 77, 347,
1031 361, 371, 361, 468, 312, 91, -1, 77, 347, 361,
1032 371, 361, 23, 312, 319, 318, 468, 91, -1, -1,
1033 78, 203, 204, 468, 91, -1, 205, -1, 347, 361,
1034 205, -1, 209, -1, 375, 209, -1, 471, -1, 312,
1035 24, 361, 371, 312, 25, -1, 206, 26, 27, -1,
1036 206, 26, 312, 302, 27, 361, -1, -1, 206, 313,
1037 24, 25, 207, 233, -1, -1, 206, 313, 24, 372,
1038 25, 208, 233, -1, 471, -1, 312, 24, 361, 205,
1039 312, 25, -1, 209, 26, 27, -1, 209, 26, 312,
1040 302, 27, 361, -1, -1, 209, 313, 24, 25, 210,
1041 234, -1, -1, 209, 313, 24, 372, 25, 211, 234,
1042 -1, -1, -1, 79, 471, 24, 372, 25, 213, 234,
1043 214, 468, 91, -1, 92, 403, 95, -1, 93, 389,
1044 95, -1, 94, 390, 95, -1, 92, 95, -1, 256,
1045 -1, 218, 23, 221, -1, -1, 230, 219, 22, 222,
1046 -1, -1, 5, 220, 22, 222, -1, 218, -1, 218,
1047 40, 221, -1, 196, -1, 187, -1, 56, -1, 225,
1048 223, 224, -1, 225, -1, 228, 227, 228, -1, 184,
1049 -1, 185, -1, 53, -1, 52, -1, 54, -1, 229,
1050 -1, 231, 24, 228, 25, -1, 24, 228, 232, 228,
1051 25, -1, 230, -1, 192, -1, 470, -1, 189, -1,
1052 230, 26, 27, -1, 230, 26, 192, 27, -1, 34,
1053 230, -1, 24, 230, 25, -1, 230, 28, 471, -1,
1054 230, 45, 471, -1, 226, -1, 33, -1, 32, -1,
1055 -1, 235, 233, -1, -1, 236, 234, -1, 237, -1,
1056 241, -1, 240, -1, 325, -1, 328, -1, 247, -1,
1057 238, -1, 242, -1, 240, -1, 326, -1, 330, -1,
1058 248, -1, 238, 91, -1, -1, 74, 239, 249, 468,
1059 -1, 76, -1, 242, 91, -1, -1, 75, 243, 262,
1060 -1, 245, -1, 245, 40, 244, -1, 189, -1, 247,
1061 -1, -1, 248, 91, -1, 73, 244, 442, -1, 73,
1062 244, -1, 250, -1, 249, 21, 250, -1, 251, 252,
1063 -1, -1, 253, 251, -1, 470, -1, 189, -1, 303,
1064 -1, 89, -1, 90, -1, 121, -1, 122, -1, 135,
1065 -1, 80, -1, 81, -1, 82, -1, 83, -1, 84,
1066 -1, 85, -1, 86, -1, 371, -1, 347, 361, 371,
1067 -1, -1, 19, 258, 420, -1, -1, -1, 259, 424,
1068 260, 413, -1, 216, 257, -1, 265, 468, -1, 468,
1069 -1, 470, -1, 189, -1, 190, -1, 263, 26, 27,
1070 -1, 263, 26, 264, 27, -1, 34, 263, -1, 24,
1071 263, 25, -1, 263, 28, 471, -1, 263, 45, 471,
1072 -1, 263, -1, 442, -1, 263, -1, 265, 21, 263,
1073 -1, 470, -1, 189, -1, 266, 26, 27, -1, 266,
1074 26, 264, 27, -1, 34, 266, -1, 24, 266, 25,
1075 -1, 266, 28, 471, -1, 266, 45, 471, -1, -1,
1076 268, -1, 266, -1, 268, 21, 266, -1, 470, -1,
1077 189, -1, 442, -1, 24, 300, 25, -1, 190, -1,
1078 116, -1, -1, 24, 270, 413, 25, -1, 269, -1,
1079 271, 26, 300, 27, -1, 271, 24, 25, -1, 271,
1080 24, 272, 25, -1, 71, 24, 299, 21, 383, 25,
1081 -1, 271, 361, 28, 471, 312, -1, 271, 361, 45,
1082 471, 312, -1, 271, 48, -1, 271, 49, -1, 24,
1083 383, 25, 19, 425, 469, 20, -1, 299, -1, 272,
1084 21, 299, -1, 271, -1, 48, 273, -1, 49, 273,
1085 -1, 29, 281, -1, 34, 281, -1, 33, 281, -1,
1086 32, 281, -1, 31, 281, -1, 30, 281, -1, 278,
1087 276, 279, -1, 275, -1, 274, 28, 471, -1, 274,
1088 26, 300, 27, -1, 471, -1, 47, 312, 24, 383,
1089 361, 21, 274, 25, 312, -1, -1, 312, 277, 280,
1090 -1, -1, -1, 42, 24, 383, 25, -1, 42, 273,
1091 -1, 43, 24, 383, 25, -1, 43, 273, -1, 273,
1092 -1, 24, 383, 25, 281, -1, 281, -1, 282, 34,
1093 281, -1, 282, 35, 281, -1, 282, 36, 281, -1,
1094 282, -1, 283, 33, 282, -1, 283, 32, 282, -1,
1095 283, -1, 284, 50, 283, -1, 284, 51, 283, -1,
1096 284, -1, 285, 37, 284, -1, 285, 38, 284, -1,
1097 285, 52, 284, -1, 285, 53, 284, -1, 285, -1,
1098 286, 54, 285, -1, 286, 55, 285, -1, 286, -1,
1099 287, 29, 286, -1, 287, -1, 288, 39, 287, -1,
1100 288, -1, 289, 40, 288, -1, 289, -1, -1, 290,
1101 56, 291, 289, -1, 290, -1, -1, 292, 57, 293,
1102 290, -1, 292, -1, -1, -1, 292, 41, 295, 22,
1103 296, 294, -1, -1, -1, 292, 41, 297, 300, 22,
1104 298, 294, -1, 294, -1, 273, 23, 299, -1, 273,
1105 58, 299, -1, 273, 59, 299, -1, 273, 60, 299,
1106 -1, 273, 61, 299, -1, 273, 62, 299, -1, 273,
1107 63, 299, -1, 273, 64, 299, -1, 273, 65, 299,
1108 -1, 273, 66, 299, -1, 273, 67, 299, -1, 299,
1109 -1, 300, 21, 299, -1, -1, 300, -1, 294, -1,
1110 304, -1, 72, -1, 310, -1, 347, 312, 18, -1,
1111 -1, 347, 361, 371, 361, 305, 312, 318, 18, 312,
1112 -1, -1, 347, 361, 371, 361, 23, 306, 312, 319,
1113 318, 18, 312, -1, 308, -1, 195, -1, 371, 361,
1114 -1, -1, 371, 361, 23, 309, 312, 319, -1, -1,
1115 46, 347, 311, 361, 316, 312, 246, 18, -1, 46,
1116 347, 312, 18, -1, 46, 314, 312, 18, -1, -1,
1117 -1, 315, 312, -1, 308, -1, 314, 21, 361, 308,
1118 -1, 317, 312, -1, 307, -1, 316, 21, 361, 307,
1119 -1, -1, 318, 21, 361, 308, -1, 299, -1, 19,
1120 323, 20, -1, 19, 323, 21, 20, -1, 320, 319,
1121 -1, 321, 23, -1, 471, 22, -1, 322, -1, 321,
1122 322, -1, 26, 302, 27, -1, 28, 471, -1, 319,
1123 -1, 323, 21, 319, -1, 117, -1, 115, -1, 118,
1124 -1, 119, -1, 120, -1, 326, 91, -1, -1, 254,
1125 361, 327, 268, 468, 312, -1, 330, 91, -1, 255,
1126 361, -1, -1, 329, 336, 331, 267, 468, 312, -1,
1127 -1, 329, 332, 333, 468, 312, -1, 224, -1, 217,
1128 -1, 144, -1, 145, -1, 147, -1, 148, -1, 146,
1129 -1, 129, -1, 132, -1, 130, -1, 131, -1, 137,
1130 -1, 138, -1, 123, -1, 125, -1, 124, -1, 133,
1131 -1, 134, -1, 126, -1, 128, -1, 141, -1, 143,
1132 -1, 156, -1, 155, -1, 140, -1, 142, -1, 181,
1133 -1, 191, -1, 139, -1, 154, -1, 153, -1, 164,
1134 -1, 162, -1, 163, -1, 157, -1, 158, -1, 159,
1135 -1, 160, -1, 161, -1, 165, -1, 166, -1, 169,
1136 -1, 170, -1, 167, -1, 168, -1, 152, -1, 149,
1137 -1, 150, -1, 151, -1, 121, -1, 122, -1, 135,
1138 -1, 136, -1, 112, 312, -1, 114, 312, -1, 113,
1139 312, -1, 343, 312, -1, 336, 312, -1, 334, 312,
1140 -1, 337, 312, -1, 335, 312, -1, 339, 312, -1,
1141 338, 312, -1, 340, 312, -1, 341, 312, -1, 171,
1142 361, -1, 173, 361, -1, 172, 361, -1, 174, 361,
1143 -1, 175, 361, -1, 176, 361, -1, 177, 361, -1,
1144 178, 361, -1, 179, 361, -1, 180, 361, -1, 472,
1145 361, -1, 352, 361, -1, 366, 361, -1, 342, 361,
1146 -1, 312, 347, 312, -1, 349, -1, 349, 88, 348,
1147 91, -1, 383, -1, 383, 21, 348, -1, 324, 350,
1148 -1, 344, 350, -1, 345, 350, -1, -1, 347, -1,
1149 -1, -1, -1, 361, 68, 471, 312, 19, 353, 417,
1150 362, 418, 354, 20, 351, -1, -1, -1, 361, 69,
1151 471, 312, 19, 355, 417, 362, 418, 356, 20, -1,
1152 361, 68, 471, 312, 19, 20, -1, 361, 69, 471,
1153 312, 19, 20, -1, -1, -1, 361, 68, 312, 19,
1154 357, 417, 362, 418, 358, 20, -1, -1, -1, 361,
1155 69, 312, 19, 359, 417, 362, 418, 360, 20, -1,
1156 361, 68, 312, 19, 20, -1, 361, 69, 312, 19,
1157 20, -1, 361, 68, 471, 361, -1, 361, 69, 471,
1158 361, -1, -1, 363, -1, 215, -1, 362, 363, -1,
1159 347, 361, 364, 312, 18, -1, 347, 312, 18, -1,
1160 365, 361, -1, 364, 21, 365, 361, -1, 371, -1,
1161 22, 312, 302, -1, 371, 22, 312, 302, -1, 361,
1162 70, 19, 368, 20, 312, -1, -1, 361, 70, 471,
1163 19, 367, 368, 20, 312, -1, 361, 70, 471, 312,
1164 -1, 369, -1, 368, 21, 369, -1, 368, 21, -1,
1165 471, -1, 471, 23, 312, 302, -1, 206, -1, 385,
1166 -1, 375, 195, -1, 375, 370, -1, 206, -1, 375,
1167 206, -1, 378, -1, 361, 376, -1, 112, -1, 113,
1168 -1, 114, -1, 373, -1, 374, 373, -1, 34, -1,
1169 34, 374, -1, 34, 375, -1, 34, 374, 375, -1,
1170 377, -1, 377, 21, 5, -1, 471, -1, 377, 21,
1171 471, -1, 5, -1, 379, -1, 379, 21, 5, -1,
1172 -1, 380, 382, -1, -1, 379, 21, 381, 382, -1,
1173 312, 347, 370, 312, -1, 471, -1, 346, -1, 346,
1174 384, -1, 375, -1, 386, -1, 375, 386, -1, -1,
1175 386, -1, 312, 24, 361, 384, 25, -1, 26, 27,
1176 -1, 26, 302, 27, -1, 386, 26, 27, -1, 386,
1177 26, 302, 27, -1, 312, 24, 25, -1, 312, 24,
1178 378, 25, -1, 386, 312, 24, 25, -1, 386, 312,
1179 24, 378, 25, -1, 405, -1, 407, -1, 410, -1,
1180 413, -1, 428, -1, 431, -1, 465, -1, 436, -1,
1181 467, -1, 388, -1, 96, 24, 300, 25, -1, 391,
1182 -1, 389, -1, 398, -1, 391, 398, -1, 435, 391,
1183 -1, 464, 404, 11, 24, 300, 25, 18, -1, 464,
1184 404, 11, 24, 300, 25, -1, 393, 398, -1, -1,
1185 -1, 13, 24, 301, 18, 301, 18, 394, 301, 395,
1186 25, -1, -1, 193, 415, 24, 397, 439, 25, -1,
1187 194, -1, 405, -1, 407, -1, 410, -1, 401, 424,
1188 -1, 401, -1, 402, -1, 428, -1, 399, -1, 392,
1189 -1, 396, -1, 467, -1, 24, 398, 25, -1, 1,
1190 -1, -1, 430, 400, 398, -1, 415, 19, -1, 419,
1191 20, -1, 404, -1, 423, -1, 405, -1, 407, -1,
1192 410, -1, 414, -1, 429, -1, 431, -1, 436, -1,
1193 466, -1, 24, 404, 25, -1, 467, -1, 388, -1,
1194 1, -1, 471, 22, -1, 111, 387, -1, -1, 102,
1195 406, -1, -1, 6, 302, 408, 22, -1, -1, 102,
1196 406, 6, 302, 409, 22, -1, -1, 7, 411, 22,
1197 -1, -1, 102, 406, 7, 412, 22, -1, 24, 413,
1198 25, -1, 415, 421, -1, 415, 422, 416, -1, -1,
1199 -1, -1, -1, -1, 20, -1, 111, 20, -1, 427,
1200 20, -1, 427, 111, 20, -1, 424, 20, -1, 424,
1201 111, 20, -1, 424, 427, 20, -1, 424, 427, 111,
1202 20, -1, 19, 420, -1, 19, 20, -1, 19, 423,
1203 20, -1, 19, 424, 20, -1, 19, 424, 427, 20,
1204 -1, 404, -1, 423, 404, -1, 303, -1, 424, 303,
1205 -1, 426, -1, 425, 21, 426, -1, 299, -1, 19,
1206 425, 469, 20, -1, 387, -1, 427, 387, -1, 18,
1207 -1, 300, 18, -1, 18, -1, 300, 18, -1, 300,
1208 -1, 8, 24, 300, 25, -1, 430, 387, -1, -1,
1209 430, 387, 9, 432, 387, -1, -1, 10, 24, 300,
1210 433, 25, 387, -1, 11, 24, 300, 25, -1, 11,
1211 24, 300, 25, -1, -1, -1, 193, 437, 415, 24,
1212 438, 439, 25, 413, 463, 416, -1, 441, -1, -1,
1213 439, 440, 21, 441, -1, 462, -1, 470, -1, 190,
1214 -1, 189, -1, 192, -1, 442, 192, -1, 442, -1,
1215 24, 300, 25, -1, 443, -1, 271, 26, 300, 27,
1216 -1, 271, 24, 25, -1, 271, 24, 272, 25, -1,
1217 71, 24, 299, 21, 383, 25, -1, 271, 361, 28,
1218 471, 312, -1, 271, 361, 45, 471, 312, -1, 271,
1219 48, -1, 271, 49, -1, 444, -1, 48, 273, -1,
1220 49, 273, -1, 29, 281, -1, 34, 281, -1, 33,
1221 281, -1, 32, 281, -1, 31, 281, -1, 30, 281,
1222 -1, 276, -1, 445, -1, 24, 383, 25, 281, -1,
1223 446, -1, 282, 34, 281, -1, 282, 35, 281, -1,
1224 282, 36, 281, -1, 447, -1, 283, 33, 282, -1,
1225 283, 32, 282, -1, 448, -1, 284, 50, 283, -1,
1226 284, 51, 283, -1, 449, -1, 285, 37, 284, -1,
1227 285, 38, 284, -1, 285, 52, 284, -1, 285, 53,
1228 284, -1, 450, -1, 286, 54, 285, -1, 286, 55,
1229 285, -1, 451, -1, 287, 29, 286, -1, 452, -1,
1230 288, 39, 287, -1, 453, -1, 289, 40, 288, -1,
1231 454, -1, 290, 56, 289, -1, 455, -1, 292, 57,
1232 290, -1, 456, -1, -1, -1, 292, 41, 458, 22,
1233 459, 294, -1, -1, -1, 292, 41, 460, 300, 22,
1234 461, 294, -1, 457, -1, 273, 23, 299, -1, 273,
1235 58, 299, -1, 273, 59, 299, -1, 273, 60, 299,
1236 -1, 273, 61, 299, -1, 273, 62, 299, -1, 273,
1237 63, 299, -1, 273, 64, 299, -1, 273, 65, 299,
1238 -1, 273, 66, 299, -1, 273, 67, 299, -1, 194,
1239 -1, -1, 12, -1, 434, 387, -1, 464, 387, 11,
1240 24, 300, 25, 18, -1, 393, 387, -1, 434, 404,
1241 -1, 464, 404, 11, 24, 300, 25, 18, -1, 464,
1242 404, 11, 24, 300, 25, -1, 393, 404, -1, 14,
1243 471, 18, -1, 15, 18, -1, 101, 15, 18, -1,
1244 16, 18, -1, 97, 16, 18, -1, 98, 16, 18,
1245 -1, 99, 16, 18, -1, 100, 16, 18, -1, 17,
1246 18, -1, 17, 300, 18, -1, -1, 18, -1, -1,
1247 21, -1, 188, -1, 189, -1, 193, -1, 194, -1,
1248 470, -1, 190, -1, 195, -1, 190, -1, 44, 24,
1249 300, 25, -1, 44, 24, 383, 25, -1
1252 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1253 static const yytype_uint16 yyrline[] =
1255 0, 327, 327, 329, 333, 334, 338, 339, 340, 341,
1256 342, 343, 344, 345, 349, 351, 356, 356, 365, 371,
1257 376, 377, 382, 383, 385, 387, 405, 404, 436, 435,
1258 465, 466, 468, 472, 490, 489, 502, 501, 516, 517,
1259 515, 524, 525, 526, 527, 531, 535, 540, 540, 545,
1260 545, 553, 554, 558, 564, 565, 569, 570, 574, 580,
1261 581, 585, 586, 587, 591, 592, 593, 599, 600, 604,
1262 606, 608, 610, 619, 621, 623, 625, 642, 646, 647,
1263 654, 655, 665, 666, 671, 672, 673, 674, 675, 676,
1264 680, 681, 682, 683, 684, 685, 689, 693, 693, 702,
1265 706, 711, 710, 725, 727, 732, 736, 737, 741, 745,
1266 751, 756, 757, 761, 765, 766, 770, 771, 772, 776,
1267 777, 778, 779, 780, 784, 785, 786, 787, 788, 792,
1268 793, 797, 804, 809, 809, 815, 816, 815, 826, 837,
1269 838, 842, 843, 844, 845, 846, 847, 848, 849, 850,
1270 854, 855, 860, 861, 865, 867, 869, 870, 871, 872,
1271 873, 875, 880, 881, 885, 891, 904, 905, 906, 907,
1272 908, 909, 910, 910, 916, 917, 918, 919, 920, 921,
1273 922, 923, 924, 925, 930, 931, 935, 936, 937, 938,
1274 939, 940, 941, 942, 943, 944, 945, 949, 950, 952,
1275 956, 962, 962, 966, 969, 973, 974, 975, 976, 982,
1276 983, 988, 989, 990, 991, 995, 996, 997, 1001, 1002,
1277 1003, 1007, 1008, 1009, 1010, 1011, 1015, 1016, 1017, 1021,
1278 1022, 1026, 1027, 1031, 1032, 1036, 1038, 1037, 1049, 1051,
1279 1050, 1063, 1065, 1067, 1064, 1069, 1070, 1069, 1075, 1076,
1280 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086,
1281 1090, 1091, 1095, 1096, 1100, 1106, 1107, 1108, 1112, 1127,
1282 1126, 1138, 1137, 1146, 1147, 1151, 1156, 1156, 1161, 1161,
1283 1164, 1165, 1169, 1173, 1177, 1181, 1182, 1186, 1190, 1191,
1284 1195, 1196, 1200, 1201, 1202, 1203, 1211, 1212, 1217, 1218,
1285 1222, 1223, 1227, 1229, 1239, 1240, 1241, 1242, 1243, 1247,
1286 1252, 1251, 1267, 1271, 1276, 1275, 1290, 1289, 1321, 1322,
1287 1326, 1327, 1328, 1329, 1330, 1334, 1335, 1336, 1337, 1341,
1288 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351,
1289 1352, 1353, 1354, 1355, 1356, 1357, 1361, 1362, 1366, 1367,
1290 1371, 1372, 1376, 1377, 1378, 1379, 1380, 1384, 1385, 1386,
1291 1387, 1388, 1389, 1393, 1394, 1395, 1396, 1400, 1401, 1402,
1292 1403, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415,
1293 1416, 1417, 1418, 1426, 1427, 1428, 1429, 1430, 1431, 1432,
1294 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1443, 1448, 1449,
1295 1454, 1455, 1460, 1461, 1462, 1466, 1467, 1471, 1478, 1480,
1296 1478, 1484, 1486, 1484, 1489, 1491, 1493, 1495, 1493, 1498,
1297 1500, 1498, 1503, 1505, 1507, 1508, 1512, 1516, 1517, 1518,
1298 1522, 1524, 1529, 1531, 1536, 1537, 1538, 1543, 1545, 1545,
1299 1547, 1551, 1553, 1555, 1559, 1564, 1572, 1573, 1574, 1580,
1300 1585, 1586, 1591, 1592, 1596, 1597, 1598, 1602, 1603, 1607,
1301 1608, 1609, 1610, 1614, 1615, 1619, 1620, 1624, 1625, 1626,
1302 1630, 1630, 1631, 1631, 1636, 1648, 1665, 1666, 1670, 1671,
1303 1672, 1676, 1677, 1681, 1683, 1684, 1686, 1687, 1689, 1691,
1304 1693, 1695, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709,
1305 1710, 1711, 1715, 1719, 1723, 1727, 1728, 1733, 1735, 1737,
1306 1739, 1745, 1745, 1744, 1753, 1752, 1756, 1760, 1761, 1762,
1307 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772,
1308 1776, 1776, 1783, 1787, 1791, 1792, 1796, 1797, 1798, 1799,
1309 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1811, 1812,
1310 1820, 1821, 1828, 1828, 1830, 1830, 1835, 1835, 1837, 1837,
1311 1842, 1843, 1848, 1852, 1856, 1860, 1864, 1868, 1872, 1873,
1312 1874, 1875, 1877, 1878, 1880, 1882, 1889, 1894, 1896, 1898,
1313 1900, 1905, 1906, 1910, 1911, 1915, 1916, 1920, 1921, 1925,
1314 1926, 1930, 1931, 1935, 1936, 1937, 1941, 1955, 1960, 1960,
1315 1965, 1965, 1970, 1976, 1980, 1981, 1980, 1991, 1992, 1992,
1316 1997, 1998, 1999, 2010, 2018, 2019, 2023, 2024, 2028, 2029,
1317 2030, 2031, 2032, 2034, 2035, 2036, 2037, 2041, 2042, 2043,
1318 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2054, 2055, 2059,
1319 2060, 2061, 2062, 2066, 2067, 2068, 2072, 2073, 2074, 2078,
1320 2079, 2080, 2081, 2082, 2086, 2087, 2088, 2092, 2093, 2097,
1321 2098, 2102, 2103, 2107, 2108, 2112, 2113, 2117, 2118, 2119,
1322 2118, 2121, 2122, 2121, 2127, 2128, 2129, 2130, 2131, 2132,
1323 2133, 2134, 2135, 2136, 2137, 2138, 2142, 2143, 2147, 2151,
1324 2153, 2155, 2160, 2161, 2163, 2165, 2169, 2170, 2171, 2173,
1325 2174, 2175, 2176, 2177, 2178, 2179, 2182, 2184, 2187, 2189,
1326 2193, 2197, 2198, 2199, 2200, 2201, 2205, 2206, 2207, 2208
1330 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1331 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1332 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1333 static const char *const yytname[] =
1335 "$end", "error", "$undefined", "BADTOK", "SKIPTOK", "CTOK_ELIPSIS",
1336 "CASE", "DEFAULT", "CIF", "CELSE", "SWITCH", "WHILE", "DO", "CFOR",
1337 "GOTO", "CONTINUE", "BREAK", "RETURN", "TSEMI", "TLBRACE", "TRBRACE",
1338 "TCOMMA", "TCOLON", "TASSIGN", "TLPAREN", "TRPAREN", "TLSQBR", "TRSQBR",
1339 "TDOT", "TAMPERSAND", "TEXCL", "TTILDE", "TMINUS", "TPLUS", "TMULT",
1340 "TDIV", "TPERCENT", "TLT", "TGT", "TCIRC", "TBAR", "TQUEST", "CSIZEOF",
1341 "CALIGNOF", "CTYPEOF", "ARROW_OP", "CTYPEDEF", "COFFSETOF", "INC_OP",
1342 "DEC_OP", "LEFT_OP", "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP",
1343 "AND_OP", "OR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN",
1344 "ADD_ASSIGN", "SUB_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN",
1345 "XOR_ASSIGN", "OR_ASSIGN", "CSTRUCT", "CUNION", "CENUM", "VA_ARG",
1346 "VA_DCL", "QWARN", "QGLOBALS", "QMODIFIES", "QNOMODS", "QCONSTANT",
1347 "QFUNCTION", "QITER", "QDEFINES", "QUSES", "QALLOCATES", "QSETS",
1348 "QRELEASES", "QPRECLAUSE", "QPOSTCLAUSE", "QINVARIANT", "QALT", "QUNDEF",
1349 "QKILLED", "QENDMACRO", "LLMACRO", "LLMACROITER", "LLMACROEND",
1350 "TENDMACRO", "QDREVEALSTATE", "QSWITCHBREAK", "QLOOPBREAK",
1351 "QINNERBREAK", "QSAFEBREAK", "QINNERCONTINUE", "QFALLTHROUGH",
1352 "QLINTNOTREACHED", "QLINTFALLTHROUGH", "QLINTFALLTHRU", "QARGSUSED",
1353 "QPRINTFLIKE", "QLINTPRINTFLIKE", "QSCANFLIKE", "QMESSAGELIKE",
1354 "QNOTREACHED", "QCONST", "QRESTRICT", "QVOLATILE", "QINLINE",
1355 "QEXTENSION", "QEXTERN", "QSTATIC", "QAUTO", "QREGISTER", "QOUT", "QIN",
1356 "QYIELD", "QONLY", "QTEMP", "QSHARED", "QREF", "QUNIQUE", "QCHECKED",
1357 "QUNCHECKED", "QCHECKEDSTRICT", "QCHECKMOD", "QKEEP", "QKEPT",
1358 "QPARTIAL", "QSPECIAL", "QOWNED", "QDEPENDENT", "QRETURNED", "QEXPOSED",
1359 "QNULL", "QOBSERVER", "QISNULL", "QEXITS", "QMAYEXIT", "QNEVEREXIT",
1360 "QTRUEEXIT", "QFALSEEXIT", "QLONG", "QSIGNED", "QUNSIGNED", "QSHORT",
1361 "QUNUSED", "QSEF", "QNOTNULL", "QRELNULL", "QABSTRACT", "QNUMABSTRACT",
1362 "QCONCRETE", "QMUTABLE", "QIMMUTABLE", "QTRUENULL", "QFALSENULL",
1363 "QEXTERNAL", "QREFCOUNTED", "QREFS", "QNEWREF", "QTEMPREF", "QKILLREF",
1364 "QRELDEF", "CGCHAR", "CBOOL", "CINT", "CGFLOAT", "CDOUBLE", "CVOID",
1365 "QANYTYPE", "QINTEGRALTYPE", "QUNSIGNEDINTEGRALTYPE",
1366 "QSIGNEDINTEGRALTYPE", "QNULLTERMINATED", "QSETBUFFERSIZE",
1367 "QSETSTRINGLENGTH", "QMAXSET", "QMAXREAD", "QTESTINRANGE", "TCAND",
1368 "IDENTIFIER", "NEW_IDENTIFIER", "TYPE_NAME_OR_ID", "CANNOTATION",
1369 "CCONSTANT", "ITER_NAME", "ITER_ENDNAME", "TYPE_NAME", "METASTATE_NAME",
1370 "$accept", "file", "externalDefs", "externalDef", "constantDecl",
1371 "fcnDecl", "@1", "plainFcn", "plainNamedDecl", "namedDeclBase", "@2",
1372 "@3", "plainNamedDeclBase", "@4", "@5", "iterDecl", "@6", "@7",
1373 "macroDef", "fcnDefHdr", "metaStateConstraint", "metaStateSpecifier",
1374 "@8", "@9", "metaStateExpression", "metaStateName",
1375 "constraintSeperator", "BufConstraintList", "BufConstraint",
1376 "bufferModifier", "relationalOp", "BufConstraintExpr",
1377 "BufConstraintTerm", "BufConstraintSrefExpr", "BufUnaryOp",
1378 "BufBinaryOp", "functionClauses", "functionClausesPlain",
1379 "functionClause", "functionClausePlain", "globalsClause",
1380 "globalsClausePlain", "@10", "nomodsClause", "modifiesClause",
1381 "modifiesClausePlain", "@11", "flagSpec", "flagId", "optWarnClause",
1382 "warnClause", "warnClausePlain", "globIdList", "globIdListExpr",
1383 "optGlobQuals", "globId", "globQual", "stateTag", "conditionTag",
1384 "fcnDefHdrAux", "fcnBody", "@12", "@13", "@14", "fcnDef", "locModifies",
1385 "modListExpr", "mExpr", "modList", "specClauseListExpr",
1386 "optSpecClauseList", "specClauseList", "primaryExpr", "@15",
1387 "postfixExpr", "argumentExprList", "unaryExpr", "fieldDesignator",
1388 "offsetofExpr", "sizeofExpr", "@16", "processSizeof", "endprocessSizeof",
1389 "sizeofExprAux", "castExpr", "timesExpr", "plusExpr", "shiftExpr",
1390 "relationalExpr", "equalityExpr", "bitandExpr", "xorExpr", "bitorExpr",
1391 "andExpr", "@17", "orExpr", "@18", "conditionalExpr", "@19", "@20",
1392 "@21", "@22", "assignExpr", "expr", "optExpr", "constantExpr",
1393 "initializer", "instanceDecl", "@23", "@24", "namedInitializerType",
1394 "namedInitializer", "@25", "typeDecl", "@26", "IsType", "PushType",
1395 "namedInitializerList", "namedInitializerListAux",
1396 "namedInitializerTypeList", "namedInitializerTypeListAux",
1397 "optDeclarators", "init", "designation", "designatorList", "designator",
1398 "initList", "storageSpecifier", "stateClause", "stateClausePlain", "@27",
1399 "conditionClause", "startConditionClause", "conditionClausePlain", "@28",
1400 "@29", "functionConstraint", "exitsQualifier", "checkQualifier",
1401 "stateQualifier", "paramQualifier", "visibilityQualifier",
1402 "returnQualifier", "typedefQualifier", "refcountQualifier",
1403 "typeModifier", "definedQualifier", "typeQualifier", "typeSpecifier",
1404 "completeType", "completeTypeSpecifier", "altType",
1405 "completeTypeSpecifierAux", "optCompleteType", "optStructInvariant",
1406 "suSpc", "@30", "@31", "@32", "@33", "@34", "@35", "@36", "@37",
1407 "NotType", "structDeclList", "structDecl", "structNamedDeclList",
1408 "structNamedDecl", "enumSpc", "@38", "enumeratorList", "enumerator",
1409 "optNamedDecl", "namedDecl", "genericParamList", "innerMods",
1410 "innerModsList", "pointers", "paramIdList", "idList", "paramTypeList",
1411 "paramList", "@39", "@40", "paramDecl", "typeExpression", "abstractDecl",
1412 "optAbstractDeclBase", "abstractDeclBase", "stmt", "debugStmt",
1413 "iterBody", "endBody", "iterDefStmtList", "iterDefIterationStmt",
1414 "forPred", "@41", "@42", "partialIterStmt", "@43", "iterDefStmt",
1415 "iterSelectionStmt", "@44", "openScope", "closeScope", "macroBody",
1416 "stmtErr", "labeledStmt", "optExtraFallThroughs", "caseStmt", "@45",
1417 "@46", "defaultStmt", "@47", "@48", "compoundStmt", "compoundStmtErr",
1418 "CreateInnerScope", "DeleteInnerScope", "CreateStructInnerScope",
1419 "DeleteStructInnerScope", "DeleteInnerScopeSafe", "compoundStmtRest",
1420 "compoundStmtAux", "compoundStmtAuxErr", "stmtListErr",
1421 "initializerList", "typeInitializerList", "typeInitializer", "stmtList",
1422 "expressionStmt", "expressionStmtErr", "ifPred", "selectionStmt", "@49",
1423 "@50", "whilePred", "iterWhilePred", "iterStmt", "@51", "@52",
1424 "iterArgList", "@53", "iterArgExpr", "cconstantExpr", "primaryIterExpr",
1425 "postfixIterExpr", "unaryIterExpr", "castIterExpr", "timesIterExpr",
1426 "plusIterExpr", "shiftIterExpr", "relationalIterExpr",
1427 "equalityIterExpr", "bitandIterExpr", "xorIterExpr", "bitorIterExpr",
1428 "andIterExpr", "orIterExpr", "conditionalIterExpr", "@54", "@55", "@56",
1429 "@57", "assignIterExpr", "endIter", "doHeader", "iterationStmt",
1430 "iterationStmtErr", "jumpStmt", "optSemi", "optComma", "id", "newId",
1436 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1438 static const yytype_uint16 yytoknum[] =
1440 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1441 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1442 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1443 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1444 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1445 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1446 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1447 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1448 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1449 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1450 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1451 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1452 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1453 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1454 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1455 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1456 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1457 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1458 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1459 445, 446, 447, 448, 449, 450, 451
1463 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1464 static const yytype_uint16 yyr1[] =
1466 0, 197, 198, 198, 199, 199, 200, 200, 200, 200,
1467 200, 200, 200, 200, 201, 201, 203, 202, 204, 204,
1468 205, 205, 206, 206, 206, 206, 207, 206, 208, 206,
1469 209, 209, 209, 209, 210, 209, 211, 209, 213, 214,
1470 212, 215, 215, 215, 215, 216, 217, 219, 218, 220,
1471 218, 221, 221, 222, 223, 223, 224, 224, 225, 226,
1472 226, 227, 227, 227, 228, 228, 228, 229, 229, 230,
1473 230, 230, 230, 230, 230, 230, 230, 231, 232, 232,
1474 233, 233, 234, 234, 235, 235, 235, 235, 235, 235,
1475 236, 236, 236, 236, 236, 236, 237, 239, 238, 240,
1476 241, 243, 242, 244, 244, 245, 246, 246, 247, 248,
1477 248, 249, 249, 250, 251, 251, 252, 252, 252, 253,
1478 253, 253, 253, 253, 254, 254, 254, 254, 254, 255,
1479 255, 256, 256, 258, 257, 259, 260, 257, 261, 262,
1480 262, 263, 263, 263, 263, 263, 263, 263, 263, 263,
1481 264, 264, 265, 265, 266, 266, 266, 266, 266, 266,
1482 266, 266, 267, 267, 268, 268, 269, 269, 269, 269,
1483 269, 269, 270, 269, 271, 271, 271, 271, 271, 271,
1484 271, 271, 271, 271, 272, 272, 273, 273, 273, 273,
1485 273, 273, 273, 273, 273, 273, 273, 274, 274, 274,
1486 275, 277, 276, 278, 279, 280, 280, 280, 280, 281,
1487 281, 282, 282, 282, 282, 283, 283, 283, 284, 284,
1488 284, 285, 285, 285, 285, 285, 286, 286, 286, 287,
1489 287, 288, 288, 289, 289, 290, 291, 290, 292, 293,
1490 292, 294, 295, 296, 294, 297, 298, 294, 299, 299,
1491 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
1492 300, 300, 301, 301, 302, 303, 303, 303, 304, 305,
1493 304, 306, 304, 307, 307, 308, 309, 308, 311, 310,
1494 310, 310, 312, 313, 314, 315, 315, 316, 317, 317,
1495 318, 318, 319, 319, 319, 319, 320, 320, 321, 321,
1496 322, 322, 323, 323, 324, 324, 324, 324, 324, 325,
1497 327, 326, 328, 329, 331, 330, 332, 330, 333, 333,
1498 334, 334, 334, 334, 334, 335, 335, 335, 335, 336,
1499 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
1500 336, 336, 336, 336, 336, 336, 337, 337, 338, 338,
1501 339, 339, 340, 340, 340, 340, 340, 341, 341, 341,
1502 341, 341, 341, 342, 342, 342, 342, 343, 343, 343,
1503 343, 344, 344, 344, 344, 344, 344, 344, 344, 344,
1504 344, 344, 344, 345, 345, 345, 345, 345, 345, 345,
1505 345, 345, 345, 345, 345, 345, 345, 346, 347, 347,
1506 348, 348, 349, 349, 349, 350, 350, 351, 353, 354,
1507 352, 355, 356, 352, 352, 352, 357, 358, 352, 359,
1508 360, 352, 352, 352, 352, 352, 361, 362, 362, 362,
1509 363, 363, 364, 364, 365, 365, 365, 366, 367, 366,
1510 366, 368, 368, 368, 369, 369, 370, 370, 370, 370,
1511 371, 371, 372, 372, 373, 373, 373, 374, 374, 375,
1512 375, 375, 375, 376, 376, 377, 377, 378, 378, 378,
1513 380, 379, 381, 379, 382, 382, 383, 383, 384, 384,
1514 384, 385, 385, 386, 386, 386, 386, 386, 386, 386,
1515 386, 386, 387, 387, 387, 387, 387, 387, 387, 387,
1516 387, 387, 388, 389, 390, 391, 391, 392, 392, 392,
1517 392, 394, 395, 393, 397, 396, 396, 398, 398, 398,
1518 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
1519 400, 399, 401, 402, 403, 403, 404, 404, 404, 404,
1520 404, 404, 404, 404, 404, 404, 404, 404, 405, 405,
1521 406, 406, 408, 407, 409, 407, 411, 410, 412, 410,
1522 413, 413, 414, 415, 416, 417, 418, 419, 420, 420,
1523 420, 420, 420, 420, 420, 420, 421, 422, 422, 422,
1524 422, 423, 423, 424, 424, 425, 425, 426, 426, 427,
1525 427, 428, 428, 429, 429, 429, 430, 431, 432, 431,
1526 433, 431, 434, 435, 437, 438, 436, 439, 440, 439,
1527 441, 441, 441, 441, 442, 442, 443, 443, 444, 444,
1528 444, 444, 444, 444, 444, 444, 444, 445, 445, 445,
1529 445, 445, 445, 445, 445, 445, 445, 446, 446, 447,
1530 447, 447, 447, 448, 448, 448, 449, 449, 449, 450,
1531 450, 450, 450, 450, 451, 451, 451, 452, 452, 453,
1532 453, 454, 454, 455, 455, 456, 456, 457, 458, 459,
1533 457, 460, 461, 457, 462, 462, 462, 462, 462, 462,
1534 462, 462, 462, 462, 462, 462, 463, 463, 464, 465,
1535 465, 465, 466, 466, 466, 466, 467, 467, 467, 467,
1536 467, 467, 467, 467, 467, 467, 468, 468, 469, 469,
1537 470, 471, 471, 471, 471, 471, 472, 472, 472, 472
1540 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1541 static const yytype_uint8 yyr2[] =
1543 0, 2, 0, 1, 1, 2, 2, 1, 1, 1,
1544 1, 1, 1, 1, 8, 11, 0, 5, 1, 3,
1545 1, 2, 1, 6, 3, 6, 0, 6, 0, 7,
1546 1, 6, 3, 6, 0, 6, 0, 7, 0, 0,
1547 10, 3, 3, 3, 2, 1, 3, 0, 4, 0,
1548 4, 1, 3, 1, 1, 1, 3, 1, 3, 1,
1549 1, 1, 1, 1, 1, 4, 5, 1, 1, 1,
1550 1, 3, 4, 2, 3, 3, 3, 1, 1, 1,
1551 0, 2, 0, 2, 1, 1, 1, 1, 1, 1,
1552 1, 1, 1, 1, 1, 1, 2, 0, 4, 1,
1553 2, 0, 3, 1, 3, 1, 1, 0, 2, 3,
1554 2, 1, 3, 2, 0, 2, 1, 1, 1, 1,
1555 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1556 1, 1, 3, 0, 3, 0, 0, 4, 2, 2,
1557 1, 1, 1, 1, 3, 4, 2, 3, 3, 3,
1558 1, 1, 1, 3, 1, 1, 3, 4, 2, 3,
1559 3, 3, 0, 1, 1, 3, 1, 1, 1, 3,
1560 1, 1, 0, 4, 1, 4, 3, 4, 6, 5,
1561 5, 2, 2, 7, 1, 3, 1, 2, 2, 2,
1562 2, 2, 2, 2, 2, 3, 1, 3, 4, 1,
1563 9, 0, 3, 0, 0, 4, 2, 4, 2, 1,
1564 4, 1, 3, 3, 3, 1, 3, 3, 1, 3,
1565 3, 1, 3, 3, 3, 3, 1, 3, 3, 1,
1566 3, 1, 3, 1, 3, 1, 0, 4, 1, 0,
1567 4, 1, 0, 0, 6, 0, 0, 7, 1, 3,
1568 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1569 1, 3, 0, 1, 1, 1, 1, 1, 3, 0,
1570 9, 0, 11, 1, 1, 2, 0, 6, 0, 8,
1571 4, 4, 0, 0, 2, 1, 4, 2, 1, 4,
1572 0, 4, 1, 3, 4, 2, 2, 2, 1, 2,
1573 3, 2, 1, 3, 1, 1, 1, 1, 1, 2,
1574 0, 6, 2, 2, 0, 6, 0, 5, 1, 1,
1575 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1576 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1577 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1578 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1579 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1580 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1581 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1582 2, 2, 2, 2, 2, 2, 2, 3, 1, 4,
1583 1, 3, 2, 2, 2, 0, 1, 0, 0, 0,
1584 12, 0, 0, 11, 6, 6, 0, 0, 10, 0,
1585 0, 10, 5, 5, 4, 4, 0, 1, 1, 2,
1586 5, 3, 2, 4, 1, 3, 4, 6, 0, 8,
1587 4, 1, 3, 2, 1, 4, 1, 1, 2, 2,
1588 1, 2, 1, 2, 1, 1, 1, 1, 2, 1,
1589 2, 2, 3, 1, 3, 1, 3, 1, 1, 3,
1590 0, 2, 0, 4, 4, 1, 1, 2, 1, 1,
1591 2, 0, 1, 5, 2, 3, 3, 4, 3, 4,
1592 4, 5, 1, 1, 1, 1, 1, 1, 1, 1,
1593 1, 1, 4, 1, 1, 1, 2, 2, 7, 6,
1594 2, 0, 0, 10, 0, 6, 1, 1, 1, 1,
1595 2, 1, 1, 1, 1, 1, 1, 1, 3, 1,
1596 0, 3, 2, 2, 1, 1, 1, 1, 1, 1,
1597 1, 1, 1, 1, 3, 1, 1, 1, 2, 2,
1598 0, 2, 0, 4, 0, 6, 0, 3, 0, 5,
1599 3, 2, 3, 0, 0, 0, 0, 0, 1, 2,
1600 2, 3, 2, 3, 3, 4, 2, 2, 3, 3,
1601 4, 1, 2, 1, 2, 1, 3, 1, 4, 1,
1602 2, 1, 2, 1, 2, 1, 4, 2, 0, 5,
1603 0, 6, 4, 4, 0, 0, 10, 1, 0, 4,
1604 1, 1, 1, 1, 1, 2, 1, 3, 1, 4,
1605 3, 4, 6, 5, 5, 2, 2, 1, 2, 2,
1606 2, 2, 2, 2, 2, 2, 1, 1, 4, 1,
1607 3, 3, 3, 1, 3, 3, 1, 3, 3, 1,
1608 3, 3, 3, 3, 1, 3, 3, 1, 3, 1,
1609 3, 1, 3, 1, 3, 1, 3, 1, 0, 0,
1610 6, 0, 0, 7, 1, 3, 3, 3, 3, 3,
1611 3, 3, 3, 3, 3, 3, 1, 0, 1, 2,
1612 7, 2, 2, 7, 6, 2, 3, 2, 3, 2,
1613 3, 3, 3, 3, 2, 3, 0, 1, 0, 1,
1614 1, 1, 1, 1, 1, 1, 1, 1, 4, 4
1617 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1618 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1619 means the default is an error. */
1620 static const yytype_uint16 yydefact[] =
1622 0, 13, 12, 459, 0, 426, 266, 426, 16, 0,
1623 0, 0, 0, 282, 282, 282, 305, 304, 306, 307,
1624 308, 367, 368, 331, 333, 332, 336, 337, 325, 327,
1625 328, 326, 334, 335, 369, 370, 329, 330, 346, 342,
1626 338, 343, 339, 320, 321, 324, 322, 323, 364, 365,
1627 366, 363, 348, 347, 341, 340, 352, 353, 354, 355,
1628 356, 350, 351, 349, 357, 358, 361, 362, 359, 360,
1629 426, 426, 426, 426, 426, 426, 426, 426, 426, 426,
1630 344, 710, 711, 715, 345, 712, 713, 716, 0, 0,
1631 4, 7, 8, 450, 9, 10, 135, 45, 706, 11,
1632 265, 267, 0, 405, 282, 282, 282, 282, 282, 282,
1633 282, 282, 426, 282, 405, 405, 426, 398, 426, 0,
1634 426, 131, 282, 714, 22, 426, 454, 455, 456, 457,
1635 460, 461, 282, 285, 282, 282, 278, 426, 717, 426,
1636 426, 715, 0, 547, 203, 556, 0, 0, 0, 688,
1637 0, 0, 0, 0, 203, 593, 0, 203, 203, 203,
1638 203, 203, 203, 282, 203, 203, 0, 44, 0, 0,
1639 0, 0, 0, 0, 550, 203, 171, 167, 170, 614,
1640 604, 174, 186, 209, 196, 282, 211, 215, 218, 221,
1641 226, 229, 231, 233, 235, 238, 241, 248, 260, 595,
1642 546, 0, 0, 581, 536, 537, 538, 539, 0, 0,
1643 540, 203, 541, 0, 542, 168, 0, 543, 545, 166,
1644 0, 529, 0, 591, 0, 563, 516, 0, 0, 0,
1645 525, 0, 526, 505, 524, 521, 522, 517, 518, 519,
1646 0, 0, 523, 530, 0, 0, 527, 504, 0, 371,
1647 373, 372, 383, 385, 384, 386, 387, 388, 389, 390,
1648 391, 392, 1, 5, 282, 0, 133, 138, 426, 707,
1649 6, 426, 406, 402, 376, 378, 375, 377, 380, 379,
1650 381, 382, 396, 374, 403, 404, 0, 282, 282, 394,
1651 282, 282, 0, 395, 451, 393, 458, 462, 282, 167,
1652 170, 0, 426, 476, 0, 166, 426, 0, 284, 426,
1653 0, 275, 282, 706, 18, 20, 0, 426, 282, 30,
1654 470, 209, 264, 552, 0, 203, 203, 203, 203, 0,
1655 697, 699, 704, 0, 563, 0, 0, 0, 189, 194,
1656 193, 192, 191, 190, 0, 282, 187, 188, 203, 203,
1657 0, 0, 0, 0, 0, 550, 0, 282, 549, 501,
1658 203, 492, 493, 494, 495, 0, 496, 497, 203, 499,
1659 203, 498, 500, 563, 203, 203, 181, 182, 0, 203,
1660 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
1661 204, 201, 203, 203, 203, 203, 203, 203, 203, 203,
1662 203, 203, 203, 203, 203, 203, 203, 203, 236, 245,
1663 239, 594, 203, 695, 41, 0, 564, 582, 597, 692,
1664 615, 0, 548, 203, 0, 0, 0, 592, 42, 506,
1665 510, 583, 426, 520, 532, 533, 0, 0, 0, 43,
1666 24, 203, 470, 426, 426, 282, 268, 132, 0, 400,
1667 0, 426, 0, 426, 0, 282, 0, 718, 282, 203,
1668 0, 478, 477, 479, 719, 282, 281, 282, 280, 276,
1669 426, 0, 282, 0, 426, 282, 21, 467, 0, 0,
1670 452, 468, 282, 0, 557, 0, 600, 0, 263, 0,
1671 696, 705, 563, 0, 169, 203, 544, 282, 0, 0,
1672 0, 700, 701, 702, 703, 698, 551, 203, 558, 0,
1673 691, 426, 561, 689, 0, 0, 176, 0, 184, 0,
1674 0, 0, 249, 250, 251, 252, 253, 254, 255, 256,
1675 257, 258, 259, 195, 0, 212, 213, 214, 217, 216,
1676 219, 220, 222, 223, 224, 225, 227, 228, 230, 232,
1677 234, 203, 0, 203, 203, 261, 577, 717, 581, 0,
1678 426, 562, 598, 0, 0, 528, 514, 282, 584, 531,
1679 0, 0, 26, 0, 568, 203, 589, 134, 426, 203,
1680 563, 282, 269, 399, 282, 416, 0, 424, 419, 0,
1681 425, 0, 441, 444, 438, 440, 397, 484, 0, 470,
1682 480, 203, 0, 286, 274, 288, 273, 282, 282, 282,
1683 706, 17, 32, 203, 470, 282, 19, 453, 463, 465,
1684 38, 472, 426, 471, 475, 553, 596, 0, 602, 203,
1685 173, 203, 210, 426, 0, 282, 502, 554, 0, 560,
1686 576, 0, 605, 203, 177, 175, 282, 282, 203, 203,
1687 202, 237, 243, 0, 240, 578, 579, 203, 203, 203,
1688 603, 203, 426, 203, 426, 80, 28, 569, 572, 203,
1689 203, 570, 203, 590, 137, 0, 271, 282, 401, 422,
1690 565, 408, 423, 565, 411, 282, 443, 282, 0, 485,
1691 488, 282, 0, 486, 0, 470, 426, 107, 287, 203,
1692 282, 282, 0, 34, 0, 282, 0, 82, 469, 282,
1693 481, 203, 0, 203, 587, 708, 585, 0, 0, 0,
1694 559, 203, 203, 185, 179, 180, 282, 206, 282, 208,
1695 203, 246, 580, 599, 0, 282, 203, 203, 203, 203,
1696 203, 203, 203, 203, 0, 167, 170, 186, 209, 636,
1697 215, 218, 221, 226, 229, 231, 233, 235, 238, 0,
1698 608, 607, 168, 618, 627, 637, 639, 643, 646, 649,
1699 654, 657, 659, 661, 663, 665, 667, 674, 610, 166,
1700 0, 25, 0, 97, 101, 99, 124, 125, 126, 127,
1701 128, 129, 130, 27, 80, 84, 0, 86, 85, 0,
1702 89, 0, 426, 426, 87, 0, 88, 316, 0, 80,
1703 573, 574, 203, 571, 23, 282, 290, 426, 414, 565,
1704 426, 415, 565, 437, 442, 203, 0, 0, 489, 487,
1705 490, 0, 282, 0, 106, 203, 203, 0, 292, 277,
1706 203, 0, 298, 0, 203, 0, 426, 82, 36, 0,
1707 464, 466, 39, 82, 90, 92, 91, 95, 93, 94,
1708 473, 446, 0, 282, 481, 447, 482, 601, 511, 708,
1709 203, 0, 0, 178, 555, 0, 608, 0, 0, 244,
1710 203, 694, 0, 0, 189, 194, 193, 192, 191, 190,
1711 187, 188, 203, 203, 203, 181, 182, 0, 203, 203,
1712 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
1713 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
1714 203, 203, 203, 203, 203, 203, 671, 203, 515, 0,
1715 509, 105, 110, 103, 114, 706, 81, 96, 100, 108,
1716 310, 313, 309, 0, 314, 312, 29, 575, 203, 0,
1717 428, 426, 426, 427, 426, 426, 426, 445, 282, 483,
1718 491, 289, 279, 302, 0, 0, 301, 295, 296, 299,
1719 297, 290, 14, 33, 35, 82, 31, 706, 83, 470,
1720 474, 448, 449, 203, 0, 586, 183, 0, 199, 0,
1721 563, 205, 207, 247, 693, 169, 203, 0, 176, 0,
1722 0, 0, 0, 675, 676, 677, 678, 679, 680, 681,
1723 682, 683, 684, 685, 212, 213, 214, 217, 216, 219,
1724 220, 222, 223, 224, 225, 227, 228, 230, 232, 234,
1725 664, 0, 203, 666, 203, 508, 109, 0, 119, 120,
1726 121, 122, 123, 706, 111, 426, 114, 0, 0, 142,
1727 143, 102, 152, 706, 140, 141, 0, 49, 0, 0,
1728 59, 60, 70, 68, 319, 0, 318, 57, 77, 0,
1729 64, 67, 0, 706, 69, 162, 290, 282, 426, 0,
1730 282, 429, 417, 426, 420, 426, 439, 293, 203, 300,
1731 706, 37, 0, 282, 512, 588, 282, 203, 0, 690,
1732 687, 210, 282, 177, 175, 282, 282, 669, 0, 609,
1733 104, 114, 98, 117, 113, 118, 116, 115, 0, 146,
1734 0, 0, 0, 0, 139, 0, 0, 155, 164, 706,
1735 154, 0, 0, 67, 0, 73, 0, 55, 54, 0,
1736 62, 61, 63, 0, 0, 0, 0, 0, 0, 282,
1737 706, 163, 0, 270, 282, 431, 282, 282, 426, 434,
1738 0, 409, 0, 412, 294, 303, 0, 40, 282, 0,
1739 200, 0, 197, 686, 564, 0, 179, 180, 203, 672,
1740 112, 147, 144, 150, 0, 151, 148, 149, 153, 0,
1741 158, 0, 0, 0, 0, 282, 0, 79, 78, 0,
1742 74, 0, 51, 46, 47, 56, 67, 58, 71, 0,
1743 75, 76, 0, 0, 317, 282, 282, 291, 203, 282,
1744 0, 432, 282, 418, 0, 421, 0, 15, 513, 198,
1745 606, 178, 670, 203, 145, 159, 156, 0, 160, 161,
1746 165, 311, 53, 50, 0, 0, 72, 48, 65, 315,
1747 272, 435, 426, 430, 203, 407, 413, 673, 157, 66,
1751 /* YYDEFGOTO[NTERM-NUM]. */
1752 static const yytype_int16 yydefgoto[] =
1754 -1, 88, 89, 90, 91, 92, 140, 313, 314, 93,
1755 665, 809, 315, 847, 975, 94, 707, 977, 950, 96,
1756 1064, 1202, 1147, 1131, 1203, 1243, 1139, 1066, 1067, 1068,
1757 1143, 1069, 1070, 1206, 1072, 1199, 793, 852, 794, 853,
1758 795, 854, 934, 855, 798, 856, 935, 932, 933, 833,
1759 800, 801, 1043, 1044, 1045, 1114, 1046, 802, 803, 97,
1760 267, 443, 268, 580, 98, 1051, 1183, 1184, 1053, 1128,
1761 1150, 1129, 181, 334, 182, 517, 183, 987, 184, 749,
1762 534, 185, 533, 650, 186, 187, 188, 189, 190, 191,
1763 192, 193, 194, 195, 551, 196, 554, 197, 552, 730,
1764 553, 880, 198, 227, 489, 323, 431, 100, 677, 815,
1765 605, 606, 609, 101, 309, 102, 265, 134, 135, 607,
1766 608, 949, 839, 840, 841, 842, 964, 103, 804, 858,
1767 1056, 806, 807, 859, 1075, 943, 1073, 104, 105, 106,
1768 107, 108, 109, 110, 111, 112, 113, 114, 115, 303,
1769 432, 448, 117, 273, 1263, 118, 819, 1224, 822, 1226,
1770 680, 1160, 683, 1162, 119, 952, 953, 1157, 1158, 120,
1771 688, 591, 592, 863, 137, 479, 129, 130, 122, 617,
1772 618, 480, 481, 482, 709, 623, 336, 827, 865, 463,
1773 358, 359, 228, 248, 229, 230, 360, 983, 1169, 232,
1774 661, 233, 234, 436, 235, 236, 202, 417, 361, 356,
1775 362, 483, 719, 363, 324, 638, 364, 207, 365, 561,
1776 817, 1082, 241, 577, 512, 416, 209, 578, 715, 716,
1777 579, 366, 210, 211, 367, 658, 627, 368, 244, 369,
1778 373, 722, 760, 929, 761, 215, 763, 764, 765, 766,
1779 767, 768, 769, 770, 771, 772, 773, 774, 775, 776,
1780 777, 1031, 1178, 1032, 1233, 778, 1174, 370, 371, 217,
1781 372, 270, 871, 305, 220, 125
1784 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1786 #define YYPACT_NINF -1033
1787 static const yytype_int16 yypact[] =
1789 2259, -1033, -1033, 357, 60, 5469, -1033, 6624, -1033, 677,
1790 1966, 3655, 3655, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1791 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1792 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1793 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1794 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1795 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1796 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1797 -1033, -1033, -1033, 805, -1033, -1033, -1033, -1033, 118, 2441,
1798 -1033, -1033, -1033, 331, -1033, -1033, 87, -1033, 134, -1033,
1799 -1033, -1033, 101, 6210, -1033, -1033, -1033, -1033, -1033, -1033,
1800 -1033, -1033, -1033, -1033, 6210, 6210, 151, 57, -1033, 666,
1801 -1033, -1033, 677, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1802 357, -1033, 1900, -1033, 185, -1033, 151, -1033, -1033, -1033,
1803 5469, -1033, 210, -1033, 5716, -1033, 219, 230, 293, -1033,
1804 300, 677, 348, 362, 879, -1033, 2827, 5716, 5716, 5716,
1805 5716, 5716, 5716, -1033, 5748, 5748, 388, -1033, 395, 371,
1806 456, 463, 487, 417, 415, 4875, -1033, 500, 532, -1033,
1807 543, -1033, 652, 1193, -1033, -1033, -1033, 668, 145, 254,
1808 678, 474, 571, 569, 585, 579, 50, -1033, -1033, 55,
1809 -1033, 3458, 549, 560, -1033, -1033, -1033, -1033, 649, 3217,
1810 -1033, 4875, -1033, 3458, -1033, 501, 3458, -1033, -1033, 699,
1811 702, -1033, 690, -1033, 3022, 543, 704, 205, 656, 3611,
1812 -1033, 3655, -1033, -1033, -1033, 5934, -1033, -1033, -1033, -1033,
1813 740, 762, -1033, -1033, 3655, 3458, -1033, -1033, 669, -1033,
1814 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1815 -1033, -1033, -1033, -1033, 759, 765, -1033, -1033, 6486, -1033,
1816 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1817 -1033, -1033, -1033, -1033, -1033, -1033, 773, 995, -1033, -1033,
1818 677, 677, 14, -1033, 331, -1033, -1033, -1033, 5310, -1033,
1819 -1033, 94, 6624, 414, 777, -1033, -1033, 787, -1033, -1033,
1820 813, 827, 995, 134, -1033, 548, 798, -1033, 677, -1033,
1821 263, -1033, -1033, -1033, 814, 5716, 5716, 5716, 1299, 842,
1822 -1033, -1033, -1033, 346, 844, 593, 862, 867, -1033, -1033,
1823 -1033, -1033, -1033, -1033, 851, 5310, -1033, -1033, 5716, 5716,
1824 876, 926, 929, 938, 960, 415, 529, 5337, -1033, -1033,
1825 4875, -1033, -1033, -1033, -1033, 883, -1033, -1033, 4875, -1033,
1826 4875, -1033, -1033, -1033, 5641, 5716, -1033, -1033, 85, 5716,
1827 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716,
1828 -1033, -1033, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716,
1829 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, -1033, 892,
1830 -1033, -1033, 5716, -1033, -1033, 2632, -1033, -1033, 930, -1033,
1831 -1033, 958, -1033, 5716, 618, 972, 998, -1033, -1033, -1033,
1832 -1033, -1033, 151, 5934, -1033, -1033, 3655, 3261, 999, -1033,
1833 -1033, 5716, 368, 3808, 4959, 995, -1033, 384, 944, 1025,
1834 1030, 1033, 1036, 1033, 677, 1038, 475, -1033, -1033, 5652,
1835 1039, 567, -1033, 659, -1033, 995, -1033, 884, -1033, -1033,
1836 -1033, 973, 1049, 1041, -1033, 995, 548, -1033, 677, 1057,
1837 -1033, 1062, 677, 1064, -1033, 483, 1063, 562, 1063, 1072,
1838 -1033, -1033, 844, 1066, -1033, 5364, -1033, -1033, 1071, 1079,
1839 577, -1033, -1033, -1033, -1033, -1033, -1033, 5716, -1033, 1076,
1840 -1033, 3808, -1033, -1033, 1093, 1081, -1033, 638, -1033, 311,
1841 677, 677, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1842 -1033, -1033, -1033, -1033, 631, -1033, -1033, -1033, 668, 668,
1843 145, 145, 254, 254, 254, 254, 678, 678, 474, 571,
1844 569, 5716, 1086, 5716, 5716, -1033, -1033, 2174, -1033, 3414,
1845 3998, -1033, -1033, 1087, 692, -1033, -1033, 995, -1033, -1033,
1846 1100, 1101, -1033, 1102, -1033, 4378, -1033, -1033, 4188, 4422,
1847 844, -1033, 1106, -1033, -1033, 1110, 1113, -1033, 1115, 1114,
1848 -1033, 741, -1033, 1121, -1033, -1033, -1033, -1033, 1111, 626,
1849 659, 5684, 1123, -1033, -1033, -1033, -1033, 1116, -1033, -1033,
1850 310, -1033, -1033, 5716, 502, 995, -1033, -1033, 1128, -1033,
1851 -1033, 1145, 6624, -1033, -1033, -1033, -1033, 1127, -1033, 1299,
1852 -1033, 5385, -1033, -1033, 1134, -1033, -1033, -1033, 1133, -1033,
1853 -1033, 1136, -1033, 5716, -1033, -1033, -1033, -1033, 5775, 5819,
1854 -1033, 585, -1033, 750, 579, -1033, -1033, 4529, 4875, 5716,
1855 -1033, 5853, -1033, 5716, -1033, 1496, -1033, -1033, -1033, 4573,
1856 4680, -1033, 4724, -1033, -1033, 1131, -1033, -1033, -1033, -1033,
1857 -1033, 1138, -1033, -1033, 1142, -1033, 677, -1033, 677, -1033,
1858 -1033, 132, 1144, -1033, 1150, 98, -1033, 1088, -1033, 3549,
1859 -1033, -1033, 1152, -1033, 1147, -1033, 325, 1496, -1033, 677,
1860 925, 4875, 1164, 5385, -1033, 1165, -1033, 1169, 1173, 1182,
1861 -1033, 5716, 5853, -1033, -1033, -1033, 5310, -1033, 5310, -1033,
1862 5716, -1033, -1033, -1033, 698, 5310, 5716, 5716, 5716, 5716,
1863 5716, 5716, 5748, 5748, 1139, 712, 732, 739, 1489, -1033,
1864 983, 783, 802, 761, 909, 1176, 1167, 1168, 1151, 107,
1865 1185, -1033, 45, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1866 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, 758,
1867 775, -1033, 1037, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1868 -1033, -1033, -1033, -1033, 1496, -1033, 1146, -1033, -1033, 1148,
1869 -1033, 1149, -1033, -1033, -1033, 1153, -1033, 1313, 1155, 1496,
1870 -1033, -1033, 4831, -1033, -1033, -1033, -1033, 6348, -1033, -1033,
1871 6348, -1033, -1033, -1033, -1033, 5716, 966, 1200, -1033, -1033,
1872 -1033, 1202, 884, 1211, -1033, 3549, 5716, 677, -1033, -1033,
1873 3549, 519, -1033, 1225, 3549, 1157, -1033, 1496, -1033, 1208,
1874 -1033, -1033, -1033, 1496, -1033, -1033, -1033, -1033, -1033, -1033,
1875 -1033, 331, 1226, -1033, 1007, -1033, 659, -1033, -1033, 1165,
1876 3701, 1244, 677, -1033, -1033, 782, 1240, 1241, 1242, -1033,
1877 5716, 1250, 803, 1245, 804, 822, 824, 848, 855, 857,
1878 864, 880, 5716, 5673, 5716, 896, 908, 109, 5716, 5716,
1879 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716,
1880 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716,
1881 5716, 5716, 5716, 5716, 5716, 5716, 1252, 5716, -1033, 1254,
1882 1259, -1033, 1090, 1238, 11, 301, -1033, -1033, -1033, -1033,
1883 -1033, -1033, -1033, 453, -1033, -1033, -1033, -1033, 3549, 376,
1884 -1033, 151, 5121, -1033, 6348, 5121, 6348, -1033, -1033, -1033,
1885 -1033, -1033, -1033, -1033, 993, 1256, -1033, -1033, -1033, -1033,
1886 -1033, -1033, -1033, -1033, -1033, 1496, -1033, 134, -1033, 233,
1887 -1033, -1033, -1033, 5705, 1264, -1033, -1033, 258, -1033, 1267,
1888 844, 1134, 1134, -1033, -1033, 913, 5364, 1258, 915, 921,
1889 358, 677, 677, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1890 -1033, -1033, -1033, -1033, 933, 940, 941, 1188, 1196, 874,
1891 898, 84, 363, 455, 530, 91, 552, 106, 165, 477,
1892 585, 1265, 5716, 579, 5853, -1033, 501, 1037, -1033, -1033,
1893 -1033, -1033, -1033, 399, -1033, 6072, 11, 164, 164, -1033,
1894 -1033, -1033, 317, 442, -1033, -1033, 63, -1033, 982, 90,
1895 -1033, -1033, -1033, -1033, -1033, 1263, -1033, 43, -1033, 1008,
1896 -1033, 76, 1274, 134, -1033, 63, -1033, -1033, -1033, 1270,
1897 133, -1033, -1033, 5121, -1033, 5121, -1033, -1033, 5289, -1033,
1898 467, -1033, 1209, 240, -1033, -1033, -1033, 5716, 677, -1033,
1899 1105, 949, -1033, 951, 959, -1033, -1033, -1033, 1003, -1033,
1900 -1033, 11, -1033, -1033, -1033, -1033, -1033, -1033, 498, 317,
1901 793, 677, 677, 164, -1033, 63, 63, -1033, 416, 491,
1902 -1033, 1279, 1004, 581, 90, 421, 58, -1033, -1033, 982,
1903 -1033, -1033, -1033, 982, 22, 677, 677, 1282, 982, -1033,
1904 134, 1284, 612, -1033, 995, -1033, -1033, 1285, -1033, 1286,
1905 1287, -1033, 1289, -1033, -1033, -1033, 1219, -1033, 587, 1288,
1906 -1033, 447, -1033, -1033, -1033, 1290, 971, 984, 5716, -1033,
1907 -1033, -1033, -1033, 317, 1291, 501, -1033, -1033, 317, 639,
1908 416, 850, 677, 677, 63, -1033, 1118, -1033, -1033, 982,
1909 -1033, 581, 1272, -1033, 421, -1033, 421, -1033, -1033, 1293,
1910 -1033, -1033, 1118, 1297, -1033, -1033, -1033, -1033, 5716, 133,
1911 1298, -1033, -1033, -1033, 1304, -1033, 1306, -1033, -1033, -1033,
1912 -1033, 986, -1033, 5716, -1033, -1033, -1033, 1300, -1033, -1033,
1913 416, -1033, -1033, -1033, 1311, 58, -1033, -1033, -1033, -1033,
1914 -1033, -1033, -1033, -1033, 5716, -1033, -1033, -1033, -1033, -1033,
1915 -1033, -1033, -1033, -1033
1918 /* YYPGOTO[NTERM-NUM]. */
1919 static const yytype_int16 yypgoto[] =
1921 -1033, -1033, -1033, 1248, -1033, -1033, -1033, -1033, -403, -118,
1922 -1033, -1033, 1020, -1033, -1033, -1033, -1033, -1033, 64, -1033,
1923 -1033, 397, -1033, -1033, 96, 130, -1033, 206, -1033, -1033,
1924 -1033, -938, -1033, -886, -1033, -1033, -620, -778, -1033, -1033,
1925 -1033, -610, -1033, -594, -1033, -577, -1033, 312, -1033, -1033,
1926 654, -668, -1033, 242, 308, -1033, -1033, -1033, -1033, -1033,
1927 -1033, -1033, -1033, -1033, -1033, -1033, -898, 166, -1033, -1032,
1928 -1033, 280, -1033, -1033, -636, 466, 1132, -1033, -1033, 1178,
1929 -1033, -1033, -1033, -1033, -117, -381, -345, -322, -372, -388,
1930 -347, -353, -535, -551, -1033, -626, -1033, -76, -1033, -1033,
1931 -1033, -1033, 1013, 1218, -602, -433, 6, -1033, -1033, -1033,
1932 533, -3, -1033, -1033, -1033, 634, -254, -1033, -1033, -1033,
1933 -1033, -911, -806, -1033, -1033, 523, -1033, -1033, -1033, -554,
1934 -1033, -1033, -1033, -384, -1033, -1033, -1033, -1033, -1033, 559,
1935 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1936 801, 784, -1033, 889, -1033, -1033, -1033, -1033, -1033, -1033,
1937 -1033, -1033, -1033, -1033, 224, -684, -890, -1033, 148, -1033,
1938 -1033, 683, 687, 511, 1, -395, 1246, -1033, 17, -1033,
1939 -1033, -578, -1033, -1033, -1033, 670, -125, 1074, -1033, -448,
1940 1141, 26, 1366, -1033, 1137, -1033, 744, -1033, -1033, -1033,
1941 -1033, -173, -1033, -1033, -1033, -1033, -1033, 20, 799, 1028,
1942 1251, -1033, -1033, 1261, -1033, -1033, -311, -1033, 617, 211,
1943 -423, -737, -1033, 869, -1033, -1033, 969, -187, 673, 518,
1944 -493, 127, -1033, 180, 40, -1033, -1033, 173, -1033, 337,
1945 -1033, -1033, 667, -1033, 356, -639, -1033, -1033, -1033, -1033,
1946 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1947 -1033, -1033, -1033, -1033, -1033, -1033, -1033, 1401, -1033, -1033,
1948 1588, -295, 522, 0, 19, -1033
1951 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1952 positive, shift that token. If negative, reduce the rule which
1953 number is the opposite. If zero, do what YYDEFACT says.
1954 If YYTABLE_NINF, syntax error. */
1955 #define YYTABLE_NINF -718
1956 static const yytype_int16 yytable[] =
1958 123, 121, 133, 654, 294, 123, 99, 304, 571, 123,
1959 219, 219, 219, 600, 538, 539, 651, 548, 471, 124,
1960 131, 692, 762, 493, 124, 747, 598, 712, 142, 963,
1961 203, 546, 547, 454, 967, 759, 200, 1052, 971, 857,
1962 338, 339, 340, 341, 342, 343, 509, 573, 433, 1208,
1963 212, 425, 540, 541, 550, 796, 429, 1071, 430, 549,
1964 1090, 473, 1081, 1057, 95, 1081, -616, 657, 322, 974,
1965 -616, 797, 616, 411, 637, 978, 412, 542, 543, 544,
1966 545, 444, 1134, 762, 132, 670, 747, 1125, 799, 123,
1967 121, 409, 1059, 1189, 1190, 99, 759, 1126, -47, 1137,
1968 1038, 1039, 1144, 477, 1145, -650, 266, 410, 124, -650,
1969 758, 805, -655, 520, 1134, 412, -655, 831, 262, 457,
1970 1132, 1146, 123, 830, 1059, 271, 757, -658, 399, 400,
1971 521, -658, 1040, 1041, 397, 398, 955, 1001, 242, 242,
1972 123, 124, 1076, 401, 402, 288, 1042, 297, 926, 1118,
1973 1119, 123, 269, 95, 1002, 1156, 219, 318, 459, 319,
1974 403, 404, 1240, 449, 927, 1152, 3, 3, 694, -282,
1975 329, 758, 1133, 1135, 936, 219, 337, 395, 396, 857,
1976 702, 509, 200, 213, 796, 857, -660, 757, 1047, 946,
1977 -660, 243, 243, 1081, 405, 1081, 212, 1091, 1048, 796,
1978 797, 219, 81, 82, 141, 1207, 306, 85, 86, 219,
1979 1213, 219, 705, 219, 1209, 797, 219, 799, 1084, 704,
1980 498, 413, 473, 427, 219, 1188, 412, 200, 560, 219,
1981 1138, 219, 799, 419, 320, 200, 421, 420, 477, 200,
1982 805, 212, 200, 325, 219, 219, 81, 1062, 1201, 212,
1983 1204, 81, 1127, 212, 326, 805, 212, -426, 690, -426,
1984 820, 1244, 866, 569, 429, 438, 459, -426, 477, 674,
1985 1083, 200, 1085, 754, 3, 535, 536, 537, 81, 1062,
1986 750, 808, 1165, 1096, 1097, 212, 1098, 123, 447, 753,
1987 123, 123, 123, 1036, 252, 253, 254, 255, 256, 257,
1988 258, 259, 260, 261, 397, 398, 124, 857, 756, 451,
1989 453, 455, 123, 470, 755, 701, 751, 327, 123, 269,
1990 461, 81, 82, 141, 328, 1047, 85, 86, 269, 213,
1991 850, 124, 412, 700, 754, 1048, 282, 319, 645, 752,
1992 287, 750, 289, 1120, 293, 1121, 1161, 214, 1163, 295,
1993 753, 242, 81, 1049, 1050, -283, 242, 264, 242, 1204,
1994 219, 311, 1122, 312, 491, 322, 330, 412, 219, 756,
1995 219, 242, 633, 477, 213, 755, 1033, 751, 632, 412,
1996 331, 1094, 213, 322, -651, 1104, 213, 350, -651, 213,
1997 1030, 3, 957, 572, 1077, 762, 954, 1078, 747, 956,
1998 752, 692, -426, 965, 243, -426, 378, -426, 759, 243,
1999 808, 243, 348, 397, 398, 219, 866, 269, 213, 349,
2000 1111, -426, -426, -426, 243, 808, -426, -426, 81, 82,
2001 141, 322, 354, 85, 86, 558, 219, 219, -282, 568,
2002 459, 200, 1191, 219, 1192, 123, 581, 1144, 3, 1145,
2003 568, -426, -426, -426, 123, 212, -426, -426, 1057, 449,
2004 269, 1193, 603, 1123, 124, 123, 1146, 123, 412, 126,
2005 127, 128, 351, 593, 1229, 123, -652, 1058, 123, 352,
2006 -652, 1185, 123, 758, 124, 269, 124, 1059, 1078, 81,
2007 1049, 1050, 318, 214, 319, 445, 412, 619, -662, 757,
2008 494, 624, -662, 353, 412, 397, 398, 477, 626, 269,
2009 718, 219, 1194, 81, 82, 141, 406, 355, 85, 86,
2010 123, 123, -711, 1181, 1120, 322, 1121, 703, 403, 404,
2011 465, 1017, 1018, 467, 1027, 507, 508, 322, 214, 646,
2012 647, 475, 968, 1122, 478, 836, 214, 837, 1025, 1026,
2013 214, -653, 1185, 214, -715, -653, -426, -426, -426, 219,
2014 219, -426, -426, 242, 242, -712, 568, 123, 662, 1019,
2015 1020, 1029, -283, -656, 472, 219, 1028, -656, 219, 219,
2016 397, 398, 214, 412, 568, 200, 124, 628, 213, 399,
2017 400, -282, 861, 459, 1021, 1022, 1023, 1024, 412, 212,
2018 405, 877, 636, 878, 401, 402, 1200, 1144, 406, 1145,
2019 883, 411, -478, 459, 412, 123, 243, 243, 494, 884,
2020 885, 886, 887, 888, 889, 407, 1146, 208, 240, 240,
2021 1216, 477, 318, 1078, 319, 408, 427, 1060, 1061, 412,
2022 1054, 81, 1062, 494, 414, 1063, 754, 249, 250, 251,
2023 -426, 690, -426, 750, 879, -534, 567, 219, 219, 643,
2024 -426, 779, 753, 644, 1235, 1191, 478, 1192, 415, 219,
2025 219, 582, 219, 648, 649, 587, 374, 590, 375, 1100,
2026 -426, 756, 1092, -282, 1193, 601, 123, 755, 123, 751,
2027 -426, -426, -426, 420, 610, -426, -426, -426, 615, 219,
2028 376, 377, 392, 393, 394, 593, 123, 593, 461, 123,
2029 123, 219, 752, 412, 423, 399, 400, 660, 843, 412,
2030 600, -714, 779, 881, 422, 851, -713, 864, 624, 124,
2031 401, 402, 213, -613, 290, 291, 292, -613, 274, 275,
2032 276, 277, 278, 279, 280, 281, 861, 283, 1112, 322,
2033 286, 428, 214, -612, 201, 231, 231, -612, 1124, 434,
2034 322, 685, 686, 893, 439, 894, 302, -426, 307, 308,
2035 310, 412, 731, 208, 316, 81, 82, 141, 1149, -611,
2036 85, 86, 435, -611, -426, 1251, 440, 895, 896, 442,
2037 302, 446, 1014, 1015, 1016, 1166, 412, 344, 916, 917,
2038 930, 116, 464, 412, 993, 466, 136, 989, 139, 204,
2039 237, 237, 219, 918, 919, 912, 913, 1047, 208, 391,
2040 1182, 1262, 474, 691, 412, -630, 208, 1048, 995, -630,
2041 208, 468, 123, 208, 1195, 219, 484, 123, 478, -717,
2042 219, 240, 426, -635, 219, -634, 240, -635, 240, -634,
2043 469, 124, 914, 915, 843, 1215, 966, 717, 302, 843,
2044 490, 240, 208, 843, 123, 81, 82, 141, 492, -633,
2045 85, 86, 123, -633, 1047, 497, -632, 1236, -631, 1101,
2046 -632, 864, -631, 124, 1048, -628, 582, 495, 781, -628,
2047 116, 988, 496, -717, 501, -647, 214, 332, 441, -647,
2048 201, -629, 511, 298, 272, -629, 395, 396, 157, 158,
2049 159, 160, 161, 162, -242, 272, 272, -625, 3, -648,
2050 832, -625, 302, -648, 450, 452, 163, 164, 165, -626,
2051 395, 396, 302, -626, -617, 1055, -620, 460, -617, 562,
2052 -620, 317, 643, 1074, 502, 201, 1103, 503, 219, -282,
2053 166, 459, 316, 201, -640, 204, 504, 201, -640, 3,
2054 201, -641, -642, 920, 921, -641, -642, 843, 231, 563,
2055 -638, 897, -621, 231, -638, 231, -621, 1175, 505, 302,
2056 -619, 81, 1049, 1050, -619, 179, 958, 686, 231, 201,
2057 515, 302, -623, -717, -717, 176, -623, 565, -717, -717,
2058 204, 123, 123, 284, 285, -624, 1058, -622, 204, -624,
2059 570, -622, 204, 1087, 1088, 204, 1059, 909, 910, 911,
2060 1105, 1106, 566, 237, 412, 1179, 940, 941, 237, 3,
2061 237, -282, 208, 459, 779, 583, 1197, 1198, 81, 1049,
2062 1050, 3, 179, 237, 204, 1116, 584, 1055, 1055, 585,
2063 294, 1115, -282, 240, 240, 588, 1130, 594, 1074, 1074,
2064 1140, 1141, 1142, 599, 611, 614, 286, 81, 299, 300,
2065 973, 179, 81, 82, 141, 1130, 612, 85, 86, 604,
2066 123, 1159, 620, 621, 412, 586, 625, 589, 219, 595,
2067 629, 630, 596, 123, 581, 460, 634, 602, 123, 124,
2068 635, 639, 1232, 458, 641, 642, 613, 843, 652, 316,
2069 1168, 659, 124, 81, 82, 141, 622, 1172, 85, 86,
2070 1055, 123, 123, 1055, 663, 1130, 1130, 666, 664, 676,
2071 679, 302, 681, 684, 1074, 682, 1074, 696, 689, 1074,
2072 1186, 1187, 322, 1074, 687, 123, 123, 695, 1074, 706,
2073 708, 1217, 711, 631, 123, 720, 814, 1257, 818, 201,
2074 721, 782, 821, 892, 1210, 1211, 1060, 1061, 123, 828,
2075 81, 1062, 848, 124, 1063, 1080, 208, 829, 322, 846,
2076 231, 231, 868, 81, 82, 141, 870, 124, 85, 86,
2077 872, 1055, 123, 123, 1130, 81, 82, 141, 873, 1074,
2078 85, 86, 981, 1093, 874, 922, 923, 925, 924, -645,
2079 928, 1238, 1239, -645, 204, 675, 379, -644, 302, 123,
2080 1159, -644, 392, 393, 394, 959, 931, 960, 199, 962,
2081 392, 393, 394, 976, 602, 237, 237, 937, 124, 938,
2082 939, 697, 698, 699, 942, 1074, 945, 970, 972, 316,
2083 979, 380, 381, 382, 383, 384, 385, 386, 387, 388,
2084 389, 205, 238, 238, 986, 990, 991, 992, 994, 302,
2085 996, 206, 239, 239, -668, 1034, 321, 1035, 1037, 1102,
2086 724, 725, 179, 1089, 1095, 1099, 1136, 1107, 1155, 321,
2087 321, 321, 321, 321, 321, 391, 346, 347, 1148, 1173,
2088 1167, 1196, 1154, 201, 1212, 1194, 1219, 1223, 1222, 1225,
2089 1227, 816, 1245, 1228, 1242, 1231, 1253, -262, 1234, 823,
2090 1246, 825, 1248, 298, 1255, 460, 1256, 1258, 157, 158,
2091 159, 160, 161, 162, 844, 845, 1259, 263, 476, 849,
2092 1065, 1260, 1247, 622, 862, 1205, 163, 164, 165, 1110,
2093 301, 834, 418, 1180, 1117, 1151, 391, 1237, 204, 999,
2094 302, 499, 302, 390, 969, 961, 944, 1252, 678, 302,
2095 166, 826, 333, 824, 335, 982, 296, 462, 247, 860,
2096 640, 437, 1221, 506, 559, 1230, 869, 518, 985, 876,
2097 1109, 984, 522, 523, 524, 525, 526, 527, 528, 529,
2098 530, 531, 532, 0, 0, 0, 0, 205, 0, 0,
2099 0, 216, 245, 245, 0, 176, 0, 206, 0, 199,
2100 0, 0, 0, 710, 0, 555, 0, 199, 0, 0,
2101 0, 199, 0, 0, 199, 0, 23, 24, 25, 26,
2102 0, 27, 424, 0, 0, 0, 32, 33, 0, 948,
2103 36, 37, 205, 39, 40, 41, 42, 0, 0, 0,
2104 205, 0, 206, 199, 205, 0, 0, 205, 54, 55,
2105 206, 0, 0, 0, 206, 238, 1261, 206, 0, 0,
2106 238, 0, 238, 0, 0, 239, 0, 81, 299, 300,
2107 239, 179, 239, 0, 80, 238, 205, 980, 862, 0,
2108 602, 510, 0, 0, 84, 239, 206, 0, 0, 513,
2109 0, 514, 898, 0, 0, 0, 456, 0, 0, 0,
2110 0, 0, 0, 0, 321, 321, 321, 321, 321, 321,
2111 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
2112 0, 0, 0, 485, 486, 487, 488, 899, 900, 901,
2113 902, 903, 904, 905, 906, 907, 908, 216, 0, 0,
2114 0, 0, 0, 456, 0, 0, 0, 500, 0, 782,
2115 783, 784, 785, 321, 0, 456, 786, 787, 788, 789,
2116 790, 791, 792, 0, 576, 1079, 0, 0, 0, 0,
2117 0, 321, 1086, 519, 0, 0, 0, 0, 218, 246,
2118 246, 0, 216, 0, 0, 0, 0, 0, 0, 0,
2119 216, 0, 0, 0, 216, 0, 0, 216, 951, 0,
2120 0, 951, 0, 0, 0, 245, 0, 321, 0, 0,
2121 245, 0, 245, 199, 0, 0, 0, 0, 0, 321,
2122 0, 564, 0, 0, 714, 245, 216, 0, 0, 0,
2123 0, 0, 576, 0, 0, 0, 723, 0, 0, 0,
2124 0, 0, 0, 0, 0, 0, 205, 0, 391, 0,
2125 0, 0, 0, 0, 0, 0, 206, 0, 0, 0,
2126 0, 0, 0, 321, 0, 0, 321, 238, 238, 0,
2127 0, 0, 0, 0, 0, 0, 0, 239, 239, 0,
2128 0, 576, 0, 0, 0, 0, 0, 0, 0, 0,
2129 0, 1153, 838, 0, 0, 0, 0, 0, 0, 576,
2130 673, 0, 0, 0, 0, 0, 714, 862, 0, 0,
2131 1170, 0, 0, 321, 0, 0, 302, 0, 0, 1176,
2132 1177, 0, 0, 0, 218, 321, 0, 0, 0, 0,
2133 0, 0, 0, 951, 0, 951, 951, 951, 0, 0,
2134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2135 0, 653, 0, 0, 0, 0, 0, 199, 0, 0,
2136 727, 729, 0, 1214, 0, 0, 0, 0, 0, 218,
2137 1218, 1220, 0, 748, 0, 0, 0, 218, 673, 733,
2138 0, 218, 862, 0, 218, 0, 0, 0, 0, 0,
2139 205, 673, 246, 0, 0, 0, 216, 246, 0, 246,
2140 206, 0, 0, 0, 0, 0, 0, 0, 0, 1241,
2141 0, 0, 246, 218, 0, 0, 0, 245, 245, 0,
2142 0, 0, 0, 0, 0, 0, 0, 488, 838, 1249,
2143 1250, 0, 867, 838, 748, 0, 1254, 838, 0, 0,
2144 0, 0, 321, 0, 0, 0, 0, 0, 321, 321,
2145 321, 321, 321, 321, 890, 891, 0, 734, 0, 0,
2146 0, 780, 0, 714, 951, 0, 951, 0, 0, 0,
2147 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2148 0, 0, 0, 0, 0, 997, 518, 0, 0, 0,
2149 0, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011,
2150 1012, 1013, 0, 0, 298, 0, 0, 0, 0, 157,
2151 158, 159, 160, 161, 162, 0, 0, 0, 0, 875,
2152 0, 0, -203, -203, 456, 0, 456, 163, 164, 165,
2153 0, 0, 0, 882, 0, 0, 0, 321, 0, 0,
2154 216, 838, 0, 0, 0, 0, 0, 143, 321, 0,
2155 0, 166, 144, 145, 146, 0, 147, 148, 149, 150,
2156 151, 152, 153, 154, 155, -563, 0, 0, 0, 0,
2157 156, 0, 0, 0, 0, 157, 158, 159, 160, 161,
2158 162, 0, 0, 218, 0, 0, 0, 0, -203, -203,
2159 0, 0, 321, 163, 164, 165, 176, 0, 0, 0,
2160 0, 0, 0, 0, 246, 246, 0, 0, 0, 0,
2161 0, 0, 0, 0, 0, 0, 0, 166, 0, 0,
2162 0, 321, 321, 321, 321, 321, 321, 321, 321, 321,
2163 321, 321, 321, 321, 321, 321, 321, 321, 0, 321,
2164 0, 167, 168, 169, 170, 171, 172, 173, 174, 0,
2165 0, 0, 0, 0, 0, 0, 0, 175, 0, 0,
2166 0, 0, 176, 0, 0, 0, 0, 0, 81, 299,
2167 300, 0, 179, 0, 0, 0, 0, 0, 0, 0,
2168 0, 838, 0, 0, 0, 0, 0, 0, 0, 0,
2169 0, 0, 1000, 0, 0, 0, 0, 0, 0, 0,
2170 0, 0, 0, 0, 0, 0, 0, 0, 321, 0,
2171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2172 0, 0, 0, 0, 0, 0, 0, 218, 0, 0,
2173 0, 0, 0, 0, 81, 177, 178, 0, 179, 180,
2174 86, 0, 0, 0, 0, 0, 748, 0, 0, 0,
2175 0, 0, 0, 0, 0, -170, 0, 0, 0, 0,
2176 -170, -170, -170, 0, -170, -170, -170, -170, -170, -170,
2177 -170, -170, -170, -170, -170, -170, -715, -170, -170, 0,
2178 -170, 488, -170, -170, -170, -170, -170, -170, -170, -170,
2179 -170, -170, -170, -170, -170, -170, -170, -170, 0, -170,
2180 0, -170, -170, -170, -170, -170, -170, -170, -170, -170,
2181 -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
2182 -170, -170, 0, 0, 0, -170, 0, 0, 0, 0,
2183 1108, 0, 0, 0, 0, 0, 0, 0, 0, -2,
2184 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2185 -170, -170, -170, -170, -170, -170, -170, 2, 0, 0,
2186 0, 0, 0, -282, 0, -170, 0, 0, 0, 0,
2187 -170, 0, 0, 3, 0, 0, 0, 0, 0, 0,
2188 0, 0, 0, 4, 0, 5, 0, 0, 0, 0,
2189 321, 0, 0, 0, 0, 1171, 0, 0, 0, 0,
2190 0, 0, 0, 0, 0, 0, 0, -426, -426, -426,
2191 0, 6, 0, 0, 0, 0, 7, 8, 9, 0,
2192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2193 321, 10, 11, 12, 0, 0, 0, 0, 0, 0,
2194 0, 0, -170, -170, -170, 321, -170, -170, -170, 0,
2195 0, 13, 14, 15, 16, 0, 17, 18, 19, 20,
2196 21, 22, 23, 24, 25, 26, 321, 27, 28, 29,
2197 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2198 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2199 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2200 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2201 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2202 80, -3, 1, 0, 0, 0, 0, 81, 82, 83,
2203 84, 0, 85, 86, 87, 0, 0, 0, 0, 2,
2204 0, 0, 0, 0, 0, -282, 0, 0, 0, 0,
2205 0, 0, 0, 0, 0, 3, 0, 0, 0, 0,
2206 0, 0, 0, 0, 0, 4, 0, 5, 0, 0,
2207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2208 0, 0, 0, 0, 0, 0, 0, 0, 0, -426,
2209 -426, -426, 0, 6, 0, 0, 0, 0, 7, 8,
2210 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2211 0, 0, 0, 10, 11, 12, 0, 0, 0, 0,
2212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2213 0, 0, 0, 13, 14, 15, 16, 0, 17, 18,
2214 19, 20, 21, 22, 23, 24, 25, 26, 0, 27,
2215 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2216 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2217 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2218 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2219 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2220 78, 79, 80, 0, 0, 0, 0, 0, 0, 81,
2221 82, 83, 84, 143, 85, 86, 87, 0, 144, 145,
2222 146, 0, 147, 148, 149, 150, 151, 152, 153, 154,
2223 155, -563, 556, 0, 0, 0, 156, 0, 0, 0,
2224 0, 157, 158, 159, 160, 161, 162, 0, 0, 0,
2225 0, 0, 0, 0, -203, -203, 4, 0, 5, 163,
2226 164, 165, 0, 0, 0, 0, 0, 0, 0, 0,
2227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2228 -426, -426, -426, 166, 6, 0, 0, 0, 0, 0,
2229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2230 0, 0, 0, 0, 0, 0, 0, 0, 168, 169,
2231 170, 171, 172, 173, 174, 0, 0, 0, 0, 0,
2232 0, 0, 0, 175, 13, 14, 15, 16, 176, 17,
2233 18, 19, 20, 21, 22, 23, 24, 25, 26, 0,
2234 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2235 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2236 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2237 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2238 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2239 77, 78, 79, 80, 0, 0, 0, 0, 0, 0,
2240 81, 177, 557, 84, 179, 180, 86, 87, 143, 0,
2241 0, 0, 0, 144, 145, 146, 0, 147, 148, 149,
2242 150, 151, 152, 153, 154, 155, -172, 0, 0, 0,
2243 0, 156, 0, 0, 0, 0, 157, 158, 159, 160,
2244 161, 162, 0, 0, 0, 0, 0, 0, 0, -203,
2245 -203, -282, 0, 0, 163, 164, 165, 0, 0, 0,
2246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2247 0, 0, 0, 0, 0, -282, -282, -282, 166, 0,
2248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2249 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2250 0, 0, 0, 168, 169, 170, 171, 172, 173, 174,
2251 0, 0, 0, 0, 0, 0, 0, 0, 175, -282,
2252 -282, -282, -282, 176, -282, -282, -282, -282, -282, -282,
2253 -282, -282, -282, -282, 0, -282, -282, -282, -282, -282,
2254 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2255 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2256 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2257 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2258 -282, -282, -282, -282, -282, -282, -282, -282, -282, 0,
2259 0, 0, 0, 0, 0, 81, 177, 178, -282, 179,
2260 180, 86, -282, 221, 0, 0, 0, 0, 144, 145,
2261 146, 0, 0, 222, 149, 150, 151, 152, 153, 154,
2262 223, -172, -567, 0, 0, 0, 224, 0, 0, 0,
2263 0, 157, 158, 159, 160, 161, 162, 0, 0, 0,
2264 0, 0, 0, 0, -203, -203, -282, 0, 0, 163,
2265 164, 165, 0, 0, 0, 0, 0, 0, 0, 0,
2266 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2267 -282, -282, -282, 166, 0, 0, 0, 0, 0, 0,
2268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2269 0, 0, 0, 0, 0, 0, 0, 0, 0, 169,
2270 170, 171, 172, 173, 174, 0, 0, 0, 0, 0,
2271 0, 0, 0, 175, -282, -282, -282, -282, 176, -282,
2272 -282, -282, -282, -282, -282, -282, -282, -282, -282, 0,
2273 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2274 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2275 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2276 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2277 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2278 -282, -282, -282, -282, 0, 0, 0, 0, 0, 0,
2279 81, 177, 178, -282, 179, 225, 226, -282, 143, 0,
2280 0, 0, 0, 144, 145, 146, 0, 147, 148, 149,
2281 150, 151, 152, 153, 154, 155, -563, 0, 0, 0,
2282 0, 156, 0, 0, 0, 0, 157, 158, 159, 160,
2283 161, 162, 0, 0, 0, 0, 0, 0, 0, -203,
2284 -203, 0, 221, 0, 163, 164, 165, 144, 145, 146,
2285 0, 0, 222, 149, 150, 151, 152, 153, 154, 223,
2286 -507, -507, 0, 0, 0, 224, -507, 0, 166, 0,
2287 157, 158, 159, 160, 161, 162, 0, 0, 0, 0,
2288 0, 0, 0, -203, -203, 0, 0, 0, 163, 164,
2289 165, 0, -535, 168, 169, 170, 171, 172, 173, 174,
2290 0, 0, 0, 0, 0, 0, 0, 0, 175, 0,
2291 0, 0, 166, 176, 0, 0, 0, 0, 0, 0,
2292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2293 0, 0, 0, 0, 0, 0, -507, 0, 169, 170,
2294 171, 172, 173, 174, 0, 0, 0, 0, 0, 0,
2295 0, 0, 175, 0, 0, 0, 0, 176, 0, 0,
2296 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2297 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2298 0, 0, 0, 0, 0, 81, 177, 178, 0, 179,
2299 180, 86, 0, 0, 0, 143, 0, 0, 0, 0,
2300 144, 145, 146, 0, 147, 148, 149, 150, 151, 152,
2301 153, 154, 155, -563, 655, 0, 0, 0, 156, 0,
2302 0, 0, 0, 157, 158, 159, 160, 161, 162, 81,
2303 177, 178, 0, 179, 225, 226, -203, -203, 0, 143,
2304 0, 163, 164, 165, 144, 145, 146, 0, 147, 148,
2305 149, 150, 151, 152, 153, 154, 155, -563, 0, 0,
2306 0, 0, 156, 0, 0, 166, 0, 157, 158, 159,
2307 160, 161, 162, 0, 0, 0, 0, 0, 0, 0,
2308 -203, -203, 0, 0, 0, 163, 164, 165, 0, 0,
2309 168, 169, 170, 171, 172, 173, 174, 0, 0, 0,
2310 0, 0, 0, 0, 0, 175, 0, 0, 0, 166,
2311 176, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2313 0, 0, 0, 0, 168, 169, 170, 171, 172, 173,
2314 174, 0, 0, 0, 0, 0, 0, 0, 835, 175,
2315 0, 0, 0, 298, 176, 836, 0, 837, 157, 158,
2316 159, 160, 161, 162, 0, 0, 0, 0, 0, 0,
2317 0, 0, 0, 0, 0, 0, 163, 164, 165, 0,
2318 0, 0, 81, 177, 178, 0, 179, 180, 86, 0,
2319 0, 0, 221, 0, 0, 0, 0, 144, 145, 146,
2320 166, 0, 222, 149, 150, 151, 152, 153, 154, 223,
2321 -563, -567, 0, 0, 0, 224, 0, 0, 0, 0,
2322 157, 158, 159, 160, 161, 162, 81, 177, 178, 0,
2323 179, 180, 86, -203, -203, 0, 221, 0, 163, 164,
2324 165, 144, 145, 146, 0, 176, 222, 149, 150, 151,
2325 152, 153, 154, 223, -563, -567, 0, 0, 0, 224,
2326 0, 0, 166, 0, 157, 158, 159, 160, 161, 162,
2327 0, 0, 0, 0, 0, 0, 0, -203, -203, 0,
2328 0, 0, 163, 164, 165, 0, -503, 0, 169, 170,
2329 171, 172, 173, 174, 0, 0, 0, 0, 0, 0,
2330 713, -709, 175, 0, 0, 298, 166, 176, 0, 0,
2331 157, 158, 159, 160, 161, 162, 0, 81, 177, 178,
2332 0, 179, 85, 86, 0, 0, 0, 0, 163, 164,
2333 165, 0, 169, 170, 171, 172, 173, 174, 0, 0,
2334 0, 0, 0, 0, 0, 0, 175, 0, 0, 0,
2335 0, 176, 166, 0, 0, 0, 0, 0, 0, 0,
2336 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2337 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,
2338 177, 178, 0, 179, 225, 226, 0, 0, 0, 0,
2339 0, 0, 0, 0, 144, 145, 146, 176, 147, 148,
2340 149, 150, 151, 152, 153, 154, 223, -563, 574, 0,
2341 0, 0, 357, 0, 0, 0, 0, 157, 158, 159,
2342 160, 161, 162, 81, 177, 178, 0, 179, 225, 226,
2343 -203, -203, 4, 0, 5, 163, 164, 165, 0, 0,
2344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2345 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
2346 6, 0, 0, 0, 0, 0, 0, 0, 0, 81,
2347 299, 300, 0, 179, 0, 0, 0, 0, 0, 0,
2348 0, 0, 0, 0, 168, 169, 170, 171, 172, 173,
2349 174, 0, 0, 0, 0, 0, 0, 0, 0, 575,
2350 13, 14, 15, 16, 176, 17, 18, 19, 20, 21,
2351 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
2352 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2353 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2354 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2355 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2356 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2357 0, 0, 0, 0, 0, 0, 81, 177, 557, 84,
2358 179, 180, 86, 87, 144, 145, 146, 0, 147, 148,
2359 149, 150, 151, 152, 153, 154, 223, -563, 656, 0,
2360 0, 0, 357, 0, 0, 0, 0, 157, 158, 159,
2361 160, 161, 162, 0, 0, 0, 0, 0, 0, 0,
2362 -203, -203, 4, 0, 5, 163, 164, 165, 0, 0,
2363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2364 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
2365 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2367 0, 0, 0, 0, 168, 169, 170, 171, 172, 173,
2368 174, 0, 0, 0, 0, 0, 0, 0, 0, 175,
2369 13, 14, 15, 16, 176, 17, 18, 19, 20, 21,
2370 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
2371 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2372 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2373 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2374 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2375 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2376 0, 0, 0, 0, 0, 0, 81, 177, 557, 84,
2377 179, 180, 86, 87, 144, 145, 146, 0, 147, 148,
2378 149, 150, 151, 152, 153, 154, 223, -563, 668, 0,
2379 0, 0, 357, 0, 0, 0, 0, 157, 158, 159,
2380 160, 161, 162, 0, 0, 0, 0, 0, 0, 0,
2381 -203, -203, 4, 0, 5, 163, 164, 165, 0, 0,
2382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2383 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
2384 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2386 0, 0, 0, 0, 168, 169, 170, 171, 172, 173,
2387 174, 0, 0, 0, 0, 0, 0, 0, 0, 669,
2388 13, 14, 15, 16, 176, 17, 18, 19, 20, 21,
2389 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
2390 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2391 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2392 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2393 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2394 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2395 0, 0, 0, 0, 0, 0, 81, 177, 557, 84,
2396 179, 180, 86, 87, 144, 145, 146, 0, 147, 148,
2397 149, 150, 151, 152, 153, 154, 223, -563, 667, 0,
2398 0, 0, 357, 0, 0, 0, 0, 157, 158, 159,
2399 160, 161, 162, 0, 0, 0, 0, 0, 0, 0,
2400 0, 0, 0, 0, 0, 163, 164, 165, 144, 145,
2401 146, 0, 147, 148, 149, 150, 151, 152, 153, 154,
2402 223, -563, 671, 0, 0, 0, 357, 0, 0, 166,
2403 0, 157, 158, 159, 160, 161, 162, 0, 0, 0,
2404 0, 0, 0, 0, 0, 0, 0, 0, 0, 163,
2405 164, 165, 0, 0, 168, 169, 170, 171, 172, 173,
2406 174, 0, 0, 0, 0, 0, 0, 0, 0, 175,
2407 0, 0, 0, 166, 176, 0, 0, 0, 0, 0,
2408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2409 0, 0, 0, 0, 0, 0, 0, 0, 168, 169,
2410 170, 171, 172, 173, 174, 0, 0, 0, 0, 0,
2411 0, 0, 0, 672, 0, 144, 145, 146, 176, 147,
2412 148, 149, 150, 151, 152, 153, 154, 223, -563, 732,
2413 0, 0, 0, 357, 0, 0, 0, 0, 157, 158,
2414 159, 160, 161, 162, 0, 0, 81, 177, 178, 0,
2415 179, 180, 86, 0, 0, 0, 163, 164, 165, 144,
2416 145, 146, 0, 147, 148, 149, 150, 151, 152, 153,
2417 154, 223, -563, 810, 0, 0, 0, 357, 0, 0,
2418 166, 0, 157, 158, 159, 160, 161, 162, 0, 0,
2419 81, 177, 178, 0, 179, 180, 86, 0, 0, 0,
2420 163, 164, 165, 0, 0, 168, 169, 170, 171, 172,
2421 173, 174, 0, 0, 0, 0, 0, 0, 0, 0,
2422 175, 0, 0, 0, 166, 176, 0, 0, 0, 0,
2423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2424 0, 0, 0, 0, 0, 0, 0, 0, 0, 168,
2425 169, 170, 171, 172, 173, 174, 0, 0, 0, 0,
2426 0, 0, 0, 0, 175, 0, 144, 145, 146, 176,
2427 147, 148, 149, 150, 151, 152, 153, 154, 223, -563,
2428 811, 0, 0, 0, 357, 0, 0, 0, 0, 157,
2429 158, 159, 160, 161, 162, 0, 0, 81, 177, 178,
2430 0, 179, 180, 86, 0, 0, 0, 163, 164, 165,
2431 144, 145, 146, 0, 147, 148, 149, 150, 151, 152,
2432 153, 154, 223, -563, 813, 0, 0, 0, 357, 0,
2433 0, 166, 0, 157, 158, 159, 160, 161, 162, 0,
2434 0, 81, 177, 178, 0, 179, 180, 86, 0, 0,
2435 0, 163, 164, 165, 0, 0, 168, 169, 170, 171,
2436 172, 173, 174, 0, 0, 0, 0, 0, 0, 0,
2437 0, 812, 0, 0, 0, 166, 176, 0, 0, 0,
2438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2440 168, 169, 170, 171, 172, 173, 174, 0, 0, 0,
2441 0, 0, 0, 0, 0, 175, 0, 144, 145, 146,
2442 176, 147, 148, 149, 150, 151, 152, 153, 154, 223,
2443 -563, 947, 0, 0, 0, 357, 0, 0, 0, 0,
2444 157, 158, 159, 160, 161, 162, 0, 0, 81, 177,
2445 178, 0, 179, 180, 86, 0, 0, 0, 163, 164,
2446 165, 144, 145, 146, 0, 147, 148, 149, 150, 151,
2447 152, 153, 154, 223, -563, 0, 0, 0, 0, 357,
2448 0, 0, 166, 0, 157, 158, 159, 160, 161, 162,
2449 0, 0, 81, 177, 178, 0, 179, 180, 86, 0,
2450 0, 0, 163, 164, 165, 0, 0, 168, 169, 170,
2451 171, 172, 173, 174, 0, 0, 0, 0, 0, 0,
2452 0, 0, 175, 0, 0, 0, 166, 176, 0, 0,
2453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2455 0, 168, 169, 170, 171, 172, 173, 174, -136, 0,
2456 0, 0, 0, -136, 0, 0, 175, 0, 0, 0,
2457 0, 176, 0, 0, 0, 0, 0, 0, 0, 0,
2458 0, 0, 0, 4, 0, 5, 0, 0, 0, 0,
2459 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,
2460 177, 178, 0, 179, 180, 86, 0, 0, 0, 0,
2461 0, 6, 0, 0, 0, 0, 0, 0, 0, 0,
2462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2464 0, 0, 0, 81, 177, 178, 0, 179, 180, 86,
2465 0, 13, 14, 15, 16, 0, 17, 18, 19, 20,
2466 21, 22, 23, 24, 25, 26, 0, 27, 28, 29,
2467 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2468 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2469 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2470 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2471 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2472 80, -566, 0, 0, 0, 0, 0, 0, 0, 138,
2473 84, 0, 0, 0, 87, 0, 0, 0, 0, 0,
2474 0, 0, 0, 0, 0, 4, 0, 0, 0, 0,
2475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2481 0, 0, 0, 13, 14, 15, 16, 0, 17, 18,
2482 19, 20, 21, 22, 23, 24, 25, 26, 0, 27,
2483 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2484 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2485 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2486 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2487 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2488 78, 79, 80, 0, 0, 0, 0, 0, 835, 1164,
2489 0, 138, 84, 298, 0, 836, 87, 837, 157, 158,
2490 159, 160, 161, 162, 0, 0, 0, 0, 0, -172,
2491 0, 0, 0, 0, 298, 0, 163, 164, 165, 157,
2492 158, 159, 160, 161, 162, 0, 0, 0, 0, 0,
2493 0, 0, -203, -203, 0, 0, -172, 163, 164, 165,
2494 166, 357, 0, 0, 0, 0, 157, 158, 159, 160,
2495 161, 162, 0, 0, 0, 0, 0, 0, 0, -203,
2496 -203, 166, 0, 631, 163, 164, 165, 0, 298, 0,
2497 0, 0, 0, 157, 158, 159, 160, 161, 162, 0,
2498 0, 0, 0, 0, 713, 176, 0, 0, 166, 298,
2499 0, 163, 164, 165, 157, 158, 159, 160, 161, 162,
2500 0, 0, 0, 0, 0, 0, 176, 0, 0, 0,
2501 0, 0, 163, 164, 165, 166, 0, 0, 0, 0,
2502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2503 0, 0, 0, 176, 0, 0, 166, 0, 0, 0,
2504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2505 0, 0, 0, 0, 0, 0, 0, 81, 177, 178,
2506 176, 179, 85, 86, 0, 0, 0, 0, 0, 0,
2507 0, 0, 0, -282, 0, 0, 0, 0, 81, 299,
2508 300, 176, 179, 3, 0, 0, 0, 0, 0, 0,
2509 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
2510 0, 0, 0, 0, 0, 81, 299, 300, 0, 179,
2511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2513 0, 0, 81, 299, 300, 0, 179, 0, 0, 0,
2514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2515 0, 0, 0, 81, 299, 300, 0, 179, 0, 0,
2516 0, 13, 14, 15, 16, 0, 17, 18, 19, 20,
2517 21, 22, 23, 24, 25, 26, 0, 27, 28, 29,
2518 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2519 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2520 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2521 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2522 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2523 80, 0, 0, 0, 0, 0, 0, 81, 82, 83,
2524 84, 0, 85, 86, 87, 298, 516, 0, 0, 0,
2525 157, 158, 159, 160, 161, 162, 298, 0, 0, 597,
2526 0, 157, 158, 159, 160, 161, 162, 0, 163, 164,
2527 165, 0, 0, 0, 0, 0, 0, 298, 998, 163,
2528 164, 165, 157, 158, 159, 160, 161, 162, 298, 0,
2529 0, 693, 166, 157, 158, 159, 160, 161, 162, 0,
2530 163, 164, 165, 166, 0, 0, 0, 0, 0, 298,
2531 -262, 163, 164, 165, 157, 158, 159, 160, 161, 162,
2532 298, 0, 0, 0, 166, 157, 158, 159, 160, 161,
2533 162, 0, 163, 164, 165, 166, 0, 176, 0, 0,
2534 0, 0, 0, 163, 164, 165, 0, 0, 176, 0,
2535 0, 0, 345, 0, 0, 0, 166, 157, 158, 159,
2536 160, 161, 162, 0, 0, 0, 0, 166, 0, 176,
2537 0, 0, 0, 0, 0, 163, 164, 165, 0, 726,
2538 176, 0, 0, 0, 157, 158, 159, 160, 161, 162,
2539 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
2540 0, 176, 163, 164, 165, 0, 0, 0, 0, 81,
2541 299, 300, 176, 179, 0, 0, 0, 0, 0, 0,
2542 81, 299, 300, 728, 179, 0, 166, 0, 157, 158,
2543 159, 160, 161, 162, 0, 0, 0, 0, 0, 0,
2544 0, 81, 299, 300, 176, 179, 163, 164, 165, 0,
2545 0, 0, 81, 299, 300, 0, 179, 735, 0, 0,
2546 0, 0, 736, 737, 738, 739, 740, 741, 0, 0,
2547 166, 176, 0, 81, 299, 300, 0, 179, 0, 0,
2548 163, 742, 743, 0, 81, 299, 300, 0, 179, 0,
2549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2550 0, 0, 0, 0, 744, 0, 0, 0, 0, 0,
2551 0, 0, 0, 0, 0, 176, 81, 299, 300, 0,
2552 179, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2554 0, 0, 0, 81, 299, 300, 0, 179, 0, 176,
2555 0, 0, 0, 0, 0, 0, 0, 0, 4, 0,
2556 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2558 0, 0, -426, -426, -426, 0, 6, 81, 299, 300,
2559 0, 179, 0, 0, 0, 0, 0, 0, 0, 0,
2560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2562 0, 81, 745, 746, 0, 179, 13, 14, 15, 16,
2563 0, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2564 26, 0, 27, 28, 29, 30, 31, 32, 33, 34,
2565 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2566 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2567 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2568 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2569 75, 76, 77, 78, 79, 80, 4, 0, 5, 0,
2570 0, 0, 0, 0, 138, 84, 0, 0, 0, 87,
2571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2572 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
2573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2576 0, 0, 0, 0, 13, 14, 15, 16, 0, 17,
2577 18, 19, 20, 21, 22, 23, 24, 25, 26, 0,
2578 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2579 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2580 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2581 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2582 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2583 77, 78, 79, 80, 4, 0, 0, 0, 0, 0,
2584 81, 1113, 138, 84, 0, 0, 0, 87, 0, 0,
2585 0, 0, 0, 0, 0, 0, 0, 0, -426, -426,
2586 -426, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2588 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2590 0, 0, 13, 14, 15, 16, 0, 17, 18, 19,
2591 20, 21, 22, 23, 24, 25, 26, 0, 27, 28,
2592 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2593 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2594 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2595 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2596 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2597 79, 80, 4, 0, 0, 0, 0, 0, 0, 0,
2598 138, 84, 0, 0, 0, 87, 0, 0, 0, 0,
2599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2602 10, 11, 12, 0, 0, 0, 0, 0, 0, 0,
2603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2604 13, 14, 15, 16, 0, 17, 18, 19, 20, 21,
2605 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
2606 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2607 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2608 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2609 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2610 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2611 4, 0, 5, 0, 0, 0, 0, 0, 138, 84,
2612 0, 0, 0, 87, 0, 0, 0, 0, 0, 0,
2613 0, 0, 0, 0, 0, 0, 0, 0, 6, 0,
2614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2617 0, 0, 0, 0, 0, 0, 0, 0, 13, 14,
2618 15, 16, 0, 17, 18, 19, 20, 21, 22, 23,
2619 24, 25, 26, 0, 27, 28, 29, 30, 31, 32,
2620 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2621 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2622 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2623 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2624 73, 74, 75, 76, 77, 78, 79, 80, 4, 0,
2625 0, 0, 0, 0, 0, 0, 138, 84, 0, 0,
2626 0, 87, 0, 0, 0, 0, 0, 0, 0, 0,
2627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2631 0, 0, 0, 0, 0, 0, 13, 14, 15, 16,
2632 0, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2633 26, 0, 27, 28, 29, 30, 31, 32, 33, 34,
2634 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2635 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2636 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2637 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2638 75, 76, 77, 78, 79, 80, 0, 0, 0, 0,
2639 0, 0, 0, 0, 138, 84, 0, 0, 0, 87
2642 static const yytype_int16 yycheck[] =
2644 0, 0, 5, 554, 122, 5, 0, 132, 441, 9,
2645 10, 11, 12, 461, 395, 396, 551, 405, 313, 0,
2646 3, 599, 661, 334, 5, 661, 459, 629, 9, 835,
2647 10, 403, 404, 19, 840, 661, 10, 935, 844, 707,
2648 157, 158, 159, 160, 161, 162, 357, 442, 235, 27,
2649 10, 224, 397, 398, 407, 665, 229, 943, 231, 406,
2650 971, 315, 952, 5, 0, 955, 21, 560, 144, 847,
2651 25, 665, 475, 18, 507, 853, 21, 399, 400, 401,
2652 402, 268, 24, 722, 24, 578, 722, 24, 665, 89,
2653 89, 41, 34, 1125, 1126, 89, 722, 34, 22, 56,
2654 89, 90, 26, 5, 28, 21, 19, 57, 89, 25,
2655 661, 665, 21, 28, 24, 21, 25, 695, 0, 25,
2656 1058, 45, 122, 25, 34, 24, 661, 21, 37, 38,
2657 45, 25, 121, 122, 50, 51, 820, 28, 11, 12,
2658 140, 122, 948, 52, 53, 88, 135, 130, 41, 1047,
2659 1048, 151, 18, 89, 45, 22, 156, 140, 26, 140,
2660 54, 55, 1194, 288, 57, 1076, 34, 34, 601, 18,
2661 151, 722, 1058, 1059, 794, 175, 156, 32, 33, 847,
2662 613, 492, 156, 10, 794, 853, 21, 722, 24, 809,
2663 25, 11, 12, 1083, 29, 1085, 156, 975, 34, 809,
2664 794, 201, 188, 189, 190, 1143, 21, 193, 194, 209,
2665 1148, 211, 615, 213, 192, 809, 216, 794, 955, 614,
2666 345, 201, 476, 18, 224, 1123, 21, 201, 415, 229,
2667 187, 231, 809, 213, 24, 209, 216, 192, 5, 213,
2668 794, 201, 216, 24, 244, 245, 188, 189, 1134, 209,
2669 1136, 188, 189, 213, 24, 809, 216, 24, 25, 26,
2670 683, 1199, 710, 436, 437, 245, 26, 34, 5, 580,
2671 954, 245, 956, 661, 34, 392, 393, 394, 188, 189,
2672 661, 665, 1088, 25, 26, 245, 28, 287, 287, 661,
2673 290, 291, 292, 932, 70, 71, 72, 73, 74, 75,
2674 76, 77, 78, 79, 50, 51, 287, 975, 661, 290,
2675 291, 292, 312, 312, 661, 610, 661, 24, 318, 18,
2676 303, 188, 189, 190, 24, 24, 193, 194, 18, 156,
2677 5, 312, 21, 23, 722, 34, 112, 318, 27, 661,
2678 116, 722, 118, 26, 120, 28, 1083, 10, 1085, 125,
2679 722, 224, 188, 189, 190, 24, 229, 26, 231, 1245,
2680 360, 137, 45, 139, 18, 441, 18, 21, 368, 722,
2681 370, 244, 497, 5, 201, 722, 927, 722, 495, 21,
2682 18, 983, 209, 459, 21, 27, 213, 16, 25, 216,
2683 925, 34, 825, 25, 18, 1034, 819, 21, 1034, 822,
2684 722, 979, 18, 836, 224, 21, 182, 23, 1034, 229,
2685 794, 231, 24, 50, 51, 415, 864, 18, 245, 24,
2686 21, 188, 189, 190, 244, 809, 193, 194, 188, 189,
2687 190, 507, 15, 193, 194, 415, 436, 437, 24, 433,
2688 26, 415, 26, 443, 28, 445, 445, 26, 34, 28,
2689 444, 188, 189, 190, 454, 415, 193, 194, 5, 584,
2690 18, 45, 465, 21, 445, 465, 45, 467, 21, 112,
2691 113, 114, 16, 454, 27, 475, 21, 24, 478, 16,
2692 25, 1120, 482, 1034, 465, 18, 467, 34, 21, 188,
2693 189, 190, 475, 156, 475, 271, 21, 478, 21, 1034,
2694 25, 482, 25, 16, 21, 50, 51, 5, 25, 18,
2695 635, 511, 21, 188, 189, 190, 39, 102, 193, 194,
2696 520, 521, 22, 25, 26, 601, 28, 25, 54, 55,
2697 306, 912, 913, 309, 922, 6, 7, 613, 201, 520,
2698 521, 317, 23, 45, 320, 26, 209, 28, 920, 921,
2699 213, 21, 1191, 216, 22, 25, 188, 189, 190, 559,
2700 560, 193, 194, 436, 437, 22, 560, 567, 567, 914,
2701 915, 924, 24, 21, 26, 575, 923, 25, 578, 579,
2702 50, 51, 245, 21, 578, 559, 567, 25, 415, 37,
2703 38, 24, 710, 26, 916, 917, 918, 919, 21, 559,
2704 29, 726, 25, 728, 52, 53, 25, 26, 39, 28,
2705 735, 18, 25, 26, 21, 615, 436, 437, 25, 736,
2706 737, 738, 739, 740, 741, 40, 45, 10, 11, 12,
2707 18, 5, 615, 21, 615, 56, 18, 184, 185, 21,
2708 935, 188, 189, 25, 95, 192, 1034, 13, 14, 15,
2709 24, 25, 26, 1034, 730, 95, 432, 657, 658, 21,
2710 34, 661, 1034, 25, 25, 26, 442, 28, 19, 669,
2711 670, 447, 672, 42, 43, 451, 24, 453, 26, 990,
2712 28, 1034, 977, 24, 45, 26, 686, 1034, 688, 1034,
2713 188, 189, 190, 192, 470, 193, 194, 45, 474, 699,
2714 48, 49, 34, 35, 36, 686, 706, 688, 691, 709,
2715 710, 711, 1034, 21, 24, 37, 38, 25, 699, 21,
2716 1168, 22, 722, 25, 22, 706, 22, 710, 709, 710,
2717 52, 53, 559, 21, 68, 69, 70, 25, 104, 105,
2718 106, 107, 108, 109, 110, 111, 864, 113, 1043, 825,
2719 116, 95, 415, 21, 10, 11, 12, 25, 1053, 19,
2720 836, 20, 21, 24, 95, 26, 132, 28, 134, 135,
2721 136, 21, 22, 156, 140, 188, 189, 190, 1073, 21,
2722 193, 194, 20, 25, 45, 1218, 27, 48, 49, 24,
2723 156, 18, 909, 910, 911, 1090, 21, 163, 37, 38,
2724 25, 0, 25, 21, 880, 18, 5, 25, 7, 10,
2725 11, 12, 812, 52, 53, 32, 33, 24, 201, 185,
2726 27, 1254, 24, 599, 21, 21, 209, 34, 25, 25,
2727 213, 18, 832, 216, 1129, 835, 22, 837, 614, 34,
2728 840, 224, 225, 21, 844, 21, 229, 25, 231, 25,
2729 23, 832, 50, 51, 835, 1150, 837, 633, 224, 840,
2730 18, 244, 245, 844, 864, 188, 189, 190, 24, 21,
2731 193, 194, 872, 25, 24, 24, 21, 27, 21, 996,
2732 25, 864, 25, 864, 34, 21, 662, 25, 664, 25,
2733 89, 872, 25, 88, 18, 21, 559, 18, 264, 25,
2734 156, 21, 19, 24, 103, 25, 32, 33, 29, 30,
2735 31, 32, 33, 34, 22, 114, 115, 21, 34, 21,
2736 696, 25, 288, 25, 290, 291, 47, 48, 49, 21,
2737 32, 33, 298, 25, 21, 935, 21, 303, 25, 9,
2738 25, 140, 21, 943, 18, 201, 25, 18, 948, 24,
2739 71, 26, 318, 209, 21, 156, 18, 213, 25, 34,
2740 216, 21, 21, 54, 55, 25, 25, 948, 224, 11,
2741 21, 747, 21, 229, 25, 231, 25, 1102, 18, 345,
2742 21, 188, 189, 190, 25, 192, 20, 21, 244, 245,
2743 373, 357, 21, 188, 189, 116, 25, 25, 193, 194,
2744 201, 1001, 1002, 114, 115, 21, 24, 21, 209, 25,
2745 11, 25, 213, 20, 21, 216, 34, 34, 35, 36,
2746 1001, 1002, 24, 224, 21, 22, 802, 803, 229, 34,
2747 231, 24, 415, 26, 1034, 91, 32, 33, 188, 189,
2748 190, 34, 192, 244, 245, 1045, 21, 1047, 1048, 19,
2749 1168, 1045, 19, 436, 437, 19, 1056, 19, 1058, 1059,
2750 52, 53, 54, 24, 91, 24, 432, 188, 189, 190,
2751 846, 192, 188, 189, 190, 1075, 27, 193, 194, 195,
2752 1080, 1080, 25, 21, 21, 451, 22, 453, 1088, 455,
2753 18, 25, 458, 1093, 1093, 461, 25, 463, 1098, 1080,
2754 21, 25, 1178, 302, 11, 24, 472, 1088, 22, 475,
2755 1093, 24, 1093, 188, 189, 190, 482, 1098, 193, 194,
2756 1120, 1121, 1122, 1123, 24, 1125, 1126, 25, 27, 23,
2757 20, 497, 19, 19, 1134, 20, 1136, 21, 27, 1139,
2758 1121, 1122, 1218, 1143, 23, 1145, 1146, 24, 1148, 21,
2759 5, 1154, 25, 19, 1154, 22, 25, 1233, 20, 415,
2760 24, 73, 20, 24, 1145, 1146, 184, 185, 1168, 25,
2761 188, 189, 25, 1154, 192, 951, 559, 27, 1254, 27,
2762 436, 437, 18, 188, 189, 190, 21, 1168, 193, 194,
2763 21, 1191, 1192, 1193, 1194, 188, 189, 190, 25, 1199,
2764 193, 194, 195, 979, 22, 29, 39, 56, 40, 21,
2765 25, 1192, 1193, 25, 415, 581, 23, 21, 584, 1219,
2766 1219, 25, 34, 35, 36, 25, 189, 25, 10, 18,
2767 34, 35, 36, 25, 600, 436, 437, 91, 1219, 91,
2768 91, 607, 608, 609, 91, 1245, 91, 22, 91, 615,
2769 24, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2770 67, 10, 11, 12, 20, 25, 25, 25, 18, 635,
2771 25, 10, 11, 12, 22, 21, 144, 18, 40, 21,
2772 646, 647, 192, 27, 20, 18, 23, 22, 18, 157,
2773 158, 159, 160, 161, 162, 661, 164, 165, 24, 194,
2774 91, 22, 1078, 559, 22, 21, 21, 20, 22, 20,
2775 91, 677, 40, 25, 196, 25, 18, 18, 27, 685,
2776 27, 687, 25, 24, 20, 691, 20, 27, 29, 30,
2777 31, 32, 33, 34, 700, 701, 25, 89, 318, 705,
2778 943, 1245, 1212, 709, 710, 1139, 47, 48, 49, 1037,
2779 132, 697, 211, 1111, 1046, 1075, 722, 1191, 559, 893,
2780 726, 348, 728, 185, 841, 832, 807, 1219, 584, 735,
2781 71, 688, 154, 686, 156, 864, 130, 303, 12, 709,
2782 511, 244, 1158, 355, 415, 1174, 713, 374, 870, 722,
2783 1034, 869, 379, 380, 381, 382, 383, 384, 385, 386,
2784 387, 388, 389, -1, -1, -1, -1, 156, -1, -1,
2785 -1, 10, 11, 12, -1, 116, -1, 156, -1, 201,
2786 -1, -1, -1, 622, -1, 412, -1, 209, -1, -1,
2787 -1, 213, -1, -1, 216, -1, 123, 124, 125, 126,
2788 -1, 128, 224, -1, -1, -1, 133, 134, -1, 815,
2789 137, 138, 201, 140, 141, 142, 143, -1, -1, -1,
2790 209, -1, 201, 245, 213, -1, -1, 216, 155, 156,
2791 209, -1, -1, -1, 213, 224, 1252, 216, -1, -1,
2792 229, -1, 231, -1, -1, 224, -1, 188, 189, 190,
2793 229, 192, 231, -1, 181, 244, 245, 863, 864, -1,
2794 866, 360, -1, -1, 191, 244, 245, -1, -1, 368,
2795 -1, 370, 23, -1, -1, -1, 298, -1, -1, -1,
2796 -1, -1, -1, -1, 392, 393, 394, 395, 396, 397,
2797 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
2798 -1, -1, -1, 325, 326, 327, 328, 58, 59, 60,
2799 61, 62, 63, 64, 65, 66, 67, 156, -1, -1,
2800 -1, -1, -1, 345, -1, -1, -1, 349, -1, 73,
2801 74, 75, 76, 441, -1, 357, 80, 81, 82, 83,
2802 84, 85, 86, -1, 443, 951, -1, -1, -1, -1,
2803 -1, 459, 958, 375, -1, -1, -1, -1, 10, 11,
2804 12, -1, 201, -1, -1, -1, -1, -1, -1, -1,
2805 209, -1, -1, -1, 213, -1, -1, 216, 817, -1,
2806 -1, 820, -1, -1, -1, 224, -1, 495, -1, -1,
2807 229, -1, 231, 415, -1, -1, -1, -1, -1, 507,
2808 -1, 423, -1, -1, 631, 244, 245, -1, -1, -1,
2809 -1, -1, 511, -1, -1, -1, 643, -1, -1, -1,
2810 -1, -1, -1, -1, -1, -1, 415, -1, 1034, -1,
2811 -1, -1, -1, -1, -1, -1, 415, -1, -1, -1,
2812 -1, -1, -1, 551, -1, -1, 554, 436, 437, -1,
2813 -1, -1, -1, -1, -1, -1, -1, 436, 437, -1,
2814 -1, 560, -1, -1, -1, -1, -1, -1, -1, -1,
2815 -1, 1077, 699, -1, -1, -1, -1, -1, -1, 578,
2816 579, -1, -1, -1, -1, -1, 713, 1093, -1, -1,
2817 1096, -1, -1, 601, -1, -1, 1102, -1, -1, 1105,
2818 1106, -1, -1, -1, 156, 613, -1, -1, -1, -1,
2819 -1, -1, -1, 952, -1, 954, 955, 956, -1, -1,
2820 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2821 -1, 553, -1, -1, -1, -1, -1, 559, -1, -1,
2822 648, 649, -1, 1149, -1, -1, -1, -1, -1, 201,
2823 1156, 1157, -1, 661, -1, -1, -1, 209, 657, 658,
2824 -1, 213, 1168, -1, 216, -1, -1, -1, -1, -1,
2825 559, 670, 224, -1, -1, -1, 415, 229, -1, 231,
2826 559, -1, -1, -1, -1, -1, -1, -1, -1, 1195,
2827 -1, -1, 244, 245, -1, -1, -1, 436, 437, -1,
2828 -1, -1, -1, -1, -1, -1, -1, 629, 835, 1215,
2829 1216, -1, 711, 840, 722, -1, 1222, 844, -1, -1,
2830 -1, -1, 730, -1, -1, -1, -1, -1, 736, 737,
2831 738, 739, 740, 741, 742, 743, -1, 659, -1, -1,
2832 -1, 663, -1, 870, 1083, -1, 1085, -1, -1, -1,
2833 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2834 -1, -1, -1, -1, -1, 892, 893, -1, -1, -1,
2835 -1, 898, 899, 900, 901, 902, 903, 904, 905, 906,
2836 907, 908, -1, -1, 24, -1, -1, -1, -1, 29,
2837 30, 31, 32, 33, 34, -1, -1, -1, -1, 721,
2838 -1, -1, 42, 43, 726, -1, 728, 47, 48, 49,
2839 -1, -1, -1, 735, -1, -1, -1, 825, -1, -1,
2840 559, 948, -1, -1, -1, -1, -1, 1, 836, -1,
2841 -1, 71, 6, 7, 8, -1, 10, 11, 12, 13,
2842 14, 15, 16, 17, 18, 19, -1, -1, -1, -1,
2843 24, -1, -1, -1, -1, 29, 30, 31, 32, 33,
2844 34, -1, -1, 415, -1, -1, -1, -1, 42, 43,
2845 -1, -1, 880, 47, 48, 49, 116, -1, -1, -1,
2846 -1, -1, -1, -1, 436, 437, -1, -1, -1, -1,
2847 -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
2848 -1, 909, 910, 911, 912, 913, 914, 915, 916, 917,
2849 918, 919, 920, 921, 922, 923, 924, 925, -1, 927,
2850 -1, 95, 96, 97, 98, 99, 100, 101, 102, -1,
2851 -1, -1, -1, -1, -1, -1, -1, 111, -1, -1,
2852 -1, -1, 116, -1, -1, -1, -1, -1, 188, 189,
2853 190, -1, 192, -1, -1, -1, -1, -1, -1, -1,
2854 -1, 1088, -1, -1, -1, -1, -1, -1, -1, -1,
2855 -1, -1, 894, -1, -1, -1, -1, -1, -1, -1,
2856 -1, -1, -1, -1, -1, -1, -1, -1, 996, -1,
2857 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2858 -1, -1, -1, -1, -1, -1, -1, 559, -1, -1,
2859 -1, -1, -1, -1, 188, 189, 190, -1, 192, 193,
2860 194, -1, -1, -1, -1, -1, 1034, -1, -1, -1,
2861 -1, -1, -1, -1, -1, 1, -1, -1, -1, -1,
2862 6, 7, 8, -1, 10, 11, 12, 13, 14, 15,
2863 16, 17, 18, 19, 20, 21, 22, 23, 24, -1,
2864 26, 983, 28, 29, 30, 31, 32, 33, 34, 35,
2865 36, 37, 38, 39, 40, 41, 42, 43, -1, 45,
2866 -1, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2867 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2868 66, 67, -1, -1, -1, 71, -1, -1, -1, -1,
2869 1032, -1, -1, -1, -1, -1, -1, -1, -1, 0,
2870 1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2871 96, 97, 98, 99, 100, 101, 102, 18, -1, -1,
2872 -1, -1, -1, 24, -1, 111, -1, -1, -1, -1,
2873 116, -1, -1, 34, -1, -1, -1, -1, -1, -1,
2874 -1, -1, -1, 44, -1, 46, -1, -1, -1, -1,
2875 1178, -1, -1, -1, -1, 1097, -1, -1, -1, -1,
2876 -1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
2877 -1, 72, -1, -1, -1, -1, 77, 78, 79, -1,
2878 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2879 1218, 92, 93, 94, -1, -1, -1, -1, -1, -1,
2880 -1, -1, 188, 189, 190, 1233, 192, 193, 194, -1,
2881 -1, 112, 113, 114, 115, -1, 117, 118, 119, 120,
2882 121, 122, 123, 124, 125, 126, 1254, 128, 129, 130,
2883 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2884 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2885 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2886 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2887 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
2888 181, 0, 1, -1, -1, -1, -1, 188, 189, 190,
2889 191, -1, 193, 194, 195, -1, -1, -1, -1, 18,
2890 -1, -1, -1, -1, -1, 24, -1, -1, -1, -1,
2891 -1, -1, -1, -1, -1, 34, -1, -1, -1, -1,
2892 -1, -1, -1, -1, -1, 44, -1, 46, -1, -1,
2893 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2894 -1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
2895 69, 70, -1, 72, -1, -1, -1, -1, 77, 78,
2896 79, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2897 -1, -1, -1, 92, 93, 94, -1, -1, -1, -1,
2898 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2899 -1, -1, -1, 112, 113, 114, 115, -1, 117, 118,
2900 119, 120, 121, 122, 123, 124, 125, 126, -1, 128,
2901 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2902 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2903 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2904 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2905 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
2906 179, 180, 181, -1, -1, -1, -1, -1, -1, 188,
2907 189, 190, 191, 1, 193, 194, 195, -1, 6, 7,
2908 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
2909 18, 19, 20, -1, -1, -1, 24, -1, -1, -1,
2910 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2911 -1, -1, -1, -1, 42, 43, 44, -1, 46, 47,
2912 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2913 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2914 68, 69, 70, 71, 72, -1, -1, -1, -1, -1,
2915 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2916 -1, -1, -1, -1, -1, -1, -1, -1, 96, 97,
2917 98, 99, 100, 101, 102, -1, -1, -1, -1, -1,
2918 -1, -1, -1, 111, 112, 113, 114, 115, 116, 117,
2919 118, 119, 120, 121, 122, 123, 124, 125, 126, -1,
2920 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2921 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2922 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2923 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2924 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2925 178, 179, 180, 181, -1, -1, -1, -1, -1, -1,
2926 188, 189, 190, 191, 192, 193, 194, 195, 1, -1,
2927 -1, -1, -1, 6, 7, 8, -1, 10, 11, 12,
2928 13, 14, 15, 16, 17, 18, 19, -1, -1, -1,
2929 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2930 33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
2931 43, 44, -1, -1, 47, 48, 49, -1, -1, -1,
2932 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2933 -1, -1, -1, -1, -1, 68, 69, 70, 71, -1,
2934 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2935 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2936 -1, -1, -1, 96, 97, 98, 99, 100, 101, 102,
2937 -1, -1, -1, -1, -1, -1, -1, -1, 111, 112,
2938 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
2939 123, 124, 125, 126, -1, 128, 129, 130, 131, 132,
2940 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
2941 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2942 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2943 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2944 173, 174, 175, 176, 177, 178, 179, 180, 181, -1,
2945 -1, -1, -1, -1, -1, 188, 189, 190, 191, 192,
2946 193, 194, 195, 1, -1, -1, -1, -1, 6, 7,
2947 8, -1, -1, 11, 12, 13, 14, 15, 16, 17,
2948 18, 19, 20, -1, -1, -1, 24, -1, -1, -1,
2949 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2950 -1, -1, -1, -1, 42, 43, 44, -1, -1, 47,
2951 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2952 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2953 68, 69, 70, 71, -1, -1, -1, -1, -1, -1,
2954 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2955 -1, -1, -1, -1, -1, -1, -1, -1, -1, 97,
2956 98, 99, 100, 101, 102, -1, -1, -1, -1, -1,
2957 -1, -1, -1, 111, 112, 113, 114, 115, 116, 117,
2958 118, 119, 120, 121, 122, 123, 124, 125, 126, -1,
2959 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2960 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2961 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2962 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2963 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2964 178, 179, 180, 181, -1, -1, -1, -1, -1, -1,
2965 188, 189, 190, 191, 192, 193, 194, 195, 1, -1,
2966 -1, -1, -1, 6, 7, 8, -1, 10, 11, 12,
2967 13, 14, 15, 16, 17, 18, 19, -1, -1, -1,
2968 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2969 33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
2970 43, -1, 1, -1, 47, 48, 49, 6, 7, 8,
2971 -1, -1, 11, 12, 13, 14, 15, 16, 17, 18,
2972 19, 20, -1, -1, -1, 24, 25, -1, 71, -1,
2973 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
2974 -1, -1, -1, 42, 43, -1, -1, -1, 47, 48,
2975 49, -1, 95, 96, 97, 98, 99, 100, 101, 102,
2976 -1, -1, -1, -1, -1, -1, -1, -1, 111, -1,
2977 -1, -1, 71, 116, -1, -1, -1, -1, -1, -1,
2978 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2979 -1, -1, -1, -1, -1, -1, 95, -1, 97, 98,
2980 99, 100, 101, 102, -1, -1, -1, -1, -1, -1,
2981 -1, -1, 111, -1, -1, -1, -1, 116, -1, -1,
2982 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2983 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2984 -1, -1, -1, -1, -1, 188, 189, 190, -1, 192,
2985 193, 194, -1, -1, -1, 1, -1, -1, -1, -1,
2986 6, 7, 8, -1, 10, 11, 12, 13, 14, 15,
2987 16, 17, 18, 19, 20, -1, -1, -1, 24, -1,
2988 -1, -1, -1, 29, 30, 31, 32, 33, 34, 188,
2989 189, 190, -1, 192, 193, 194, 42, 43, -1, 1,
2990 -1, 47, 48, 49, 6, 7, 8, -1, 10, 11,
2991 12, 13, 14, 15, 16, 17, 18, 19, -1, -1,
2992 -1, -1, 24, -1, -1, 71, -1, 29, 30, 31,
2993 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
2994 42, 43, -1, -1, -1, 47, 48, 49, -1, -1,
2995 96, 97, 98, 99, 100, 101, 102, -1, -1, -1,
2996 -1, -1, -1, -1, -1, 111, -1, -1, -1, 71,
2997 116, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2998 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2999 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
3000 102, -1, -1, -1, -1, -1, -1, -1, 19, 111,
3001 -1, -1, -1, 24, 116, 26, -1, 28, 29, 30,
3002 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
3003 -1, -1, -1, -1, -1, -1, 47, 48, 49, -1,
3004 -1, -1, 188, 189, 190, -1, 192, 193, 194, -1,
3005 -1, -1, 1, -1, -1, -1, -1, 6, 7, 8,
3006 71, -1, 11, 12, 13, 14, 15, 16, 17, 18,
3007 19, 20, -1, -1, -1, 24, -1, -1, -1, -1,
3008 29, 30, 31, 32, 33, 34, 188, 189, 190, -1,
3009 192, 193, 194, 42, 43, -1, 1, -1, 47, 48,
3010 49, 6, 7, 8, -1, 116, 11, 12, 13, 14,
3011 15, 16, 17, 18, 19, 20, -1, -1, -1, 24,
3012 -1, -1, 71, -1, 29, 30, 31, 32, 33, 34,
3013 -1, -1, -1, -1, -1, -1, -1, 42, 43, -1,
3014 -1, -1, 47, 48, 49, -1, 95, -1, 97, 98,
3015 99, 100, 101, 102, -1, -1, -1, -1, -1, -1,
3016 19, 20, 111, -1, -1, 24, 71, 116, -1, -1,
3017 29, 30, 31, 32, 33, 34, -1, 188, 189, 190,
3018 -1, 192, 193, 194, -1, -1, -1, -1, 47, 48,
3019 49, -1, 97, 98, 99, 100, 101, 102, -1, -1,
3020 -1, -1, -1, -1, -1, -1, 111, -1, -1, -1,
3021 -1, 116, 71, -1, -1, -1, -1, -1, -1, -1,
3022 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3023 -1, -1, -1, -1, -1, -1, -1, -1, -1, 188,
3024 189, 190, -1, 192, 193, 194, -1, -1, -1, -1,
3025 -1, -1, -1, -1, 6, 7, 8, 116, 10, 11,
3026 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
3027 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
3028 32, 33, 34, 188, 189, 190, -1, 192, 193, 194,
3029 42, 43, 44, -1, 46, 47, 48, 49, -1, -1,
3030 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3031 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3032 72, -1, -1, -1, -1, -1, -1, -1, -1, 188,
3033 189, 190, -1, 192, -1, -1, -1, -1, -1, -1,
3034 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
3035 102, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3036 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
3037 122, 123, 124, 125, 126, -1, 128, 129, 130, 131,
3038 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
3039 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3040 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
3041 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3042 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
3043 -1, -1, -1, -1, -1, -1, 188, 189, 190, 191,
3044 192, 193, 194, 195, 6, 7, 8, -1, 10, 11,
3045 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
3046 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
3047 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
3048 42, 43, 44, -1, 46, 47, 48, 49, -1, -1,
3049 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3050 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3051 72, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3052 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3053 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
3054 102, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3055 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
3056 122, 123, 124, 125, 126, -1, 128, 129, 130, 131,
3057 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
3058 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3059 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
3060 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3061 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
3062 -1, -1, -1, -1, -1, -1, 188, 189, 190, 191,
3063 192, 193, 194, 195, 6, 7, 8, -1, 10, 11,
3064 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
3065 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
3066 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
3067 42, 43, 44, -1, 46, 47, 48, 49, -1, -1,
3068 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3069 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3070 72, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3071 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3072 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
3073 102, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3074 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
3075 122, 123, 124, 125, 126, -1, 128, 129, 130, 131,
3076 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
3077 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3078 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
3079 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3080 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
3081 -1, -1, -1, -1, -1, -1, 188, 189, 190, 191,
3082 192, 193, 194, 195, 6, 7, 8, -1, 10, 11,
3083 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
3084 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
3085 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
3086 -1, -1, -1, -1, -1, 47, 48, 49, 6, 7,
3087 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
3088 18, 19, 20, -1, -1, -1, 24, -1, -1, 71,
3089 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
3090 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
3091 48, 49, -1, -1, 96, 97, 98, 99, 100, 101,
3092 102, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3093 -1, -1, -1, 71, 116, -1, -1, -1, -1, -1,
3094 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3095 -1, -1, -1, -1, -1, -1, -1, -1, 96, 97,
3096 98, 99, 100, 101, 102, -1, -1, -1, -1, -1,
3097 -1, -1, -1, 111, -1, 6, 7, 8, 116, 10,
3098 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
3099 -1, -1, -1, 24, -1, -1, -1, -1, 29, 30,
3100 31, 32, 33, 34, -1, -1, 188, 189, 190, -1,
3101 192, 193, 194, -1, -1, -1, 47, 48, 49, 6,
3102 7, 8, -1, 10, 11, 12, 13, 14, 15, 16,
3103 17, 18, 19, 20, -1, -1, -1, 24, -1, -1,
3104 71, -1, 29, 30, 31, 32, 33, 34, -1, -1,
3105 188, 189, 190, -1, 192, 193, 194, -1, -1, -1,
3106 47, 48, 49, -1, -1, 96, 97, 98, 99, 100,
3107 101, 102, -1, -1, -1, -1, -1, -1, -1, -1,
3108 111, -1, -1, -1, 71, 116, -1, -1, -1, -1,
3109 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3110 -1, -1, -1, -1, -1, -1, -1, -1, -1, 96,
3111 97, 98, 99, 100, 101, 102, -1, -1, -1, -1,
3112 -1, -1, -1, -1, 111, -1, 6, 7, 8, 116,
3113 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
3114 20, -1, -1, -1, 24, -1, -1, -1, -1, 29,
3115 30, 31, 32, 33, 34, -1, -1, 188, 189, 190,
3116 -1, 192, 193, 194, -1, -1, -1, 47, 48, 49,
3117 6, 7, 8, -1, 10, 11, 12, 13, 14, 15,
3118 16, 17, 18, 19, 20, -1, -1, -1, 24, -1,
3119 -1, 71, -1, 29, 30, 31, 32, 33, 34, -1,
3120 -1, 188, 189, 190, -1, 192, 193, 194, -1, -1,
3121 -1, 47, 48, 49, -1, -1, 96, 97, 98, 99,
3122 100, 101, 102, -1, -1, -1, -1, -1, -1, -1,
3123 -1, 111, -1, -1, -1, 71, 116, -1, -1, -1,
3124 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3125 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3126 96, 97, 98, 99, 100, 101, 102, -1, -1, -1,
3127 -1, -1, -1, -1, -1, 111, -1, 6, 7, 8,
3128 116, 10, 11, 12, 13, 14, 15, 16, 17, 18,
3129 19, 20, -1, -1, -1, 24, -1, -1, -1, -1,
3130 29, 30, 31, 32, 33, 34, -1, -1, 188, 189,
3131 190, -1, 192, 193, 194, -1, -1, -1, 47, 48,
3132 49, 6, 7, 8, -1, 10, 11, 12, 13, 14,
3133 15, 16, 17, 18, 19, -1, -1, -1, -1, 24,
3134 -1, -1, 71, -1, 29, 30, 31, 32, 33, 34,
3135 -1, -1, 188, 189, 190, -1, 192, 193, 194, -1,
3136 -1, -1, 47, 48, 49, -1, -1, 96, 97, 98,
3137 99, 100, 101, 102, -1, -1, -1, -1, -1, -1,
3138 -1, -1, 111, -1, -1, -1, 71, 116, -1, -1,
3139 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3140 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3141 -1, 96, 97, 98, 99, 100, 101, 102, 19, -1,
3142 -1, -1, -1, 24, -1, -1, 111, -1, -1, -1,
3143 -1, 116, -1, -1, -1, -1, -1, -1, -1, -1,
3144 -1, -1, -1, 44, -1, 46, -1, -1, -1, -1,
3145 -1, -1, -1, -1, -1, -1, -1, -1, -1, 188,
3146 189, 190, -1, 192, 193, 194, -1, -1, -1, -1,
3147 -1, 72, -1, -1, -1, -1, -1, -1, -1, -1,
3148 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3149 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3150 -1, -1, -1, 188, 189, 190, -1, 192, 193, 194,
3151 -1, 112, 113, 114, 115, -1, 117, 118, 119, 120,
3152 121, 122, 123, 124, 125, 126, -1, 128, 129, 130,
3153 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
3154 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
3155 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
3156 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
3157 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
3158 181, 20, -1, -1, -1, -1, -1, -1, -1, 190,
3159 191, -1, -1, -1, 195, -1, -1, -1, -1, -1,
3160 -1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
3161 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3162 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3163 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3164 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3165 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3166 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3167 -1, -1, -1, 112, 113, 114, 115, -1, 117, 118,
3168 119, 120, 121, 122, 123, 124, 125, 126, -1, 128,
3169 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
3170 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
3171 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
3172 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
3173 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
3174 179, 180, 181, -1, -1, -1, -1, -1, 19, 20,
3175 -1, 190, 191, 24, -1, 26, 195, 28, 29, 30,
3176 31, 32, 33, 34, -1, -1, -1, -1, -1, 19,
3177 -1, -1, -1, -1, 24, -1, 47, 48, 49, 29,
3178 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
3179 -1, -1, 42, 43, -1, -1, 19, 47, 48, 49,
3180 71, 24, -1, -1, -1, -1, 29, 30, 31, 32,
3181 33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
3182 43, 71, -1, 19, 47, 48, 49, -1, 24, -1,
3183 -1, -1, -1, 29, 30, 31, 32, 33, 34, -1,
3184 -1, -1, -1, -1, 19, 116, -1, -1, 71, 24,
3185 -1, 47, 48, 49, 29, 30, 31, 32, 33, 34,
3186 -1, -1, -1, -1, -1, -1, 116, -1, -1, -1,
3187 -1, -1, 47, 48, 49, 71, -1, -1, -1, -1,
3188 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3189 -1, -1, -1, 116, -1, -1, 71, -1, -1, -1,
3190 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3191 -1, -1, -1, -1, -1, -1, -1, 188, 189, 190,
3192 116, 192, 193, 194, -1, -1, -1, -1, -1, -1,
3193 -1, -1, -1, 24, -1, -1, -1, -1, 188, 189,
3194 190, 116, 192, 34, -1, -1, -1, -1, -1, -1,
3195 -1, -1, -1, 44, -1, -1, -1, -1, -1, -1,
3196 -1, -1, -1, -1, -1, 188, 189, 190, -1, 192,
3197 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3198 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3199 -1, -1, 188, 189, 190, -1, 192, -1, -1, -1,
3200 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3201 -1, -1, -1, 188, 189, 190, -1, 192, -1, -1,
3202 -1, 112, 113, 114, 115, -1, 117, 118, 119, 120,
3203 121, 122, 123, 124, 125, 126, -1, 128, 129, 130,
3204 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
3205 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
3206 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
3207 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
3208 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
3209 181, -1, -1, -1, -1, -1, -1, 188, 189, 190,
3210 191, -1, 193, 194, 195, 24, 25, -1, -1, -1,
3211 29, 30, 31, 32, 33, 34, 24, -1, -1, 27,
3212 -1, 29, 30, 31, 32, 33, 34, -1, 47, 48,
3213 49, -1, -1, -1, -1, -1, -1, 24, 25, 47,
3214 48, 49, 29, 30, 31, 32, 33, 34, 24, -1,
3215 -1, 27, 71, 29, 30, 31, 32, 33, 34, -1,
3216 47, 48, 49, 71, -1, -1, -1, -1, -1, 24,
3217 25, 47, 48, 49, 29, 30, 31, 32, 33, 34,
3218 24, -1, -1, -1, 71, 29, 30, 31, 32, 33,
3219 34, -1, 47, 48, 49, 71, -1, 116, -1, -1,
3220 -1, -1, -1, 47, 48, 49, -1, -1, 116, -1,
3221 -1, -1, 24, -1, -1, -1, 71, 29, 30, 31,
3222 32, 33, 34, -1, -1, -1, -1, 71, -1, 116,
3223 -1, -1, -1, -1, -1, 47, 48, 49, -1, 24,
3224 116, -1, -1, -1, 29, 30, 31, 32, 33, 34,
3225 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3226 -1, 116, 47, 48, 49, -1, -1, -1, -1, 188,
3227 189, 190, 116, 192, -1, -1, -1, -1, -1, -1,
3228 188, 189, 190, 24, 192, -1, 71, -1, 29, 30,
3229 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
3230 -1, 188, 189, 190, 116, 192, 47, 48, 49, -1,
3231 -1, -1, 188, 189, 190, -1, 192, 24, -1, -1,
3232 -1, -1, 29, 30, 31, 32, 33, 34, -1, -1,
3233 71, 116, -1, 188, 189, 190, -1, 192, -1, -1,
3234 47, 48, 49, -1, 188, 189, 190, -1, 192, -1,
3235 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3236 -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
3237 -1, -1, -1, -1, -1, 116, 188, 189, 190, -1,
3238 192, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3239 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3240 -1, -1, -1, 188, 189, 190, -1, 192, -1, 116,
3241 -1, -1, -1, -1, -1, -1, -1, -1, 44, -1,
3242 46, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3243 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3244 -1, -1, 68, 69, 70, -1, 72, 188, 189, 190,
3245 -1, 192, -1, -1, -1, -1, -1, -1, -1, -1,
3246 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3247 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3248 -1, 188, 189, 190, -1, 192, 112, 113, 114, 115,
3249 -1, 117, 118, 119, 120, 121, 122, 123, 124, 125,
3250 126, -1, 128, 129, 130, 131, 132, 133, 134, 135,
3251 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
3252 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
3253 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
3254 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
3255 176, 177, 178, 179, 180, 181, 44, -1, 46, -1,
3256 -1, -1, -1, -1, 190, 191, -1, -1, -1, 195,
3257 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3258 -1, -1, -1, -1, 72, -1, -1, -1, -1, -1,
3259 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3260 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3261 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3262 -1, -1, -1, -1, 112, 113, 114, 115, -1, 117,
3263 118, 119, 120, 121, 122, 123, 124, 125, 126, -1,
3264 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
3265 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
3266 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
3267 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
3268 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
3269 178, 179, 180, 181, 44, -1, -1, -1, -1, -1,
3270 188, 189, 190, 191, -1, -1, -1, 195, -1, -1,
3271 -1, -1, -1, -1, -1, -1, -1, -1, 68, 69,
3272 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3273 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3274 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3275 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3276 -1, -1, 112, 113, 114, 115, -1, 117, 118, 119,
3277 120, 121, 122, 123, 124, 125, 126, -1, 128, 129,
3278 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
3279 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
3280 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
3281 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
3282 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
3283 180, 181, 44, -1, -1, -1, -1, -1, -1, -1,
3284 190, 191, -1, -1, -1, 195, -1, -1, -1, -1,
3285 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3286 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3287 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3288 92, 93, 94, -1, -1, -1, -1, -1, -1, -1,
3289 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3290 112, 113, 114, 115, -1, 117, 118, 119, 120, 121,
3291 122, 123, 124, 125, 126, -1, 128, 129, 130, 131,
3292 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
3293 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3294 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
3295 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3296 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
3297 44, -1, 46, -1, -1, -1, -1, -1, 190, 191,
3298 -1, -1, -1, 195, -1, -1, -1, -1, -1, -1,
3299 -1, -1, -1, -1, -1, -1, -1, -1, 72, -1,
3300 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3301 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3302 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3303 -1, -1, -1, -1, -1, -1, -1, -1, 112, 113,
3304 114, 115, -1, 117, 118, 119, 120, 121, 122, 123,
3305 124, 125, 126, -1, 128, 129, 130, 131, 132, 133,
3306 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
3307 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
3308 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
3309 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
3310 174, 175, 176, 177, 178, 179, 180, 181, 44, -1,
3311 -1, -1, -1, -1, -1, -1, 190, 191, -1, -1,
3312 -1, 195, -1, -1, -1, -1, -1, -1, -1, -1,
3313 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3314 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3315 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3316 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3317 -1, -1, -1, -1, -1, -1, 112, 113, 114, 115,
3318 -1, 117, 118, 119, 120, 121, 122, 123, 124, 125,
3319 126, -1, 128, 129, 130, 131, 132, 133, 134, 135,
3320 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
3321 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
3322 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
3323 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
3324 176, 177, 178, 179, 180, 181, -1, -1, -1, -1,
3325 -1, -1, -1, -1, 190, 191, -1, -1, -1, 195
3328 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
3329 symbol of state STATE-NUM. */
3330 static const yytype_uint16 yystos[] =
3332 0, 1, 18, 34, 44, 46, 72, 77, 78, 79,
3333 92, 93, 94, 112, 113, 114, 115, 117, 118, 119,
3334 120, 121, 122, 123, 124, 125, 126, 128, 129, 130,
3335 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
3336 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
3337 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
3338 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
3339 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
3340 181, 188, 189, 190, 191, 193, 194, 195, 198, 199,
3341 200, 201, 202, 206, 212, 215, 216, 256, 261, 303,
3342 304, 310, 312, 324, 334, 335, 336, 337, 338, 339,
3343 340, 341, 342, 343, 344, 345, 347, 349, 352, 361,
3344 366, 371, 375, 470, 471, 472, 112, 113, 114, 373,
3345 374, 375, 24, 308, 314, 315, 347, 371, 190, 347,
3346 203, 190, 471, 1, 6, 7, 8, 10, 11, 12,
3347 13, 14, 15, 16, 17, 18, 24, 29, 30, 31,
3348 32, 33, 34, 47, 48, 49, 71, 95, 96, 97,
3349 98, 99, 100, 101, 102, 111, 116, 189, 190, 192,
3350 193, 269, 271, 273, 275, 278, 281, 282, 283, 284,
3351 285, 286, 287, 288, 289, 290, 292, 294, 299, 300,
3352 388, 393, 403, 404, 405, 407, 410, 414, 415, 423,
3353 429, 430, 431, 434, 436, 442, 464, 466, 467, 470,
3354 471, 1, 11, 18, 24, 193, 194, 300, 389, 391,
3355 392, 393, 396, 398, 399, 401, 402, 405, 407, 410,
3356 415, 419, 428, 430, 435, 464, 467, 389, 390, 312,
3357 312, 312, 361, 361, 361, 361, 361, 361, 361, 361,
3358 361, 361, 0, 200, 26, 313, 19, 257, 259, 18,
3359 468, 24, 347, 350, 312, 312, 312, 312, 312, 312,
3360 312, 312, 361, 312, 350, 350, 312, 361, 88, 361,
3361 68, 69, 70, 361, 206, 361, 373, 375, 24, 189,
3362 190, 300, 312, 346, 383, 470, 21, 312, 312, 311,
3363 312, 361, 361, 204, 205, 209, 312, 347, 375, 471,
3364 24, 273, 294, 302, 411, 24, 24, 24, 24, 471,
3365 18, 18, 18, 300, 270, 300, 383, 404, 281, 281,
3366 281, 281, 281, 281, 312, 24, 273, 273, 24, 24,
3367 16, 16, 16, 16, 15, 102, 406, 24, 387, 388,
3368 393, 405, 407, 410, 413, 415, 428, 431, 434, 436,
3369 464, 465, 467, 437, 24, 26, 48, 49, 361, 23,
3370 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
3371 276, 312, 34, 35, 36, 32, 33, 50, 51, 37,
3372 38, 52, 53, 54, 55, 29, 39, 40, 56, 41,
3373 57, 18, 21, 404, 95, 19, 422, 404, 387, 404,
3374 192, 404, 22, 24, 300, 398, 415, 18, 95, 398,
3375 398, 303, 347, 424, 19, 20, 400, 391, 404, 95,
3376 27, 312, 24, 258, 424, 361, 18, 371, 348, 383,
3377 312, 471, 312, 471, 19, 471, 300, 25, 347, 26,
3378 312, 375, 384, 386, 25, 361, 18, 361, 18, 23,
3379 371, 468, 26, 313, 24, 361, 209, 5, 361, 372,
3380 378, 379, 380, 408, 22, 300, 300, 300, 300, 301,
3381 18, 18, 24, 413, 25, 25, 25, 24, 383, 299,
3382 300, 18, 18, 18, 18, 18, 406, 6, 7, 413,
3383 387, 19, 421, 387, 387, 415, 25, 272, 299, 300,
3384 28, 45, 299, 299, 299, 299, 299, 299, 299, 299,
3385 299, 299, 299, 279, 277, 281, 281, 281, 282, 282,
3386 283, 283, 284, 284, 284, 284, 285, 285, 286, 287,
3387 288, 291, 295, 297, 293, 299, 20, 190, 404, 423,
3388 424, 416, 9, 11, 300, 25, 24, 361, 303, 398,
3389 11, 302, 25, 372, 20, 111, 387, 420, 424, 427,
3390 260, 371, 361, 91, 21, 19, 312, 361, 19, 312,
3391 361, 368, 369, 471, 19, 312, 312, 27, 302, 24,
3392 386, 26, 312, 308, 195, 307, 308, 316, 317, 309,
3393 361, 91, 27, 312, 24, 361, 205, 376, 377, 471,
3394 25, 21, 312, 382, 471, 22, 25, 433, 25, 18,
3395 25, 19, 281, 383, 25, 21, 25, 302, 412, 25,
3396 420, 11, 24, 21, 25, 27, 471, 471, 42, 43,
3397 280, 289, 22, 300, 290, 20, 20, 427, 432, 24,
3398 25, 397, 371, 24, 27, 207, 25, 20, 20, 111,
3399 427, 20, 111, 387, 413, 312, 23, 305, 348, 20,
3400 357, 19, 20, 359, 19, 20, 21, 23, 367, 27,
3401 25, 361, 378, 27, 302, 24, 21, 312, 312, 312,
3402 23, 468, 302, 25, 372, 205, 21, 213, 5, 381,
3403 347, 25, 301, 19, 299, 425, 426, 361, 383, 409,
3404 22, 24, 438, 299, 312, 312, 24, 273, 24, 273,
3405 296, 22, 20, 387, 300, 24, 29, 30, 31, 32,
3406 33, 34, 48, 49, 71, 189, 190, 271, 273, 276,
3407 282, 283, 284, 285, 286, 287, 288, 289, 290, 292,
3408 439, 441, 442, 443, 444, 445, 446, 447, 448, 449,
3409 450, 451, 452, 453, 454, 455, 456, 457, 462, 470,
3410 300, 361, 73, 74, 75, 76, 80, 81, 82, 83,
3411 84, 85, 86, 233, 235, 237, 238, 240, 241, 242,
3412 247, 248, 254, 255, 325, 326, 328, 329, 330, 208,
3413 20, 20, 111, 20, 25, 306, 312, 417, 20, 353,
3414 417, 20, 355, 312, 369, 312, 368, 384, 25, 27,
3415 25, 378, 361, 246, 247, 19, 26, 28, 299, 319,
3416 320, 321, 322, 471, 312, 312, 27, 210, 25, 312,
3417 5, 471, 234, 236, 238, 240, 242, 248, 326, 330,
3418 382, 206, 312, 370, 375, 385, 386, 387, 18, 425,
3419 21, 469, 21, 25, 22, 300, 439, 383, 383, 294,
3420 298, 25, 300, 383, 281, 281, 281, 281, 281, 281,
3421 273, 273, 24, 24, 26, 48, 49, 361, 23, 58,
3422 59, 60, 61, 62, 63, 64, 65, 66, 67, 34,
3423 35, 36, 32, 33, 50, 51, 37, 38, 52, 53,
3424 54, 55, 29, 39, 40, 56, 41, 57, 25, 440,
3425 25, 189, 244, 245, 239, 243, 233, 91, 91, 91,
3426 361, 361, 91, 332, 336, 91, 233, 20, 312, 318,
3427 215, 347, 362, 363, 417, 362, 417, 302, 20, 25,
3428 25, 307, 18, 319, 323, 302, 471, 319, 23, 322,
3429 22, 319, 91, 361, 234, 211, 25, 214, 234, 24,
3430 312, 195, 370, 394, 469, 426, 20, 274, 471, 25,
3431 25, 25, 25, 294, 18, 25, 25, 299, 25, 272,
3432 300, 28, 45, 299, 299, 299, 299, 299, 299, 299,
3433 299, 299, 299, 299, 281, 281, 281, 282, 282, 283,
3434 283, 284, 284, 284, 284, 285, 285, 286, 287, 288,
3435 289, 458, 460, 290, 21, 18, 442, 40, 89, 90,
3436 121, 122, 135, 249, 250, 251, 253, 24, 34, 189,
3437 190, 262, 263, 265, 468, 470, 327, 5, 24, 34,
3438 184, 185, 189, 192, 217, 218, 224, 225, 226, 228,
3439 229, 230, 231, 333, 470, 331, 319, 18, 21, 312,
3440 361, 363, 418, 362, 418, 362, 312, 20, 21, 27,
3441 318, 234, 468, 361, 301, 20, 25, 26, 28, 18,
3442 413, 281, 21, 25, 27, 471, 471, 22, 300, 441,
3443 244, 21, 468, 189, 252, 303, 470, 251, 263, 263,
3444 26, 28, 45, 21, 468, 24, 34, 189, 266, 268,
3445 470, 220, 228, 230, 24, 230, 23, 56, 187, 223,
3446 52, 53, 54, 227, 26, 28, 45, 219, 24, 468,
3447 267, 268, 318, 312, 361, 18, 22, 364, 365, 371,
3448 358, 418, 360, 418, 20, 319, 468, 91, 375, 395,
3449 312, 300, 471, 194, 463, 383, 312, 312, 459, 22,
3450 250, 25, 27, 263, 264, 442, 471, 471, 263, 266,
3451 266, 26, 28, 45, 21, 468, 22, 32, 33, 232,
3452 25, 230, 218, 221, 230, 224, 230, 228, 27, 192,
3453 471, 471, 22, 228, 312, 468, 18, 308, 312, 21,
3454 312, 361, 22, 20, 354, 20, 356, 91, 25, 27,
3455 416, 25, 294, 461, 27, 25, 27, 264, 471, 471,
3456 266, 312, 196, 222, 228, 40, 27, 222, 25, 312,
3457 312, 302, 365, 18, 312, 20, 20, 294, 27, 25,
3461 #define yyerrok (yyerrstatus = 0)
3462 #define yyclearin (yychar = YYEMPTY)
3463 #define YYEMPTY (-2)
3466 #define YYACCEPT goto yyacceptlab
3467 #define YYABORT goto yyabortlab
3468 #define YYERROR goto yyerrorlab
3471 /* Like YYERROR except do call yyerror. This remains here temporarily
3472 to ease the transition to the new meaning of YYERROR, for GCC.
3473 Once GCC version 2 has supplanted version 1, this can go. */
3475 #define YYFAIL goto yyerrlab
3477 #define YYRECOVERING() (!!yyerrstatus)
3479 #define YYBACKUP(Token, Value) \
3481 if (yychar == YYEMPTY && yylen == 1) \
3485 yytoken = YYTRANSLATE (yychar); \
3491 yyerror (YY_("syntax error: cannot back up")); \
3498 #define YYERRCODE 256
3501 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
3502 If N is 0, then set CURRENT to the empty location which ends
3503 the previous symbol: RHS[0] (always defined). */
3505 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
3506 #ifndef YYLLOC_DEFAULT
3507 # define YYLLOC_DEFAULT(Current, Rhs, N) \
3511 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
3512 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
3513 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
3514 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
3518 (Current).first_line = (Current).last_line = \
3519 YYRHSLOC (Rhs, 0).last_line; \
3520 (Current).first_column = (Current).last_column = \
3521 YYRHSLOC (Rhs, 0).last_column; \
3527 /* YY_LOCATION_PRINT -- Print the location on the stream.
3528 This macro was not mandated originally: define only if we know
3529 we won't break user code: when these are the locations we know. */
3531 #ifndef YY_LOCATION_PRINT
3532 # if YYLTYPE_IS_TRIVIAL
3533 # define YY_LOCATION_PRINT(File, Loc) \
3534 fprintf (File, "%d.%d-%d.%d", \
3535 (Loc).first_line, (Loc).first_column, \
3536 (Loc).last_line, (Loc).last_column)
3538 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
3543 /* YYLEX -- calling `yylex' with the right arguments. */
3546 # define YYLEX yylex (YYLEX_PARAM)
3548 # define YYLEX yylex ()
3551 /* Enable debugging if requested. */
3555 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
3556 # define YYFPRINTF fprintf
3559 # define YYDPRINTF(Args) \
3565 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
3569 YYFPRINTF (stderr, "%s ", Title); \
3570 yy_symbol_print (stderr, \
3572 YYFPRINTF (stderr, "\n"); \
3577 /*--------------------------------.
3578 | Print this symbol on YYOUTPUT. |
3579 `--------------------------------*/
3582 #if (defined __STDC__ || defined __C99__FUNC__ \
3583 || defined __cplusplus || defined _MSC_VER)
3585 yy_symbol_value_print (FILE *yyoutput, int yytype, cgrammar_YYSTYPE const * const yyvaluep)
3588 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
3591 cgrammar_YYSTYPE const * const yyvaluep;
3597 if (yytype < YYNTOKENS)
3598 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
3610 /*--------------------------------.
3611 | Print this symbol on YYOUTPUT. |
3612 `--------------------------------*/
3614 #if (defined __STDC__ || defined __C99__FUNC__ \
3615 || defined __cplusplus || defined _MSC_VER)
3617 yy_symbol_print (FILE *yyoutput, int yytype, cgrammar_YYSTYPE const * const yyvaluep)
3620 yy_symbol_print (yyoutput, yytype, yyvaluep)
3623 cgrammar_YYSTYPE const * const yyvaluep;
3626 if (yytype < YYNTOKENS)
3627 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
3629 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
3631 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
3632 YYFPRINTF (yyoutput, ")");
3635 /*------------------------------------------------------------------.
3636 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
3638 `------------------------------------------------------------------*/
3640 #if (defined __STDC__ || defined __C99__FUNC__ \
3641 || defined __cplusplus || defined _MSC_VER)
3643 yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
3646 yy_stack_print (bottom, top)
3647 yytype_int16 *bottom;
3651 YYFPRINTF (stderr, "Stack now");
3652 for (; bottom <= top; ++bottom)
3653 YYFPRINTF (stderr, " %d", *bottom);
3654 YYFPRINTF (stderr, "\n");
3657 # define YY_STACK_PRINT(Bottom, Top) \
3660 yy_stack_print ((Bottom), (Top)); \
3664 /*------------------------------------------------.
3665 | Report that the YYRULE is going to be reduced. |
3666 `------------------------------------------------*/
3668 #if (defined __STDC__ || defined __C99__FUNC__ \
3669 || defined __cplusplus || defined _MSC_VER)
3671 yy_reduce_print (cgrammar_YYSTYPE *yyvsp, int yyrule)
3674 yy_reduce_print (yyvsp, yyrule)
3675 cgrammar_YYSTYPE *yyvsp;
3679 int yynrhs = yyr2[yyrule];
3681 unsigned long int yylno = yyrline[yyrule];
3682 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
3684 /* The symbols being reduced. */
3685 for (yyi = 0; yyi < yynrhs; yyi++)
3687 fprintf (stderr, " $%d = ", yyi + 1);
3688 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
3689 &(yyvsp[(yyi + 1) - (yynrhs)])
3691 fprintf (stderr, "\n");
3695 # define YY_REDUCE_PRINT(Rule) \
3698 yy_reduce_print (yyvsp, Rule); \
3701 /* Nonzero means print parse trace. It is left uninitialized so that
3702 multiple parsers can coexist. */
3704 #else /* !YYDEBUG */
3705 # define YYDPRINTF(Args)
3706 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
3707 # define YY_STACK_PRINT(Bottom, Top)
3708 # define YY_REDUCE_PRINT(Rule)
3709 #endif /* !YYDEBUG */
3712 /* YYINITDEPTH -- initial size of the parser's stacks. */
3714 # define YYINITDEPTH 200
3717 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3718 if the built-in stack extension method is used).
3720 Do not make this value too large; the results are undefined if
3721 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
3722 evaluated with infinite-precision integer arithmetic. */
3725 # define YYMAXDEPTH 10000
3733 # if defined __GLIBC__ && defined _STRING_H
3734 # define yystrlen strlen
3736 /* Return the length of YYSTR. */
3737 #if (defined __STDC__ || defined __C99__FUNC__ \
3738 || defined __cplusplus || defined _MSC_VER)
3740 yystrlen (const char *yystr)
3748 for (yylen = 0; yystr[yylen]; yylen++)
3756 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
3757 # define yystpcpy stpcpy
3759 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3761 #if (defined __STDC__ || defined __C99__FUNC__ \
3762 || defined __cplusplus || defined _MSC_VER)
3764 yystpcpy (char *yydest, const char *yysrc)
3767 yystpcpy (yydest, yysrc)
3773 const char *yys = yysrc;
3775 while ((*yyd++ = *yys++) != '\0')
3784 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3785 quotes and backslashes, so that it's suitable for yyerror. The
3786 heuristic is that double-quoting is unnecessary unless the string
3787 contains an apostrophe, a comma, or backslash (other than
3788 backslash-backslash). YYSTR is taken from yytname. If YYRES is
3789 null, do not copy; instead, return the length of what the result
3792 yytnamerr (char *yyres, const char *yystr)
3797 char const *yyp = yystr;
3804 goto do_not_strip_quotes;
3808 goto do_not_strip_quotes;
3821 do_not_strip_quotes: ;
3825 return yystrlen (yystr);
3827 return yystpcpy (yyres, yystr) - yyres;
3831 /* Copy into YYRESULT an error message about the unexpected token
3832 YYCHAR while in state YYSTATE. Return the number of bytes copied,
3833 including the terminating null byte. If YYRESULT is null, do not
3834 copy anything; just return the number of bytes that would be
3835 copied. As a special case, return 0 if an ordinary "syntax error"
3836 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
3837 size calculation. */
3839 yysyntax_error (char *yyresult, int yystate, int yychar)
3841 int yyn = yypact[yystate];
3843 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
3847 int yytype = YYTRANSLATE (yychar);
3848 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
3849 YYSIZE_T yysize = yysize0;
3851 int yysize_overflow = 0;
3852 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3853 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3857 /* This is so xgettext sees the translatable formats that are
3858 constructed on the fly. */
3859 YY_("syntax error, unexpected %s");
3860 YY_("syntax error, unexpected %s, expecting %s");
3861 YY_("syntax error, unexpected %s, expecting %s or %s");
3862 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
3863 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
3867 static char const yyunexpected[] = "syntax error, unexpected %s";
3868 static char const yyexpecting[] = ", expecting %s";
3869 static char const yyor[] = " or %s";
3870 char yyformat[sizeof yyunexpected
3871 + sizeof yyexpecting - 1
3872 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
3873 * (sizeof yyor - 1))];
3874 char const *yyprefix = yyexpecting;
3876 /* Start YYX at -YYN if negative to avoid negative indexes in
3878 int yyxbegin = yyn < 0 ? -yyn : 0;
3880 /* Stay within bounds of both yycheck and yytname. */
3881 int yychecklim = YYLAST - yyn + 1;
3882 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3885 yyarg[0] = yytname[yytype];
3886 yyfmt = yystpcpy (yyformat, yyunexpected);
3888 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3889 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
3891 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3895 yyformat[sizeof yyunexpected - 1] = '\0';
3898 yyarg[yycount++] = yytname[yyx];
3899 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3900 yysize_overflow |= (yysize1 < yysize);
3902 yyfmt = yystpcpy (yyfmt, yyprefix);
3906 yyf = YY_(yyformat);
3907 yysize1 = yysize + yystrlen (yyf);
3908 yysize_overflow |= (yysize1 < yysize);
3911 if (yysize_overflow)
3912 return YYSIZE_MAXIMUM;
3916 /* Avoid sprintf, as that infringes on the user's name space.
3917 Don't have undefined behavior even if the translation
3918 produced a string with the wrong number of "%s"s. */
3919 char *yyp = yyresult;
3921 while ((*yyp = *yyf) != '\0')
3923 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3925 yyp += yytnamerr (yyp, yyarg[yyi++]);
3938 #endif /* YYERROR_VERBOSE */
3941 /*-----------------------------------------------.
3942 | Release the memory associated to this symbol. |
3943 `-----------------------------------------------*/
3946 #if (defined __STDC__ || defined __C99__FUNC__ \
3947 || defined __cplusplus || defined _MSC_VER)
3949 yydestruct (const char *yymsg, int yytype, cgrammar_YYSTYPE *yyvaluep)
3952 yydestruct (yymsg, yytype, yyvaluep)
3955 cgrammar_YYSTYPE *yyvaluep;
3962 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3973 /* Prevent warnings from -Wmissing-prototypes. */
3975 #ifdef YYPARSE_PARAM
3976 #if defined __STDC__ || defined __cplusplus
3977 int yyparse (void *YYPARSE_PARAM);
3981 #else /* ! YYPARSE_PARAM */
3982 #if defined __STDC__ || defined __cplusplus
3987 #endif /* ! YYPARSE_PARAM */
3991 /* The look-ahead symbol. */
3994 /* The semantic value of the look-ahead symbol. */
3995 cgrammar_YYSTYPE yylval;
3997 /* Number of syntax errors so far. */
4006 #ifdef YYPARSE_PARAM
4007 #if (defined __STDC__ || defined __C99__FUNC__ \
4008 || defined __cplusplus || defined _MSC_VER)
4010 yyparse (void *YYPARSE_PARAM)
4013 yyparse (YYPARSE_PARAM)
4014 void *YYPARSE_PARAM;
4016 #else /* ! YYPARSE_PARAM */
4017 #if (defined __STDC__ || defined __C99__FUNC__ \
4018 || defined __cplusplus || defined _MSC_VER)
4032 /* Number of tokens to shift before error messages enabled. */
4034 /* Look-ahead token as an internal (translated) token number. */
4037 /* Buffer for error messages, and its allocated size. */
4039 char *yymsg = yymsgbuf;
4040 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
4043 /* Three stacks and their tools:
4044 `yyss': related to states,
4045 `yyvs': related to semantic values,
4046 `yyls': related to locations.
4048 Refer to the stacks thru separate pointers, to allow yyoverflow
4049 to reallocate them elsewhere. */
4051 /* The state stack. */
4052 yytype_int16 yyssa[YYINITDEPTH];
4053 yytype_int16 *yyss = yyssa;
4054 yytype_int16 *yyssp;
4056 /* The semantic value stack. */
4057 cgrammar_YYSTYPE yyvsa[YYINITDEPTH];
4058 cgrammar_YYSTYPE *yyvs = yyvsa;
4059 cgrammar_YYSTYPE *yyvsp;
4063 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
4065 YYSIZE_T yystacksize = YYINITDEPTH;
4067 /* The variables used to return semantic value and location from the
4069 cgrammar_YYSTYPE yyval;
4072 /* The number of symbols on the RHS of the reduced rule.
4073 Keep to zero when no symbol should be popped. */
4076 YYDPRINTF ((stderr, "Starting parse\n"));
4081 yychar = YYEMPTY; /* Cause a token to be read. */
4083 /* Initialize stack pointers.
4084 Waste one element of value and location stack
4085 so that they stay on the same level as the state stack.
4086 The wasted elements are never initialized. */
4093 /*------------------------------------------------------------.
4094 | yynewstate -- Push a new state, which is found in yystate. |
4095 `------------------------------------------------------------*/
4097 /* In all cases, when you get here, the value and location stacks
4098 have just been pushed. So pushing a state here evens the stacks. */
4104 if (yyss + yystacksize - 1 <= yyssp)
4106 /* Get the current used size of the three stacks, in elements. */
4107 YYSIZE_T yysize = yyssp - yyss + 1;
4111 /* Give user a chance to reallocate the stack. Use copies of
4112 these so that the &'s don't force the real ones into
4114 cgrammar_YYSTYPE *yyvs1 = yyvs;
4115 yytype_int16 *yyss1 = yyss;
4118 /* Each stack pointer address is followed by the size of the
4119 data in use in that stack, in bytes. This used to be a
4120 conditional around just the two extra args, but that might
4121 be undefined if yyoverflow is a macro. */
4122 yyoverflow (YY_("memory exhausted"),
4123 &yyss1, yysize * sizeof (*yyssp),
4124 &yyvs1, yysize * sizeof (*yyvsp),
4131 #else /* no yyoverflow */
4132 # ifndef YYSTACK_RELOCATE
4133 goto yyexhaustedlab;
4135 /* Extend the stack our own way. */
4136 if (YYMAXDEPTH <= yystacksize)
4137 goto yyexhaustedlab;
4139 if (YYMAXDEPTH < yystacksize)
4140 yystacksize = YYMAXDEPTH;
4143 yytype_int16 *yyss1 = yyss;
4144 union yyalloc *yyptr =
4145 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
4147 goto yyexhaustedlab;
4148 YYSTACK_RELOCATE (yyss);
4149 YYSTACK_RELOCATE (yyvs);
4151 # undef YYSTACK_RELOCATE
4153 YYSTACK_FREE (yyss1);
4156 #endif /* no yyoverflow */
4158 yyssp = yyss + yysize - 1;
4159 yyvsp = yyvs + yysize - 1;
4162 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
4163 (unsigned long int) yystacksize));
4165 if (yyss + yystacksize - 1 <= yyssp)
4169 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
4178 /* Do appropriate processing given the current state. Read a
4179 look-ahead token if we need one and don't already have one. */
4181 /* First try to decide what to do without reference to look-ahead token. */
4182 yyn = yypact[yystate];
4183 if (yyn == YYPACT_NINF)
4186 /* Not known => get a look-ahead token if don't already have one. */
4188 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
4189 if (yychar == YYEMPTY)
4191 YYDPRINTF ((stderr, "Reading a token: "));
4195 if (yychar <= YYEOF)
4197 yychar = yytoken = YYEOF;
4198 YYDPRINTF ((stderr, "Now at end of input.\n"));
4202 yytoken = YYTRANSLATE (yychar);
4203 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
4206 /* If the proper action on seeing token YYTOKEN is to reduce or to
4207 detect an error, take that action. */
4209 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
4214 if (yyn == 0 || yyn == YYTABLE_NINF)
4223 /* Count tokens shifted since error; after three, turn off error
4228 /* Shift the look-ahead token. */
4229 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
4231 /* Discard the shifted token unless it is eof. */
4232 if (yychar != YYEOF)
4241 /*-----------------------------------------------------------.
4242 | yydefault -- do the default action for the current state. |
4243 `-----------------------------------------------------------*/
4245 yyn = yydefact[yystate];
4251 /*-----------------------------.
4252 | yyreduce -- Do a reduction. |
4253 `-----------------------------*/
4255 /* yyn is the number of a rule to reduce with. */
4258 /* If YYLEN is nonzero, implement the default value of the action:
4261 Otherwise, the following line sets YYVAL to garbage.
4262 This behavior is undocumented and Bison
4263 users should not rely upon it. Assigning to YYVAL
4264 unconditionally makes the parser a bit smaller, and it avoids a
4265 GCC warning that YYVAL may be used uninitialized. */
4266 yyval = yyvsp[1-yylen];
4269 YY_REDUCE_PRINT (yyn);
4274 { context_checkGlobalScope (); ;}
4279 { context_checkGlobalScope (); ;}
4284 { uentry_clearDecl (); ;}
4289 { uentry_clearDecl (); ;}
4294 { uentry_clearDecl (); ;}
4299 { uentry_clearDecl (); ;}
4304 { uentry_clearDecl (); ;}
4309 { uentry_checkDecl (); exprNode_free ((yyvsp[(1) - (1)].expr)); ;}
4314 { uentry_clearDecl (); lltok_free ((yyvsp[(1) - (1)].tok)); /* evans 2002-02-08: okay to have a null statement */ ;}
4319 { uentry_clearDecl (); ;}
4324 { checkConstant ((yyvsp[(2) - (8)].qtyp), (yyvsp[(4) - (8)].ntyp)); lltok_free2 ((yyvsp[(1) - (8)].tok), (yyvsp[(8) - (8)].tok)); ;}
4329 { checkValueConstant ((yyvsp[(2) - (11)].qtyp), (yyvsp[(4) - (11)].ntyp), (yyvsp[(8) - (11)].expr)); lltok_free3 ((yyvsp[(1) - (11)].tok), (yyvsp[(6) - (11)].tok), (yyvsp[(11) - (11)].tok)); ;}
4334 { context_enterFunctionHeader (); ;}
4340 declareStaticFunction ((yyvsp[(3) - (5)].ntyp)); context_quietExitFunction ();
4341 context_exitFunctionHeader ();
4342 lltok_free2 ((yyvsp[(1) - (5)].tok), (yyvsp[(5) - (5)].tok)); /*!*/
4349 qtype qint = qtype_create (ctype_int);
4350 (yyval.ntyp) = idDecl_fixBase ((yyvsp[(1) - (1)].ntyp), qint);
4357 { (yyval.ntyp) = idDecl_fixBase ((yyvsp[(3) - (3)].ntyp), (yyvsp[(1) - (3)].qtyp)); ;}
4362 { (yyval.ntyp) = (yyvsp[(2) - (2)].ntyp); qtype_adjustPointers ((yyvsp[(1) - (2)].pointers), idDecl_getTyp ((yyval.ntyp))); ;}
4367 { (yyval.ntyp) = idDecl_create ((yyvsp[(1) - (1)].cname), qtype_unknown ()); ;}
4372 { (yyval.ntyp) = idDecl_expectFunction ((yyvsp[(4) - (6)].ntyp)); lltok_free2 ((yyvsp[(2) - (6)].tok), (yyvsp[(6) - (6)].tok)); ;}
4377 { (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (3)].ntyp), ctype_makeInnerArray (idDecl_getCtype ((yyvsp[(1) - (3)].ntyp)))); lltok_free2 ((yyvsp[(2) - (3)].tok), (yyvsp[(3) - (3)].tok)); ;}
4383 exprNode_findValue ((yyvsp[(4) - (6)].expr));
4384 idDecl_notExpectingFunction ((yyvsp[(1) - (6)].ntyp));
4386 if (exprNode_hasValue ((yyvsp[(4) - (6)].expr)))
4388 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (6)].ntyp), ctype_makeInnerFixedArray (idDecl_getCtype ((yyvsp[(1) - (6)].ntyp)),
4389 exprNode_getLongValue ((yyvsp[(4) - (6)].expr))));
4393 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (6)].ntyp), ctype_makeInnerArray (idDecl_getCtype ((yyvsp[(1) - (6)].ntyp))));
4396 lltok_free2 ((yyvsp[(2) - (6)].tok), (yyvsp[(5) - (6)].tok));
4402 { setCurrentParams (uentryList_missingParams); ;}
4407 { /* need to support globals and modifies here! */
4408 functionClauseList fcl;
4409 ctype ct = ctype_makeFunction (idDecl_getCtype ((yyvsp[(1) - (6)].ntyp)),
4410 uentryList_makeMissingParams ());
4412 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (6)].ntyp), ct);
4414 /*drl 7/25/01 added*/
4415 setImplicitfcnConstraints();
4417 DPRINTF((message("namedDeclBase PushType TLPAREN TRPAREN...:\n adding implict constraints to functionClause List: %s",
4418 functionClauseList_unparse((yyvsp[(6) - (6)].funcclauselist))
4422 fcl = functionClauseList_setImplicitConstraints((yyvsp[(6) - (6)].funcclauselist));
4424 idDecl_addClauses ((yyval.ntyp), fcl);
4426 DPRINTF((message("1 added fuctionClause List: %s to the Id",
4427 functionClauseList_unparse(fcl)
4433 lltok_free2 ((yyvsp[(3) - (6)].tok), (yyvsp[(4) - (6)].tok));
4439 { setCurrentParams ((yyvsp[(4) - (5)].entrylist)); ;}
4445 functionClauseList fcl;
4446 setImplicitfcnConstraints ();
4447 clearCurrentParams ();
4448 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (7)].ntyp), ctype_makeFunction (idDecl_getCtype ((yyvsp[(1) - (7)].ntyp)), (yyvsp[(4) - (7)].entrylist)));
4450 DPRINTF((message("namedDeclBase PushType TLPAREN genericParamList TRPAREN...:\n adding implict constraints to functionClause List: %s",
4451 functionClauseList_unparse((yyvsp[(7) - (7)].funcclauselist))
4455 fcl = functionClauseList_setImplicitConstraints((yyvsp[(7) - (7)].funcclauselist));
4457 idDecl_addClauses ((yyval.ntyp), fcl);
4459 DPRINTF((message("added fuctionClause List: %s to the Id",
4460 functionClauseList_unparse(fcl)
4466 lltok_free2 ((yyvsp[(3) - (7)].tok), (yyvsp[(5) - (7)].tok));
4472 { (yyval.ntyp) = idDecl_create ((yyvsp[(1) - (1)].cname), qtype_unknown ()); ;}
4477 { (yyval.ntyp) = idDecl_expectFunction ((yyvsp[(4) - (6)].ntyp)); lltok_free2 ((yyvsp[(2) - (6)].tok), (yyvsp[(6) - (6)].tok)); ;}
4482 { (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (3)].ntyp), ctype_makeInnerArray (idDecl_getCtype ((yyvsp[(1) - (3)].ntyp))));
4483 lltok_free2 ((yyvsp[(2) - (3)].tok), (yyvsp[(3) - (3)].tok));
4492 if (exprNode_hasValue ((yyvsp[(4) - (6)].expr))
4493 && multiVal_isInt (exprNode_getValue ((yyvsp[(4) - (6)].expr))))
4495 value = (int) multiVal_forceInt (exprNode_getValue ((yyvsp[(4) - (6)].expr)));
4502 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (6)].ntyp), ctype_makeInnerFixedArray (idDecl_getCtype ((yyvsp[(1) - (6)].ntyp)), value));
4503 lltok_free2 ((yyvsp[(2) - (6)].tok), (yyvsp[(5) - (6)].tok));
4509 { setCurrentParams (uentryList_missingParams); ;}
4515 ctype ct = ctype_makeFunction (idDecl_getCtype ((yyvsp[(1) - (6)].ntyp)),
4516 uentryList_makeMissingParams ());
4518 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (6)].ntyp), ct);
4519 idDecl_addClauses ((yyval.ntyp), (yyvsp[(6) - (6)].funcclauselist));
4521 lltok_free2 ((yyvsp[(3) - (6)].tok), (yyvsp[(4) - (6)].tok));
4527 { setCurrentParams ((yyvsp[(4) - (5)].entrylist)); ;}
4533 clearCurrentParams ();
4534 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (7)].ntyp), ctype_makeFunction (idDecl_getCtype ((yyvsp[(1) - (7)].ntyp)), (yyvsp[(4) - (7)].entrylist)));
4535 idDecl_addClauses ((yyval.ntyp), (yyvsp[(7) - (7)].funcclauselist));
4537 lltok_free ((yyvsp[(3) - (7)].tok));
4538 /*!! lltok_free2 ($3, $5); */
4544 { setCurrentParams ((yyvsp[(4) - (5)].entrylist)); ;}
4549 { clearCurrentParams (); ;}
4554 { declareCIter ((yyvsp[(2) - (10)].cname), (yyvsp[(4) - (10)].entrylist));
4555 lltok_free3 ((yyvsp[(1) - (10)].tok), (yyvsp[(3) - (10)].tok), (yyvsp[(5) - (10)].tok));
4561 { exprNode_checkMacroBody ((yyvsp[(2) - (3)].expr)); lltok_free2 ((yyvsp[(1) - (3)].tok), (yyvsp[(3) - (3)].tok)); ;}
4566 { exprNode_checkIterBody ((yyvsp[(2) - (3)].expr)); lltok_free2 ((yyvsp[(1) - (3)].tok), (yyvsp[(3) - (3)].tok)); ;}
4571 { exprNode_checkIterEnd ((yyvsp[(2) - (3)].expr)); lltok_free2 ((yyvsp[(1) - (3)].tok), (yyvsp[(3) - (3)].tok));;}
4576 { exprChecks_checkEmptyMacroBody (); lltok_free2 ((yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].tok)); ;}
4581 { clabstract_declareFunction ((yyvsp[(1) - (1)].ntyp)); ;}
4586 { (yyval.msconstraint) = metaStateConstraint_create ((yyvsp[(1) - (3)].msspec), (yyvsp[(3) - (3)].msexpr)); lltok_free ((yyvsp[(2) - (3)].tok)); ;}
4591 { cscannerHelp_expectingMetaStateName (); ;}
4596 { cscannerHelp_clearExpectingMetaStateName ();
4597 (yyval.msspec) = metaStateSpecifier_create ((yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].msinfo));
4598 lltok_free ((yyvsp[(3) - (4)].tok));
4604 { cscannerHelp_expectingMetaStateName (); ;}
4609 { cscannerHelp_clearExpectingMetaStateName ();
4610 (yyval.msspec) = metaStateSpecifier_createElipsis ((yyvsp[(4) - (4)].msinfo));
4611 lltok_free2 ((yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].tok));
4617 { (yyval.msexpr) = metaStateExpression_create ((yyvsp[(1) - (1)].msspec)); ;}
4622 { (yyval.msexpr) = metaStateExpression_createMerge ((yyvsp[(1) - (3)].msspec), (yyvsp[(3) - (3)].msexpr)); lltok_free ((yyvsp[(2) - (3)].tok)); ;}
4627 { (yyval.conL) = constraintList_add ((yyvsp[(3) - (3)].conL), (yyvsp[(1) - (3)].con)); ;}
4632 { (yyval.conL) = constraintList_single ((yyvsp[(1) - (1)].con)); ;}
4638 (yyval.con) = makeConstraintParse3 ((yyvsp[(1) - (3)].conE), (yyvsp[(2) - (3)].tok), (yyvsp[(3) - (3)].conE));
4639 DPRINTF(("Done BufConstraint1\n")); ;}
4644 {(yyval.conE) = constraintExpr_parseMakeUnaryOp ((yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].conE)); DPRINTF( ("Got BufConstraintExpr UNary Op ") ); ;}
4650 DPRINTF( ("Got BufConstraintExpr BINary Op ") );
4651 (yyval.conE) = constraintExpr_parseMakeBinaryOp ((yyvsp[(2) - (5)].conE), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].conE)); ;}
4656 { (yyval.conE) = constraintExpr_makeTermsRef ((yyvsp[(1) - (1)].sr));;}
4661 { (yyval.conE) = constraintExpr_makeIntLiteral (exprNode_getLongValue ((yyvsp[(1) - (1)].expr))); ;}
4666 { /*@-onlytrans@*/ (yyval.sr) = checkbufferConstraintClausesId ((yyvsp[(1) - (1)].entry)); /*@=onlytrans@*/ /*@i523@*/ ;}
4671 { (yyval.sr) = fixStateClausesId ((yyvsp[(1) - (1)].cname)); ;}
4676 { (yyval.sr) = sRef_makeAnyArrayFetch ((yyvsp[(1) - (3)].sr)); ;}
4684 t = cstring_toCharsSafe (exprNode_unparse($3));
4687 (yyval.sr) = sRef_makeArrayFetchKnown ((yyvsp[(1) - (4)].sr), exprNode_getLongValue ((yyvsp[(3) - (4)].expr)));
4693 { (yyval.sr) = sRef_constructPointer ((yyvsp[(2) - (2)].sr)); ;}
4698 { (yyval.sr) = (yyvsp[(2) - (3)].sr); ;}
4703 { cstring_markOwned ((yyvsp[(3) - (3)].cname)); (yyval.sr) = sRef_buildField ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
4708 { cstring_markOwned ((yyvsp[(3) - (3)].cname)); (yyval.sr) = sRef_makeArrow ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
4713 { (yyval.funcclauselist) = functionClauseList_new (); ;}
4718 { (yyval.funcclauselist) = functionClauseList_prepend ((yyvsp[(2) - (2)].funcclauselist), (yyvsp[(1) - (2)].funcclause)); ;}
4723 { (yyval.funcclauselist) = functionClauseList_new (); ;}
4728 { (yyval.funcclauselist) = functionClauseList_prepend ((yyvsp[(2) - (2)].funcclauselist), (yyvsp[(1) - (2)].funcclause)); ;}
4733 { (yyval.funcclause) = functionClause_createGlobals ((yyvsp[(1) - (1)].globsclause)); ;}
4738 { (yyval.funcclause) = functionClause_createModifies ((yyvsp[(1) - (1)].modsclause)); ;}
4743 { (yyval.funcclause) = functionClause_createModifies ((yyvsp[(1) - (1)].modsclause)); ;}
4748 { (yyval.funcclause) = functionClause_createState ((yyvsp[(1) - (1)].stateclause)); ;}
4753 { (yyval.funcclause) = (yyvsp[(1) - (1)].funcclause); ;}
4758 { (yyval.funcclause) = functionClause_createWarn ((yyvsp[(1) - (1)].warnclause)); ;}
4763 { (yyval.funcclause) = functionClause_createGlobals ((yyvsp[(1) - (1)].globsclause)); ;}
4768 { (yyval.funcclause) = functionClause_createModifies ((yyvsp[(1) - (1)].modsclause)); ;}
4773 { (yyval.funcclause) = functionClause_createModifies ((yyvsp[(1) - (1)].modsclause)); ;}
4778 { (yyval.funcclause) = functionClause_createState ((yyvsp[(1) - (1)].stateclause)); ;}
4783 { (yyval.funcclause) = (yyvsp[(1) - (1)].funcclause); ;}
4788 { (yyval.funcclause) = functionClause_createWarn ((yyvsp[(1) - (1)].warnclause)); ;}
4793 { (yyval.globsclause) = (yyvsp[(1) - (2)].globsclause); ;}
4798 { setProcessingGlobalsList (); ;}
4804 unsetProcessingGlobals ();
4805 (yyval.globsclause) = globalsClause_create ((yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].globset));
4811 { (yyval.modsclause) = modifiesClause_createNoMods ((yyvsp[(1) - (1)].tok)); ;}
4816 { (yyval.modsclause) = (yyvsp[(1) - (2)].modsclause); ;}
4822 context_setProtectVars (); enterParamsTemp ();
4823 sRef_setGlobalScopeSafe ();
4831 sRef_clearGlobalScopeSafe ();
4832 context_releaseVars ();
4833 (yyval.modsclause) = modifiesClause_create ((yyvsp[(1) - (3)].tok), (yyvsp[(3) - (3)].srset));
4839 { (yyval.flagspec) = flagSpec_createPlain ((yyvsp[(1) - (1)].cname)); ;}
4844 { (yyval.flagspec) = flagSpec_createOr ((yyvsp[(1) - (3)].cname), (yyvsp[(3) - (3)].flagspec)); ;}
4849 { (yyval.warnclause) = warnClause_undefined; ;}
4854 { (yyval.warnclause) = (yyvsp[(1) - (2)].warnclause); ;}
4860 llassert (exprNode_knownStringValue ((yyvsp[(3) - (3)].expr)));
4861 (yyval.warnclause) = warnClause_create ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].flagspec), cstring_copy (multiVal_forceString (exprNode_getValue ((yyvsp[(3) - (3)].expr)))));
4862 exprNode_free ((yyvsp[(3) - (3)].expr));
4868 { (yyval.warnclause) = warnClause_create ((yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].flagspec), cstring_undefined); ;}
4873 { (yyval.globset) = globSet_single ((yyvsp[(1) - (1)].sr)); ;}
4878 { (yyval.globset) = globSet_insert ((yyvsp[(1) - (3)].globset), (yyvsp[(3) - (3)].sr)); ;}
4883 { (yyval.sr) = clabstract_createGlobal ((yyvsp[(2) - (2)].sr), (yyvsp[(1) - (2)].tquallist)); ;}
4888 { (yyval.tquallist) = qualList_undefined; ;}
4893 { (yyval.tquallist) = qualList_add ((yyvsp[(2) - (2)].tquallist), (yyvsp[(1) - (2)].typequal)); ;}
4898 { (yyval.sr) = uentry_getSref ((yyvsp[(1) - (1)].entry)); ;}
4903 { (yyval.sr) = clabstract_unrecognizedGlobal ((yyvsp[(1) - (1)].cname)); ;}
4908 { (yyval.sr) = clabstract_checkGlobal ((yyvsp[(1) - (1)].expr)); ;}
4913 { (yyval.typequal) = qual_createUndef (); ;}
4918 { (yyval.typequal) = qual_createKilled (); ;}
4923 { (yyval.typequal) = qual_createOut (); ;}
4928 { (yyval.typequal) = qual_createIn (); ;}
4933 { (yyval.typequal) = qual_createPartial (); ;}
4939 /**!!! deal with fred; fred (int); declarations! **/
4940 qtype qint = qtype_create (ctype_int);
4941 (yyval.ntyp) = idDecl_fixBase ((yyvsp[(1) - (1)].ntyp), qint);
4948 { (yyval.ntyp) = idDecl_fixBase ((yyvsp[(3) - (3)].ntyp), (yyvsp[(1) - (3)].qtyp)); ;}
4953 { checkDoneParams (); context_enterInnerContext (); ;}
4959 exprNode_checkFunctionBody ((yyvsp[(3) - (3)].expr)); (yyval.expr) = (yyvsp[(3) - (3)].expr);
4960 context_exitInner ((yyvsp[(3) - (3)].expr));
4966 { context_enterOldStyleScope (); ;}
4971 { oldStyleDoneParams (); context_enterInnerContext (); ;}
4977 exprNode_checkFunctionBody ((yyvsp[(4) - (4)].expr));
4978 (yyval.expr) = (yyvsp[(4) - (4)].expr); /* oldstyle */
4979 context_exitInner ((yyvsp[(4) - (4)].expr));
4986 context_setFunctionDefined (exprNode_loc ((yyvsp[(2) - (2)].expr)));
4987 exprNode_checkFunction (context_getHeader (), (yyvsp[(2) - (2)].expr));
4990 context_exitFunction ();
4996 { (yyval.srset) = (yyvsp[(1) - (2)].srset); ;}
5001 { (yyval.srset) = sRefSet_new (); ;}
5006 { (yyval.sr) = uentry_getSref ((yyvsp[(1) - (1)].entry)); checkModifiesId ((yyvsp[(1) - (1)].entry)); ;}
5011 { (yyval.sr) = fixModifiesId ((yyvsp[(1) - (1)].cname)); ;}
5016 { (yyval.sr) = fixModifiesId ((yyvsp[(1) - (1)].cname)); ;}
5021 { (yyval.sr) = modListArrayFetch ((yyvsp[(1) - (3)].sr), sRef_undefined); ;}
5026 { (yyval.sr) = modListArrayFetch ((yyvsp[(1) - (4)].sr), (yyvsp[(3) - (4)].sr)); ;}
5031 { (yyval.sr) = modListPointer ((yyvsp[(2) - (2)].sr)); ;}
5036 { (yyval.sr) = (yyvsp[(2) - (3)].sr); ;}
5041 { (yyval.sr) = modListFieldAccess ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
5046 { (yyval.sr) = modListArrowAccess ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
5051 { (yyval.sr) = (yyvsp[(1) - (1)].sr); ;}
5056 { (yyval.sr) = sRef_makeUnknown (); /* sRef_makeConstant ($1); ? */ ;}
5061 { (yyval.srset) = sRefSet_single ((yyvsp[(1) - (1)].sr)); ;}
5066 { (yyval.srset) = sRefSet_insert ((yyvsp[(1) - (3)].srset), (yyvsp[(3) - (3)].sr)); ;}
5071 { (yyval.sr) = checkStateClausesId ((yyvsp[(1) - (1)].entry)); ;}
5076 { (yyval.sr) = fixStateClausesId ((yyvsp[(1) - (1)].cname)); ;}
5081 { (yyval.sr) = sRef_makeAnyArrayFetch ((yyvsp[(1) - (3)].sr)); ;}
5086 { (yyval.sr) = sRef_makeAnyArrayFetch ((yyvsp[(1) - (4)].sr)); ;}
5091 { (yyval.sr) = sRef_constructPointer ((yyvsp[(2) - (2)].sr)); ;}
5096 { (yyval.sr) = (yyvsp[(2) - (3)].sr); ;}
5101 { cstring_markOwned ((yyvsp[(3) - (3)].cname));
5102 (yyval.sr) = sRef_buildField ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
5107 { cstring_markOwned ((yyvsp[(3) - (3)].cname));
5108 (yyval.sr) = sRef_makeArrow ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
5113 { DPRINTF ((message("Empty optSpecClauseList") )); (yyval.srset) = sRefSet_undefined ;}
5118 { if (sRef_isValid ((yyvsp[(1) - (1)].sr))) { (yyval.srset) = sRefSet_single ((yyvsp[(1) - (1)].sr)); }
5120 DPRINTF((message("returning sRefSEt_undefined ") ));
5121 (yyval.srset) = sRefSet_undefined; }
5127 { if (sRef_isValid ((yyvsp[(3) - (3)].sr)))
5129 (yyval.srset) = sRefSet_insert ((yyvsp[(1) - (3)].srset), (yyvsp[(3) - (3)].sr));
5133 (yyval.srset) = (yyvsp[(1) - (3)].srset);
5140 { (yyval.expr) = exprNode_fromIdentifier ((yyvsp[(1) - (1)].entry)); ;}
5145 { (yyval.expr) = exprNode_fromUIO ((yyvsp[(1) - (1)].cname)); ;}
5150 { (yyval.expr) = exprNode_addParens ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].expr)); ;}
5155 { (yyval.expr) = exprNode_fromIdentifier (cscannerHelp_coerceId ((yyvsp[(1) - (1)].cname))); ;}
5160 { (yyval.expr) = exprNode_makeError (); ;}
5165 { exprChecks_inCompoundStatementExpression (); ;}
5170 { exprChecks_leaveCompoundStatementExpression (); (yyval.expr) = exprNode_compoundStatementExpression ((yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].expr)); ;}
5175 { (yyval.expr) = exprNode_arrayFetch ((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].expr)); ;}
5180 { (yyval.expr) = exprNode_functionCall ((yyvsp[(1) - (3)].expr), exprNodeList_new ()); ;}
5185 { (yyval.expr) = exprNode_functionCall ((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].exprlist)); ;}
5190 { (yyval.expr) = exprNode_vaArg ((yyvsp[(1) - (6)].tok), (yyvsp[(3) - (6)].expr), (yyvsp[(5) - (6)].qtyp)); ;}
5195 { (yyval.expr) = exprNode_fieldAccess ((yyvsp[(1) - (5)].expr), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].cname)); ;}
5200 { (yyval.expr) = exprNode_arrowAccess ((yyvsp[(1) - (5)].expr), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].cname)); ;}
5205 { (yyval.expr) = exprNode_postOp ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
5210 { (yyval.expr) = exprNode_postOp ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
5215 { /* added for C99 */ (yyval.expr) = exprNode_undefined; /*@i87 no checking */ ;}
5220 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
5225 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (3)].exprlist), (yyvsp[(3) - (3)].expr)); ;}
5230 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5235 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5240 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5245 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5250 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5255 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5260 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5265 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5270 { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
5275 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
5280 { (yyval.cstringlist) = cstringList_add ((yyvsp[(1) - (3)].cstringlist), (yyvsp[(3) - (3)].cname)); lltok_free ((yyvsp[(2) - (3)].tok)); ;}
5285 { (yyval.cstringlist) = (yyvsp[(1) - (4)].cstringlist); lltok_free2 ((yyvsp[(2) - (4)].tok), (yyvsp[(4) - (4)].tok)); ;}
5290 { (yyval.cstringlist) = cstringList_single ((yyvsp[(1) - (1)].cname)); ;}
5295 { (yyval.expr) = exprNode_offsetof ((yyvsp[(4) - (9)].qtyp), (yyvsp[(7) - (9)].cstringlist));
5296 lltok_free3 ((yyvsp[(1) - (9)].tok), (yyvsp[(3) - (9)].tok), (yyvsp[(6) - (9)].tok)); lltok_free ((yyvsp[(8) - (9)].tok)); ;}
5301 { context_setProtectVars (); ;}
5306 { context_sizeofReleaseVars (); (yyval.expr) = (yyvsp[(3) - (3)].expr); ;}
5311 {context_enterSizeof();}
5316 {context_leaveSizeof();}
5321 { (yyval.expr) = exprNode_sizeofType ((yyvsp[(3) - (4)].qtyp)); lltok_free3 ((yyvsp[(1) - (4)].tok), (yyvsp[(2) - (4)].tok), (yyvsp[(4) - (4)].tok)); ;}
5326 { (yyval.expr) = exprNode_sizeofExpr ((yyvsp[(2) - (2)].expr)); lltok_free ((yyvsp[(1) - (2)].tok)); ;}
5331 { (yyval.expr) = exprNode_alignofType ((yyvsp[(3) - (4)].qtyp)); lltok_free3 ((yyvsp[(1) - (4)].tok), (yyvsp[(2) - (4)].tok), (yyvsp[(4) - (4)].tok)); ;}
5336 { (yyval.expr) = exprNode_alignofExpr ((yyvsp[(2) - (2)].expr)); lltok_free ((yyvsp[(1) - (2)].tok)); ;}
5341 { (yyval.expr) = exprNode_cast ((yyvsp[(1) - (4)].tok), (yyvsp[(4) - (4)].expr), (yyvsp[(2) - (4)].qtyp)); lltok_free ((yyvsp[(3) - (4)].tok)); ;}
5346 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5351 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5356 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5361 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5366 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5371 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5376 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5381 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5386 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5391 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5396 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5401 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5406 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5411 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5416 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5421 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5426 { exprNode_produceGuards ((yyvsp[(1) - (2)].expr));
5427 context_enterAndClause ((yyvsp[(1) - (2)].expr));
5434 (yyval.expr) = exprNode_op ((yyvsp[(1) - (4)].expr), (yyvsp[(4) - (4)].expr), (yyvsp[(2) - (4)].tok));
5435 context_exitAndClause ((yyval.expr), (yyvsp[(4) - (4)].expr));
5442 exprNode_produceGuards ((yyvsp[(1) - (2)].expr));
5443 context_enterOrClause ((yyvsp[(1) - (2)].expr));
5450 (yyval.expr) = exprNode_op ((yyvsp[(1) - (4)].expr), (yyvsp[(4) - (4)].expr), (yyvsp[(2) - (4)].tok));
5451 context_exitOrClause ((yyval.expr), (yyvsp[(4) - (4)].expr));
5457 { /* GCC extension: conditional with empty if */
5458 exprNode_produceGuards ((yyvsp[(1) - (2)].expr)); context_enterTrueClause ((yyvsp[(1) - (2)].expr)); ;}
5463 { context_enterFalseClause ((yyvsp[(1) - (4)].expr)); ;}
5468 { (yyval.expr) = exprNode_condIfOmit ((yyvsp[(1) - (6)].expr), (yyvsp[(6) - (6)].expr)); context_exitClause ((yyvsp[(1) - (6)].expr), exprNode_undefined, (yyvsp[(6) - (6)].expr)); ;}
5473 { exprNode_produceGuards ((yyvsp[(1) - (2)].expr)); context_enterTrueClause ((yyvsp[(1) - (2)].expr)); ;}
5478 { context_enterFalseClause ((yyvsp[(1) - (5)].expr)); ;}
5483 { (yyval.expr) = exprNode_cond ((yyvsp[(1) - (7)].expr), (yyvsp[(4) - (7)].expr), (yyvsp[(7) - (7)].expr)); context_exitClause ((yyvsp[(1) - (7)].expr), (yyvsp[(4) - (7)].expr), (yyvsp[(7) - (7)].expr)); ;}
5488 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5493 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5498 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5503 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5508 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5513 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5518 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5523 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5528 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5533 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5538 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5543 { (yyval.expr) = exprNode_comma ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
5548 { (yyval.expr) = exprNode_undefined; ;}
5553 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
5558 { doVaDcl (); (yyval.expr) = exprNode_makeError (); ;}
5563 { (yyval.expr) = exprNode_makeError (); ;}
5568 { (yyval.expr) = exprNode_makeError (); ;}
5574 setProcessingVars ((yyvsp[(1) - (4)].qtyp));
5575 processNamedDecl ((yyvsp[(3) - (4)].ntyp));
5582 unsetProcessingVars ();
5583 (yyval.expr) = exprNode_makeEmptyInitialization ((yyvsp[(3) - (9)].ntyp));
5584 DPRINTF (("Empty initialization: %s", exprNode_unparse ((yyval.expr))));
5590 { setProcessingVars ((yyvsp[(1) - (5)].qtyp)); processNamedDecl ((yyvsp[(3) - (5)].ntyp)); ;}
5595 { (yyval.expr) = exprNode_concat ((yyvsp[(9) - (11)].expr), exprNode_makeInitialization ((yyvsp[(3) - (11)].ntyp), (yyvsp[(8) - (11)].expr)));
5596 unsetProcessingVars ();
5602 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
5607 { (yyval.expr) = exprNode_fromIdentifier (usymtab_getTypeEntry (ctype_typeId ((yyvsp[(1) - (1)].ctyp)))); ;}
5613 processNamedDecl ((yyvsp[(1) - (2)].ntyp));
5614 (yyval.expr) = exprNode_makeEmptyInitialization ((yyvsp[(1) - (2)].ntyp));
5620 { processNamedDecl ((yyvsp[(1) - (3)].ntyp)); ;}
5625 { (yyval.expr) = exprNode_makeInitialization ((yyvsp[(1) - (6)].ntyp), (yyvsp[(6) - (6)].expr)); ;}
5630 { setProcessingTypedef ((yyvsp[(2) - (2)].qtyp)); ;}
5635 { clabstract_declareType ((yyvsp[(5) - (8)].exprlist), (yyvsp[(7) - (8)].warnclause)); ;}
5640 { /* in the ANSI grammar, semantics unclear */ ;}
5645 { /* in the ANSI grammar, semantics unclear */ ;}
5650 { cscannerHelp_setExpectingTypeName (); ;}
5655 { cscannerHelp_setExpectingTypeName (); context_pushLoc (); ;}
5660 { (yyval.exprlist) = (yyvsp[(1) - (2)].exprlist); ;}
5665 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
5670 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (4)].exprlist), (yyvsp[(4) - (4)].expr)); ;}
5675 { (yyval.exprlist) = (yyvsp[(1) - (2)].exprlist); ;}
5680 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
5685 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (4)].exprlist), (yyvsp[(4) - (4)].expr)); ;}
5690 { (yyval.expr) = exprNode_makeError (); ;}
5695 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (4)].expr), (yyvsp[(4) - (4)].expr)); ;}
5700 { (yyval.expr) = exprNode_makeInitBlock ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].exprlist)); lltok_free ((yyvsp[(3) - (3)].tok)); ;}
5705 { (yyval.expr) = exprNode_makeInitBlock ((yyvsp[(1) - (4)].tok), (yyvsp[(2) - (4)].exprlist)); lltok_free2 ((yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].tok)); ;}
5710 { (yyval.expr) = exprNode_undefined; ;}
5715 { (yyval.expr) = (yyvsp[(1) - (2)].expr); ;}
5720 { (yyval.expr) = exprNode_undefined;
5721 /* gcc extension, obsolete since 2.5 */ ;}
5726 { (yyval.expr) = exprNode_undefined; ;}
5731 { (yyval.expr) = exprNode_undefined; ;}
5736 { (yyval.expr) = exprNode_undefined; ;}
5741 { (yyval.expr) = exprNode_undefined; ;}
5746 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
5751 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (3)].exprlist), (yyvsp[(3) - (3)].expr)); ;}
5756 { setStorageClass (SCEXTERN); (yyval.typequal) = qual_createExtern (); ;}
5761 { (yyval.typequal) = qual_createInline (); ;}
5766 { setStorageClass (SCSTATIC); (yyval.typequal) = qual_createStatic (); ;}
5771 { (yyval.typequal) = qual_createAuto (); ;}
5776 { (yyval.typequal) = qual_createRegister (); ;}
5781 { (yyval.stateclause) = (yyvsp[(1) - (2)].stateclause); ;}
5787 context_setProtectVars ();
5789 sRef_setGlobalScopeSafe ();
5797 sRef_clearGlobalScopeSafe ();
5798 context_releaseVars ();
5799 (yyval.stateclause) = stateClause_createPlain ((yyvsp[(1) - (6)].tok), (yyvsp[(4) - (6)].srset));
5805 { (yyval.funcclause) = (yyvsp[(1) - (2)].funcclause); ;}
5810 { (yyval.tok) = (yyvsp[(1) - (2)].tok); context_enterFunctionHeader (); ;}
5816 context_exitFunctionHeader ();
5817 context_setProtectVars ();
5819 sRef_setGlobalScopeSafe ();
5827 sRef_clearGlobalScopeSafe ();
5828 context_releaseVars ();
5829 (yyval.funcclause) = functionClause_createState (stateClause_create ((yyvsp[(1) - (6)].tok), (yyvsp[(2) - (6)].typequal), (yyvsp[(4) - (6)].srset)));
5836 context_setProtectVars ();
5838 sRef_setGlobalScopeSafe ();
5845 context_exitFunctionHeader ();
5847 sRef_clearGlobalScopeSafe ();
5848 context_releaseVars ();
5849 DPRINTF (("done optGlobBufConstraintsAux\n"));
5851 if (lltok_isEnsures ((yyvsp[(1) - (5)].tok)))
5853 (yyval.funcclause) = functionClause_createEnsures ((yyvsp[(3) - (5)].fcnconstraint));
5855 else if (lltok_isRequires ((yyvsp[(1) - (5)].tok)))
5857 (yyval.funcclause) = functionClause_createRequires ((yyvsp[(3) - (5)].fcnconstraint));
5864 DPRINTF (("FunctionclauseS: %s", functionClause_unparse ((yyval.funcclause))));
5870 { (yyval.fcnconstraint) = functionConstraint_createBufferConstraint ((yyvsp[(1) - (1)].conL)); ;}
5875 { (yyval.fcnconstraint) = functionConstraint_createMetaStateConstraint ((yyvsp[(1) - (1)].msconstraint)); DPRINTF (("Made constraint: %s", functionConstraint_unparse ((yyval.fcnconstraint)))); ;}
5880 { (yyval.typequal) = qual_createExits (); ;}
5885 { (yyval.typequal) = qual_createMayExit (); ;}
5890 { (yyval.typequal) = qual_createTrueExit (); ;}
5895 { (yyval.typequal) = qual_createFalseExit (); ;}
5900 { (yyval.typequal) = qual_createNeverExit (); ;}
5905 { (yyval.typequal) = qual_createChecked (); ;}
5910 { (yyval.typequal) = qual_createCheckMod (); ;}
5915 { (yyval.typequal) = qual_createUnchecked (); ;}
5920 { (yyval.typequal) = qual_createCheckedStrict (); ;}
5925 { (yyval.typequal) = qual_createOwned (); ;}
5930 { (yyval.typequal) = qual_createDependent (); ;}
5935 { (yyval.typequal) = qual_createYield (); ;}
5940 { (yyval.typequal) = qual_createTemp (); ;}
5945 { (yyval.typequal) = qual_createOnly (); ;}
5950 { (yyval.typequal) = qual_createKeep (); ;}
5955 { (yyval.typequal) = qual_createKept (); ;}
5960 { (yyval.typequal) = qual_createShared (); ;}
5965 { (yyval.typequal) = qual_createUnique (); ;}
5970 { (yyval.typequal) = qual_createNull (); ;}
5975 { (yyval.typequal) = qual_createIsNull (); ;}
5980 { (yyval.typequal) = qual_createRelNull (); ;}
5985 { (yyval.typequal) = qual_createNotNull (); ;}
5990 { (yyval.typequal) = qual_createExposed (); ;}
5995 { (yyval.typequal) = qual_createObserver (); ;}
6000 { (yyval.typequal) = qual_createNullTerminated (); ;}
6005 { (yyval.typequal) = qual_createMetaState ((yyvsp[(1) - (1)].annotation)); ;}
6010 { (yyval.typequal) = qual_createReturned (); ;}
6015 { (yyval.typequal) = qual_createSef (); ;}
6020 { (yyval.typequal) = qual_createUnused (); ;}
6025 { (yyval.typequal) = qual_createExternal (); ;}
6030 { (yyval.typequal) = qual_createTrueNull (); ;}
6035 { (yyval.typequal) = qual_createFalseNull (); ;}
6040 { (yyval.typequal) = qual_createAbstract (); ;}
6045 { (yyval.typequal) = qual_createNumAbstract (); ;}
6050 { (yyval.typequal) = qual_createConcrete (); ;}
6055 { (yyval.typequal) = qual_createMutable (); ;}
6060 { (yyval.typequal) = qual_createImmutable (); ;}
6065 { (yyval.typequal) = qual_createRefCounted (); ;}
6070 { (yyval.typequal) = qual_createRefs (); ;}
6075 { (yyval.typequal) = qual_createKillRef (); ;}
6080 { (yyval.typequal) = qual_createRelDef (); ;}
6085 { (yyval.typequal) = qual_createNewRef (); ;}
6090 { (yyval.typequal) = qual_createTempRef (); ;}
6095 { (yyval.typequal) = qual_createShort (); ;}
6100 { (yyval.typequal) = qual_createLong (); ;}
6105 { (yyval.typequal) = qual_createSigned (); ;}
6110 { (yyval.typequal) = qual_createUnsigned (); ;}
6115 { (yyval.typequal) = qual_createOut (); ;}
6120 { (yyval.typequal) = qual_createIn (); ;}
6125 { (yyval.typequal) = qual_createPartial (); ;}
6130 { (yyval.typequal) = qual_createSpecial (); ;}
6135 { (yyval.typequal) = qual_createConst (); ;}
6140 { (yyval.typequal) = qual_createVolatile (); ;}
6145 { (yyval.typequal) = qual_createRestrict (); ;}
6150 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6155 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6160 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6165 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6170 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6175 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6180 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6185 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6190 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6195 { (yyval.ctyp) = ctype_makeAnytype (); ;}
6200 { (yyval.ctyp) = ctype_anyintegral; ;}
6205 { (yyval.ctyp) = ctype_unsignedintegral; ;}
6210 { (yyval.ctyp) = ctype_signedintegral; ;}
6215 { (yyval.ctyp) = ctype_fromQual ((yyvsp[(1) - (2)].typequal)); ;}
6220 { (yyval.qtyp) = qtype_resolve ((yyvsp[(2) - (3)].qtyp)); ;}
6225 { (yyval.qtyp) = (yyvsp[(1) - (1)].qtyp); ;}
6230 { (yyval.qtyp) = qtype_mergeAlt ((yyvsp[(1) - (4)].qtyp), (yyvsp[(3) - (4)].qtyp)); ;}
6235 { (yyval.qtyp) = qtype_mergeAlt ((yyvsp[(1) - (3)].qtyp), (yyvsp[(3) - (3)].qtyp)); ;}
6240 { (yyval.qtyp) = qtype_addQual ((yyvsp[(2) - (2)].qtyp), (yyvsp[(1) - (2)].typequal)); ;}
6245 { (yyval.qtyp) = qtype_addQual ((yyvsp[(2) - (2)].qtyp), (yyvsp[(1) - (2)].typequal)); ;}
6250 { (yyval.qtyp) = qtype_combine ((yyvsp[(2) - (2)].qtyp), (yyvsp[(1) - (2)].ctyp)); ;}
6255 { (yyval.qtyp) = qtype_unknown (); ;}
6260 { (yyval.qtyp) = (yyvsp[(1) - (1)].qtyp); ;}
6265 { (yyval.conL) = constraintList_undefined; ;}
6270 { sRef_setGlobalScopeSafe (); ;}
6275 { sRef_clearGlobalScopeSafe (); ;}
6280 { ctype ct; ct = declareStruct ((yyvsp[(3) - (12)].cname), (yyvsp[(8) - (12)].flist)); /* context_setGlobalStructInfo(ct, $12); */ (yyval.ctyp) = ct; ;}
6285 { sRef_setGlobalScopeSafe (); ;}
6290 { sRef_clearGlobalScopeSafe (); ;}
6295 { (yyval.ctyp) = declareUnion ((yyvsp[(3) - (11)].cname), (yyvsp[(8) - (11)].flist)); ;}
6300 { (yyval.ctyp) = declareStruct ((yyvsp[(3) - (6)].cname), uentryList_new ()); ;}
6305 { (yyval.ctyp) = declareUnion ((yyvsp[(3) - (6)].cname), uentryList_new ()); ;}
6310 { sRef_setGlobalScopeSafe (); ;}
6315 { sRef_clearGlobalScopeSafe (); ;}
6320 { (yyval.ctyp) = declareUnnamedStruct ((yyvsp[(7) - (10)].flist)); ;}
6325 { sRef_setGlobalScopeSafe (); ;}
6330 { sRef_clearGlobalScopeSafe (); ;}
6335 { (yyval.ctyp) = declareUnnamedUnion ((yyvsp[(7) - (10)].flist)); ;}
6340 { (yyval.ctyp) = ctype_createUnnamedStruct (uentryList_new ()); ;}
6345 { (yyval.ctyp) = ctype_createUnnamedUnion (uentryList_new ()); ;}
6350 { (yyval.ctyp) = handleStruct ((yyvsp[(3) - (4)].cname)); ;}
6355 { (yyval.ctyp) = handleUnion ((yyvsp[(3) - (4)].cname)); ;}
6360 { cscannerHelp_clearExpectingTypeName (); ;}
6365 { (yyval.flist) = uentryList_undefined; /* bogus! */ ;}
6370 { (yyval.flist) = uentryList_mergeFields ((yyvsp[(1) - (2)].flist), (yyvsp[(2) - (2)].flist)); ;}
6375 { (yyval.flist) = fixUentryList ((yyvsp[(3) - (5)].ntyplist), (yyvsp[(1) - (5)].qtyp)); ;}
6380 { (yyval.flist) = fixUnnamedDecl ((yyvsp[(1) - (3)].qtyp)); ;}
6385 { (yyval.ntyplist) = idDeclList_singleton ((yyvsp[(1) - (2)].ntyp)); ;}
6390 { (yyval.ntyplist) = idDeclList_add ((yyvsp[(1) - (4)].ntyplist), (yyvsp[(3) - (4)].ntyp)); ;}
6395 { (yyval.ntyp) = (yyvsp[(1) - (1)].ntyp); ;}
6400 { (yyval.ntyp) = idDecl_undefined; ;}
6405 { (yyval.ntyp) = (yyvsp[(1) - (4)].ntyp); ;}
6410 { (yyval.ctyp) = declareUnnamedEnum ((yyvsp[(4) - (6)].enumnamelist)); ;}
6415 { context_pushLoc (); ;}
6420 { context_popLoc (); (yyval.ctyp) = declareEnum ((yyvsp[(3) - (8)].cname), (yyvsp[(6) - (8)].enumnamelist)); ;}
6425 { (yyval.ctyp) = handleEnum ((yyvsp[(3) - (4)].cname)); ;}
6430 { (yyval.enumnamelist) = enumNameList_single ((yyvsp[(1) - (1)].cname)); ;}
6435 { (yyval.enumnamelist) = enumNameList_push ((yyvsp[(1) - (3)].enumnamelist), (yyvsp[(3) - (3)].cname)); ;}
6440 { uentry ue = uentry_makeEnumConstant ((yyvsp[(1) - (1)].cname), ctype_unknown);
6441 usymtab_supGlobalEntry (ue);
6442 (yyval.cname) = (yyvsp[(1) - (1)].cname);
6448 { uentry ue = uentry_makeEnumInitializedConstant ((yyvsp[(1) - (4)].cname), ctype_unknown, (yyvsp[(4) - (4)].expr));
6449 usymtab_supGlobalEntry (ue);
6450 (yyval.cname) = (yyvsp[(1) - (4)].cname);
6456 { (yyval.ntyp) = idDecl_create (cstring_undefined, qtype_create ((yyvsp[(1) - (1)].ctyp))); ;}
6462 qtype qt = qtype_unknown ();
6463 qtype_adjustPointers ((yyvsp[(1) - (2)].pointers), qt);
6464 (yyval.ntyp) = idDecl_create (cstring_copy (cscannerHelp_observeLastIdentifier ()), qt);
6470 { (yyval.ntyp) = (yyvsp[(2) - (2)].ntyp); qtype_adjustPointers ((yyvsp[(1) - (2)].pointers), idDecl_getTyp ((yyval.ntyp))); ;}
6475 { (yyval.ntyp) = (yyvsp[(2) - (2)].ntyp); qtype_adjustPointers ((yyvsp[(1) - (2)].pointers), idDecl_getTyp ((yyval.ntyp))); ;}
6480 { (yyval.entrylist) = handleParamTypeList ((yyvsp[(1) - (1)].entrylist)); ;}
6485 { (yyval.entrylist) = handleParamIdList ((yyvsp[(2) - (2)].entrylist)); ;}
6490 { (yyval.typequal) = qual_createConst (); ;}
6495 { (yyval.typequal) = qual_createRestrict (); ;}
6500 { (yyval.typequal) = qual_createVolatile (); ;}
6505 { (yyval.tquallist) = qualList_single ((yyvsp[(1) - (1)].typequal)); ;}
6510 { (yyval.tquallist) = qualList_add ((yyvsp[(1) - (2)].tquallist), (yyvsp[(2) - (2)].typequal)); ;}
6515 { (yyval.pointers) = pointers_create ((yyvsp[(1) - (1)].tok)); ;}
6520 { (yyval.pointers) = pointers_createMods ((yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].tquallist)); ;}
6525 { (yyval.pointers) = pointers_extend (pointers_create ((yyvsp[(1) - (2)].tok)), (yyvsp[(2) - (2)].pointers)); ;}
6530 { (yyval.pointers) = pointers_extend (pointers_createMods ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].tquallist)), (yyvsp[(3) - (3)].pointers)); ;}
6535 { (yyval.entrylist) = uentryList_add ((yyvsp[(1) - (3)].entrylist), uentry_makeElipsisMarker ()); ;}
6540 { (yyval.entrylist) = uentryList_single (uentry_makeVariableLoc ((yyvsp[(1) - (1)].cname), ctype_int)); ;}
6545 { (yyval.entrylist) = uentryList_add ((yyvsp[(1) - (3)].entrylist), uentry_makeVariableLoc ((yyvsp[(3) - (3)].cname), ctype_int)); ;}
6550 { (yyval.entrylist) = uentryList_single (uentry_makeElipsisMarker ()); ;}
6555 { (yyval.entrylist) = uentryList_add ((yyvsp[(1) - (3)].entrylist), uentry_makeElipsisMarker ()); ;}
6565 { (yyval.entrylist) = uentryList_single ((yyvsp[(2) - (2)].oentry)); ;}
6575 { (yyval.entrylist) = uentryList_add ((yyvsp[(1) - (4)].entrylist), (yyvsp[(4) - (4)].oentry)); ;}
6581 if (isFlipOldStyle ())
6583 llparseerror (cstring_makeLiteral ("Inconsistent function parameter syntax (mixing old and new style declaration)"));
6589 (yyval.oentry) = makeCurrentParam (idDecl_fixParamBase ((yyvsp[(3) - (4)].ntyp), (yyvsp[(2) - (4)].qtyp)));
6596 idDecl tparam = idDecl_create ((yyvsp[(1) - (1)].cname), qtype_unknown ());
6600 llparseerror (message ("Inconsistent function parameter syntax: %q",
6601 idDecl_unparse (tparam)));
6605 (yyval.oentry) = makeCurrentParam (tparam);
6606 idDecl_free (tparam);
6612 { (yyval.qtyp) = qtype_newBase ((yyvsp[(1) - (2)].qtyp), (yyvsp[(2) - (2)].ctyp)); ;}
6617 { (yyval.ctyp) = ctype_adjustPointers ((yyvsp[(1) - (1)].pointers), ctype_unknown); ;}
6622 { (yyval.ctyp) = ctype_adjustPointers ((yyvsp[(1) - (2)].pointers), (yyvsp[(2) - (2)].ctyp)); ;}
6627 { (yyval.ctyp) = ctype_unknown; ;}
6632 { (yyval.ctyp) = ctype_expectFunction ((yyvsp[(4) - (5)].ctyp)); ;}
6637 { (yyval.ctyp) = ctype_makeArray (ctype_unknown); ;}
6642 { (yyval.ctyp) = ctype_makeFixedArray (ctype_unknown, exprNode_getLongValue ((yyvsp[(2) - (3)].expr))); ;}
6647 { (yyval.ctyp) = ctype_makeInnerArray ((yyvsp[(1) - (3)].ctyp)); ;}
6652 { (yyval.ctyp) = ctype_makeInnerFixedArray ((yyvsp[(1) - (4)].ctyp), exprNode_getLongValue ((yyvsp[(3) - (4)].expr))); ;}
6657 { (yyval.ctyp) = ctype_makeFunction (ctype_unknown, uentryList_makeMissingParams ()); ;}
6662 { (yyval.ctyp) = ctype_makeParamsFunction (ctype_unknown, (yyvsp[(3) - (4)].entrylist)); ;}
6667 { (yyval.ctyp) = ctype_makeFunction ((yyvsp[(1) - (4)].ctyp), uentryList_makeMissingParams ()); ;}
6672 { (yyval.ctyp) = ctype_makeParamsFunction ((yyvsp[(1) - (5)].ctyp), (yyvsp[(4) - (5)].entrylist)); ;}
6677 { exprNode_revealState ((yyvsp[(3) - (4)].expr)); (yyval.expr) = exprNode_undefined; ;}
6682 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6687 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6692 { (yyval.expr) = exprNode_while ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6697 { (yyval.expr) = exprNode_doWhile ((yyvsp[(2) - (7)].expr), (yyvsp[(5) - (7)].expr)); ;}
6702 { (yyval.expr) = exprNode_doWhile ((yyvsp[(2) - (6)].expr), (yyvsp[(5) - (6)].expr)); ;}
6707 { (yyval.expr) = exprNode_for ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6712 { context_setProtectVars (); ;}
6717 { context_sizeofReleaseVars (); ;}
6722 { (yyval.expr) = exprNode_forPred ((yyvsp[(3) - (10)].expr), (yyvsp[(5) - (10)].expr), (yyvsp[(8) - (10)].expr));
6723 context_enterForClause ((yyvsp[(5) - (10)].expr)); ;}
6728 { setProcessingIterVars ((yyvsp[(1) - (3)].entry)); ;}
6733 { (yyval.expr) = exprNode_iterStart ((yyvsp[(1) - (6)].entry), (yyvsp[(5) - (6)].exprlist)); ;}
6738 { (yyval.expr) = exprNode_createId ((yyvsp[(1) - (1)].entry)); ;}
6743 { (yyval.expr) = (yyvsp[(1) - (2)].expr); DPRINTF (("def stmt: %s", exprNode_unparse ((yyval.expr)))); ;}
6748 { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
6753 { (yyval.expr) = exprNode_makeError (); ;}
6758 { exprNode_checkIfPred ((yyvsp[(1) - (1)].expr)); ;}
6763 { /* don't: context_exitTrueClause ($1, $2); */
6764 (yyval.expr) = exprNode_if ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
6770 { (yyval.expr) = exprNode_createTok ((yyvsp[(2) - (2)].tok)); ;}
6775 { (yyval.expr) = exprNode_createTok ((yyvsp[(2) - (2)].tok)); ;}
6780 { (yyval.expr) = exprNode_addParens ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].expr)); ;}
6785 { (yyval.expr) = exprNode_makeError (); ;}
6790 { (yyval.expr) = exprNode_labelMarker ((yyvsp[(1) - (2)].cname)); ;}
6795 { (yyval.expr) = exprNode_notReached ((yyvsp[(2) - (2)].expr)); ;}
6810 { context_enterCaseClause ((yyvsp[(2) - (2)].expr)); ;}
6815 { (yyval.expr) = exprNode_caseMarker ((yyvsp[(2) - (4)].expr), FALSE); ;}
6820 { context_enterCaseClause ((yyvsp[(4) - (4)].expr)); ;}
6825 { (yyval.expr) = exprNode_caseMarker ((yyvsp[(4) - (6)].expr), TRUE); ;}
6830 { context_enterCaseClause (exprNode_undefined); ;}
6835 { (yyval.expr) = exprNode_defaultMarker ((yyvsp[(1) - (3)].tok), FALSE); ;}
6840 { context_enterCaseClause (exprNode_undefined); ;}
6845 { (yyval.expr) = exprNode_defaultMarker ((yyvsp[(3) - (5)].tok), TRUE); ;}
6850 { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
6855 { (yyval.expr) = (yyvsp[(2) - (2)].expr); context_exitInner ((yyvsp[(2) - (2)].expr)); ;}
6860 { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
6865 { context_enterInnerContext (); ;}
6870 { context_exitInnerPlain (); ;}
6875 { context_enterStructInnerContext (); ;}
6880 { context_exitStructInnerContext (); ;}
6885 { context_exitInnerSafe (); ;}
6890 { (yyval.expr) = exprNode_createTok ((yyvsp[(1) - (1)].tok)); ;}
6895 { (yyval.expr) = exprNode_notReached (exprNode_createTok ((yyvsp[(2) - (2)].tok))); ;}
6900 { (yyval.expr) = exprNode_updateLocation ((yyvsp[(1) - (2)].expr), lltok_getLoc ((yyvsp[(2) - (2)].tok))); ;}
6905 { (yyval.expr) = exprNode_notReached (exprNode_updateLocation ((yyvsp[(1) - (3)].expr), lltok_getLoc ((yyvsp[(3) - (3)].tok)))); ;}
6910 { (yyval.expr) = exprNode_updateLocation ((yyvsp[(1) - (2)].expr), lltok_getLoc ((yyvsp[(2) - (2)].tok))); ;}
6915 { (yyval.expr) = exprNode_notReached (exprNode_updateLocation ((yyvsp[(1) - (3)].expr), lltok_getLoc ((yyvsp[(3) - (3)].tok)))); ;}
6920 { (yyval.expr) = exprNode_updateLocation (exprNode_concat ((yyvsp[(1) - (3)].expr), (yyvsp[(2) - (3)].expr)), lltok_getLoc ((yyvsp[(3) - (3)].tok))); ;}
6925 { (yyval.expr) = exprNode_notReached (exprNode_updateLocation (exprNode_concat ((yyvsp[(1) - (4)].expr), (yyvsp[(2) - (4)].expr)),
6926 lltok_getLoc ((yyvsp[(3) - (4)].tok))));
6932 { (yyval.expr) = exprNode_makeBlock ((yyvsp[(2) - (2)].expr)); ;}
6937 { (yyval.expr) = exprNode_createTok ((yyvsp[(2) - (2)].tok)); ;}
6942 { (yyval.expr) = exprNode_updateLocation ((yyvsp[(2) - (3)].expr), lltok_getLoc ((yyvsp[(3) - (3)].tok))); ;}
6947 { (yyval.expr) = exprNode_updateLocation ((yyvsp[(2) - (3)].expr), lltok_getLoc ((yyvsp[(3) - (3)].tok))); ;}
6952 { (yyval.expr) = exprNode_updateLocation (exprNode_concat ((yyvsp[(2) - (4)].expr), (yyvsp[(3) - (4)].expr)), lltok_getLoc ((yyvsp[(4) - (4)].tok))); ;}
6957 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6962 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6967 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6972 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6977 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
6982 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6987 { (yyval.expr) = (yyvsp[(2) - (4)].expr); ;}
6992 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6997 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7002 { (yyval.expr) = exprNode_createTok ((yyvsp[(1) - (1)].tok)); ;}
7007 { (yyval.expr) = exprNode_statement ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
7012 { (yyval.expr) = exprNode_createTok ((yyvsp[(1) - (1)].tok)); ;}
7017 { (yyval.expr) = exprNode_statement ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
7022 { (yyval.expr) = exprNode_checkExpr ((yyvsp[(1) - (1)].expr)); ;}
7028 exprNode_produceGuards ((yyvsp[(3) - (4)].expr)); context_enterTrueClause ((yyvsp[(3) - (4)].expr));
7029 exprNode_checkIfPred ((yyvsp[(3) - (4)].expr));
7030 (yyval.expr) = (yyvsp[(3) - (4)].expr);
7037 context_exitTrueClause ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr));
7038 (yyval.expr) = exprNode_if ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr));
7044 { context_enterFalseClause ((yyvsp[(1) - (3)].expr)); ;}
7050 context_exitClause ((yyvsp[(1) - (5)].expr), (yyvsp[(2) - (5)].expr), (yyvsp[(5) - (5)].expr));
7051 (yyval.expr) = exprNode_ifelse ((yyvsp[(1) - (5)].expr), (yyvsp[(2) - (5)].expr), (yyvsp[(5) - (5)].expr));
7057 { context_enterSwitch ((yyvsp[(3) - (3)].expr)); ;}
7062 { (yyval.expr) = exprNode_switch ((yyvsp[(3) - (6)].expr), (yyvsp[(6) - (6)].expr)); ;}
7067 { (yyval.expr) = exprNode_whilePred ((yyvsp[(3) - (4)].expr)); context_enterWhileClause ((yyvsp[(3) - (4)].expr)); ;}
7072 { (yyval.expr) = exprNode_whilePred((yyvsp[(3) - (4)].expr)); ;}
7077 { context_enterIterClause (); ;}
7082 { setProcessingIterVars ((yyvsp[(1) - (4)].entry)); ;}
7088 (yyval.expr) = exprNode_iter ((yyvsp[(1) - (10)].entry), (yyvsp[(6) - (10)].exprlist), (yyvsp[(8) - (10)].expr), (yyvsp[(9) - (10)].entry));
7095 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
7100 { nextIterParam (); ;}
7105 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (4)].exprlist), (yyvsp[(4) - (4)].expr)); ;}
7110 { (yyval.expr) = exprNode_iterExpr ((yyvsp[(1) - (1)].expr)); ;}
7115 { (yyval.expr) = exprNode_iterId ((yyvsp[(1) - (1)].entry)); ;}
7120 { uentry ue = cscannerHelp_coerceIterId ((yyvsp[(1) - (1)].cname));
7122 if (uentry_isValid (ue))
7124 (yyval.expr) = exprNode_iterId (ue);
7128 (yyval.expr) = exprNode_iterNewId (cstring_copy (cscannerHelp_observeLastIdentifier ()));
7135 { (yyval.expr) = exprNode_iterNewId ((yyvsp[(1) - (1)].cname)); ;}
7140 { (yyval.expr) = exprNode_combineLiterals ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7145 { (yyval.expr) = exprNode_addParens ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].expr)); ;}
7150 { (yyval.expr) = exprNode_arrayFetch ((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].expr)); ;}
7155 { (yyval.expr) = exprNode_functionCall ((yyvsp[(1) - (3)].expr), exprNodeList_new ()); ;}
7160 { (yyval.expr) = exprNode_functionCall ((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].exprlist)); ;}
7165 { (yyval.expr) = exprNode_vaArg ((yyvsp[(1) - (6)].tok), (yyvsp[(3) - (6)].expr), (yyvsp[(5) - (6)].qtyp)); ;}
7170 { (yyval.expr) = exprNode_fieldAccess ((yyvsp[(1) - (5)].expr), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].cname)); ;}
7175 { (yyval.expr) = exprNode_arrowAccess ((yyvsp[(1) - (5)].expr), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].cname)); ;}
7180 { (yyval.expr) = exprNode_postOp ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
7185 { (yyval.expr) = exprNode_postOp ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
7190 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7195 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7200 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7205 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7210 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7215 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7220 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7225 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7230 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
7235 { (yyval.expr) = exprNode_cast ((yyvsp[(1) - (4)].tok), (yyvsp[(4) - (4)].expr), (yyvsp[(2) - (4)].qtyp)); ;}
7240 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7245 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7250 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7255 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7260 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7265 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7270 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7275 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7280 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7285 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7290 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7295 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7300 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7305 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7310 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7315 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7320 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7325 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7330 { context_enterTrueClause ((yyvsp[(1) - (2)].expr)); ;}
7335 { context_enterFalseClause ((yyvsp[(1) - (4)].expr)); ;}
7340 { (yyval.expr) = exprNode_condIfOmit ((yyvsp[(1) - (6)].expr), (yyvsp[(6) - (6)].expr)); ;}
7345 { context_enterTrueClause ((yyvsp[(1) - (2)].expr)); ;}
7350 { context_enterFalseClause ((yyvsp[(1) - (5)].expr)); ;}
7355 { (yyval.expr) = exprNode_cond ((yyvsp[(1) - (7)].expr), (yyvsp[(4) - (7)].expr), (yyvsp[(7) - (7)].expr)); ;}
7360 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7365 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7370 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7375 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7380 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7385 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7390 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7395 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7400 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7405 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7410 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7415 { (yyval.entry) = (yyvsp[(1) - (1)].entry); ;}
7420 { (yyval.entry) = uentry_undefined; ;}
7425 { context_enterDoWhileClause (); (yyval.tok) = (yyvsp[(1) - (1)].tok); ;}
7430 { (yyval.expr) = exprNode_while ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); context_exitWhileClause ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7435 { (yyval.expr) = exprNode_statement (exprNode_doWhile ((yyvsp[(2) - (7)].expr), (yyvsp[(5) - (7)].expr)), (yyvsp[(7) - (7)].tok)); ;}
7440 { (yyval.expr) = exprNode_for ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); context_exitForClause ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7445 { (yyval.expr) = exprNode_while ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); context_exitWhileClause ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7450 { (yyval.expr) = exprNode_statement (exprNode_doWhile ((yyvsp[(2) - (7)].expr), (yyvsp[(5) - (7)].expr)), (yyvsp[(7) - (7)].tok)); ;}
7455 { (yyval.expr) = exprNode_doWhile ((yyvsp[(2) - (6)].expr), (yyvsp[(5) - (6)].expr)); ;}
7460 { (yyval.expr) = exprNode_for ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); context_exitForClause ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7465 { (yyval.expr) = exprNode_goto ((yyvsp[(2) - (3)].cname)); ;}
7470 { (yyval.expr) = exprNode_continue ((yyvsp[(1) - (2)].tok), BADTOK); ;}
7475 { (yyval.expr) = exprNode_continue ((yyvsp[(1) - (3)].tok), QINNERCONTINUE); ;}
7480 { (yyval.expr) = exprNode_break ((yyvsp[(1) - (2)].tok), BADTOK); ;}
7485 { (yyval.expr) = exprNode_break ((yyvsp[(2) - (3)].tok), QSWITCHBREAK); ;}
7490 { (yyval.expr) = exprNode_break ((yyvsp[(2) - (3)].tok), QLOOPBREAK); ;}
7495 { (yyval.expr) = exprNode_break ((yyvsp[(2) - (3)].tok), QINNERBREAK); ;}
7500 { (yyval.expr) = exprNode_break ((yyvsp[(2) - (3)].tok), QSAFEBREAK); ;}
7505 { (yyval.expr) = exprNode_nullReturn ((yyvsp[(1) - (2)].tok)); ;}
7510 { (yyval.expr) = exprNode_return ((yyvsp[(2) - (3)].expr)); ;}
7525 { (yyval.cname) = uentry_getName ((yyvsp[(1) - (1)].entry)); ;}
7530 { (yyval.cname) = uentry_getName ((yyvsp[(1) - (1)].entry)); ;}
7535 { (yyval.cname) = uentry_getName ((yyvsp[(1) - (1)].entry)); ;}
7540 { (yyval.cname) = (yyvsp[(1) - (1)].cname); ;}
7545 { (yyval.ctyp) = ctype_unknown; ;}
7550 { (yyval.ctyp) = exprNode_getType ((yyvsp[(3) - (4)].expr)); exprNode_free ((yyvsp[(3) - (4)].expr)); ;}
7555 { (yyval.ctyp) = qtype_getType ((yyvsp[(3) - (4)].qtyp)); ;}
7559 /* Line 1267 of yacc.c. */
7563 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
7567 YY_STACK_PRINT (yyss, yyssp);
7572 /* Now `shift' the result of the reduction. Determine what state
7573 that goes to, based on the state we popped back to and the rule
7574 number reduced by. */
7578 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
7579 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7580 yystate = yytable[yystate];
7582 yystate = yydefgoto[yyn - YYNTOKENS];
7587 /*------------------------------------.
7588 | yyerrlab -- here on detecting error |
7589 `------------------------------------*/
7591 /* If not already recovering from an error, report this error. */
7595 #if ! YYERROR_VERBOSE
7596 yyerror (YY_("syntax error"));
7599 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
7600 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
7602 YYSIZE_T yyalloc = 2 * yysize;
7603 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
7604 yyalloc = YYSTACK_ALLOC_MAXIMUM;
7605 if (yymsg != yymsgbuf)
7606 YYSTACK_FREE (yymsg);
7607 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
7609 yymsg_alloc = yyalloc;
7613 yymsg_alloc = sizeof yymsgbuf;
7617 if (0 < yysize && yysize <= yymsg_alloc)
7619 (void) yysyntax_error (yymsg, yystate, yychar);
7624 yyerror (YY_("syntax error"));
7626 goto yyexhaustedlab;
7634 if (yyerrstatus == 3)
7636 /* If just tried and failed to reuse look-ahead token after an
7637 error, discard it. */
7639 if (yychar <= YYEOF)
7641 /* Return failure if at end of input. */
7642 if (yychar == YYEOF)
7647 yydestruct ("Error: discarding",
7653 /* Else will try to reuse look-ahead token after shifting the error
7658 /*---------------------------------------------------.
7659 | yyerrorlab -- error raised explicitly by YYERROR. |
7660 `---------------------------------------------------*/
7663 /* Pacify compilers like GCC when the user code never invokes
7664 YYERROR and the label yyerrorlab therefore never appears in user
7666 if (/*CONSTCOND*/ 0)
7669 /* Do not reclaim the symbols of the rule which action triggered
7673 YY_STACK_PRINT (yyss, yyssp);
7678 /*-------------------------------------------------------------.
7679 | yyerrlab1 -- common code for both syntax error and YYERROR. |
7680 `-------------------------------------------------------------*/
7682 yyerrstatus = 3; /* Each real token shifted decrements this. */
7686 yyn = yypact[yystate];
7687 if (yyn != YYPACT_NINF)
7690 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
7698 /* Pop the current state because it cannot handle the error token. */
7703 yydestruct ("Error: popping",
7704 yystos[yystate], yyvsp);
7707 YY_STACK_PRINT (yyss, yyssp);
7716 /* Shift the error token. */
7717 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
7723 /*-------------------------------------.
7724 | yyacceptlab -- YYACCEPT comes here. |
7725 `-------------------------------------*/
7730 /*-----------------------------------.
7731 | yyabortlab -- YYABORT comes here. |
7732 `-----------------------------------*/
7738 /*-------------------------------------------------.
7739 | yyexhaustedlab -- memory exhaustion comes here. |
7740 `-------------------------------------------------*/
7742 yyerror (YY_("memory exhausted"));
7748 if (yychar != YYEOF && yychar != YYEMPTY)
7749 yydestruct ("Cleanup: discarding lookahead",
7751 /* Do not reclaim the symbols of the rule which action triggered
7752 this YYABORT or YYACCEPT. */
7754 YY_STACK_PRINT (yyss, yyssp);
7755 while (yyssp != yyss)
7757 yydestruct ("Cleanup: popping",
7758 yystos[*yyssp], yyvsp);
7763 YYSTACK_FREE (yyss);
7766 if (yymsg != yymsgbuf)
7767 YYSTACK_FREE (yymsg);
7769 /* Make sure YYID is used. */
7770 return YYID (yyresult);
7777 /*@-redecl@*/ /*@-namechecks@*/
7778 extern char *yytext;
7779 /*@=redecl@*/ /*@=namechecks@*/
7781 # include "bison.reset"
7783 void yyerror (/*@unused@*/ char *s)
7785 static bool givehint = FALSE;
7787 if (context_inIterDef ())
7789 llerror (FLG_SYNTAX, message ("Iter syntax not parseable: %s",
7790 context_inFunctionName ()));
7792 else if (context_inIterEnd ())
7794 llerror (FLG_SYNTAX, message ("Iter finalizer syntax not parseable: %s",
7795 context_inFunctionName ()));
7797 else if (context_inMacro ())
7799 llerror (FLG_SYNTAX, message ("Macro syntax not parseable: %s",
7800 context_inFunctionName ()));
7802 if (context_inUnknownMacro ())
7806 llhint (cstring_makeLiteral
7807 ("Precede macro definition with /*@notfunction@*/ "
7808 "to suppress checking and force expansion"));
7813 cscannerHelp_swallowMacro ();
7814 context_exitAllClausesQuiet ();
7818 llparseerror (cstring_undefined);
7835 ** Resets all flags in bison.head
7857 /*@=evalorderuncon@*/
7866 /*@=elseifcomplete@*/
7870 /*@=readonlytrans@*/
7873 /*@=systemunrecog@*/
7874 /*@=dependenttrans@*/
7875 /*@=unqualifiedtrans@*/
7879 /*drl added 11/27/2001*/
7882 /*drl added 12/11/2002*/