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*/
57 /* < end of bison.head > */
59 /* A Bison parser, made by GNU Bison 2.3. */
61 /* Skeleton implementation for Bison's Yacc-like parsers in C
63 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
64 Free Software Foundation, Inc.
66 This program is free software; you can redistribute it and/or modify
67 it under the terms of the GNU General Public License as published by
68 the Free Software Foundation; either version 2, or (at your option)
71 This program is distributed in the hope that it will be useful,
72 but WITHOUT ANY WARRANTY; without even the implied warranty of
73 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
74 GNU General Public License for more details.
76 You should have received a copy of the GNU General Public License
77 along with this program; if not, write to the Free Software
78 Foundation, Inc., 51 Franklin Street, Fifth Floor,
79 Boston, MA 02110-1301, USA. */
81 /* As a special exception, you may create a larger work that contains
82 part or all of the Bison parser skeleton and distribute that work
83 under terms of your choice, so long as that work isn't itself a
84 parser generator using the skeleton or a modified version thereof
85 as a parser skeleton. Alternatively, if you modify or redistribute
86 the parser skeleton itself, you may (at your option) remove this
87 special exception, which will cause the skeleton and the resulting
88 Bison output files to be licensed under the GNU General Public
89 License without this special exception.
91 This special exception was added by the Free Software Foundation in
92 version 2.2 of Bison. */
94 /* C LALR(1) parser skeleton written by Richard Stallman, by
95 simplifying the original so-called "semantic" parser. */
97 /* All symbols defined below should begin with yy or YY, to avoid
98 infringing on user name space. This should be done even for local
99 variables, as they might otherwise be expanded by user macros.
100 There are some unavoidable exceptions within include files to
101 define necessary library symbols; they are noted "INFRINGES ON
102 USER NAME SPACE" below. */
104 /* Identify Bison output. */
108 #define YYBISON_VERSION "2.3"
111 #define YYSKELETON_NAME "yacc.c"
116 /* Using locations. */
117 #define YYLSP_NEEDED 0
124 /* Put the tokens into the symbol table, so that GDB and other debuggers
225 QINNERCONTINUE = 356,
227 QLINTNOTREACHED = 358,
228 QLINTFALLTHROUGH = 359,
232 QLINTPRINTFLIKE = 363,
255 QCHECKEDSTRICT = 386,
303 QUNSIGNEDINTEGRALTYPE = 434,
304 QSIGNEDINTEGRALTYPE = 435,
305 QNULLTERMINATED = 436,
306 QSETBUFFERSIZE = 437,
307 QSETSTRINGLENGTH = 438,
313 NEW_IDENTIFIER = 444,
314 TYPE_NAME_OR_ID = 445,
326 #define CTOK_ELIPSIS 260
350 #define TAMPERSAND 284
368 #define COFFSETOF 302
379 #define MUL_ASSIGN 313
380 #define DIV_ASSIGN 314
381 #define MOD_ASSIGN 315
382 #define ADD_ASSIGN 316
383 #define SUB_ASSIGN 317
384 #define LEFT_ASSIGN 318
385 #define RIGHT_ASSIGN 319
386 #define AND_ASSIGN 320
387 #define XOR_ASSIGN 321
388 #define OR_ASSIGN 322
396 #define QMODIFIES 330
398 #define QCONSTANT 332
399 #define QFUNCTION 333
403 #define QALLOCATES 337
405 #define QRELEASES 339
406 #define QPRECLAUSE 340
407 #define QPOSTCLAUSE 341
408 #define QINVARIANT 342
412 #define QENDMACRO 346
414 #define LLMACROITER 348
415 #define LLMACROEND 349
416 #define TENDMACRO 350
417 #define QDREVEALSTATE 351
418 #define QSWITCHBREAK 352
419 #define QLOOPBREAK 353
420 #define QINNERBREAK 354
421 #define QSAFEBREAK 355
422 #define QINNERCONTINUE 356
423 #define QFALLTHROUGH 357
424 #define QLINTNOTREACHED 358
425 #define QLINTFALLTHROUGH 359
426 #define QLINTFALLTHRU 360
427 #define QARGSUSED 361
428 #define QPRINTFLIKE 362
429 #define QLINTPRINTFLIKE 363
430 #define QSCANFLIKE 364
431 #define QMESSAGELIKE 365
432 #define QNOTREACHED 366
434 #define QRESTRICT 368
435 #define QVOLATILE 369
437 #define QEXTENSION 371
441 #define QREGISTER 375
451 #define QUNCHECKED 385
452 #define QCHECKEDSTRICT 386
453 #define QCHECKMOD 387
459 #define QDEPENDENT 393
460 #define QRETURNED 394
463 #define QOBSERVER 397
467 #define QNEVEREXIT 401
468 #define QTRUEEXIT 402
469 #define QFALSEEXIT 403
472 #define QUNSIGNED 406
478 #define QABSTRACT 412
479 #define QNUMABSTRACT 413
480 #define QCONCRETE 414
482 #define QIMMUTABLE 416
483 #define QTRUENULL 417
484 #define QFALSENULL 418
485 #define QEXTERNAL 419
486 #define QREFCOUNTED 420
499 #define QINTEGRALTYPE 433
500 #define QUNSIGNEDINTEGRALTYPE 434
501 #define QSIGNEDINTEGRALTYPE 435
502 #define QNULLTERMINATED 436
503 #define QSETBUFFERSIZE 437
504 #define QSETSTRINGLENGTH 438
507 #define QTESTINRANGE 441
509 #define IDENTIFIER 443
510 #define NEW_IDENTIFIER 444
511 #define TYPE_NAME_OR_ID 445
512 #define CANNOTATION 446
513 #define CCONSTANT 447
514 #define ITER_NAME 448
515 #define ITER_ENDNAME 449
516 #define TYPE_NAME 450
517 #define METASTATE_NAME 451
522 /* Copy the first part of user declarations. */
529 ** Yacc/Bison grammar for extended ANSI C used by Splint.
531 ** original grammar by Nate Osgood ---
532 ** hacrat@catfish.lcs.mit.edu Mon Jun 14 13:06:32 1993
534 ** changes for Splint --- handle typedef names correctly
535 ** fix struct/union parsing bug (empty struct is accepted)
536 ** add productions to handle macros --- require
537 ** error correction --- main source of conflicts in grammar.
538 ** need to process initializations sequentially, L->R
540 ** production names are cryptic, so more productions fit on one line
542 ** conflicts: 87 shift/reduce, 18 reduce/reduce
543 ** most of these are due to handling macros
544 ** a few are due to handling type expressions
550 extern void yyerror (char *);
552 # include "splintMacros.nf"
554 # include "cscanner.h"
555 # include "cscannerHelp.h"
556 # include "cgrammar.h"
557 # include "exprChecks.h"
562 # define SHOWCSYM FALSE
565 ** This is necessary, or else when the bison-generated code #include's malloc.h,
566 ** there will be a parse error.
568 ** Unfortunately, it means the error checking on malloc, etc. is lost for allocations
569 ** in bison-generated files under Win32.
580 /* Enabling traces. */
585 /* Enabling verbose error messages. */
586 #ifdef YYERROR_VERBOSE
587 # undef YYERROR_VERBOSE
588 # define YYERROR_VERBOSE 1
590 # define YYERROR_VERBOSE 0
593 /* Enabling the token table. */
594 #ifndef YYTOKEN_TABLE
595 # define YYTOKEN_TABLE 0
598 #if ! defined cgrammar_YYSTYPE && ! defined cgrammar_YYSTYPE_IS_DECLARED
599 typedef union cgrammar_YYSTYPE
607 /*@dependent@*/ sRef sr;
610 /*@only@*/ functionClauseList funcclauselist;
611 /*@only@*/ functionClause funcclause;
612 /*@only@*/ flagSpec flagspec;
613 /*@only@*/ globalsClause globsclause;
614 /*@only@*/ modifiesClause modsclause;
615 /*@only@*/ warnClause warnclause;
616 /*@only@*/ stateClause stateclause;
617 /*@only@*/ pointers pointers;
618 /*@only@*/ functionConstraint fcnconstraint;
620 /*@only@*/ metaStateConstraint msconstraint;
621 /*@only@*/ metaStateSpecifier msspec;
622 /*@only@*/ metaStateExpression msexpr;
623 /*@observer@*/ metaStateInfo msinfo;
625 /*@only@*/ sRefList srlist;
626 /*@only@*/ globSet globset;
627 /*@only@*/ qtype qtyp;
628 /*@only@*/ cstring cname;
629 /*@observer@*/ annotationInfo annotation;
630 /*@only@*/ idDecl ntyp;
631 /*@only@*/ idDeclList ntyplist;
632 /*@only@*/ uentryList flist;
633 /*@owned@*/ uentryList entrylist;
634 /*@observer@*/ /*@dependent@*/ uentry entry;
635 /*@only@*/ uentry oentry;
636 /*@only@*/ exprNode expr;
637 /*@only@*/ enumNameList enumnamelist;
638 /*@only@*/ exprNodeList exprlist;
639 /*@only@*/ sRefSet srset;
640 /*@only@*/ cstringList cstringlist;
650 /* Line 193 of yacc.c. */
653 # define yystype cgrammar_YYSTYPE /* obsolescent; will be withdrawn */
654 # define cgrammar_YYSTYPE_IS_DECLARED 1
655 # define cgrammar_YYSTYPE_IS_TRIVIAL 1
660 /* Copy the second part of user declarations. */
663 /* Line 216 of yacc.c. */
671 typedef YYTYPE_UINT8 yytype_uint8;
673 typedef unsigned char yytype_uint8;
677 typedef YYTYPE_INT8 yytype_int8;
678 #elif (defined __STDC__ || defined __C99__FUNC__ \
679 || defined __cplusplus || defined _MSC_VER)
680 typedef signed char yytype_int8;
682 typedef short int yytype_int8;
686 typedef YYTYPE_UINT16 yytype_uint16;
688 typedef unsigned short int yytype_uint16;
692 typedef YYTYPE_INT16 yytype_int16;
694 typedef short int yytype_int16;
698 # ifdef __SIZE_TYPE__
699 # define YYSIZE_T __SIZE_TYPE__
700 # elif defined size_t
701 # define YYSIZE_T size_t
702 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
703 || defined __cplusplus || defined _MSC_VER)
704 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
705 # define YYSIZE_T size_t
707 # define YYSIZE_T unsigned int
711 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
716 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
717 # define YY_(msgid) dgettext ("bison-runtime", msgid)
721 # define YY_(msgid) msgid
725 /* Suppress unused-variable warnings by "using" E. */
726 #if ! defined lint || defined __GNUC__
727 # define YYUSE(e) ((void) (e))
729 # define YYUSE(e) /* empty */
732 /* Identity function, used to suppress warnings about constant conditions. */
736 #if (defined __STDC__ || defined __C99__FUNC__ \
737 || defined __cplusplus || defined _MSC_VER)
750 #if ! defined yyoverflow || YYERROR_VERBOSE
752 /* The parser invokes alloca or malloc; define the necessary symbols. */
754 # ifdef YYSTACK_USE_ALLOCA
755 # if YYSTACK_USE_ALLOCA
757 # define YYSTACK_ALLOC __builtin_alloca
758 # elif defined __BUILTIN_VA_ARG_INCR
759 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
761 # define YYSTACK_ALLOC __alloca
762 # elif defined _MSC_VER
763 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
764 # define alloca _alloca
766 # define YYSTACK_ALLOC alloca
767 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
768 || defined __cplusplus || defined _MSC_VER)
769 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
778 # ifdef YYSTACK_ALLOC
779 /* Pacify GCC's `empty if-body' warning. */
780 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
781 # ifndef YYSTACK_ALLOC_MAXIMUM
782 /* The OS might guarantee only one guard page at the bottom of the stack,
783 and a page size can be as small as 4096 bytes. So we cannot safely
784 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
785 to allow for a few compiler-allocated temporary stack slots. */
786 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
789 # define YYSTACK_ALLOC YYMALLOC
790 # define YYSTACK_FREE YYFREE
791 # ifndef YYSTACK_ALLOC_MAXIMUM
792 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
794 # if (defined __cplusplus && ! defined _STDLIB_H \
795 && ! ((defined YYMALLOC || defined malloc) \
796 && (defined YYFREE || defined free)))
797 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
803 # define YYMALLOC malloc
804 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
805 || defined __cplusplus || defined _MSC_VER)
806 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
811 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
812 || defined __cplusplus || defined _MSC_VER)
813 void free (void *); /* INFRINGES ON USER NAME SPACE */
817 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
820 #if (! defined yyoverflow \
821 && (! defined __cplusplus \
822 || (defined cgrammar_YYSTYPE_IS_TRIVIAL && cgrammar_YYSTYPE_IS_TRIVIAL)))
824 /* A type that is properly aligned for any stack member. */
828 cgrammar_YYSTYPE yyvs;
831 /* The size of the maximum gap between one aligned stack and the next. */
832 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
834 /* The size of an array large to enough to hold all stacks, each with
836 # define YYSTACK_BYTES(N) \
837 ((N) * (sizeof (yytype_int16) + sizeof (cgrammar_YYSTYPE)) \
838 + YYSTACK_GAP_MAXIMUM)
840 /* Copy COUNT objects from FROM to TO. The source and destination do
843 # if defined __GNUC__ && 1 < __GNUC__
844 # define YYCOPY(To, From, Count) \
845 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
847 # define YYCOPY(To, From, Count) \
851 for (yyi = 0; yyi < (Count); yyi++) \
852 (To)[yyi] = (From)[yyi]; \
858 /* Relocate STACK from its old location to the new one. The
859 local variables YYSIZE and YYSTACKSIZE give the old and new number of
860 elements in the stack, and YYPTR gives the new location of the
861 stack. Advance YYPTR to a properly aligned location for the next
863 # define YYSTACK_RELOCATE(Stack) \
866 YYSIZE_T yynewbytes; \
867 YYCOPY (&yyptr->Stack, Stack, yysize); \
868 Stack = &yyptr->Stack; \
869 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
870 yyptr += yynewbytes / sizeof (*yyptr); \
876 /* YYFINAL -- State number of the termination state. */
878 /* YYLAST -- Last index in YYTABLE. */
881 /* YYNTOKENS -- Number of terminals. */
882 #define YYNTOKENS 197
883 /* YYNNTS -- Number of nonterminals. */
885 /* YYNRULES -- Number of rules. */
887 /* YYNRULES -- Number of states. */
888 #define YYNSTATES 1264
890 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
892 #define YYMAXUTOK 451
894 #define YYTRANSLATE(YYX) \
895 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
897 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
898 static const yytype_uint8 yytranslate[] =
900 0, 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, 2, 2, 2, 2,
924 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
925 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
926 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
927 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
928 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
929 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
930 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
931 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
932 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
933 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
934 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
935 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
936 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
937 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
938 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
939 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
940 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
941 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
942 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
943 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
944 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
949 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
951 static const yytype_uint16 yyprhs[] =
953 0, 0, 3, 4, 6, 8, 11, 14, 16, 18,
954 20, 22, 24, 26, 28, 37, 49, 50, 56, 58,
955 62, 64, 67, 69, 76, 80, 87, 88, 95, 96,
956 104, 106, 113, 117, 124, 125, 132, 133, 141, 142,
957 143, 154, 158, 162, 166, 169, 171, 175, 176, 181,
958 182, 187, 189, 193, 195, 197, 199, 203, 205, 209,
959 211, 213, 215, 217, 219, 221, 226, 232, 234, 236,
960 238, 240, 244, 249, 252, 256, 260, 264, 266, 268,
961 270, 271, 274, 275, 278, 280, 282, 284, 286, 288,
962 290, 292, 294, 296, 298, 300, 302, 305, 306, 311,
963 313, 316, 317, 321, 323, 327, 329, 331, 332, 335,
964 339, 342, 344, 348, 351, 352, 355, 357, 359, 361,
965 363, 365, 367, 369, 371, 373, 375, 377, 379, 381,
966 383, 385, 387, 391, 392, 396, 397, 398, 403, 406,
967 409, 411, 413, 415, 417, 421, 426, 429, 433, 437,
968 441, 443, 445, 447, 451, 453, 455, 459, 464, 467,
969 471, 475, 479, 480, 482, 484, 488, 490, 492, 494,
970 498, 500, 502, 503, 508, 510, 515, 519, 524, 531,
971 537, 543, 546, 549, 557, 559, 563, 565, 568, 571,
972 574, 577, 580, 583, 586, 589, 593, 595, 599, 604,
973 606, 616, 617, 621, 622, 623, 628, 631, 636, 639,
974 641, 646, 648, 652, 656, 660, 662, 666, 670, 672,
975 676, 680, 682, 686, 690, 694, 698, 700, 704, 708,
976 710, 714, 716, 720, 722, 726, 728, 729, 734, 736,
977 737, 742, 744, 745, 746, 753, 754, 755, 763, 765,
978 769, 773, 777, 781, 785, 789, 793, 797, 801, 805,
979 809, 811, 815, 816, 818, 820, 822, 824, 826, 830,
980 831, 841, 842, 854, 856, 858, 861, 862, 869, 870,
981 879, 884, 889, 890, 891, 894, 896, 901, 904, 906,
982 911, 912, 917, 919, 923, 928, 931, 934, 937, 939,
983 942, 946, 949, 951, 955, 957, 959, 961, 963, 965,
984 968, 969, 976, 979, 982, 983, 990, 991, 997, 999,
985 1001, 1003, 1005, 1007, 1009, 1011, 1013, 1015, 1017, 1019,
986 1021, 1023, 1025, 1027, 1029, 1031, 1033, 1035, 1037, 1039,
987 1041, 1043, 1045, 1047, 1049, 1051, 1053, 1055, 1057, 1059,
988 1061, 1063, 1065, 1067, 1069, 1071, 1073, 1075, 1077, 1079,
989 1081, 1083, 1085, 1087, 1089, 1091, 1093, 1095, 1097, 1099,
990 1101, 1103, 1106, 1109, 1112, 1115, 1118, 1121, 1124, 1127,
991 1130, 1133, 1136, 1139, 1142, 1145, 1148, 1151, 1154, 1157,
992 1160, 1163, 1166, 1169, 1172, 1175, 1178, 1181, 1185, 1187,
993 1192, 1194, 1198, 1201, 1204, 1207, 1208, 1210, 1211, 1212,
994 1213, 1226, 1227, 1228, 1240, 1247, 1254, 1255, 1256, 1267,
995 1268, 1269, 1280, 1286, 1292, 1297, 1302, 1303, 1305, 1307,
996 1310, 1316, 1320, 1323, 1328, 1330, 1334, 1339, 1346, 1347,
997 1356, 1361, 1363, 1367, 1370, 1372, 1377, 1379, 1381, 1384,
998 1387, 1389, 1392, 1394, 1397, 1399, 1401, 1403, 1405, 1408,
999 1410, 1413, 1416, 1420, 1422, 1426, 1428, 1432, 1434, 1436,
1000 1440, 1441, 1444, 1445, 1450, 1455, 1457, 1459, 1462, 1464,
1001 1466, 1469, 1470, 1472, 1478, 1481, 1485, 1489, 1494, 1498,
1002 1503, 1508, 1514, 1516, 1518, 1520, 1522, 1524, 1526, 1528,
1003 1530, 1532, 1534, 1539, 1541, 1543, 1545, 1548, 1551, 1559,
1004 1566, 1569, 1570, 1571, 1582, 1583, 1590, 1592, 1594, 1596,
1005 1598, 1601, 1603, 1605, 1607, 1609, 1611, 1613, 1615, 1619,
1006 1621, 1622, 1626, 1629, 1632, 1634, 1636, 1638, 1640, 1642,
1007 1644, 1646, 1648, 1650, 1652, 1656, 1658, 1660, 1662, 1665,
1008 1668, 1669, 1672, 1673, 1678, 1679, 1686, 1687, 1691, 1692,
1009 1698, 1702, 1705, 1709, 1710, 1711, 1712, 1713, 1714, 1716,
1010 1719, 1722, 1726, 1729, 1733, 1737, 1742, 1745, 1748, 1752,
1011 1756, 1761, 1763, 1766, 1768, 1771, 1773, 1777, 1779, 1784,
1012 1786, 1789, 1791, 1794, 1796, 1799, 1801, 1806, 1809, 1810,
1013 1816, 1817, 1824, 1829, 1834, 1835, 1836, 1847, 1849, 1850,
1014 1855, 1857, 1859, 1861, 1863, 1865, 1868, 1870, 1874, 1876,
1015 1881, 1885, 1890, 1897, 1903, 1909, 1912, 1915, 1917, 1920,
1016 1923, 1926, 1929, 1932, 1935, 1938, 1941, 1943, 1945, 1950,
1017 1952, 1956, 1960, 1964, 1966, 1970, 1974, 1976, 1980, 1984,
1018 1986, 1990, 1994, 1998, 2002, 2004, 2008, 2012, 2014, 2018,
1019 2020, 2024, 2026, 2030, 2032, 2036, 2038, 2042, 2044, 2045,
1020 2046, 2053, 2054, 2055, 2063, 2065, 2069, 2073, 2077, 2081,
1021 2085, 2089, 2093, 2097, 2101, 2105, 2109, 2111, 2112, 2114,
1022 2117, 2125, 2128, 2131, 2139, 2146, 2149, 2153, 2156, 2160,
1023 2163, 2167, 2171, 2175, 2179, 2182, 2186, 2187, 2189, 2190,
1024 2192, 2194, 2196, 2198, 2200, 2202, 2204, 2206, 2208, 2213
1027 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
1028 static const yytype_int16 yyrhs[] =
1030 198, 0, -1, -1, 199, -1, 200, -1, 199, 200,
1031 -1, 261, 468, -1, 201, -1, 202, -1, 212, -1,
1032 215, -1, 303, -1, 18, -1, 1, -1, 77, 347,
1033 361, 371, 361, 468, 312, 91, -1, 77, 347, 361,
1034 371, 361, 23, 312, 319, 318, 468, 91, -1, -1,
1035 78, 203, 204, 468, 91, -1, 205, -1, 347, 361,
1036 205, -1, 209, -1, 375, 209, -1, 471, -1, 312,
1037 24, 361, 371, 312, 25, -1, 206, 26, 27, -1,
1038 206, 26, 312, 302, 27, 361, -1, -1, 206, 313,
1039 24, 25, 207, 233, -1, -1, 206, 313, 24, 372,
1040 25, 208, 233, -1, 471, -1, 312, 24, 361, 205,
1041 312, 25, -1, 209, 26, 27, -1, 209, 26, 312,
1042 302, 27, 361, -1, -1, 209, 313, 24, 25, 210,
1043 234, -1, -1, 209, 313, 24, 372, 25, 211, 234,
1044 -1, -1, -1, 79, 471, 24, 372, 25, 213, 234,
1045 214, 468, 91, -1, 92, 403, 95, -1, 93, 389,
1046 95, -1, 94, 390, 95, -1, 92, 95, -1, 256,
1047 -1, 218, 23, 221, -1, -1, 230, 219, 22, 222,
1048 -1, -1, 5, 220, 22, 222, -1, 218, -1, 218,
1049 40, 221, -1, 196, -1, 187, -1, 56, -1, 225,
1050 223, 224, -1, 225, -1, 228, 227, 228, -1, 184,
1051 -1, 185, -1, 53, -1, 52, -1, 54, -1, 229,
1052 -1, 231, 24, 228, 25, -1, 24, 228, 232, 228,
1053 25, -1, 230, -1, 192, -1, 470, -1, 189, -1,
1054 230, 26, 27, -1, 230, 26, 192, 27, -1, 34,
1055 230, -1, 24, 230, 25, -1, 230, 28, 471, -1,
1056 230, 45, 471, -1, 226, -1, 33, -1, 32, -1,
1057 -1, 235, 233, -1, -1, 236, 234, -1, 237, -1,
1058 241, -1, 240, -1, 325, -1, 328, -1, 247, -1,
1059 238, -1, 242, -1, 240, -1, 326, -1, 330, -1,
1060 248, -1, 238, 91, -1, -1, 74, 239, 249, 468,
1061 -1, 76, -1, 242, 91, -1, -1, 75, 243, 262,
1062 -1, 245, -1, 245, 40, 244, -1, 189, -1, 247,
1063 -1, -1, 248, 91, -1, 73, 244, 442, -1, 73,
1064 244, -1, 250, -1, 249, 21, 250, -1, 251, 252,
1065 -1, -1, 253, 251, -1, 470, -1, 189, -1, 303,
1066 -1, 89, -1, 90, -1, 121, -1, 122, -1, 135,
1067 -1, 80, -1, 81, -1, 82, -1, 83, -1, 84,
1068 -1, 85, -1, 86, -1, 371, -1, 347, 361, 371,
1069 -1, -1, 19, 258, 420, -1, -1, -1, 259, 424,
1070 260, 413, -1, 216, 257, -1, 265, 468, -1, 468,
1071 -1, 470, -1, 189, -1, 190, -1, 263, 26, 27,
1072 -1, 263, 26, 264, 27, -1, 34, 263, -1, 24,
1073 263, 25, -1, 263, 28, 471, -1, 263, 45, 471,
1074 -1, 263, -1, 442, -1, 263, -1, 265, 21, 263,
1075 -1, 470, -1, 189, -1, 266, 26, 27, -1, 266,
1076 26, 264, 27, -1, 34, 266, -1, 24, 266, 25,
1077 -1, 266, 28, 471, -1, 266, 45, 471, -1, -1,
1078 268, -1, 266, -1, 268, 21, 266, -1, 470, -1,
1079 189, -1, 442, -1, 24, 300, 25, -1, 190, -1,
1080 116, -1, -1, 24, 270, 413, 25, -1, 269, -1,
1081 271, 26, 300, 27, -1, 271, 24, 25, -1, 271,
1082 24, 272, 25, -1, 71, 24, 299, 21, 383, 25,
1083 -1, 271, 361, 28, 471, 312, -1, 271, 361, 45,
1084 471, 312, -1, 271, 48, -1, 271, 49, -1, 24,
1085 383, 25, 19, 425, 469, 20, -1, 299, -1, 272,
1086 21, 299, -1, 271, -1, 48, 273, -1, 49, 273,
1087 -1, 29, 281, -1, 34, 281, -1, 33, 281, -1,
1088 32, 281, -1, 31, 281, -1, 30, 281, -1, 278,
1089 276, 279, -1, 275, -1, 274, 28, 471, -1, 274,
1090 26, 300, 27, -1, 471, -1, 47, 312, 24, 383,
1091 361, 21, 274, 25, 312, -1, -1, 312, 277, 280,
1092 -1, -1, -1, 42, 24, 383, 25, -1, 42, 273,
1093 -1, 43, 24, 383, 25, -1, 43, 273, -1, 273,
1094 -1, 24, 383, 25, 281, -1, 281, -1, 282, 34,
1095 281, -1, 282, 35, 281, -1, 282, 36, 281, -1,
1096 282, -1, 283, 33, 282, -1, 283, 32, 282, -1,
1097 283, -1, 284, 50, 283, -1, 284, 51, 283, -1,
1098 284, -1, 285, 37, 284, -1, 285, 38, 284, -1,
1099 285, 52, 284, -1, 285, 53, 284, -1, 285, -1,
1100 286, 54, 285, -1, 286, 55, 285, -1, 286, -1,
1101 287, 29, 286, -1, 287, -1, 288, 39, 287, -1,
1102 288, -1, 289, 40, 288, -1, 289, -1, -1, 290,
1103 56, 291, 289, -1, 290, -1, -1, 292, 57, 293,
1104 290, -1, 292, -1, -1, -1, 292, 41, 295, 22,
1105 296, 294, -1, -1, -1, 292, 41, 297, 300, 22,
1106 298, 294, -1, 294, -1, 273, 23, 299, -1, 273,
1107 58, 299, -1, 273, 59, 299, -1, 273, 60, 299,
1108 -1, 273, 61, 299, -1, 273, 62, 299, -1, 273,
1109 63, 299, -1, 273, 64, 299, -1, 273, 65, 299,
1110 -1, 273, 66, 299, -1, 273, 67, 299, -1, 299,
1111 -1, 300, 21, 299, -1, -1, 300, -1, 294, -1,
1112 304, -1, 72, -1, 310, -1, 347, 312, 18, -1,
1113 -1, 347, 361, 371, 361, 305, 312, 318, 18, 312,
1114 -1, -1, 347, 361, 371, 361, 23, 306, 312, 319,
1115 318, 18, 312, -1, 308, -1, 195, -1, 371, 361,
1116 -1, -1, 371, 361, 23, 309, 312, 319, -1, -1,
1117 46, 347, 311, 361, 316, 312, 246, 18, -1, 46,
1118 347, 312, 18, -1, 46, 314, 312, 18, -1, -1,
1119 -1, 315, 312, -1, 308, -1, 314, 21, 361, 308,
1120 -1, 317, 312, -1, 307, -1, 316, 21, 361, 307,
1121 -1, -1, 318, 21, 361, 308, -1, 299, -1, 19,
1122 323, 20, -1, 19, 323, 21, 20, -1, 320, 319,
1123 -1, 321, 23, -1, 471, 22, -1, 322, -1, 321,
1124 322, -1, 26, 302, 27, -1, 28, 471, -1, 319,
1125 -1, 323, 21, 319, -1, 117, -1, 115, -1, 118,
1126 -1, 119, -1, 120, -1, 326, 91, -1, -1, 254,
1127 361, 327, 268, 468, 312, -1, 330, 91, -1, 255,
1128 361, -1, -1, 329, 336, 331, 267, 468, 312, -1,
1129 -1, 329, 332, 333, 468, 312, -1, 224, -1, 217,
1130 -1, 144, -1, 145, -1, 147, -1, 148, -1, 146,
1131 -1, 129, -1, 132, -1, 130, -1, 131, -1, 137,
1132 -1, 138, -1, 123, -1, 125, -1, 124, -1, 133,
1133 -1, 134, -1, 126, -1, 128, -1, 141, -1, 143,
1134 -1, 156, -1, 155, -1, 140, -1, 142, -1, 181,
1135 -1, 191, -1, 139, -1, 154, -1, 153, -1, 164,
1136 -1, 162, -1, 163, -1, 157, -1, 158, -1, 159,
1137 -1, 160, -1, 161, -1, 165, -1, 166, -1, 169,
1138 -1, 170, -1, 167, -1, 168, -1, 152, -1, 149,
1139 -1, 150, -1, 151, -1, 121, -1, 122, -1, 135,
1140 -1, 136, -1, 112, 312, -1, 114, 312, -1, 113,
1141 312, -1, 343, 312, -1, 336, 312, -1, 334, 312,
1142 -1, 337, 312, -1, 335, 312, -1, 339, 312, -1,
1143 338, 312, -1, 340, 312, -1, 341, 312, -1, 171,
1144 361, -1, 173, 361, -1, 172, 361, -1, 174, 361,
1145 -1, 175, 361, -1, 176, 361, -1, 177, 361, -1,
1146 178, 361, -1, 179, 361, -1, 180, 361, -1, 472,
1147 361, -1, 352, 361, -1, 366, 361, -1, 342, 361,
1148 -1, 312, 347, 312, -1, 349, -1, 349, 88, 348,
1149 91, -1, 383, -1, 383, 21, 348, -1, 324, 350,
1150 -1, 344, 350, -1, 345, 350, -1, -1, 347, -1,
1151 -1, -1, -1, 361, 68, 471, 312, 19, 353, 417,
1152 362, 418, 354, 20, 351, -1, -1, -1, 361, 69,
1153 471, 312, 19, 355, 417, 362, 418, 356, 20, -1,
1154 361, 68, 471, 312, 19, 20, -1, 361, 69, 471,
1155 312, 19, 20, -1, -1, -1, 361, 68, 312, 19,
1156 357, 417, 362, 418, 358, 20, -1, -1, -1, 361,
1157 69, 312, 19, 359, 417, 362, 418, 360, 20, -1,
1158 361, 68, 312, 19, 20, -1, 361, 69, 312, 19,
1159 20, -1, 361, 68, 471, 361, -1, 361, 69, 471,
1160 361, -1, -1, 363, -1, 215, -1, 362, 363, -1,
1161 347, 361, 364, 312, 18, -1, 347, 312, 18, -1,
1162 365, 361, -1, 364, 21, 365, 361, -1, 371, -1,
1163 22, 312, 302, -1, 371, 22, 312, 302, -1, 361,
1164 70, 19, 368, 20, 312, -1, -1, 361, 70, 471,
1165 19, 367, 368, 20, 312, -1, 361, 70, 471, 312,
1166 -1, 369, -1, 368, 21, 369, -1, 368, 21, -1,
1167 471, -1, 471, 23, 312, 302, -1, 206, -1, 385,
1168 -1, 375, 195, -1, 375, 370, -1, 206, -1, 375,
1169 206, -1, 378, -1, 361, 376, -1, 112, -1, 113,
1170 -1, 114, -1, 373, -1, 374, 373, -1, 34, -1,
1171 34, 374, -1, 34, 375, -1, 34, 374, 375, -1,
1172 377, -1, 377, 21, 5, -1, 471, -1, 377, 21,
1173 471, -1, 5, -1, 379, -1, 379, 21, 5, -1,
1174 -1, 380, 382, -1, -1, 379, 21, 381, 382, -1,
1175 312, 347, 370, 312, -1, 471, -1, 346, -1, 346,
1176 384, -1, 375, -1, 386, -1, 375, 386, -1, -1,
1177 386, -1, 312, 24, 361, 384, 25, -1, 26, 27,
1178 -1, 26, 302, 27, -1, 386, 26, 27, -1, 386,
1179 26, 302, 27, -1, 312, 24, 25, -1, 312, 24,
1180 378, 25, -1, 386, 312, 24, 25, -1, 386, 312,
1181 24, 378, 25, -1, 405, -1, 407, -1, 410, -1,
1182 413, -1, 428, -1, 431, -1, 465, -1, 436, -1,
1183 467, -1, 388, -1, 96, 24, 300, 25, -1, 391,
1184 -1, 389, -1, 398, -1, 391, 398, -1, 435, 391,
1185 -1, 464, 404, 11, 24, 300, 25, 18, -1, 464,
1186 404, 11, 24, 300, 25, -1, 393, 398, -1, -1,
1187 -1, 13, 24, 301, 18, 301, 18, 394, 301, 395,
1188 25, -1, -1, 193, 415, 24, 397, 439, 25, -1,
1189 194, -1, 405, -1, 407, -1, 410, -1, 401, 424,
1190 -1, 401, -1, 402, -1, 428, -1, 399, -1, 392,
1191 -1, 396, -1, 467, -1, 24, 398, 25, -1, 1,
1192 -1, -1, 430, 400, 398, -1, 415, 19, -1, 419,
1193 20, -1, 404, -1, 423, -1, 405, -1, 407, -1,
1194 410, -1, 414, -1, 429, -1, 431, -1, 436, -1,
1195 466, -1, 24, 404, 25, -1, 467, -1, 388, -1,
1196 1, -1, 471, 22, -1, 111, 387, -1, -1, 102,
1197 406, -1, -1, 6, 302, 408, 22, -1, -1, 102,
1198 406, 6, 302, 409, 22, -1, -1, 7, 411, 22,
1199 -1, -1, 102, 406, 7, 412, 22, -1, 24, 413,
1200 25, -1, 415, 421, -1, 415, 422, 416, -1, -1,
1201 -1, -1, -1, -1, 20, -1, 111, 20, -1, 427,
1202 20, -1, 427, 111, 20, -1, 424, 20, -1, 424,
1203 111, 20, -1, 424, 427, 20, -1, 424, 427, 111,
1204 20, -1, 19, 420, -1, 19, 20, -1, 19, 423,
1205 20, -1, 19, 424, 20, -1, 19, 424, 427, 20,
1206 -1, 404, -1, 423, 404, -1, 303, -1, 424, 303,
1207 -1, 426, -1, 425, 21, 426, -1, 299, -1, 19,
1208 425, 469, 20, -1, 387, -1, 427, 387, -1, 18,
1209 -1, 300, 18, -1, 18, -1, 300, 18, -1, 300,
1210 -1, 8, 24, 300, 25, -1, 430, 387, -1, -1,
1211 430, 387, 9, 432, 387, -1, -1, 10, 24, 300,
1212 433, 25, 387, -1, 11, 24, 300, 25, -1, 11,
1213 24, 300, 25, -1, -1, -1, 193, 437, 415, 24,
1214 438, 439, 25, 413, 463, 416, -1, 441, -1, -1,
1215 439, 440, 21, 441, -1, 462, -1, 470, -1, 190,
1216 -1, 189, -1, 192, -1, 442, 192, -1, 442, -1,
1217 24, 300, 25, -1, 443, -1, 271, 26, 300, 27,
1218 -1, 271, 24, 25, -1, 271, 24, 272, 25, -1,
1219 71, 24, 299, 21, 383, 25, -1, 271, 361, 28,
1220 471, 312, -1, 271, 361, 45, 471, 312, -1, 271,
1221 48, -1, 271, 49, -1, 444, -1, 48, 273, -1,
1222 49, 273, -1, 29, 281, -1, 34, 281, -1, 33,
1223 281, -1, 32, 281, -1, 31, 281, -1, 30, 281,
1224 -1, 276, -1, 445, -1, 24, 383, 25, 281, -1,
1225 446, -1, 282, 34, 281, -1, 282, 35, 281, -1,
1226 282, 36, 281, -1, 447, -1, 283, 33, 282, -1,
1227 283, 32, 282, -1, 448, -1, 284, 50, 283, -1,
1228 284, 51, 283, -1, 449, -1, 285, 37, 284, -1,
1229 285, 38, 284, -1, 285, 52, 284, -1, 285, 53,
1230 284, -1, 450, -1, 286, 54, 285, -1, 286, 55,
1231 285, -1, 451, -1, 287, 29, 286, -1, 452, -1,
1232 288, 39, 287, -1, 453, -1, 289, 40, 288, -1,
1233 454, -1, 290, 56, 289, -1, 455, -1, 292, 57,
1234 290, -1, 456, -1, -1, -1, 292, 41, 458, 22,
1235 459, 294, -1, -1, -1, 292, 41, 460, 300, 22,
1236 461, 294, -1, 457, -1, 273, 23, 299, -1, 273,
1237 58, 299, -1, 273, 59, 299, -1, 273, 60, 299,
1238 -1, 273, 61, 299, -1, 273, 62, 299, -1, 273,
1239 63, 299, -1, 273, 64, 299, -1, 273, 65, 299,
1240 -1, 273, 66, 299, -1, 273, 67, 299, -1, 194,
1241 -1, -1, 12, -1, 434, 387, -1, 464, 387, 11,
1242 24, 300, 25, 18, -1, 393, 387, -1, 434, 404,
1243 -1, 464, 404, 11, 24, 300, 25, 18, -1, 464,
1244 404, 11, 24, 300, 25, -1, 393, 404, -1, 14,
1245 471, 18, -1, 15, 18, -1, 101, 15, 18, -1,
1246 16, 18, -1, 97, 16, 18, -1, 98, 16, 18,
1247 -1, 99, 16, 18, -1, 100, 16, 18, -1, 17,
1248 18, -1, 17, 300, 18, -1, -1, 18, -1, -1,
1249 21, -1, 188, -1, 189, -1, 193, -1, 194, -1,
1250 470, -1, 190, -1, 195, -1, 190, -1, 44, 24,
1251 300, 25, -1, 44, 24, 383, 25, -1
1254 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1255 static const yytype_uint16 yyrline[] =
1257 0, 327, 327, 329, 333, 334, 338, 339, 340, 341,
1258 342, 343, 344, 345, 349, 351, 356, 356, 365, 371,
1259 376, 377, 382, 383, 385, 387, 405, 404, 436, 435,
1260 465, 466, 468, 472, 490, 489, 502, 501, 516, 517,
1261 515, 524, 525, 526, 527, 531, 535, 540, 540, 545,
1262 545, 553, 554, 558, 564, 565, 569, 570, 574, 580,
1263 581, 585, 586, 587, 591, 592, 593, 599, 600, 604,
1264 606, 608, 610, 619, 621, 623, 625, 642, 646, 647,
1265 654, 655, 665, 666, 671, 672, 673, 674, 675, 676,
1266 680, 681, 682, 683, 684, 685, 689, 693, 693, 702,
1267 706, 711, 710, 725, 727, 732, 736, 737, 741, 745,
1268 751, 756, 757, 761, 765, 766, 770, 771, 772, 776,
1269 777, 778, 779, 780, 784, 785, 786, 787, 788, 792,
1270 793, 797, 804, 809, 809, 815, 816, 815, 826, 837,
1271 838, 842, 843, 844, 845, 846, 847, 848, 849, 850,
1272 854, 855, 860, 861, 865, 867, 869, 870, 871, 872,
1273 873, 875, 880, 881, 885, 891, 904, 905, 906, 907,
1274 908, 909, 910, 910, 916, 917, 918, 919, 920, 921,
1275 922, 923, 924, 925, 930, 931, 935, 936, 937, 938,
1276 939, 940, 941, 942, 943, 944, 945, 949, 950, 952,
1277 956, 962, 962, 966, 969, 973, 974, 975, 976, 982,
1278 983, 988, 989, 990, 991, 995, 996, 997, 1001, 1002,
1279 1003, 1007, 1008, 1009, 1010, 1011, 1015, 1016, 1017, 1021,
1280 1022, 1026, 1027, 1031, 1032, 1036, 1038, 1037, 1049, 1051,
1281 1050, 1063, 1065, 1067, 1064, 1069, 1070, 1069, 1075, 1076,
1282 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086,
1283 1090, 1091, 1095, 1096, 1100, 1106, 1107, 1108, 1112, 1127,
1284 1126, 1138, 1137, 1146, 1147, 1151, 1156, 1156, 1161, 1161,
1285 1164, 1165, 1169, 1173, 1177, 1181, 1182, 1186, 1190, 1191,
1286 1195, 1196, 1200, 1201, 1202, 1203, 1211, 1212, 1217, 1218,
1287 1222, 1223, 1227, 1229, 1239, 1240, 1241, 1242, 1243, 1247,
1288 1252, 1251, 1267, 1271, 1276, 1275, 1290, 1289, 1321, 1322,
1289 1326, 1327, 1328, 1329, 1330, 1334, 1335, 1336, 1337, 1341,
1290 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351,
1291 1352, 1353, 1354, 1355, 1356, 1357, 1361, 1362, 1366, 1367,
1292 1371, 1372, 1376, 1377, 1378, 1379, 1380, 1384, 1385, 1386,
1293 1387, 1388, 1389, 1393, 1394, 1395, 1396, 1400, 1401, 1402,
1294 1403, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415,
1295 1416, 1417, 1418, 1426, 1427, 1428, 1429, 1430, 1431, 1432,
1296 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1443, 1448, 1449,
1297 1454, 1455, 1460, 1461, 1462, 1466, 1467, 1471, 1478, 1480,
1298 1478, 1484, 1486, 1484, 1489, 1491, 1493, 1495, 1493, 1498,
1299 1500, 1498, 1503, 1505, 1507, 1508, 1512, 1516, 1517, 1518,
1300 1522, 1524, 1529, 1531, 1536, 1537, 1538, 1543, 1545, 1545,
1301 1547, 1551, 1553, 1555, 1559, 1564, 1572, 1573, 1574, 1580,
1302 1585, 1586, 1591, 1592, 1596, 1597, 1598, 1602, 1603, 1607,
1303 1608, 1609, 1610, 1614, 1615, 1619, 1620, 1624, 1625, 1626,
1304 1630, 1630, 1631, 1631, 1636, 1648, 1665, 1666, 1670, 1671,
1305 1672, 1676, 1677, 1681, 1683, 1684, 1686, 1687, 1689, 1691,
1306 1693, 1695, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709,
1307 1710, 1711, 1715, 1719, 1723, 1727, 1728, 1733, 1735, 1737,
1308 1739, 1745, 1745, 1744, 1753, 1752, 1756, 1760, 1761, 1762,
1309 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772,
1310 1776, 1776, 1783, 1787, 1791, 1792, 1796, 1797, 1798, 1799,
1311 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1811, 1812,
1312 1820, 1821, 1828, 1828, 1830, 1830, 1835, 1835, 1837, 1837,
1313 1842, 1843, 1848, 1852, 1856, 1860, 1864, 1868, 1872, 1873,
1314 1874, 1875, 1877, 1878, 1880, 1882, 1889, 1894, 1896, 1898,
1315 1900, 1905, 1906, 1910, 1911, 1915, 1916, 1920, 1921, 1925,
1316 1926, 1930, 1931, 1935, 1936, 1937, 1941, 1955, 1960, 1960,
1317 1965, 1965, 1970, 1976, 1980, 1981, 1980, 1991, 1992, 1992,
1318 1997, 1998, 1999, 2010, 2018, 2019, 2023, 2024, 2028, 2029,
1319 2030, 2031, 2032, 2034, 2035, 2036, 2037, 2041, 2042, 2043,
1320 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2054, 2055, 2059,
1321 2060, 2061, 2062, 2066, 2067, 2068, 2072, 2073, 2074, 2078,
1322 2079, 2080, 2081, 2082, 2086, 2087, 2088, 2092, 2093, 2097,
1323 2098, 2102, 2103, 2107, 2108, 2112, 2113, 2117, 2118, 2119,
1324 2118, 2121, 2122, 2121, 2127, 2128, 2129, 2130, 2131, 2132,
1325 2133, 2134, 2135, 2136, 2137, 2138, 2142, 2143, 2147, 2151,
1326 2153, 2155, 2160, 2161, 2163, 2165, 2169, 2170, 2171, 2173,
1327 2174, 2175, 2176, 2177, 2178, 2179, 2182, 2184, 2187, 2189,
1328 2193, 2197, 2198, 2199, 2200, 2201, 2205, 2206, 2207, 2208
1332 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1333 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1334 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1335 static const char *const yytname[] =
1337 "$end", "error", "$undefined", "BADTOK", "SKIPTOK", "CTOK_ELIPSIS",
1338 "CASE", "DEFAULT", "CIF", "CELSE", "SWITCH", "WHILE", "DO", "CFOR",
1339 "GOTO", "CONTINUE", "BREAK", "RETURN", "TSEMI", "TLBRACE", "TRBRACE",
1340 "TCOMMA", "TCOLON", "TASSIGN", "TLPAREN", "TRPAREN", "TLSQBR", "TRSQBR",
1341 "TDOT", "TAMPERSAND", "TEXCL", "TTILDE", "TMINUS", "TPLUS", "TMULT",
1342 "TDIV", "TPERCENT", "TLT", "TGT", "TCIRC", "TBAR", "TQUEST", "CSIZEOF",
1343 "CALIGNOF", "CTYPEOF", "ARROW_OP", "CTYPEDEF", "COFFSETOF", "INC_OP",
1344 "DEC_OP", "LEFT_OP", "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP",
1345 "AND_OP", "OR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN",
1346 "ADD_ASSIGN", "SUB_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN",
1347 "XOR_ASSIGN", "OR_ASSIGN", "CSTRUCT", "CUNION", "CENUM", "VA_ARG",
1348 "VA_DCL", "QWARN", "QGLOBALS", "QMODIFIES", "QNOMODS", "QCONSTANT",
1349 "QFUNCTION", "QITER", "QDEFINES", "QUSES", "QALLOCATES", "QSETS",
1350 "QRELEASES", "QPRECLAUSE", "QPOSTCLAUSE", "QINVARIANT", "QALT", "QUNDEF",
1351 "QKILLED", "QENDMACRO", "LLMACRO", "LLMACROITER", "LLMACROEND",
1352 "TENDMACRO", "QDREVEALSTATE", "QSWITCHBREAK", "QLOOPBREAK",
1353 "QINNERBREAK", "QSAFEBREAK", "QINNERCONTINUE", "QFALLTHROUGH",
1354 "QLINTNOTREACHED", "QLINTFALLTHROUGH", "QLINTFALLTHRU", "QARGSUSED",
1355 "QPRINTFLIKE", "QLINTPRINTFLIKE", "QSCANFLIKE", "QMESSAGELIKE",
1356 "QNOTREACHED", "QCONST", "QRESTRICT", "QVOLATILE", "QINLINE",
1357 "QEXTENSION", "QEXTERN", "QSTATIC", "QAUTO", "QREGISTER", "QOUT", "QIN",
1358 "QYIELD", "QONLY", "QTEMP", "QSHARED", "QREF", "QUNIQUE", "QCHECKED",
1359 "QUNCHECKED", "QCHECKEDSTRICT", "QCHECKMOD", "QKEEP", "QKEPT",
1360 "QPARTIAL", "QSPECIAL", "QOWNED", "QDEPENDENT", "QRETURNED", "QEXPOSED",
1361 "QNULL", "QOBSERVER", "QISNULL", "QEXITS", "QMAYEXIT", "QNEVEREXIT",
1362 "QTRUEEXIT", "QFALSEEXIT", "QLONG", "QSIGNED", "QUNSIGNED", "QSHORT",
1363 "QUNUSED", "QSEF", "QNOTNULL", "QRELNULL", "QABSTRACT", "QNUMABSTRACT",
1364 "QCONCRETE", "QMUTABLE", "QIMMUTABLE", "QTRUENULL", "QFALSENULL",
1365 "QEXTERNAL", "QREFCOUNTED", "QREFS", "QNEWREF", "QTEMPREF", "QKILLREF",
1366 "QRELDEF", "CGCHAR", "CBOOL", "CINT", "CGFLOAT", "CDOUBLE", "CVOID",
1367 "QANYTYPE", "QINTEGRALTYPE", "QUNSIGNEDINTEGRALTYPE",
1368 "QSIGNEDINTEGRALTYPE", "QNULLTERMINATED", "QSETBUFFERSIZE",
1369 "QSETSTRINGLENGTH", "QMAXSET", "QMAXREAD", "QTESTINRANGE", "TCAND",
1370 "IDENTIFIER", "NEW_IDENTIFIER", "TYPE_NAME_OR_ID", "CANNOTATION",
1371 "CCONSTANT", "ITER_NAME", "ITER_ENDNAME", "TYPE_NAME", "METASTATE_NAME",
1372 "$accept", "file", "externalDefs", "externalDef", "constantDecl",
1373 "fcnDecl", "@1", "plainFcn", "plainNamedDecl", "namedDeclBase", "@2",
1374 "@3", "plainNamedDeclBase", "@4", "@5", "iterDecl", "@6", "@7",
1375 "macroDef", "fcnDefHdr", "metaStateConstraint", "metaStateSpecifier",
1376 "@8", "@9", "metaStateExpression", "metaStateName",
1377 "constraintSeperator", "BufConstraintList", "BufConstraint",
1378 "bufferModifier", "relationalOp", "BufConstraintExpr",
1379 "BufConstraintTerm", "BufConstraintSrefExpr", "BufUnaryOp",
1380 "BufBinaryOp", "functionClauses", "functionClausesPlain",
1381 "functionClause", "functionClausePlain", "globalsClause",
1382 "globalsClausePlain", "@10", "nomodsClause", "modifiesClause",
1383 "modifiesClausePlain", "@11", "flagSpec", "flagId", "optWarnClause",
1384 "warnClause", "warnClausePlain", "globIdList", "globIdListExpr",
1385 "optGlobQuals", "globId", "globQual", "stateTag", "conditionTag",
1386 "fcnDefHdrAux", "fcnBody", "@12", "@13", "@14", "fcnDef", "locModifies",
1387 "modListExpr", "mExpr", "modList", "specClauseListExpr",
1388 "optSpecClauseList", "specClauseList", "primaryExpr", "@15",
1389 "postfixExpr", "argumentExprList", "unaryExpr", "fieldDesignator",
1390 "offsetofExpr", "sizeofExpr", "@16", "processSizeof", "endprocessSizeof",
1391 "sizeofExprAux", "castExpr", "timesExpr", "plusExpr", "shiftExpr",
1392 "relationalExpr", "equalityExpr", "bitandExpr", "xorExpr", "bitorExpr",
1393 "andExpr", "@17", "orExpr", "@18", "conditionalExpr", "@19", "@20",
1394 "@21", "@22", "assignExpr", "expr", "optExpr", "constantExpr",
1395 "initializer", "instanceDecl", "@23", "@24", "namedInitializerType",
1396 "namedInitializer", "@25", "typeDecl", "@26", "IsType", "PushType",
1397 "namedInitializerList", "namedInitializerListAux",
1398 "namedInitializerTypeList", "namedInitializerTypeListAux",
1399 "optDeclarators", "init", "designation", "designatorList", "designator",
1400 "initList", "storageSpecifier", "stateClause", "stateClausePlain", "@27",
1401 "conditionClause", "startConditionClause", "conditionClausePlain", "@28",
1402 "@29", "functionConstraint", "exitsQualifier", "checkQualifier",
1403 "stateQualifier", "paramQualifier", "visibilityQualifier",
1404 "returnQualifier", "typedefQualifier", "refcountQualifier",
1405 "typeModifier", "definedQualifier", "typeQualifier", "typeSpecifier",
1406 "completeType", "completeTypeSpecifier", "altType",
1407 "completeTypeSpecifierAux", "optCompleteType", "optStructInvariant",
1408 "suSpc", "@30", "@31", "@32", "@33", "@34", "@35", "@36", "@37",
1409 "NotType", "structDeclList", "structDecl", "structNamedDeclList",
1410 "structNamedDecl", "enumSpc", "@38", "enumeratorList", "enumerator",
1411 "optNamedDecl", "namedDecl", "genericParamList", "innerMods",
1412 "innerModsList", "pointers", "paramIdList", "idList", "paramTypeList",
1413 "paramList", "@39", "@40", "paramDecl", "typeExpression", "abstractDecl",
1414 "optAbstractDeclBase", "abstractDeclBase", "stmt", "debugStmt",
1415 "iterBody", "endBody", "iterDefStmtList", "iterDefIterationStmt",
1416 "forPred", "@41", "@42", "partialIterStmt", "@43", "iterDefStmt",
1417 "iterSelectionStmt", "@44", "openScope", "closeScope", "macroBody",
1418 "stmtErr", "labeledStmt", "optExtraFallThroughs", "caseStmt", "@45",
1419 "@46", "defaultStmt", "@47", "@48", "compoundStmt", "compoundStmtErr",
1420 "CreateInnerScope", "DeleteInnerScope", "CreateStructInnerScope",
1421 "DeleteStructInnerScope", "DeleteInnerScopeSafe", "compoundStmtRest",
1422 "compoundStmtAux", "compoundStmtAuxErr", "stmtListErr",
1423 "initializerList", "typeInitializerList", "typeInitializer", "stmtList",
1424 "expressionStmt", "expressionStmtErr", "ifPred", "selectionStmt", "@49",
1425 "@50", "whilePred", "iterWhilePred", "iterStmt", "@51", "@52",
1426 "iterArgList", "@53", "iterArgExpr", "cconstantExpr", "primaryIterExpr",
1427 "postfixIterExpr", "unaryIterExpr", "castIterExpr", "timesIterExpr",
1428 "plusIterExpr", "shiftIterExpr", "relationalIterExpr",
1429 "equalityIterExpr", "bitandIterExpr", "xorIterExpr", "bitorIterExpr",
1430 "andIterExpr", "orIterExpr", "conditionalIterExpr", "@54", "@55", "@56",
1431 "@57", "assignIterExpr", "endIter", "doHeader", "iterationStmt",
1432 "iterationStmtErr", "jumpStmt", "optSemi", "optComma", "id", "newId",
1438 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1440 static const yytype_uint16 yytoknum[] =
1442 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1443 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1444 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1445 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1446 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1447 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1448 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1449 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1450 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1451 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1452 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1453 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1454 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1455 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1456 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1457 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1458 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1459 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1460 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1461 445, 446, 447, 448, 449, 450, 451
1465 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1466 static const yytype_uint16 yyr1[] =
1468 0, 197, 198, 198, 199, 199, 200, 200, 200, 200,
1469 200, 200, 200, 200, 201, 201, 203, 202, 204, 204,
1470 205, 205, 206, 206, 206, 206, 207, 206, 208, 206,
1471 209, 209, 209, 209, 210, 209, 211, 209, 213, 214,
1472 212, 215, 215, 215, 215, 216, 217, 219, 218, 220,
1473 218, 221, 221, 222, 223, 223, 224, 224, 225, 226,
1474 226, 227, 227, 227, 228, 228, 228, 229, 229, 230,
1475 230, 230, 230, 230, 230, 230, 230, 231, 232, 232,
1476 233, 233, 234, 234, 235, 235, 235, 235, 235, 235,
1477 236, 236, 236, 236, 236, 236, 237, 239, 238, 240,
1478 241, 243, 242, 244, 244, 245, 246, 246, 247, 248,
1479 248, 249, 249, 250, 251, 251, 252, 252, 252, 253,
1480 253, 253, 253, 253, 254, 254, 254, 254, 254, 255,
1481 255, 256, 256, 258, 257, 259, 260, 257, 261, 262,
1482 262, 263, 263, 263, 263, 263, 263, 263, 263, 263,
1483 264, 264, 265, 265, 266, 266, 266, 266, 266, 266,
1484 266, 266, 267, 267, 268, 268, 269, 269, 269, 269,
1485 269, 269, 270, 269, 271, 271, 271, 271, 271, 271,
1486 271, 271, 271, 271, 272, 272, 273, 273, 273, 273,
1487 273, 273, 273, 273, 273, 273, 273, 274, 274, 274,
1488 275, 277, 276, 278, 279, 280, 280, 280, 280, 281,
1489 281, 282, 282, 282, 282, 283, 283, 283, 284, 284,
1490 284, 285, 285, 285, 285, 285, 286, 286, 286, 287,
1491 287, 288, 288, 289, 289, 290, 291, 290, 292, 293,
1492 292, 294, 295, 296, 294, 297, 298, 294, 299, 299,
1493 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
1494 300, 300, 301, 301, 302, 303, 303, 303, 304, 305,
1495 304, 306, 304, 307, 307, 308, 309, 308, 311, 310,
1496 310, 310, 312, 313, 314, 315, 315, 316, 317, 317,
1497 318, 318, 319, 319, 319, 319, 320, 320, 321, 321,
1498 322, 322, 323, 323, 324, 324, 324, 324, 324, 325,
1499 327, 326, 328, 329, 331, 330, 332, 330, 333, 333,
1500 334, 334, 334, 334, 334, 335, 335, 335, 335, 336,
1501 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
1502 336, 336, 336, 336, 336, 336, 337, 337, 338, 338,
1503 339, 339, 340, 340, 340, 340, 340, 341, 341, 341,
1504 341, 341, 341, 342, 342, 342, 342, 343, 343, 343,
1505 343, 344, 344, 344, 344, 344, 344, 344, 344, 344,
1506 344, 344, 344, 345, 345, 345, 345, 345, 345, 345,
1507 345, 345, 345, 345, 345, 345, 345, 346, 347, 347,
1508 348, 348, 349, 349, 349, 350, 350, 351, 353, 354,
1509 352, 355, 356, 352, 352, 352, 357, 358, 352, 359,
1510 360, 352, 352, 352, 352, 352, 361, 362, 362, 362,
1511 363, 363, 364, 364, 365, 365, 365, 366, 367, 366,
1512 366, 368, 368, 368, 369, 369, 370, 370, 370, 370,
1513 371, 371, 372, 372, 373, 373, 373, 374, 374, 375,
1514 375, 375, 375, 376, 376, 377, 377, 378, 378, 378,
1515 380, 379, 381, 379, 382, 382, 383, 383, 384, 384,
1516 384, 385, 385, 386, 386, 386, 386, 386, 386, 386,
1517 386, 386, 387, 387, 387, 387, 387, 387, 387, 387,
1518 387, 387, 388, 389, 390, 391, 391, 392, 392, 392,
1519 392, 394, 395, 393, 397, 396, 396, 398, 398, 398,
1520 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
1521 400, 399, 401, 402, 403, 403, 404, 404, 404, 404,
1522 404, 404, 404, 404, 404, 404, 404, 404, 405, 405,
1523 406, 406, 408, 407, 409, 407, 411, 410, 412, 410,
1524 413, 413, 414, 415, 416, 417, 418, 419, 420, 420,
1525 420, 420, 420, 420, 420, 420, 421, 422, 422, 422,
1526 422, 423, 423, 424, 424, 425, 425, 426, 426, 427,
1527 427, 428, 428, 429, 429, 429, 430, 431, 432, 431,
1528 433, 431, 434, 435, 437, 438, 436, 439, 440, 439,
1529 441, 441, 441, 441, 442, 442, 443, 443, 444, 444,
1530 444, 444, 444, 444, 444, 444, 444, 445, 445, 445,
1531 445, 445, 445, 445, 445, 445, 445, 446, 446, 447,
1532 447, 447, 447, 448, 448, 448, 449, 449, 449, 450,
1533 450, 450, 450, 450, 451, 451, 451, 452, 452, 453,
1534 453, 454, 454, 455, 455, 456, 456, 457, 458, 459,
1535 457, 460, 461, 457, 462, 462, 462, 462, 462, 462,
1536 462, 462, 462, 462, 462, 462, 463, 463, 464, 465,
1537 465, 465, 466, 466, 466, 466, 467, 467, 467, 467,
1538 467, 467, 467, 467, 467, 467, 468, 468, 469, 469,
1539 470, 471, 471, 471, 471, 471, 472, 472, 472, 472
1542 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1543 static const yytype_uint8 yyr2[] =
1545 0, 2, 0, 1, 1, 2, 2, 1, 1, 1,
1546 1, 1, 1, 1, 8, 11, 0, 5, 1, 3,
1547 1, 2, 1, 6, 3, 6, 0, 6, 0, 7,
1548 1, 6, 3, 6, 0, 6, 0, 7, 0, 0,
1549 10, 3, 3, 3, 2, 1, 3, 0, 4, 0,
1550 4, 1, 3, 1, 1, 1, 3, 1, 3, 1,
1551 1, 1, 1, 1, 1, 4, 5, 1, 1, 1,
1552 1, 3, 4, 2, 3, 3, 3, 1, 1, 1,
1553 0, 2, 0, 2, 1, 1, 1, 1, 1, 1,
1554 1, 1, 1, 1, 1, 1, 2, 0, 4, 1,
1555 2, 0, 3, 1, 3, 1, 1, 0, 2, 3,
1556 2, 1, 3, 2, 0, 2, 1, 1, 1, 1,
1557 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1558 1, 1, 3, 0, 3, 0, 0, 4, 2, 2,
1559 1, 1, 1, 1, 3, 4, 2, 3, 3, 3,
1560 1, 1, 1, 3, 1, 1, 3, 4, 2, 3,
1561 3, 3, 0, 1, 1, 3, 1, 1, 1, 3,
1562 1, 1, 0, 4, 1, 4, 3, 4, 6, 5,
1563 5, 2, 2, 7, 1, 3, 1, 2, 2, 2,
1564 2, 2, 2, 2, 2, 3, 1, 3, 4, 1,
1565 9, 0, 3, 0, 0, 4, 2, 4, 2, 1,
1566 4, 1, 3, 3, 3, 1, 3, 3, 1, 3,
1567 3, 1, 3, 3, 3, 3, 1, 3, 3, 1,
1568 3, 1, 3, 1, 3, 1, 0, 4, 1, 0,
1569 4, 1, 0, 0, 6, 0, 0, 7, 1, 3,
1570 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1571 1, 3, 0, 1, 1, 1, 1, 1, 3, 0,
1572 9, 0, 11, 1, 1, 2, 0, 6, 0, 8,
1573 4, 4, 0, 0, 2, 1, 4, 2, 1, 4,
1574 0, 4, 1, 3, 4, 2, 2, 2, 1, 2,
1575 3, 2, 1, 3, 1, 1, 1, 1, 1, 2,
1576 0, 6, 2, 2, 0, 6, 0, 5, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1581 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1582 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1583 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1584 2, 2, 2, 2, 2, 2, 2, 3, 1, 4,
1585 1, 3, 2, 2, 2, 0, 1, 0, 0, 0,
1586 12, 0, 0, 11, 6, 6, 0, 0, 10, 0,
1587 0, 10, 5, 5, 4, 4, 0, 1, 1, 2,
1588 5, 3, 2, 4, 1, 3, 4, 6, 0, 8,
1589 4, 1, 3, 2, 1, 4, 1, 1, 2, 2,
1590 1, 2, 1, 2, 1, 1, 1, 1, 2, 1,
1591 2, 2, 3, 1, 3, 1, 3, 1, 1, 3,
1592 0, 2, 0, 4, 4, 1, 1, 2, 1, 1,
1593 2, 0, 1, 5, 2, 3, 3, 4, 3, 4,
1594 4, 5, 1, 1, 1, 1, 1, 1, 1, 1,
1595 1, 1, 4, 1, 1, 1, 2, 2, 7, 6,
1596 2, 0, 0, 10, 0, 6, 1, 1, 1, 1,
1597 2, 1, 1, 1, 1, 1, 1, 1, 3, 1,
1598 0, 3, 2, 2, 1, 1, 1, 1, 1, 1,
1599 1, 1, 1, 1, 3, 1, 1, 1, 2, 2,
1600 0, 2, 0, 4, 0, 6, 0, 3, 0, 5,
1601 3, 2, 3, 0, 0, 0, 0, 0, 1, 2,
1602 2, 3, 2, 3, 3, 4, 2, 2, 3, 3,
1603 4, 1, 2, 1, 2, 1, 3, 1, 4, 1,
1604 2, 1, 2, 1, 2, 1, 4, 2, 0, 5,
1605 0, 6, 4, 4, 0, 0, 10, 1, 0, 4,
1606 1, 1, 1, 1, 1, 2, 1, 3, 1, 4,
1607 3, 4, 6, 5, 5, 2, 2, 1, 2, 2,
1608 2, 2, 2, 2, 2, 2, 1, 1, 4, 1,
1609 3, 3, 3, 1, 3, 3, 1, 3, 3, 1,
1610 3, 3, 3, 3, 1, 3, 3, 1, 3, 1,
1611 3, 1, 3, 1, 3, 1, 3, 1, 0, 0,
1612 6, 0, 0, 7, 1, 3, 3, 3, 3, 3,
1613 3, 3, 3, 3, 3, 3, 1, 0, 1, 2,
1614 7, 2, 2, 7, 6, 2, 3, 2, 3, 2,
1615 3, 3, 3, 3, 2, 3, 0, 1, 0, 1,
1616 1, 1, 1, 1, 1, 1, 1, 1, 4, 4
1619 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1620 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1621 means the default is an error. */
1622 static const yytype_uint16 yydefact[] =
1624 0, 13, 12, 459, 0, 426, 266, 426, 16, 0,
1625 0, 0, 0, 282, 282, 282, 305, 304, 306, 307,
1626 308, 367, 368, 331, 333, 332, 336, 337, 325, 327,
1627 328, 326, 334, 335, 369, 370, 329, 330, 346, 342,
1628 338, 343, 339, 320, 321, 324, 322, 323, 364, 365,
1629 366, 363, 348, 347, 341, 340, 352, 353, 354, 355,
1630 356, 350, 351, 349, 357, 358, 361, 362, 359, 360,
1631 426, 426, 426, 426, 426, 426, 426, 426, 426, 426,
1632 344, 710, 711, 715, 345, 712, 713, 716, 0, 0,
1633 4, 7, 8, 450, 9, 10, 135, 45, 706, 11,
1634 265, 267, 0, 405, 282, 282, 282, 282, 282, 282,
1635 282, 282, 426, 282, 405, 405, 426, 398, 426, 0,
1636 426, 131, 282, 714, 22, 426, 454, 455, 456, 457,
1637 460, 461, 282, 285, 282, 282, 278, 426, 717, 426,
1638 426, 715, 0, 547, 203, 556, 0, 0, 0, 688,
1639 0, 0, 0, 0, 203, 593, 0, 203, 203, 203,
1640 203, 203, 203, 282, 203, 203, 0, 44, 0, 0,
1641 0, 0, 0, 0, 550, 203, 171, 167, 170, 614,
1642 604, 174, 186, 209, 196, 282, 211, 215, 218, 221,
1643 226, 229, 231, 233, 235, 238, 241, 248, 260, 595,
1644 546, 0, 0, 581, 536, 537, 538, 539, 0, 0,
1645 540, 203, 541, 0, 542, 168, 0, 543, 545, 166,
1646 0, 529, 0, 591, 0, 563, 516, 0, 0, 0,
1647 525, 0, 526, 505, 524, 521, 522, 517, 518, 519,
1648 0, 0, 523, 530, 0, 0, 527, 504, 0, 371,
1649 373, 372, 383, 385, 384, 386, 387, 388, 389, 390,
1650 391, 392, 1, 5, 282, 0, 133, 138, 426, 707,
1651 6, 426, 406, 402, 376, 378, 375, 377, 380, 379,
1652 381, 382, 396, 374, 403, 404, 0, 282, 282, 394,
1653 282, 282, 0, 395, 451, 393, 458, 462, 282, 167,
1654 170, 0, 426, 476, 0, 166, 426, 0, 284, 426,
1655 0, 275, 282, 706, 18, 20, 0, 426, 282, 30,
1656 470, 209, 264, 552, 0, 203, 203, 203, 203, 0,
1657 697, 699, 704, 0, 563, 0, 0, 0, 189, 194,
1658 193, 192, 191, 190, 0, 282, 187, 188, 203, 203,
1659 0, 0, 0, 0, 0, 550, 0, 282, 549, 501,
1660 203, 492, 493, 494, 495, 0, 496, 497, 203, 499,
1661 203, 498, 500, 563, 203, 203, 181, 182, 0, 203,
1662 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
1663 204, 201, 203, 203, 203, 203, 203, 203, 203, 203,
1664 203, 203, 203, 203, 203, 203, 203, 203, 236, 245,
1665 239, 594, 203, 695, 41, 0, 564, 582, 597, 692,
1666 615, 0, 548, 203, 0, 0, 0, 592, 42, 506,
1667 510, 583, 426, 520, 532, 533, 0, 0, 0, 43,
1668 24, 203, 470, 426, 426, 282, 268, 132, 0, 400,
1669 0, 426, 0, 426, 0, 282, 0, 718, 282, 203,
1670 0, 478, 477, 479, 719, 282, 281, 282, 280, 276,
1671 426, 0, 282, 0, 426, 282, 21, 467, 0, 0,
1672 452, 468, 282, 0, 557, 0, 600, 0, 263, 0,
1673 696, 705, 563, 0, 169, 203, 544, 282, 0, 0,
1674 0, 700, 701, 702, 703, 698, 551, 203, 558, 0,
1675 691, 426, 561, 689, 0, 0, 176, 0, 184, 0,
1676 0, 0, 249, 250, 251, 252, 253, 254, 255, 256,
1677 257, 258, 259, 195, 0, 212, 213, 214, 217, 216,
1678 219, 220, 222, 223, 224, 225, 227, 228, 230, 232,
1679 234, 203, 0, 203, 203, 261, 577, 717, 581, 0,
1680 426, 562, 598, 0, 0, 528, 514, 282, 584, 531,
1681 0, 0, 26, 0, 568, 203, 589, 134, 426, 203,
1682 563, 282, 269, 399, 282, 416, 0, 424, 419, 0,
1683 425, 0, 441, 444, 438, 440, 397, 484, 0, 470,
1684 480, 203, 0, 286, 274, 288, 273, 282, 282, 282,
1685 706, 17, 32, 203, 470, 282, 19, 453, 463, 465,
1686 38, 472, 426, 471, 475, 553, 596, 0, 602, 203,
1687 173, 203, 210, 426, 0, 282, 502, 554, 0, 560,
1688 576, 0, 605, 203, 177, 175, 282, 282, 203, 203,
1689 202, 237, 243, 0, 240, 578, 579, 203, 203, 203,
1690 603, 203, 426, 203, 426, 80, 28, 569, 572, 203,
1691 203, 570, 203, 590, 137, 0, 271, 282, 401, 422,
1692 565, 408, 423, 565, 411, 282, 443, 282, 0, 485,
1693 488, 282, 0, 486, 0, 470, 426, 107, 287, 203,
1694 282, 282, 0, 34, 0, 282, 0, 82, 469, 282,
1695 481, 203, 0, 203, 587, 708, 585, 0, 0, 0,
1696 559, 203, 203, 185, 179, 180, 282, 206, 282, 208,
1697 203, 246, 580, 599, 0, 282, 203, 203, 203, 203,
1698 203, 203, 203, 203, 0, 167, 170, 186, 209, 636,
1699 215, 218, 221, 226, 229, 231, 233, 235, 238, 0,
1700 608, 607, 168, 618, 627, 637, 639, 643, 646, 649,
1701 654, 657, 659, 661, 663, 665, 667, 674, 610, 166,
1702 0, 25, 0, 97, 101, 99, 124, 125, 126, 127,
1703 128, 129, 130, 27, 80, 84, 0, 86, 85, 0,
1704 89, 0, 426, 426, 87, 0, 88, 316, 0, 80,
1705 573, 574, 203, 571, 23, 282, 290, 426, 414, 565,
1706 426, 415, 565, 437, 442, 203, 0, 0, 489, 487,
1707 490, 0, 282, 0, 106, 203, 203, 0, 292, 277,
1708 203, 0, 298, 0, 203, 0, 426, 82, 36, 0,
1709 464, 466, 39, 82, 90, 92, 91, 95, 93, 94,
1710 473, 446, 0, 282, 481, 447, 482, 601, 511, 708,
1711 203, 0, 0, 178, 555, 0, 608, 0, 0, 244,
1712 203, 694, 0, 0, 189, 194, 193, 192, 191, 190,
1713 187, 188, 203, 203, 203, 181, 182, 0, 203, 203,
1714 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
1715 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
1716 203, 203, 203, 203, 203, 203, 671, 203, 515, 0,
1717 509, 105, 110, 103, 114, 706, 81, 96, 100, 108,
1718 310, 313, 309, 0, 314, 312, 29, 575, 203, 0,
1719 428, 426, 426, 427, 426, 426, 426, 445, 282, 483,
1720 491, 289, 279, 302, 0, 0, 301, 295, 296, 299,
1721 297, 290, 14, 33, 35, 82, 31, 706, 83, 470,
1722 474, 448, 449, 203, 0, 586, 183, 0, 199, 0,
1723 563, 205, 207, 247, 693, 169, 203, 0, 176, 0,
1724 0, 0, 0, 675, 676, 677, 678, 679, 680, 681,
1725 682, 683, 684, 685, 212, 213, 214, 217, 216, 219,
1726 220, 222, 223, 224, 225, 227, 228, 230, 232, 234,
1727 664, 0, 203, 666, 203, 508, 109, 0, 119, 120,
1728 121, 122, 123, 706, 111, 426, 114, 0, 0, 142,
1729 143, 102, 152, 706, 140, 141, 0, 49, 0, 0,
1730 59, 60, 70, 68, 319, 0, 318, 57, 77, 0,
1731 64, 67, 0, 706, 69, 162, 290, 282, 426, 0,
1732 282, 429, 417, 426, 420, 426, 439, 293, 203, 300,
1733 706, 37, 0, 282, 512, 588, 282, 203, 0, 690,
1734 687, 210, 282, 177, 175, 282, 282, 669, 0, 609,
1735 104, 114, 98, 117, 113, 118, 116, 115, 0, 146,
1736 0, 0, 0, 0, 139, 0, 0, 155, 164, 706,
1737 154, 0, 0, 67, 0, 73, 0, 55, 54, 0,
1738 62, 61, 63, 0, 0, 0, 0, 0, 0, 282,
1739 706, 163, 0, 270, 282, 431, 282, 282, 426, 434,
1740 0, 409, 0, 412, 294, 303, 0, 40, 282, 0,
1741 200, 0, 197, 686, 564, 0, 179, 180, 203, 672,
1742 112, 147, 144, 150, 0, 151, 148, 149, 153, 0,
1743 158, 0, 0, 0, 0, 282, 0, 79, 78, 0,
1744 74, 0, 51, 46, 47, 56, 67, 58, 71, 0,
1745 75, 76, 0, 0, 317, 282, 282, 291, 203, 282,
1746 0, 432, 282, 418, 0, 421, 0, 15, 513, 198,
1747 606, 178, 670, 203, 145, 159, 156, 0, 160, 161,
1748 165, 311, 53, 50, 0, 0, 72, 48, 65, 315,
1749 272, 435, 426, 430, 203, 407, 413, 673, 157, 66,
1753 /* YYDEFGOTO[NTERM-NUM]. */
1754 static const yytype_int16 yydefgoto[] =
1756 -1, 88, 89, 90, 91, 92, 140, 313, 314, 93,
1757 665, 809, 315, 847, 975, 94, 707, 977, 950, 96,
1758 1064, 1202, 1147, 1131, 1203, 1243, 1139, 1066, 1067, 1068,
1759 1143, 1069, 1070, 1206, 1072, 1199, 793, 852, 794, 853,
1760 795, 854, 934, 855, 798, 856, 935, 932, 933, 833,
1761 800, 801, 1043, 1044, 1045, 1114, 1046, 802, 803, 97,
1762 267, 443, 268, 580, 98, 1051, 1183, 1184, 1053, 1128,
1763 1150, 1129, 181, 334, 182, 517, 183, 987, 184, 749,
1764 534, 185, 533, 650, 186, 187, 188, 189, 190, 191,
1765 192, 193, 194, 195, 551, 196, 554, 197, 552, 730,
1766 553, 880, 198, 227, 489, 323, 431, 100, 677, 815,
1767 605, 606, 609, 101, 309, 102, 265, 134, 135, 607,
1768 608, 949, 839, 840, 841, 842, 964, 103, 804, 858,
1769 1056, 806, 807, 859, 1075, 943, 1073, 104, 105, 106,
1770 107, 108, 109, 110, 111, 112, 113, 114, 115, 303,
1771 432, 448, 117, 273, 1263, 118, 819, 1224, 822, 1226,
1772 680, 1160, 683, 1162, 119, 952, 953, 1157, 1158, 120,
1773 688, 591, 592, 863, 137, 479, 129, 130, 122, 617,
1774 618, 480, 481, 482, 709, 623, 336, 827, 865, 463,
1775 358, 359, 228, 248, 229, 230, 360, 983, 1169, 232,
1776 661, 233, 234, 436, 235, 236, 202, 417, 361, 356,
1777 362, 483, 719, 363, 324, 638, 364, 207, 365, 561,
1778 817, 1082, 241, 577, 512, 416, 209, 578, 715, 716,
1779 579, 366, 210, 211, 367, 658, 627, 368, 244, 369,
1780 373, 722, 760, 929, 761, 215, 763, 764, 765, 766,
1781 767, 768, 769, 770, 771, 772, 773, 774, 775, 776,
1782 777, 1031, 1178, 1032, 1233, 778, 1174, 370, 371, 217,
1783 372, 270, 871, 305, 220, 125
1786 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1788 #define YYPACT_NINF -1033
1789 static const yytype_int16 yypact[] =
1791 2259, -1033, -1033, 357, 60, 5469, -1033, 6624, -1033, 677,
1792 1966, 3655, 3655, -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, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1798 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1799 -1033, -1033, -1033, 805, -1033, -1033, -1033, -1033, 118, 2441,
1800 -1033, -1033, -1033, 331, -1033, -1033, 87, -1033, 134, -1033,
1801 -1033, -1033, 101, 6210, -1033, -1033, -1033, -1033, -1033, -1033,
1802 -1033, -1033, -1033, -1033, 6210, 6210, 151, 57, -1033, 666,
1803 -1033, -1033, 677, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1804 357, -1033, 1900, -1033, 185, -1033, 151, -1033, -1033, -1033,
1805 5469, -1033, 210, -1033, 5716, -1033, 219, 230, 293, -1033,
1806 300, 677, 348, 362, 879, -1033, 2827, 5716, 5716, 5716,
1807 5716, 5716, 5716, -1033, 5748, 5748, 388, -1033, 395, 371,
1808 456, 463, 487, 417, 415, 4875, -1033, 500, 532, -1033,
1809 543, -1033, 652, 1193, -1033, -1033, -1033, 668, 145, 254,
1810 678, 474, 571, 569, 585, 579, 50, -1033, -1033, 55,
1811 -1033, 3458, 549, 560, -1033, -1033, -1033, -1033, 649, 3217,
1812 -1033, 4875, -1033, 3458, -1033, 501, 3458, -1033, -1033, 699,
1813 702, -1033, 690, -1033, 3022, 543, 704, 205, 656, 3611,
1814 -1033, 3655, -1033, -1033, -1033, 5934, -1033, -1033, -1033, -1033,
1815 740, 762, -1033, -1033, 3655, 3458, -1033, -1033, 669, -1033,
1816 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1817 -1033, -1033, -1033, -1033, 759, 765, -1033, -1033, 6486, -1033,
1818 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1819 -1033, -1033, -1033, -1033, -1033, -1033, 773, 995, -1033, -1033,
1820 677, 677, 14, -1033, 331, -1033, -1033, -1033, 5310, -1033,
1821 -1033, 94, 6624, 414, 777, -1033, -1033, 787, -1033, -1033,
1822 813, 827, 995, 134, -1033, 548, 798, -1033, 677, -1033,
1823 263, -1033, -1033, -1033, 814, 5716, 5716, 5716, 1299, 842,
1824 -1033, -1033, -1033, 346, 844, 593, 862, 867, -1033, -1033,
1825 -1033, -1033, -1033, -1033, 851, 5310, -1033, -1033, 5716, 5716,
1826 876, 926, 929, 938, 960, 415, 529, 5337, -1033, -1033,
1827 4875, -1033, -1033, -1033, -1033, 883, -1033, -1033, 4875, -1033,
1828 4875, -1033, -1033, -1033, 5641, 5716, -1033, -1033, 85, 5716,
1829 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716,
1830 -1033, -1033, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716,
1831 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, -1033, 892,
1832 -1033, -1033, 5716, -1033, -1033, 2632, -1033, -1033, 930, -1033,
1833 -1033, 958, -1033, 5716, 618, 972, 998, -1033, -1033, -1033,
1834 -1033, -1033, 151, 5934, -1033, -1033, 3655, 3261, 999, -1033,
1835 -1033, 5716, 368, 3808, 4959, 995, -1033, 384, 944, 1025,
1836 1030, 1033, 1036, 1033, 677, 1038, 475, -1033, -1033, 5652,
1837 1039, 567, -1033, 659, -1033, 995, -1033, 884, -1033, -1033,
1838 -1033, 973, 1049, 1041, -1033, 995, 548, -1033, 677, 1057,
1839 -1033, 1062, 677, 1064, -1033, 483, 1063, 562, 1063, 1072,
1840 -1033, -1033, 844, 1066, -1033, 5364, -1033, -1033, 1071, 1079,
1841 577, -1033, -1033, -1033, -1033, -1033, -1033, 5716, -1033, 1076,
1842 -1033, 3808, -1033, -1033, 1093, 1081, -1033, 638, -1033, 311,
1843 677, 677, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1844 -1033, -1033, -1033, -1033, 631, -1033, -1033, -1033, 668, 668,
1845 145, 145, 254, 254, 254, 254, 678, 678, 474, 571,
1846 569, 5716, 1086, 5716, 5716, -1033, -1033, 2174, -1033, 3414,
1847 3998, -1033, -1033, 1087, 692, -1033, -1033, 995, -1033, -1033,
1848 1100, 1101, -1033, 1102, -1033, 4378, -1033, -1033, 4188, 4422,
1849 844, -1033, 1106, -1033, -1033, 1110, 1113, -1033, 1115, 1114,
1850 -1033, 741, -1033, 1121, -1033, -1033, -1033, -1033, 1111, 626,
1851 659, 5684, 1123, -1033, -1033, -1033, -1033, 1116, -1033, -1033,
1852 310, -1033, -1033, 5716, 502, 995, -1033, -1033, 1128, -1033,
1853 -1033, 1145, 6624, -1033, -1033, -1033, -1033, 1127, -1033, 1299,
1854 -1033, 5385, -1033, -1033, 1134, -1033, -1033, -1033, 1133, -1033,
1855 -1033, 1136, -1033, 5716, -1033, -1033, -1033, -1033, 5775, 5819,
1856 -1033, 585, -1033, 750, 579, -1033, -1033, 4529, 4875, 5716,
1857 -1033, 5853, -1033, 5716, -1033, 1496, -1033, -1033, -1033, 4573,
1858 4680, -1033, 4724, -1033, -1033, 1131, -1033, -1033, -1033, -1033,
1859 -1033, 1138, -1033, -1033, 1142, -1033, 677, -1033, 677, -1033,
1860 -1033, 132, 1144, -1033, 1150, 98, -1033, 1088, -1033, 3549,
1861 -1033, -1033, 1152, -1033, 1147, -1033, 325, 1496, -1033, 677,
1862 925, 4875, 1164, 5385, -1033, 1165, -1033, 1169, 1173, 1182,
1863 -1033, 5716, 5853, -1033, -1033, -1033, 5310, -1033, 5310, -1033,
1864 5716, -1033, -1033, -1033, 698, 5310, 5716, 5716, 5716, 5716,
1865 5716, 5716, 5748, 5748, 1139, 712, 732, 739, 1489, -1033,
1866 983, 783, 802, 761, 909, 1176, 1167, 1168, 1151, 107,
1867 1185, -1033, 45, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1868 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, 758,
1869 775, -1033, 1037, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1870 -1033, -1033, -1033, -1033, 1496, -1033, 1146, -1033, -1033, 1148,
1871 -1033, 1149, -1033, -1033, -1033, 1153, -1033, 1313, 1155, 1496,
1872 -1033, -1033, 4831, -1033, -1033, -1033, -1033, 6348, -1033, -1033,
1873 6348, -1033, -1033, -1033, -1033, 5716, 966, 1200, -1033, -1033,
1874 -1033, 1202, 884, 1211, -1033, 3549, 5716, 677, -1033, -1033,
1875 3549, 519, -1033, 1225, 3549, 1157, -1033, 1496, -1033, 1208,
1876 -1033, -1033, -1033, 1496, -1033, -1033, -1033, -1033, -1033, -1033,
1877 -1033, 331, 1226, -1033, 1007, -1033, 659, -1033, -1033, 1165,
1878 3701, 1244, 677, -1033, -1033, 782, 1240, 1241, 1242, -1033,
1879 5716, 1250, 803, 1245, 804, 822, 824, 848, 855, 857,
1880 864, 880, 5716, 5673, 5716, 896, 908, 109, 5716, 5716,
1881 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716,
1882 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716,
1883 5716, 5716, 5716, 5716, 5716, 5716, 1252, 5716, -1033, 1254,
1884 1259, -1033, 1090, 1238, 11, 301, -1033, -1033, -1033, -1033,
1885 -1033, -1033, -1033, 453, -1033, -1033, -1033, -1033, 3549, 376,
1886 -1033, 151, 5121, -1033, 6348, 5121, 6348, -1033, -1033, -1033,
1887 -1033, -1033, -1033, -1033, 993, 1256, -1033, -1033, -1033, -1033,
1888 -1033, -1033, -1033, -1033, -1033, 1496, -1033, 134, -1033, 233,
1889 -1033, -1033, -1033, 5705, 1264, -1033, -1033, 258, -1033, 1267,
1890 844, 1134, 1134, -1033, -1033, 913, 5364, 1258, 915, 921,
1891 358, 677, 677, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1892 -1033, -1033, -1033, -1033, 933, 940, 941, 1188, 1196, 874,
1893 898, 84, 363, 455, 530, 91, 552, 106, 165, 477,
1894 585, 1265, 5716, 579, 5853, -1033, 501, 1037, -1033, -1033,
1895 -1033, -1033, -1033, 399, -1033, 6072, 11, 164, 164, -1033,
1896 -1033, -1033, 317, 442, -1033, -1033, 63, -1033, 982, 90,
1897 -1033, -1033, -1033, -1033, -1033, 1263, -1033, 43, -1033, 1008,
1898 -1033, 76, 1274, 134, -1033, 63, -1033, -1033, -1033, 1270,
1899 133, -1033, -1033, 5121, -1033, 5121, -1033, -1033, 5289, -1033,
1900 467, -1033, 1209, 240, -1033, -1033, -1033, 5716, 677, -1033,
1901 1105, 949, -1033, 951, 959, -1033, -1033, -1033, 1003, -1033,
1902 -1033, 11, -1033, -1033, -1033, -1033, -1033, -1033, 498, 317,
1903 793, 677, 677, 164, -1033, 63, 63, -1033, 416, 491,
1904 -1033, 1279, 1004, 581, 90, 421, 58, -1033, -1033, 982,
1905 -1033, -1033, -1033, 982, 22, 677, 677, 1282, 982, -1033,
1906 134, 1284, 612, -1033, 995, -1033, -1033, 1285, -1033, 1286,
1907 1287, -1033, 1289, -1033, -1033, -1033, 1219, -1033, 587, 1288,
1908 -1033, 447, -1033, -1033, -1033, 1290, 971, 984, 5716, -1033,
1909 -1033, -1033, -1033, 317, 1291, 501, -1033, -1033, 317, 639,
1910 416, 850, 677, 677, 63, -1033, 1118, -1033, -1033, 982,
1911 -1033, 581, 1272, -1033, 421, -1033, 421, -1033, -1033, 1293,
1912 -1033, -1033, 1118, 1297, -1033, -1033, -1033, -1033, 5716, 133,
1913 1298, -1033, -1033, -1033, 1304, -1033, 1306, -1033, -1033, -1033,
1914 -1033, 986, -1033, 5716, -1033, -1033, -1033, 1300, -1033, -1033,
1915 416, -1033, -1033, -1033, 1311, 58, -1033, -1033, -1033, -1033,
1916 -1033, -1033, -1033, -1033, 5716, -1033, -1033, -1033, -1033, -1033,
1917 -1033, -1033, -1033, -1033
1920 /* YYPGOTO[NTERM-NUM]. */
1921 static const yytype_int16 yypgoto[] =
1923 -1033, -1033, -1033, 1248, -1033, -1033, -1033, -1033, -403, -118,
1924 -1033, -1033, 1020, -1033, -1033, -1033, -1033, -1033, 64, -1033,
1925 -1033, 397, -1033, -1033, 96, 130, -1033, 206, -1033, -1033,
1926 -1033, -938, -1033, -886, -1033, -1033, -620, -778, -1033, -1033,
1927 -1033, -610, -1033, -594, -1033, -577, -1033, 312, -1033, -1033,
1928 654, -668, -1033, 242, 308, -1033, -1033, -1033, -1033, -1033,
1929 -1033, -1033, -1033, -1033, -1033, -1033, -898, 166, -1033, -1032,
1930 -1033, 280, -1033, -1033, -636, 466, 1132, -1033, -1033, 1178,
1931 -1033, -1033, -1033, -1033, -117, -381, -345, -322, -372, -388,
1932 -347, -353, -535, -551, -1033, -626, -1033, -76, -1033, -1033,
1933 -1033, -1033, 1013, 1218, -602, -433, 6, -1033, -1033, -1033,
1934 533, -3, -1033, -1033, -1033, 634, -254, -1033, -1033, -1033,
1935 -1033, -911, -806, -1033, -1033, 523, -1033, -1033, -1033, -554,
1936 -1033, -1033, -1033, -384, -1033, -1033, -1033, -1033, -1033, 559,
1937 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1938 801, 784, -1033, 889, -1033, -1033, -1033, -1033, -1033, -1033,
1939 -1033, -1033, -1033, -1033, 224, -684, -890, -1033, 148, -1033,
1940 -1033, 683, 687, 511, 1, -395, 1246, -1033, 17, -1033,
1941 -1033, -578, -1033, -1033, -1033, 670, -125, 1074, -1033, -448,
1942 1141, 26, 1366, -1033, 1137, -1033, 744, -1033, -1033, -1033,
1943 -1033, -173, -1033, -1033, -1033, -1033, -1033, 20, 799, 1028,
1944 1251, -1033, -1033, 1261, -1033, -1033, -311, -1033, 617, 211,
1945 -423, -737, -1033, 869, -1033, -1033, 969, -187, 673, 518,
1946 -493, 127, -1033, 180, 40, -1033, -1033, 173, -1033, 337,
1947 -1033, -1033, 667, -1033, 356, -639, -1033, -1033, -1033, -1033,
1948 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1949 -1033, -1033, -1033, -1033, -1033, -1033, -1033, 1401, -1033, -1033,
1950 1588, -295, 522, 0, 19, -1033
1953 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1954 positive, shift that token. If negative, reduce the rule which
1955 number is the opposite. If zero, do what YYDEFACT says.
1956 If YYTABLE_NINF, syntax error. */
1957 #define YYTABLE_NINF -718
1958 static const yytype_int16 yytable[] =
1960 123, 121, 133, 654, 294, 123, 99, 304, 571, 123,
1961 219, 219, 219, 600, 538, 539, 651, 548, 471, 124,
1962 131, 692, 762, 493, 124, 747, 598, 712, 142, 963,
1963 203, 546, 547, 454, 967, 759, 200, 1052, 971, 857,
1964 338, 339, 340, 341, 342, 343, 509, 573, 433, 1208,
1965 212, 425, 540, 541, 550, 796, 429, 1071, 430, 549,
1966 1090, 473, 1081, 1057, 95, 1081, -616, 657, 322, 974,
1967 -616, 797, 616, 411, 637, 978, 412, 542, 543, 544,
1968 545, 444, 1134, 762, 132, 670, 747, 1125, 799, 123,
1969 121, 409, 1059, 1189, 1190, 99, 759, 1126, -47, 1137,
1970 1038, 1039, 1144, 477, 1145, -650, 266, 410, 124, -650,
1971 758, 805, -655, 520, 1134, 412, -655, 831, 262, 457,
1972 1132, 1146, 123, 830, 1059, 271, 757, -658, 399, 400,
1973 521, -658, 1040, 1041, 397, 398, 955, 1001, 242, 242,
1974 123, 124, 1076, 401, 402, 288, 1042, 297, 926, 1118,
1975 1119, 123, 269, 95, 1002, 1156, 219, 318, 459, 319,
1976 403, 404, 1240, 449, 927, 1152, 3, 3, 694, -282,
1977 329, 758, 1133, 1135, 936, 219, 337, 395, 396, 857,
1978 702, 509, 200, 213, 796, 857, -660, 757, 1047, 946,
1979 -660, 243, 243, 1081, 405, 1081, 212, 1091, 1048, 796,
1980 797, 219, 81, 82, 141, 1207, 306, 85, 86, 219,
1981 1213, 219, 705, 219, 1209, 797, 219, 799, 1084, 704,
1982 498, 413, 473, 427, 219, 1188, 412, 200, 560, 219,
1983 1138, 219, 799, 419, 320, 200, 421, 420, 477, 200,
1984 805, 212, 200, 325, 219, 219, 81, 1062, 1201, 212,
1985 1204, 81, 1127, 212, 326, 805, 212, -426, 690, -426,
1986 820, 1244, 866, 569, 429, 438, 459, -426, 477, 674,
1987 1083, 200, 1085, 754, 3, 535, 536, 537, 81, 1062,
1988 750, 808, 1165, 1096, 1097, 212, 1098, 123, 447, 753,
1989 123, 123, 123, 1036, 252, 253, 254, 255, 256, 257,
1990 258, 259, 260, 261, 397, 398, 124, 857, 756, 451,
1991 453, 455, 123, 470, 755, 701, 751, 327, 123, 269,
1992 461, 81, 82, 141, 328, 1047, 85, 86, 269, 213,
1993 850, 124, 412, 700, 754, 1048, 282, 319, 645, 752,
1994 287, 750, 289, 1120, 293, 1121, 1161, 214, 1163, 295,
1995 753, 242, 81, 1049, 1050, -283, 242, 264, 242, 1204,
1996 219, 311, 1122, 312, 491, 322, 330, 412, 219, 756,
1997 219, 242, 633, 477, 213, 755, 1033, 751, 632, 412,
1998 331, 1094, 213, 322, -651, 1104, 213, 350, -651, 213,
1999 1030, 3, 957, 572, 1077, 762, 954, 1078, 747, 956,
2000 752, 692, -426, 965, 243, -426, 378, -426, 759, 243,
2001 808, 243, 348, 397, 398, 219, 866, 269, 213, 349,
2002 1111, -426, -426, -426, 243, 808, -426, -426, 81, 82,
2003 141, 322, 354, 85, 86, 558, 219, 219, -282, 568,
2004 459, 200, 1191, 219, 1192, 123, 581, 1144, 3, 1145,
2005 568, -426, -426, -426, 123, 212, -426, -426, 1057, 449,
2006 269, 1193, 603, 1123, 124, 123, 1146, 123, 412, 126,
2007 127, 128, 351, 593, 1229, 123, -652, 1058, 123, 352,
2008 -652, 1185, 123, 758, 124, 269, 124, 1059, 1078, 81,
2009 1049, 1050, 318, 214, 319, 445, 412, 619, -662, 757,
2010 494, 624, -662, 353, 412, 397, 398, 477, 626, 269,
2011 718, 219, 1194, 81, 82, 141, 406, 355, 85, 86,
2012 123, 123, -711, 1181, 1120, 322, 1121, 703, 403, 404,
2013 465, 1017, 1018, 467, 1027, 507, 508, 322, 214, 646,
2014 647, 475, 968, 1122, 478, 836, 214, 837, 1025, 1026,
2015 214, -653, 1185, 214, -715, -653, -426, -426, -426, 219,
2016 219, -426, -426, 242, 242, -712, 568, 123, 662, 1019,
2017 1020, 1029, -283, -656, 472, 219, 1028, -656, 219, 219,
2018 397, 398, 214, 412, 568, 200, 124, 628, 213, 399,
2019 400, -282, 861, 459, 1021, 1022, 1023, 1024, 412, 212,
2020 405, 877, 636, 878, 401, 402, 1200, 1144, 406, 1145,
2021 883, 411, -478, 459, 412, 123, 243, 243, 494, 884,
2022 885, 886, 887, 888, 889, 407, 1146, 208, 240, 240,
2023 1216, 477, 318, 1078, 319, 408, 427, 1060, 1061, 412,
2024 1054, 81, 1062, 494, 414, 1063, 754, 249, 250, 251,
2025 -426, 690, -426, 750, 879, -534, 567, 219, 219, 643,
2026 -426, 779, 753, 644, 1235, 1191, 478, 1192, 415, 219,
2027 219, 582, 219, 648, 649, 587, 374, 590, 375, 1100,
2028 -426, 756, 1092, -282, 1193, 601, 123, 755, 123, 751,
2029 -426, -426, -426, 420, 610, -426, -426, -426, 615, 219,
2030 376, 377, 392, 393, 394, 593, 123, 593, 461, 123,
2031 123, 219, 752, 412, 423, 399, 400, 660, 843, 412,
2032 600, -714, 779, 881, 422, 851, -713, 864, 624, 124,
2033 401, 402, 213, -613, 290, 291, 292, -613, 274, 275,
2034 276, 277, 278, 279, 280, 281, 861, 283, 1112, 322,
2035 286, 428, 214, -612, 201, 231, 231, -612, 1124, 434,
2036 322, 685, 686, 893, 439, 894, 302, -426, 307, 308,
2037 310, 412, 731, 208, 316, 81, 82, 141, 1149, -611,
2038 85, 86, 435, -611, -426, 1251, 440, 895, 896, 442,
2039 302, 446, 1014, 1015, 1016, 1166, 412, 344, 916, 917,
2040 930, 116, 464, 412, 993, 466, 136, 989, 139, 204,
2041 237, 237, 219, 918, 919, 912, 913, 1047, 208, 391,
2042 1182, 1262, 474, 691, 412, -630, 208, 1048, 995, -630,
2043 208, 468, 123, 208, 1195, 219, 484, 123, 478, -717,
2044 219, 240, 426, -635, 219, -634, 240, -635, 240, -634,
2045 469, 124, 914, 915, 843, 1215, 966, 717, 302, 843,
2046 490, 240, 208, 843, 123, 81, 82, 141, 492, -633,
2047 85, 86, 123, -633, 1047, 497, -632, 1236, -631, 1101,
2048 -632, 864, -631, 124, 1048, -628, 582, 495, 781, -628,
2049 116, 988, 496, -717, 501, -647, 214, 332, 441, -647,
2050 201, -629, 511, 298, 272, -629, 395, 396, 157, 158,
2051 159, 160, 161, 162, -242, 272, 272, -625, 3, -648,
2052 832, -625, 302, -648, 450, 452, 163, 164, 165, -626,
2053 395, 396, 302, -626, -617, 1055, -620, 460, -617, 562,
2054 -620, 317, 643, 1074, 502, 201, 1103, 503, 219, -282,
2055 166, 459, 316, 201, -640, 204, 504, 201, -640, 3,
2056 201, -641, -642, 920, 921, -641, -642, 843, 231, 563,
2057 -638, 897, -621, 231, -638, 231, -621, 1175, 505, 302,
2058 -619, 81, 1049, 1050, -619, 179, 958, 686, 231, 201,
2059 515, 302, -623, -717, -717, 176, -623, 565, -717, -717,
2060 204, 123, 123, 284, 285, -624, 1058, -622, 204, -624,
2061 570, -622, 204, 1087, 1088, 204, 1059, 909, 910, 911,
2062 1105, 1106, 566, 237, 412, 1179, 940, 941, 237, 3,
2063 237, -282, 208, 459, 779, 583, 1197, 1198, 81, 1049,
2064 1050, 3, 179, 237, 204, 1116, 584, 1055, 1055, 585,
2065 294, 1115, -282, 240, 240, 588, 1130, 594, 1074, 1074,
2066 1140, 1141, 1142, 599, 611, 614, 286, 81, 299, 300,
2067 973, 179, 81, 82, 141, 1130, 612, 85, 86, 604,
2068 123, 1159, 620, 621, 412, 586, 625, 589, 219, 595,
2069 629, 630, 596, 123, 581, 460, 634, 602, 123, 124,
2070 635, 639, 1232, 458, 641, 642, 613, 843, 652, 316,
2071 1168, 659, 124, 81, 82, 141, 622, 1172, 85, 86,
2072 1055, 123, 123, 1055, 663, 1130, 1130, 666, 664, 676,
2073 679, 302, 681, 684, 1074, 682, 1074, 696, 689, 1074,
2074 1186, 1187, 322, 1074, 687, 123, 123, 695, 1074, 706,
2075 708, 1217, 711, 631, 123, 720, 814, 1257, 818, 201,
2076 721, 782, 821, 892, 1210, 1211, 1060, 1061, 123, 828,
2077 81, 1062, 848, 124, 1063, 1080, 208, 829, 322, 846,
2078 231, 231, 868, 81, 82, 141, 870, 124, 85, 86,
2079 872, 1055, 123, 123, 1130, 81, 82, 141, 873, 1074,
2080 85, 86, 981, 1093, 874, 922, 923, 925, 924, -645,
2081 928, 1238, 1239, -645, 204, 675, 379, -644, 302, 123,
2082 1159, -644, 392, 393, 394, 959, 931, 960, 199, 962,
2083 392, 393, 394, 976, 602, 237, 237, 937, 124, 938,
2084 939, 697, 698, 699, 942, 1074, 945, 970, 972, 316,
2085 979, 380, 381, 382, 383, 384, 385, 386, 387, 388,
2086 389, 205, 238, 238, 986, 990, 991, 992, 994, 302,
2087 996, 206, 239, 239, -668, 1034, 321, 1035, 1037, 1102,
2088 724, 725, 179, 1089, 1095, 1099, 1136, 1107, 1155, 321,
2089 321, 321, 321, 321, 321, 391, 346, 347, 1148, 1173,
2090 1167, 1196, 1154, 201, 1212, 1194, 1219, 1223, 1222, 1225,
2091 1227, 816, 1245, 1228, 1242, 1231, 1253, -262, 1234, 823,
2092 1246, 825, 1248, 298, 1255, 460, 1256, 1258, 157, 158,
2093 159, 160, 161, 162, 844, 845, 1259, 263, 476, 849,
2094 1065, 1260, 1247, 622, 862, 1205, 163, 164, 165, 1110,
2095 301, 834, 418, 1180, 1117, 1151, 391, 1237, 204, 999,
2096 302, 499, 302, 390, 969, 961, 944, 1252, 678, 302,
2097 166, 826, 333, 824, 335, 982, 296, 462, 247, 860,
2098 640, 437, 1221, 506, 559, 1230, 869, 518, 985, 876,
2099 1109, 984, 522, 523, 524, 525, 526, 527, 528, 529,
2100 530, 531, 532, 0, 0, 0, 0, 205, 0, 0,
2101 0, 216, 245, 245, 0, 176, 0, 206, 0, 199,
2102 0, 0, 0, 710, 0, 555, 0, 199, 0, 0,
2103 0, 199, 0, 0, 199, 0, 23, 24, 25, 26,
2104 0, 27, 424, 0, 0, 0, 32, 33, 0, 948,
2105 36, 37, 205, 39, 40, 41, 42, 0, 0, 0,
2106 205, 0, 206, 199, 205, 0, 0, 205, 54, 55,
2107 206, 0, 0, 0, 206, 238, 1261, 206, 0, 0,
2108 238, 0, 238, 0, 0, 239, 0, 81, 299, 300,
2109 239, 179, 239, 0, 80, 238, 205, 980, 862, 0,
2110 602, 510, 0, 0, 84, 239, 206, 0, 0, 513,
2111 0, 514, 898, 0, 0, 0, 456, 0, 0, 0,
2112 0, 0, 0, 0, 321, 321, 321, 321, 321, 321,
2113 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
2114 0, 0, 0, 485, 486, 487, 488, 899, 900, 901,
2115 902, 903, 904, 905, 906, 907, 908, 216, 0, 0,
2116 0, 0, 0, 456, 0, 0, 0, 500, 0, 782,
2117 783, 784, 785, 321, 0, 456, 786, 787, 788, 789,
2118 790, 791, 792, 0, 576, 1079, 0, 0, 0, 0,
2119 0, 321, 1086, 519, 0, 0, 0, 0, 218, 246,
2120 246, 0, 216, 0, 0, 0, 0, 0, 0, 0,
2121 216, 0, 0, 0, 216, 0, 0, 216, 951, 0,
2122 0, 951, 0, 0, 0, 245, 0, 321, 0, 0,
2123 245, 0, 245, 199, 0, 0, 0, 0, 0, 321,
2124 0, 564, 0, 0, 714, 245, 216, 0, 0, 0,
2125 0, 0, 576, 0, 0, 0, 723, 0, 0, 0,
2126 0, 0, 0, 0, 0, 0, 205, 0, 391, 0,
2127 0, 0, 0, 0, 0, 0, 206, 0, 0, 0,
2128 0, 0, 0, 321, 0, 0, 321, 238, 238, 0,
2129 0, 0, 0, 0, 0, 0, 0, 239, 239, 0,
2130 0, 576, 0, 0, 0, 0, 0, 0, 0, 0,
2131 0, 1153, 838, 0, 0, 0, 0, 0, 0, 576,
2132 673, 0, 0, 0, 0, 0, 714, 862, 0, 0,
2133 1170, 0, 0, 321, 0, 0, 302, 0, 0, 1176,
2134 1177, 0, 0, 0, 218, 321, 0, 0, 0, 0,
2135 0, 0, 0, 951, 0, 951, 951, 951, 0, 0,
2136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2137 0, 653, 0, 0, 0, 0, 0, 199, 0, 0,
2138 727, 729, 0, 1214, 0, 0, 0, 0, 0, 218,
2139 1218, 1220, 0, 748, 0, 0, 0, 218, 673, 733,
2140 0, 218, 862, 0, 218, 0, 0, 0, 0, 0,
2141 205, 673, 246, 0, 0, 0, 216, 246, 0, 246,
2142 206, 0, 0, 0, 0, 0, 0, 0, 0, 1241,
2143 0, 0, 246, 218, 0, 0, 0, 245, 245, 0,
2144 0, 0, 0, 0, 0, 0, 0, 488, 838, 1249,
2145 1250, 0, 867, 838, 748, 0, 1254, 838, 0, 0,
2146 0, 0, 321, 0, 0, 0, 0, 0, 321, 321,
2147 321, 321, 321, 321, 890, 891, 0, 734, 0, 0,
2148 0, 780, 0, 714, 951, 0, 951, 0, 0, 0,
2149 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2150 0, 0, 0, 0, 0, 997, 518, 0, 0, 0,
2151 0, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011,
2152 1012, 1013, 0, 0, 298, 0, 0, 0, 0, 157,
2153 158, 159, 160, 161, 162, 0, 0, 0, 0, 875,
2154 0, 0, -203, -203, 456, 0, 456, 163, 164, 165,
2155 0, 0, 0, 882, 0, 0, 0, 321, 0, 0,
2156 216, 838, 0, 0, 0, 0, 0, 143, 321, 0,
2157 0, 166, 144, 145, 146, 0, 147, 148, 149, 150,
2158 151, 152, 153, 154, 155, -563, 0, 0, 0, 0,
2159 156, 0, 0, 0, 0, 157, 158, 159, 160, 161,
2160 162, 0, 0, 218, 0, 0, 0, 0, -203, -203,
2161 0, 0, 321, 163, 164, 165, 176, 0, 0, 0,
2162 0, 0, 0, 0, 246, 246, 0, 0, 0, 0,
2163 0, 0, 0, 0, 0, 0, 0, 166, 0, 0,
2164 0, 321, 321, 321, 321, 321, 321, 321, 321, 321,
2165 321, 321, 321, 321, 321, 321, 321, 321, 0, 321,
2166 0, 167, 168, 169, 170, 171, 172, 173, 174, 0,
2167 0, 0, 0, 0, 0, 0, 0, 175, 0, 0,
2168 0, 0, 176, 0, 0, 0, 0, 0, 81, 299,
2169 300, 0, 179, 0, 0, 0, 0, 0, 0, 0,
2170 0, 838, 0, 0, 0, 0, 0, 0, 0, 0,
2171 0, 0, 1000, 0, 0, 0, 0, 0, 0, 0,
2172 0, 0, 0, 0, 0, 0, 0, 0, 321, 0,
2173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2174 0, 0, 0, 0, 0, 0, 0, 218, 0, 0,
2175 0, 0, 0, 0, 81, 177, 178, 0, 179, 180,
2176 86, 0, 0, 0, 0, 0, 748, 0, 0, 0,
2177 0, 0, 0, 0, 0, -170, 0, 0, 0, 0,
2178 -170, -170, -170, 0, -170, -170, -170, -170, -170, -170,
2179 -170, -170, -170, -170, -170, -170, -715, -170, -170, 0,
2180 -170, 488, -170, -170, -170, -170, -170, -170, -170, -170,
2181 -170, -170, -170, -170, -170, -170, -170, -170, 0, -170,
2182 0, -170, -170, -170, -170, -170, -170, -170, -170, -170,
2183 -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
2184 -170, -170, 0, 0, 0, -170, 0, 0, 0, 0,
2185 1108, 0, 0, 0, 0, 0, 0, 0, 0, -2,
2186 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2187 -170, -170, -170, -170, -170, -170, -170, 2, 0, 0,
2188 0, 0, 0, -282, 0, -170, 0, 0, 0, 0,
2189 -170, 0, 0, 3, 0, 0, 0, 0, 0, 0,
2190 0, 0, 0, 4, 0, 5, 0, 0, 0, 0,
2191 321, 0, 0, 0, 0, 1171, 0, 0, 0, 0,
2192 0, 0, 0, 0, 0, 0, 0, -426, -426, -426,
2193 0, 6, 0, 0, 0, 0, 7, 8, 9, 0,
2194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2195 321, 10, 11, 12, 0, 0, 0, 0, 0, 0,
2196 0, 0, -170, -170, -170, 321, -170, -170, -170, 0,
2197 0, 13, 14, 15, 16, 0, 17, 18, 19, 20,
2198 21, 22, 23, 24, 25, 26, 321, 27, 28, 29,
2199 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2200 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2201 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2202 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2203 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2204 80, -3, 1, 0, 0, 0, 0, 81, 82, 83,
2205 84, 0, 85, 86, 87, 0, 0, 0, 0, 2,
2206 0, 0, 0, 0, 0, -282, 0, 0, 0, 0,
2207 0, 0, 0, 0, 0, 3, 0, 0, 0, 0,
2208 0, 0, 0, 0, 0, 4, 0, 5, 0, 0,
2209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2210 0, 0, 0, 0, 0, 0, 0, 0, 0, -426,
2211 -426, -426, 0, 6, 0, 0, 0, 0, 7, 8,
2212 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2213 0, 0, 0, 10, 11, 12, 0, 0, 0, 0,
2214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2215 0, 0, 0, 13, 14, 15, 16, 0, 17, 18,
2216 19, 20, 21, 22, 23, 24, 25, 26, 0, 27,
2217 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2218 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2219 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2220 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2221 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2222 78, 79, 80, 0, 0, 0, 0, 0, 0, 81,
2223 82, 83, 84, 143, 85, 86, 87, 0, 144, 145,
2224 146, 0, 147, 148, 149, 150, 151, 152, 153, 154,
2225 155, -563, 556, 0, 0, 0, 156, 0, 0, 0,
2226 0, 157, 158, 159, 160, 161, 162, 0, 0, 0,
2227 0, 0, 0, 0, -203, -203, 4, 0, 5, 163,
2228 164, 165, 0, 0, 0, 0, 0, 0, 0, 0,
2229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2230 -426, -426, -426, 166, 6, 0, 0, 0, 0, 0,
2231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2232 0, 0, 0, 0, 0, 0, 0, 0, 168, 169,
2233 170, 171, 172, 173, 174, 0, 0, 0, 0, 0,
2234 0, 0, 0, 175, 13, 14, 15, 16, 176, 17,
2235 18, 19, 20, 21, 22, 23, 24, 25, 26, 0,
2236 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2237 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2238 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2239 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2240 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2241 77, 78, 79, 80, 0, 0, 0, 0, 0, 0,
2242 81, 177, 557, 84, 179, 180, 86, 87, 143, 0,
2243 0, 0, 0, 144, 145, 146, 0, 147, 148, 149,
2244 150, 151, 152, 153, 154, 155, -172, 0, 0, 0,
2245 0, 156, 0, 0, 0, 0, 157, 158, 159, 160,
2246 161, 162, 0, 0, 0, 0, 0, 0, 0, -203,
2247 -203, -282, 0, 0, 163, 164, 165, 0, 0, 0,
2248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2249 0, 0, 0, 0, 0, -282, -282, -282, 166, 0,
2250 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2252 0, 0, 0, 168, 169, 170, 171, 172, 173, 174,
2253 0, 0, 0, 0, 0, 0, 0, 0, 175, -282,
2254 -282, -282, -282, 176, -282, -282, -282, -282, -282, -282,
2255 -282, -282, -282, -282, 0, -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, -282,
2259 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2260 -282, -282, -282, -282, -282, -282, -282, -282, -282, 0,
2261 0, 0, 0, 0, 0, 81, 177, 178, -282, 179,
2262 180, 86, -282, 221, 0, 0, 0, 0, 144, 145,
2263 146, 0, 0, 222, 149, 150, 151, 152, 153, 154,
2264 223, -172, -567, 0, 0, 0, 224, 0, 0, 0,
2265 0, 157, 158, 159, 160, 161, 162, 0, 0, 0,
2266 0, 0, 0, 0, -203, -203, -282, 0, 0, 163,
2267 164, 165, 0, 0, 0, 0, 0, 0, 0, 0,
2268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2269 -282, -282, -282, 166, 0, 0, 0, 0, 0, 0,
2270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2271 0, 0, 0, 0, 0, 0, 0, 0, 0, 169,
2272 170, 171, 172, 173, 174, 0, 0, 0, 0, 0,
2273 0, 0, 0, 175, -282, -282, -282, -282, 176, -282,
2274 -282, -282, -282, -282, -282, -282, -282, -282, -282, 0,
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, -282, -282, -282, -282, -282, -282,
2279 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2280 -282, -282, -282, -282, 0, 0, 0, 0, 0, 0,
2281 81, 177, 178, -282, 179, 225, 226, -282, 143, 0,
2282 0, 0, 0, 144, 145, 146, 0, 147, 148, 149,
2283 150, 151, 152, 153, 154, 155, -563, 0, 0, 0,
2284 0, 156, 0, 0, 0, 0, 157, 158, 159, 160,
2285 161, 162, 0, 0, 0, 0, 0, 0, 0, -203,
2286 -203, 0, 221, 0, 163, 164, 165, 144, 145, 146,
2287 0, 0, 222, 149, 150, 151, 152, 153, 154, 223,
2288 -507, -507, 0, 0, 0, 224, -507, 0, 166, 0,
2289 157, 158, 159, 160, 161, 162, 0, 0, 0, 0,
2290 0, 0, 0, -203, -203, 0, 0, 0, 163, 164,
2291 165, 0, -535, 168, 169, 170, 171, 172, 173, 174,
2292 0, 0, 0, 0, 0, 0, 0, 0, 175, 0,
2293 0, 0, 166, 176, 0, 0, 0, 0, 0, 0,
2294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2295 0, 0, 0, 0, 0, 0, -507, 0, 169, 170,
2296 171, 172, 173, 174, 0, 0, 0, 0, 0, 0,
2297 0, 0, 175, 0, 0, 0, 0, 176, 0, 0,
2298 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2300 0, 0, 0, 0, 0, 81, 177, 178, 0, 179,
2301 180, 86, 0, 0, 0, 143, 0, 0, 0, 0,
2302 144, 145, 146, 0, 147, 148, 149, 150, 151, 152,
2303 153, 154, 155, -563, 655, 0, 0, 0, 156, 0,
2304 0, 0, 0, 157, 158, 159, 160, 161, 162, 81,
2305 177, 178, 0, 179, 225, 226, -203, -203, 0, 143,
2306 0, 163, 164, 165, 144, 145, 146, 0, 147, 148,
2307 149, 150, 151, 152, 153, 154, 155, -563, 0, 0,
2308 0, 0, 156, 0, 0, 166, 0, 157, 158, 159,
2309 160, 161, 162, 0, 0, 0, 0, 0, 0, 0,
2310 -203, -203, 0, 0, 0, 163, 164, 165, 0, 0,
2311 168, 169, 170, 171, 172, 173, 174, 0, 0, 0,
2312 0, 0, 0, 0, 0, 175, 0, 0, 0, 166,
2313 176, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2315 0, 0, 0, 0, 168, 169, 170, 171, 172, 173,
2316 174, 0, 0, 0, 0, 0, 0, 0, 835, 175,
2317 0, 0, 0, 298, 176, 836, 0, 837, 157, 158,
2318 159, 160, 161, 162, 0, 0, 0, 0, 0, 0,
2319 0, 0, 0, 0, 0, 0, 163, 164, 165, 0,
2320 0, 0, 81, 177, 178, 0, 179, 180, 86, 0,
2321 0, 0, 221, 0, 0, 0, 0, 144, 145, 146,
2322 166, 0, 222, 149, 150, 151, 152, 153, 154, 223,
2323 -563, -567, 0, 0, 0, 224, 0, 0, 0, 0,
2324 157, 158, 159, 160, 161, 162, 81, 177, 178, 0,
2325 179, 180, 86, -203, -203, 0, 221, 0, 163, 164,
2326 165, 144, 145, 146, 0, 176, 222, 149, 150, 151,
2327 152, 153, 154, 223, -563, -567, 0, 0, 0, 224,
2328 0, 0, 166, 0, 157, 158, 159, 160, 161, 162,
2329 0, 0, 0, 0, 0, 0, 0, -203, -203, 0,
2330 0, 0, 163, 164, 165, 0, -503, 0, 169, 170,
2331 171, 172, 173, 174, 0, 0, 0, 0, 0, 0,
2332 713, -709, 175, 0, 0, 298, 166, 176, 0, 0,
2333 157, 158, 159, 160, 161, 162, 0, 81, 177, 178,
2334 0, 179, 85, 86, 0, 0, 0, 0, 163, 164,
2335 165, 0, 169, 170, 171, 172, 173, 174, 0, 0,
2336 0, 0, 0, 0, 0, 0, 175, 0, 0, 0,
2337 0, 176, 166, 0, 0, 0, 0, 0, 0, 0,
2338 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2339 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,
2340 177, 178, 0, 179, 225, 226, 0, 0, 0, 0,
2341 0, 0, 0, 0, 144, 145, 146, 176, 147, 148,
2342 149, 150, 151, 152, 153, 154, 223, -563, 574, 0,
2343 0, 0, 357, 0, 0, 0, 0, 157, 158, 159,
2344 160, 161, 162, 81, 177, 178, 0, 179, 225, 226,
2345 -203, -203, 4, 0, 5, 163, 164, 165, 0, 0,
2346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2347 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
2348 6, 0, 0, 0, 0, 0, 0, 0, 0, 81,
2349 299, 300, 0, 179, 0, 0, 0, 0, 0, 0,
2350 0, 0, 0, 0, 168, 169, 170, 171, 172, 173,
2351 174, 0, 0, 0, 0, 0, 0, 0, 0, 575,
2352 13, 14, 15, 16, 176, 17, 18, 19, 20, 21,
2353 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
2354 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2355 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2356 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2357 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2358 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2359 0, 0, 0, 0, 0, 0, 81, 177, 557, 84,
2360 179, 180, 86, 87, 144, 145, 146, 0, 147, 148,
2361 149, 150, 151, 152, 153, 154, 223, -563, 656, 0,
2362 0, 0, 357, 0, 0, 0, 0, 157, 158, 159,
2363 160, 161, 162, 0, 0, 0, 0, 0, 0, 0,
2364 -203, -203, 4, 0, 5, 163, 164, 165, 0, 0,
2365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2366 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
2367 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2369 0, 0, 0, 0, 168, 169, 170, 171, 172, 173,
2370 174, 0, 0, 0, 0, 0, 0, 0, 0, 175,
2371 13, 14, 15, 16, 176, 17, 18, 19, 20, 21,
2372 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
2373 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2374 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2375 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2376 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2377 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2378 0, 0, 0, 0, 0, 0, 81, 177, 557, 84,
2379 179, 180, 86, 87, 144, 145, 146, 0, 147, 148,
2380 149, 150, 151, 152, 153, 154, 223, -563, 668, 0,
2381 0, 0, 357, 0, 0, 0, 0, 157, 158, 159,
2382 160, 161, 162, 0, 0, 0, 0, 0, 0, 0,
2383 -203, -203, 4, 0, 5, 163, 164, 165, 0, 0,
2384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2385 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
2386 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2388 0, 0, 0, 0, 168, 169, 170, 171, 172, 173,
2389 174, 0, 0, 0, 0, 0, 0, 0, 0, 669,
2390 13, 14, 15, 16, 176, 17, 18, 19, 20, 21,
2391 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
2392 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2393 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2394 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2395 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2396 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2397 0, 0, 0, 0, 0, 0, 81, 177, 557, 84,
2398 179, 180, 86, 87, 144, 145, 146, 0, 147, 148,
2399 149, 150, 151, 152, 153, 154, 223, -563, 667, 0,
2400 0, 0, 357, 0, 0, 0, 0, 157, 158, 159,
2401 160, 161, 162, 0, 0, 0, 0, 0, 0, 0,
2402 0, 0, 0, 0, 0, 163, 164, 165, 144, 145,
2403 146, 0, 147, 148, 149, 150, 151, 152, 153, 154,
2404 223, -563, 671, 0, 0, 0, 357, 0, 0, 166,
2405 0, 157, 158, 159, 160, 161, 162, 0, 0, 0,
2406 0, 0, 0, 0, 0, 0, 0, 0, 0, 163,
2407 164, 165, 0, 0, 168, 169, 170, 171, 172, 173,
2408 174, 0, 0, 0, 0, 0, 0, 0, 0, 175,
2409 0, 0, 0, 166, 176, 0, 0, 0, 0, 0,
2410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2411 0, 0, 0, 0, 0, 0, 0, 0, 168, 169,
2412 170, 171, 172, 173, 174, 0, 0, 0, 0, 0,
2413 0, 0, 0, 672, 0, 144, 145, 146, 176, 147,
2414 148, 149, 150, 151, 152, 153, 154, 223, -563, 732,
2415 0, 0, 0, 357, 0, 0, 0, 0, 157, 158,
2416 159, 160, 161, 162, 0, 0, 81, 177, 178, 0,
2417 179, 180, 86, 0, 0, 0, 163, 164, 165, 144,
2418 145, 146, 0, 147, 148, 149, 150, 151, 152, 153,
2419 154, 223, -563, 810, 0, 0, 0, 357, 0, 0,
2420 166, 0, 157, 158, 159, 160, 161, 162, 0, 0,
2421 81, 177, 178, 0, 179, 180, 86, 0, 0, 0,
2422 163, 164, 165, 0, 0, 168, 169, 170, 171, 172,
2423 173, 174, 0, 0, 0, 0, 0, 0, 0, 0,
2424 175, 0, 0, 0, 166, 176, 0, 0, 0, 0,
2425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2426 0, 0, 0, 0, 0, 0, 0, 0, 0, 168,
2427 169, 170, 171, 172, 173, 174, 0, 0, 0, 0,
2428 0, 0, 0, 0, 175, 0, 144, 145, 146, 176,
2429 147, 148, 149, 150, 151, 152, 153, 154, 223, -563,
2430 811, 0, 0, 0, 357, 0, 0, 0, 0, 157,
2431 158, 159, 160, 161, 162, 0, 0, 81, 177, 178,
2432 0, 179, 180, 86, 0, 0, 0, 163, 164, 165,
2433 144, 145, 146, 0, 147, 148, 149, 150, 151, 152,
2434 153, 154, 223, -563, 813, 0, 0, 0, 357, 0,
2435 0, 166, 0, 157, 158, 159, 160, 161, 162, 0,
2436 0, 81, 177, 178, 0, 179, 180, 86, 0, 0,
2437 0, 163, 164, 165, 0, 0, 168, 169, 170, 171,
2438 172, 173, 174, 0, 0, 0, 0, 0, 0, 0,
2439 0, 812, 0, 0, 0, 166, 176, 0, 0, 0,
2440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2442 168, 169, 170, 171, 172, 173, 174, 0, 0, 0,
2443 0, 0, 0, 0, 0, 175, 0, 144, 145, 146,
2444 176, 147, 148, 149, 150, 151, 152, 153, 154, 223,
2445 -563, 947, 0, 0, 0, 357, 0, 0, 0, 0,
2446 157, 158, 159, 160, 161, 162, 0, 0, 81, 177,
2447 178, 0, 179, 180, 86, 0, 0, 0, 163, 164,
2448 165, 144, 145, 146, 0, 147, 148, 149, 150, 151,
2449 152, 153, 154, 223, -563, 0, 0, 0, 0, 357,
2450 0, 0, 166, 0, 157, 158, 159, 160, 161, 162,
2451 0, 0, 81, 177, 178, 0, 179, 180, 86, 0,
2452 0, 0, 163, 164, 165, 0, 0, 168, 169, 170,
2453 171, 172, 173, 174, 0, 0, 0, 0, 0, 0,
2454 0, 0, 175, 0, 0, 0, 166, 176, 0, 0,
2455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2457 0, 168, 169, 170, 171, 172, 173, 174, -136, 0,
2458 0, 0, 0, -136, 0, 0, 175, 0, 0, 0,
2459 0, 176, 0, 0, 0, 0, 0, 0, 0, 0,
2460 0, 0, 0, 4, 0, 5, 0, 0, 0, 0,
2461 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,
2462 177, 178, 0, 179, 180, 86, 0, 0, 0, 0,
2463 0, 6, 0, 0, 0, 0, 0, 0, 0, 0,
2464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2466 0, 0, 0, 81, 177, 178, 0, 179, 180, 86,
2467 0, 13, 14, 15, 16, 0, 17, 18, 19, 20,
2468 21, 22, 23, 24, 25, 26, 0, 27, 28, 29,
2469 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2470 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2471 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2472 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2473 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2474 80, -566, 0, 0, 0, 0, 0, 0, 0, 138,
2475 84, 0, 0, 0, 87, 0, 0, 0, 0, 0,
2476 0, 0, 0, 0, 0, 4, 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, 0, 0, 0, 0, 0, 0, 0,
2482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2483 0, 0, 0, 13, 14, 15, 16, 0, 17, 18,
2484 19, 20, 21, 22, 23, 24, 25, 26, 0, 27,
2485 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2486 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2487 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2488 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2489 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2490 78, 79, 80, 0, 0, 0, 0, 0, 835, 1164,
2491 0, 138, 84, 298, 0, 836, 87, 837, 157, 158,
2492 159, 160, 161, 162, 0, 0, 0, 0, 0, -172,
2493 0, 0, 0, 0, 298, 0, 163, 164, 165, 157,
2494 158, 159, 160, 161, 162, 0, 0, 0, 0, 0,
2495 0, 0, -203, -203, 0, 0, -172, 163, 164, 165,
2496 166, 357, 0, 0, 0, 0, 157, 158, 159, 160,
2497 161, 162, 0, 0, 0, 0, 0, 0, 0, -203,
2498 -203, 166, 0, 631, 163, 164, 165, 0, 298, 0,
2499 0, 0, 0, 157, 158, 159, 160, 161, 162, 0,
2500 0, 0, 0, 0, 713, 176, 0, 0, 166, 298,
2501 0, 163, 164, 165, 157, 158, 159, 160, 161, 162,
2502 0, 0, 0, 0, 0, 0, 176, 0, 0, 0,
2503 0, 0, 163, 164, 165, 166, 0, 0, 0, 0,
2504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2505 0, 0, 0, 176, 0, 0, 166, 0, 0, 0,
2506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2507 0, 0, 0, 0, 0, 0, 0, 81, 177, 178,
2508 176, 179, 85, 86, 0, 0, 0, 0, 0, 0,
2509 0, 0, 0, -282, 0, 0, 0, 0, 81, 299,
2510 300, 176, 179, 3, 0, 0, 0, 0, 0, 0,
2511 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
2512 0, 0, 0, 0, 0, 81, 299, 300, 0, 179,
2513 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2515 0, 0, 81, 299, 300, 0, 179, 0, 0, 0,
2516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2517 0, 0, 0, 81, 299, 300, 0, 179, 0, 0,
2518 0, 13, 14, 15, 16, 0, 17, 18, 19, 20,
2519 21, 22, 23, 24, 25, 26, 0, 27, 28, 29,
2520 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2521 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2522 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2523 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2524 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2525 80, 0, 0, 0, 0, 0, 0, 81, 82, 83,
2526 84, 0, 85, 86, 87, 298, 516, 0, 0, 0,
2527 157, 158, 159, 160, 161, 162, 298, 0, 0, 597,
2528 0, 157, 158, 159, 160, 161, 162, 0, 163, 164,
2529 165, 0, 0, 0, 0, 0, 0, 298, 998, 163,
2530 164, 165, 157, 158, 159, 160, 161, 162, 298, 0,
2531 0, 693, 166, 157, 158, 159, 160, 161, 162, 0,
2532 163, 164, 165, 166, 0, 0, 0, 0, 0, 298,
2533 -262, 163, 164, 165, 157, 158, 159, 160, 161, 162,
2534 298, 0, 0, 0, 166, 157, 158, 159, 160, 161,
2535 162, 0, 163, 164, 165, 166, 0, 176, 0, 0,
2536 0, 0, 0, 163, 164, 165, 0, 0, 176, 0,
2537 0, 0, 345, 0, 0, 0, 166, 157, 158, 159,
2538 160, 161, 162, 0, 0, 0, 0, 166, 0, 176,
2539 0, 0, 0, 0, 0, 163, 164, 165, 0, 726,
2540 176, 0, 0, 0, 157, 158, 159, 160, 161, 162,
2541 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
2542 0, 176, 163, 164, 165, 0, 0, 0, 0, 81,
2543 299, 300, 176, 179, 0, 0, 0, 0, 0, 0,
2544 81, 299, 300, 728, 179, 0, 166, 0, 157, 158,
2545 159, 160, 161, 162, 0, 0, 0, 0, 0, 0,
2546 0, 81, 299, 300, 176, 179, 163, 164, 165, 0,
2547 0, 0, 81, 299, 300, 0, 179, 735, 0, 0,
2548 0, 0, 736, 737, 738, 739, 740, 741, 0, 0,
2549 166, 176, 0, 81, 299, 300, 0, 179, 0, 0,
2550 163, 742, 743, 0, 81, 299, 300, 0, 179, 0,
2551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2552 0, 0, 0, 0, 744, 0, 0, 0, 0, 0,
2553 0, 0, 0, 0, 0, 176, 81, 299, 300, 0,
2554 179, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2556 0, 0, 0, 81, 299, 300, 0, 179, 0, 176,
2557 0, 0, 0, 0, 0, 0, 0, 0, 4, 0,
2558 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2560 0, 0, -426, -426, -426, 0, 6, 81, 299, 300,
2561 0, 179, 0, 0, 0, 0, 0, 0, 0, 0,
2562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2564 0, 81, 745, 746, 0, 179, 13, 14, 15, 16,
2565 0, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2566 26, 0, 27, 28, 29, 30, 31, 32, 33, 34,
2567 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2568 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2569 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2570 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2571 75, 76, 77, 78, 79, 80, 4, 0, 5, 0,
2572 0, 0, 0, 0, 138, 84, 0, 0, 0, 87,
2573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2574 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
2575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2578 0, 0, 0, 0, 13, 14, 15, 16, 0, 17,
2579 18, 19, 20, 21, 22, 23, 24, 25, 26, 0,
2580 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2581 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2582 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2583 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2584 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2585 77, 78, 79, 80, 4, 0, 0, 0, 0, 0,
2586 81, 1113, 138, 84, 0, 0, 0, 87, 0, 0,
2587 0, 0, 0, 0, 0, 0, 0, 0, -426, -426,
2588 -426, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2592 0, 0, 13, 14, 15, 16, 0, 17, 18, 19,
2593 20, 21, 22, 23, 24, 25, 26, 0, 27, 28,
2594 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2595 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2596 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2597 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2598 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2599 79, 80, 4, 0, 0, 0, 0, 0, 0, 0,
2600 138, 84, 0, 0, 0, 87, 0, 0, 0, 0,
2601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2604 10, 11, 12, 0, 0, 0, 0, 0, 0, 0,
2605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2606 13, 14, 15, 16, 0, 17, 18, 19, 20, 21,
2607 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
2608 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2609 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2610 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2611 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2612 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2613 4, 0, 5, 0, 0, 0, 0, 0, 138, 84,
2614 0, 0, 0, 87, 0, 0, 0, 0, 0, 0,
2615 0, 0, 0, 0, 0, 0, 0, 0, 6, 0,
2616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2619 0, 0, 0, 0, 0, 0, 0, 0, 13, 14,
2620 15, 16, 0, 17, 18, 19, 20, 21, 22, 23,
2621 24, 25, 26, 0, 27, 28, 29, 30, 31, 32,
2622 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2623 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2624 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2625 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2626 73, 74, 75, 76, 77, 78, 79, 80, 4, 0,
2627 0, 0, 0, 0, 0, 0, 138, 84, 0, 0,
2628 0, 87, 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, 0, 0, 0, 0,
2632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2633 0, 0, 0, 0, 0, 0, 13, 14, 15, 16,
2634 0, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2635 26, 0, 27, 28, 29, 30, 31, 32, 33, 34,
2636 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2637 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2638 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2639 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2640 75, 76, 77, 78, 79, 80, 0, 0, 0, 0,
2641 0, 0, 0, 0, 138, 84, 0, 0, 0, 87
2644 static const yytype_int16 yycheck[] =
2646 0, 0, 5, 554, 122, 5, 0, 132, 441, 9,
2647 10, 11, 12, 461, 395, 396, 551, 405, 313, 0,
2648 3, 599, 661, 334, 5, 661, 459, 629, 9, 835,
2649 10, 403, 404, 19, 840, 661, 10, 935, 844, 707,
2650 157, 158, 159, 160, 161, 162, 357, 442, 235, 27,
2651 10, 224, 397, 398, 407, 665, 229, 943, 231, 406,
2652 971, 315, 952, 5, 0, 955, 21, 560, 144, 847,
2653 25, 665, 475, 18, 507, 853, 21, 399, 400, 401,
2654 402, 268, 24, 722, 24, 578, 722, 24, 665, 89,
2655 89, 41, 34, 1125, 1126, 89, 722, 34, 22, 56,
2656 89, 90, 26, 5, 28, 21, 19, 57, 89, 25,
2657 661, 665, 21, 28, 24, 21, 25, 695, 0, 25,
2658 1058, 45, 122, 25, 34, 24, 661, 21, 37, 38,
2659 45, 25, 121, 122, 50, 51, 820, 28, 11, 12,
2660 140, 122, 948, 52, 53, 88, 135, 130, 41, 1047,
2661 1048, 151, 18, 89, 45, 22, 156, 140, 26, 140,
2662 54, 55, 1194, 288, 57, 1076, 34, 34, 601, 18,
2663 151, 722, 1058, 1059, 794, 175, 156, 32, 33, 847,
2664 613, 492, 156, 10, 794, 853, 21, 722, 24, 809,
2665 25, 11, 12, 1083, 29, 1085, 156, 975, 34, 809,
2666 794, 201, 188, 189, 190, 1143, 21, 193, 194, 209,
2667 1148, 211, 615, 213, 192, 809, 216, 794, 955, 614,
2668 345, 201, 476, 18, 224, 1123, 21, 201, 415, 229,
2669 187, 231, 809, 213, 24, 209, 216, 192, 5, 213,
2670 794, 201, 216, 24, 244, 245, 188, 189, 1134, 209,
2671 1136, 188, 189, 213, 24, 809, 216, 24, 25, 26,
2672 683, 1199, 710, 436, 437, 245, 26, 34, 5, 580,
2673 954, 245, 956, 661, 34, 392, 393, 394, 188, 189,
2674 661, 665, 1088, 25, 26, 245, 28, 287, 287, 661,
2675 290, 291, 292, 932, 70, 71, 72, 73, 74, 75,
2676 76, 77, 78, 79, 50, 51, 287, 975, 661, 290,
2677 291, 292, 312, 312, 661, 610, 661, 24, 318, 18,
2678 303, 188, 189, 190, 24, 24, 193, 194, 18, 156,
2679 5, 312, 21, 23, 722, 34, 112, 318, 27, 661,
2680 116, 722, 118, 26, 120, 28, 1083, 10, 1085, 125,
2681 722, 224, 188, 189, 190, 24, 229, 26, 231, 1245,
2682 360, 137, 45, 139, 18, 441, 18, 21, 368, 722,
2683 370, 244, 497, 5, 201, 722, 927, 722, 495, 21,
2684 18, 983, 209, 459, 21, 27, 213, 16, 25, 216,
2685 925, 34, 825, 25, 18, 1034, 819, 21, 1034, 822,
2686 722, 979, 18, 836, 224, 21, 182, 23, 1034, 229,
2687 794, 231, 24, 50, 51, 415, 864, 18, 245, 24,
2688 21, 188, 189, 190, 244, 809, 193, 194, 188, 189,
2689 190, 507, 15, 193, 194, 415, 436, 437, 24, 433,
2690 26, 415, 26, 443, 28, 445, 445, 26, 34, 28,
2691 444, 188, 189, 190, 454, 415, 193, 194, 5, 584,
2692 18, 45, 465, 21, 445, 465, 45, 467, 21, 112,
2693 113, 114, 16, 454, 27, 475, 21, 24, 478, 16,
2694 25, 1120, 482, 1034, 465, 18, 467, 34, 21, 188,
2695 189, 190, 475, 156, 475, 271, 21, 478, 21, 1034,
2696 25, 482, 25, 16, 21, 50, 51, 5, 25, 18,
2697 635, 511, 21, 188, 189, 190, 39, 102, 193, 194,
2698 520, 521, 22, 25, 26, 601, 28, 25, 54, 55,
2699 306, 912, 913, 309, 922, 6, 7, 613, 201, 520,
2700 521, 317, 23, 45, 320, 26, 209, 28, 920, 921,
2701 213, 21, 1191, 216, 22, 25, 188, 189, 190, 559,
2702 560, 193, 194, 436, 437, 22, 560, 567, 567, 914,
2703 915, 924, 24, 21, 26, 575, 923, 25, 578, 579,
2704 50, 51, 245, 21, 578, 559, 567, 25, 415, 37,
2705 38, 24, 710, 26, 916, 917, 918, 919, 21, 559,
2706 29, 726, 25, 728, 52, 53, 25, 26, 39, 28,
2707 735, 18, 25, 26, 21, 615, 436, 437, 25, 736,
2708 737, 738, 739, 740, 741, 40, 45, 10, 11, 12,
2709 18, 5, 615, 21, 615, 56, 18, 184, 185, 21,
2710 935, 188, 189, 25, 95, 192, 1034, 13, 14, 15,
2711 24, 25, 26, 1034, 730, 95, 432, 657, 658, 21,
2712 34, 661, 1034, 25, 25, 26, 442, 28, 19, 669,
2713 670, 447, 672, 42, 43, 451, 24, 453, 26, 990,
2714 28, 1034, 977, 24, 45, 26, 686, 1034, 688, 1034,
2715 188, 189, 190, 192, 470, 193, 194, 45, 474, 699,
2716 48, 49, 34, 35, 36, 686, 706, 688, 691, 709,
2717 710, 711, 1034, 21, 24, 37, 38, 25, 699, 21,
2718 1168, 22, 722, 25, 22, 706, 22, 710, 709, 710,
2719 52, 53, 559, 21, 68, 69, 70, 25, 104, 105,
2720 106, 107, 108, 109, 110, 111, 864, 113, 1043, 825,
2721 116, 95, 415, 21, 10, 11, 12, 25, 1053, 19,
2722 836, 20, 21, 24, 95, 26, 132, 28, 134, 135,
2723 136, 21, 22, 156, 140, 188, 189, 190, 1073, 21,
2724 193, 194, 20, 25, 45, 1218, 27, 48, 49, 24,
2725 156, 18, 909, 910, 911, 1090, 21, 163, 37, 38,
2726 25, 0, 25, 21, 880, 18, 5, 25, 7, 10,
2727 11, 12, 812, 52, 53, 32, 33, 24, 201, 185,
2728 27, 1254, 24, 599, 21, 21, 209, 34, 25, 25,
2729 213, 18, 832, 216, 1129, 835, 22, 837, 614, 34,
2730 840, 224, 225, 21, 844, 21, 229, 25, 231, 25,
2731 23, 832, 50, 51, 835, 1150, 837, 633, 224, 840,
2732 18, 244, 245, 844, 864, 188, 189, 190, 24, 21,
2733 193, 194, 872, 25, 24, 24, 21, 27, 21, 996,
2734 25, 864, 25, 864, 34, 21, 662, 25, 664, 25,
2735 89, 872, 25, 88, 18, 21, 559, 18, 264, 25,
2736 156, 21, 19, 24, 103, 25, 32, 33, 29, 30,
2737 31, 32, 33, 34, 22, 114, 115, 21, 34, 21,
2738 696, 25, 288, 25, 290, 291, 47, 48, 49, 21,
2739 32, 33, 298, 25, 21, 935, 21, 303, 25, 9,
2740 25, 140, 21, 943, 18, 201, 25, 18, 948, 24,
2741 71, 26, 318, 209, 21, 156, 18, 213, 25, 34,
2742 216, 21, 21, 54, 55, 25, 25, 948, 224, 11,
2743 21, 747, 21, 229, 25, 231, 25, 1102, 18, 345,
2744 21, 188, 189, 190, 25, 192, 20, 21, 244, 245,
2745 373, 357, 21, 188, 189, 116, 25, 25, 193, 194,
2746 201, 1001, 1002, 114, 115, 21, 24, 21, 209, 25,
2747 11, 25, 213, 20, 21, 216, 34, 34, 35, 36,
2748 1001, 1002, 24, 224, 21, 22, 802, 803, 229, 34,
2749 231, 24, 415, 26, 1034, 91, 32, 33, 188, 189,
2750 190, 34, 192, 244, 245, 1045, 21, 1047, 1048, 19,
2751 1168, 1045, 19, 436, 437, 19, 1056, 19, 1058, 1059,
2752 52, 53, 54, 24, 91, 24, 432, 188, 189, 190,
2753 846, 192, 188, 189, 190, 1075, 27, 193, 194, 195,
2754 1080, 1080, 25, 21, 21, 451, 22, 453, 1088, 455,
2755 18, 25, 458, 1093, 1093, 461, 25, 463, 1098, 1080,
2756 21, 25, 1178, 302, 11, 24, 472, 1088, 22, 475,
2757 1093, 24, 1093, 188, 189, 190, 482, 1098, 193, 194,
2758 1120, 1121, 1122, 1123, 24, 1125, 1126, 25, 27, 23,
2759 20, 497, 19, 19, 1134, 20, 1136, 21, 27, 1139,
2760 1121, 1122, 1218, 1143, 23, 1145, 1146, 24, 1148, 21,
2761 5, 1154, 25, 19, 1154, 22, 25, 1233, 20, 415,
2762 24, 73, 20, 24, 1145, 1146, 184, 185, 1168, 25,
2763 188, 189, 25, 1154, 192, 951, 559, 27, 1254, 27,
2764 436, 437, 18, 188, 189, 190, 21, 1168, 193, 194,
2765 21, 1191, 1192, 1193, 1194, 188, 189, 190, 25, 1199,
2766 193, 194, 195, 979, 22, 29, 39, 56, 40, 21,
2767 25, 1192, 1193, 25, 415, 581, 23, 21, 584, 1219,
2768 1219, 25, 34, 35, 36, 25, 189, 25, 10, 18,
2769 34, 35, 36, 25, 600, 436, 437, 91, 1219, 91,
2770 91, 607, 608, 609, 91, 1245, 91, 22, 91, 615,
2771 24, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2772 67, 10, 11, 12, 20, 25, 25, 25, 18, 635,
2773 25, 10, 11, 12, 22, 21, 144, 18, 40, 21,
2774 646, 647, 192, 27, 20, 18, 23, 22, 18, 157,
2775 158, 159, 160, 161, 162, 661, 164, 165, 24, 194,
2776 91, 22, 1078, 559, 22, 21, 21, 20, 22, 20,
2777 91, 677, 40, 25, 196, 25, 18, 18, 27, 685,
2778 27, 687, 25, 24, 20, 691, 20, 27, 29, 30,
2779 31, 32, 33, 34, 700, 701, 25, 89, 318, 705,
2780 943, 1245, 1212, 709, 710, 1139, 47, 48, 49, 1037,
2781 132, 697, 211, 1111, 1046, 1075, 722, 1191, 559, 893,
2782 726, 348, 728, 185, 841, 832, 807, 1219, 584, 735,
2783 71, 688, 154, 686, 156, 864, 130, 303, 12, 709,
2784 511, 244, 1158, 355, 415, 1174, 713, 374, 870, 722,
2785 1034, 869, 379, 380, 381, 382, 383, 384, 385, 386,
2786 387, 388, 389, -1, -1, -1, -1, 156, -1, -1,
2787 -1, 10, 11, 12, -1, 116, -1, 156, -1, 201,
2788 -1, -1, -1, 622, -1, 412, -1, 209, -1, -1,
2789 -1, 213, -1, -1, 216, -1, 123, 124, 125, 126,
2790 -1, 128, 224, -1, -1, -1, 133, 134, -1, 815,
2791 137, 138, 201, 140, 141, 142, 143, -1, -1, -1,
2792 209, -1, 201, 245, 213, -1, -1, 216, 155, 156,
2793 209, -1, -1, -1, 213, 224, 1252, 216, -1, -1,
2794 229, -1, 231, -1, -1, 224, -1, 188, 189, 190,
2795 229, 192, 231, -1, 181, 244, 245, 863, 864, -1,
2796 866, 360, -1, -1, 191, 244, 245, -1, -1, 368,
2797 -1, 370, 23, -1, -1, -1, 298, -1, -1, -1,
2798 -1, -1, -1, -1, 392, 393, 394, 395, 396, 397,
2799 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
2800 -1, -1, -1, 325, 326, 327, 328, 58, 59, 60,
2801 61, 62, 63, 64, 65, 66, 67, 156, -1, -1,
2802 -1, -1, -1, 345, -1, -1, -1, 349, -1, 73,
2803 74, 75, 76, 441, -1, 357, 80, 81, 82, 83,
2804 84, 85, 86, -1, 443, 951, -1, -1, -1, -1,
2805 -1, 459, 958, 375, -1, -1, -1, -1, 10, 11,
2806 12, -1, 201, -1, -1, -1, -1, -1, -1, -1,
2807 209, -1, -1, -1, 213, -1, -1, 216, 817, -1,
2808 -1, 820, -1, -1, -1, 224, -1, 495, -1, -1,
2809 229, -1, 231, 415, -1, -1, -1, -1, -1, 507,
2810 -1, 423, -1, -1, 631, 244, 245, -1, -1, -1,
2811 -1, -1, 511, -1, -1, -1, 643, -1, -1, -1,
2812 -1, -1, -1, -1, -1, -1, 415, -1, 1034, -1,
2813 -1, -1, -1, -1, -1, -1, 415, -1, -1, -1,
2814 -1, -1, -1, 551, -1, -1, 554, 436, 437, -1,
2815 -1, -1, -1, -1, -1, -1, -1, 436, 437, -1,
2816 -1, 560, -1, -1, -1, -1, -1, -1, -1, -1,
2817 -1, 1077, 699, -1, -1, -1, -1, -1, -1, 578,
2818 579, -1, -1, -1, -1, -1, 713, 1093, -1, -1,
2819 1096, -1, -1, 601, -1, -1, 1102, -1, -1, 1105,
2820 1106, -1, -1, -1, 156, 613, -1, -1, -1, -1,
2821 -1, -1, -1, 952, -1, 954, 955, 956, -1, -1,
2822 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2823 -1, 553, -1, -1, -1, -1, -1, 559, -1, -1,
2824 648, 649, -1, 1149, -1, -1, -1, -1, -1, 201,
2825 1156, 1157, -1, 661, -1, -1, -1, 209, 657, 658,
2826 -1, 213, 1168, -1, 216, -1, -1, -1, -1, -1,
2827 559, 670, 224, -1, -1, -1, 415, 229, -1, 231,
2828 559, -1, -1, -1, -1, -1, -1, -1, -1, 1195,
2829 -1, -1, 244, 245, -1, -1, -1, 436, 437, -1,
2830 -1, -1, -1, -1, -1, -1, -1, 629, 835, 1215,
2831 1216, -1, 711, 840, 722, -1, 1222, 844, -1, -1,
2832 -1, -1, 730, -1, -1, -1, -1, -1, 736, 737,
2833 738, 739, 740, 741, 742, 743, -1, 659, -1, -1,
2834 -1, 663, -1, 870, 1083, -1, 1085, -1, -1, -1,
2835 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2836 -1, -1, -1, -1, -1, 892, 893, -1, -1, -1,
2837 -1, 898, 899, 900, 901, 902, 903, 904, 905, 906,
2838 907, 908, -1, -1, 24, -1, -1, -1, -1, 29,
2839 30, 31, 32, 33, 34, -1, -1, -1, -1, 721,
2840 -1, -1, 42, 43, 726, -1, 728, 47, 48, 49,
2841 -1, -1, -1, 735, -1, -1, -1, 825, -1, -1,
2842 559, 948, -1, -1, -1, -1, -1, 1, 836, -1,
2843 -1, 71, 6, 7, 8, -1, 10, 11, 12, 13,
2844 14, 15, 16, 17, 18, 19, -1, -1, -1, -1,
2845 24, -1, -1, -1, -1, 29, 30, 31, 32, 33,
2846 34, -1, -1, 415, -1, -1, -1, -1, 42, 43,
2847 -1, -1, 880, 47, 48, 49, 116, -1, -1, -1,
2848 -1, -1, -1, -1, 436, 437, -1, -1, -1, -1,
2849 -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
2850 -1, 909, 910, 911, 912, 913, 914, 915, 916, 917,
2851 918, 919, 920, 921, 922, 923, 924, 925, -1, 927,
2852 -1, 95, 96, 97, 98, 99, 100, 101, 102, -1,
2853 -1, -1, -1, -1, -1, -1, -1, 111, -1, -1,
2854 -1, -1, 116, -1, -1, -1, -1, -1, 188, 189,
2855 190, -1, 192, -1, -1, -1, -1, -1, -1, -1,
2856 -1, 1088, -1, -1, -1, -1, -1, -1, -1, -1,
2857 -1, -1, 894, -1, -1, -1, -1, -1, -1, -1,
2858 -1, -1, -1, -1, -1, -1, -1, -1, 996, -1,
2859 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2860 -1, -1, -1, -1, -1, -1, -1, 559, -1, -1,
2861 -1, -1, -1, -1, 188, 189, 190, -1, 192, 193,
2862 194, -1, -1, -1, -1, -1, 1034, -1, -1, -1,
2863 -1, -1, -1, -1, -1, 1, -1, -1, -1, -1,
2864 6, 7, 8, -1, 10, 11, 12, 13, 14, 15,
2865 16, 17, 18, 19, 20, 21, 22, 23, 24, -1,
2866 26, 983, 28, 29, 30, 31, 32, 33, 34, 35,
2867 36, 37, 38, 39, 40, 41, 42, 43, -1, 45,
2868 -1, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2869 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2870 66, 67, -1, -1, -1, 71, -1, -1, -1, -1,
2871 1032, -1, -1, -1, -1, -1, -1, -1, -1, 0,
2872 1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2873 96, 97, 98, 99, 100, 101, 102, 18, -1, -1,
2874 -1, -1, -1, 24, -1, 111, -1, -1, -1, -1,
2875 116, -1, -1, 34, -1, -1, -1, -1, -1, -1,
2876 -1, -1, -1, 44, -1, 46, -1, -1, -1, -1,
2877 1178, -1, -1, -1, -1, 1097, -1, -1, -1, -1,
2878 -1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
2879 -1, 72, -1, -1, -1, -1, 77, 78, 79, -1,
2880 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2881 1218, 92, 93, 94, -1, -1, -1, -1, -1, -1,
2882 -1, -1, 188, 189, 190, 1233, 192, 193, 194, -1,
2883 -1, 112, 113, 114, 115, -1, 117, 118, 119, 120,
2884 121, 122, 123, 124, 125, 126, 1254, 128, 129, 130,
2885 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2886 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2887 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2888 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2889 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
2890 181, 0, 1, -1, -1, -1, -1, 188, 189, 190,
2891 191, -1, 193, 194, 195, -1, -1, -1, -1, 18,
2892 -1, -1, -1, -1, -1, 24, -1, -1, -1, -1,
2893 -1, -1, -1, -1, -1, 34, -1, -1, -1, -1,
2894 -1, -1, -1, -1, -1, 44, -1, 46, -1, -1,
2895 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2896 -1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
2897 69, 70, -1, 72, -1, -1, -1, -1, 77, 78,
2898 79, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2899 -1, -1, -1, 92, 93, 94, -1, -1, -1, -1,
2900 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2901 -1, -1, -1, 112, 113, 114, 115, -1, 117, 118,
2902 119, 120, 121, 122, 123, 124, 125, 126, -1, 128,
2903 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2904 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2905 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2906 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2907 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
2908 179, 180, 181, -1, -1, -1, -1, -1, -1, 188,
2909 189, 190, 191, 1, 193, 194, 195, -1, 6, 7,
2910 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
2911 18, 19, 20, -1, -1, -1, 24, -1, -1, -1,
2912 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2913 -1, -1, -1, -1, 42, 43, 44, -1, 46, 47,
2914 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2915 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2916 68, 69, 70, 71, 72, -1, -1, -1, -1, -1,
2917 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2918 -1, -1, -1, -1, -1, -1, -1, -1, 96, 97,
2919 98, 99, 100, 101, 102, -1, -1, -1, -1, -1,
2920 -1, -1, -1, 111, 112, 113, 114, 115, 116, 117,
2921 118, 119, 120, 121, 122, 123, 124, 125, 126, -1,
2922 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2923 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2924 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2925 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2926 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2927 178, 179, 180, 181, -1, -1, -1, -1, -1, -1,
2928 188, 189, 190, 191, 192, 193, 194, 195, 1, -1,
2929 -1, -1, -1, 6, 7, 8, -1, 10, 11, 12,
2930 13, 14, 15, 16, 17, 18, 19, -1, -1, -1,
2931 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2932 33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
2933 43, 44, -1, -1, 47, 48, 49, -1, -1, -1,
2934 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2935 -1, -1, -1, -1, -1, 68, 69, 70, 71, -1,
2936 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2937 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2938 -1, -1, -1, 96, 97, 98, 99, 100, 101, 102,
2939 -1, -1, -1, -1, -1, -1, -1, -1, 111, 112,
2940 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
2941 123, 124, 125, 126, -1, 128, 129, 130, 131, 132,
2942 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
2943 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2944 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2945 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2946 173, 174, 175, 176, 177, 178, 179, 180, 181, -1,
2947 -1, -1, -1, -1, -1, 188, 189, 190, 191, 192,
2948 193, 194, 195, 1, -1, -1, -1, -1, 6, 7,
2949 8, -1, -1, 11, 12, 13, 14, 15, 16, 17,
2950 18, 19, 20, -1, -1, -1, 24, -1, -1, -1,
2951 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2952 -1, -1, -1, -1, 42, 43, 44, -1, -1, 47,
2953 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2954 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2955 68, 69, 70, 71, -1, -1, -1, -1, -1, -1,
2956 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2957 -1, -1, -1, -1, -1, -1, -1, -1, -1, 97,
2958 98, 99, 100, 101, 102, -1, -1, -1, -1, -1,
2959 -1, -1, -1, 111, 112, 113, 114, 115, 116, 117,
2960 118, 119, 120, 121, 122, 123, 124, 125, 126, -1,
2961 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2962 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2963 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2964 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2965 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2966 178, 179, 180, 181, -1, -1, -1, -1, -1, -1,
2967 188, 189, 190, 191, 192, 193, 194, 195, 1, -1,
2968 -1, -1, -1, 6, 7, 8, -1, 10, 11, 12,
2969 13, 14, 15, 16, 17, 18, 19, -1, -1, -1,
2970 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2971 33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
2972 43, -1, 1, -1, 47, 48, 49, 6, 7, 8,
2973 -1, -1, 11, 12, 13, 14, 15, 16, 17, 18,
2974 19, 20, -1, -1, -1, 24, 25, -1, 71, -1,
2975 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
2976 -1, -1, -1, 42, 43, -1, -1, -1, 47, 48,
2977 49, -1, 95, 96, 97, 98, 99, 100, 101, 102,
2978 -1, -1, -1, -1, -1, -1, -1, -1, 111, -1,
2979 -1, -1, 71, 116, -1, -1, -1, -1, -1, -1,
2980 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2981 -1, -1, -1, -1, -1, -1, 95, -1, 97, 98,
2982 99, 100, 101, 102, -1, -1, -1, -1, -1, -1,
2983 -1, -1, 111, -1, -1, -1, -1, 116, -1, -1,
2984 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2985 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2986 -1, -1, -1, -1, -1, 188, 189, 190, -1, 192,
2987 193, 194, -1, -1, -1, 1, -1, -1, -1, -1,
2988 6, 7, 8, -1, 10, 11, 12, 13, 14, 15,
2989 16, 17, 18, 19, 20, -1, -1, -1, 24, -1,
2990 -1, -1, -1, 29, 30, 31, 32, 33, 34, 188,
2991 189, 190, -1, 192, 193, 194, 42, 43, -1, 1,
2992 -1, 47, 48, 49, 6, 7, 8, -1, 10, 11,
2993 12, 13, 14, 15, 16, 17, 18, 19, -1, -1,
2994 -1, -1, 24, -1, -1, 71, -1, 29, 30, 31,
2995 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
2996 42, 43, -1, -1, -1, 47, 48, 49, -1, -1,
2997 96, 97, 98, 99, 100, 101, 102, -1, -1, -1,
2998 -1, -1, -1, -1, -1, 111, -1, -1, -1, 71,
2999 116, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3000 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3001 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
3002 102, -1, -1, -1, -1, -1, -1, -1, 19, 111,
3003 -1, -1, -1, 24, 116, 26, -1, 28, 29, 30,
3004 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
3005 -1, -1, -1, -1, -1, -1, 47, 48, 49, -1,
3006 -1, -1, 188, 189, 190, -1, 192, 193, 194, -1,
3007 -1, -1, 1, -1, -1, -1, -1, 6, 7, 8,
3008 71, -1, 11, 12, 13, 14, 15, 16, 17, 18,
3009 19, 20, -1, -1, -1, 24, -1, -1, -1, -1,
3010 29, 30, 31, 32, 33, 34, 188, 189, 190, -1,
3011 192, 193, 194, 42, 43, -1, 1, -1, 47, 48,
3012 49, 6, 7, 8, -1, 116, 11, 12, 13, 14,
3013 15, 16, 17, 18, 19, 20, -1, -1, -1, 24,
3014 -1, -1, 71, -1, 29, 30, 31, 32, 33, 34,
3015 -1, -1, -1, -1, -1, -1, -1, 42, 43, -1,
3016 -1, -1, 47, 48, 49, -1, 95, -1, 97, 98,
3017 99, 100, 101, 102, -1, -1, -1, -1, -1, -1,
3018 19, 20, 111, -1, -1, 24, 71, 116, -1, -1,
3019 29, 30, 31, 32, 33, 34, -1, 188, 189, 190,
3020 -1, 192, 193, 194, -1, -1, -1, -1, 47, 48,
3021 49, -1, 97, 98, 99, 100, 101, 102, -1, -1,
3022 -1, -1, -1, -1, -1, -1, 111, -1, -1, -1,
3023 -1, 116, 71, -1, -1, -1, -1, -1, -1, -1,
3024 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3025 -1, -1, -1, -1, -1, -1, -1, -1, -1, 188,
3026 189, 190, -1, 192, 193, 194, -1, -1, -1, -1,
3027 -1, -1, -1, -1, 6, 7, 8, 116, 10, 11,
3028 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
3029 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
3030 32, 33, 34, 188, 189, 190, -1, 192, 193, 194,
3031 42, 43, 44, -1, 46, 47, 48, 49, -1, -1,
3032 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3033 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3034 72, -1, -1, -1, -1, -1, -1, -1, -1, 188,
3035 189, 190, -1, 192, -1, -1, -1, -1, -1, -1,
3036 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
3037 102, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3038 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
3039 122, 123, 124, 125, 126, -1, 128, 129, 130, 131,
3040 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
3041 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3042 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
3043 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3044 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
3045 -1, -1, -1, -1, -1, -1, 188, 189, 190, 191,
3046 192, 193, 194, 195, 6, 7, 8, -1, 10, 11,
3047 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
3048 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
3049 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
3050 42, 43, 44, -1, 46, 47, 48, 49, -1, -1,
3051 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3052 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3053 72, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3054 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3055 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
3056 102, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3057 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
3058 122, 123, 124, 125, 126, -1, 128, 129, 130, 131,
3059 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
3060 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3061 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
3062 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3063 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
3064 -1, -1, -1, -1, -1, -1, 188, 189, 190, 191,
3065 192, 193, 194, 195, 6, 7, 8, -1, 10, 11,
3066 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
3067 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
3068 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
3069 42, 43, 44, -1, 46, 47, 48, 49, -1, -1,
3070 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3071 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3072 72, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3073 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3074 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
3075 102, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3076 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
3077 122, 123, 124, 125, 126, -1, 128, 129, 130, 131,
3078 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
3079 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3080 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
3081 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3082 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
3083 -1, -1, -1, -1, -1, -1, 188, 189, 190, 191,
3084 192, 193, 194, 195, 6, 7, 8, -1, 10, 11,
3085 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
3086 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
3087 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
3088 -1, -1, -1, -1, -1, 47, 48, 49, 6, 7,
3089 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
3090 18, 19, 20, -1, -1, -1, 24, -1, -1, 71,
3091 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
3092 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
3093 48, 49, -1, -1, 96, 97, 98, 99, 100, 101,
3094 102, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3095 -1, -1, -1, 71, 116, -1, -1, -1, -1, -1,
3096 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3097 -1, -1, -1, -1, -1, -1, -1, -1, 96, 97,
3098 98, 99, 100, 101, 102, -1, -1, -1, -1, -1,
3099 -1, -1, -1, 111, -1, 6, 7, 8, 116, 10,
3100 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
3101 -1, -1, -1, 24, -1, -1, -1, -1, 29, 30,
3102 31, 32, 33, 34, -1, -1, 188, 189, 190, -1,
3103 192, 193, 194, -1, -1, -1, 47, 48, 49, 6,
3104 7, 8, -1, 10, 11, 12, 13, 14, 15, 16,
3105 17, 18, 19, 20, -1, -1, -1, 24, -1, -1,
3106 71, -1, 29, 30, 31, 32, 33, 34, -1, -1,
3107 188, 189, 190, -1, 192, 193, 194, -1, -1, -1,
3108 47, 48, 49, -1, -1, 96, 97, 98, 99, 100,
3109 101, 102, -1, -1, -1, -1, -1, -1, -1, -1,
3110 111, -1, -1, -1, 71, 116, -1, -1, -1, -1,
3111 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3112 -1, -1, -1, -1, -1, -1, -1, -1, -1, 96,
3113 97, 98, 99, 100, 101, 102, -1, -1, -1, -1,
3114 -1, -1, -1, -1, 111, -1, 6, 7, 8, 116,
3115 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
3116 20, -1, -1, -1, 24, -1, -1, -1, -1, 29,
3117 30, 31, 32, 33, 34, -1, -1, 188, 189, 190,
3118 -1, 192, 193, 194, -1, -1, -1, 47, 48, 49,
3119 6, 7, 8, -1, 10, 11, 12, 13, 14, 15,
3120 16, 17, 18, 19, 20, -1, -1, -1, 24, -1,
3121 -1, 71, -1, 29, 30, 31, 32, 33, 34, -1,
3122 -1, 188, 189, 190, -1, 192, 193, 194, -1, -1,
3123 -1, 47, 48, 49, -1, -1, 96, 97, 98, 99,
3124 100, 101, 102, -1, -1, -1, -1, -1, -1, -1,
3125 -1, 111, -1, -1, -1, 71, 116, -1, -1, -1,
3126 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3127 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3128 96, 97, 98, 99, 100, 101, 102, -1, -1, -1,
3129 -1, -1, -1, -1, -1, 111, -1, 6, 7, 8,
3130 116, 10, 11, 12, 13, 14, 15, 16, 17, 18,
3131 19, 20, -1, -1, -1, 24, -1, -1, -1, -1,
3132 29, 30, 31, 32, 33, 34, -1, -1, 188, 189,
3133 190, -1, 192, 193, 194, -1, -1, -1, 47, 48,
3134 49, 6, 7, 8, -1, 10, 11, 12, 13, 14,
3135 15, 16, 17, 18, 19, -1, -1, -1, -1, 24,
3136 -1, -1, 71, -1, 29, 30, 31, 32, 33, 34,
3137 -1, -1, 188, 189, 190, -1, 192, 193, 194, -1,
3138 -1, -1, 47, 48, 49, -1, -1, 96, 97, 98,
3139 99, 100, 101, 102, -1, -1, -1, -1, -1, -1,
3140 -1, -1, 111, -1, -1, -1, 71, 116, -1, -1,
3141 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3142 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3143 -1, 96, 97, 98, 99, 100, 101, 102, 19, -1,
3144 -1, -1, -1, 24, -1, -1, 111, -1, -1, -1,
3145 -1, 116, -1, -1, -1, -1, -1, -1, -1, -1,
3146 -1, -1, -1, 44, -1, 46, -1, -1, -1, -1,
3147 -1, -1, -1, -1, -1, -1, -1, -1, -1, 188,
3148 189, 190, -1, 192, 193, 194, -1, -1, -1, -1,
3149 -1, 72, -1, -1, -1, -1, -1, -1, -1, -1,
3150 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3151 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3152 -1, -1, -1, 188, 189, 190, -1, 192, 193, 194,
3153 -1, 112, 113, 114, 115, -1, 117, 118, 119, 120,
3154 121, 122, 123, 124, 125, 126, -1, 128, 129, 130,
3155 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
3156 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
3157 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
3158 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
3159 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
3160 181, 20, -1, -1, -1, -1, -1, -1, -1, 190,
3161 191, -1, -1, -1, 195, -1, -1, -1, -1, -1,
3162 -1, -1, -1, -1, -1, 44, -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, -1, -1, -1, -1, -1, -1, -1,
3168 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3169 -1, -1, -1, 112, 113, 114, 115, -1, 117, 118,
3170 119, 120, 121, 122, 123, 124, 125, 126, -1, 128,
3171 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
3172 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
3173 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
3174 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
3175 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
3176 179, 180, 181, -1, -1, -1, -1, -1, 19, 20,
3177 -1, 190, 191, 24, -1, 26, 195, 28, 29, 30,
3178 31, 32, 33, 34, -1, -1, -1, -1, -1, 19,
3179 -1, -1, -1, -1, 24, -1, 47, 48, 49, 29,
3180 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
3181 -1, -1, 42, 43, -1, -1, 19, 47, 48, 49,
3182 71, 24, -1, -1, -1, -1, 29, 30, 31, 32,
3183 33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
3184 43, 71, -1, 19, 47, 48, 49, -1, 24, -1,
3185 -1, -1, -1, 29, 30, 31, 32, 33, 34, -1,
3186 -1, -1, -1, -1, 19, 116, -1, -1, 71, 24,
3187 -1, 47, 48, 49, 29, 30, 31, 32, 33, 34,
3188 -1, -1, -1, -1, -1, -1, 116, -1, -1, -1,
3189 -1, -1, 47, 48, 49, 71, -1, -1, -1, -1,
3190 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3191 -1, -1, -1, 116, -1, -1, 71, -1, -1, -1,
3192 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3193 -1, -1, -1, -1, -1, -1, -1, 188, 189, 190,
3194 116, 192, 193, 194, -1, -1, -1, -1, -1, -1,
3195 -1, -1, -1, 24, -1, -1, -1, -1, 188, 189,
3196 190, 116, 192, 34, -1, -1, -1, -1, -1, -1,
3197 -1, -1, -1, 44, -1, -1, -1, -1, -1, -1,
3198 -1, -1, -1, -1, -1, 188, 189, 190, -1, 192,
3199 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3200 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3201 -1, -1, 188, 189, 190, -1, 192, -1, -1, -1,
3202 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3203 -1, -1, -1, 188, 189, 190, -1, 192, -1, -1,
3204 -1, 112, 113, 114, 115, -1, 117, 118, 119, 120,
3205 121, 122, 123, 124, 125, 126, -1, 128, 129, 130,
3206 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
3207 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
3208 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
3209 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
3210 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
3211 181, -1, -1, -1, -1, -1, -1, 188, 189, 190,
3212 191, -1, 193, 194, 195, 24, 25, -1, -1, -1,
3213 29, 30, 31, 32, 33, 34, 24, -1, -1, 27,
3214 -1, 29, 30, 31, 32, 33, 34, -1, 47, 48,
3215 49, -1, -1, -1, -1, -1, -1, 24, 25, 47,
3216 48, 49, 29, 30, 31, 32, 33, 34, 24, -1,
3217 -1, 27, 71, 29, 30, 31, 32, 33, 34, -1,
3218 47, 48, 49, 71, -1, -1, -1, -1, -1, 24,
3219 25, 47, 48, 49, 29, 30, 31, 32, 33, 34,
3220 24, -1, -1, -1, 71, 29, 30, 31, 32, 33,
3221 34, -1, 47, 48, 49, 71, -1, 116, -1, -1,
3222 -1, -1, -1, 47, 48, 49, -1, -1, 116, -1,
3223 -1, -1, 24, -1, -1, -1, 71, 29, 30, 31,
3224 32, 33, 34, -1, -1, -1, -1, 71, -1, 116,
3225 -1, -1, -1, -1, -1, 47, 48, 49, -1, 24,
3226 116, -1, -1, -1, 29, 30, 31, 32, 33, 34,
3227 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3228 -1, 116, 47, 48, 49, -1, -1, -1, -1, 188,
3229 189, 190, 116, 192, -1, -1, -1, -1, -1, -1,
3230 188, 189, 190, 24, 192, -1, 71, -1, 29, 30,
3231 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
3232 -1, 188, 189, 190, 116, 192, 47, 48, 49, -1,
3233 -1, -1, 188, 189, 190, -1, 192, 24, -1, -1,
3234 -1, -1, 29, 30, 31, 32, 33, 34, -1, -1,
3235 71, 116, -1, 188, 189, 190, -1, 192, -1, -1,
3236 47, 48, 49, -1, 188, 189, 190, -1, 192, -1,
3237 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3238 -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
3239 -1, -1, -1, -1, -1, 116, 188, 189, 190, -1,
3240 192, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3241 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3242 -1, -1, -1, 188, 189, 190, -1, 192, -1, 116,
3243 -1, -1, -1, -1, -1, -1, -1, -1, 44, -1,
3244 46, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3245 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3246 -1, -1, 68, 69, 70, -1, 72, 188, 189, 190,
3247 -1, 192, -1, -1, -1, -1, -1, -1, -1, -1,
3248 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3249 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3250 -1, 188, 189, 190, -1, 192, 112, 113, 114, 115,
3251 -1, 117, 118, 119, 120, 121, 122, 123, 124, 125,
3252 126, -1, 128, 129, 130, 131, 132, 133, 134, 135,
3253 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
3254 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
3255 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
3256 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
3257 176, 177, 178, 179, 180, 181, 44, -1, 46, -1,
3258 -1, -1, -1, -1, 190, 191, -1, -1, -1, 195,
3259 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3260 -1, -1, -1, -1, 72, -1, -1, -1, -1, -1,
3261 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3262 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3263 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3264 -1, -1, -1, -1, 112, 113, 114, 115, -1, 117,
3265 118, 119, 120, 121, 122, 123, 124, 125, 126, -1,
3266 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
3267 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
3268 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
3269 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
3270 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
3271 178, 179, 180, 181, 44, -1, -1, -1, -1, -1,
3272 188, 189, 190, 191, -1, -1, -1, 195, -1, -1,
3273 -1, -1, -1, -1, -1, -1, -1, -1, 68, 69,
3274 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3275 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3276 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3277 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3278 -1, -1, 112, 113, 114, 115, -1, 117, 118, 119,
3279 120, 121, 122, 123, 124, 125, 126, -1, 128, 129,
3280 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
3281 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
3282 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
3283 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
3284 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
3285 180, 181, 44, -1, -1, -1, -1, -1, -1, -1,
3286 190, 191, -1, -1, -1, 195, -1, -1, -1, -1,
3287 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3288 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3289 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3290 92, 93, 94, -1, -1, -1, -1, -1, -1, -1,
3291 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3292 112, 113, 114, 115, -1, 117, 118, 119, 120, 121,
3293 122, 123, 124, 125, 126, -1, 128, 129, 130, 131,
3294 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
3295 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3296 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
3297 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3298 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
3299 44, -1, 46, -1, -1, -1, -1, -1, 190, 191,
3300 -1, -1, -1, 195, -1, -1, -1, -1, -1, -1,
3301 -1, -1, -1, -1, -1, -1, -1, -1, 72, -1,
3302 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3303 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3304 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3305 -1, -1, -1, -1, -1, -1, -1, -1, 112, 113,
3306 114, 115, -1, 117, 118, 119, 120, 121, 122, 123,
3307 124, 125, 126, -1, 128, 129, 130, 131, 132, 133,
3308 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
3309 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
3310 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
3311 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
3312 174, 175, 176, 177, 178, 179, 180, 181, 44, -1,
3313 -1, -1, -1, -1, -1, -1, 190, 191, -1, -1,
3314 -1, 195, -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, -1, -1, -1, -1,
3318 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3319 -1, -1, -1, -1, -1, -1, 112, 113, 114, 115,
3320 -1, 117, 118, 119, 120, 121, 122, 123, 124, 125,
3321 126, -1, 128, 129, 130, 131, 132, 133, 134, 135,
3322 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
3323 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
3324 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
3325 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
3326 176, 177, 178, 179, 180, 181, -1, -1, -1, -1,
3327 -1, -1, -1, -1, 190, 191, -1, -1, -1, 195
3330 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
3331 symbol of state STATE-NUM. */
3332 static const yytype_uint16 yystos[] =
3334 0, 1, 18, 34, 44, 46, 72, 77, 78, 79,
3335 92, 93, 94, 112, 113, 114, 115, 117, 118, 119,
3336 120, 121, 122, 123, 124, 125, 126, 128, 129, 130,
3337 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
3338 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
3339 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
3340 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
3341 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
3342 181, 188, 189, 190, 191, 193, 194, 195, 198, 199,
3343 200, 201, 202, 206, 212, 215, 216, 256, 261, 303,
3344 304, 310, 312, 324, 334, 335, 336, 337, 338, 339,
3345 340, 341, 342, 343, 344, 345, 347, 349, 352, 361,
3346 366, 371, 375, 470, 471, 472, 112, 113, 114, 373,
3347 374, 375, 24, 308, 314, 315, 347, 371, 190, 347,
3348 203, 190, 471, 1, 6, 7, 8, 10, 11, 12,
3349 13, 14, 15, 16, 17, 18, 24, 29, 30, 31,
3350 32, 33, 34, 47, 48, 49, 71, 95, 96, 97,
3351 98, 99, 100, 101, 102, 111, 116, 189, 190, 192,
3352 193, 269, 271, 273, 275, 278, 281, 282, 283, 284,
3353 285, 286, 287, 288, 289, 290, 292, 294, 299, 300,
3354 388, 393, 403, 404, 405, 407, 410, 414, 415, 423,
3355 429, 430, 431, 434, 436, 442, 464, 466, 467, 470,
3356 471, 1, 11, 18, 24, 193, 194, 300, 389, 391,
3357 392, 393, 396, 398, 399, 401, 402, 405, 407, 410,
3358 415, 419, 428, 430, 435, 464, 467, 389, 390, 312,
3359 312, 312, 361, 361, 361, 361, 361, 361, 361, 361,
3360 361, 361, 0, 200, 26, 313, 19, 257, 259, 18,
3361 468, 24, 347, 350, 312, 312, 312, 312, 312, 312,
3362 312, 312, 361, 312, 350, 350, 312, 361, 88, 361,
3363 68, 69, 70, 361, 206, 361, 373, 375, 24, 189,
3364 190, 300, 312, 346, 383, 470, 21, 312, 312, 311,
3365 312, 361, 361, 204, 205, 209, 312, 347, 375, 471,
3366 24, 273, 294, 302, 411, 24, 24, 24, 24, 471,
3367 18, 18, 18, 300, 270, 300, 383, 404, 281, 281,
3368 281, 281, 281, 281, 312, 24, 273, 273, 24, 24,
3369 16, 16, 16, 16, 15, 102, 406, 24, 387, 388,
3370 393, 405, 407, 410, 413, 415, 428, 431, 434, 436,
3371 464, 465, 467, 437, 24, 26, 48, 49, 361, 23,
3372 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
3373 276, 312, 34, 35, 36, 32, 33, 50, 51, 37,
3374 38, 52, 53, 54, 55, 29, 39, 40, 56, 41,
3375 57, 18, 21, 404, 95, 19, 422, 404, 387, 404,
3376 192, 404, 22, 24, 300, 398, 415, 18, 95, 398,
3377 398, 303, 347, 424, 19, 20, 400, 391, 404, 95,
3378 27, 312, 24, 258, 424, 361, 18, 371, 348, 383,
3379 312, 471, 312, 471, 19, 471, 300, 25, 347, 26,
3380 312, 375, 384, 386, 25, 361, 18, 361, 18, 23,
3381 371, 468, 26, 313, 24, 361, 209, 5, 361, 372,
3382 378, 379, 380, 408, 22, 300, 300, 300, 300, 301,
3383 18, 18, 24, 413, 25, 25, 25, 24, 383, 299,
3384 300, 18, 18, 18, 18, 18, 406, 6, 7, 413,
3385 387, 19, 421, 387, 387, 415, 25, 272, 299, 300,
3386 28, 45, 299, 299, 299, 299, 299, 299, 299, 299,
3387 299, 299, 299, 279, 277, 281, 281, 281, 282, 282,
3388 283, 283, 284, 284, 284, 284, 285, 285, 286, 287,
3389 288, 291, 295, 297, 293, 299, 20, 190, 404, 423,
3390 424, 416, 9, 11, 300, 25, 24, 361, 303, 398,
3391 11, 302, 25, 372, 20, 111, 387, 420, 424, 427,
3392 260, 371, 361, 91, 21, 19, 312, 361, 19, 312,
3393 361, 368, 369, 471, 19, 312, 312, 27, 302, 24,
3394 386, 26, 312, 308, 195, 307, 308, 316, 317, 309,
3395 361, 91, 27, 312, 24, 361, 205, 376, 377, 471,
3396 25, 21, 312, 382, 471, 22, 25, 433, 25, 18,
3397 25, 19, 281, 383, 25, 21, 25, 302, 412, 25,
3398 420, 11, 24, 21, 25, 27, 471, 471, 42, 43,
3399 280, 289, 22, 300, 290, 20, 20, 427, 432, 24,
3400 25, 397, 371, 24, 27, 207, 25, 20, 20, 111,
3401 427, 20, 111, 387, 413, 312, 23, 305, 348, 20,
3402 357, 19, 20, 359, 19, 20, 21, 23, 367, 27,
3403 25, 361, 378, 27, 302, 24, 21, 312, 312, 312,
3404 23, 468, 302, 25, 372, 205, 21, 213, 5, 381,
3405 347, 25, 301, 19, 299, 425, 426, 361, 383, 409,
3406 22, 24, 438, 299, 312, 312, 24, 273, 24, 273,
3407 296, 22, 20, 387, 300, 24, 29, 30, 31, 32,
3408 33, 34, 48, 49, 71, 189, 190, 271, 273, 276,
3409 282, 283, 284, 285, 286, 287, 288, 289, 290, 292,
3410 439, 441, 442, 443, 444, 445, 446, 447, 448, 449,
3411 450, 451, 452, 453, 454, 455, 456, 457, 462, 470,
3412 300, 361, 73, 74, 75, 76, 80, 81, 82, 83,
3413 84, 85, 86, 233, 235, 237, 238, 240, 241, 242,
3414 247, 248, 254, 255, 325, 326, 328, 329, 330, 208,
3415 20, 20, 111, 20, 25, 306, 312, 417, 20, 353,
3416 417, 20, 355, 312, 369, 312, 368, 384, 25, 27,
3417 25, 378, 361, 246, 247, 19, 26, 28, 299, 319,
3418 320, 321, 322, 471, 312, 312, 27, 210, 25, 312,
3419 5, 471, 234, 236, 238, 240, 242, 248, 326, 330,
3420 382, 206, 312, 370, 375, 385, 386, 387, 18, 425,
3421 21, 469, 21, 25, 22, 300, 439, 383, 383, 294,
3422 298, 25, 300, 383, 281, 281, 281, 281, 281, 281,
3423 273, 273, 24, 24, 26, 48, 49, 361, 23, 58,
3424 59, 60, 61, 62, 63, 64, 65, 66, 67, 34,
3425 35, 36, 32, 33, 50, 51, 37, 38, 52, 53,
3426 54, 55, 29, 39, 40, 56, 41, 57, 25, 440,
3427 25, 189, 244, 245, 239, 243, 233, 91, 91, 91,
3428 361, 361, 91, 332, 336, 91, 233, 20, 312, 318,
3429 215, 347, 362, 363, 417, 362, 417, 302, 20, 25,
3430 25, 307, 18, 319, 323, 302, 471, 319, 23, 322,
3431 22, 319, 91, 361, 234, 211, 25, 214, 234, 24,
3432 312, 195, 370, 394, 469, 426, 20, 274, 471, 25,
3433 25, 25, 25, 294, 18, 25, 25, 299, 25, 272,
3434 300, 28, 45, 299, 299, 299, 299, 299, 299, 299,
3435 299, 299, 299, 299, 281, 281, 281, 282, 282, 283,
3436 283, 284, 284, 284, 284, 285, 285, 286, 287, 288,
3437 289, 458, 460, 290, 21, 18, 442, 40, 89, 90,
3438 121, 122, 135, 249, 250, 251, 253, 24, 34, 189,
3439 190, 262, 263, 265, 468, 470, 327, 5, 24, 34,
3440 184, 185, 189, 192, 217, 218, 224, 225, 226, 228,
3441 229, 230, 231, 333, 470, 331, 319, 18, 21, 312,
3442 361, 363, 418, 362, 418, 362, 312, 20, 21, 27,
3443 318, 234, 468, 361, 301, 20, 25, 26, 28, 18,
3444 413, 281, 21, 25, 27, 471, 471, 22, 300, 441,
3445 244, 21, 468, 189, 252, 303, 470, 251, 263, 263,
3446 26, 28, 45, 21, 468, 24, 34, 189, 266, 268,
3447 470, 220, 228, 230, 24, 230, 23, 56, 187, 223,
3448 52, 53, 54, 227, 26, 28, 45, 219, 24, 468,
3449 267, 268, 318, 312, 361, 18, 22, 364, 365, 371,
3450 358, 418, 360, 418, 20, 319, 468, 91, 375, 395,
3451 312, 300, 471, 194, 463, 383, 312, 312, 459, 22,
3452 250, 25, 27, 263, 264, 442, 471, 471, 263, 266,
3453 266, 26, 28, 45, 21, 468, 22, 32, 33, 232,
3454 25, 230, 218, 221, 230, 224, 230, 228, 27, 192,
3455 471, 471, 22, 228, 312, 468, 18, 308, 312, 21,
3456 312, 361, 22, 20, 354, 20, 356, 91, 25, 27,
3457 416, 25, 294, 461, 27, 25, 27, 264, 471, 471,
3458 266, 312, 196, 222, 228, 40, 27, 222, 25, 312,
3459 312, 302, 365, 18, 312, 20, 20, 294, 27, 25,
3463 #define yyerrok (yyerrstatus = 0)
3464 #define yyclearin (yychar = YYEMPTY)
3465 #define YYEMPTY (-2)
3468 #define YYACCEPT goto yyacceptlab
3469 #define YYABORT goto yyabortlab
3470 #define YYERROR goto yyerrorlab
3473 /* Like YYERROR except do call yyerror. This remains here temporarily
3474 to ease the transition to the new meaning of YYERROR, for GCC.
3475 Once GCC version 2 has supplanted version 1, this can go. */
3477 #define YYFAIL goto yyerrlab
3479 #define YYRECOVERING() (!!yyerrstatus)
3481 #define YYBACKUP(Token, Value) \
3483 if (yychar == YYEMPTY && yylen == 1) \
3487 yytoken = YYTRANSLATE (yychar); \
3493 yyerror (YY_("syntax error: cannot back up")); \
3500 #define YYERRCODE 256
3503 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
3504 If N is 0, then set CURRENT to the empty location which ends
3505 the previous symbol: RHS[0] (always defined). */
3507 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
3508 #ifndef YYLLOC_DEFAULT
3509 # define YYLLOC_DEFAULT(Current, Rhs, N) \
3513 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
3514 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
3515 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
3516 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
3520 (Current).first_line = (Current).last_line = \
3521 YYRHSLOC (Rhs, 0).last_line; \
3522 (Current).first_column = (Current).last_column = \
3523 YYRHSLOC (Rhs, 0).last_column; \
3529 /* YY_LOCATION_PRINT -- Print the location on the stream.
3530 This macro was not mandated originally: define only if we know
3531 we won't break user code: when these are the locations we know. */
3533 #ifndef YY_LOCATION_PRINT
3534 # if YYLTYPE_IS_TRIVIAL
3535 # define YY_LOCATION_PRINT(File, Loc) \
3536 fprintf (File, "%d.%d-%d.%d", \
3537 (Loc).first_line, (Loc).first_column, \
3538 (Loc).last_line, (Loc).last_column)
3540 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
3545 /* YYLEX -- calling `yylex' with the right arguments. */
3548 # define YYLEX yylex (YYLEX_PARAM)
3550 # define YYLEX yylex ()
3553 /* Enable debugging if requested. */
3557 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
3558 # define YYFPRINTF fprintf
3561 # define YYDPRINTF(Args) \
3567 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
3571 YYFPRINTF (stderr, "%s ", Title); \
3572 yy_symbol_print (stderr, \
3574 YYFPRINTF (stderr, "\n"); \
3579 /*--------------------------------.
3580 | Print this symbol on YYOUTPUT. |
3581 `--------------------------------*/
3584 #if (defined __STDC__ || defined __C99__FUNC__ \
3585 || defined __cplusplus || defined _MSC_VER)
3587 yy_symbol_value_print (FILE *yyoutput, int yytype, cgrammar_YYSTYPE const * const yyvaluep)
3590 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
3593 cgrammar_YYSTYPE const * const yyvaluep;
3599 if (yytype < YYNTOKENS)
3600 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
3612 /*--------------------------------.
3613 | Print this symbol on YYOUTPUT. |
3614 `--------------------------------*/
3616 #if (defined __STDC__ || defined __C99__FUNC__ \
3617 || defined __cplusplus || defined _MSC_VER)
3619 yy_symbol_print (FILE *yyoutput, int yytype, cgrammar_YYSTYPE const * const yyvaluep)
3622 yy_symbol_print (yyoutput, yytype, yyvaluep)
3625 cgrammar_YYSTYPE const * const yyvaluep;
3628 if (yytype < YYNTOKENS)
3629 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
3631 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
3633 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
3634 YYFPRINTF (yyoutput, ")");
3637 /*------------------------------------------------------------------.
3638 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
3640 `------------------------------------------------------------------*/
3642 #if (defined __STDC__ || defined __C99__FUNC__ \
3643 || defined __cplusplus || defined _MSC_VER)
3645 yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
3648 yy_stack_print (bottom, top)
3649 yytype_int16 *bottom;
3653 YYFPRINTF (stderr, "Stack now");
3654 for (; bottom <= top; ++bottom)
3655 YYFPRINTF (stderr, " %d", *bottom);
3656 YYFPRINTF (stderr, "\n");
3659 # define YY_STACK_PRINT(Bottom, Top) \
3662 yy_stack_print ((Bottom), (Top)); \
3666 /*------------------------------------------------.
3667 | Report that the YYRULE is going to be reduced. |
3668 `------------------------------------------------*/
3670 #if (defined __STDC__ || defined __C99__FUNC__ \
3671 || defined __cplusplus || defined _MSC_VER)
3673 yy_reduce_print (cgrammar_YYSTYPE *yyvsp, int yyrule)
3676 yy_reduce_print (yyvsp, yyrule)
3677 cgrammar_YYSTYPE *yyvsp;
3681 int yynrhs = yyr2[yyrule];
3683 unsigned long int yylno = yyrline[yyrule];
3684 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
3686 /* The symbols being reduced. */
3687 for (yyi = 0; yyi < yynrhs; yyi++)
3689 fprintf (stderr, " $%d = ", yyi + 1);
3690 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
3691 &(yyvsp[(yyi + 1) - (yynrhs)])
3693 fprintf (stderr, "\n");
3697 # define YY_REDUCE_PRINT(Rule) \
3700 yy_reduce_print (yyvsp, Rule); \
3703 /* Nonzero means print parse trace. It is left uninitialized so that
3704 multiple parsers can coexist. */
3706 #else /* !YYDEBUG */
3707 # define YYDPRINTF(Args)
3708 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
3709 # define YY_STACK_PRINT(Bottom, Top)
3710 # define YY_REDUCE_PRINT(Rule)
3711 #endif /* !YYDEBUG */
3714 /* YYINITDEPTH -- initial size of the parser's stacks. */
3716 # define YYINITDEPTH 200
3719 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3720 if the built-in stack extension method is used).
3722 Do not make this value too large; the results are undefined if
3723 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
3724 evaluated with infinite-precision integer arithmetic. */
3727 # define YYMAXDEPTH 10000
3735 # if defined __GLIBC__ && defined _STRING_H
3736 # define yystrlen strlen
3738 /* Return the length of YYSTR. */
3739 #if (defined __STDC__ || defined __C99__FUNC__ \
3740 || defined __cplusplus || defined _MSC_VER)
3742 yystrlen (const char *yystr)
3750 for (yylen = 0; yystr[yylen]; yylen++)
3758 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
3759 # define yystpcpy stpcpy
3761 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3763 #if (defined __STDC__ || defined __C99__FUNC__ \
3764 || defined __cplusplus || defined _MSC_VER)
3766 yystpcpy (char *yydest, const char *yysrc)
3769 yystpcpy (yydest, yysrc)
3775 const char *yys = yysrc;
3777 while ((*yyd++ = *yys++) != '\0')
3786 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3787 quotes and backslashes, so that it's suitable for yyerror. The
3788 heuristic is that double-quoting is unnecessary unless the string
3789 contains an apostrophe, a comma, or backslash (other than
3790 backslash-backslash). YYSTR is taken from yytname. If YYRES is
3791 null, do not copy; instead, return the length of what the result
3794 yytnamerr (char *yyres, const char *yystr)
3799 char const *yyp = yystr;
3806 goto do_not_strip_quotes;
3810 goto do_not_strip_quotes;
3823 do_not_strip_quotes: ;
3827 return yystrlen (yystr);
3829 return yystpcpy (yyres, yystr) - yyres;
3833 /* Copy into YYRESULT an error message about the unexpected token
3834 YYCHAR while in state YYSTATE. Return the number of bytes copied,
3835 including the terminating null byte. If YYRESULT is null, do not
3836 copy anything; just return the number of bytes that would be
3837 copied. As a special case, return 0 if an ordinary "syntax error"
3838 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
3839 size calculation. */
3841 yysyntax_error (char *yyresult, int yystate, int yychar)
3843 int yyn = yypact[yystate];
3845 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
3849 int yytype = YYTRANSLATE (yychar);
3850 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
3851 YYSIZE_T yysize = yysize0;
3853 int yysize_overflow = 0;
3854 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3855 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3859 /* This is so xgettext sees the translatable formats that are
3860 constructed on the fly. */
3861 YY_("syntax error, unexpected %s");
3862 YY_("syntax error, unexpected %s, expecting %s");
3863 YY_("syntax error, unexpected %s, expecting %s or %s");
3864 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
3865 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
3869 static char const yyunexpected[] = "syntax error, unexpected %s";
3870 static char const yyexpecting[] = ", expecting %s";
3871 static char const yyor[] = " or %s";
3872 char yyformat[sizeof yyunexpected
3873 + sizeof yyexpecting - 1
3874 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
3875 * (sizeof yyor - 1))];
3876 char const *yyprefix = yyexpecting;
3878 /* Start YYX at -YYN if negative to avoid negative indexes in
3880 int yyxbegin = yyn < 0 ? -yyn : 0;
3882 /* Stay within bounds of both yycheck and yytname. */
3883 int yychecklim = YYLAST - yyn + 1;
3884 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3887 yyarg[0] = yytname[yytype];
3888 yyfmt = yystpcpy (yyformat, yyunexpected);
3890 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3891 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
3893 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3897 yyformat[sizeof yyunexpected - 1] = '\0';
3900 yyarg[yycount++] = yytname[yyx];
3901 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3902 yysize_overflow |= (yysize1 < yysize);
3904 yyfmt = yystpcpy (yyfmt, yyprefix);
3908 yyf = YY_(yyformat);
3909 yysize1 = yysize + yystrlen (yyf);
3910 yysize_overflow |= (yysize1 < yysize);
3913 if (yysize_overflow)
3914 return YYSIZE_MAXIMUM;
3918 /* Avoid sprintf, as that infringes on the user's name space.
3919 Don't have undefined behavior even if the translation
3920 produced a string with the wrong number of "%s"s. */
3921 char *yyp = yyresult;
3923 while ((*yyp = *yyf) != '\0')
3925 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3927 yyp += yytnamerr (yyp, yyarg[yyi++]);
3940 #endif /* YYERROR_VERBOSE */
3943 /*-----------------------------------------------.
3944 | Release the memory associated to this symbol. |
3945 `-----------------------------------------------*/
3948 #if (defined __STDC__ || defined __C99__FUNC__ \
3949 || defined __cplusplus || defined _MSC_VER)
3951 yydestruct (const char *yymsg, int yytype, cgrammar_YYSTYPE *yyvaluep)
3954 yydestruct (yymsg, yytype, yyvaluep)
3957 cgrammar_YYSTYPE *yyvaluep;
3964 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3975 /* Prevent warnings from -Wmissing-prototypes. */
3977 #ifdef YYPARSE_PARAM
3978 #if defined __STDC__ || defined __cplusplus
3979 int yyparse (void *YYPARSE_PARAM);
3983 #else /* ! YYPARSE_PARAM */
3984 #if defined __STDC__ || defined __cplusplus
3989 #endif /* ! YYPARSE_PARAM */
3993 /* The look-ahead symbol. */
3996 /* The semantic value of the look-ahead symbol. */
3997 cgrammar_YYSTYPE yylval;
3999 /* Number of syntax errors so far. */
4008 #ifdef YYPARSE_PARAM
4009 #if (defined __STDC__ || defined __C99__FUNC__ \
4010 || defined __cplusplus || defined _MSC_VER)
4012 yyparse (void *YYPARSE_PARAM)
4015 yyparse (YYPARSE_PARAM)
4016 void *YYPARSE_PARAM;
4018 #else /* ! YYPARSE_PARAM */
4019 #if (defined __STDC__ || defined __C99__FUNC__ \
4020 || defined __cplusplus || defined _MSC_VER)
4034 /* Number of tokens to shift before error messages enabled. */
4036 /* Look-ahead token as an internal (translated) token number. */
4039 /* Buffer for error messages, and its allocated size. */
4041 char *yymsg = yymsgbuf;
4042 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
4045 /* Three stacks and their tools:
4046 `yyss': related to states,
4047 `yyvs': related to semantic values,
4048 `yyls': related to locations.
4050 Refer to the stacks thru separate pointers, to allow yyoverflow
4051 to reallocate them elsewhere. */
4053 /* The state stack. */
4054 yytype_int16 yyssa[YYINITDEPTH];
4055 yytype_int16 *yyss = yyssa;
4056 yytype_int16 *yyssp;
4058 /* The semantic value stack. */
4059 cgrammar_YYSTYPE yyvsa[YYINITDEPTH];
4060 cgrammar_YYSTYPE *yyvs = yyvsa;
4061 cgrammar_YYSTYPE *yyvsp;
4065 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
4067 YYSIZE_T yystacksize = YYINITDEPTH;
4069 /* The variables used to return semantic value and location from the
4071 cgrammar_YYSTYPE yyval;
4074 /* The number of symbols on the RHS of the reduced rule.
4075 Keep to zero when no symbol should be popped. */
4078 YYDPRINTF ((stderr, "Starting parse\n"));
4083 yychar = YYEMPTY; /* Cause a token to be read. */
4085 /* Initialize stack pointers.
4086 Waste one element of value and location stack
4087 so that they stay on the same level as the state stack.
4088 The wasted elements are never initialized. */
4095 /*------------------------------------------------------------.
4096 | yynewstate -- Push a new state, which is found in yystate. |
4097 `------------------------------------------------------------*/
4099 /* In all cases, when you get here, the value and location stacks
4100 have just been pushed. So pushing a state here evens the stacks. */
4106 if (yyss + yystacksize - 1 <= yyssp)
4108 /* Get the current used size of the three stacks, in elements. */
4109 YYSIZE_T yysize = yyssp - yyss + 1;
4113 /* Give user a chance to reallocate the stack. Use copies of
4114 these so that the &'s don't force the real ones into
4116 cgrammar_YYSTYPE *yyvs1 = yyvs;
4117 yytype_int16 *yyss1 = yyss;
4120 /* Each stack pointer address is followed by the size of the
4121 data in use in that stack, in bytes. This used to be a
4122 conditional around just the two extra args, but that might
4123 be undefined if yyoverflow is a macro. */
4124 yyoverflow (YY_("memory exhausted"),
4125 &yyss1, yysize * sizeof (*yyssp),
4126 &yyvs1, yysize * sizeof (*yyvsp),
4133 #else /* no yyoverflow */
4134 # ifndef YYSTACK_RELOCATE
4135 goto yyexhaustedlab;
4137 /* Extend the stack our own way. */
4138 if (YYMAXDEPTH <= yystacksize)
4139 goto yyexhaustedlab;
4141 if (YYMAXDEPTH < yystacksize)
4142 yystacksize = YYMAXDEPTH;
4145 yytype_int16 *yyss1 = yyss;
4146 union yyalloc *yyptr =
4147 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
4149 goto yyexhaustedlab;
4150 YYSTACK_RELOCATE (yyss);
4151 YYSTACK_RELOCATE (yyvs);
4153 # undef YYSTACK_RELOCATE
4155 YYSTACK_FREE (yyss1);
4158 #endif /* no yyoverflow */
4160 yyssp = yyss + yysize - 1;
4161 yyvsp = yyvs + yysize - 1;
4164 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
4165 (unsigned long int) yystacksize));
4167 if (yyss + yystacksize - 1 <= yyssp)
4171 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
4180 /* Do appropriate processing given the current state. Read a
4181 look-ahead token if we need one and don't already have one. */
4183 /* First try to decide what to do without reference to look-ahead token. */
4184 yyn = yypact[yystate];
4185 if (yyn == YYPACT_NINF)
4188 /* Not known => get a look-ahead token if don't already have one. */
4190 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
4191 if (yychar == YYEMPTY)
4193 YYDPRINTF ((stderr, "Reading a token: "));
4197 if (yychar <= YYEOF)
4199 yychar = yytoken = YYEOF;
4200 YYDPRINTF ((stderr, "Now at end of input.\n"));
4204 yytoken = YYTRANSLATE (yychar);
4205 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
4208 /* If the proper action on seeing token YYTOKEN is to reduce or to
4209 detect an error, take that action. */
4211 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
4216 if (yyn == 0 || yyn == YYTABLE_NINF)
4225 /* Count tokens shifted since error; after three, turn off error
4230 /* Shift the look-ahead token. */
4231 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
4233 /* Discard the shifted token unless it is eof. */
4234 if (yychar != YYEOF)
4243 /*-----------------------------------------------------------.
4244 | yydefault -- do the default action for the current state. |
4245 `-----------------------------------------------------------*/
4247 yyn = yydefact[yystate];
4253 /*-----------------------------.
4254 | yyreduce -- Do a reduction. |
4255 `-----------------------------*/
4257 /* yyn is the number of a rule to reduce with. */
4260 /* If YYLEN is nonzero, implement the default value of the action:
4263 Otherwise, the following line sets YYVAL to garbage.
4264 This behavior is undocumented and Bison
4265 users should not rely upon it. Assigning to YYVAL
4266 unconditionally makes the parser a bit smaller, and it avoids a
4267 GCC warning that YYVAL may be used uninitialized. */
4268 yyval = yyvsp[1-yylen];
4271 YY_REDUCE_PRINT (yyn);
4276 { context_checkGlobalScope (); ;}
4281 { context_checkGlobalScope (); ;}
4286 { uentry_clearDecl (); ;}
4291 { uentry_clearDecl (); ;}
4296 { uentry_clearDecl (); ;}
4301 { uentry_clearDecl (); ;}
4306 { uentry_clearDecl (); ;}
4311 { uentry_checkDecl (); exprNode_free ((yyvsp[(1) - (1)].expr)); ;}
4316 { uentry_clearDecl (); lltok_free ((yyvsp[(1) - (1)].tok)); /* evans 2002-02-08: okay to have a null statement */ ;}
4321 { uentry_clearDecl (); ;}
4326 { checkConstant ((yyvsp[(2) - (8)].qtyp), (yyvsp[(4) - (8)].ntyp)); lltok_free2 ((yyvsp[(1) - (8)].tok), (yyvsp[(8) - (8)].tok)); ;}
4331 { 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)); ;}
4336 { context_enterFunctionHeader (); ;}
4342 declareStaticFunction ((yyvsp[(3) - (5)].ntyp)); context_quietExitFunction ();
4343 context_exitFunctionHeader ();
4344 lltok_free2 ((yyvsp[(1) - (5)].tok), (yyvsp[(5) - (5)].tok)); /*!*/
4351 qtype qint = qtype_create (ctype_int);
4352 (yyval.ntyp) = idDecl_fixBase ((yyvsp[(1) - (1)].ntyp), qint);
4359 { (yyval.ntyp) = idDecl_fixBase ((yyvsp[(3) - (3)].ntyp), (yyvsp[(1) - (3)].qtyp)); ;}
4364 { (yyval.ntyp) = (yyvsp[(2) - (2)].ntyp); qtype_adjustPointers ((yyvsp[(1) - (2)].pointers), idDecl_getTyp ((yyval.ntyp))); ;}
4369 { (yyval.ntyp) = idDecl_create ((yyvsp[(1) - (1)].cname), qtype_unknown ()); ;}
4374 { (yyval.ntyp) = idDecl_expectFunction ((yyvsp[(4) - (6)].ntyp)); lltok_free2 ((yyvsp[(2) - (6)].tok), (yyvsp[(6) - (6)].tok)); ;}
4379 { (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)); ;}
4385 exprNode_findValue ((yyvsp[(4) - (6)].expr));
4386 idDecl_notExpectingFunction ((yyvsp[(1) - (6)].ntyp));
4388 if (exprNode_hasValue ((yyvsp[(4) - (6)].expr)))
4390 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (6)].ntyp), ctype_makeInnerFixedArray (idDecl_getCtype ((yyvsp[(1) - (6)].ntyp)),
4391 exprNode_getLongValue ((yyvsp[(4) - (6)].expr))));
4395 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (6)].ntyp), ctype_makeInnerArray (idDecl_getCtype ((yyvsp[(1) - (6)].ntyp))));
4398 lltok_free2 ((yyvsp[(2) - (6)].tok), (yyvsp[(5) - (6)].tok));
4404 { setCurrentParams (uentryList_missingParams); ;}
4409 { /* need to support globals and modifies here! */
4410 functionClauseList fcl;
4411 ctype ct = ctype_makeFunction (idDecl_getCtype ((yyvsp[(1) - (6)].ntyp)),
4412 uentryList_makeMissingParams ());
4414 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (6)].ntyp), ct);
4416 /*drl 7/25/01 added*/
4417 setImplicitfcnConstraints();
4419 DPRINTF((message("namedDeclBase PushType TLPAREN TRPAREN...:\n adding implict constraints to functionClause List: %s",
4420 functionClauseList_unparse((yyvsp[(6) - (6)].funcclauselist))
4424 fcl = functionClauseList_setImplicitConstraints((yyvsp[(6) - (6)].funcclauselist));
4426 idDecl_addClauses ((yyval.ntyp), fcl);
4428 DPRINTF((message("1 added fuctionClause List: %s to the Id",
4429 functionClauseList_unparse(fcl)
4435 lltok_free2 ((yyvsp[(3) - (6)].tok), (yyvsp[(4) - (6)].tok));
4441 { setCurrentParams ((yyvsp[(4) - (5)].entrylist)); ;}
4447 functionClauseList fcl;
4448 setImplicitfcnConstraints ();
4449 clearCurrentParams ();
4450 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (7)].ntyp), ctype_makeFunction (idDecl_getCtype ((yyvsp[(1) - (7)].ntyp)), (yyvsp[(4) - (7)].entrylist)));
4452 DPRINTF((message("namedDeclBase PushType TLPAREN genericParamList TRPAREN...:\n adding implict constraints to functionClause List: %s",
4453 functionClauseList_unparse((yyvsp[(7) - (7)].funcclauselist))
4457 fcl = functionClauseList_setImplicitConstraints((yyvsp[(7) - (7)].funcclauselist));
4459 idDecl_addClauses ((yyval.ntyp), fcl);
4461 DPRINTF((message("added fuctionClause List: %s to the Id",
4462 functionClauseList_unparse(fcl)
4468 lltok_free2 ((yyvsp[(3) - (7)].tok), (yyvsp[(5) - (7)].tok));
4474 { (yyval.ntyp) = idDecl_create ((yyvsp[(1) - (1)].cname), qtype_unknown ()); ;}
4479 { (yyval.ntyp) = idDecl_expectFunction ((yyvsp[(4) - (6)].ntyp)); lltok_free2 ((yyvsp[(2) - (6)].tok), (yyvsp[(6) - (6)].tok)); ;}
4484 { (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (3)].ntyp), ctype_makeInnerArray (idDecl_getCtype ((yyvsp[(1) - (3)].ntyp))));
4485 lltok_free2 ((yyvsp[(2) - (3)].tok), (yyvsp[(3) - (3)].tok));
4494 if (exprNode_hasValue ((yyvsp[(4) - (6)].expr))
4495 && multiVal_isInt (exprNode_getValue ((yyvsp[(4) - (6)].expr))))
4497 value = (int) multiVal_forceInt (exprNode_getValue ((yyvsp[(4) - (6)].expr)));
4504 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (6)].ntyp), ctype_makeInnerFixedArray (idDecl_getCtype ((yyvsp[(1) - (6)].ntyp)), value));
4505 lltok_free2 ((yyvsp[(2) - (6)].tok), (yyvsp[(5) - (6)].tok));
4511 { setCurrentParams (uentryList_missingParams); ;}
4517 ctype ct = ctype_makeFunction (idDecl_getCtype ((yyvsp[(1) - (6)].ntyp)),
4518 uentryList_makeMissingParams ());
4520 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (6)].ntyp), ct);
4521 idDecl_addClauses ((yyval.ntyp), (yyvsp[(6) - (6)].funcclauselist));
4523 lltok_free2 ((yyvsp[(3) - (6)].tok), (yyvsp[(4) - (6)].tok));
4529 { setCurrentParams ((yyvsp[(4) - (5)].entrylist)); ;}
4535 clearCurrentParams ();
4536 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (7)].ntyp), ctype_makeFunction (idDecl_getCtype ((yyvsp[(1) - (7)].ntyp)), (yyvsp[(4) - (7)].entrylist)));
4537 idDecl_addClauses ((yyval.ntyp), (yyvsp[(7) - (7)].funcclauselist));
4539 lltok_free ((yyvsp[(3) - (7)].tok));
4540 /*!! lltok_free2 ($3, $5); */
4546 { setCurrentParams ((yyvsp[(4) - (5)].entrylist)); ;}
4551 { clearCurrentParams (); ;}
4556 { declareCIter ((yyvsp[(2) - (10)].cname), (yyvsp[(4) - (10)].entrylist));
4557 lltok_free3 ((yyvsp[(1) - (10)].tok), (yyvsp[(3) - (10)].tok), (yyvsp[(5) - (10)].tok));
4563 { exprNode_checkMacroBody ((yyvsp[(2) - (3)].expr)); lltok_free2 ((yyvsp[(1) - (3)].tok), (yyvsp[(3) - (3)].tok)); ;}
4568 { exprNode_checkIterBody ((yyvsp[(2) - (3)].expr)); lltok_free2 ((yyvsp[(1) - (3)].tok), (yyvsp[(3) - (3)].tok)); ;}
4573 { exprNode_checkIterEnd ((yyvsp[(2) - (3)].expr)); lltok_free2 ((yyvsp[(1) - (3)].tok), (yyvsp[(3) - (3)].tok));;}
4578 { exprChecks_checkEmptyMacroBody (); lltok_free2 ((yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].tok)); ;}
4583 { clabstract_declareFunction ((yyvsp[(1) - (1)].ntyp)); ;}
4588 { (yyval.msconstraint) = metaStateConstraint_create ((yyvsp[(1) - (3)].msspec), (yyvsp[(3) - (3)].msexpr)); lltok_free ((yyvsp[(2) - (3)].tok)); ;}
4593 { cscannerHelp_expectingMetaStateName (); ;}
4598 { cscannerHelp_clearExpectingMetaStateName ();
4599 (yyval.msspec) = metaStateSpecifier_create ((yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].msinfo));
4600 lltok_free ((yyvsp[(3) - (4)].tok));
4606 { cscannerHelp_expectingMetaStateName (); ;}
4611 { cscannerHelp_clearExpectingMetaStateName ();
4612 (yyval.msspec) = metaStateSpecifier_createElipsis ((yyvsp[(4) - (4)].msinfo));
4613 lltok_free2 ((yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].tok));
4619 { (yyval.msexpr) = metaStateExpression_create ((yyvsp[(1) - (1)].msspec)); ;}
4624 { (yyval.msexpr) = metaStateExpression_createMerge ((yyvsp[(1) - (3)].msspec), (yyvsp[(3) - (3)].msexpr)); lltok_free ((yyvsp[(2) - (3)].tok)); ;}
4629 { (yyval.conL) = constraintList_add ((yyvsp[(3) - (3)].conL), (yyvsp[(1) - (3)].con)); ;}
4634 { (yyval.conL) = constraintList_single ((yyvsp[(1) - (1)].con)); ;}
4640 (yyval.con) = makeConstraintParse3 ((yyvsp[(1) - (3)].conE), (yyvsp[(2) - (3)].tok), (yyvsp[(3) - (3)].conE));
4641 DPRINTF(("Done BufConstraint1\n")); ;}
4646 {(yyval.conE) = constraintExpr_parseMakeUnaryOp ((yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].conE)); DPRINTF( ("Got BufConstraintExpr UNary Op ") ); ;}
4652 DPRINTF( ("Got BufConstraintExpr BINary Op ") );
4653 (yyval.conE) = constraintExpr_parseMakeBinaryOp ((yyvsp[(2) - (5)].conE), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].conE)); ;}
4658 { (yyval.conE) = constraintExpr_makeTermsRef ((yyvsp[(1) - (1)].sr));;}
4663 { (yyval.conE) = constraintExpr_makeIntLiteral (exprNode_getLongValue ((yyvsp[(1) - (1)].expr))); ;}
4668 { /*@-onlytrans@*/ (yyval.sr) = checkbufferConstraintClausesId ((yyvsp[(1) - (1)].entry)); /*@=onlytrans@*/ /*@i523@*/ ;}
4673 { (yyval.sr) = fixStateClausesId ((yyvsp[(1) - (1)].cname)); ;}
4678 { (yyval.sr) = sRef_makeAnyArrayFetch ((yyvsp[(1) - (3)].sr)); ;}
4686 t = cstring_toCharsSafe (exprNode_unparse($3));
4689 (yyval.sr) = sRef_makeArrayFetchKnown ((yyvsp[(1) - (4)].sr), exprNode_getLongValue ((yyvsp[(3) - (4)].expr)));
4695 { (yyval.sr) = sRef_constructPointer ((yyvsp[(2) - (2)].sr)); ;}
4700 { (yyval.sr) = (yyvsp[(2) - (3)].sr); ;}
4705 { cstring_markOwned ((yyvsp[(3) - (3)].cname)); (yyval.sr) = sRef_buildField ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
4710 { cstring_markOwned ((yyvsp[(3) - (3)].cname)); (yyval.sr) = sRef_makeArrow ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
4715 { (yyval.funcclauselist) = functionClauseList_new (); ;}
4720 { (yyval.funcclauselist) = functionClauseList_prepend ((yyvsp[(2) - (2)].funcclauselist), (yyvsp[(1) - (2)].funcclause)); ;}
4725 { (yyval.funcclauselist) = functionClauseList_new (); ;}
4730 { (yyval.funcclauselist) = functionClauseList_prepend ((yyvsp[(2) - (2)].funcclauselist), (yyvsp[(1) - (2)].funcclause)); ;}
4735 { (yyval.funcclause) = functionClause_createGlobals ((yyvsp[(1) - (1)].globsclause)); ;}
4740 { (yyval.funcclause) = functionClause_createModifies ((yyvsp[(1) - (1)].modsclause)); ;}
4745 { (yyval.funcclause) = functionClause_createModifies ((yyvsp[(1) - (1)].modsclause)); ;}
4750 { (yyval.funcclause) = functionClause_createState ((yyvsp[(1) - (1)].stateclause)); ;}
4755 { (yyval.funcclause) = (yyvsp[(1) - (1)].funcclause); ;}
4760 { (yyval.funcclause) = functionClause_createWarn ((yyvsp[(1) - (1)].warnclause)); ;}
4765 { (yyval.funcclause) = functionClause_createGlobals ((yyvsp[(1) - (1)].globsclause)); ;}
4770 { (yyval.funcclause) = functionClause_createModifies ((yyvsp[(1) - (1)].modsclause)); ;}
4775 { (yyval.funcclause) = functionClause_createModifies ((yyvsp[(1) - (1)].modsclause)); ;}
4780 { (yyval.funcclause) = functionClause_createState ((yyvsp[(1) - (1)].stateclause)); ;}
4785 { (yyval.funcclause) = (yyvsp[(1) - (1)].funcclause); ;}
4790 { (yyval.funcclause) = functionClause_createWarn ((yyvsp[(1) - (1)].warnclause)); ;}
4795 { (yyval.globsclause) = (yyvsp[(1) - (2)].globsclause); ;}
4800 { setProcessingGlobalsList (); ;}
4806 unsetProcessingGlobals ();
4807 (yyval.globsclause) = globalsClause_create ((yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].globset));
4813 { (yyval.modsclause) = modifiesClause_createNoMods ((yyvsp[(1) - (1)].tok)); ;}
4818 { (yyval.modsclause) = (yyvsp[(1) - (2)].modsclause); ;}
4824 context_setProtectVars (); enterParamsTemp ();
4825 sRef_setGlobalScopeSafe ();
4833 sRef_clearGlobalScopeSafe ();
4834 context_releaseVars ();
4835 (yyval.modsclause) = modifiesClause_create ((yyvsp[(1) - (3)].tok), (yyvsp[(3) - (3)].srset));
4841 { (yyval.flagspec) = flagSpec_createPlain ((yyvsp[(1) - (1)].cname)); ;}
4846 { (yyval.flagspec) = flagSpec_createOr ((yyvsp[(1) - (3)].cname), (yyvsp[(3) - (3)].flagspec)); ;}
4851 { (yyval.warnclause) = warnClause_undefined; ;}
4856 { (yyval.warnclause) = (yyvsp[(1) - (2)].warnclause); ;}
4862 llassert (exprNode_knownStringValue ((yyvsp[(3) - (3)].expr)));
4863 (yyval.warnclause) = warnClause_create ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].flagspec), cstring_copy (multiVal_forceString (exprNode_getValue ((yyvsp[(3) - (3)].expr)))));
4864 exprNode_free ((yyvsp[(3) - (3)].expr));
4870 { (yyval.warnclause) = warnClause_create ((yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].flagspec), cstring_undefined); ;}
4875 { (yyval.globset) = globSet_single ((yyvsp[(1) - (1)].sr)); ;}
4880 { (yyval.globset) = globSet_insert ((yyvsp[(1) - (3)].globset), (yyvsp[(3) - (3)].sr)); ;}
4885 { (yyval.sr) = clabstract_createGlobal ((yyvsp[(2) - (2)].sr), (yyvsp[(1) - (2)].tquallist)); ;}
4890 { (yyval.tquallist) = qualList_undefined; ;}
4895 { (yyval.tquallist) = qualList_add ((yyvsp[(2) - (2)].tquallist), (yyvsp[(1) - (2)].typequal)); ;}
4900 { (yyval.sr) = uentry_getSref ((yyvsp[(1) - (1)].entry)); ;}
4905 { (yyval.sr) = clabstract_unrecognizedGlobal ((yyvsp[(1) - (1)].cname)); ;}
4910 { (yyval.sr) = clabstract_checkGlobal ((yyvsp[(1) - (1)].expr)); ;}
4915 { (yyval.typequal) = qual_createUndef (); ;}
4920 { (yyval.typequal) = qual_createKilled (); ;}
4925 { (yyval.typequal) = qual_createOut (); ;}
4930 { (yyval.typequal) = qual_createIn (); ;}
4935 { (yyval.typequal) = qual_createPartial (); ;}
4941 /**!!! deal with fred; fred (int); declarations! **/
4942 qtype qint = qtype_create (ctype_int);
4943 (yyval.ntyp) = idDecl_fixBase ((yyvsp[(1) - (1)].ntyp), qint);
4950 { (yyval.ntyp) = idDecl_fixBase ((yyvsp[(3) - (3)].ntyp), (yyvsp[(1) - (3)].qtyp)); ;}
4955 { checkDoneParams (); context_enterInnerContext (); ;}
4961 exprNode_checkFunctionBody ((yyvsp[(3) - (3)].expr)); (yyval.expr) = (yyvsp[(3) - (3)].expr);
4962 context_exitInner ((yyvsp[(3) - (3)].expr));
4968 { context_enterOldStyleScope (); ;}
4973 { oldStyleDoneParams (); context_enterInnerContext (); ;}
4979 exprNode_checkFunctionBody ((yyvsp[(4) - (4)].expr));
4980 (yyval.expr) = (yyvsp[(4) - (4)].expr); /* oldstyle */
4981 context_exitInner ((yyvsp[(4) - (4)].expr));
4988 context_setFunctionDefined (exprNode_loc ((yyvsp[(2) - (2)].expr)));
4989 exprNode_checkFunction (context_getHeader (), (yyvsp[(2) - (2)].expr));
4992 context_exitFunction ();
4998 { (yyval.srset) = (yyvsp[(1) - (2)].srset); ;}
5003 { (yyval.srset) = sRefSet_new (); ;}
5008 { (yyval.sr) = uentry_getSref ((yyvsp[(1) - (1)].entry)); checkModifiesId ((yyvsp[(1) - (1)].entry)); ;}
5013 { (yyval.sr) = fixModifiesId ((yyvsp[(1) - (1)].cname)); ;}
5018 { (yyval.sr) = fixModifiesId ((yyvsp[(1) - (1)].cname)); ;}
5023 { (yyval.sr) = modListArrayFetch ((yyvsp[(1) - (3)].sr), sRef_undefined); ;}
5028 { (yyval.sr) = modListArrayFetch ((yyvsp[(1) - (4)].sr), (yyvsp[(3) - (4)].sr)); ;}
5033 { (yyval.sr) = modListPointer ((yyvsp[(2) - (2)].sr)); ;}
5038 { (yyval.sr) = (yyvsp[(2) - (3)].sr); ;}
5043 { (yyval.sr) = modListFieldAccess ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
5048 { (yyval.sr) = modListArrowAccess ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
5053 { (yyval.sr) = (yyvsp[(1) - (1)].sr); ;}
5058 { (yyval.sr) = sRef_makeUnknown (); /* sRef_makeConstant ($1); ? */ ;}
5063 { (yyval.srset) = sRefSet_single ((yyvsp[(1) - (1)].sr)); ;}
5068 { (yyval.srset) = sRefSet_insert ((yyvsp[(1) - (3)].srset), (yyvsp[(3) - (3)].sr)); ;}
5073 { (yyval.sr) = checkStateClausesId ((yyvsp[(1) - (1)].entry)); ;}
5078 { (yyval.sr) = fixStateClausesId ((yyvsp[(1) - (1)].cname)); ;}
5083 { (yyval.sr) = sRef_makeAnyArrayFetch ((yyvsp[(1) - (3)].sr)); ;}
5088 { (yyval.sr) = sRef_makeAnyArrayFetch ((yyvsp[(1) - (4)].sr)); ;}
5093 { (yyval.sr) = sRef_constructPointer ((yyvsp[(2) - (2)].sr)); ;}
5098 { (yyval.sr) = (yyvsp[(2) - (3)].sr); ;}
5103 { cstring_markOwned ((yyvsp[(3) - (3)].cname));
5104 (yyval.sr) = sRef_buildField ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
5109 { cstring_markOwned ((yyvsp[(3) - (3)].cname));
5110 (yyval.sr) = sRef_makeArrow ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
5115 { DPRINTF ((message("Empty optSpecClauseList") )); (yyval.srset) = sRefSet_undefined ;}
5120 { if (sRef_isValid ((yyvsp[(1) - (1)].sr))) { (yyval.srset) = sRefSet_single ((yyvsp[(1) - (1)].sr)); }
5122 DPRINTF((message("returning sRefSEt_undefined ") ));
5123 (yyval.srset) = sRefSet_undefined; }
5129 { if (sRef_isValid ((yyvsp[(3) - (3)].sr)))
5131 (yyval.srset) = sRefSet_insert ((yyvsp[(1) - (3)].srset), (yyvsp[(3) - (3)].sr));
5135 (yyval.srset) = (yyvsp[(1) - (3)].srset);
5142 { (yyval.expr) = exprNode_fromIdentifier ((yyvsp[(1) - (1)].entry)); ;}
5147 { (yyval.expr) = exprNode_fromUIO ((yyvsp[(1) - (1)].cname)); ;}
5152 { (yyval.expr) = exprNode_addParens ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].expr)); ;}
5157 { (yyval.expr) = exprNode_fromIdentifier (cscannerHelp_coerceId ((yyvsp[(1) - (1)].cname))); ;}
5162 { (yyval.expr) = exprNode_makeError (); ;}
5167 { exprChecks_inCompoundStatementExpression (); ;}
5172 { exprChecks_leaveCompoundStatementExpression (); (yyval.expr) = exprNode_compoundStatementExpression ((yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].expr)); ;}
5177 { (yyval.expr) = exprNode_arrayFetch ((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].expr)); ;}
5182 { (yyval.expr) = exprNode_functionCall ((yyvsp[(1) - (3)].expr), exprNodeList_new ()); ;}
5187 { (yyval.expr) = exprNode_functionCall ((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].exprlist)); ;}
5192 { (yyval.expr) = exprNode_vaArg ((yyvsp[(1) - (6)].tok), (yyvsp[(3) - (6)].expr), (yyvsp[(5) - (6)].qtyp)); ;}
5197 { (yyval.expr) = exprNode_fieldAccess ((yyvsp[(1) - (5)].expr), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].cname)); ;}
5202 { (yyval.expr) = exprNode_arrowAccess ((yyvsp[(1) - (5)].expr), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].cname)); ;}
5207 { (yyval.expr) = exprNode_postOp ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
5212 { (yyval.expr) = exprNode_postOp ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
5217 { /* added for C99 */ (yyval.expr) = exprNode_undefined; /*@i87 no checking */ ;}
5222 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
5227 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (3)].exprlist), (yyvsp[(3) - (3)].expr)); ;}
5232 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5237 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5242 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5247 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5252 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5257 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5262 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5267 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5272 { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
5277 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
5282 { (yyval.cstringlist) = cstringList_add ((yyvsp[(1) - (3)].cstringlist), (yyvsp[(3) - (3)].cname)); lltok_free ((yyvsp[(2) - (3)].tok)); ;}
5287 { (yyval.cstringlist) = (yyvsp[(1) - (4)].cstringlist); lltok_free2 ((yyvsp[(2) - (4)].tok), (yyvsp[(4) - (4)].tok)); ;}
5292 { (yyval.cstringlist) = cstringList_single ((yyvsp[(1) - (1)].cname)); ;}
5297 { (yyval.expr) = exprNode_offsetof ((yyvsp[(4) - (9)].qtyp), (yyvsp[(7) - (9)].cstringlist));
5298 lltok_free3 ((yyvsp[(1) - (9)].tok), (yyvsp[(3) - (9)].tok), (yyvsp[(6) - (9)].tok)); lltok_free ((yyvsp[(8) - (9)].tok)); ;}
5303 { context_setProtectVars (); ;}
5308 { context_sizeofReleaseVars (); (yyval.expr) = (yyvsp[(3) - (3)].expr); ;}
5313 {context_enterSizeof();}
5318 {context_leaveSizeof();}
5323 { (yyval.expr) = exprNode_sizeofType ((yyvsp[(3) - (4)].qtyp)); lltok_free3 ((yyvsp[(1) - (4)].tok), (yyvsp[(2) - (4)].tok), (yyvsp[(4) - (4)].tok)); ;}
5328 { (yyval.expr) = exprNode_sizeofExpr ((yyvsp[(2) - (2)].expr)); lltok_free ((yyvsp[(1) - (2)].tok)); ;}
5333 { (yyval.expr) = exprNode_alignofType ((yyvsp[(3) - (4)].qtyp)); lltok_free3 ((yyvsp[(1) - (4)].tok), (yyvsp[(2) - (4)].tok), (yyvsp[(4) - (4)].tok)); ;}
5338 { (yyval.expr) = exprNode_alignofExpr ((yyvsp[(2) - (2)].expr)); lltok_free ((yyvsp[(1) - (2)].tok)); ;}
5343 { (yyval.expr) = exprNode_cast ((yyvsp[(1) - (4)].tok), (yyvsp[(4) - (4)].expr), (yyvsp[(2) - (4)].qtyp)); lltok_free ((yyvsp[(3) - (4)].tok)); ;}
5348 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5353 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5358 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5363 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5368 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5373 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5378 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5383 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5388 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5393 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5398 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5403 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5408 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5413 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5418 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5423 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5428 { exprNode_produceGuards ((yyvsp[(1) - (2)].expr));
5429 context_enterAndClause ((yyvsp[(1) - (2)].expr));
5436 (yyval.expr) = exprNode_op ((yyvsp[(1) - (4)].expr), (yyvsp[(4) - (4)].expr), (yyvsp[(2) - (4)].tok));
5437 context_exitAndClause ((yyval.expr), (yyvsp[(4) - (4)].expr));
5444 exprNode_produceGuards ((yyvsp[(1) - (2)].expr));
5445 context_enterOrClause ((yyvsp[(1) - (2)].expr));
5452 (yyval.expr) = exprNode_op ((yyvsp[(1) - (4)].expr), (yyvsp[(4) - (4)].expr), (yyvsp[(2) - (4)].tok));
5453 context_exitOrClause ((yyval.expr), (yyvsp[(4) - (4)].expr));
5459 { /* GCC extension: conditional with empty if */
5460 exprNode_produceGuards ((yyvsp[(1) - (2)].expr)); context_enterTrueClause ((yyvsp[(1) - (2)].expr)); ;}
5465 { context_enterFalseClause ((yyvsp[(1) - (4)].expr)); ;}
5470 { (yyval.expr) = exprNode_condIfOmit ((yyvsp[(1) - (6)].expr), (yyvsp[(6) - (6)].expr)); context_exitClause ((yyvsp[(1) - (6)].expr), exprNode_undefined, (yyvsp[(6) - (6)].expr)); ;}
5475 { exprNode_produceGuards ((yyvsp[(1) - (2)].expr)); context_enterTrueClause ((yyvsp[(1) - (2)].expr)); ;}
5480 { context_enterFalseClause ((yyvsp[(1) - (5)].expr)); ;}
5485 { (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)); ;}
5490 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5495 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5500 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5505 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5510 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5515 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5520 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5525 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5530 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5535 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5540 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5545 { (yyval.expr) = exprNode_comma ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
5550 { (yyval.expr) = exprNode_undefined; ;}
5555 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
5560 { doVaDcl (); (yyval.expr) = exprNode_makeError (); ;}
5565 { (yyval.expr) = exprNode_makeError (); ;}
5570 { (yyval.expr) = exprNode_makeError (); ;}
5576 setProcessingVars ((yyvsp[(1) - (4)].qtyp));
5577 processNamedDecl ((yyvsp[(3) - (4)].ntyp));
5584 unsetProcessingVars ();
5585 (yyval.expr) = exprNode_makeEmptyInitialization ((yyvsp[(3) - (9)].ntyp));
5586 DPRINTF (("Empty initialization: %s", exprNode_unparse ((yyval.expr))));
5592 { setProcessingVars ((yyvsp[(1) - (5)].qtyp)); processNamedDecl ((yyvsp[(3) - (5)].ntyp)); ;}
5597 { (yyval.expr) = exprNode_concat ((yyvsp[(9) - (11)].expr), exprNode_makeInitialization ((yyvsp[(3) - (11)].ntyp), (yyvsp[(8) - (11)].expr)));
5598 unsetProcessingVars ();
5604 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
5609 { (yyval.expr) = exprNode_fromIdentifier (usymtab_getTypeEntry (ctype_typeId ((yyvsp[(1) - (1)].ctyp)))); ;}
5615 processNamedDecl ((yyvsp[(1) - (2)].ntyp));
5616 (yyval.expr) = exprNode_makeEmptyInitialization ((yyvsp[(1) - (2)].ntyp));
5622 { processNamedDecl ((yyvsp[(1) - (3)].ntyp)); ;}
5627 { (yyval.expr) = exprNode_makeInitialization ((yyvsp[(1) - (6)].ntyp), (yyvsp[(6) - (6)].expr)); ;}
5632 { setProcessingTypedef ((yyvsp[(2) - (2)].qtyp)); ;}
5637 { clabstract_declareType ((yyvsp[(5) - (8)].exprlist), (yyvsp[(7) - (8)].warnclause)); ;}
5642 { /* in the ANSI grammar, semantics unclear */ ;}
5647 { /* in the ANSI grammar, semantics unclear */ ;}
5652 { cscannerHelp_setExpectingTypeName (); ;}
5657 { cscannerHelp_setExpectingTypeName (); context_pushLoc (); ;}
5662 { (yyval.exprlist) = (yyvsp[(1) - (2)].exprlist); ;}
5667 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
5672 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (4)].exprlist), (yyvsp[(4) - (4)].expr)); ;}
5677 { (yyval.exprlist) = (yyvsp[(1) - (2)].exprlist); ;}
5682 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
5687 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (4)].exprlist), (yyvsp[(4) - (4)].expr)); ;}
5692 { (yyval.expr) = exprNode_makeError (); ;}
5697 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (4)].expr), (yyvsp[(4) - (4)].expr)); ;}
5702 { (yyval.expr) = exprNode_makeInitBlock ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].exprlist)); lltok_free ((yyvsp[(3) - (3)].tok)); ;}
5707 { (yyval.expr) = exprNode_makeInitBlock ((yyvsp[(1) - (4)].tok), (yyvsp[(2) - (4)].exprlist)); lltok_free2 ((yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].tok)); ;}
5712 { (yyval.expr) = exprNode_undefined; ;}
5717 { (yyval.expr) = (yyvsp[(1) - (2)].expr); ;}
5722 { (yyval.expr) = exprNode_undefined;
5723 /* gcc extension, obsolete since 2.5 */ ;}
5728 { (yyval.expr) = exprNode_undefined; ;}
5733 { (yyval.expr) = exprNode_undefined; ;}
5738 { (yyval.expr) = exprNode_undefined; ;}
5743 { (yyval.expr) = exprNode_undefined; ;}
5748 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
5753 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (3)].exprlist), (yyvsp[(3) - (3)].expr)); ;}
5758 { setStorageClass (SCEXTERN); (yyval.typequal) = qual_createExtern (); ;}
5763 { (yyval.typequal) = qual_createInline (); ;}
5768 { setStorageClass (SCSTATIC); (yyval.typequal) = qual_createStatic (); ;}
5773 { (yyval.typequal) = qual_createAuto (); ;}
5778 { (yyval.typequal) = qual_createRegister (); ;}
5783 { (yyval.stateclause) = (yyvsp[(1) - (2)].stateclause); ;}
5789 context_setProtectVars ();
5791 sRef_setGlobalScopeSafe ();
5799 sRef_clearGlobalScopeSafe ();
5800 context_releaseVars ();
5801 (yyval.stateclause) = stateClause_createPlain ((yyvsp[(1) - (6)].tok), (yyvsp[(4) - (6)].srset));
5807 { (yyval.funcclause) = (yyvsp[(1) - (2)].funcclause); ;}
5812 { (yyval.tok) = (yyvsp[(1) - (2)].tok); context_enterFunctionHeader (); ;}
5818 context_exitFunctionHeader ();
5819 context_setProtectVars ();
5821 sRef_setGlobalScopeSafe ();
5829 sRef_clearGlobalScopeSafe ();
5830 context_releaseVars ();
5831 (yyval.funcclause) = functionClause_createState (stateClause_create ((yyvsp[(1) - (6)].tok), (yyvsp[(2) - (6)].typequal), (yyvsp[(4) - (6)].srset)));
5838 context_setProtectVars ();
5840 sRef_setGlobalScopeSafe ();
5847 context_exitFunctionHeader ();
5849 sRef_clearGlobalScopeSafe ();
5850 context_releaseVars ();
5851 DPRINTF (("done optGlobBufConstraintsAux\n"));
5853 if (lltok_isEnsures ((yyvsp[(1) - (5)].tok)))
5855 (yyval.funcclause) = functionClause_createEnsures ((yyvsp[(3) - (5)].fcnconstraint));
5857 else if (lltok_isRequires ((yyvsp[(1) - (5)].tok)))
5859 (yyval.funcclause) = functionClause_createRequires ((yyvsp[(3) - (5)].fcnconstraint));
5866 DPRINTF (("FunctionclauseS: %s", functionClause_unparse ((yyval.funcclause))));
5872 { (yyval.fcnconstraint) = functionConstraint_createBufferConstraint ((yyvsp[(1) - (1)].conL)); ;}
5877 { (yyval.fcnconstraint) = functionConstraint_createMetaStateConstraint ((yyvsp[(1) - (1)].msconstraint)); DPRINTF (("Made constraint: %s", functionConstraint_unparse ((yyval.fcnconstraint)))); ;}
5882 { (yyval.typequal) = qual_createExits (); ;}
5887 { (yyval.typequal) = qual_createMayExit (); ;}
5892 { (yyval.typequal) = qual_createTrueExit (); ;}
5897 { (yyval.typequal) = qual_createFalseExit (); ;}
5902 { (yyval.typequal) = qual_createNeverExit (); ;}
5907 { (yyval.typequal) = qual_createChecked (); ;}
5912 { (yyval.typequal) = qual_createCheckMod (); ;}
5917 { (yyval.typequal) = qual_createUnchecked (); ;}
5922 { (yyval.typequal) = qual_createCheckedStrict (); ;}
5927 { (yyval.typequal) = qual_createOwned (); ;}
5932 { (yyval.typequal) = qual_createDependent (); ;}
5937 { (yyval.typequal) = qual_createYield (); ;}
5942 { (yyval.typequal) = qual_createTemp (); ;}
5947 { (yyval.typequal) = qual_createOnly (); ;}
5952 { (yyval.typequal) = qual_createKeep (); ;}
5957 { (yyval.typequal) = qual_createKept (); ;}
5962 { (yyval.typequal) = qual_createShared (); ;}
5967 { (yyval.typequal) = qual_createUnique (); ;}
5972 { (yyval.typequal) = qual_createNull (); ;}
5977 { (yyval.typequal) = qual_createIsNull (); ;}
5982 { (yyval.typequal) = qual_createRelNull (); ;}
5987 { (yyval.typequal) = qual_createNotNull (); ;}
5992 { (yyval.typequal) = qual_createExposed (); ;}
5997 { (yyval.typequal) = qual_createObserver (); ;}
6002 { (yyval.typequal) = qual_createNullTerminated (); ;}
6007 { (yyval.typequal) = qual_createMetaState ((yyvsp[(1) - (1)].annotation)); ;}
6012 { (yyval.typequal) = qual_createReturned (); ;}
6017 { (yyval.typequal) = qual_createSef (); ;}
6022 { (yyval.typequal) = qual_createUnused (); ;}
6027 { (yyval.typequal) = qual_createExternal (); ;}
6032 { (yyval.typequal) = qual_createTrueNull (); ;}
6037 { (yyval.typequal) = qual_createFalseNull (); ;}
6042 { (yyval.typequal) = qual_createAbstract (); ;}
6047 { (yyval.typequal) = qual_createNumAbstract (); ;}
6052 { (yyval.typequal) = qual_createConcrete (); ;}
6057 { (yyval.typequal) = qual_createMutable (); ;}
6062 { (yyval.typequal) = qual_createImmutable (); ;}
6067 { (yyval.typequal) = qual_createRefCounted (); ;}
6072 { (yyval.typequal) = qual_createRefs (); ;}
6077 { (yyval.typequal) = qual_createKillRef (); ;}
6082 { (yyval.typequal) = qual_createRelDef (); ;}
6087 { (yyval.typequal) = qual_createNewRef (); ;}
6092 { (yyval.typequal) = qual_createTempRef (); ;}
6097 { (yyval.typequal) = qual_createShort (); ;}
6102 { (yyval.typequal) = qual_createLong (); ;}
6107 { (yyval.typequal) = qual_createSigned (); ;}
6112 { (yyval.typequal) = qual_createUnsigned (); ;}
6117 { (yyval.typequal) = qual_createOut (); ;}
6122 { (yyval.typequal) = qual_createIn (); ;}
6127 { (yyval.typequal) = qual_createPartial (); ;}
6132 { (yyval.typequal) = qual_createSpecial (); ;}
6137 { (yyval.typequal) = qual_createConst (); ;}
6142 { (yyval.typequal) = qual_createVolatile (); ;}
6147 { (yyval.typequal) = qual_createRestrict (); ;}
6152 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6157 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6162 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6167 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6172 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6177 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6182 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6187 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6192 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6197 { (yyval.ctyp) = ctype_makeAnytype (); ;}
6202 { (yyval.ctyp) = ctype_anyintegral; ;}
6207 { (yyval.ctyp) = ctype_unsignedintegral; ;}
6212 { (yyval.ctyp) = ctype_signedintegral; ;}
6217 { (yyval.ctyp) = ctype_fromQual ((yyvsp[(1) - (2)].typequal)); ;}
6222 { (yyval.qtyp) = qtype_resolve ((yyvsp[(2) - (3)].qtyp)); ;}
6227 { (yyval.qtyp) = (yyvsp[(1) - (1)].qtyp); ;}
6232 { (yyval.qtyp) = qtype_mergeAlt ((yyvsp[(1) - (4)].qtyp), (yyvsp[(3) - (4)].qtyp)); ;}
6237 { (yyval.qtyp) = qtype_mergeAlt ((yyvsp[(1) - (3)].qtyp), (yyvsp[(3) - (3)].qtyp)); ;}
6242 { (yyval.qtyp) = qtype_addQual ((yyvsp[(2) - (2)].qtyp), (yyvsp[(1) - (2)].typequal)); ;}
6247 { (yyval.qtyp) = qtype_addQual ((yyvsp[(2) - (2)].qtyp), (yyvsp[(1) - (2)].typequal)); ;}
6252 { (yyval.qtyp) = qtype_combine ((yyvsp[(2) - (2)].qtyp), (yyvsp[(1) - (2)].ctyp)); ;}
6257 { (yyval.qtyp) = qtype_unknown (); ;}
6262 { (yyval.qtyp) = (yyvsp[(1) - (1)].qtyp); ;}
6267 { (yyval.conL) = constraintList_undefined; ;}
6272 { sRef_setGlobalScopeSafe (); ;}
6277 { sRef_clearGlobalScopeSafe (); ;}
6282 { ctype ct; ct = declareStruct ((yyvsp[(3) - (12)].cname), (yyvsp[(8) - (12)].flist)); /* context_setGlobalStructInfo(ct, $12); */ (yyval.ctyp) = ct; ;}
6287 { sRef_setGlobalScopeSafe (); ;}
6292 { sRef_clearGlobalScopeSafe (); ;}
6297 { (yyval.ctyp) = declareUnion ((yyvsp[(3) - (11)].cname), (yyvsp[(8) - (11)].flist)); ;}
6302 { (yyval.ctyp) = declareStruct ((yyvsp[(3) - (6)].cname), uentryList_new ()); ;}
6307 { (yyval.ctyp) = declareUnion ((yyvsp[(3) - (6)].cname), uentryList_new ()); ;}
6312 { sRef_setGlobalScopeSafe (); ;}
6317 { sRef_clearGlobalScopeSafe (); ;}
6322 { (yyval.ctyp) = declareUnnamedStruct ((yyvsp[(7) - (10)].flist)); ;}
6327 { sRef_setGlobalScopeSafe (); ;}
6332 { sRef_clearGlobalScopeSafe (); ;}
6337 { (yyval.ctyp) = declareUnnamedUnion ((yyvsp[(7) - (10)].flist)); ;}
6342 { (yyval.ctyp) = ctype_createUnnamedStruct (uentryList_new ()); ;}
6347 { (yyval.ctyp) = ctype_createUnnamedUnion (uentryList_new ()); ;}
6352 { (yyval.ctyp) = handleStruct ((yyvsp[(3) - (4)].cname)); ;}
6357 { (yyval.ctyp) = handleUnion ((yyvsp[(3) - (4)].cname)); ;}
6362 { cscannerHelp_clearExpectingTypeName (); ;}
6367 { (yyval.flist) = uentryList_undefined; /* bogus! */ ;}
6372 { (yyval.flist) = uentryList_mergeFields ((yyvsp[(1) - (2)].flist), (yyvsp[(2) - (2)].flist)); ;}
6377 { (yyval.flist) = fixUentryList ((yyvsp[(3) - (5)].ntyplist), (yyvsp[(1) - (5)].qtyp)); ;}
6382 { (yyval.flist) = fixUnnamedDecl ((yyvsp[(1) - (3)].qtyp)); ;}
6387 { (yyval.ntyplist) = idDeclList_singleton ((yyvsp[(1) - (2)].ntyp)); ;}
6392 { (yyval.ntyplist) = idDeclList_add ((yyvsp[(1) - (4)].ntyplist), (yyvsp[(3) - (4)].ntyp)); ;}
6397 { (yyval.ntyp) = (yyvsp[(1) - (1)].ntyp); ;}
6402 { (yyval.ntyp) = idDecl_undefined; ;}
6407 { (yyval.ntyp) = (yyvsp[(1) - (4)].ntyp); ;}
6412 { (yyval.ctyp) = declareUnnamedEnum ((yyvsp[(4) - (6)].enumnamelist)); ;}
6417 { context_pushLoc (); ;}
6422 { context_popLoc (); (yyval.ctyp) = declareEnum ((yyvsp[(3) - (8)].cname), (yyvsp[(6) - (8)].enumnamelist)); ;}
6427 { (yyval.ctyp) = handleEnum ((yyvsp[(3) - (4)].cname)); ;}
6432 { (yyval.enumnamelist) = enumNameList_single ((yyvsp[(1) - (1)].cname)); ;}
6437 { (yyval.enumnamelist) = enumNameList_push ((yyvsp[(1) - (3)].enumnamelist), (yyvsp[(3) - (3)].cname)); ;}
6442 { uentry ue = uentry_makeEnumConstant ((yyvsp[(1) - (1)].cname), ctype_unknown);
6443 usymtab_supGlobalEntry (ue);
6444 (yyval.cname) = (yyvsp[(1) - (1)].cname);
6450 { uentry ue = uentry_makeEnumInitializedConstant ((yyvsp[(1) - (4)].cname), ctype_unknown, (yyvsp[(4) - (4)].expr));
6451 usymtab_supGlobalEntry (ue);
6452 (yyval.cname) = (yyvsp[(1) - (4)].cname);
6458 { (yyval.ntyp) = idDecl_create (cstring_undefined, qtype_create ((yyvsp[(1) - (1)].ctyp))); ;}
6464 qtype qt = qtype_unknown ();
6465 qtype_adjustPointers ((yyvsp[(1) - (2)].pointers), qt);
6466 (yyval.ntyp) = idDecl_create (cstring_copy (cscannerHelp_observeLastIdentifier ()), qt);
6472 { (yyval.ntyp) = (yyvsp[(2) - (2)].ntyp); qtype_adjustPointers ((yyvsp[(1) - (2)].pointers), idDecl_getTyp ((yyval.ntyp))); ;}
6477 { (yyval.ntyp) = (yyvsp[(2) - (2)].ntyp); qtype_adjustPointers ((yyvsp[(1) - (2)].pointers), idDecl_getTyp ((yyval.ntyp))); ;}
6482 { (yyval.entrylist) = handleParamTypeList ((yyvsp[(1) - (1)].entrylist)); ;}
6487 { (yyval.entrylist) = handleParamIdList ((yyvsp[(2) - (2)].entrylist)); ;}
6492 { (yyval.typequal) = qual_createConst (); ;}
6497 { (yyval.typequal) = qual_createRestrict (); ;}
6502 { (yyval.typequal) = qual_createVolatile (); ;}
6507 { (yyval.tquallist) = qualList_single ((yyvsp[(1) - (1)].typequal)); ;}
6512 { (yyval.tquallist) = qualList_add ((yyvsp[(1) - (2)].tquallist), (yyvsp[(2) - (2)].typequal)); ;}
6517 { (yyval.pointers) = pointers_create ((yyvsp[(1) - (1)].tok)); ;}
6522 { (yyval.pointers) = pointers_createMods ((yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].tquallist)); ;}
6527 { (yyval.pointers) = pointers_extend (pointers_create ((yyvsp[(1) - (2)].tok)), (yyvsp[(2) - (2)].pointers)); ;}
6532 { (yyval.pointers) = pointers_extend (pointers_createMods ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].tquallist)), (yyvsp[(3) - (3)].pointers)); ;}
6537 { (yyval.entrylist) = uentryList_add ((yyvsp[(1) - (3)].entrylist), uentry_makeElipsisMarker ()); ;}
6542 { (yyval.entrylist) = uentryList_single (uentry_makeVariableLoc ((yyvsp[(1) - (1)].cname), ctype_int)); ;}
6547 { (yyval.entrylist) = uentryList_add ((yyvsp[(1) - (3)].entrylist), uentry_makeVariableLoc ((yyvsp[(3) - (3)].cname), ctype_int)); ;}
6552 { (yyval.entrylist) = uentryList_single (uentry_makeElipsisMarker ()); ;}
6557 { (yyval.entrylist) = uentryList_add ((yyvsp[(1) - (3)].entrylist), uentry_makeElipsisMarker ()); ;}
6567 { (yyval.entrylist) = uentryList_single ((yyvsp[(2) - (2)].oentry)); ;}
6577 { (yyval.entrylist) = uentryList_add ((yyvsp[(1) - (4)].entrylist), (yyvsp[(4) - (4)].oentry)); ;}
6583 if (isFlipOldStyle ())
6585 llparseerror (cstring_makeLiteral ("Inconsistent function parameter syntax (mixing old and new style declaration)"));
6591 (yyval.oentry) = makeCurrentParam (idDecl_fixParamBase ((yyvsp[(3) - (4)].ntyp), (yyvsp[(2) - (4)].qtyp)));
6598 idDecl tparam = idDecl_create ((yyvsp[(1) - (1)].cname), qtype_unknown ());
6602 llparseerror (message ("Inconsistent function parameter syntax: %q",
6603 idDecl_unparse (tparam)));
6607 (yyval.oentry) = makeCurrentParam (tparam);
6608 idDecl_free (tparam);
6614 { (yyval.qtyp) = qtype_newBase ((yyvsp[(1) - (2)].qtyp), (yyvsp[(2) - (2)].ctyp)); ;}
6619 { (yyval.ctyp) = ctype_adjustPointers ((yyvsp[(1) - (1)].pointers), ctype_unknown); ;}
6624 { (yyval.ctyp) = ctype_adjustPointers ((yyvsp[(1) - (2)].pointers), (yyvsp[(2) - (2)].ctyp)); ;}
6629 { (yyval.ctyp) = ctype_unknown; ;}
6634 { (yyval.ctyp) = ctype_expectFunction ((yyvsp[(4) - (5)].ctyp)); ;}
6639 { (yyval.ctyp) = ctype_makeArray (ctype_unknown); ;}
6644 { (yyval.ctyp) = ctype_makeFixedArray (ctype_unknown, exprNode_getLongValue ((yyvsp[(2) - (3)].expr))); ;}
6649 { (yyval.ctyp) = ctype_makeInnerArray ((yyvsp[(1) - (3)].ctyp)); ;}
6654 { (yyval.ctyp) = ctype_makeInnerFixedArray ((yyvsp[(1) - (4)].ctyp), exprNode_getLongValue ((yyvsp[(3) - (4)].expr))); ;}
6659 { (yyval.ctyp) = ctype_makeFunction (ctype_unknown, uentryList_makeMissingParams ()); ;}
6664 { (yyval.ctyp) = ctype_makeParamsFunction (ctype_unknown, (yyvsp[(3) - (4)].entrylist)); ;}
6669 { (yyval.ctyp) = ctype_makeFunction ((yyvsp[(1) - (4)].ctyp), uentryList_makeMissingParams ()); ;}
6674 { (yyval.ctyp) = ctype_makeParamsFunction ((yyvsp[(1) - (5)].ctyp), (yyvsp[(4) - (5)].entrylist)); ;}
6679 { exprNode_revealState ((yyvsp[(3) - (4)].expr)); (yyval.expr) = exprNode_undefined; ;}
6684 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6689 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6694 { (yyval.expr) = exprNode_while ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6699 { (yyval.expr) = exprNode_doWhile ((yyvsp[(2) - (7)].expr), (yyvsp[(5) - (7)].expr)); ;}
6704 { (yyval.expr) = exprNode_doWhile ((yyvsp[(2) - (6)].expr), (yyvsp[(5) - (6)].expr)); ;}
6709 { (yyval.expr) = exprNode_for ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6714 { context_setProtectVars (); ;}
6719 { context_sizeofReleaseVars (); ;}
6724 { (yyval.expr) = exprNode_forPred ((yyvsp[(3) - (10)].expr), (yyvsp[(5) - (10)].expr), (yyvsp[(8) - (10)].expr));
6725 context_enterForClause ((yyvsp[(5) - (10)].expr)); ;}
6730 { setProcessingIterVars ((yyvsp[(1) - (3)].entry)); ;}
6735 { (yyval.expr) = exprNode_iterStart ((yyvsp[(1) - (6)].entry), (yyvsp[(5) - (6)].exprlist)); ;}
6740 { (yyval.expr) = exprNode_createId ((yyvsp[(1) - (1)].entry)); ;}
6745 { (yyval.expr) = (yyvsp[(1) - (2)].expr); DPRINTF (("def stmt: %s", exprNode_unparse ((yyval.expr)))); ;}
6750 { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
6755 { (yyval.expr) = exprNode_makeError (); ;}
6760 { exprNode_checkIfPred ((yyvsp[(1) - (1)].expr)); ;}
6765 { /* don't: context_exitTrueClause ($1, $2); */
6766 (yyval.expr) = exprNode_if ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
6772 { (yyval.expr) = exprNode_createTok ((yyvsp[(2) - (2)].tok)); ;}
6777 { (yyval.expr) = exprNode_createTok ((yyvsp[(2) - (2)].tok)); ;}
6782 { (yyval.expr) = exprNode_addParens ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].expr)); ;}
6787 { (yyval.expr) = exprNode_makeError (); ;}
6792 { (yyval.expr) = exprNode_labelMarker ((yyvsp[(1) - (2)].cname)); ;}
6797 { (yyval.expr) = exprNode_notReached ((yyvsp[(2) - (2)].expr)); ;}
6812 { context_enterCaseClause ((yyvsp[(2) - (2)].expr)); ;}
6817 { (yyval.expr) = exprNode_caseMarker ((yyvsp[(2) - (4)].expr), FALSE); ;}
6822 { context_enterCaseClause ((yyvsp[(4) - (4)].expr)); ;}
6827 { (yyval.expr) = exprNode_caseMarker ((yyvsp[(4) - (6)].expr), TRUE); ;}
6832 { context_enterCaseClause (exprNode_undefined); ;}
6837 { (yyval.expr) = exprNode_defaultMarker ((yyvsp[(1) - (3)].tok), FALSE); ;}
6842 { context_enterCaseClause (exprNode_undefined); ;}
6847 { (yyval.expr) = exprNode_defaultMarker ((yyvsp[(3) - (5)].tok), TRUE); ;}
6852 { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
6857 { (yyval.expr) = (yyvsp[(2) - (2)].expr); context_exitInner ((yyvsp[(2) - (2)].expr)); ;}
6862 { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
6867 { context_enterInnerContext (); ;}
6872 { context_exitInnerPlain (); ;}
6877 { context_enterStructInnerContext (); ;}
6882 { context_exitStructInnerContext (); ;}
6887 { context_exitInnerSafe (); ;}
6892 { (yyval.expr) = exprNode_createTok ((yyvsp[(1) - (1)].tok)); ;}
6897 { (yyval.expr) = exprNode_notReached (exprNode_createTok ((yyvsp[(2) - (2)].tok))); ;}
6902 { (yyval.expr) = exprNode_updateLocation ((yyvsp[(1) - (2)].expr), lltok_getLoc ((yyvsp[(2) - (2)].tok))); ;}
6907 { (yyval.expr) = exprNode_notReached (exprNode_updateLocation ((yyvsp[(1) - (3)].expr), lltok_getLoc ((yyvsp[(3) - (3)].tok)))); ;}
6912 { (yyval.expr) = exprNode_updateLocation ((yyvsp[(1) - (2)].expr), lltok_getLoc ((yyvsp[(2) - (2)].tok))); ;}
6917 { (yyval.expr) = exprNode_notReached (exprNode_updateLocation ((yyvsp[(1) - (3)].expr), lltok_getLoc ((yyvsp[(3) - (3)].tok)))); ;}
6922 { (yyval.expr) = exprNode_updateLocation (exprNode_concat ((yyvsp[(1) - (3)].expr), (yyvsp[(2) - (3)].expr)), lltok_getLoc ((yyvsp[(3) - (3)].tok))); ;}
6927 { (yyval.expr) = exprNode_notReached (exprNode_updateLocation (exprNode_concat ((yyvsp[(1) - (4)].expr), (yyvsp[(2) - (4)].expr)),
6928 lltok_getLoc ((yyvsp[(3) - (4)].tok))));
6934 { (yyval.expr) = exprNode_makeBlock ((yyvsp[(2) - (2)].expr)); ;}
6939 { (yyval.expr) = exprNode_createTok ((yyvsp[(2) - (2)].tok)); ;}
6944 { (yyval.expr) = exprNode_updateLocation ((yyvsp[(2) - (3)].expr), lltok_getLoc ((yyvsp[(3) - (3)].tok))); ;}
6949 { (yyval.expr) = exprNode_updateLocation ((yyvsp[(2) - (3)].expr), lltok_getLoc ((yyvsp[(3) - (3)].tok))); ;}
6954 { (yyval.expr) = exprNode_updateLocation (exprNode_concat ((yyvsp[(2) - (4)].expr), (yyvsp[(3) - (4)].expr)), lltok_getLoc ((yyvsp[(4) - (4)].tok))); ;}
6959 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6964 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6969 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6974 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6979 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
6984 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6989 { (yyval.expr) = (yyvsp[(2) - (4)].expr); ;}
6994 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6999 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7004 { (yyval.expr) = exprNode_createTok ((yyvsp[(1) - (1)].tok)); ;}
7009 { (yyval.expr) = exprNode_statement ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
7014 { (yyval.expr) = exprNode_createTok ((yyvsp[(1) - (1)].tok)); ;}
7019 { (yyval.expr) = exprNode_statement ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
7024 { (yyval.expr) = exprNode_checkExpr ((yyvsp[(1) - (1)].expr)); ;}
7030 exprNode_produceGuards ((yyvsp[(3) - (4)].expr)); context_enterTrueClause ((yyvsp[(3) - (4)].expr));
7031 exprNode_checkIfPred ((yyvsp[(3) - (4)].expr));
7032 (yyval.expr) = (yyvsp[(3) - (4)].expr);
7039 context_exitTrueClause ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr));
7040 (yyval.expr) = exprNode_if ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr));
7046 { context_enterFalseClause ((yyvsp[(1) - (3)].expr)); ;}
7052 context_exitClause ((yyvsp[(1) - (5)].expr), (yyvsp[(2) - (5)].expr), (yyvsp[(5) - (5)].expr));
7053 (yyval.expr) = exprNode_ifelse ((yyvsp[(1) - (5)].expr), (yyvsp[(2) - (5)].expr), (yyvsp[(5) - (5)].expr));
7059 { context_enterSwitch ((yyvsp[(3) - (3)].expr)); ;}
7064 { (yyval.expr) = exprNode_switch ((yyvsp[(3) - (6)].expr), (yyvsp[(6) - (6)].expr)); ;}
7069 { (yyval.expr) = exprNode_whilePred ((yyvsp[(3) - (4)].expr)); context_enterWhileClause ((yyvsp[(3) - (4)].expr)); ;}
7074 { (yyval.expr) = exprNode_whilePred((yyvsp[(3) - (4)].expr)); ;}
7079 { context_enterIterClause (); ;}
7084 { setProcessingIterVars ((yyvsp[(1) - (4)].entry)); ;}
7090 (yyval.expr) = exprNode_iter ((yyvsp[(1) - (10)].entry), (yyvsp[(6) - (10)].exprlist), (yyvsp[(8) - (10)].expr), (yyvsp[(9) - (10)].entry));
7097 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
7102 { nextIterParam (); ;}
7107 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (4)].exprlist), (yyvsp[(4) - (4)].expr)); ;}
7112 { (yyval.expr) = exprNode_iterExpr ((yyvsp[(1) - (1)].expr)); ;}
7117 { (yyval.expr) = exprNode_iterId ((yyvsp[(1) - (1)].entry)); ;}
7122 { uentry ue = cscannerHelp_coerceIterId ((yyvsp[(1) - (1)].cname));
7124 if (uentry_isValid (ue))
7126 (yyval.expr) = exprNode_iterId (ue);
7130 (yyval.expr) = exprNode_iterNewId (cstring_copy (cscannerHelp_observeLastIdentifier ()));
7137 { (yyval.expr) = exprNode_iterNewId ((yyvsp[(1) - (1)].cname)); ;}
7142 { (yyval.expr) = exprNode_combineLiterals ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7147 { (yyval.expr) = exprNode_addParens ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].expr)); ;}
7152 { (yyval.expr) = exprNode_arrayFetch ((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].expr)); ;}
7157 { (yyval.expr) = exprNode_functionCall ((yyvsp[(1) - (3)].expr), exprNodeList_new ()); ;}
7162 { (yyval.expr) = exprNode_functionCall ((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].exprlist)); ;}
7167 { (yyval.expr) = exprNode_vaArg ((yyvsp[(1) - (6)].tok), (yyvsp[(3) - (6)].expr), (yyvsp[(5) - (6)].qtyp)); ;}
7172 { (yyval.expr) = exprNode_fieldAccess ((yyvsp[(1) - (5)].expr), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].cname)); ;}
7177 { (yyval.expr) = exprNode_arrowAccess ((yyvsp[(1) - (5)].expr), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].cname)); ;}
7182 { (yyval.expr) = exprNode_postOp ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
7187 { (yyval.expr) = exprNode_postOp ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
7192 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7197 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7202 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7207 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7212 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7217 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7222 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7227 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7232 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
7237 { (yyval.expr) = exprNode_cast ((yyvsp[(1) - (4)].tok), (yyvsp[(4) - (4)].expr), (yyvsp[(2) - (4)].qtyp)); ;}
7242 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7247 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7252 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7257 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7262 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7267 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7272 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7277 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7282 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7287 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7292 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7297 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7302 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7307 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7312 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7317 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7322 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7327 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7332 { context_enterTrueClause ((yyvsp[(1) - (2)].expr)); ;}
7337 { context_enterFalseClause ((yyvsp[(1) - (4)].expr)); ;}
7342 { (yyval.expr) = exprNode_condIfOmit ((yyvsp[(1) - (6)].expr), (yyvsp[(6) - (6)].expr)); ;}
7347 { context_enterTrueClause ((yyvsp[(1) - (2)].expr)); ;}
7352 { context_enterFalseClause ((yyvsp[(1) - (5)].expr)); ;}
7357 { (yyval.expr) = exprNode_cond ((yyvsp[(1) - (7)].expr), (yyvsp[(4) - (7)].expr), (yyvsp[(7) - (7)].expr)); ;}
7362 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7367 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7372 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7377 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7382 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7387 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7392 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7397 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7402 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7407 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7412 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7417 { (yyval.entry) = (yyvsp[(1) - (1)].entry); ;}
7422 { (yyval.entry) = uentry_undefined; ;}
7427 { context_enterDoWhileClause (); (yyval.tok) = (yyvsp[(1) - (1)].tok); ;}
7432 { (yyval.expr) = exprNode_while ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); context_exitWhileClause ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7437 { (yyval.expr) = exprNode_statement (exprNode_doWhile ((yyvsp[(2) - (7)].expr), (yyvsp[(5) - (7)].expr)), (yyvsp[(7) - (7)].tok)); ;}
7442 { (yyval.expr) = exprNode_for ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); context_exitForClause ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7447 { (yyval.expr) = exprNode_while ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); context_exitWhileClause ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7452 { (yyval.expr) = exprNode_statement (exprNode_doWhile ((yyvsp[(2) - (7)].expr), (yyvsp[(5) - (7)].expr)), (yyvsp[(7) - (7)].tok)); ;}
7457 { (yyval.expr) = exprNode_doWhile ((yyvsp[(2) - (6)].expr), (yyvsp[(5) - (6)].expr)); ;}
7462 { (yyval.expr) = exprNode_for ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); context_exitForClause ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7467 { (yyval.expr) = exprNode_goto ((yyvsp[(2) - (3)].cname)); ;}
7472 { (yyval.expr) = exprNode_continue ((yyvsp[(1) - (2)].tok), BADTOK); ;}
7477 { (yyval.expr) = exprNode_continue ((yyvsp[(1) - (3)].tok), QINNERCONTINUE); ;}
7482 { (yyval.expr) = exprNode_break ((yyvsp[(1) - (2)].tok), BADTOK); ;}
7487 { (yyval.expr) = exprNode_break ((yyvsp[(2) - (3)].tok), QSWITCHBREAK); ;}
7492 { (yyval.expr) = exprNode_break ((yyvsp[(2) - (3)].tok), QLOOPBREAK); ;}
7497 { (yyval.expr) = exprNode_break ((yyvsp[(2) - (3)].tok), QINNERBREAK); ;}
7502 { (yyval.expr) = exprNode_break ((yyvsp[(2) - (3)].tok), QSAFEBREAK); ;}
7507 { (yyval.expr) = exprNode_nullReturn ((yyvsp[(1) - (2)].tok)); ;}
7512 { (yyval.expr) = exprNode_return ((yyvsp[(2) - (3)].expr)); ;}
7527 { (yyval.cname) = uentry_getName ((yyvsp[(1) - (1)].entry)); ;}
7532 { (yyval.cname) = uentry_getName ((yyvsp[(1) - (1)].entry)); ;}
7537 { (yyval.cname) = uentry_getName ((yyvsp[(1) - (1)].entry)); ;}
7542 { (yyval.cname) = (yyvsp[(1) - (1)].cname); ;}
7547 { (yyval.ctyp) = ctype_unknown; ;}
7552 { (yyval.ctyp) = exprNode_getType ((yyvsp[(3) - (4)].expr)); exprNode_free ((yyvsp[(3) - (4)].expr)); ;}
7557 { (yyval.ctyp) = qtype_getType ((yyvsp[(3) - (4)].qtyp)); ;}
7561 /* Line 1267 of yacc.c. */
7565 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
7569 YY_STACK_PRINT (yyss, yyssp);
7574 /* Now `shift' the result of the reduction. Determine what state
7575 that goes to, based on the state we popped back to and the rule
7576 number reduced by. */
7580 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
7581 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7582 yystate = yytable[yystate];
7584 yystate = yydefgoto[yyn - YYNTOKENS];
7589 /*------------------------------------.
7590 | yyerrlab -- here on detecting error |
7591 `------------------------------------*/
7593 /* If not already recovering from an error, report this error. */
7597 #if ! YYERROR_VERBOSE
7598 yyerror (YY_("syntax error"));
7601 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
7602 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
7604 YYSIZE_T yyalloc = 2 * yysize;
7605 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
7606 yyalloc = YYSTACK_ALLOC_MAXIMUM;
7607 if (yymsg != yymsgbuf)
7608 YYSTACK_FREE (yymsg);
7609 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
7611 yymsg_alloc = yyalloc;
7615 yymsg_alloc = sizeof yymsgbuf;
7619 if (0 < yysize && yysize <= yymsg_alloc)
7621 (void) yysyntax_error (yymsg, yystate, yychar);
7626 yyerror (YY_("syntax error"));
7628 goto yyexhaustedlab;
7636 if (yyerrstatus == 3)
7638 /* If just tried and failed to reuse look-ahead token after an
7639 error, discard it. */
7641 if (yychar <= YYEOF)
7643 /* Return failure if at end of input. */
7644 if (yychar == YYEOF)
7649 yydestruct ("Error: discarding",
7655 /* Else will try to reuse look-ahead token after shifting the error
7660 /*---------------------------------------------------.
7661 | yyerrorlab -- error raised explicitly by YYERROR. |
7662 `---------------------------------------------------*/
7665 /* Pacify compilers like GCC when the user code never invokes
7666 YYERROR and the label yyerrorlab therefore never appears in user
7668 if (/*CONSTCOND*/ 0)
7671 /* Do not reclaim the symbols of the rule which action triggered
7675 YY_STACK_PRINT (yyss, yyssp);
7680 /*-------------------------------------------------------------.
7681 | yyerrlab1 -- common code for both syntax error and YYERROR. |
7682 `-------------------------------------------------------------*/
7684 yyerrstatus = 3; /* Each real token shifted decrements this. */
7688 yyn = yypact[yystate];
7689 if (yyn != YYPACT_NINF)
7692 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
7700 /* Pop the current state because it cannot handle the error token. */
7705 yydestruct ("Error: popping",
7706 yystos[yystate], yyvsp);
7709 YY_STACK_PRINT (yyss, yyssp);
7718 /* Shift the error token. */
7719 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
7725 /*-------------------------------------.
7726 | yyacceptlab -- YYACCEPT comes here. |
7727 `-------------------------------------*/
7732 /*-----------------------------------.
7733 | yyabortlab -- YYABORT comes here. |
7734 `-----------------------------------*/
7740 /*-------------------------------------------------.
7741 | yyexhaustedlab -- memory exhaustion comes here. |
7742 `-------------------------------------------------*/
7744 yyerror (YY_("memory exhausted"));
7750 if (yychar != YYEOF && yychar != YYEMPTY)
7751 yydestruct ("Cleanup: discarding lookahead",
7753 /* Do not reclaim the symbols of the rule which action triggered
7754 this YYABORT or YYACCEPT. */
7756 YY_STACK_PRINT (yyss, yyssp);
7757 while (yyssp != yyss)
7759 yydestruct ("Cleanup: popping",
7760 yystos[*yyssp], yyvsp);
7765 YYSTACK_FREE (yyss);
7768 if (yymsg != yymsgbuf)
7769 YYSTACK_FREE (yymsg);
7771 /* Make sure YYID is used. */
7772 return YYID (yyresult);
7779 /*@-redecl@*/ /*@-namechecks@*/
7780 extern char *yytext;
7781 /*@=redecl@*/ /*@=namechecks@*/
7783 # include "bison.reset"
7785 void yyerror (/*@unused@*/ char *s)
7787 static bool givehint = FALSE;
7789 if (context_inIterDef ())
7791 llerror (FLG_SYNTAX, message ("Iter syntax not parseable: %s",
7792 context_inFunctionName ()));
7794 else if (context_inIterEnd ())
7796 llerror (FLG_SYNTAX, message ("Iter finalizer syntax not parseable: %s",
7797 context_inFunctionName ()));
7799 else if (context_inMacro ())
7801 llerror (FLG_SYNTAX, message ("Macro syntax not parseable: %s",
7802 context_inFunctionName ()));
7804 if (context_inUnknownMacro ())
7808 llhint (cstring_makeLiteral
7809 ("Precede macro definition with /*@notfunction@*/ "
7810 "to suppress checking and force expansion"));
7815 cscannerHelp_swallowMacro ();
7816 context_exitAllClausesQuiet ();
7820 llparseerror (cstring_undefined);
7837 ** Resets all flags in bison.head
7859 /*@=evalorderuncon@*/
7868 /*@=elseifcomplete@*/
7872 /*@=readonlytrans@*/
7875 /*@=systemunrecog@*/
7876 /*@=dependenttrans@*/
7877 /*@=unqualifiedtrans@*/
7881 /*drl added 11/27/2001*/
7884 /*drl added 12/11/2002*/