1 /* A Bison parser, made by GNU Bison 3.0.4. */
3 /* Bison implementation for Yacc-like parsers in C
5 Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
33 /* C LALR(1) parser skeleton written by Richard Stallman, by
34 simplifying the original so-called "semantic" parser. */
36 /* All symbols defined below should begin with yy or YY, to avoid
37 infringing on user name space. This should be done even for local
38 variables, as they might otherwise be expanded by user macros.
39 There are some unavoidable exceptions within include files to
40 define necessary library symbols; they are noted "INFRINGES ON
41 USER NAME SPACE" below. */
43 /* Identify Bison output. */
47 #define YYBISON_VERSION "3.0.4"
50 #define YYSKELETON_NAME "yacc.c"
64 /* Copy the first part of user declarations. */
65 #line 42 "MachineIndependent/glslang.y" /* yacc.c:339 */
71 In 1985, Jeff Lee published his Yacc grammar (which is accompanied by a
72 matching Lex specification) for the April 30, 1985 draft version of the
73 ANSI C standard. Tom Stockfisch reposted it to net.sources in 1987; that
74 original, as mentioned in the answer to question 17.25 of the comp.lang.c
75 FAQ, can be ftp'ed from ftp.uu.net, file usenet/net.sources/ansi.c.grammar.Z.
77 I intend to keep this version as close to the current C Standard grammar as
78 possible; please let me know if you discover discrepancies.
83 #include "SymbolTable.h"
84 #include "ParseHelper.h"
85 #include "../Public/ShaderLang.h"
86 #include "attribute.h"
88 using namespace glslang;
91 #line 92 "MachineIndependent/glslang_tab.cpp" /* yacc.c:339 */
94 # if defined __cplusplus && 201103L <= __cplusplus
95 # define YY_NULLPTR nullptr
101 /* Enabling verbose error messages. */
102 #ifdef YYERROR_VERBOSE
103 # undef YYERROR_VERBOSE
104 # define YYERROR_VERBOSE 1
106 # define YYERROR_VERBOSE 1
109 /* In a future release of Bison, this section will be replaced
110 by #include "glslang_tab.cpp.h". */
111 #ifndef YY_YY_MACHINEINDEPENDENT_GLSLANG_TAB_CPP_H_INCLUDED
112 # define YY_YY_MACHINEINDEPENDENT_GLSLANG_TAB_CPP_H_INCLUDED
214 DEVICECOHERENT = 346,
215 QUEUEFAMILYCOHERENT = 347,
216 WORKGROUPCOHERENT = 348,
217 SUBGROUPCOHERENT = 349,
247 EXPLICITINTERPAMD = 379,
249 PERPRIMITIVENV = 381,
303 SAMPLER1DSHADOW = 435,
304 SAMPLER2DSHADOW = 436,
305 SAMPLERCUBESHADOW = 437,
306 SAMPLER1DARRAY = 438,
307 SAMPLER2DARRAY = 439,
308 SAMPLER1DARRAYSHADOW = 440,
309 SAMPLER2DARRAYSHADOW = 441,
314 ISAMPLER1DARRAY = 446,
315 ISAMPLER2DARRAY = 447,
320 USAMPLER1DARRAY = 452,
321 USAMPLER2DARRAY = 453,
323 SAMPLER2DRECTSHADOW = 455,
324 ISAMPLER2DRECT = 456,
325 USAMPLER2DRECT = 457,
327 ISAMPLERBUFFER = 459,
328 USAMPLERBUFFER = 460,
329 SAMPLERCUBEARRAY = 461,
330 SAMPLERCUBEARRAYSHADOW = 462,
331 ISAMPLERCUBEARRAY = 463,
332 USAMPLERCUBEARRAY = 464,
336 SAMPLER2DMSARRAY = 468,
337 ISAMPLER2DMSARRAY = 469,
338 USAMPLER2DMSARRAY = 470,
339 SAMPLEREXTERNALOES = 471,
343 F16SAMPLER2DRECT = 475,
344 F16SAMPLERCUBE = 476,
345 F16SAMPLER1DARRAY = 477,
346 F16SAMPLER2DARRAY = 478,
347 F16SAMPLERCUBEARRAY = 479,
348 F16SAMPLERBUFFER = 480,
349 F16SAMPLER2DMS = 481,
350 F16SAMPLER2DMSARRAY = 482,
351 F16SAMPLER1DSHADOW = 483,
352 F16SAMPLER2DSHADOW = 484,
353 F16SAMPLER1DARRAYSHADOW = 485,
354 F16SAMPLER2DARRAYSHADOW = 486,
355 F16SAMPLER2DRECTSHADOW = 487,
356 F16SAMPLERCUBESHADOW = 488,
357 F16SAMPLERCUBEARRAYSHADOW = 489,
364 TEXTURE1DARRAY = 496,
365 TEXTURE2DARRAY = 497,
370 ITEXTURE1DARRAY = 502,
371 ITEXTURE2DARRAY = 503,
376 UTEXTURE1DARRAY = 508,
377 UTEXTURE2DARRAY = 509,
379 ITEXTURE2DRECT = 511,
380 UTEXTURE2DRECT = 512,
382 ITEXTUREBUFFER = 514,
383 UTEXTUREBUFFER = 515,
384 TEXTURECUBEARRAY = 516,
385 ITEXTURECUBEARRAY = 517,
386 UTEXTURECUBEARRAY = 518,
390 TEXTURE2DMSARRAY = 522,
391 ITEXTURE2DMSARRAY = 523,
392 UTEXTURE2DMSARRAY = 524,
396 F16TEXTURE2DRECT = 528,
397 F16TEXTURECUBE = 529,
398 F16TEXTURE1DARRAY = 530,
399 F16TEXTURE2DARRAY = 531,
400 F16TEXTURECUBEARRAY = 532,
401 F16TEXTUREBUFFER = 533,
402 F16TEXTURE2DMS = 534,
403 F16TEXTURE2DMSARRAY = 535,
405 SUBPASSINPUTMS = 537,
407 ISUBPASSINPUTMS = 539,
409 USUBPASSINPUTMS = 541,
410 F16SUBPASSINPUT = 542,
411 F16SUBPASSINPUTMS = 543,
436 IMAGECUBEARRAY = 568,
437 IIMAGECUBEARRAY = 569,
438 UIMAGECUBEARRAY = 570,
442 IMAGE2DMSARRAY = 574,
443 IIMAGE2DMSARRAY = 575,
444 UIMAGE2DMSARRAY = 576,
448 F16IMAGE2DRECT = 580,
450 F16IMAGE1DARRAY = 582,
451 F16IMAGE2DARRAY = 583,
452 F16IMAGECUBEARRAY = 584,
453 F16IMAGEBUFFER = 585,
455 F16IMAGE2DMSARRAY = 587,
462 DOUBLECONSTANT = 594,
464 UINT16CONSTANT = 596,
466 UINT32CONSTANT = 598,
470 UINT64CONSTANT = 602,
472 FLOAT16CONSTANT = 604,
520 HIGH_PRECISION = 652,
521 MEDIUM_PRECISION = 653,
531 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
535 #line 70 "MachineIndependent/glslang.y" /* yacc.c:355 */
538 glslang::TSourceLoc loc;
540 glslang::TString *string;
544 unsigned long long u64;
548 glslang::TSymbol* symbol;
551 glslang::TSourceLoc loc;
552 glslang::TOperator op;
554 TIntermNode* intermNode;
555 glslang::TIntermNodePair nodePair;
556 glslang::TIntermTyped* intermTypedNode;
557 glslang::TAttributes* attributes;
560 glslang::TPublicType type;
561 glslang::TFunction* function;
562 glslang::TParameter param;
563 glslang::TTypeLoc typeLine;
564 glslang::TTypeList* typeList;
565 glslang::TArraySizes* arraySizes;
566 glslang::TIdentifierList* identifierList;
570 #line 571 "MachineIndependent/glslang_tab.cpp" /* yacc.c:355 */
573 typedef union YYSTYPE YYSTYPE;
574 # define YYSTYPE_IS_TRIVIAL 1
575 # define YYSTYPE_IS_DECLARED 1
580 int yyparse (glslang::TParseContext* pParseContext);
582 #endif /* !YY_YY_MACHINEINDEPENDENT_GLSLANG_TAB_CPP_H_INCLUDED */
584 /* Copy the second part of user declarations. */
585 #line 105 "MachineIndependent/glslang.y" /* yacc.c:358 */
588 /* windows only pragma */
590 #pragma warning(disable : 4065)
591 #pragma warning(disable : 4127)
592 #pragma warning(disable : 4244)
595 #define parseContext (*pParseContext)
596 #define yyerror(context, msg) context->parserError(msg)
598 extern int yylex(YYSTYPE*, TParseContext&);
601 #line 602 "MachineIndependent/glslang_tab.cpp" /* yacc.c:358 */
608 typedef YYTYPE_UINT8 yytype_uint8;
610 typedef unsigned char yytype_uint8;
614 typedef YYTYPE_INT8 yytype_int8;
616 typedef signed char yytype_int8;
620 typedef YYTYPE_UINT16 yytype_uint16;
622 typedef unsigned short int yytype_uint16;
626 typedef YYTYPE_INT16 yytype_int16;
628 typedef short int yytype_int16;
632 # ifdef __SIZE_TYPE__
633 # define YYSIZE_T __SIZE_TYPE__
634 # elif defined size_t
635 # define YYSIZE_T size_t
636 # elif ! defined YYSIZE_T
637 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
638 # define YYSIZE_T size_t
640 # define YYSIZE_T unsigned int
644 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
647 # if defined YYENABLE_NLS && YYENABLE_NLS
649 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
650 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
654 # define YY_(Msgid) Msgid
659 # if (defined __GNUC__ \
660 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
661 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
662 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
664 # define YY_ATTRIBUTE(Spec) /* empty */
668 #ifndef YY_ATTRIBUTE_PURE
669 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
672 #ifndef YY_ATTRIBUTE_UNUSED
673 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
676 #if !defined _Noreturn \
677 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
678 # if defined _MSC_VER && 1200 <= _MSC_VER
679 # define _Noreturn __declspec (noreturn)
681 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
685 /* Suppress unused-variable warnings by "using" E. */
686 #if ! defined lint || defined __GNUC__
687 # define YYUSE(E) ((void) (E))
689 # define YYUSE(E) /* empty */
692 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
693 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
694 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
695 _Pragma ("GCC diagnostic push") \
696 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
697 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
698 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
699 _Pragma ("GCC diagnostic pop")
701 # define YY_INITIAL_VALUE(Value) Value
703 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
704 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
705 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
707 #ifndef YY_INITIAL_VALUE
708 # define YY_INITIAL_VALUE(Value) /* Nothing. */
712 #if ! defined yyoverflow || YYERROR_VERBOSE
714 /* The parser invokes alloca or malloc; define the necessary symbols. */
716 # ifdef YYSTACK_USE_ALLOCA
717 # if YYSTACK_USE_ALLOCA
719 # define YYSTACK_ALLOC __builtin_alloca
720 # elif defined __BUILTIN_VA_ARG_INCR
721 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
723 # define YYSTACK_ALLOC __alloca
724 # elif defined _MSC_VER
725 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
726 # define alloca _alloca
728 # define YYSTACK_ALLOC alloca
729 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
730 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
731 /* Use EXIT_SUCCESS as a witness for stdlib.h. */
732 # ifndef EXIT_SUCCESS
733 # define EXIT_SUCCESS 0
740 # ifdef YYSTACK_ALLOC
741 /* Pacify GCC's 'empty if-body' warning. */
742 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
743 # ifndef YYSTACK_ALLOC_MAXIMUM
744 /* The OS might guarantee only one guard page at the bottom of the stack,
745 and a page size can be as small as 4096 bytes. So we cannot safely
746 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
747 to allow for a few compiler-allocated temporary stack slots. */
748 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
751 # define YYSTACK_ALLOC YYMALLOC
752 # define YYSTACK_FREE YYFREE
753 # ifndef YYSTACK_ALLOC_MAXIMUM
754 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
756 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
757 && ! ((defined YYMALLOC || defined malloc) \
758 && (defined YYFREE || defined free)))
759 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
760 # ifndef EXIT_SUCCESS
761 # define EXIT_SUCCESS 0
765 # define YYMALLOC malloc
766 # if ! defined malloc && ! defined EXIT_SUCCESS
767 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
772 # if ! defined free && ! defined EXIT_SUCCESS
773 void free (void *); /* INFRINGES ON USER NAME SPACE */
777 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
780 #if (! defined yyoverflow \
781 && (! defined __cplusplus \
782 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
784 /* A type that is properly aligned for any stack member. */
787 yytype_int16 yyss_alloc;
791 /* The size of the maximum gap between one aligned stack and the next. */
792 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
794 /* The size of an array large to enough to hold all stacks, each with
796 # define YYSTACK_BYTES(N) \
797 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
798 + YYSTACK_GAP_MAXIMUM)
800 # define YYCOPY_NEEDED 1
802 /* Relocate STACK from its old location to the new one. The
803 local variables YYSIZE and YYSTACKSIZE give the old and new number of
804 elements in the stack, and YYPTR gives the new location of the
805 stack. Advance YYPTR to a properly aligned location for the next
807 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
810 YYSIZE_T yynewbytes; \
811 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
812 Stack = &yyptr->Stack_alloc; \
813 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
814 yyptr += yynewbytes / sizeof (*yyptr); \
820 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
821 /* Copy COUNT objects from SRC to DST. The source and destination do
824 # if defined __GNUC__ && 1 < __GNUC__
825 # define YYCOPY(Dst, Src, Count) \
826 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
828 # define YYCOPY(Dst, Src, Count) \
832 for (yyi = 0; yyi < (Count); yyi++) \
833 (Dst)[yyi] = (Src)[yyi]; \
838 #endif /* !YYCOPY_NEEDED */
840 /* YYFINAL -- State number of the termination state. */
842 /* YYLAST -- Last index in YYTABLE. */
845 /* YYNTOKENS -- Number of terminals. */
846 #define YYNTOKENS 404
847 /* YYNNTS -- Number of nonterminals. */
849 /* YYNRULES -- Number of rules. */
851 /* YYNSTATES -- Number of states. */
852 #define YYNSTATES 710
854 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
855 by yylex, with out-of-bounds checking. */
857 #define YYMAXUTOK 658
859 #define YYTRANSLATE(YYX) \
860 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
862 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
863 as returned by yylex, without out-of-bounds checking. */
864 static const yytype_uint16 yytranslate[] =
866 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
867 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
868 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
869 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
870 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
871 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
872 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
873 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
874 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
875 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
876 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
877 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
878 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
879 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
880 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
881 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
882 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
883 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
884 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
885 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
886 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
887 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
888 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
889 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
890 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
891 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
892 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
893 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
894 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
895 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
896 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
897 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
898 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
899 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
900 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
901 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
902 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
903 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
904 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
905 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
906 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
907 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
908 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
909 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
910 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
911 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
912 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
913 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
914 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
915 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
916 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
917 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
918 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
919 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
920 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
921 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
922 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
923 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
924 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
925 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
926 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
927 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
928 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
929 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
930 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
931 395, 396, 397, 398, 399, 400, 401, 402, 403
935 /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
936 static const yytype_uint16 yyrline[] =
938 0, 294, 294, 300, 303, 307, 311, 314, 318, 322,
939 326, 330, 334, 337, 341, 345, 348, 356, 359, 362,
940 365, 368, 373, 381, 388, 395, 401, 405, 412, 415,
941 421, 428, 438, 446, 451, 478, 486, 492, 496, 500,
942 520, 521, 522, 523, 529, 530, 535, 540, 549, 550,
943 555, 563, 564, 570, 579, 580, 585, 590, 595, 603,
944 604, 612, 623, 624, 633, 634, 643, 644, 653, 654,
945 662, 663, 671, 672, 680, 681, 681, 699, 700, 716,
946 720, 724, 728, 733, 737, 741, 745, 749, 753, 757,
947 764, 767, 778, 785, 790, 795, 803, 807, 811, 815,
948 820, 825, 834, 834, 845, 849, 856, 863, 866, 873,
949 881, 901, 924, 939, 964, 975, 985, 995, 1005, 1014,
950 1017, 1021, 1025, 1030, 1038, 1043, 1048, 1053, 1058, 1067,
951 1078, 1105, 1114, 1121, 1128, 1139, 1148, 1158, 1170, 1179,
952 1191, 1197, 1200, 1207, 1211, 1215, 1223, 1232, 1235, 1246,
953 1249, 1252, 1256, 1260, 1264, 1268, 1274, 1278, 1290, 1304,
954 1309, 1315, 1321, 1328, 1334, 1339, 1344, 1349, 1359, 1369,
955 1379, 1391, 1395, 1400, 1405, 1410, 1415, 1420, 1424, 1428,
956 1432, 1436, 1442, 1451, 1458, 1461, 1469, 1473, 1482, 1487,
957 1495, 1499, 1509, 1513, 1517, 1522, 1527, 1532, 1537, 1541,
958 1546, 1551, 1556, 1561, 1566, 1571, 1576, 1581, 1586, 1590,
959 1595, 1600, 1605, 1611, 1617, 1623, 1629, 1635, 1641, 1647,
960 1653, 1659, 1665, 1671, 1677, 1682, 1687, 1692, 1697, 1702,
961 1707, 1713, 1719, 1725, 1731, 1737, 1743, 1749, 1755, 1761,
962 1767, 1773, 1779, 1785, 1791, 1797, 1803, 1809, 1815, 1821,
963 1827, 1833, 1839, 1845, 1851, 1857, 1863, 1869, 1874, 1879,
964 1884, 1889, 1894, 1899, 1904, 1909, 1914, 1919, 1924, 1929,
965 1935, 1941, 1947, 1953, 1959, 1965, 1971, 1977, 1983, 1989,
966 1995, 2001, 2007, 2013, 2019, 2025, 2031, 2037, 2043, 2049,
967 2055, 2061, 2067, 2073, 2079, 2085, 2091, 2097, 2103, 2109,
968 2115, 2121, 2127, 2133, 2139, 2145, 2151, 2157, 2163, 2169,
969 2175, 2181, 2187, 2193, 2199, 2205, 2211, 2217, 2223, 2228,
970 2233, 2238, 2243, 2248, 2253, 2258, 2263, 2268, 2273, 2278,
971 2283, 2288, 2293, 2301, 2309, 2317, 2325, 2333, 2341, 2349,
972 2357, 2365, 2373, 2381, 2389, 2397, 2402, 2407, 2412, 2417,
973 2422, 2427, 2432, 2437, 2442, 2447, 2452, 2457, 2462, 2467,
974 2472, 2477, 2485, 2493, 2498, 2503, 2508, 2516, 2521, 2526,
975 2531, 2539, 2544, 2549, 2554, 2562, 2567, 2572, 2577, 2582,
976 2587, 2595, 2600, 2608, 2613, 2621, 2626, 2634, 2639, 2647,
977 2652, 2660, 2665, 2673, 2678, 2683, 2688, 2693, 2698, 2703,
978 2708, 2713, 2718, 2723, 2728, 2733, 2738, 2743, 2748, 2756,
979 2761, 2766, 2771, 2779, 2784, 2789, 2794, 2802, 2807, 2812,
980 2817, 2825, 2830, 2835, 2840, 2848, 2853, 2858, 2863, 2871,
981 2876, 2881, 2886, 2894, 2899, 2904, 2909, 2917, 2922, 2927,
982 2932, 2940, 2945, 2950, 2955, 2963, 2968, 2973, 2978, 2986,
983 2991, 2996, 3001, 3009, 3014, 3019, 3024, 3032, 3037, 3042,
984 3047, 3055, 3060, 3065, 3070, 3078, 3083, 3088, 3094, 3100,
985 3106, 3115, 3124, 3130, 3136, 3142, 3148, 3153, 3169, 3174,
986 3179, 3187, 3187, 3198, 3198, 3208, 3211, 3224, 3246, 3273,
987 3277, 3283, 3288, 3299, 3302, 3308, 3317, 3320, 3326, 3330,
988 3331, 3337, 3338, 3339, 3340, 3341, 3342, 3343, 3347, 3348,
989 3352, 3348, 3364, 3365, 3369, 3369, 3376, 3376, 3390, 3393,
990 3401, 3409, 3420, 3421, 3425, 3428, 3434, 3441, 3445, 3453,
991 3457, 3470, 3473, 3479, 3479, 3499, 3502, 3508, 3520, 3532,
992 3535, 3541, 3541, 3556, 3556, 3572, 3572, 3593, 3596, 3602,
993 3605, 3611, 3615, 3622, 3627, 3632, 3639, 3642, 3651, 3655,
994 3664, 3667, 3670, 3678, 3678, 3700, 3706, 3709, 3714, 3717
998 #if YYDEBUG || YYERROR_VERBOSE || 1
999 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1000 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1001 static const char *const yytname[] =
1003 "$end", "error", "$undefined", "ATTRIBUTE", "VARYING", "FLOAT16_T",
1004 "FLOAT", "FLOAT32_T", "DOUBLE", "FLOAT64_T", "CONST", "BOOL", "INT",
1005 "UINT", "INT64_T", "UINT64_T", "INT32_T", "UINT32_T", "INT16_T",
1006 "UINT16_T", "INT8_T", "UINT8_T", "BREAK", "CONTINUE", "DO", "ELSE",
1007 "FOR", "IF", "DISCARD", "RETURN", "SWITCH", "CASE", "DEFAULT",
1008 "SUBROUTINE", "BVEC2", "BVEC3", "BVEC4", "IVEC2", "IVEC3", "IVEC4",
1009 "UVEC2", "UVEC3", "UVEC4", "I64VEC2", "I64VEC3", "I64VEC4", "U64VEC2",
1010 "U64VEC3", "U64VEC4", "I32VEC2", "I32VEC3", "I32VEC4", "U32VEC2",
1011 "U32VEC3", "U32VEC4", "I16VEC2", "I16VEC3", "I16VEC4", "U16VEC2",
1012 "U16VEC3", "U16VEC4", "I8VEC2", "I8VEC3", "I8VEC4", "U8VEC2", "U8VEC3",
1013 "U8VEC4", "VEC2", "VEC3", "VEC4", "MAT2", "MAT3", "MAT4", "CENTROID",
1014 "IN", "OUT", "INOUT", "UNIFORM", "PATCH", "SAMPLE", "BUFFER", "SHARED",
1015 "NONUNIFORM", "PAYLOADNV", "PAYLOADINNV", "HITATTRNV", "COHERENT",
1016 "VOLATILE", "RESTRICT", "READONLY", "WRITEONLY", "DEVICECOHERENT",
1017 "QUEUEFAMILYCOHERENT", "WORKGROUPCOHERENT", "SUBGROUPCOHERENT",
1018 "NONPRIVATE", "DVEC2", "DVEC3", "DVEC4", "DMAT2", "DMAT3", "DMAT4",
1019 "F16VEC2", "F16VEC3", "F16VEC4", "F16MAT2", "F16MAT3", "F16MAT4",
1020 "F32VEC2", "F32VEC3", "F32VEC4", "F32MAT2", "F32MAT3", "F32MAT4",
1021 "F64VEC2", "F64VEC3", "F64VEC4", "F64MAT2", "F64MAT3", "F64MAT4",
1022 "NOPERSPECTIVE", "FLAT", "SMOOTH", "LAYOUT", "EXPLICITINTERPAMD",
1023 "PERVERTEXNV", "PERPRIMITIVENV", "PERVIEWNV", "PERTASKNV", "MAT2X2",
1024 "MAT2X3", "MAT2X4", "MAT3X2", "MAT3X3", "MAT3X4", "MAT4X2", "MAT4X3",
1025 "MAT4X4", "DMAT2X2", "DMAT2X3", "DMAT2X4", "DMAT3X2", "DMAT3X3",
1026 "DMAT3X4", "DMAT4X2", "DMAT4X3", "DMAT4X4", "F16MAT2X2", "F16MAT2X3",
1027 "F16MAT2X4", "F16MAT3X2", "F16MAT3X3", "F16MAT3X4", "F16MAT4X2",
1028 "F16MAT4X3", "F16MAT4X4", "F32MAT2X2", "F32MAT2X3", "F32MAT2X4",
1029 "F32MAT3X2", "F32MAT3X3", "F32MAT3X4", "F32MAT4X2", "F32MAT4X3",
1030 "F32MAT4X4", "F64MAT2X2", "F64MAT2X3", "F64MAT2X4", "F64MAT3X2",
1031 "F64MAT3X3", "F64MAT3X4", "F64MAT4X2", "F64MAT4X3", "F64MAT4X4",
1032 "ATOMIC_UINT", "ACCSTRUCTNV", "SAMPLER1D", "SAMPLER2D", "SAMPLER3D",
1033 "SAMPLERCUBE", "SAMPLER1DSHADOW", "SAMPLER2DSHADOW", "SAMPLERCUBESHADOW",
1034 "SAMPLER1DARRAY", "SAMPLER2DARRAY", "SAMPLER1DARRAYSHADOW",
1035 "SAMPLER2DARRAYSHADOW", "ISAMPLER1D", "ISAMPLER2D", "ISAMPLER3D",
1036 "ISAMPLERCUBE", "ISAMPLER1DARRAY", "ISAMPLER2DARRAY", "USAMPLER1D",
1037 "USAMPLER2D", "USAMPLER3D", "USAMPLERCUBE", "USAMPLER1DARRAY",
1038 "USAMPLER2DARRAY", "SAMPLER2DRECT", "SAMPLER2DRECTSHADOW",
1039 "ISAMPLER2DRECT", "USAMPLER2DRECT", "SAMPLERBUFFER", "ISAMPLERBUFFER",
1040 "USAMPLERBUFFER", "SAMPLERCUBEARRAY", "SAMPLERCUBEARRAYSHADOW",
1041 "ISAMPLERCUBEARRAY", "USAMPLERCUBEARRAY", "SAMPLER2DMS", "ISAMPLER2DMS",
1042 "USAMPLER2DMS", "SAMPLER2DMSARRAY", "ISAMPLER2DMSARRAY",
1043 "USAMPLER2DMSARRAY", "SAMPLEREXTERNALOES", "F16SAMPLER1D",
1044 "F16SAMPLER2D", "F16SAMPLER3D", "F16SAMPLER2DRECT", "F16SAMPLERCUBE",
1045 "F16SAMPLER1DARRAY", "F16SAMPLER2DARRAY", "F16SAMPLERCUBEARRAY",
1046 "F16SAMPLERBUFFER", "F16SAMPLER2DMS", "F16SAMPLER2DMSARRAY",
1047 "F16SAMPLER1DSHADOW", "F16SAMPLER2DSHADOW", "F16SAMPLER1DARRAYSHADOW",
1048 "F16SAMPLER2DARRAYSHADOW", "F16SAMPLER2DRECTSHADOW",
1049 "F16SAMPLERCUBESHADOW", "F16SAMPLERCUBEARRAYSHADOW", "SAMPLER",
1050 "SAMPLERSHADOW", "TEXTURE1D", "TEXTURE2D", "TEXTURE3D", "TEXTURECUBE",
1051 "TEXTURE1DARRAY", "TEXTURE2DARRAY", "ITEXTURE1D", "ITEXTURE2D",
1052 "ITEXTURE3D", "ITEXTURECUBE", "ITEXTURE1DARRAY", "ITEXTURE2DARRAY",
1053 "UTEXTURE1D", "UTEXTURE2D", "UTEXTURE3D", "UTEXTURECUBE",
1054 "UTEXTURE1DARRAY", "UTEXTURE2DARRAY", "TEXTURE2DRECT", "ITEXTURE2DRECT",
1055 "UTEXTURE2DRECT", "TEXTUREBUFFER", "ITEXTUREBUFFER", "UTEXTUREBUFFER",
1056 "TEXTURECUBEARRAY", "ITEXTURECUBEARRAY", "UTEXTURECUBEARRAY",
1057 "TEXTURE2DMS", "ITEXTURE2DMS", "UTEXTURE2DMS", "TEXTURE2DMSARRAY",
1058 "ITEXTURE2DMSARRAY", "UTEXTURE2DMSARRAY", "F16TEXTURE1D", "F16TEXTURE2D",
1059 "F16TEXTURE3D", "F16TEXTURE2DRECT", "F16TEXTURECUBE",
1060 "F16TEXTURE1DARRAY", "F16TEXTURE2DARRAY", "F16TEXTURECUBEARRAY",
1061 "F16TEXTUREBUFFER", "F16TEXTURE2DMS", "F16TEXTURE2DMSARRAY",
1062 "SUBPASSINPUT", "SUBPASSINPUTMS", "ISUBPASSINPUT", "ISUBPASSINPUTMS",
1063 "USUBPASSINPUT", "USUBPASSINPUTMS", "F16SUBPASSINPUT",
1064 "F16SUBPASSINPUTMS", "IMAGE1D", "IIMAGE1D", "UIMAGE1D", "IMAGE2D",
1065 "IIMAGE2D", "UIMAGE2D", "IMAGE3D", "IIMAGE3D", "UIMAGE3D", "IMAGE2DRECT",
1066 "IIMAGE2DRECT", "UIMAGE2DRECT", "IMAGECUBE", "IIMAGECUBE", "UIMAGECUBE",
1067 "IMAGEBUFFER", "IIMAGEBUFFER", "UIMAGEBUFFER", "IMAGE1DARRAY",
1068 "IIMAGE1DARRAY", "UIMAGE1DARRAY", "IMAGE2DARRAY", "IIMAGE2DARRAY",
1069 "UIMAGE2DARRAY", "IMAGECUBEARRAY", "IIMAGECUBEARRAY", "UIMAGECUBEARRAY",
1070 "IMAGE2DMS", "IIMAGE2DMS", "UIMAGE2DMS", "IMAGE2DMSARRAY",
1071 "IIMAGE2DMSARRAY", "UIMAGE2DMSARRAY", "F16IMAGE1D", "F16IMAGE2D",
1072 "F16IMAGE3D", "F16IMAGE2DRECT", "F16IMAGECUBE", "F16IMAGE1DARRAY",
1073 "F16IMAGE2DARRAY", "F16IMAGECUBEARRAY", "F16IMAGEBUFFER", "F16IMAGE2DMS",
1074 "F16IMAGE2DMSARRAY", "STRUCT", "VOID", "WHILE", "IDENTIFIER",
1075 "TYPE_NAME", "FLOATCONSTANT", "DOUBLECONSTANT", "INT16CONSTANT",
1076 "UINT16CONSTANT", "INT32CONSTANT", "UINT32CONSTANT", "INTCONSTANT",
1077 "UINTCONSTANT", "INT64CONSTANT", "UINT64CONSTANT", "BOOLCONSTANT",
1078 "FLOAT16CONSTANT", "LEFT_OP", "RIGHT_OP", "INC_OP", "DEC_OP", "LE_OP",
1079 "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP", "XOR_OP", "MUL_ASSIGN",
1080 "DIV_ASSIGN", "ADD_ASSIGN", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN",
1081 "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", "SUB_ASSIGN", "LEFT_PAREN",
1082 "RIGHT_PAREN", "LEFT_BRACKET", "RIGHT_BRACKET", "LEFT_BRACE",
1083 "RIGHT_BRACE", "DOT", "COMMA", "COLON", "EQUAL", "SEMICOLON", "BANG",
1084 "DASH", "TILDE", "PLUS", "STAR", "SLASH", "PERCENT", "LEFT_ANGLE",
1085 "RIGHT_ANGLE", "VERTICAL_BAR", "CARET", "AMPERSAND", "QUESTION",
1086 "INVARIANT", "PRECISE", "HIGH_PRECISION", "MEDIUM_PRECISION",
1087 "LOW_PRECISION", "PRECISION", "PACKED", "RESOURCE", "SUPERP", "$accept",
1088 "variable_identifier", "primary_expression", "postfix_expression",
1089 "integer_expression", "function_call", "function_call_or_method",
1090 "function_call_generic", "function_call_header_no_parameters",
1091 "function_call_header_with_parameters", "function_call_header",
1092 "function_identifier", "unary_expression", "unary_operator",
1093 "multiplicative_expression", "additive_expression", "shift_expression",
1094 "relational_expression", "equality_expression", "and_expression",
1095 "exclusive_or_expression", "inclusive_or_expression",
1096 "logical_and_expression", "logical_xor_expression",
1097 "logical_or_expression", "conditional_expression", "$@1",
1098 "assignment_expression", "assignment_operator", "expression",
1099 "constant_expression", "declaration", "block_structure", "$@2",
1100 "identifier_list", "function_prototype", "function_declarator",
1101 "function_header_with_parameters", "function_header",
1102 "parameter_declarator", "parameter_declaration",
1103 "parameter_type_specifier", "init_declarator_list", "single_declaration",
1104 "fully_specified_type", "invariant_qualifier", "interpolation_qualifier",
1105 "layout_qualifier", "layout_qualifier_id_list", "layout_qualifier_id",
1106 "precise_qualifier", "type_qualifier", "single_type_qualifier",
1107 "storage_qualifier", "non_uniform_qualifier", "type_name_list",
1108 "type_specifier", "array_specifier", "type_specifier_nonarray",
1109 "precision_qualifier", "struct_specifier", "$@3", "$@4",
1110 "struct_declaration_list", "struct_declaration",
1111 "struct_declarator_list", "struct_declarator", "initializer",
1112 "initializer_list", "declaration_statement", "statement",
1113 "simple_statement", "compound_statement", "$@5", "$@6",
1114 "statement_no_new_scope", "statement_scoped", "$@7", "$@8",
1115 "compound_statement_no_new_scope", "statement_list",
1116 "expression_statement", "selection_statement",
1117 "selection_statement_nonattributed", "selection_rest_statement",
1118 "condition", "switch_statement", "switch_statement_nonattributed", "$@9",
1119 "switch_statement_list", "case_label", "iteration_statement",
1120 "iteration_statement_nonattributed", "$@10", "$@11", "$@12",
1121 "for_init_statement", "conditionopt", "for_rest_statement",
1122 "jump_statement", "translation_unit", "external_declaration",
1123 "function_definition", "$@13", "attribute", "attribute_list",
1124 "single_attribute", YY_NULLPTR
1129 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1130 (internal) symbol number NUM (which must be that of a token). */
1131 static const yytype_uint16 yytoknum[] =
1133 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1134 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1135 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1136 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1137 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1138 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1139 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1140 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1141 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1142 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1143 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1144 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1145 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1146 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1147 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1148 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1149 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1150 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1151 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1152 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
1153 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1154 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
1155 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
1156 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
1157 495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
1158 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
1159 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
1160 525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
1161 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
1162 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
1163 555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
1164 565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
1165 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
1166 585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
1167 595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
1168 605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
1169 615, 616, 617, 618, 619, 620, 621, 622, 623, 624,
1170 625, 626, 627, 628, 629, 630, 631, 632, 633, 634,
1171 635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
1172 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
1177 #define YYPACT_NINF -645
1179 #define yypact_value_is_default(Yystate) \
1180 (!!((Yystate) == (-645)))
1182 #define YYTABLE_NINF -515
1184 #define yytable_value_is_error(Yytable_value) \
1187 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1189 static const yytype_int16 yypact[] =
1191 3495, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1192 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1193 -317, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1194 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1195 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1196 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1197 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1198 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1199 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1200 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1201 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1202 -266, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1203 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1204 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1205 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1206 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1207 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1208 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1209 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1210 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1211 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1212 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1213 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1214 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1215 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1216 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1217 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1218 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1219 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1220 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1221 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1222 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1223 -314, -645, -645, -645, -645, -645, -645, -645, -645, -273,
1224 -645, -315, -355, -335, -299, 5878, -286, -645, -239, -645,
1225 -645, -645, -645, 4290, -645, -645, -645, -645, -233, -645,
1226 -645, 709, -645, -645, -181, -69, -218, -645, 8911, -340,
1227 -645, -645, -212, -645, 5878, -645, -645, -645, 5878, -168,
1228 -167, -645, -337, -303, -645, -645, -645, 6625, -203, -645,
1229 -645, -645, -305, -645, -209, -304, -645, -645, 5878, -208,
1230 -645, -333, 1107, -645, -645, -645, -645, -233, -323, -645,
1231 7006, -311, -645, -164, -645, -275, -645, -645, -645, -645,
1232 -645, -645, -645, -645, -645, -645, -645, -645, -645, 8149,
1233 8149, 8149, -645, -645, -645, -645, -645, -645, -645, -322,
1234 -645, -645, -645, -198, -296, 8530, -196, -645, 8149, -251,
1235 -292, -222, -331, -225, -217, -215, -213, -178, -179, -334,
1236 -192, -645, -645, 7387, -645, -153, 8149, -645, -69, 5878,
1237 5878, -152, 4687, -645, -645, -645, -195, -194, -645, -186,
1238 -183, -191, 7768, -182, 8149, -187, -177, -180, -176, -645,
1239 -645, -216, -645, -645, -274, -645, -355, -175, -174, -645,
1240 -645, -645, -645, 1505, -645, -645, -645, -645, -645, -645,
1241 -645, -645, -645, -19, -203, 7006, -310, 7006, -645, -645,
1242 7006, 5878, -645, -135, -645, -645, -645, -295, -645, -645,
1243 8149, -134, -645, -645, 8149, -169, -645, -645, -645, 8149,
1244 8149, 8149, 8149, 8149, 8149, 8149, 8149, 8149, 8149, 8149,
1245 8149, 8149, 8149, 8149, 8149, 8149, 8149, 8149, -645, -645,
1246 -645, -170, -645, -645, -645, -645, 5084, -152, -233, -268,
1247 -645, -645, -645, -645, -645, 1903, -645, 8149, -645, -645,
1248 -263, 8149, -240, -645, -645, -131, -645, 1903, -645, -645,
1249 -645, -645, -645, -645, -645, -645, -645, -645, -645, 8149,
1250 8149, -645, -645, -645, -645, -645, -645, -645, 7006, -645,
1251 -267, -645, 5481, -645, -645, -166, -163, -645, -645, -645,
1252 -645, -645, -251, -251, -292, -292, -222, -222, -222, -222,
1253 -331, -331, -225, -217, -215, -213, -178, -179, 8149, -645,
1254 -645, -261, -203, -152, -645, -126, 3097, -291, -645, -288,
1255 -645, 3893, -161, -336, -645, 1903, -645, -645, -645, -645,
1256 6244, -645, -645, -236, -645, -645, -160, -645, -645, 3893,
1257 -159, -645, -163, -124, 5878, -158, 8149, -157, -131, -156,
1258 -645, -645, 8149, 8149, -645, -162, -154, 196, -149, 2699,
1259 -645, -148, -151, 2301, -150, -645, -645, -645, -645, -284,
1260 8149, 2301, -159, -645, -645, 1903, 7006, -645, -645, -645,
1261 -645, -130, -163, -645, -645, 1903, -146, -645, -645, -645
1264 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1265 Performed when YYTABLE does not specify something else to do. Zero
1266 means the default is an error. */
1267 static const yytype_uint16 yydefact[] =
1269 0, 157, 158, 195, 193, 196, 194, 197, 156, 208,
1270 198, 199, 206, 207, 204, 205, 202, 203, 200, 201,
1271 181, 224, 225, 226, 227, 228, 229, 242, 243, 244,
1272 239, 240, 241, 254, 255, 256, 236, 237, 238, 251,
1273 252, 253, 233, 234, 235, 248, 249, 250, 230, 231,
1274 232, 245, 246, 247, 209, 210, 211, 257, 258, 259,
1275 162, 160, 161, 159, 165, 163, 164, 166, 170, 183,
1276 168, 169, 167, 171, 177, 178, 179, 180, 172, 173,
1277 174, 175, 176, 212, 213, 214, 269, 270, 271, 215,
1278 216, 217, 281, 282, 283, 218, 219, 220, 293, 294,
1279 295, 221, 222, 223, 305, 306, 307, 134, 133, 132,
1280 0, 135, 136, 137, 138, 139, 260, 261, 262, 263,
1281 264, 265, 266, 267, 268, 272, 273, 274, 275, 276,
1282 277, 278, 279, 280, 284, 285, 286, 287, 288, 289,
1283 290, 291, 292, 296, 297, 298, 299, 300, 301, 302,
1284 303, 304, 308, 309, 310, 311, 312, 313, 314, 315,
1285 316, 318, 317, 319, 320, 321, 322, 323, 324, 325,
1286 326, 327, 328, 329, 345, 346, 347, 348, 349, 350,
1287 352, 353, 354, 355, 356, 357, 359, 360, 363, 364,
1288 365, 367, 368, 330, 331, 351, 358, 369, 371, 372,
1289 373, 375, 376, 467, 332, 333, 334, 361, 335, 339,
1290 340, 343, 366, 370, 374, 336, 337, 341, 342, 362,
1291 338, 344, 377, 378, 379, 381, 383, 385, 387, 389,
1292 393, 394, 395, 396, 397, 398, 400, 401, 402, 403,
1293 404, 405, 407, 409, 410, 411, 413, 414, 391, 399,
1294 406, 415, 417, 418, 419, 421, 422, 380, 382, 384,
1295 408, 386, 388, 390, 392, 412, 416, 420, 468, 469,
1296 472, 473, 474, 475, 470, 471, 423, 425, 426, 427,
1297 429, 430, 431, 433, 434, 435, 437, 438, 439, 441,
1298 442, 443, 445, 446, 447, 449, 450, 451, 453, 454,
1299 455, 457, 458, 459, 461, 462, 463, 465, 466, 424,
1300 428, 432, 436, 440, 448, 452, 456, 444, 460, 464,
1301 0, 192, 477, 562, 131, 146, 478, 479, 480, 0,
1302 561, 0, 563, 0, 108, 107, 0, 119, 124, 153,
1303 152, 150, 154, 0, 147, 149, 155, 129, 186, 151,
1304 476, 0, 558, 560, 0, 0, 0, 483, 0, 0,
1305 96, 93, 0, 106, 0, 115, 109, 117, 0, 118,
1306 0, 94, 125, 0, 99, 148, 130, 0, 187, 1,
1307 559, 184, 0, 145, 143, 0, 141, 481, 0, 0,
1308 97, 0, 0, 564, 110, 114, 116, 112, 120, 111,
1309 0, 126, 102, 0, 100, 0, 2, 12, 13, 10,
1310 11, 4, 5, 6, 7, 8, 9, 15, 14, 0,
1311 0, 0, 188, 42, 41, 43, 40, 3, 17, 36,
1312 19, 24, 25, 0, 0, 29, 0, 44, 0, 48,
1313 51, 54, 59, 62, 64, 66, 68, 70, 72, 74,
1314 0, 35, 33, 0, 182, 0, 0, 140, 0, 0,
1315 0, 0, 0, 485, 95, 98, 0, 0, 543, 0,
1316 0, 0, 0, 0, 0, 0, 0, 0, 509, 518,
1317 522, 44, 77, 90, 0, 498, 0, 155, 129, 501,
1318 520, 500, 499, 0, 502, 503, 524, 504, 531, 505,
1319 506, 539, 507, 0, 113, 0, 121, 0, 493, 128,
1320 0, 0, 104, 0, 101, 37, 38, 0, 21, 22,
1321 0, 0, 27, 26, 0, 192, 30, 32, 39, 0,
1322 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1323 0, 0, 0, 0, 0, 0, 0, 0, 75, 189,
1324 190, 0, 185, 92, 144, 142, 0, 0, 491, 0,
1325 489, 484, 486, 554, 553, 0, 545, 0, 557, 555,
1326 0, 0, 0, 538, 541, 0, 508, 0, 80, 81,
1327 83, 82, 85, 86, 87, 88, 89, 84, 79, 0,
1328 0, 523, 519, 521, 525, 532, 540, 123, 0, 496,
1329 0, 127, 0, 105, 16, 0, 23, 20, 31, 45,
1330 46, 47, 50, 49, 52, 53, 57, 58, 55, 56,
1331 60, 61, 63, 65, 67, 69, 71, 73, 0, 191,
1332 482, 0, 492, 0, 487, 0, 0, 0, 556, 0,
1333 537, 0, 568, 0, 566, 510, 78, 91, 122, 494,
1334 0, 103, 18, 0, 488, 490, 0, 548, 547, 550,
1335 516, 533, 529, 0, 0, 0, 0, 0, 0, 0,
1336 495, 497, 0, 0, 549, 0, 0, 528, 0, 0,
1337 526, 0, 0, 0, 0, 565, 567, 511, 76, 0,
1338 551, 0, 516, 515, 517, 535, 0, 513, 542, 512,
1339 569, 0, 552, 546, 527, 536, 0, 530, 544, 534
1342 /* YYPGOTO[NTERM-NUM]. */
1343 static const yytype_int16 yypgoto[] =
1345 -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
1346 -645, -645, -297, -645, -468, -373, -437, -374, -319, -312,
1347 -316, -290, -293, -289, -645, -367, -645, -391, -645, -376,
1348 -412, 1, -645, -645, -645, 2, -645, -645, -645, -112,
1349 -107, -108, -645, -645, -613, -645, -645, -645, -645, -197,
1350 -645, -332, -339, -645, 6, -645, 0, -345, -645, -67,
1351 -645, -645, -645, -440, -444, -294, -369, -490, -645, -370,
1352 -480, -644, -410, -645, -645, -422, -421, -645, -645, -90,
1353 -561, -363, -645, -229, -645, -384, -645, -227, -645, -645,
1354 -645, -645, -226, -645, -645, -645, -645, -645, -645, -645,
1355 -645, -73, -645, -645, -645, -645, -389
1358 /* YYDEFGOTO[NTERM-NUM]. */
1359 static const yytype_int16 yydefgoto[] =
1361 -1, 427, 428, 429, 605, 430, 431, 432, 433, 434,
1362 435, 436, 481, 438, 439, 440, 441, 442, 443, 444,
1363 445, 446, 447, 448, 449, 482, 628, 483, 589, 484,
1364 554, 485, 331, 511, 405, 486, 333, 334, 335, 365,
1365 366, 367, 336, 337, 338, 339, 340, 341, 385, 386,
1366 342, 343, 344, 345, 451, 382, 452, 378, 348, 349,
1367 350, 459, 388, 462, 463, 559, 560, 509, 600, 489,
1368 490, 491, 492, 577, 669, 698, 677, 678, 679, 699,
1369 493, 494, 495, 496, 680, 665, 497, 498, 681, 706,
1370 499, 500, 501, 641, 565, 636, 659, 675, 676, 502,
1371 351, 352, 353, 362, 503, 643, 644
1374 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
1375 positive, shift that token. If negative, reduce the rule whose
1376 number is the opposite. If YYTABLE_NINF, syntax error. */
1377 static const yytype_int16 yytable[] =
1379 347, 330, 332, 368, 375, 468, 346, 469, 470, 508,
1380 450, 473, 383, 593, 391, 597, 645, 599, 562, 556,
1381 601, 359, 356, 536, 537, 547, 361, 401, 663, 375,
1382 518, 519, 368, 377, 399, 694, 377, 363, 667, 697,
1383 453, 390, 668, 400, 526, 517, 663, 697, 465, -34,
1384 377, 520, 504, 506, 354, 521, 460, 505, 538, 539,
1385 548, 357, 453, 453, 612, 613, 360, 454, 457, 510,
1386 598, 602, 402, 455, 458, 403, 523, 604, 404, 364,
1387 437, 660, 524, 590, 661, 635, 551, 590, 701, 553,
1388 590, 532, 370, 533, 590, 371, 570, 372, 572, 616,
1389 617, 618, 619, 513, 590, 355, 514, 591, 648, 649,
1390 633, 650, 562, 634, 508, 590, 508, 633, 638, 508,
1391 654, 375, 515, 516, 326, 327, 328, 460, 534, 535,
1392 460, 540, 541, 608, 705, 529, 530, 531, 590, 640,
1393 377, 528, 590, 672, 606, 578, 579, 580, 581, 582,
1394 583, 584, 585, 586, 587, 381, 437, 387, 562, 437,
1395 671, 614, 615, 392, 588, 593, 620, 621, 397, 398,
1396 453, 456, 512, 464, 522, 527, 542, 543, 544, 460,
1397 545, 546, 549, 552, 558, 566, 563, 564, 567, 571,
1398 568, 637, 573, 575, 574, 639, -35, -33, 646, 647,
1399 576, 603, 607, -28, 629, 642, 707, 508, 652, 656,
1400 666, 673, 682, 632, 683, 590, -514, 685, 691, 690,
1401 687, 692, 700, 622, 460, 593, 478, 695, 624, 696,
1402 709, 623, 609, 610, 611, 437, 437, 437, 437, 437,
1403 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
1404 437, 708, 653, 626, 684, 625, 395, 394, 627, 508,
1405 396, 555, 358, 631, 655, 662, 657, 384, 693, 703,
1406 460, 704, 393, 658, 594, 674, 595, 596, 380, 686,
1407 0, 688, 0, 662, 0, 0, 0, 0, 0, 0,
1408 0, 0, 0, 0, 0, 0, 0, 689, 0, 553,
1409 0, 0, 0, 0, 0, 508, 0, 0, 0, 664,
1410 0, 0, 0, 0, 702, 0, 476, 0, 0, 0,
1411 0, 0, 0, 0, 0, 375, 0, 664, 0, 0,
1412 0, 0, 0, 0, 0, 369, 0, 0, 0, 0,
1413 0, 346, 0, 376, 0, 0, 0, 0, 0, 346,
1414 0, 347, 330, 332, 0, 0, 0, 346, 389, 0,
1415 0, 0, 0, 0, 369, 0, 0, 0, 369, 437,
1416 346, 0, 0, 0, 346, 0, 0, 0, 0, 0,
1417 0, 0, 0, 0, 0, 0, 0, 0, 461, 0,
1418 0, 0, 488, 0, 346, 0, 0, 0, 487, 0,
1419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1424 0, 0, 0, 0, 0, 0, 0, 0, 0, 461,
1425 557, 0, 461, 0, 0, 346, 346, 0, 346, 0,
1426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1428 0, 0, 0, 488, 0, 0, 0, 0, 0, 487,
1429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1430 0, 461, 0, 0, 0, 0, 0, 346, 0, 0,
1431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1434 0, 0, 0, 0, 0, 0, 461, 0, 0, 0,
1435 0, 0, 346, 0, 0, 488, 0, 0, 0, 0,
1436 0, 487, 0, 0, 0, 0, 0, 488, 0, 0,
1437 0, 0, 0, 487, 0, 0, 0, 0, 0, 0,
1438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1439 0, 0, 461, 0, 0, 0, 0, 0, 346, 0,
1440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1442 0, 0, 0, 0, 0, 0, 488, 0, 0, 0,
1443 0, 488, 487, 0, 0, 488, 0, 487, 0, 0,
1444 0, 487, 0, 0, 0, 0, 0, 0, 0, 488,
1445 0, 0, 0, 0, 376, 487, 0, 0, 0, 0,
1446 346, 0, 0, 0, 0, 0, 0, 0, 0, 488,
1447 0, 0, 0, 488, 0, 487, 0, 0, 0, 487,
1448 0, 488, 0, 0, 0, 488, 0, 487, 0, 0,
1449 0, 487, 0, 0, 0, 488, 0, 0, 0, 379,
1450 0, 487, 1, 2, 3, 4, 5, 6, 7, 8,
1451 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1452 19, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1453 0, 0, 20, 21, 22, 23, 24, 25, 26, 27,
1454 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1455 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1456 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1457 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1458 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1459 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1460 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1461 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1462 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
1463 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
1464 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1465 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
1466 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
1467 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
1468 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
1469 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
1470 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
1471 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
1472 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
1473 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
1474 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
1475 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
1476 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
1477 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
1478 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
1479 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
1480 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1481 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
1482 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
1483 318, 319, 320, 321, 0, 0, 322, 0, 0, 0,
1484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1488 323, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1489 0, 0, 0, 0, 324, 325, 326, 327, 328, 329,
1490 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1491 11, 12, 13, 14, 15, 16, 17, 18, 19, 466,
1492 467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
1493 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1494 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1495 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1496 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1497 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1498 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1499 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1500 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1501 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1502 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1503 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1504 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
1505 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
1506 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
1507 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
1508 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
1509 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
1510 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
1511 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
1512 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
1513 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
1514 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
1515 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
1516 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
1517 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
1518 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1519 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
1520 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
1521 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
1522 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
1523 320, 321, 476, 406, 322, 407, 408, 409, 410, 411,
1524 412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
1525 420, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1526 0, 0, 0, 0, 0, 0, 0, 0, 421, 0,
1527 477, 0, 478, 479, 0, 0, 0, 0, 480, 423,
1528 424, 425, 426, 0, 0, 0, 0, 0, 0, 0,
1529 0, 0, 324, 325, 326, 327, 328, 329, 1, 2,
1530 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1531 13, 14, 15, 16, 17, 18, 19, 466, 467, 468,
1532 0, 469, 470, 471, 472, 473, 474, 475, 20, 21,
1533 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1534 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1535 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1536 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1537 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1538 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1539 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1540 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1541 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1542 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
1543 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1544 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
1545 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
1546 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1547 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
1548 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
1549 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
1550 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
1551 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
1552 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
1553 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
1554 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
1555 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
1556 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
1557 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
1558 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
1559 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1560 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
1561 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
1562 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
1563 476, 406, 322, 407, 408, 409, 410, 411, 412, 413,
1564 414, 415, 416, 417, 418, 0, 0, 419, 420, 0,
1565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1566 0, 0, 0, 0, 0, 0, 421, 0, 477, 0,
1567 478, 592, 0, 0, 0, 0, 480, 423, 424, 425,
1568 426, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1569 324, 325, 326, 327, 328, 329, 1, 2, 3, 4,
1570 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1571 15, 16, 17, 18, 19, 466, 467, 468, 0, 469,
1572 470, 471, 472, 473, 474, 475, 20, 21, 22, 23,
1573 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1574 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1575 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1576 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1577 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1578 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1579 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1580 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1581 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1582 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1583 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1584 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
1585 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1586 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1587 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
1588 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
1589 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
1590 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
1591 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
1592 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
1593 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
1594 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
1595 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1596 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
1597 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
1598 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
1599 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
1600 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
1601 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
1602 314, 315, 316, 317, 318, 319, 320, 321, 476, 406,
1603 322, 407, 408, 409, 410, 411, 412, 413, 414, 415,
1604 416, 417, 418, 0, 0, 419, 420, 0, 0, 0,
1605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1606 0, 0, 0, 0, 421, 0, 477, 0, 478, 0,
1607 0, 0, 0, 0, 480, 423, 424, 425, 426, 0,
1608 0, 0, 0, 0, 0, 0, 0, 0, 324, 325,
1609 326, 327, 328, 329, 1, 2, 3, 4, 5, 6,
1610 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1611 17, 18, 19, 466, 467, 468, 0, 469, 470, 471,
1612 472, 473, 474, 475, 20, 21, 22, 23, 24, 25,
1613 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1614 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1615 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1616 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1617 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1618 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1619 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1620 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1621 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1622 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
1623 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1624 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
1625 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
1626 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
1627 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
1628 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
1629 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
1630 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
1631 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
1632 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
1633 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
1634 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
1635 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
1636 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
1637 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
1638 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
1639 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1640 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
1641 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1642 316, 317, 318, 319, 320, 321, 476, 406, 322, 407,
1643 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
1644 418, 0, 0, 419, 420, 0, 0, 0, 0, 0,
1645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1646 0, 0, 421, 0, 477, 0, 392, 0, 0, 0,
1647 0, 0, 480, 423, 424, 425, 426, 0, 0, 0,
1648 0, 0, 0, 0, 0, 0, 324, 325, 326, 327,
1649 328, 329, 1, 2, 3, 4, 5, 6, 7, 8,
1650 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1651 19, 466, 467, 468, 0, 469, 470, 471, 472, 473,
1652 474, 475, 20, 21, 22, 23, 24, 25, 26, 27,
1653 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1654 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1655 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1656 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1657 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1658 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1659 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1660 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1661 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
1662 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
1663 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1664 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
1665 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
1666 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
1667 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
1668 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
1669 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
1670 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
1671 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
1672 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
1673 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
1674 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
1675 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
1676 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
1677 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
1678 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
1679 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1680 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
1681 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
1682 318, 319, 320, 321, 476, 406, 322, 407, 408, 409,
1683 410, 411, 412, 413, 414, 415, 416, 417, 418, 0,
1684 0, 419, 420, 0, 0, 0, 0, 0, 0, 0,
1685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1686 421, 0, 477, 0, 0, 0, 0, 0, 0, 0,
1687 480, 423, 424, 425, 426, 0, 0, 0, 0, 0,
1688 0, 0, 0, 0, 324, 325, 326, 327, 328, 329,
1689 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1690 11, 12, 13, 14, 15, 16, 17, 18, 19, 0,
1691 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1692 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1693 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1694 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1695 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1696 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1697 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1698 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1699 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1700 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1701 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1702 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1703 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
1704 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
1705 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
1706 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
1707 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
1708 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
1709 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
1710 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
1711 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
1712 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
1713 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
1714 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
1715 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
1716 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
1717 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1718 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
1719 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
1720 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
1721 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
1722 320, 321, 0, 406, 322, 407, 408, 409, 410, 411,
1723 412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
1724 420, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 0, 0, 0, 421, 0,
1726 0, 0, 0, 0, 0, 0, 0, 0, 480, 423,
1727 424, 425, 426, 0, 0, 0, 0, 0, 0, 0,
1728 0, 0, 324, 325, 326, 327, 328, 329, 1, 2,
1729 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1730 13, 14, 15, 16, 17, 18, 19, 0, 0, 0,
1731 0, 0, 0, 0, 0, 0, 0, 0, 20, 21,
1732 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1733 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1734 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1735 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1736 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1737 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1738 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1739 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1740 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1741 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
1742 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1743 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
1744 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
1745 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1746 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
1747 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
1748 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
1749 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
1750 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
1751 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
1752 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
1753 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
1754 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
1755 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
1756 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
1757 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
1758 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1759 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
1760 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
1761 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
1762 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
1763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1766 0, 0, 0, 0, 0, 0, 323, 0, 0, 0,
1767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1768 324, 325, 326, 327, 328, 329, 1, 2, 3, 4,
1769 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1770 15, 16, 17, 18, 19, 0, 0, 0, 0, 0,
1771 0, 0, 0, 0, 0, 0, 20, 21, 22, 23,
1772 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1773 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1774 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1775 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1776 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1777 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1778 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1779 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1780 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1781 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1782 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1783 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
1784 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1785 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1786 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
1787 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
1788 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
1789 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
1790 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
1791 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
1792 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
1793 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
1794 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1795 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
1796 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
1797 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
1798 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
1799 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
1800 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
1801 314, 315, 316, 317, 318, 319, 320, 321, 0, 406,
1802 322, 407, 408, 409, 410, 411, 412, 413, 414, 415,
1803 416, 417, 418, 0, 0, 419, 420, 0, 0, 0,
1804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1805 0, 0, 0, 0, 421, 0, 0, 0, 0, 0,
1806 0, 0, 0, 0, 0, 423, 424, 425, 426, 0,
1807 0, 0, 0, 0, 0, 0, 0, 0, 324, 325,
1808 326, 327, 328, 1, 2, 3, 4, 5, 6, 7,
1809 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
1810 18, 19, 0, 0, 0, 0, 0, 0, 0, 0,
1811 0, 0, 0, 20, 21, 22, 23, 24, 25, 26,
1812 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
1813 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1814 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1815 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1816 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1817 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
1818 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1819 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1820 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1821 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
1822 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
1823 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
1824 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
1825 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
1826 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
1827 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
1828 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
1829 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
1830 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
1831 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
1832 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
1833 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
1834 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
1835 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
1836 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
1837 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
1838 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1839 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
1840 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
1841 317, 318, 319, 320, 321, 0, 373, 322, 0, 0,
1842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1846 0, 374, 0, 0, 0, 0, 0, 0, 0, 0,
1847 0, 0, 0, 0, 0, 324, 325, 326, 327, 328,
1848 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1849 11, 12, 13, 14, 15, 16, 17, 18, 19, 0,
1850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1851 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1852 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1853 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1854 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1855 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1856 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1857 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1858 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1859 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1860 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1861 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1862 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
1863 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
1864 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
1865 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
1866 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
1867 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
1868 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
1869 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
1870 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
1871 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
1872 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
1873 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
1874 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
1875 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
1876 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1877 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
1878 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
1879 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
1880 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
1881 320, 321, 0, 0, 322, 0, 0, 0, 0, 0,
1882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1885 0, 0, 0, 561, 0, 0, 0, 0, 0, 0,
1886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1887 0, 0, 324, 325, 326, 327, 328, 1, 2, 3,
1888 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1889 14, 15, 16, 17, 18, 19, 0, 0, 0, 0,
1890 0, 0, 0, 0, 0, 0, 0, 20, 21, 22,
1891 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1892 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1893 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1894 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1895 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1896 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1897 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1898 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1899 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1900 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
1901 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1902 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
1903 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
1904 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
1905 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
1906 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
1907 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
1908 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
1909 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
1910 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
1911 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
1912 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
1913 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
1914 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
1915 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
1916 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
1917 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
1918 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
1919 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
1920 313, 314, 315, 316, 317, 318, 319, 320, 321, 0,
1921 0, 322, 0, 0, 0, 0, 0, 0, 0, 0,
1922 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1925 630, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1926 0, 0, 0, 0, 0, 0, 0, 0, 0, 324,
1927 325, 326, 327, 328, 1, 2, 3, 4, 5, 6,
1928 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1929 17, 18, 19, 0, 0, 0, 0, 0, 0, 0,
1930 0, 0, 0, 0, 20, 21, 22, 23, 24, 25,
1931 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1932 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1933 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1934 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1935 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1936 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1937 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1938 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1939 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1940 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
1941 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1942 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
1943 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
1944 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
1945 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
1946 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
1947 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
1948 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
1949 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
1950 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
1951 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
1952 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
1953 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
1954 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
1955 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
1956 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
1957 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1958 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
1959 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1960 316, 317, 318, 319, 320, 321, 0, 0, 322, 0,
1961 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1962 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1964 0, 0, 0, 0, 0, 0, 0, 651, 0, 0,
1965 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1966 0, 0, 0, 0, 0, 0, 324, 325, 326, 327,
1967 328, 1, 2, 3, 4, 5, 6, 7, 8, 9,
1968 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1970 0, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1971 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1972 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1973 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1974 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1975 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1976 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1977 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1978 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1979 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
1980 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
1981 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
1982 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
1983 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
1984 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
1985 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
1986 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
1987 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
1988 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
1989 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
1990 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
1991 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
1992 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
1993 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
1994 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
1995 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
1996 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
1997 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
1998 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
1999 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
2000 319, 320, 321, 0, 0, 322, 0, 0, 0, 0,
2001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2003 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
2004 4, 5, 6, 7, 0, 9, 10, 11, 12, 13,
2005 14, 15, 16, 17, 18, 19, 0, 0, 0, 0,
2006 0, 0, 0, 324, 325, 326, 327, 328, 21, 22,
2007 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
2008 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2009 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2010 53, 54, 55, 56, 57, 58, 59, 0, 0, 0,
2011 0, 0, 0, 0, 0, 0, 69, 0, 0, 0,
2012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2013 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
2014 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
2015 103, 104, 105, 106, 0, 0, 0, 0, 0, 0,
2016 0, 0, 0, 116, 117, 118, 119, 120, 121, 122,
2017 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2018 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
2019 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2020 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2021 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2022 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
2023 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
2024 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
2025 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
2026 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
2027 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
2028 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
2029 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
2030 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
2031 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
2032 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
2033 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
2034 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
2035 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
2036 313, 314, 315, 316, 317, 318, 319, 320, 321, 0,
2037 406, 322, 407, 408, 409, 410, 411, 412, 413, 414,
2038 415, 416, 417, 418, 0, 0, 419, 420, 0, 0,
2039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2040 0, 0, 0, 0, 0, 421, 0, 0, 0, 507,
2041 670, 0, 0, 0, 0, 0, 423, 424, 425, 426,
2042 3, 4, 5, 6, 7, 0, 9, 10, 11, 12,
2043 13, 14, 15, 16, 17, 18, 19, 0, 0, 0,
2044 0, 0, 0, 0, 0, 0, 0, 0, 0, 21,
2045 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
2046 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2047 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2048 52, 53, 54, 55, 56, 57, 58, 59, 0, 0,
2049 0, 0, 0, 0, 0, 0, 0, 69, 0, 0,
2050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2051 0, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2052 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2053 102, 103, 104, 105, 106, 0, 0, 0, 0, 0,
2054 0, 0, 0, 0, 116, 117, 118, 119, 120, 121,
2055 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2056 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
2057 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2058 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2059 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2060 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
2061 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
2062 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
2063 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
2064 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
2065 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
2066 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
2067 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
2068 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
2069 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
2070 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
2071 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
2072 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
2073 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
2074 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
2075 0, 406, 322, 407, 408, 409, 410, 411, 412, 413,
2076 414, 415, 416, 417, 418, 0, 0, 419, 420, 0,
2077 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2078 0, 0, 0, 0, 0, 0, 421, 0, 0, 422,
2079 0, 0, 0, 0, 0, 0, 0, 423, 424, 425,
2080 426, 3, 4, 5, 6, 7, 0, 9, 10, 11,
2081 12, 13, 14, 15, 16, 17, 18, 19, 0, 0,
2082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2083 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
2084 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2085 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2086 51, 52, 53, 54, 55, 56, 57, 58, 59, 0,
2087 0, 0, 0, 0, 0, 0, 0, 0, 69, 0,
2088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2089 0, 0, 83, 84, 85, 86, 87, 88, 89, 90,
2090 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2091 101, 102, 103, 104, 105, 106, 0, 0, 0, 0,
2092 0, 0, 0, 0, 0, 116, 117, 118, 119, 120,
2093 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
2094 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2095 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2096 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2097 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2098 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
2099 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
2100 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
2101 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
2102 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
2103 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
2104 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
2105 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
2106 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
2107 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
2108 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
2109 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
2110 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
2111 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
2112 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
2113 321, 0, 406, 322, 407, 408, 409, 410, 411, 412,
2114 413, 414, 415, 416, 417, 418, 0, 0, 419, 420,
2115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2116 0, 0, 0, 0, 0, 0, 0, 421, 0, 0,
2117 0, 507, 0, 0, 0, 0, 0, 0, 423, 424,
2118 425, 426, 3, 4, 5, 6, 7, 0, 9, 10,
2119 11, 12, 13, 14, 15, 16, 17, 18, 19, 0,
2120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2121 0, 21, 22, 23, 24, 25, 26, 27, 28, 29,
2122 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2123 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2124 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2125 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,
2126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2127 0, 0, 0, 83, 84, 85, 86, 87, 88, 89,
2128 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
2129 100, 101, 102, 103, 104, 105, 106, 0, 0, 0,
2130 0, 0, 0, 0, 0, 0, 116, 117, 118, 119,
2131 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
2132 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2133 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2134 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2135 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2136 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
2137 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
2138 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
2139 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
2140 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
2141 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
2142 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
2143 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
2144 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
2145 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
2146 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
2147 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
2148 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2149 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
2150 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
2151 320, 321, 0, 406, 322, 407, 408, 409, 410, 411,
2152 412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
2153 420, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2154 0, 0, 0, 0, 0, 0, 0, 0, 421, 0,
2155 0, 550, 0, 0, 0, 0, 0, 0, 0, 423,
2156 424, 425, 426, 3, 4, 5, 6, 7, 0, 9,
2157 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2159 0, 0, 21, 22, 23, 24, 25, 26, 27, 28,
2160 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2161 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2162 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2163 59, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2164 69, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2165 0, 0, 0, 0, 83, 84, 85, 86, 87, 88,
2166 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
2167 99, 100, 101, 102, 103, 104, 105, 106, 0, 0,
2168 0, 0, 0, 0, 0, 0, 0, 116, 117, 118,
2169 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
2170 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2171 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2172 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2173 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2174 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
2175 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
2176 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
2177 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
2178 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
2179 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
2180 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
2181 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
2182 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
2183 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
2184 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
2185 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
2186 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
2187 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
2188 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
2189 319, 320, 321, 0, 406, 322, 407, 408, 409, 410,
2190 411, 412, 413, 414, 415, 416, 417, 418, 0, 0,
2191 419, 420, 0, 0, 0, 0, 0, 0, 0, 0,
2192 0, 0, 0, 0, 0, 0, 0, 0, 0, 421,
2193 0, 0, 0, 0, 0, 0, 0, 0, 0, 569,
2194 423, 424, 425, 426, 3, 4, 5, 6, 7, 0,
2195 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2196 19, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2197 0, 0, 0, 21, 22, 23, 24, 25, 26, 27,
2198 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2199 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2200 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2201 58, 59, 0, 0, 0, 0, 0, 0, 0, 0,
2202 0, 69, 0, 0, 0, 0, 0, 0, 0, 0,
2203 0, 0, 0, 0, 0, 83, 84, 85, 86, 87,
2204 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
2205 98, 99, 100, 101, 102, 103, 104, 105, 106, 0,
2206 0, 0, 0, 0, 0, 0, 0, 0, 116, 117,
2207 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
2208 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2209 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2210 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2211 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2212 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2213 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
2214 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
2215 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
2216 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
2217 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
2218 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
2219 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
2220 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
2221 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
2222 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
2223 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
2224 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
2225 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
2226 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
2227 318, 319, 320, 321, 0, 406, 322, 407, 408, 409,
2228 410, 411, 412, 413, 414, 415, 416, 417, 418, 0,
2229 0, 419, 420, 0, 0, 0, 0, 0, 0, 0,
2230 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2231 421, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2232 0, 423, 424, 425, 426, 3, 4, 5, 6, 7,
2233 0, 9, 10, 11, 12, 13, 14, 15, 16, 17,
2234 18, 19, 0, 0, 0, 0, 0, 0, 0, 0,
2235 0, 0, 0, 0, 21, 22, 23, 24, 25, 26,
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, 0, 0, 0, 0, 0, 0, 0,
2240 0, 0, 69, 0, 0, 0, 0, 0, 0, 0,
2241 0, 0, 0, 0, 0, 0, 83, 84, 85, 86,
2242 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2243 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2244 0, 0, 0, 0, 0, 0, 0, 0, 0, 116,
2245 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
2246 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2247 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2248 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
2249 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
2250 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
2251 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
2252 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
2253 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
2254 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
2255 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
2256 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
2257 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
2258 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
2259 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
2260 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
2261 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
2262 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
2263 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
2264 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
2265 317, 318, 319, 320, 525, 0, 406, 322, 407, 408,
2266 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
2267 0, 0, 419, 420, 0, 0, 0, 0, 0, 0,
2268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2269 0, 421, 0, 0, 0, 0, 0, 0, 0, 0,
2270 0, 0, 423, 424, 425, 426, 3, 4, 5, 6,
2271 7, 0, 9, 10, 11, 12, 13, 14, 15, 16,
2272 17, 18, 19, 0, 0, 0, 0, 0, 0, 0,
2273 0, 0, 0, 0, 0, 21, 22, 23, 24, 25,
2274 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
2275 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2276 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2277 56, 57, 58, 59, 0, 0, 0, 0, 0, 0,
2278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2279 0, 0, 0, 0, 0, 0, 0, 83, 84, 85,
2280 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
2281 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
2282 106, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2283 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
2284 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2285 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2286 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2287 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2288 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2289 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
2290 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
2291 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
2292 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
2293 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
2294 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
2295 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
2296 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
2297 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
2298 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
2299 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
2300 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
2301 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
2302 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
2303 316, 317, 318, 319, 320, 321, 0, 0, 322
2306 static const yytype_int16 yycheck[] =
2308 0, 0, 0, 335, 343, 24, 0, 26, 27, 400,
2309 377, 30, 81, 493, 359, 505, 577, 507, 462, 459,
2310 510, 336, 336, 354, 355, 359, 381, 372, 641, 368,
2311 352, 353, 364, 373, 371, 679, 373, 372, 374, 683,
2312 373, 381, 378, 380, 435, 421, 659, 691, 381, 371,
2313 373, 373, 397, 398, 371, 377, 388, 380, 389, 390,
2314 394, 375, 373, 373, 532, 533, 381, 372, 372, 380,
2315 380, 511, 375, 378, 378, 378, 372, 372, 381, 378,
2316 377, 372, 378, 378, 372, 565, 453, 378, 372, 456,
2317 378, 383, 378, 385, 378, 381, 472, 336, 474, 536,
2318 537, 538, 539, 378, 378, 371, 381, 381, 598, 376,
2319 378, 378, 556, 381, 505, 378, 507, 378, 381, 510,
2320 381, 460, 419, 420, 397, 398, 399, 459, 350, 351,
2321 462, 356, 357, 524, 695, 386, 387, 388, 378, 379,
2322 373, 438, 378, 379, 520, 361, 362, 363, 364, 365,
2323 366, 367, 368, 369, 370, 336, 453, 375, 602, 456,
2324 650, 534, 535, 375, 380, 645, 540, 541, 336, 336,
2325 373, 380, 336, 381, 372, 371, 393, 392, 391, 511,
2326 358, 360, 374, 336, 336, 371, 381, 381, 371, 371,
2327 381, 567, 379, 373, 371, 571, 371, 371, 589, 590,
2328 376, 336, 336, 372, 374, 336, 696, 598, 374, 335,
2329 371, 371, 336, 558, 372, 378, 375, 374, 372, 381,
2330 376, 25, 372, 542, 556, 705, 375, 375, 544, 380,
2331 376, 543, 529, 530, 531, 532, 533, 534, 535, 536,
2332 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
2333 547, 381, 628, 546, 666, 545, 368, 364, 547, 650,
2334 368, 458, 329, 557, 633, 641, 636, 336, 678, 691,
2335 602, 692, 362, 636, 503, 659, 503, 503, 351, 668,
2336 -1, 672, -1, 659, -1, -1, -1, -1, -1, -1,
2337 -1, -1, -1, -1, -1, -1, -1, 673, -1, 666,
2338 -1, -1, -1, -1, -1, 696, -1, -1, -1, 641,
2339 -1, -1, -1, -1, 690, -1, 335, -1, -1, -1,
2340 -1, -1, -1, -1, -1, 664, -1, 659, -1, -1,
2341 -1, -1, -1, -1, -1, 335, -1, -1, -1, -1,
2342 -1, 335, -1, 343, -1, -1, -1, -1, -1, 343,
2343 -1, 351, 351, 351, -1, -1, -1, 351, 358, -1,
2344 -1, -1, -1, -1, 364, -1, -1, -1, 368, 666,
2345 364, -1, -1, -1, 368, -1, -1, -1, -1, -1,
2346 -1, -1, -1, -1, -1, -1, -1, -1, 388, -1,
2347 -1, -1, 392, -1, 388, -1, -1, -1, 392, -1,
2348 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2349 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2350 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2351 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2352 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2353 -1, -1, -1, -1, -1, -1, -1, -1, -1, 459,
2354 460, -1, 462, -1, -1, 459, 460, -1, 462, -1,
2355 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2356 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2357 -1, -1, -1, 493, -1, -1, -1, -1, -1, 493,
2358 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2359 -1, 511, -1, -1, -1, -1, -1, 511, -1, -1,
2360 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2361 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2362 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2363 -1, -1, -1, -1, -1, -1, 556, -1, -1, -1,
2364 -1, -1, 556, -1, -1, 565, -1, -1, -1, -1,
2365 -1, 565, -1, -1, -1, -1, -1, 577, -1, -1,
2366 -1, -1, -1, 577, -1, -1, -1, -1, -1, -1,
2367 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2368 -1, -1, 602, -1, -1, -1, -1, -1, 602, -1,
2369 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2370 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2371 -1, -1, -1, -1, -1, -1, 636, -1, -1, -1,
2372 -1, 641, 636, -1, -1, 645, -1, 641, -1, -1,
2373 -1, 645, -1, -1, -1, -1, -1, -1, -1, 659,
2374 -1, -1, -1, -1, 664, 659, -1, -1, -1, -1,
2375 664, -1, -1, -1, -1, -1, -1, -1, -1, 679,
2376 -1, -1, -1, 683, -1, 679, -1, -1, -1, 683,
2377 -1, 691, -1, -1, -1, 695, -1, 691, -1, -1,
2378 -1, 695, -1, -1, -1, 705, -1, -1, -1, 0,
2379 -1, 705, 3, 4, 5, 6, 7, 8, 9, 10,
2380 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2381 21, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2382 -1, -1, 33, 34, 35, 36, 37, 38, 39, 40,
2383 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2384 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2385 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2386 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2387 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
2388 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2389 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2390 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2391 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
2392 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2393 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2394 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2395 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2396 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
2397 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
2398 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
2399 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
2400 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
2401 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
2402 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
2403 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
2404 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
2405 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
2406 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
2407 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
2408 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
2409 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
2410 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
2411 321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
2412 331, 332, 333, 334, -1, -1, 337, -1, -1, -1,
2413 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2414 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2415 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2416 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2417 381, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2418 -1, -1, -1, -1, 395, 396, 397, 398, 399, 400,
2419 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
2420 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
2421 23, 24, -1, 26, 27, 28, 29, 30, 31, 32,
2422 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2423 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2424 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2425 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2426 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2427 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
2428 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
2429 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2430 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
2431 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2432 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
2433 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2434 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2435 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2436 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
2437 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
2438 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
2439 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
2440 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
2441 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
2442 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
2443 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
2444 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
2445 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
2446 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
2447 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
2448 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
2449 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
2450 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
2451 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
2452 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
2453 343, 344, 345, 346, 347, 348, 349, -1, -1, 352,
2454 353, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2455 -1, -1, -1, -1, -1, -1, -1, -1, 371, -1,
2456 373, -1, 375, 376, -1, -1, -1, -1, 381, 382,
2457 383, 384, 385, -1, -1, -1, -1, -1, -1, -1,
2458 -1, -1, 395, 396, 397, 398, 399, 400, 3, 4,
2459 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2460 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2461 -1, 26, 27, 28, 29, 30, 31, 32, 33, 34,
2462 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2463 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2464 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2465 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2466 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2467 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
2468 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
2469 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2470 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
2471 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2472 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2473 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2474 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2475 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2476 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
2477 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
2478 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
2479 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
2480 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
2481 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
2482 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
2483 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
2484 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2485 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
2486 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
2487 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2488 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
2489 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2490 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
2491 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2492 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
2493 345, 346, 347, 348, 349, -1, -1, 352, 353, -1,
2494 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2495 -1, -1, -1, -1, -1, -1, 371, -1, 373, -1,
2496 375, 376, -1, -1, -1, -1, 381, 382, 383, 384,
2497 385, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2498 395, 396, 397, 398, 399, 400, 3, 4, 5, 6,
2499 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2500 17, 18, 19, 20, 21, 22, 23, 24, -1, 26,
2501 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2502 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2503 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2504 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2505 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2506 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
2507 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2508 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2509 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
2510 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
2511 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2512 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2513 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
2514 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
2515 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
2516 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
2517 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
2518 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
2519 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
2520 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
2521 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
2522 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
2523 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
2524 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
2525 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
2526 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
2527 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
2528 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
2529 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
2530 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
2531 327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
2532 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
2533 347, 348, 349, -1, -1, 352, 353, -1, -1, -1,
2534 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2535 -1, -1, -1, -1, 371, -1, 373, -1, 375, -1,
2536 -1, -1, -1, -1, 381, 382, 383, 384, 385, -1,
2537 -1, -1, -1, -1, -1, -1, -1, -1, 395, 396,
2538 397, 398, 399, 400, 3, 4, 5, 6, 7, 8,
2539 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2540 19, 20, 21, 22, 23, 24, -1, 26, 27, 28,
2541 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2542 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2543 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2544 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2545 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2546 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
2547 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
2548 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2549 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
2550 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
2551 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2552 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2553 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2554 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2555 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
2556 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
2557 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
2558 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
2559 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
2560 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
2561 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
2562 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
2563 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
2564 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
2565 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
2566 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
2567 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
2568 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
2569 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
2570 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
2571 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
2572 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
2573 349, -1, -1, 352, 353, -1, -1, -1, -1, -1,
2574 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2575 -1, -1, 371, -1, 373, -1, 375, -1, -1, -1,
2576 -1, -1, 381, 382, 383, 384, 385, -1, -1, -1,
2577 -1, -1, -1, -1, -1, -1, 395, 396, 397, 398,
2578 399, 400, 3, 4, 5, 6, 7, 8, 9, 10,
2579 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2580 21, 22, 23, 24, -1, 26, 27, 28, 29, 30,
2581 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2582 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2583 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2584 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2585 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2586 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
2587 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2588 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2589 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2590 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
2591 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2592 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2593 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2594 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2595 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
2596 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
2597 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
2598 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
2599 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
2600 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
2601 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
2602 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
2603 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
2604 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
2605 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
2606 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
2607 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
2608 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
2609 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
2610 321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
2611 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
2612 341, 342, 343, 344, 345, 346, 347, 348, 349, -1,
2613 -1, 352, 353, -1, -1, -1, -1, -1, -1, -1,
2614 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2615 371, -1, 373, -1, -1, -1, -1, -1, -1, -1,
2616 381, 382, 383, 384, 385, -1, -1, -1, -1, -1,
2617 -1, -1, -1, -1, 395, 396, 397, 398, 399, 400,
2618 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
2619 13, 14, 15, 16, 17, 18, 19, 20, 21, -1,
2620 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2621 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2622 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2623 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2624 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2625 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2626 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
2627 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
2628 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2629 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
2630 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2631 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
2632 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2633 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2634 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2635 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
2636 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
2637 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
2638 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
2639 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
2640 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
2641 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
2642 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
2643 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
2644 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
2645 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
2646 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
2647 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
2648 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
2649 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
2650 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
2651 333, 334, -1, 336, 337, 338, 339, 340, 341, 342,
2652 343, 344, 345, 346, 347, 348, 349, -1, -1, 352,
2653 353, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2654 -1, -1, -1, -1, -1, -1, -1, -1, 371, -1,
2655 -1, -1, -1, -1, -1, -1, -1, -1, 381, 382,
2656 383, 384, 385, -1, -1, -1, -1, -1, -1, -1,
2657 -1, -1, 395, 396, 397, 398, 399, 400, 3, 4,
2658 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2659 15, 16, 17, 18, 19, 20, 21, -1, -1, -1,
2660 -1, -1, -1, -1, -1, -1, -1, -1, 33, 34,
2661 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2662 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2663 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2664 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2665 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2666 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
2667 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
2668 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2669 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
2670 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2671 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2672 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2673 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2674 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2675 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
2676 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
2677 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
2678 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
2679 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
2680 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
2681 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
2682 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
2683 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2684 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
2685 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
2686 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2687 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
2688 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2689 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
2690 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2691 -1, -1, 337, -1, -1, -1, -1, -1, -1, -1,
2692 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2693 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2694 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2695 -1, -1, -1, -1, -1, -1, 381, -1, -1, -1,
2696 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2697 395, 396, 397, 398, 399, 400, 3, 4, 5, 6,
2698 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2699 17, 18, 19, 20, 21, -1, -1, -1, -1, -1,
2700 -1, -1, -1, -1, -1, -1, 33, 34, 35, 36,
2701 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2702 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2703 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2704 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2705 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
2706 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2707 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2708 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
2709 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
2710 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2711 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2712 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
2713 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
2714 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
2715 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
2716 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
2717 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
2718 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
2719 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
2720 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
2721 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
2722 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
2723 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
2724 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
2725 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
2726 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
2727 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
2728 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
2729 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
2730 327, 328, 329, 330, 331, 332, 333, 334, -1, 336,
2731 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
2732 347, 348, 349, -1, -1, 352, 353, -1, -1, -1,
2733 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2734 -1, -1, -1, -1, 371, -1, -1, -1, -1, -1,
2735 -1, -1, -1, -1, -1, 382, 383, 384, 385, -1,
2736 -1, -1, -1, -1, -1, -1, -1, -1, 395, 396,
2737 397, 398, 399, 3, 4, 5, 6, 7, 8, 9,
2738 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2739 20, 21, -1, -1, -1, -1, -1, -1, -1, -1,
2740 -1, -1, -1, 33, 34, 35, 36, 37, 38, 39,
2741 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2742 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2743 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2744 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2745 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
2746 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
2747 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2748 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
2749 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
2750 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2751 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2752 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2753 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2754 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
2755 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
2756 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
2757 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
2758 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
2759 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
2760 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
2761 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
2762 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
2763 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
2764 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
2765 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
2766 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2767 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
2768 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
2769 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
2770 330, 331, 332, 333, 334, -1, 336, 337, -1, -1,
2771 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2772 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2773 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2774 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2775 -1, 381, -1, -1, -1, -1, -1, -1, -1, -1,
2776 -1, -1, -1, -1, -1, 395, 396, 397, 398, 399,
2777 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
2778 13, 14, 15, 16, 17, 18, 19, 20, 21, -1,
2779 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2780 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2781 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2782 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2783 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2784 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2785 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
2786 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
2787 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2788 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
2789 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2790 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
2791 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2792 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2793 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2794 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
2795 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
2796 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
2797 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
2798 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
2799 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
2800 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
2801 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
2802 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
2803 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
2804 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
2805 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
2806 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
2807 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
2808 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
2809 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
2810 333, 334, -1, -1, 337, -1, -1, -1, -1, -1,
2811 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2812 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2813 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2814 -1, -1, -1, 376, -1, -1, -1, -1, -1, -1,
2815 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2816 -1, -1, 395, 396, 397, 398, 399, 3, 4, 5,
2817 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
2818 16, 17, 18, 19, 20, 21, -1, -1, -1, -1,
2819 -1, -1, -1, -1, -1, -1, -1, 33, 34, 35,
2820 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2821 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2822 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2823 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2824 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2825 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
2826 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
2827 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2828 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
2829 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2830 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2831 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2832 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2833 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2834 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
2835 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
2836 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
2837 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
2838 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
2839 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
2840 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
2841 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
2842 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
2843 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
2844 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
2845 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
2846 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
2847 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
2848 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
2849 326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
2850 -1, 337, -1, -1, -1, -1, -1, -1, -1, -1,
2851 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2852 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2853 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2854 376, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2855 -1, -1, -1, -1, -1, -1, -1, -1, -1, 395,
2856 396, 397, 398, 399, 3, 4, 5, 6, 7, 8,
2857 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2858 19, 20, 21, -1, -1, -1, -1, -1, -1, -1,
2859 -1, -1, -1, -1, 33, 34, 35, 36, 37, 38,
2860 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2861 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2862 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2863 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2864 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
2865 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
2866 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2867 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
2868 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
2869 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2870 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2871 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2872 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2873 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
2874 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
2875 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
2876 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
2877 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
2878 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
2879 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
2880 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
2881 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
2882 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
2883 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
2884 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
2885 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
2886 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
2887 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
2888 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
2889 329, 330, 331, 332, 333, 334, -1, -1, 337, -1,
2890 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2891 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2892 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2893 -1, -1, -1, -1, -1, -1, -1, 376, -1, -1,
2894 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2895 -1, -1, -1, -1, -1, -1, 395, 396, 397, 398,
2896 399, 3, 4, 5, 6, 7, 8, 9, 10, 11,
2897 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
2898 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2899 -1, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2900 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2901 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
2902 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2903 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2904 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2905 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2906 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2907 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2908 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2909 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
2910 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2911 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2912 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2913 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
2914 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
2915 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
2916 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
2917 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
2918 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
2919 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
2920 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
2921 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
2922 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
2923 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
2924 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
2925 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
2926 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
2927 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
2928 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
2929 332, 333, 334, -1, -1, 337, -1, -1, -1, -1,
2930 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2931 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2932 -1, -1, -1, -1, -1, -1, -1, -1, -1, 5,
2933 6, 7, 8, 9, -1, 11, 12, 13, 14, 15,
2934 16, 17, 18, 19, 20, 21, -1, -1, -1, -1,
2935 -1, -1, -1, 395, 396, 397, 398, 399, 34, 35,
2936 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2937 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2938 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2939 66, 67, 68, 69, 70, 71, 72, -1, -1, -1,
2940 -1, -1, -1, -1, -1, -1, 82, -1, -1, -1,
2941 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2942 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
2943 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2944 116, 117, 118, 119, -1, -1, -1, -1, -1, -1,
2945 -1, -1, -1, 129, 130, 131, 132, 133, 134, 135,
2946 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2947 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2948 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2949 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2950 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
2951 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
2952 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
2953 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
2954 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
2955 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
2956 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
2957 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
2958 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
2959 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
2960 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
2961 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
2962 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
2963 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
2964 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
2965 326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
2966 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
2967 346, 347, 348, 349, -1, -1, 352, 353, -1, -1,
2968 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2969 -1, -1, -1, -1, -1, 371, -1, -1, -1, 375,
2970 376, -1, -1, -1, -1, -1, 382, 383, 384, 385,
2971 5, 6, 7, 8, 9, -1, 11, 12, 13, 14,
2972 15, 16, 17, 18, 19, 20, 21, -1, -1, -1,
2973 -1, -1, -1, -1, -1, -1, -1, -1, -1, 34,
2974 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2975 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2976 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2977 65, 66, 67, 68, 69, 70, 71, 72, -1, -1,
2978 -1, -1, -1, -1, -1, -1, -1, 82, -1, -1,
2979 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2980 -1, 96, 97, 98, 99, 100, 101, 102, 103, 104,
2981 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2982 115, 116, 117, 118, 119, -1, -1, -1, -1, -1,
2983 -1, -1, -1, -1, 129, 130, 131, 132, 133, 134,
2984 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2985 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2986 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2987 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2988 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
2989 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
2990 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
2991 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
2992 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
2993 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
2994 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
2995 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
2996 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2997 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
2998 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
2999 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
3000 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
3001 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
3002 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
3003 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
3004 -1, 336, 337, 338, 339, 340, 341, 342, 343, 344,
3005 345, 346, 347, 348, 349, -1, -1, 352, 353, -1,
3006 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3007 -1, -1, -1, -1, -1, -1, 371, -1, -1, 374,
3008 -1, -1, -1, -1, -1, -1, -1, 382, 383, 384,
3009 385, 5, 6, 7, 8, 9, -1, 11, 12, 13,
3010 14, 15, 16, 17, 18, 19, 20, 21, -1, -1,
3011 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3012 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
3013 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
3014 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
3015 64, 65, 66, 67, 68, 69, 70, 71, 72, -1,
3016 -1, -1, -1, -1, -1, -1, -1, -1, 82, -1,
3017 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3018 -1, -1, 96, 97, 98, 99, 100, 101, 102, 103,
3019 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
3020 114, 115, 116, 117, 118, 119, -1, -1, -1, -1,
3021 -1, -1, -1, -1, -1, 129, 130, 131, 132, 133,
3022 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
3023 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
3024 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
3025 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
3026 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
3027 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
3028 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
3029 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
3030 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
3031 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
3032 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
3033 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
3034 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
3035 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
3036 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
3037 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
3038 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
3039 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
3040 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
3041 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
3042 334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
3043 344, 345, 346, 347, 348, 349, -1, -1, 352, 353,
3044 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3045 -1, -1, -1, -1, -1, -1, -1, 371, -1, -1,
3046 -1, 375, -1, -1, -1, -1, -1, -1, 382, 383,
3047 384, 385, 5, 6, 7, 8, 9, -1, 11, 12,
3048 13, 14, 15, 16, 17, 18, 19, 20, 21, -1,
3049 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3050 -1, 34, 35, 36, 37, 38, 39, 40, 41, 42,
3051 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
3052 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
3053 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3054 -1, -1, -1, -1, -1, -1, -1, -1, -1, 82,
3055 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3056 -1, -1, -1, 96, 97, 98, 99, 100, 101, 102,
3057 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
3058 113, 114, 115, 116, 117, 118, 119, -1, -1, -1,
3059 -1, -1, -1, -1, -1, -1, 129, 130, 131, 132,
3060 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
3061 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
3062 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
3063 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
3064 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
3065 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
3066 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
3067 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
3068 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
3069 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
3070 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
3071 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
3072 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
3073 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
3074 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
3075 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
3076 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
3077 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
3078 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
3079 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
3080 333, 334, -1, 336, 337, 338, 339, 340, 341, 342,
3081 343, 344, 345, 346, 347, 348, 349, -1, -1, 352,
3082 353, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3083 -1, -1, -1, -1, -1, -1, -1, -1, 371, -1,
3084 -1, 374, -1, -1, -1, -1, -1, -1, -1, 382,
3085 383, 384, 385, 5, 6, 7, 8, 9, -1, 11,
3086 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
3087 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3088 -1, -1, 34, 35, 36, 37, 38, 39, 40, 41,
3089 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
3090 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
3091 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3092 72, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3093 82, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3094 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
3095 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
3096 112, 113, 114, 115, 116, 117, 118, 119, -1, -1,
3097 -1, -1, -1, -1, -1, -1, -1, 129, 130, 131,
3098 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
3099 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3100 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
3101 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3102 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
3103 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
3104 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
3105 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
3106 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
3107 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
3108 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
3109 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
3110 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
3111 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
3112 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
3113 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
3114 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
3115 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
3116 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
3117 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
3118 332, 333, 334, -1, 336, 337, 338, 339, 340, 341,
3119 342, 343, 344, 345, 346, 347, 348, 349, -1, -1,
3120 352, 353, -1, -1, -1, -1, -1, -1, -1, -1,
3121 -1, -1, -1, -1, -1, -1, -1, -1, -1, 371,
3122 -1, -1, -1, -1, -1, -1, -1, -1, -1, 381,
3123 382, 383, 384, 385, 5, 6, 7, 8, 9, -1,
3124 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
3125 21, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3126 -1, -1, -1, 34, 35, 36, 37, 38, 39, 40,
3127 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
3128 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
3129 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
3130 71, 72, -1, -1, -1, -1, -1, -1, -1, -1,
3131 -1, 82, -1, -1, -1, -1, -1, -1, -1, -1,
3132 -1, -1, -1, -1, -1, 96, 97, 98, 99, 100,
3133 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
3134 111, 112, 113, 114, 115, 116, 117, 118, 119, -1,
3135 -1, -1, -1, -1, -1, -1, -1, -1, 129, 130,
3136 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
3137 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
3138 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
3139 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
3140 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
3141 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
3142 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
3143 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
3144 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
3145 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
3146 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
3147 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
3148 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
3149 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
3150 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
3151 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
3152 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
3153 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
3154 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
3155 321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
3156 331, 332, 333, 334, -1, 336, 337, 338, 339, 340,
3157 341, 342, 343, 344, 345, 346, 347, 348, 349, -1,
3158 -1, 352, 353, -1, -1, -1, -1, -1, -1, -1,
3159 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3160 371, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3161 -1, 382, 383, 384, 385, 5, 6, 7, 8, 9,
3162 -1, 11, 12, 13, 14, 15, 16, 17, 18, 19,
3163 20, 21, -1, -1, -1, -1, -1, -1, -1, -1,
3164 -1, -1, -1, -1, 34, 35, 36, 37, 38, 39,
3165 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
3166 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
3167 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
3168 70, 71, 72, -1, -1, -1, -1, -1, -1, -1,
3169 -1, -1, 82, -1, -1, -1, -1, -1, -1, -1,
3170 -1, -1, -1, -1, -1, -1, 96, 97, 98, 99,
3171 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
3172 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
3173 -1, -1, -1, -1, -1, -1, -1, -1, -1, 129,
3174 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
3175 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
3176 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
3177 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
3178 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
3179 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
3180 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
3181 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
3182 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
3183 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
3184 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
3185 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
3186 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
3187 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
3188 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
3189 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
3190 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
3191 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
3192 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
3193 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
3194 330, 331, 332, 333, 334, -1, 336, 337, 338, 339,
3195 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
3196 -1, -1, 352, 353, -1, -1, -1, -1, -1, -1,
3197 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3198 -1, 371, -1, -1, -1, -1, -1, -1, -1, -1,
3199 -1, -1, 382, 383, 384, 385, 5, 6, 7, 8,
3200 9, -1, 11, 12, 13, 14, 15, 16, 17, 18,
3201 19, 20, 21, -1, -1, -1, -1, -1, -1, -1,
3202 -1, -1, -1, -1, -1, 34, 35, 36, 37, 38,
3203 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
3204 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
3205 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
3206 69, 70, 71, 72, -1, -1, -1, -1, -1, -1,
3207 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3208 -1, -1, -1, -1, -1, -1, -1, 96, 97, 98,
3209 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3210 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
3211 119, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3212 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
3213 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
3214 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
3215 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
3216 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
3217 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
3218 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
3219 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
3220 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
3221 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
3222 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
3223 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
3224 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
3225 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
3226 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
3227 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
3228 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
3229 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
3230 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
3231 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
3232 329, 330, 331, 332, 333, 334, -1, -1, 337
3235 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
3236 symbol of state STATE-NUM. */
3237 static const yytype_uint16 yystos[] =
3239 0, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3240 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
3241 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
3242 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
3243 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
3244 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3245 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3246 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
3247 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
3248 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
3249 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
3250 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
3251 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
3252 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
3253 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
3254 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
3255 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
3256 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
3257 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
3258 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
3259 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
3260 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
3261 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
3262 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
3263 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
3264 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
3265 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
3266 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
3267 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
3268 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
3269 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
3270 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
3271 333, 334, 337, 381, 395, 396, 397, 398, 399, 400,
3272 435, 436, 439, 440, 441, 442, 446, 447, 448, 449,
3273 450, 451, 454, 455, 456, 457, 458, 460, 462, 463,
3274 464, 504, 505, 506, 371, 371, 336, 375, 463, 336,
3275 381, 381, 507, 372, 378, 443, 444, 445, 455, 460,
3276 378, 381, 336, 336, 381, 456, 460, 373, 461, 0,
3277 505, 336, 459, 81, 336, 452, 453, 375, 466, 460,
3278 381, 461, 375, 483, 444, 443, 445, 336, 336, 371,
3279 380, 461, 375, 378, 381, 438, 336, 338, 339, 340,
3280 341, 342, 343, 344, 345, 346, 347, 348, 349, 352,
3281 353, 371, 374, 382, 383, 384, 385, 405, 406, 407,
3282 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
3283 419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
3284 429, 458, 460, 373, 372, 378, 380, 372, 378, 465,
3285 455, 460, 467, 468, 381, 381, 22, 23, 24, 26,
3286 27, 28, 29, 30, 31, 32, 335, 373, 375, 376,
3287 381, 416, 429, 431, 433, 435, 439, 458, 460, 473,
3288 474, 475, 476, 484, 485, 486, 487, 490, 491, 494,
3289 495, 496, 503, 508, 461, 380, 461, 375, 431, 471,
3290 380, 437, 336, 378, 381, 416, 416, 433, 352, 353,
3291 373, 377, 372, 372, 378, 334, 431, 371, 416, 386,
3292 387, 388, 383, 385, 350, 351, 354, 355, 389, 390,
3293 356, 357, 393, 392, 391, 358, 360, 359, 394, 374,
3294 374, 429, 336, 429, 434, 453, 467, 460, 336, 469,
3295 470, 376, 468, 381, 381, 498, 371, 371, 381, 381,
3296 433, 371, 433, 379, 371, 373, 376, 477, 361, 362,
3297 363, 364, 365, 366, 367, 368, 369, 370, 380, 432,
3298 378, 381, 376, 474, 487, 491, 496, 471, 380, 471,
3299 472, 471, 467, 336, 372, 408, 433, 336, 431, 416,
3300 416, 416, 418, 418, 419, 419, 420, 420, 420, 420,
3301 421, 421, 422, 423, 424, 425, 426, 427, 430, 374,
3302 376, 469, 461, 378, 381, 474, 499, 433, 381, 433,
3303 379, 497, 336, 509, 510, 484, 431, 431, 471, 376,
3304 378, 376, 374, 433, 381, 470, 335, 473, 485, 500,
3305 372, 372, 433, 448, 455, 489, 371, 374, 378, 478,
3306 376, 471, 379, 371, 489, 501, 502, 480, 481, 482,
3307 488, 492, 336, 372, 434, 374, 510, 376, 431, 433,
3308 381, 372, 25, 476, 475, 375, 380, 475, 479, 483,
3309 372, 372, 433, 479, 480, 484, 493, 471, 381, 376
3312 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
3313 static const yytype_uint16 yyr1[] =
3315 0, 404, 405, 406, 406, 406, 406, 406, 406, 406,
3316 406, 406, 406, 406, 406, 406, 406, 407, 407, 407,
3317 407, 407, 407, 408, 409, 410, 411, 411, 412, 412,
3318 413, 413, 414, 415, 415, 415, 416, 416, 416, 416,
3319 417, 417, 417, 417, 418, 418, 418, 418, 419, 419,
3320 419, 420, 420, 420, 421, 421, 421, 421, 421, 422,
3321 422, 422, 423, 423, 424, 424, 425, 425, 426, 426,
3322 427, 427, 428, 428, 429, 430, 429, 431, 431, 432,
3323 432, 432, 432, 432, 432, 432, 432, 432, 432, 432,
3324 433, 433, 434, 435, 435, 435, 435, 435, 435, 435,
3325 435, 435, 437, 436, 438, 438, 439, 440, 440, 441,
3326 441, 442, 443, 443, 444, 444, 444, 444, 445, 446,
3327 446, 446, 446, 446, 447, 447, 447, 447, 447, 448,
3328 448, 449, 450, 450, 450, 450, 450, 450, 450, 450,
3329 451, 452, 452, 453, 453, 453, 454, 455, 455, 456,
3330 456, 456, 456, 456, 456, 456, 457, 457, 457, 457,
3331 457, 457, 457, 457, 457, 457, 457, 457, 457, 457,
3332 457, 457, 457, 457, 457, 457, 457, 457, 457, 457,
3333 457, 457, 457, 458, 459, 459, 460, 460, 461, 461,
3334 461, 461, 462, 462, 462, 462, 462, 462, 462, 462,
3335 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3336 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3337 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3338 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3339 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3340 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3341 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3342 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3343 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3344 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3345 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3346 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3347 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3348 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3349 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3350 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3351 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3352 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3353 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3354 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3355 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3356 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3357 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3358 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3359 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3360 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3361 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3362 462, 462, 462, 462, 462, 462, 462, 462, 463, 463,
3363 463, 465, 464, 466, 464, 467, 467, 468, 468, 469,
3364 469, 470, 470, 471, 471, 471, 472, 472, 473, 474,
3365 474, 475, 475, 475, 475, 475, 475, 475, 476, 477,
3366 478, 476, 479, 479, 481, 480, 482, 480, 483, 483,
3367 484, 484, 485, 485, 486, 486, 487, 488, 488, 489,
3368 489, 490, 490, 492, 491, 493, 493, 494, 494, 495,
3369 495, 497, 496, 498, 496, 499, 496, 500, 500, 501,
3370 501, 502, 502, 503, 503, 503, 503, 503, 504, 504,
3371 505, 505, 505, 507, 506, 508, 509, 509, 510, 510
3374 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
3375 static const yytype_uint8 yyr2[] =
3377 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
3378 1, 1, 1, 1, 1, 1, 3, 1, 4, 1,
3379 3, 2, 2, 1, 1, 1, 2, 2, 2, 1,
3380 2, 3, 2, 1, 1, 1, 1, 2, 2, 2,
3381 1, 1, 1, 1, 1, 3, 3, 3, 1, 3,
3382 3, 1, 3, 3, 1, 3, 3, 3, 3, 1,
3383 3, 3, 1, 3, 1, 3, 1, 3, 1, 3,
3384 1, 3, 1, 3, 1, 0, 6, 1, 3, 1,
3385 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3386 1, 3, 1, 2, 2, 4, 2, 3, 4, 2,
3387 3, 4, 0, 6, 2, 3, 2, 1, 1, 2,
3388 3, 3, 2, 3, 2, 1, 2, 1, 1, 1,
3389 3, 4, 6, 5, 1, 2, 3, 5, 4, 1,
3390 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3391 4, 1, 3, 1, 3, 1, 1, 1, 2, 1,
3392 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3393 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3394 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3395 1, 1, 4, 1, 1, 3, 1, 2, 2, 3,
3396 3, 4, 1, 1, 1, 1, 1, 1, 1, 1,
3397 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3398 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3399 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3400 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3401 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3402 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3403 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3404 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3405 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3406 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3407 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3408 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3409 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3410 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3411 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3412 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3413 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3414 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3415 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3416 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3417 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3418 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3419 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3420 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3421 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3422 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3423 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3424 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3425 1, 0, 6, 0, 5, 1, 2, 3, 4, 1,
3426 3, 1, 2, 1, 3, 4, 1, 3, 1, 1,
3427 1, 1, 1, 1, 1, 1, 1, 1, 2, 0,
3428 0, 5, 1, 1, 0, 2, 0, 2, 2, 3,
3429 1, 2, 1, 2, 1, 2, 5, 3, 1, 1,
3430 4, 1, 2, 0, 8, 0, 1, 3, 2, 1,
3431 2, 0, 6, 0, 8, 0, 7, 1, 1, 1,
3432 0, 2, 3, 2, 2, 2, 3, 2, 1, 2,
3433 1, 1, 1, 0, 3, 5, 1, 3, 1, 4
3437 #define yyerrok (yyerrstatus = 0)
3438 #define yyclearin (yychar = YYEMPTY)
3439 #define YYEMPTY (-2)
3442 #define YYACCEPT goto yyacceptlab
3443 #define YYABORT goto yyabortlab
3444 #define YYERROR goto yyerrorlab
3447 #define YYRECOVERING() (!!yyerrstatus)
3449 #define YYBACKUP(Token, Value) \
3451 if (yychar == YYEMPTY) \
3455 YYPOPSTACK (yylen); \
3461 yyerror (pParseContext, YY_("syntax error: cannot back up")); \
3466 /* Error token number */
3468 #define YYERRCODE 256
3472 /* Enable debugging if requested. */
3476 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
3477 # define YYFPRINTF fprintf
3480 # define YYDPRINTF(Args) \
3486 /* This macro is provided for backward compatibility. */
3487 #ifndef YY_LOCATION_PRINT
3488 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
3492 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
3496 YYFPRINTF (stderr, "%s ", Title); \
3497 yy_symbol_print (stderr, \
3498 Type, Value, pParseContext); \
3499 YYFPRINTF (stderr, "\n"); \
3504 /*----------------------------------------.
3505 | Print this symbol's value on YYOUTPUT. |
3506 `----------------------------------------*/
3509 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, glslang::TParseContext* pParseContext)
3511 FILE *yyo = yyoutput;
3513 YYUSE (pParseContext);
3517 if (yytype < YYNTOKENS)
3518 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
3524 /*--------------------------------.
3525 | Print this symbol on YYOUTPUT. |
3526 `--------------------------------*/
3529 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, glslang::TParseContext* pParseContext)
3531 YYFPRINTF (yyoutput, "%s %s (",
3532 yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
3534 yy_symbol_value_print (yyoutput, yytype, yyvaluep, pParseContext);
3535 YYFPRINTF (yyoutput, ")");
3538 /*------------------------------------------------------------------.
3539 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
3541 `------------------------------------------------------------------*/
3544 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
3546 YYFPRINTF (stderr, "Stack now");
3547 for (; yybottom <= yytop; yybottom++)
3549 int yybot = *yybottom;
3550 YYFPRINTF (stderr, " %d", yybot);
3552 YYFPRINTF (stderr, "\n");
3555 # define YY_STACK_PRINT(Bottom, Top) \
3558 yy_stack_print ((Bottom), (Top)); \
3562 /*------------------------------------------------.
3563 | Report that the YYRULE is going to be reduced. |
3564 `------------------------------------------------*/
3567 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, glslang::TParseContext* pParseContext)
3569 unsigned long int yylno = yyrline[yyrule];
3570 int yynrhs = yyr2[yyrule];
3572 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
3574 /* The symbols being reduced. */
3575 for (yyi = 0; yyi < yynrhs; yyi++)
3577 YYFPRINTF (stderr, " $%d = ", yyi + 1);
3578 yy_symbol_print (stderr,
3579 yystos[yyssp[yyi + 1 - yynrhs]],
3580 &(yyvsp[(yyi + 1) - (yynrhs)])
3582 YYFPRINTF (stderr, "\n");
3586 # define YY_REDUCE_PRINT(Rule) \
3589 yy_reduce_print (yyssp, yyvsp, Rule, pParseContext); \
3592 /* Nonzero means print parse trace. It is left uninitialized so that
3593 multiple parsers can coexist. */
3595 #else /* !YYDEBUG */
3596 # define YYDPRINTF(Args)
3597 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
3598 # define YY_STACK_PRINT(Bottom, Top)
3599 # define YY_REDUCE_PRINT(Rule)
3600 #endif /* !YYDEBUG */
3603 /* YYINITDEPTH -- initial size of the parser's stacks. */
3605 # define YYINITDEPTH 200
3608 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3609 if the built-in stack extension method is used).
3611 Do not make this value too large; the results are undefined if
3612 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
3613 evaluated with infinite-precision integer arithmetic. */
3616 # define YYMAXDEPTH 10000
3623 # if defined __GLIBC__ && defined _STRING_H
3624 # define yystrlen strlen
3626 /* Return the length of YYSTR. */
3628 yystrlen (const char *yystr)
3631 for (yylen = 0; yystr[yylen]; yylen++)
3639 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
3640 # define yystpcpy stpcpy
3642 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3645 yystpcpy (char *yydest, const char *yysrc)
3648 const char *yys = yysrc;
3650 while ((*yyd++ = *yys++) != '\0')
3659 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3660 quotes and backslashes, so that it's suitable for yyerror. The
3661 heuristic is that double-quoting is unnecessary unless the string
3662 contains an apostrophe, a comma, or backslash (other than
3663 backslash-backslash). YYSTR is taken from yytname. If YYRES is
3664 null, do not copy; instead, return the length of what the result
3667 yytnamerr (char *yyres, const char *yystr)
3672 char const *yyp = yystr;
3679 goto do_not_strip_quotes;
3683 goto do_not_strip_quotes;
3696 do_not_strip_quotes: ;
3700 return yystrlen (yystr);
3702 return yystpcpy (yyres, yystr) - yyres;
3706 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
3707 about the unexpected token YYTOKEN for the state stack whose top is
3710 Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
3711 not large enough to hold the message. In that case, also set
3712 *YYMSG_ALLOC to the required number of bytes. Return 2 if the
3713 required number of bytes is too large to store. */
3715 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
3716 yytype_int16 *yyssp, int yytoken)
3718 YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
3719 YYSIZE_T yysize = yysize0;
3720 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3721 /* Internationalized format string. */
3722 const char *yyformat = YY_NULLPTR;
3723 /* Arguments of yyformat. */
3724 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3725 /* Number of reported tokens (one for the "unexpected", one per
3729 /* There are many possibilities here to consider:
3730 - If this state is a consistent state with a default action, then
3731 the only way this function was invoked is if the default action
3732 is an error action. In that case, don't check for expected
3733 tokens because there are none.
3734 - The only way there can be no lookahead present (in yychar) is if
3735 this state is a consistent state with a default action. Thus,
3736 detecting the absence of a lookahead is sufficient to determine
3737 that there is no unexpected or expected token to report. In that
3738 case, just report a simple "syntax error".
3739 - Don't assume there isn't a lookahead just because this state is a
3740 consistent state with a default action. There might have been a
3741 previous inconsistent state, consistent state with a non-default
3742 action, or user semantic action that manipulated yychar.
3743 - Of course, the expected token list depends on states to have
3744 correct lookahead information, and it depends on the parser not
3745 to perform extra reductions after fetching a lookahead from the
3746 scanner and before detecting a syntax error. Thus, state merging
3747 (from LALR or IELR) and default reductions corrupt the expected
3748 token list. However, the list is correct for canonical LR with
3749 one exception: it will still contain any token that will not be
3750 accepted due to an error action in a later state.
3752 if (yytoken != YYEMPTY)
3754 int yyn = yypact[*yyssp];
3755 yyarg[yycount++] = yytname[yytoken];
3756 if (!yypact_value_is_default (yyn))
3758 /* Start YYX at -YYN if negative to avoid negative indexes in
3759 YYCHECK. In other words, skip the first -YYN actions for
3760 this state because they are default actions. */
3761 int yyxbegin = yyn < 0 ? -yyn : 0;
3762 /* Stay within bounds of both yycheck and yytname. */
3763 int yychecklim = YYLAST - yyn + 1;
3764 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3767 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3768 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
3769 && !yytable_value_is_error (yytable[yyx + yyn]))
3771 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3777 yyarg[yycount++] = yytname[yyx];
3779 YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
3780 if (! (yysize <= yysize1
3781 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
3791 # define YYCASE_(N, S) \
3795 YYCASE_(0, YY_("syntax error"));
3796 YYCASE_(1, YY_("syntax error, unexpected %s"));
3797 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
3798 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
3799 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
3800 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
3805 YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
3806 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
3811 if (*yymsg_alloc < yysize)
3813 *yymsg_alloc = 2 * yysize;
3814 if (! (yysize <= *yymsg_alloc
3815 && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
3816 *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
3820 /* Avoid sprintf, as that infringes on the user's name space.
3821 Don't have undefined behavior even if the translation
3822 produced a string with the wrong number of "%s"s. */
3826 while ((*yyp = *yyformat) != '\0')
3827 if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
3829 yyp += yytnamerr (yyp, yyarg[yyi++]);
3840 #endif /* YYERROR_VERBOSE */
3842 /*-----------------------------------------------.
3843 | Release the memory associated to this symbol. |
3844 `-----------------------------------------------*/
3847 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, glslang::TParseContext* pParseContext)
3850 YYUSE (pParseContext);
3853 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3855 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3857 YY_IGNORE_MAYBE_UNINITIALIZED_END
3868 yyparse (glslang::TParseContext* pParseContext)
3870 /* The lookahead symbol. */
3874 /* The semantic value of the lookahead symbol. */
3875 /* Default value used for initialization, for pacifying older GCCs
3876 or non-GCC compilers. */
3877 YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
3878 YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
3880 /* Number of syntax errors so far. */
3884 /* Number of tokens to shift before error messages enabled. */
3887 /* The stacks and their tools:
3888 'yyss': related to states.
3889 'yyvs': related to semantic values.
3891 Refer to the stacks through separate pointers, to allow yyoverflow
3892 to reallocate them elsewhere. */
3894 /* The state stack. */
3895 yytype_int16 yyssa[YYINITDEPTH];
3897 yytype_int16 *yyssp;
3899 /* The semantic value stack. */
3900 YYSTYPE yyvsa[YYINITDEPTH];
3904 YYSIZE_T yystacksize;
3908 /* Lookahead token as an internal (translated) token number. */
3910 /* The variables used to return semantic value and location from the
3915 /* Buffer for error messages, and its allocated size. */
3917 char *yymsg = yymsgbuf;
3918 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
3921 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
3923 /* The number of symbols on the RHS of the reduced rule.
3924 Keep to zero when no symbol should be popped. */
3927 yyssp = yyss = yyssa;
3928 yyvsp = yyvs = yyvsa;
3929 yystacksize = YYINITDEPTH;
3931 YYDPRINTF ((stderr, "Starting parse\n"));
3936 yychar = YYEMPTY; /* Cause a token to be read. */
3939 /*------------------------------------------------------------.
3940 | yynewstate -- Push a new state, which is found in yystate. |
3941 `------------------------------------------------------------*/
3943 /* In all cases, when you get here, the value and location stacks
3944 have just been pushed. So pushing a state here evens the stacks. */
3950 if (yyss + yystacksize - 1 <= yyssp)
3952 /* Get the current used size of the three stacks, in elements. */
3953 YYSIZE_T yysize = yyssp - yyss + 1;
3957 /* Give user a chance to reallocate the stack. Use copies of
3958 these so that the &'s don't force the real ones into
3960 YYSTYPE *yyvs1 = yyvs;
3961 yytype_int16 *yyss1 = yyss;
3963 /* Each stack pointer address is followed by the size of the
3964 data in use in that stack, in bytes. This used to be a
3965 conditional around just the two extra args, but that might
3966 be undefined if yyoverflow is a macro. */
3967 yyoverflow (YY_("memory exhausted"),
3968 &yyss1, yysize * sizeof (*yyssp),
3969 &yyvs1, yysize * sizeof (*yyvsp),
3975 #else /* no yyoverflow */
3976 # ifndef YYSTACK_RELOCATE
3977 goto yyexhaustedlab;
3979 /* Extend the stack our own way. */
3980 if (YYMAXDEPTH <= yystacksize)
3981 goto yyexhaustedlab;
3983 if (YYMAXDEPTH < yystacksize)
3984 yystacksize = YYMAXDEPTH;
3987 yytype_int16 *yyss1 = yyss;
3988 union yyalloc *yyptr =
3989 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3991 goto yyexhaustedlab;
3992 YYSTACK_RELOCATE (yyss_alloc, yyss);
3993 YYSTACK_RELOCATE (yyvs_alloc, yyvs);
3994 # undef YYSTACK_RELOCATE
3996 YYSTACK_FREE (yyss1);
3999 #endif /* no yyoverflow */
4001 yyssp = yyss + yysize - 1;
4002 yyvsp = yyvs + yysize - 1;
4004 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
4005 (unsigned long int) yystacksize));
4007 if (yyss + yystacksize - 1 <= yyssp)
4011 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
4013 if (yystate == YYFINAL)
4023 /* Do appropriate processing given the current state. Read a
4024 lookahead token if we need one and don't already have one. */
4026 /* First try to decide what to do without reference to lookahead token. */
4027 yyn = yypact[yystate];
4028 if (yypact_value_is_default (yyn))
4031 /* Not known => get a lookahead token if don't already have one. */
4033 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
4034 if (yychar == YYEMPTY)
4036 YYDPRINTF ((stderr, "Reading a token: "));
4037 yychar = yylex (&yylval, parseContext);
4040 if (yychar <= YYEOF)
4042 yychar = yytoken = YYEOF;
4043 YYDPRINTF ((stderr, "Now at end of input.\n"));
4047 yytoken = YYTRANSLATE (yychar);
4048 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
4051 /* If the proper action on seeing token YYTOKEN is to reduce or to
4052 detect an error, take that action. */
4054 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
4059 if (yytable_value_is_error (yyn))
4065 /* Count tokens shifted since error; after three, turn off error
4070 /* Shift the lookahead token. */
4071 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
4073 /* Discard the shifted token. */
4077 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
4079 YY_IGNORE_MAYBE_UNINITIALIZED_END
4084 /*-----------------------------------------------------------.
4085 | yydefault -- do the default action for the current state. |
4086 `-----------------------------------------------------------*/
4088 yyn = yydefact[yystate];
4094 /*-----------------------------.
4095 | yyreduce -- Do a reduction. |
4096 `-----------------------------*/
4098 /* yyn is the number of a rule to reduce with. */
4101 /* If YYLEN is nonzero, implement the default value of the action:
4104 Otherwise, the following line sets YYVAL to garbage.
4105 This behavior is undocumented and Bison
4106 users should not rely upon it. Assigning to YYVAL
4107 unconditionally makes the parser a bit smaller, and it avoids a
4108 GCC warning that YYVAL may be used uninitialized. */
4109 yyval = yyvsp[1-yylen];
4112 YY_REDUCE_PRINT (yyn);
4116 #line 294 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4118 (yyval.interm.intermTypedNode) = parseContext.handleVariable((yyvsp[0].lex).loc, (yyvsp[0].lex).symbol, (yyvsp[0].lex).string);
4120 #line 4121 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4124 #line 300 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4126 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4128 #line 4129 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4132 #line 303 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4134 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal");
4135 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
4137 #line 4138 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4141 #line 307 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4143 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal");
4144 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
4146 #line 4147 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4150 #line 311 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4152 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
4154 #line 4155 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4158 #line 314 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4160 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned literal");
4161 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
4163 #line 4164 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4167 #line 318 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4169 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer literal");
4170 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i64, (yyvsp[0].lex).loc, true);
4172 #line 4173 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4176 #line 322 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4178 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer literal");
4179 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u64, (yyvsp[0].lex).loc, true);
4181 #line 4182 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4185 #line 326 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4187 parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit integer literal");
4188 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((short)(yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
4190 #line 4191 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4194 #line 330 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4196 parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit unsigned integer literal");
4197 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((unsigned short)(yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
4199 #line 4200 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4203 #line 334 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4205 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);
4207 #line 4208 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4211 #line 337 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4213 parseContext.doubleCheck((yyvsp[0].lex).loc, "double literal");
4214 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtDouble, (yyvsp[0].lex).loc, true);
4216 #line 4217 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4220 #line 341 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4222 parseContext.float16Check((yyvsp[0].lex).loc, "half float literal");
4223 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat16, (yyvsp[0].lex).loc, true);
4225 #line 4226 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4229 #line 345 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4231 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);
4233 #line 4234 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4237 #line 348 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4239 (yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode);
4240 if ((yyval.interm.intermTypedNode)->getAsConstantUnion())
4241 (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();
4243 #line 4244 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4247 #line 356 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4249 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4251 #line 4252 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4255 #line 359 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4257 (yyval.interm.intermTypedNode) = parseContext.handleBracketDereference((yyvsp[-2].lex).loc, (yyvsp[-3].interm.intermTypedNode), (yyvsp[-1].interm.intermTypedNode));
4259 #line 4260 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4263 #line 362 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4265 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4267 #line 4268 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4271 #line 365 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4273 (yyval.interm.intermTypedNode) = parseContext.handleDotDereference((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode), *(yyvsp[0].lex).string);
4275 #line 4276 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4279 #line 368 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4281 parseContext.variableCheck((yyvsp[-1].interm.intermTypedNode));
4282 parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "++", (yyvsp[-1].interm.intermTypedNode));
4283 (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "++", EOpPostIncrement, (yyvsp[-1].interm.intermTypedNode));
4285 #line 4286 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4289 #line 373 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4291 parseContext.variableCheck((yyvsp[-1].interm.intermTypedNode));
4292 parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "--", (yyvsp[-1].interm.intermTypedNode));
4293 (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "--", EOpPostDecrement, (yyvsp[-1].interm.intermTypedNode));
4295 #line 4296 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4299 #line 381 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4301 parseContext.integerCheck((yyvsp[0].interm.intermTypedNode), "[]");
4302 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4304 #line 4305 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4308 #line 388 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4310 (yyval.interm.intermTypedNode) = parseContext.handleFunctionCall((yyvsp[0].interm).loc, (yyvsp[0].interm).function, (yyvsp[0].interm).intermNode);
4311 delete (yyvsp[0].interm).function;
4313 #line 4314 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4317 #line 395 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4319 (yyval.interm) = (yyvsp[0].interm);
4321 #line 4322 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4325 #line 401 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4327 (yyval.interm) = (yyvsp[-1].interm);
4328 (yyval.interm).loc = (yyvsp[0].lex).loc;
4330 #line 4331 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4334 #line 405 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4336 (yyval.interm) = (yyvsp[-1].interm);
4337 (yyval.interm).loc = (yyvsp[0].lex).loc;
4339 #line 4340 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4343 #line 412 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4345 (yyval.interm) = (yyvsp[-1].interm);
4347 #line 4348 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4351 #line 415 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4353 (yyval.interm) = (yyvsp[0].interm);
4355 #line 4356 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4359 #line 421 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4361 TParameter param = { 0, new TType };
4362 param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType());
4363 (yyvsp[-1].interm).function->addParameter(param);
4364 (yyval.interm).function = (yyvsp[-1].interm).function;
4365 (yyval.interm).intermNode = (yyvsp[0].interm.intermTypedNode);
4367 #line 4368 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4371 #line 428 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4373 TParameter param = { 0, new TType };
4374 param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType());
4375 (yyvsp[-2].interm).function->addParameter(param);
4376 (yyval.interm).function = (yyvsp[-2].interm).function;
4377 (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-2].interm).intermNode, (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc);
4379 #line 4380 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4383 #line 438 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4385 (yyval.interm) = (yyvsp[-1].interm);
4387 #line 4388 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4391 #line 446 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4394 (yyval.interm).intermNode = 0;
4395 (yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type));
4397 #line 4398 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4401 #line 451 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4404 // Should be a method or subroutine call, but we haven't recognized the arguments yet.
4406 (yyval.interm).function = 0;
4407 (yyval.interm).intermNode = 0;
4409 TIntermMethod* method = (yyvsp[0].interm.intermTypedNode)->getAsMethodNode();
4411 (yyval.interm).function = new TFunction(&method->getMethodName(), TType(EbtInt), EOpArrayLength);
4412 (yyval.interm).intermNode = method->getObject();
4414 TIntermSymbol* symbol = (yyvsp[0].interm.intermTypedNode)->getAsSymbolNode();
4416 parseContext.reservedErrorCheck(symbol->getLoc(), symbol->getName());
4417 TFunction *function = new TFunction(&symbol->getName(), TType(EbtVoid));
4418 (yyval.interm).function = function;
4420 parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "function call, method, or subroutine call expected", "", "");
4423 if ((yyval.interm).function == 0) {
4426 (yyval.interm).function = new TFunction(&empty, TType(EbtVoid), EOpNull);
4429 #line 4430 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4433 #line 478 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4436 (yyval.interm).intermNode = 0;
4437 (yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type));
4439 #line 4440 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4443 #line 486 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4445 parseContext.variableCheck((yyvsp[0].interm.intermTypedNode));
4446 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4447 if (TIntermMethod* method = (yyvsp[0].interm.intermTypedNode)->getAsMethodNode())
4448 parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "incomplete method syntax", method->getMethodName().c_str(), "");
4450 #line 4451 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4454 #line 492 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4456 parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "++", (yyvsp[0].interm.intermTypedNode));
4457 (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "++", EOpPreIncrement, (yyvsp[0].interm.intermTypedNode));
4459 #line 4460 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4463 #line 496 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4465 parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "--", (yyvsp[0].interm.intermTypedNode));
4466 (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "--", EOpPreDecrement, (yyvsp[0].interm.intermTypedNode));
4468 #line 4469 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4472 #line 500 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4474 if ((yyvsp[-1].interm).op != EOpNull) {
4475 char errorOp[2] = {0, 0};
4476 switch((yyvsp[-1].interm).op) {
4477 case EOpNegative: errorOp[0] = '-'; break;
4478 case EOpLogicalNot: errorOp[0] = '!'; break;
4479 case EOpBitwiseNot: errorOp[0] = '~'; break;
4480 default: break; // some compilers want this
4482 (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].interm).loc, errorOp, (yyvsp[-1].interm).op, (yyvsp[0].interm.intermTypedNode));
4484 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4485 if ((yyval.interm.intermTypedNode)->getAsConstantUnion())
4486 (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();
4489 #line 4490 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4493 #line 520 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4494 { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNull; }
4495 #line 4496 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4499 #line 521 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4500 { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNegative; }
4501 #line 4502 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4505 #line 522 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4506 { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLogicalNot; }
4507 #line 4508 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4511 #line 523 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4512 { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpBitwiseNot;
4513 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise not"); }
4514 #line 4515 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4518 #line 529 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4519 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4520 #line 4521 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4524 #line 530 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4526 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "*", EOpMul, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4527 if ((yyval.interm.intermTypedNode) == 0)
4528 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4530 #line 4531 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4534 #line 535 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4536 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "/", EOpDiv, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4537 if ((yyval.interm.intermTypedNode) == 0)
4538 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4540 #line 4541 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4544 #line 540 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4546 parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "%");
4547 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "%", EOpMod, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4548 if ((yyval.interm.intermTypedNode) == 0)
4549 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4551 #line 4552 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4555 #line 549 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4556 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4557 #line 4558 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4561 #line 550 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4563 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "+", EOpAdd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4564 if ((yyval.interm.intermTypedNode) == 0)
4565 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4567 #line 4568 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4571 #line 555 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4573 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "-", EOpSub, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4574 if ((yyval.interm.intermTypedNode) == 0)
4575 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4577 #line 4578 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4581 #line 563 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4582 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4583 #line 4584 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4587 #line 564 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4589 parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bit shift left");
4590 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<<", EOpLeftShift, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4591 if ((yyval.interm.intermTypedNode) == 0)
4592 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4594 #line 4595 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4598 #line 570 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4600 parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bit shift right");
4601 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">>", EOpRightShift, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4602 if ((yyval.interm.intermTypedNode) == 0)
4603 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4605 #line 4606 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4609 #line 579 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4610 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4611 #line 4612 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4615 #line 580 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4617 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<", EOpLessThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4618 if ((yyval.interm.intermTypedNode) == 0)
4619 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4621 #line 4622 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4625 #line 585 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4627 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">", EOpGreaterThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4628 if ((yyval.interm.intermTypedNode) == 0)
4629 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4631 #line 4632 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4635 #line 590 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4637 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<=", EOpLessThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4638 if ((yyval.interm.intermTypedNode) == 0)
4639 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4641 #line 4642 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4645 #line 595 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4647 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">=", EOpGreaterThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4648 if ((yyval.interm.intermTypedNode) == 0)
4649 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4651 #line 4652 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4655 #line 603 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4656 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4657 #line 4658 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4661 #line 604 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4663 parseContext.arrayObjectCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array comparison");
4664 parseContext.opaqueCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "==");
4665 parseContext.specializationCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "==");
4666 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "==", EOpEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4667 if ((yyval.interm.intermTypedNode) == 0)
4668 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4670 #line 4671 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4674 #line 612 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4676 parseContext.arrayObjectCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array comparison");
4677 parseContext.opaqueCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "!=");
4678 parseContext.specializationCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "!=");
4679 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "!=", EOpNotEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4680 if ((yyval.interm.intermTypedNode) == 0)
4681 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4683 #line 4684 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4687 #line 623 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4688 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4689 #line 4690 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4693 #line 624 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4695 parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise and");
4696 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "&", EOpAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4697 if ((yyval.interm.intermTypedNode) == 0)
4698 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4700 #line 4701 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4704 #line 633 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4705 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4706 #line 4707 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4710 #line 634 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4712 parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise exclusive or");
4713 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "^", EOpExclusiveOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4714 if ((yyval.interm.intermTypedNode) == 0)
4715 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4717 #line 4718 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4721 #line 643 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4722 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4723 #line 4724 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4727 #line 644 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4729 parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise inclusive or");
4730 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "|", EOpInclusiveOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4731 if ((yyval.interm.intermTypedNode) == 0)
4732 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4734 #line 4735 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4738 #line 653 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4739 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4740 #line 4741 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4744 #line 654 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4746 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "&&", EOpLogicalAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4747 if ((yyval.interm.intermTypedNode) == 0)
4748 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4750 #line 4751 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4754 #line 662 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4755 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4756 #line 4757 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4760 #line 663 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4762 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "^^", EOpLogicalXor, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4763 if ((yyval.interm.intermTypedNode) == 0)
4764 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4766 #line 4767 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4770 #line 671 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4771 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4772 #line 4773 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4776 #line 672 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4778 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "||", EOpLogicalOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4779 if ((yyval.interm.intermTypedNode) == 0)
4780 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4782 #line 4783 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4786 #line 680 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4787 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4788 #line 4789 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4792 #line 681 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4794 ++parseContext.controlFlowNestingLevel;
4796 #line 4797 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4800 #line 684 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4802 --parseContext.controlFlowNestingLevel;
4803 parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-5].interm.intermTypedNode));
4804 parseContext.rValueErrorCheck((yyvsp[-4].lex).loc, "?", (yyvsp[-5].interm.intermTypedNode));
4805 parseContext.rValueErrorCheck((yyvsp[-1].lex).loc, ":", (yyvsp[-2].interm.intermTypedNode));
4806 parseContext.rValueErrorCheck((yyvsp[-1].lex).loc, ":", (yyvsp[0].interm.intermTypedNode));
4807 (yyval.interm.intermTypedNode) = parseContext.intermediate.addSelection((yyvsp[-5].interm.intermTypedNode), (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yyvsp[-4].lex).loc);
4808 if ((yyval.interm.intermTypedNode) == 0) {
4809 parseContext.binaryOpError((yyvsp[-4].lex).loc, ":", (yyvsp[-2].interm.intermTypedNode)->getCompleteString(), (yyvsp[0].interm.intermTypedNode)->getCompleteString());
4810 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4813 #line 4814 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4817 #line 699 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4818 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4819 #line 4820 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4823 #line 700 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4825 parseContext.arrayObjectCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array assignment");
4826 parseContext.opaqueCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=");
4827 parseContext.storage16BitAssignmentCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=");
4828 parseContext.specializationCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=");
4829 parseContext.lValueErrorCheck((yyvsp[-1].interm).loc, "assign", (yyvsp[-2].interm.intermTypedNode));
4830 parseContext.rValueErrorCheck((yyvsp[-1].interm).loc, "assign", (yyvsp[0].interm.intermTypedNode));
4831 (yyval.interm.intermTypedNode) = parseContext.intermediate.addAssign((yyvsp[-1].interm).op, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].interm).loc);
4832 if ((yyval.interm.intermTypedNode) == 0) {
4833 parseContext.assignError((yyvsp[-1].interm).loc, "assign", (yyvsp[-2].interm.intermTypedNode)->getCompleteString(), (yyvsp[0].interm.intermTypedNode)->getCompleteString());
4834 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4837 #line 4838 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4841 #line 716 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4843 (yyval.interm).loc = (yyvsp[0].lex).loc;
4844 (yyval.interm).op = EOpAssign;
4846 #line 4847 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4850 #line 720 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4852 (yyval.interm).loc = (yyvsp[0].lex).loc;
4853 (yyval.interm).op = EOpMulAssign;
4855 #line 4856 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4859 #line 724 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4861 (yyval.interm).loc = (yyvsp[0].lex).loc;
4862 (yyval.interm).op = EOpDivAssign;
4864 #line 4865 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4868 #line 728 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4870 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "%=");
4871 (yyval.interm).loc = (yyvsp[0].lex).loc;
4872 (yyval.interm).op = EOpModAssign;
4874 #line 4875 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4878 #line 733 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4880 (yyval.interm).loc = (yyvsp[0].lex).loc;
4881 (yyval.interm).op = EOpAddAssign;
4883 #line 4884 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4887 #line 737 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4889 (yyval.interm).loc = (yyvsp[0].lex).loc;
4890 (yyval.interm).op = EOpSubAssign;
4892 #line 4893 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4896 #line 741 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4898 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift left assign");
4899 (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLeftShiftAssign;
4901 #line 4902 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4905 #line 745 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4907 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift right assign");
4908 (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpRightShiftAssign;
4910 #line 4911 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4914 #line 749 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4916 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-and assign");
4917 (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAndAssign;
4919 #line 4920 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4923 #line 753 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4925 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-xor assign");
4926 (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpExclusiveOrAssign;
4928 #line 4929 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4932 #line 757 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4934 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-or assign");
4935 (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpInclusiveOrAssign;
4937 #line 4938 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4941 #line 764 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4943 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4945 #line 4946 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4949 #line 767 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4951 parseContext.samplerConstructorLocationCheck((yyvsp[-1].lex).loc, ",", (yyvsp[0].interm.intermTypedNode));
4952 (yyval.interm.intermTypedNode) = parseContext.intermediate.addComma((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc);
4953 if ((yyval.interm.intermTypedNode) == 0) {
4954 parseContext.binaryOpError((yyvsp[-1].lex).loc, ",", (yyvsp[-2].interm.intermTypedNode)->getCompleteString(), (yyvsp[0].interm.intermTypedNode)->getCompleteString());
4955 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4958 #line 4959 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4962 #line 778 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4964 parseContext.constantValueCheck((yyvsp[0].interm.intermTypedNode), "");
4965 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4967 #line 4968 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4971 #line 785 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4973 parseContext.handleFunctionDeclarator((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).function, true /* prototype */);
4974 (yyval.interm.intermNode) = 0;
4975 // TODO: 4.0 functionality: subroutines: make the identifier a user type for this signature
4977 #line 4978 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4981 #line 790 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4983 if ((yyvsp[-1].interm).intermNode && (yyvsp[-1].interm).intermNode->getAsAggregate())
4984 (yyvsp[-1].interm).intermNode->getAsAggregate()->setOperator(EOpSequence);
4985 (yyval.interm.intermNode) = (yyvsp[-1].interm).intermNode;
4987 #line 4988 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4991 #line 795 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4993 parseContext.profileRequires((yyvsp[-3].lex).loc, ENoProfile, 130, 0, "precision statement");
4995 // lazy setting of the previous scope's defaults, has effect only the first time it is called in a particular scope
4996 parseContext.symbolTable.setPreviousDefaultPrecisions(&parseContext.defaultPrecision[0]);
4997 parseContext.setDefaultPrecision((yyvsp[-3].lex).loc, (yyvsp[-1].interm.type), (yyvsp[-2].interm.type).qualifier.precision);
4998 (yyval.interm.intermNode) = 0;
5000 #line 5001 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5004 #line 803 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5006 parseContext.declareBlock((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).typeList);
5007 (yyval.interm.intermNode) = 0;
5009 #line 5010 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5013 #line 807 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5015 parseContext.declareBlock((yyvsp[-2].interm).loc, *(yyvsp[-2].interm).typeList, (yyvsp[-1].lex).string);
5016 (yyval.interm.intermNode) = 0;
5018 #line 5019 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5022 #line 811 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5024 parseContext.declareBlock((yyvsp[-3].interm).loc, *(yyvsp[-3].interm).typeList, (yyvsp[-2].lex).string, (yyvsp[-1].interm).arraySizes);
5025 (yyval.interm.intermNode) = 0;
5027 #line 5028 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5031 #line 815 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5033 parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier);
5034 parseContext.updateStandaloneQualifierDefaults((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type));
5035 (yyval.interm.intermNode) = 0;
5037 #line 5038 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5041 #line 820 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5043 parseContext.checkNoShaderLayouts((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).shaderQualifiers);
5044 parseContext.addQualifierToExisting((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).qualifier, *(yyvsp[-1].lex).string);
5045 (yyval.interm.intermNode) = 0;
5047 #line 5048 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5051 #line 825 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5053 parseContext.checkNoShaderLayouts((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).shaderQualifiers);
5054 (yyvsp[-1].interm.identifierList)->push_back((yyvsp[-2].lex).string);
5055 parseContext.addQualifierToExisting((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).qualifier, *(yyvsp[-1].interm.identifierList));
5056 (yyval.interm.intermNode) = 0;
5058 #line 5059 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5062 #line 834 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5063 { parseContext.nestedBlockCheck((yyvsp[-2].interm.type).loc); }
5064 #line 5065 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5068 #line 834 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5070 --parseContext.structNestingLevel;
5071 parseContext.blockName = (yyvsp[-4].lex).string;
5072 parseContext.globalQualifierFixCheck((yyvsp[-5].interm.type).loc, (yyvsp[-5].interm.type).qualifier);
5073 parseContext.checkNoShaderLayouts((yyvsp[-5].interm.type).loc, (yyvsp[-5].interm.type).shaderQualifiers);
5074 parseContext.currentBlockQualifier = (yyvsp[-5].interm.type).qualifier;
5075 (yyval.interm).loc = (yyvsp[-5].interm.type).loc;
5076 (yyval.interm).typeList = (yyvsp[-1].interm.typeList);
5078 #line 5079 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5082 #line 845 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5084 (yyval.interm.identifierList) = new TIdentifierList;
5085 (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
5087 #line 5088 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5091 #line 849 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5093 (yyval.interm.identifierList) = (yyvsp[-2].interm.identifierList);
5094 (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
5096 #line 5097 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5100 #line 856 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5102 (yyval.interm).function = (yyvsp[-1].interm.function);
5103 (yyval.interm).loc = (yyvsp[0].lex).loc;
5105 #line 5106 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5109 #line 863 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5111 (yyval.interm.function) = (yyvsp[0].interm.function);
5113 #line 5114 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5117 #line 866 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5119 (yyval.interm.function) = (yyvsp[0].interm.function);
5121 #line 5122 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5125 #line 873 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5127 // Add the parameter
5128 (yyval.interm.function) = (yyvsp[-1].interm.function);
5129 if ((yyvsp[0].interm).param.type->getBasicType() != EbtVoid)
5130 (yyvsp[-1].interm.function)->addParameter((yyvsp[0].interm).param);
5132 delete (yyvsp[0].interm).param.type;
5134 #line 5135 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5138 #line 881 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5141 // Only first parameter of one-parameter functions can be void
5142 // The check for named parameters not being void is done in parameter_declarator
5144 if ((yyvsp[0].interm).param.type->getBasicType() == EbtVoid) {
5146 // This parameter > first is void
5148 parseContext.error((yyvsp[-1].lex).loc, "cannot be an argument type except for '(void)'", "void", "");
5149 delete (yyvsp[0].interm).param.type;
5151 // Add the parameter
5152 (yyval.interm.function) = (yyvsp[-2].interm.function);
5153 (yyvsp[-2].interm.function)->addParameter((yyvsp[0].interm).param);
5156 #line 5157 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5160 #line 901 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5162 if ((yyvsp[-2].interm.type).qualifier.storage != EvqGlobal && (yyvsp[-2].interm.type).qualifier.storage != EvqTemporary) {
5163 parseContext.error((yyvsp[-1].lex).loc, "no qualifiers allowed for function return",
5164 GetStorageQualifierString((yyvsp[-2].interm.type).qualifier.storage), "");
5166 if ((yyvsp[-2].interm.type).arraySizes)
5167 parseContext.arraySizeRequiredCheck((yyvsp[-2].interm.type).loc, *(yyvsp[-2].interm.type).arraySizes);
5169 // Add the function as a prototype after parsing it (we do not support recursion)
5170 TFunction *function;
5171 TType type((yyvsp[-2].interm.type));
5173 // Potentially rename shader entry point function. No-op most of the time.
5174 parseContext.renameShaderFunction((yyvsp[-1].lex).string);
5176 // Make the function
5177 function = new TFunction((yyvsp[-1].lex).string, type);
5178 (yyval.interm.function) = function;
5180 #line 5181 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5184 #line 924 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5186 if ((yyvsp[-1].interm.type).arraySizes) {
5187 parseContext.profileRequires((yyvsp[-1].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
5188 parseContext.profileRequires((yyvsp[-1].interm.type).loc, EEsProfile, 300, 0, "arrayed type");
5189 parseContext.arraySizeRequiredCheck((yyvsp[-1].interm.type).loc, *(yyvsp[-1].interm.type).arraySizes);
5191 if ((yyvsp[-1].interm.type).basicType == EbtVoid) {
5192 parseContext.error((yyvsp[0].lex).loc, "illegal use of type 'void'", (yyvsp[0].lex).string->c_str(), "");
5194 parseContext.reservedErrorCheck((yyvsp[0].lex).loc, *(yyvsp[0].lex).string);
5196 TParameter param = {(yyvsp[0].lex).string, new TType((yyvsp[-1].interm.type))};
5197 (yyval.interm).loc = (yyvsp[0].lex).loc;
5198 (yyval.interm).param = param;
5200 #line 5201 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5204 #line 939 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5206 if ((yyvsp[-2].interm.type).arraySizes) {
5207 parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
5208 parseContext.profileRequires((yyvsp[-2].interm.type).loc, EEsProfile, 300, 0, "arrayed type");
5209 parseContext.arraySizeRequiredCheck((yyvsp[-2].interm.type).loc, *(yyvsp[-2].interm.type).arraySizes);
5211 TType* type = new TType((yyvsp[-2].interm.type));
5212 type->transferArraySizes((yyvsp[0].interm).arraySizes);
5213 type->copyArrayInnerSizes((yyvsp[-2].interm.type).arraySizes);
5215 parseContext.arrayOfArrayVersionCheck((yyvsp[-1].lex).loc, type->getArraySizes());
5216 parseContext.arraySizeRequiredCheck((yyvsp[0].interm).loc, *(yyvsp[0].interm).arraySizes);
5217 parseContext.reservedErrorCheck((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string);
5219 TParameter param = { (yyvsp[-1].lex).string, type };
5221 (yyval.interm).loc = (yyvsp[-1].lex).loc;
5222 (yyval.interm).param = param;
5224 #line 5225 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5228 #line 964 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5230 (yyval.interm) = (yyvsp[0].interm);
5231 if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
5232 (yyval.interm).param.type->getQualifier().precision = (yyvsp[-1].interm.type).qualifier.precision;
5233 parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
5235 parseContext.checkNoShaderLayouts((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).shaderQualifiers);
5236 parseContext.parameterTypeCheck((yyvsp[0].interm).loc, (yyvsp[-1].interm.type).qualifier.storage, *(yyval.interm).param.type);
5237 parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type);
5240 #line 5241 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5244 #line 975 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5246 (yyval.interm) = (yyvsp[0].interm);
5248 parseContext.parameterTypeCheck((yyvsp[0].interm).loc, EvqIn, *(yyvsp[0].interm).param.type);
5249 parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type);
5250 parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
5252 #line 5253 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5256 #line 985 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5258 (yyval.interm) = (yyvsp[0].interm);
5259 if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
5260 (yyval.interm).param.type->getQualifier().precision = (yyvsp[-1].interm.type).qualifier.precision;
5261 parseContext.precisionQualifierCheck((yyvsp[-1].interm.type).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
5263 parseContext.checkNoShaderLayouts((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).shaderQualifiers);
5264 parseContext.parameterTypeCheck((yyvsp[0].interm).loc, (yyvsp[-1].interm.type).qualifier.storage, *(yyval.interm).param.type);
5265 parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type);
5267 #line 5268 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5271 #line 995 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5273 (yyval.interm) = (yyvsp[0].interm);
5275 parseContext.parameterTypeCheck((yyvsp[0].interm).loc, EvqIn, *(yyvsp[0].interm).param.type);
5276 parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type);
5277 parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
5279 #line 5280 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5283 #line 1005 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5285 TParameter param = { 0, new TType((yyvsp[0].interm.type)) };
5286 (yyval.interm).param = param;
5287 if ((yyvsp[0].interm.type).arraySizes)
5288 parseContext.arraySizeRequiredCheck((yyvsp[0].interm.type).loc, *(yyvsp[0].interm.type).arraySizes);
5290 #line 5291 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5294 #line 1014 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5296 (yyval.interm) = (yyvsp[0].interm);
5298 #line 5299 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5302 #line 1017 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5304 (yyval.interm) = (yyvsp[-2].interm);
5305 parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-2].interm).type);
5307 #line 5308 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5311 #line 1021 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5313 (yyval.interm) = (yyvsp[-3].interm);
5314 parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-3].interm).type, (yyvsp[0].interm).arraySizes);
5316 #line 5317 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5320 #line 1025 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5322 (yyval.interm).type = (yyvsp[-5].interm).type;
5323 TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-5].interm).type, (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode));
5324 (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-5].interm).intermNode, initNode, (yyvsp[-1].lex).loc);
5326 #line 5327 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5330 #line 1030 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5332 (yyval.interm).type = (yyvsp[-4].interm).type;
5333 TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-4].interm).type, 0, (yyvsp[0].interm.intermTypedNode));
5334 (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-4].interm).intermNode, initNode, (yyvsp[-1].lex).loc);
5336 #line 5337 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5340 #line 1038 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5342 (yyval.interm).type = (yyvsp[0].interm.type);
5343 (yyval.interm).intermNode = 0;
5344 parseContext.declareTypeDefaults((yyval.interm).loc, (yyval.interm).type);
5346 #line 5347 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5350 #line 1043 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5352 (yyval.interm).type = (yyvsp[-1].interm.type);
5353 (yyval.interm).intermNode = 0;
5354 parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-1].interm.type));
5356 #line 5357 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5360 #line 1048 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5362 (yyval.interm).type = (yyvsp[-2].interm.type);
5363 (yyval.interm).intermNode = 0;
5364 parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-2].interm.type), (yyvsp[0].interm).arraySizes);
5366 #line 5367 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5370 #line 1053 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5372 (yyval.interm).type = (yyvsp[-4].interm.type);
5373 TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-4].interm.type), (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode));
5374 (yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc);
5376 #line 5377 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5380 #line 1058 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5382 (yyval.interm).type = (yyvsp[-3].interm.type);
5383 TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-3].interm.type), 0, (yyvsp[0].interm.intermTypedNode));
5384 (yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc);
5386 #line 5387 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5390 #line 1067 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5392 (yyval.interm.type) = (yyvsp[0].interm.type);
5394 parseContext.globalQualifierTypeCheck((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier, (yyval.interm.type));
5395 if ((yyvsp[0].interm.type).arraySizes) {
5396 parseContext.profileRequires((yyvsp[0].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
5397 parseContext.profileRequires((yyvsp[0].interm.type).loc, EEsProfile, 300, 0, "arrayed type");
5400 parseContext.precisionQualifierCheck((yyval.interm.type).loc, (yyval.interm.type).basicType, (yyval.interm.type).qualifier);
5402 #line 5403 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5406 #line 1078 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5408 parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier);
5409 parseContext.globalQualifierTypeCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, (yyvsp[0].interm.type));
5411 if ((yyvsp[0].interm.type).arraySizes) {
5412 parseContext.profileRequires((yyvsp[0].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
5413 parseContext.profileRequires((yyvsp[0].interm.type).loc, EEsProfile, 300, 0, "arrayed type");
5416 if ((yyvsp[0].interm.type).arraySizes && parseContext.arrayQualifierError((yyvsp[0].interm.type).loc, (yyvsp[-1].interm.type).qualifier))
5417 (yyvsp[0].interm.type).arraySizes = nullptr;
5419 parseContext.checkNoShaderLayouts((yyvsp[0].interm.type).loc, (yyvsp[-1].interm.type).shaderQualifiers);
5420 (yyvsp[0].interm.type).shaderQualifiers.merge((yyvsp[-1].interm.type).shaderQualifiers);
5421 parseContext.mergeQualifiers((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier, (yyvsp[-1].interm.type).qualifier, true);
5422 parseContext.precisionQualifierCheck((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).basicType, (yyvsp[0].interm.type).qualifier);
5424 (yyval.interm.type) = (yyvsp[0].interm.type);
5426 if (! (yyval.interm.type).qualifier.isInterpolation() &&
5427 ((parseContext.language == EShLangVertex && (yyval.interm.type).qualifier.storage == EvqVaryingOut) ||
5428 (parseContext.language == EShLangFragment && (yyval.interm.type).qualifier.storage == EvqVaryingIn)))
5429 (yyval.interm.type).qualifier.smooth = true;
5431 #line 5432 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5435 #line 1105 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5437 parseContext.globalCheck((yyvsp[0].lex).loc, "invariant");
5438 parseContext.profileRequires((yyval.interm.type).loc, ENoProfile, 120, 0, "invariant");
5439 (yyval.interm.type).init((yyvsp[0].lex).loc);
5440 (yyval.interm.type).qualifier.invariant = true;
5442 #line 5443 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5446 #line 1114 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5448 parseContext.globalCheck((yyvsp[0].lex).loc, "smooth");
5449 parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "smooth");
5450 parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "smooth");
5451 (yyval.interm.type).init((yyvsp[0].lex).loc);
5452 (yyval.interm.type).qualifier.smooth = true;
5454 #line 5455 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5458 #line 1121 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5460 parseContext.globalCheck((yyvsp[0].lex).loc, "flat");
5461 parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "flat");
5462 parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "flat");
5463 (yyval.interm.type).init((yyvsp[0].lex).loc);
5464 (yyval.interm.type).qualifier.flat = true;
5466 #line 5467 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5470 #line 1128 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5472 parseContext.globalCheck((yyvsp[0].lex).loc, "noperspective");
5473 #ifdef NV_EXTENSIONS
5474 parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 0, E_GL_NV_shader_noperspective_interpolation, "noperspective");
5476 parseContext.requireProfile((yyvsp[0].lex).loc, ~EEsProfile, "noperspective");
5478 parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "noperspective");
5479 (yyval.interm.type).init((yyvsp[0].lex).loc);
5480 (yyval.interm.type).qualifier.nopersp = true;
5482 #line 5483 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5486 #line 1139 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5488 #ifdef AMD_EXTENSIONS
5489 parseContext.globalCheck((yyvsp[0].lex).loc, "__explicitInterpAMD");
5490 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 450, E_GL_AMD_shader_explicit_vertex_parameter, "explicit interpolation");
5491 parseContext.profileRequires((yyvsp[0].lex).loc, ECompatibilityProfile, 450, E_GL_AMD_shader_explicit_vertex_parameter, "explicit interpolation");
5492 (yyval.interm.type).init((yyvsp[0].lex).loc);
5493 (yyval.interm.type).qualifier.explicitInterp = true;
5496 #line 5497 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5500 #line 1148 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5502 #ifdef NV_EXTENSIONS
5503 parseContext.globalCheck((yyvsp[0].lex).loc, "pervertexNV");
5504 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric");
5505 parseContext.profileRequires((yyvsp[0].lex).loc, ECompatibilityProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric");
5506 parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric");
5507 (yyval.interm.type).init((yyvsp[0].lex).loc);
5508 (yyval.interm.type).qualifier.pervertexNV = true;
5511 #line 5512 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5515 #line 1158 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5517 #ifdef NV_EXTENSIONS
5518 // No need for profile version or extension check. Shader stage already checks both.
5519 parseContext.globalCheck((yyvsp[0].lex).loc, "perprimitiveNV");
5520 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangFragmentMask | EShLangMeshNVMask), "perprimitiveNV");
5521 // Fragment shader stage doesn't check for extension. So we explicitly add below extension check.
5522 if (parseContext.language == EShLangFragment)
5523 parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_NV_mesh_shader, "perprimitiveNV");
5524 (yyval.interm.type).init((yyvsp[0].lex).loc);
5525 (yyval.interm.type).qualifier.perPrimitiveNV = true;
5528 #line 5529 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5532 #line 1170 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5534 #ifdef NV_EXTENSIONS
5535 // No need for profile version or extension check. Shader stage already checks both.
5536 parseContext.globalCheck((yyvsp[0].lex).loc, "perviewNV");
5537 parseContext.requireStage((yyvsp[0].lex).loc, EShLangMeshNV, "perviewNV");
5538 (yyval.interm.type).init((yyvsp[0].lex).loc);
5539 (yyval.interm.type).qualifier.perViewNV = true;
5542 #line 5543 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5546 #line 1179 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5548 #ifdef NV_EXTENSIONS
5549 // No need for profile version or extension check. Shader stage already checks both.
5550 parseContext.globalCheck((yyvsp[0].lex).loc, "taskNV");
5551 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangTaskNVMask | EShLangMeshNVMask), "taskNV");
5552 (yyval.interm.type).init((yyvsp[0].lex).loc);
5553 (yyval.interm.type).qualifier.perTaskNV = true;
5556 #line 5557 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5560 #line 1191 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5562 (yyval.interm.type) = (yyvsp[-1].interm.type);
5564 #line 5565 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5568 #line 1197 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5570 (yyval.interm.type) = (yyvsp[0].interm.type);
5572 #line 5573 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5576 #line 1200 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5578 (yyval.interm.type) = (yyvsp[-2].interm.type);
5579 (yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers);
5580 parseContext.mergeObjectLayoutQualifiers((yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false);
5582 #line 5583 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5586 #line 1207 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5588 (yyval.interm.type).init((yyvsp[0].lex).loc);
5589 parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), *(yyvsp[0].lex).string);
5591 #line 5592 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5595 #line 1211 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5597 (yyval.interm.type).init((yyvsp[-2].lex).loc);
5598 parseContext.setLayoutQualifier((yyvsp[-2].lex).loc, (yyval.interm.type), *(yyvsp[-2].lex).string, (yyvsp[0].interm.intermTypedNode));
5600 #line 5601 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5604 #line 1215 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5605 { // because "shared" is both an identifier and a keyword
5606 (yyval.interm.type).init((yyvsp[0].lex).loc);
5607 TString strShared("shared");
5608 parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), strShared);
5610 #line 5611 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5614 #line 1223 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5616 parseContext.profileRequires((yyval.interm.type).loc, ECoreProfile | ECompatibilityProfile, 400, E_GL_ARB_gpu_shader5, "precise");
5617 parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5, "precise");
5618 (yyval.interm.type).init((yyvsp[0].lex).loc);
5619 (yyval.interm.type).qualifier.noContraction = true;
5621 #line 5622 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5625 #line 1232 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5627 (yyval.interm.type) = (yyvsp[0].interm.type);
5629 #line 5630 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5633 #line 1235 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5635 (yyval.interm.type) = (yyvsp[-1].interm.type);
5636 if ((yyval.interm.type).basicType == EbtVoid)
5637 (yyval.interm.type).basicType = (yyvsp[0].interm.type).basicType;
5639 (yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers);
5640 parseContext.mergeQualifiers((yyval.interm.type).loc, (yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false);
5642 #line 5643 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5646 #line 1246 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5648 (yyval.interm.type) = (yyvsp[0].interm.type);
5650 #line 5651 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5654 #line 1249 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5656 (yyval.interm.type) = (yyvsp[0].interm.type);
5658 #line 5659 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5662 #line 1252 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5664 parseContext.checkPrecisionQualifier((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier.precision);
5665 (yyval.interm.type) = (yyvsp[0].interm.type);
5667 #line 5668 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5671 #line 1256 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5673 // allow inheritance of storage qualifier from block declaration
5674 (yyval.interm.type) = (yyvsp[0].interm.type);
5676 #line 5677 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5680 #line 1260 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5682 // allow inheritance of storage qualifier from block declaration
5683 (yyval.interm.type) = (yyvsp[0].interm.type);
5685 #line 5686 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5689 #line 1264 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5691 // allow inheritance of storage qualifier from block declaration
5692 (yyval.interm.type) = (yyvsp[0].interm.type);
5694 #line 5695 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5698 #line 1268 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5700 (yyval.interm.type) = (yyvsp[0].interm.type);
5702 #line 5703 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5706 #line 1274 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5708 (yyval.interm.type).init((yyvsp[0].lex).loc);
5709 (yyval.interm.type).qualifier.storage = EvqConst; // will later turn into EvqConstReadOnly, if the initializer is not constant
5711 #line 5712 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5715 #line 1278 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5717 parseContext.requireStage((yyvsp[0].lex).loc, EShLangVertex, "attribute");
5718 parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "attribute");
5719 parseContext.checkDeprecated((yyvsp[0].lex).loc, ENoProfile, 130, "attribute");
5720 parseContext.requireNotRemoved((yyvsp[0].lex).loc, ECoreProfile, 420, "attribute");
5721 parseContext.requireNotRemoved((yyvsp[0].lex).loc, EEsProfile, 300, "attribute");
5723 parseContext.globalCheck((yyvsp[0].lex).loc, "attribute");
5725 (yyval.interm.type).init((yyvsp[0].lex).loc);
5726 (yyval.interm.type).qualifier.storage = EvqVaryingIn;
5728 #line 5729 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5732 #line 1290 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5734 parseContext.checkDeprecated((yyvsp[0].lex).loc, ENoProfile, 130, "varying");
5735 parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "varying");
5736 parseContext.requireNotRemoved((yyvsp[0].lex).loc, ECoreProfile, 420, "varying");
5737 parseContext.requireNotRemoved((yyvsp[0].lex).loc, EEsProfile, 300, "varying");
5739 parseContext.globalCheck((yyvsp[0].lex).loc, "varying");
5741 (yyval.interm.type).init((yyvsp[0].lex).loc);
5742 if (parseContext.language == EShLangVertex)
5743 (yyval.interm.type).qualifier.storage = EvqVaryingOut;
5745 (yyval.interm.type).qualifier.storage = EvqVaryingIn;
5747 #line 5748 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5751 #line 1304 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5753 parseContext.globalCheck((yyvsp[0].lex).loc, "inout");
5754 (yyval.interm.type).init((yyvsp[0].lex).loc);
5755 (yyval.interm.type).qualifier.storage = EvqInOut;
5757 #line 5758 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5761 #line 1309 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5763 parseContext.globalCheck((yyvsp[0].lex).loc, "in");
5764 (yyval.interm.type).init((yyvsp[0].lex).loc);
5765 // whether this is a parameter "in" or a pipeline "in" will get sorted out a bit later
5766 (yyval.interm.type).qualifier.storage = EvqIn;
5768 #line 5769 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5772 #line 1315 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5774 parseContext.globalCheck((yyvsp[0].lex).loc, "out");
5775 (yyval.interm.type).init((yyvsp[0].lex).loc);
5776 // whether this is a parameter "out" or a pipeline "out" will get sorted out a bit later
5777 (yyval.interm.type).qualifier.storage = EvqOut;
5779 #line 5780 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5783 #line 1321 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5785 parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 120, 0, "centroid");
5786 parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "centroid");
5787 parseContext.globalCheck((yyvsp[0].lex).loc, "centroid");
5788 (yyval.interm.type).init((yyvsp[0].lex).loc);
5789 (yyval.interm.type).qualifier.centroid = true;
5791 #line 5792 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5795 #line 1328 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5797 parseContext.globalCheck((yyvsp[0].lex).loc, "patch");
5798 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangTessControlMask | EShLangTessEvaluationMask), "patch");
5799 (yyval.interm.type).init((yyvsp[0].lex).loc);
5800 (yyval.interm.type).qualifier.patch = true;
5802 #line 5803 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5806 #line 1334 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5808 parseContext.globalCheck((yyvsp[0].lex).loc, "sample");
5809 (yyval.interm.type).init((yyvsp[0].lex).loc);
5810 (yyval.interm.type).qualifier.sample = true;
5812 #line 5813 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5816 #line 1339 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5818 parseContext.globalCheck((yyvsp[0].lex).loc, "uniform");
5819 (yyval.interm.type).init((yyvsp[0].lex).loc);
5820 (yyval.interm.type).qualifier.storage = EvqUniform;
5822 #line 5823 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5826 #line 1344 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5828 parseContext.globalCheck((yyvsp[0].lex).loc, "buffer");
5829 (yyval.interm.type).init((yyvsp[0].lex).loc);
5830 (yyval.interm.type).qualifier.storage = EvqBuffer;
5832 #line 5833 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5836 #line 1349 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5838 #ifdef NV_EXTENSIONS
5839 parseContext.globalCheck((yyvsp[0].lex).loc, "hitAttributeNVX");
5840 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangIntersectNVMask | EShLangClosestHitNVMask
5841 | EShLangAnyHitNVMask), "hitAttributeNVX");
5842 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 450, E_GL_NVX_raytracing, "hitAttributeNVX");
5843 (yyval.interm.type).init((yyvsp[0].lex).loc);
5844 (yyval.interm.type).qualifier.storage = EvqHitAttrNV;
5847 #line 5848 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5851 #line 1359 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5853 #ifdef NV_EXTENSIONS
5854 parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadNVX");
5855 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenNVMask | EShLangClosestHitNVMask |
5856 EShLangAnyHitNVMask | EShLangMissNVMask), "rayPayloadNVX");
5857 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 450, E_GL_NVX_raytracing, "rayPayloadNVX");
5858 (yyval.interm.type).init((yyvsp[0].lex).loc);
5859 (yyval.interm.type).qualifier.storage = EvqPayloadNV;
5862 #line 5863 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5866 #line 1369 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5868 #ifdef NV_EXTENSIONS
5869 parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadInNVX");
5870 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangClosestHitNVMask |
5871 EShLangAnyHitNVMask | EShLangMissNVMask), "rayPayloadInNVX");
5872 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 450, E_GL_NVX_raytracing, "rayPayloadInNVX");
5873 (yyval.interm.type).init((yyvsp[0].lex).loc);
5874 (yyval.interm.type).qualifier.storage = EvqPayloadInNV;
5877 #line 5878 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5881 #line 1379 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5883 parseContext.globalCheck((yyvsp[0].lex).loc, "shared");
5884 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, 430, E_GL_ARB_compute_shader, "shared");
5885 parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 310, 0, "shared");
5886 #ifdef NV_EXTENSIONS
5887 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangComputeMask | EShLangMeshNVMask | EShLangTaskNVMask), "shared");
5889 parseContext.requireStage((yyvsp[0].lex).loc, EShLangCompute, "shared");
5891 (yyval.interm.type).init((yyvsp[0].lex).loc);
5892 (yyval.interm.type).qualifier.storage = EvqShared;
5894 #line 5895 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5898 #line 1391 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5900 (yyval.interm.type).init((yyvsp[0].lex).loc);
5901 (yyval.interm.type).qualifier.coherent = true;
5903 #line 5904 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5907 #line 1395 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5909 (yyval.interm.type).init((yyvsp[0].lex).loc);
5910 parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "devicecoherent");
5911 (yyval.interm.type).qualifier.devicecoherent = true;
5913 #line 5914 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5917 #line 1400 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5919 (yyval.interm.type).init((yyvsp[0].lex).loc);
5920 parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "queuefamilycoherent");
5921 (yyval.interm.type).qualifier.queuefamilycoherent = true;
5923 #line 5924 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5927 #line 1405 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5929 (yyval.interm.type).init((yyvsp[0].lex).loc);
5930 parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "workgroupcoherent");
5931 (yyval.interm.type).qualifier.workgroupcoherent = true;
5933 #line 5934 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5937 #line 1410 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5939 (yyval.interm.type).init((yyvsp[0].lex).loc);
5940 parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "subgroupcoherent");
5941 (yyval.interm.type).qualifier.subgroupcoherent = true;
5943 #line 5944 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5947 #line 1415 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5949 (yyval.interm.type).init((yyvsp[0].lex).loc);
5950 parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "nonprivate");
5951 (yyval.interm.type).qualifier.nonprivate = true;
5953 #line 5954 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5957 #line 1420 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5959 (yyval.interm.type).init((yyvsp[0].lex).loc);
5960 (yyval.interm.type).qualifier.volatil = true;
5962 #line 5963 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5966 #line 1424 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5968 (yyval.interm.type).init((yyvsp[0].lex).loc);
5969 (yyval.interm.type).qualifier.restrict = true;
5971 #line 5972 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5975 #line 1428 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5977 (yyval.interm.type).init((yyvsp[0].lex).loc);
5978 (yyval.interm.type).qualifier.readonly = true;
5980 #line 5981 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5984 #line 1432 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5986 (yyval.interm.type).init((yyvsp[0].lex).loc);
5987 (yyval.interm.type).qualifier.writeonly = true;
5989 #line 5990 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5993 #line 1436 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5995 parseContext.spvRemoved((yyvsp[0].lex).loc, "subroutine");
5996 parseContext.globalCheck((yyvsp[0].lex).loc, "subroutine");
5997 parseContext.unimplemented((yyvsp[0].lex).loc, "subroutine");
5998 (yyval.interm.type).init((yyvsp[0].lex).loc);
6000 #line 6001 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6004 #line 1442 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6006 parseContext.spvRemoved((yyvsp[-3].lex).loc, "subroutine");
6007 parseContext.globalCheck((yyvsp[-3].lex).loc, "subroutine");
6008 parseContext.unimplemented((yyvsp[-3].lex).loc, "subroutine");
6009 (yyval.interm.type).init((yyvsp[-3].lex).loc);
6011 #line 6012 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6015 #line 1451 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6017 (yyval.interm.type).init((yyvsp[0].lex).loc);
6018 (yyval.interm.type).qualifier.nonUniform = true;
6020 #line 6021 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6024 #line 1458 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6028 #line 6029 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6032 #line 1461 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6034 // TODO: 4.0 semantics: subroutines
6035 // 1) make sure each identifier is a type declared earlier with SUBROUTINE
6036 // 2) save all of the identifiers for future comparison with the declared function
6038 #line 6039 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6042 #line 1469 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6044 (yyval.interm.type) = (yyvsp[0].interm.type);
6045 (yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type));
6047 #line 6048 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6051 #line 1473 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6053 parseContext.arrayOfArrayVersionCheck((yyvsp[0].interm).loc, (yyvsp[0].interm).arraySizes);
6054 (yyval.interm.type) = (yyvsp[-1].interm.type);
6055 (yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type));
6056 (yyval.interm.type).arraySizes = (yyvsp[0].interm).arraySizes;
6058 #line 6059 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6062 #line 1482 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6064 (yyval.interm).loc = (yyvsp[-1].lex).loc;
6065 (yyval.interm).arraySizes = new TArraySizes;
6066 (yyval.interm).arraySizes->addInnerSize();
6068 #line 6069 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6072 #line 1487 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6074 (yyval.interm).loc = (yyvsp[-2].lex).loc;
6075 (yyval.interm).arraySizes = new TArraySizes;
6078 parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size);
6079 (yyval.interm).arraySizes->addInnerSize(size);
6081 #line 6082 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6085 #line 1495 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6087 (yyval.interm) = (yyvsp[-2].interm);
6088 (yyval.interm).arraySizes->addInnerSize();
6090 #line 6091 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6094 #line 1499 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6096 (yyval.interm) = (yyvsp[-3].interm);
6099 parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size);
6100 (yyval.interm).arraySizes->addInnerSize(size);
6102 #line 6103 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6106 #line 1509 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6108 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6109 (yyval.interm.type).basicType = EbtVoid;
6111 #line 6112 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6115 #line 1513 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6117 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6118 (yyval.interm.type).basicType = EbtFloat;
6120 #line 6121 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6124 #line 1517 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6126 parseContext.doubleCheck((yyvsp[0].lex).loc, "double");
6127 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6128 (yyval.interm.type).basicType = EbtDouble;
6130 #line 6131 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6134 #line 1522 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6136 parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "float16_t", parseContext.symbolTable.atBuiltInLevel());
6137 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6138 (yyval.interm.type).basicType = EbtFloat16;
6140 #line 6141 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6144 #line 1527 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6146 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t", parseContext.symbolTable.atBuiltInLevel());
6147 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6148 (yyval.interm.type).basicType = EbtFloat;
6150 #line 6151 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6154 #line 1532 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6156 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t", parseContext.symbolTable.atBuiltInLevel());
6157 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6158 (yyval.interm.type).basicType = EbtDouble;
6160 #line 6161 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6164 #line 1537 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6166 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6167 (yyval.interm.type).basicType = EbtInt;
6169 #line 6170 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6173 #line 1541 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6175 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer");
6176 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6177 (yyval.interm.type).basicType = EbtUint;
6179 #line 6180 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6183 #line 1546 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6185 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
6186 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6187 (yyval.interm.type).basicType = EbtInt8;
6189 #line 6190 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6193 #line 1551 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6195 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
6196 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6197 (yyval.interm.type).basicType = EbtUint8;
6199 #line 6200 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6203 #line 1556 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6205 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
6206 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6207 (yyval.interm.type).basicType = EbtInt16;
6209 #line 6210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6213 #line 1561 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6215 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
6216 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6217 (yyval.interm.type).basicType = EbtUint16;
6219 #line 6220 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6223 #line 1566 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6225 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
6226 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6227 (yyval.interm.type).basicType = EbtInt;
6229 #line 6230 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6233 #line 1571 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6235 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
6236 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6237 (yyval.interm.type).basicType = EbtUint;
6239 #line 6240 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6243 #line 1576 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6245 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer", parseContext.symbolTable.atBuiltInLevel());
6246 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6247 (yyval.interm.type).basicType = EbtInt64;
6249 #line 6250 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6253 #line 1581 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6255 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
6256 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6257 (yyval.interm.type).basicType = EbtUint64;
6259 #line 6260 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6263 #line 1586 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6265 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6266 (yyval.interm.type).basicType = EbtBool;
6268 #line 6269 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6272 #line 1590 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6274 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6275 (yyval.interm.type).basicType = EbtFloat;
6276 (yyval.interm.type).setVector(2);
6278 #line 6279 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6282 #line 1595 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6284 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6285 (yyval.interm.type).basicType = EbtFloat;
6286 (yyval.interm.type).setVector(3);
6288 #line 6289 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6292 #line 1600 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6294 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6295 (yyval.interm.type).basicType = EbtFloat;
6296 (yyval.interm.type).setVector(4);
6298 #line 6299 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6302 #line 1605 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6304 parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
6305 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6306 (yyval.interm.type).basicType = EbtDouble;
6307 (yyval.interm.type).setVector(2);
6309 #line 6310 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6313 #line 1611 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6315 parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
6316 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6317 (yyval.interm.type).basicType = EbtDouble;
6318 (yyval.interm.type).setVector(3);
6320 #line 6321 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6324 #line 1617 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6326 parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
6327 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6328 (yyval.interm.type).basicType = EbtDouble;
6329 (yyval.interm.type).setVector(4);
6331 #line 6332 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6335 #line 1623 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6337 parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
6338 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6339 (yyval.interm.type).basicType = EbtFloat16;
6340 (yyval.interm.type).setVector(2);
6342 #line 6343 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6346 #line 1629 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6348 parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
6349 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6350 (yyval.interm.type).basicType = EbtFloat16;
6351 (yyval.interm.type).setVector(3);
6353 #line 6354 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6357 #line 1635 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6359 parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
6360 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6361 (yyval.interm.type).basicType = EbtFloat16;
6362 (yyval.interm.type).setVector(4);
6364 #line 6365 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6368 #line 1641 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6370 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
6371 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6372 (yyval.interm.type).basicType = EbtFloat;
6373 (yyval.interm.type).setVector(2);
6375 #line 6376 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6379 #line 1647 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6381 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
6382 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6383 (yyval.interm.type).basicType = EbtFloat;
6384 (yyval.interm.type).setVector(3);
6386 #line 6387 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6390 #line 1653 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6392 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
6393 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6394 (yyval.interm.type).basicType = EbtFloat;
6395 (yyval.interm.type).setVector(4);
6397 #line 6398 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6401 #line 1659 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6403 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
6404 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6405 (yyval.interm.type).basicType = EbtDouble;
6406 (yyval.interm.type).setVector(2);
6408 #line 6409 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6412 #line 1665 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6414 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
6415 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6416 (yyval.interm.type).basicType = EbtDouble;
6417 (yyval.interm.type).setVector(3);
6419 #line 6420 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6423 #line 1671 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6425 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
6426 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6427 (yyval.interm.type).basicType = EbtDouble;
6428 (yyval.interm.type).setVector(4);
6430 #line 6431 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6434 #line 1677 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6436 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6437 (yyval.interm.type).basicType = EbtBool;
6438 (yyval.interm.type).setVector(2);
6440 #line 6441 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6444 #line 1682 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6446 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6447 (yyval.interm.type).basicType = EbtBool;
6448 (yyval.interm.type).setVector(3);
6450 #line 6451 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6454 #line 1687 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6456 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6457 (yyval.interm.type).basicType = EbtBool;
6458 (yyval.interm.type).setVector(4);
6460 #line 6461 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6464 #line 1692 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6466 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6467 (yyval.interm.type).basicType = EbtInt;
6468 (yyval.interm.type).setVector(2);
6470 #line 6471 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6474 #line 1697 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6476 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6477 (yyval.interm.type).basicType = EbtInt;
6478 (yyval.interm.type).setVector(3);
6480 #line 6481 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6484 #line 1702 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6486 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6487 (yyval.interm.type).basicType = EbtInt;
6488 (yyval.interm.type).setVector(4);
6490 #line 6491 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6494 #line 1707 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6496 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6497 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6498 (yyval.interm.type).basicType = EbtInt8;
6499 (yyval.interm.type).setVector(2);
6501 #line 6502 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6505 #line 1713 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6507 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6508 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6509 (yyval.interm.type).basicType = EbtInt8;
6510 (yyval.interm.type).setVector(3);
6512 #line 6513 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6516 #line 1719 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6518 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6519 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6520 (yyval.interm.type).basicType = EbtInt8;
6521 (yyval.interm.type).setVector(4);
6523 #line 6524 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6527 #line 1725 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6529 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6530 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6531 (yyval.interm.type).basicType = EbtInt16;
6532 (yyval.interm.type).setVector(2);
6534 #line 6535 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6538 #line 1731 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6540 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6541 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6542 (yyval.interm.type).basicType = EbtInt16;
6543 (yyval.interm.type).setVector(3);
6545 #line 6546 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6549 #line 1737 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6551 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6552 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6553 (yyval.interm.type).basicType = EbtInt16;
6554 (yyval.interm.type).setVector(4);
6556 #line 6557 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6560 #line 1743 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6562 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6563 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6564 (yyval.interm.type).basicType = EbtInt;
6565 (yyval.interm.type).setVector(2);
6567 #line 6568 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6571 #line 1749 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6573 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6574 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6575 (yyval.interm.type).basicType = EbtInt;
6576 (yyval.interm.type).setVector(3);
6578 #line 6579 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6582 #line 1755 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6584 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6585 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6586 (yyval.interm.type).basicType = EbtInt;
6587 (yyval.interm.type).setVector(4);
6589 #line 6590 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6593 #line 1761 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6595 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
6596 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6597 (yyval.interm.type).basicType = EbtInt64;
6598 (yyval.interm.type).setVector(2);
6600 #line 6601 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6604 #line 1767 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6606 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
6607 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6608 (yyval.interm.type).basicType = EbtInt64;
6609 (yyval.interm.type).setVector(3);
6611 #line 6612 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6615 #line 1773 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6617 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
6618 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6619 (yyval.interm.type).basicType = EbtInt64;
6620 (yyval.interm.type).setVector(4);
6622 #line 6623 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6626 #line 1779 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6628 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
6629 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6630 (yyval.interm.type).basicType = EbtUint;
6631 (yyval.interm.type).setVector(2);
6633 #line 6634 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6637 #line 1785 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6639 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
6640 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6641 (yyval.interm.type).basicType = EbtUint;
6642 (yyval.interm.type).setVector(3);
6644 #line 6645 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6648 #line 1791 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6650 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
6651 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6652 (yyval.interm.type).basicType = EbtUint;
6653 (yyval.interm.type).setVector(4);
6655 #line 6656 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6659 #line 1797 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6661 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6662 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6663 (yyval.interm.type).basicType = EbtUint8;
6664 (yyval.interm.type).setVector(2);
6666 #line 6667 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6670 #line 1803 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6672 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6673 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6674 (yyval.interm.type).basicType = EbtUint8;
6675 (yyval.interm.type).setVector(3);
6677 #line 6678 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6681 #line 1809 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6683 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6684 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6685 (yyval.interm.type).basicType = EbtUint8;
6686 (yyval.interm.type).setVector(4);
6688 #line 6689 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6692 #line 1815 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6694 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6695 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6696 (yyval.interm.type).basicType = EbtUint16;
6697 (yyval.interm.type).setVector(2);
6699 #line 6700 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6703 #line 1821 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6705 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6706 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6707 (yyval.interm.type).basicType = EbtUint16;
6708 (yyval.interm.type).setVector(3);
6710 #line 6711 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6714 #line 1827 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6716 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6717 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6718 (yyval.interm.type).basicType = EbtUint16;
6719 (yyval.interm.type).setVector(4);
6721 #line 6722 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6725 #line 1833 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6727 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6728 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6729 (yyval.interm.type).basicType = EbtUint;
6730 (yyval.interm.type).setVector(2);
6732 #line 6733 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6736 #line 1839 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6738 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6739 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6740 (yyval.interm.type).basicType = EbtUint;
6741 (yyval.interm.type).setVector(3);
6743 #line 6744 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6747 #line 1845 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6749 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6750 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6751 (yyval.interm.type).basicType = EbtUint;
6752 (yyval.interm.type).setVector(4);
6754 #line 6755 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6758 #line 1851 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6760 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6761 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6762 (yyval.interm.type).basicType = EbtUint64;
6763 (yyval.interm.type).setVector(2);
6765 #line 6766 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6769 #line 1857 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6771 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6772 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6773 (yyval.interm.type).basicType = EbtUint64;
6774 (yyval.interm.type).setVector(3);
6776 #line 6777 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6780 #line 1863 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6782 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6783 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6784 (yyval.interm.type).basicType = EbtUint64;
6785 (yyval.interm.type).setVector(4);
6787 #line 6788 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6791 #line 1869 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6793 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6794 (yyval.interm.type).basicType = EbtFloat;
6795 (yyval.interm.type).setMatrix(2, 2);
6797 #line 6798 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6801 #line 1874 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6803 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6804 (yyval.interm.type).basicType = EbtFloat;
6805 (yyval.interm.type).setMatrix(3, 3);
6807 #line 6808 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6811 #line 1879 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6813 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6814 (yyval.interm.type).basicType = EbtFloat;
6815 (yyval.interm.type).setMatrix(4, 4);
6817 #line 6818 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6821 #line 1884 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6823 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6824 (yyval.interm.type).basicType = EbtFloat;
6825 (yyval.interm.type).setMatrix(2, 2);
6827 #line 6828 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6831 #line 1889 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6833 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6834 (yyval.interm.type).basicType = EbtFloat;
6835 (yyval.interm.type).setMatrix(2, 3);
6837 #line 6838 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6841 #line 1894 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6843 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6844 (yyval.interm.type).basicType = EbtFloat;
6845 (yyval.interm.type).setMatrix(2, 4);
6847 #line 6848 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6851 #line 1899 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6853 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6854 (yyval.interm.type).basicType = EbtFloat;
6855 (yyval.interm.type).setMatrix(3, 2);
6857 #line 6858 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6861 #line 1904 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6863 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6864 (yyval.interm.type).basicType = EbtFloat;
6865 (yyval.interm.type).setMatrix(3, 3);
6867 #line 6868 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6871 #line 1909 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6873 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6874 (yyval.interm.type).basicType = EbtFloat;
6875 (yyval.interm.type).setMatrix(3, 4);
6877 #line 6878 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6881 #line 1914 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6883 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6884 (yyval.interm.type).basicType = EbtFloat;
6885 (yyval.interm.type).setMatrix(4, 2);
6887 #line 6888 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6891 #line 1919 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6893 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6894 (yyval.interm.type).basicType = EbtFloat;
6895 (yyval.interm.type).setMatrix(4, 3);
6897 #line 6898 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6901 #line 1924 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6903 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6904 (yyval.interm.type).basicType = EbtFloat;
6905 (yyval.interm.type).setMatrix(4, 4);
6907 #line 6908 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6911 #line 1929 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6913 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
6914 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6915 (yyval.interm.type).basicType = EbtDouble;
6916 (yyval.interm.type).setMatrix(2, 2);
6918 #line 6919 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6922 #line 1935 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6924 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
6925 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6926 (yyval.interm.type).basicType = EbtDouble;
6927 (yyval.interm.type).setMatrix(3, 3);
6929 #line 6930 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6933 #line 1941 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6935 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
6936 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6937 (yyval.interm.type).basicType = EbtDouble;
6938 (yyval.interm.type).setMatrix(4, 4);
6940 #line 6941 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6944 #line 1947 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6946 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
6947 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6948 (yyval.interm.type).basicType = EbtDouble;
6949 (yyval.interm.type).setMatrix(2, 2);
6951 #line 6952 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6955 #line 1953 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6957 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
6958 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6959 (yyval.interm.type).basicType = EbtDouble;
6960 (yyval.interm.type).setMatrix(2, 3);
6962 #line 6963 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6966 #line 1959 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6968 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
6969 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6970 (yyval.interm.type).basicType = EbtDouble;
6971 (yyval.interm.type).setMatrix(2, 4);
6973 #line 6974 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6977 #line 1965 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6979 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
6980 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6981 (yyval.interm.type).basicType = EbtDouble;
6982 (yyval.interm.type).setMatrix(3, 2);
6984 #line 6985 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6988 #line 1971 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6990 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
6991 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6992 (yyval.interm.type).basicType = EbtDouble;
6993 (yyval.interm.type).setMatrix(3, 3);
6995 #line 6996 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6999 #line 1977 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7001 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7002 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7003 (yyval.interm.type).basicType = EbtDouble;
7004 (yyval.interm.type).setMatrix(3, 4);
7006 #line 7007 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7010 #line 1983 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7012 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7013 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7014 (yyval.interm.type).basicType = EbtDouble;
7015 (yyval.interm.type).setMatrix(4, 2);
7017 #line 7018 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7021 #line 1989 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7023 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7024 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7025 (yyval.interm.type).basicType = EbtDouble;
7026 (yyval.interm.type).setMatrix(4, 3);
7028 #line 7029 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7032 #line 1995 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7034 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7035 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7036 (yyval.interm.type).basicType = EbtDouble;
7037 (yyval.interm.type).setMatrix(4, 4);
7039 #line 7040 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7043 #line 2001 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7045 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7046 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7047 (yyval.interm.type).basicType = EbtFloat16;
7048 (yyval.interm.type).setMatrix(2, 2);
7050 #line 7051 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7054 #line 2007 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7056 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7057 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7058 (yyval.interm.type).basicType = EbtFloat16;
7059 (yyval.interm.type).setMatrix(3, 3);
7061 #line 7062 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7065 #line 2013 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7067 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7068 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7069 (yyval.interm.type).basicType = EbtFloat16;
7070 (yyval.interm.type).setMatrix(4, 4);
7072 #line 7073 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7076 #line 2019 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7078 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7079 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7080 (yyval.interm.type).basicType = EbtFloat16;
7081 (yyval.interm.type).setMatrix(2, 2);
7083 #line 7084 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7087 #line 2025 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7089 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7090 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7091 (yyval.interm.type).basicType = EbtFloat16;
7092 (yyval.interm.type).setMatrix(2, 3);
7094 #line 7095 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7098 #line 2031 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7100 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7101 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7102 (yyval.interm.type).basicType = EbtFloat16;
7103 (yyval.interm.type).setMatrix(2, 4);
7105 #line 7106 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7109 #line 2037 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7111 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7112 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7113 (yyval.interm.type).basicType = EbtFloat16;
7114 (yyval.interm.type).setMatrix(3, 2);
7116 #line 7117 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7120 #line 2043 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7122 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7123 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7124 (yyval.interm.type).basicType = EbtFloat16;
7125 (yyval.interm.type).setMatrix(3, 3);
7127 #line 7128 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7131 #line 2049 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7133 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7134 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7135 (yyval.interm.type).basicType = EbtFloat16;
7136 (yyval.interm.type).setMatrix(3, 4);
7138 #line 7139 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7142 #line 2055 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7144 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7145 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7146 (yyval.interm.type).basicType = EbtFloat16;
7147 (yyval.interm.type).setMatrix(4, 2);
7149 #line 7150 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7153 #line 2061 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7155 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7156 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7157 (yyval.interm.type).basicType = EbtFloat16;
7158 (yyval.interm.type).setMatrix(4, 3);
7160 #line 7161 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7164 #line 2067 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7166 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7167 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7168 (yyval.interm.type).basicType = EbtFloat16;
7169 (yyval.interm.type).setMatrix(4, 4);
7171 #line 7172 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7175 #line 2073 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7177 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7178 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7179 (yyval.interm.type).basicType = EbtFloat;
7180 (yyval.interm.type).setMatrix(2, 2);
7182 #line 7183 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7186 #line 2079 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7188 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7189 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7190 (yyval.interm.type).basicType = EbtFloat;
7191 (yyval.interm.type).setMatrix(3, 3);
7193 #line 7194 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7197 #line 2085 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7199 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7200 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7201 (yyval.interm.type).basicType = EbtFloat;
7202 (yyval.interm.type).setMatrix(4, 4);
7204 #line 7205 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7208 #line 2091 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7210 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7211 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7212 (yyval.interm.type).basicType = EbtFloat;
7213 (yyval.interm.type).setMatrix(2, 2);
7215 #line 7216 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7219 #line 2097 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7221 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7222 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7223 (yyval.interm.type).basicType = EbtFloat;
7224 (yyval.interm.type).setMatrix(2, 3);
7226 #line 7227 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7230 #line 2103 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7232 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7233 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7234 (yyval.interm.type).basicType = EbtFloat;
7235 (yyval.interm.type).setMatrix(2, 4);
7237 #line 7238 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7241 #line 2109 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7243 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7244 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7245 (yyval.interm.type).basicType = EbtFloat;
7246 (yyval.interm.type).setMatrix(3, 2);
7248 #line 7249 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7252 #line 2115 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7254 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7255 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7256 (yyval.interm.type).basicType = EbtFloat;
7257 (yyval.interm.type).setMatrix(3, 3);
7259 #line 7260 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7263 #line 2121 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7265 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7266 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7267 (yyval.interm.type).basicType = EbtFloat;
7268 (yyval.interm.type).setMatrix(3, 4);
7270 #line 7271 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7274 #line 2127 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7276 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7277 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7278 (yyval.interm.type).basicType = EbtFloat;
7279 (yyval.interm.type).setMatrix(4, 2);
7281 #line 7282 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7285 #line 2133 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7287 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7288 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7289 (yyval.interm.type).basicType = EbtFloat;
7290 (yyval.interm.type).setMatrix(4, 3);
7292 #line 7293 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7296 #line 2139 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7298 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7299 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7300 (yyval.interm.type).basicType = EbtFloat;
7301 (yyval.interm.type).setMatrix(4, 4);
7303 #line 7304 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7307 #line 2145 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7309 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7310 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7311 (yyval.interm.type).basicType = EbtDouble;
7312 (yyval.interm.type).setMatrix(2, 2);
7314 #line 7315 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7318 #line 2151 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7320 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7321 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7322 (yyval.interm.type).basicType = EbtDouble;
7323 (yyval.interm.type).setMatrix(3, 3);
7325 #line 7326 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7329 #line 2157 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7331 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7332 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7333 (yyval.interm.type).basicType = EbtDouble;
7334 (yyval.interm.type).setMatrix(4, 4);
7336 #line 7337 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7340 #line 2163 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7342 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7343 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7344 (yyval.interm.type).basicType = EbtDouble;
7345 (yyval.interm.type).setMatrix(2, 2);
7347 #line 7348 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7351 #line 2169 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7353 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7354 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7355 (yyval.interm.type).basicType = EbtDouble;
7356 (yyval.interm.type).setMatrix(2, 3);
7358 #line 7359 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7362 #line 2175 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7364 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7365 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7366 (yyval.interm.type).basicType = EbtDouble;
7367 (yyval.interm.type).setMatrix(2, 4);
7369 #line 7370 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7373 #line 2181 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7375 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7376 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7377 (yyval.interm.type).basicType = EbtDouble;
7378 (yyval.interm.type).setMatrix(3, 2);
7380 #line 7381 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7384 #line 2187 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7386 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7387 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7388 (yyval.interm.type).basicType = EbtDouble;
7389 (yyval.interm.type).setMatrix(3, 3);
7391 #line 7392 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7395 #line 2193 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7397 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7398 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7399 (yyval.interm.type).basicType = EbtDouble;
7400 (yyval.interm.type).setMatrix(3, 4);
7402 #line 7403 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7406 #line 2199 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7408 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7409 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7410 (yyval.interm.type).basicType = EbtDouble;
7411 (yyval.interm.type).setMatrix(4, 2);
7413 #line 7414 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7417 #line 2205 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7419 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7420 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7421 (yyval.interm.type).basicType = EbtDouble;
7422 (yyval.interm.type).setMatrix(4, 3);
7424 #line 7425 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7428 #line 2211 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7430 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7431 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7432 (yyval.interm.type).basicType = EbtDouble;
7433 (yyval.interm.type).setMatrix(4, 4);
7435 #line 7436 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7439 #line 2217 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7441 #ifdef NV_EXTENSIONS
7442 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7443 (yyval.interm.type).basicType = EbtAccStructNV;
7446 #line 7447 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7450 #line 2223 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7452 parseContext.vulkanRemoved((yyvsp[0].lex).loc, "atomic counter types");
7453 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7454 (yyval.interm.type).basicType = EbtAtomicUint;
7456 #line 7457 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7460 #line 2228 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7462 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7463 (yyval.interm.type).basicType = EbtSampler;
7464 (yyval.interm.type).sampler.set(EbtFloat, Esd1D);
7466 #line 7467 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7470 #line 2233 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7472 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7473 (yyval.interm.type).basicType = EbtSampler;
7474 (yyval.interm.type).sampler.set(EbtFloat, Esd2D);
7476 #line 7477 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7480 #line 2238 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7482 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7483 (yyval.interm.type).basicType = EbtSampler;
7484 (yyval.interm.type).sampler.set(EbtFloat, Esd3D);
7486 #line 7487 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7490 #line 2243 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7492 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7493 (yyval.interm.type).basicType = EbtSampler;
7494 (yyval.interm.type).sampler.set(EbtFloat, EsdCube);
7496 #line 7497 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7500 #line 2248 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7502 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7503 (yyval.interm.type).basicType = EbtSampler;
7504 (yyval.interm.type).sampler.set(EbtFloat, Esd1D, false, true);
7506 #line 7507 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7510 #line 2253 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7512 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7513 (yyval.interm.type).basicType = EbtSampler;
7514 (yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, true);
7516 #line 7517 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7520 #line 2258 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7522 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7523 (yyval.interm.type).basicType = EbtSampler;
7524 (yyval.interm.type).sampler.set(EbtFloat, EsdCube, false, true);
7526 #line 7527 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7530 #line 2263 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7532 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7533 (yyval.interm.type).basicType = EbtSampler;
7534 (yyval.interm.type).sampler.set(EbtFloat, Esd1D, true);
7536 #line 7537 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7540 #line 2268 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7542 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7543 (yyval.interm.type).basicType = EbtSampler;
7544 (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true);
7546 #line 7547 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7550 #line 2273 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7552 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7553 (yyval.interm.type).basicType = EbtSampler;
7554 (yyval.interm.type).sampler.set(EbtFloat, Esd1D, true, true);
7556 #line 7557 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7560 #line 2278 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7562 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7563 (yyval.interm.type).basicType = EbtSampler;
7564 (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, true);
7566 #line 7567 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7570 #line 2283 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7572 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7573 (yyval.interm.type).basicType = EbtSampler;
7574 (yyval.interm.type).sampler.set(EbtFloat, EsdCube, true);
7576 #line 7577 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7580 #line 2288 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7582 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7583 (yyval.interm.type).basicType = EbtSampler;
7584 (yyval.interm.type).sampler.set(EbtFloat, EsdCube, true, true);
7586 #line 7587 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7590 #line 2293 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7592 #ifdef AMD_EXTENSIONS
7593 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7594 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7595 (yyval.interm.type).basicType = EbtSampler;
7596 (yyval.interm.type).sampler.set(EbtFloat16, Esd1D);
7599 #line 7600 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7603 #line 2301 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7605 #ifdef AMD_EXTENSIONS
7606 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7607 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7608 (yyval.interm.type).basicType = EbtSampler;
7609 (yyval.interm.type).sampler.set(EbtFloat16, Esd2D);
7612 #line 7613 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7616 #line 2309 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7618 #ifdef AMD_EXTENSIONS
7619 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7620 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7621 (yyval.interm.type).basicType = EbtSampler;
7622 (yyval.interm.type).sampler.set(EbtFloat16, Esd3D);
7625 #line 7626 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7629 #line 2317 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7631 #ifdef AMD_EXTENSIONS
7632 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7633 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7634 (yyval.interm.type).basicType = EbtSampler;
7635 (yyval.interm.type).sampler.set(EbtFloat16, EsdCube);
7638 #line 7639 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7642 #line 2325 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7644 #ifdef AMD_EXTENSIONS
7645 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7646 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7647 (yyval.interm.type).basicType = EbtSampler;
7648 (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, false, true);
7651 #line 7652 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7655 #line 2333 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7657 #ifdef AMD_EXTENSIONS
7658 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7659 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7660 (yyval.interm.type).basicType = EbtSampler;
7661 (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, true);
7664 #line 7665 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7668 #line 2341 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7670 #ifdef AMD_EXTENSIONS
7671 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7672 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7673 (yyval.interm.type).basicType = EbtSampler;
7674 (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, false, true);
7677 #line 7678 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7681 #line 2349 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7683 #ifdef AMD_EXTENSIONS
7684 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7685 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7686 (yyval.interm.type).basicType = EbtSampler;
7687 (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true);
7690 #line 7691 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7694 #line 2357 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7696 #ifdef AMD_EXTENSIONS
7697 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7698 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7699 (yyval.interm.type).basicType = EbtSampler;
7700 (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true);
7703 #line 7704 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7707 #line 2365 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7709 #ifdef AMD_EXTENSIONS
7710 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7711 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7712 (yyval.interm.type).basicType = EbtSampler;
7713 (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true, true);
7716 #line 7717 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7720 #line 2373 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7722 #ifdef AMD_EXTENSIONS
7723 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7724 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7725 (yyval.interm.type).basicType = EbtSampler;
7726 (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, true);
7729 #line 7730 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7733 #line 2381 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7735 #ifdef AMD_EXTENSIONS
7736 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7737 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7738 (yyval.interm.type).basicType = EbtSampler;
7739 (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true);
7742 #line 7743 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7746 #line 2389 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7748 #ifdef AMD_EXTENSIONS
7749 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7750 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7751 (yyval.interm.type).basicType = EbtSampler;
7752 (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true, true);
7755 #line 7756 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7759 #line 2397 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7761 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7762 (yyval.interm.type).basicType = EbtSampler;
7763 (yyval.interm.type).sampler.set(EbtInt, Esd1D);
7765 #line 7766 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7769 #line 2402 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7771 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7772 (yyval.interm.type).basicType = EbtSampler;
7773 (yyval.interm.type).sampler.set(EbtInt, Esd2D);
7775 #line 7776 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7779 #line 2407 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7781 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7782 (yyval.interm.type).basicType = EbtSampler;
7783 (yyval.interm.type).sampler.set(EbtInt, Esd3D);
7785 #line 7786 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7789 #line 2412 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7791 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7792 (yyval.interm.type).basicType = EbtSampler;
7793 (yyval.interm.type).sampler.set(EbtInt, EsdCube);
7795 #line 7796 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7799 #line 2417 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7801 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7802 (yyval.interm.type).basicType = EbtSampler;
7803 (yyval.interm.type).sampler.set(EbtInt, Esd1D, true);
7805 #line 7806 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7809 #line 2422 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7811 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7812 (yyval.interm.type).basicType = EbtSampler;
7813 (yyval.interm.type).sampler.set(EbtInt, Esd2D, true);
7815 #line 7816 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7819 #line 2427 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7821 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7822 (yyval.interm.type).basicType = EbtSampler;
7823 (yyval.interm.type).sampler.set(EbtInt, EsdCube, true);
7825 #line 7826 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7829 #line 2432 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7831 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7832 (yyval.interm.type).basicType = EbtSampler;
7833 (yyval.interm.type).sampler.set(EbtUint, Esd1D);
7835 #line 7836 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7839 #line 2437 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7841 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7842 (yyval.interm.type).basicType = EbtSampler;
7843 (yyval.interm.type).sampler.set(EbtUint, Esd2D);
7845 #line 7846 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7849 #line 2442 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7851 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7852 (yyval.interm.type).basicType = EbtSampler;
7853 (yyval.interm.type).sampler.set(EbtUint, Esd3D);
7855 #line 7856 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7859 #line 2447 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7861 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7862 (yyval.interm.type).basicType = EbtSampler;
7863 (yyval.interm.type).sampler.set(EbtUint, EsdCube);
7865 #line 7866 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7869 #line 2452 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7871 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7872 (yyval.interm.type).basicType = EbtSampler;
7873 (yyval.interm.type).sampler.set(EbtUint, Esd1D, true);
7875 #line 7876 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7879 #line 2457 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7881 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7882 (yyval.interm.type).basicType = EbtSampler;
7883 (yyval.interm.type).sampler.set(EbtUint, Esd2D, true);
7885 #line 7886 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7889 #line 2462 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7891 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7892 (yyval.interm.type).basicType = EbtSampler;
7893 (yyval.interm.type).sampler.set(EbtUint, EsdCube, true);
7895 #line 7896 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7899 #line 2467 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7901 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7902 (yyval.interm.type).basicType = EbtSampler;
7903 (yyval.interm.type).sampler.set(EbtFloat, EsdRect);
7905 #line 7906 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7909 #line 2472 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7911 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7912 (yyval.interm.type).basicType = EbtSampler;
7913 (yyval.interm.type).sampler.set(EbtFloat, EsdRect, false, true);
7915 #line 7916 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7919 #line 2477 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7921 #ifdef AMD_EXTENSIONS
7922 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7923 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7924 (yyval.interm.type).basicType = EbtSampler;
7925 (yyval.interm.type).sampler.set(EbtFloat16, EsdRect);
7928 #line 7929 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7932 #line 2485 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7934 #ifdef AMD_EXTENSIONS
7935 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7936 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7937 (yyval.interm.type).basicType = EbtSampler;
7938 (yyval.interm.type).sampler.set(EbtFloat16, EsdRect, false, true);
7941 #line 7942 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7945 #line 2493 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7947 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7948 (yyval.interm.type).basicType = EbtSampler;
7949 (yyval.interm.type).sampler.set(EbtInt, EsdRect);
7951 #line 7952 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7955 #line 2498 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7957 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7958 (yyval.interm.type).basicType = EbtSampler;
7959 (yyval.interm.type).sampler.set(EbtUint, EsdRect);
7961 #line 7962 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7965 #line 2503 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7967 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7968 (yyval.interm.type).basicType = EbtSampler;
7969 (yyval.interm.type).sampler.set(EbtFloat, EsdBuffer);
7971 #line 7972 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7975 #line 2508 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7977 #ifdef AMD_EXTENSIONS
7978 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7979 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7980 (yyval.interm.type).basicType = EbtSampler;
7981 (yyval.interm.type).sampler.set(EbtFloat16, EsdBuffer);
7984 #line 7985 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7988 #line 2516 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7990 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7991 (yyval.interm.type).basicType = EbtSampler;
7992 (yyval.interm.type).sampler.set(EbtInt, EsdBuffer);
7994 #line 7995 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7998 #line 2521 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8000 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8001 (yyval.interm.type).basicType = EbtSampler;
8002 (yyval.interm.type).sampler.set(EbtUint, EsdBuffer);
8004 #line 8005 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8008 #line 2526 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8010 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8011 (yyval.interm.type).basicType = EbtSampler;
8012 (yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, false, true);
8014 #line 8015 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8018 #line 2531 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8020 #ifdef AMD_EXTENSIONS
8021 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
8022 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8023 (yyval.interm.type).basicType = EbtSampler;
8024 (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, false, true);
8027 #line 8028 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8031 #line 2539 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8033 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8034 (yyval.interm.type).basicType = EbtSampler;
8035 (yyval.interm.type).sampler.set(EbtInt, Esd2D, false, false, true);
8037 #line 8038 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8041 #line 2544 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8043 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8044 (yyval.interm.type).basicType = EbtSampler;
8045 (yyval.interm.type).sampler.set(EbtUint, Esd2D, false, false, true);
8047 #line 8048 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8051 #line 2549 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8053 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8054 (yyval.interm.type).basicType = EbtSampler;
8055 (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, false, true);
8057 #line 8058 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8061 #line 2554 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8063 #ifdef AMD_EXTENSIONS
8064 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
8065 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8066 (yyval.interm.type).basicType = EbtSampler;
8067 (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, false, true);
8070 #line 8071 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8074 #line 2562 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8076 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8077 (yyval.interm.type).basicType = EbtSampler;
8078 (yyval.interm.type).sampler.set(EbtInt, Esd2D, true, false, true);
8080 #line 8081 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8084 #line 2567 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8086 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8087 (yyval.interm.type).basicType = EbtSampler;
8088 (yyval.interm.type).sampler.set(EbtUint, Esd2D, true, false, true);
8090 #line 8091 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8094 #line 2572 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8096 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8097 (yyval.interm.type).basicType = EbtSampler;
8098 (yyval.interm.type).sampler.setPureSampler(false);
8100 #line 8101 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8104 #line 2577 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8106 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8107 (yyval.interm.type).basicType = EbtSampler;
8108 (yyval.interm.type).sampler.setPureSampler(true);
8110 #line 8111 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8114 #line 2582 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8116 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8117 (yyval.interm.type).basicType = EbtSampler;
8118 (yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D);
8120 #line 8121 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8124 #line 2587 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8126 #ifdef AMD_EXTENSIONS
8127 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8128 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8129 (yyval.interm.type).basicType = EbtSampler;
8130 (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D);
8133 #line 8134 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8137 #line 2595 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8139 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8140 (yyval.interm.type).basicType = EbtSampler;
8141 (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D);
8143 #line 8144 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8147 #line 2600 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8149 #ifdef AMD_EXTENSIONS
8150 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8151 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8152 (yyval.interm.type).basicType = EbtSampler;
8153 (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D);
8156 #line 8157 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8160 #line 2608 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8162 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8163 (yyval.interm.type).basicType = EbtSampler;
8164 (yyval.interm.type).sampler.setTexture(EbtFloat, Esd3D);
8166 #line 8167 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8170 #line 2613 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8172 #ifdef AMD_EXTENSIONS
8173 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8174 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8175 (yyval.interm.type).basicType = EbtSampler;
8176 (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd3D);
8179 #line 8180 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8183 #line 2621 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8185 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8186 (yyval.interm.type).basicType = EbtSampler;
8187 (yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube);
8189 #line 8190 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8193 #line 2626 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8195 #ifdef AMD_EXTENSIONS
8196 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8197 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8198 (yyval.interm.type).basicType = EbtSampler;
8199 (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube);
8202 #line 8203 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8206 #line 2634 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8208 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8209 (yyval.interm.type).basicType = EbtSampler;
8210 (yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D, true);
8212 #line 8213 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8216 #line 2639 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8218 #ifdef AMD_EXTENSIONS
8219 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8220 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8221 (yyval.interm.type).basicType = EbtSampler;
8222 (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D, true);
8225 #line 8226 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8229 #line 2647 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8231 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8232 (yyval.interm.type).basicType = EbtSampler;
8233 (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true);
8235 #line 8236 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8239 #line 2652 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8241 #ifdef AMD_EXTENSIONS
8242 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8243 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8244 (yyval.interm.type).basicType = EbtSampler;
8245 (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true);
8248 #line 8249 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8252 #line 2660 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8254 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8255 (yyval.interm.type).basicType = EbtSampler;
8256 (yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube, true);
8258 #line 8259 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8262 #line 2665 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8264 #ifdef AMD_EXTENSIONS
8265 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8266 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8267 (yyval.interm.type).basicType = EbtSampler;
8268 (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube, true);
8271 #line 8272 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8275 #line 2673 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8277 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8278 (yyval.interm.type).basicType = EbtSampler;
8279 (yyval.interm.type).sampler.setTexture(EbtInt, Esd1D);
8281 #line 8282 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8285 #line 2678 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8287 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8288 (yyval.interm.type).basicType = EbtSampler;
8289 (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D);
8291 #line 8292 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8295 #line 2683 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8297 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8298 (yyval.interm.type).basicType = EbtSampler;
8299 (yyval.interm.type).sampler.setTexture(EbtInt, Esd3D);
8301 #line 8302 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8305 #line 2688 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8307 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8308 (yyval.interm.type).basicType = EbtSampler;
8309 (yyval.interm.type).sampler.setTexture(EbtInt, EsdCube);
8311 #line 8312 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8315 #line 2693 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8317 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8318 (yyval.interm.type).basicType = EbtSampler;
8319 (yyval.interm.type).sampler.setTexture(EbtInt, Esd1D, true);
8321 #line 8322 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8325 #line 2698 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8327 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8328 (yyval.interm.type).basicType = EbtSampler;
8329 (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true);
8331 #line 8332 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8335 #line 2703 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8337 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8338 (yyval.interm.type).basicType = EbtSampler;
8339 (yyval.interm.type).sampler.setTexture(EbtInt, EsdCube, true);
8341 #line 8342 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8345 #line 2708 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8347 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8348 (yyval.interm.type).basicType = EbtSampler;
8349 (yyval.interm.type).sampler.setTexture(EbtUint, Esd1D);
8351 #line 8352 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8355 #line 2713 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8357 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8358 (yyval.interm.type).basicType = EbtSampler;
8359 (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D);
8361 #line 8362 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8365 #line 2718 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8367 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8368 (yyval.interm.type).basicType = EbtSampler;
8369 (yyval.interm.type).sampler.setTexture(EbtUint, Esd3D);
8371 #line 8372 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8375 #line 2723 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8377 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8378 (yyval.interm.type).basicType = EbtSampler;
8379 (yyval.interm.type).sampler.setTexture(EbtUint, EsdCube);
8381 #line 8382 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8385 #line 2728 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8387 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8388 (yyval.interm.type).basicType = EbtSampler;
8389 (yyval.interm.type).sampler.setTexture(EbtUint, Esd1D, true);
8391 #line 8392 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8395 #line 2733 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8397 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8398 (yyval.interm.type).basicType = EbtSampler;
8399 (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true);
8401 #line 8402 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8405 #line 2738 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8407 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8408 (yyval.interm.type).basicType = EbtSampler;
8409 (yyval.interm.type).sampler.setTexture(EbtUint, EsdCube, true);
8411 #line 8412 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8415 #line 2743 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8417 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8418 (yyval.interm.type).basicType = EbtSampler;
8419 (yyval.interm.type).sampler.setTexture(EbtFloat, EsdRect);
8421 #line 8422 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8425 #line 2748 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8427 #ifdef AMD_EXTENSIONS
8428 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8429 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8430 (yyval.interm.type).basicType = EbtSampler;
8431 (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdRect);
8434 #line 8435 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8438 #line 2756 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8440 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8441 (yyval.interm.type).basicType = EbtSampler;
8442 (yyval.interm.type).sampler.setTexture(EbtInt, EsdRect);
8444 #line 8445 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8448 #line 2761 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8450 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8451 (yyval.interm.type).basicType = EbtSampler;
8452 (yyval.interm.type).sampler.setTexture(EbtUint, EsdRect);
8454 #line 8455 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8458 #line 2766 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8460 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8461 (yyval.interm.type).basicType = EbtSampler;
8462 (yyval.interm.type).sampler.setTexture(EbtFloat, EsdBuffer);
8464 #line 8465 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8468 #line 2771 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8470 #ifdef AMD_EXTENSIONS
8471 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8472 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8473 (yyval.interm.type).basicType = EbtSampler;
8474 (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdBuffer);
8477 #line 8478 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8481 #line 2779 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8483 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8484 (yyval.interm.type).basicType = EbtSampler;
8485 (yyval.interm.type).sampler.setTexture(EbtInt, EsdBuffer);
8487 #line 8488 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8491 #line 2784 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8493 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8494 (yyval.interm.type).basicType = EbtSampler;
8495 (yyval.interm.type).sampler.setTexture(EbtUint, EsdBuffer);
8497 #line 8498 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8501 #line 2789 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8503 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8504 (yyval.interm.type).basicType = EbtSampler;
8505 (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, false, false, true);
8507 #line 8508 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8511 #line 2794 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8513 #ifdef AMD_EXTENSIONS
8514 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8515 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8516 (yyval.interm.type).basicType = EbtSampler;
8517 (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, false, false, true);
8520 #line 8521 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8524 #line 2802 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8526 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8527 (yyval.interm.type).basicType = EbtSampler;
8528 (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, false, false, true);
8530 #line 8531 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8534 #line 2807 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8536 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8537 (yyval.interm.type).basicType = EbtSampler;
8538 (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, false, false, true);
8540 #line 8541 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8544 #line 2812 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8546 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8547 (yyval.interm.type).basicType = EbtSampler;
8548 (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true, false, true);
8550 #line 8551 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8554 #line 2817 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8556 #ifdef AMD_EXTENSIONS
8557 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8558 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8559 (yyval.interm.type).basicType = EbtSampler;
8560 (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true, false, true);
8563 #line 8564 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8567 #line 2825 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8569 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8570 (yyval.interm.type).basicType = EbtSampler;
8571 (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true, false, true);
8573 #line 8574 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8577 #line 2830 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8579 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8580 (yyval.interm.type).basicType = EbtSampler;
8581 (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true, false, true);
8583 #line 8584 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8587 #line 2835 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8589 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8590 (yyval.interm.type).basicType = EbtSampler;
8591 (yyval.interm.type).sampler.setImage(EbtFloat, Esd1D);
8593 #line 8594 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8597 #line 2840 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8599 #ifdef AMD_EXTENSIONS
8600 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8601 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8602 (yyval.interm.type).basicType = EbtSampler;
8603 (yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D);
8606 #line 8607 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8610 #line 2848 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8612 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8613 (yyval.interm.type).basicType = EbtSampler;
8614 (yyval.interm.type).sampler.setImage(EbtInt, Esd1D);
8616 #line 8617 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8620 #line 2853 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8622 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8623 (yyval.interm.type).basicType = EbtSampler;
8624 (yyval.interm.type).sampler.setImage(EbtUint, Esd1D);
8626 #line 8627 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8630 #line 2858 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8632 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8633 (yyval.interm.type).basicType = EbtSampler;
8634 (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D);
8636 #line 8637 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8640 #line 2863 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8642 #ifdef AMD_EXTENSIONS
8643 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8644 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8645 (yyval.interm.type).basicType = EbtSampler;
8646 (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D);
8649 #line 8650 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8653 #line 2871 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8655 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8656 (yyval.interm.type).basicType = EbtSampler;
8657 (yyval.interm.type).sampler.setImage(EbtInt, Esd2D);
8659 #line 8660 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8663 #line 2876 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8665 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8666 (yyval.interm.type).basicType = EbtSampler;
8667 (yyval.interm.type).sampler.setImage(EbtUint, Esd2D);
8669 #line 8670 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8673 #line 2881 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8675 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8676 (yyval.interm.type).basicType = EbtSampler;
8677 (yyval.interm.type).sampler.setImage(EbtFloat, Esd3D);
8679 #line 8680 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8683 #line 2886 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8685 #ifdef AMD_EXTENSIONS
8686 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8687 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8688 (yyval.interm.type).basicType = EbtSampler;
8689 (yyval.interm.type).sampler.setImage(EbtFloat16, Esd3D);
8692 #line 8693 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8696 #line 2894 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8698 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8699 (yyval.interm.type).basicType = EbtSampler;
8700 (yyval.interm.type).sampler.setImage(EbtInt, Esd3D);
8702 #line 8703 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8706 #line 2899 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8708 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8709 (yyval.interm.type).basicType = EbtSampler;
8710 (yyval.interm.type).sampler.setImage(EbtUint, Esd3D);
8712 #line 8713 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8716 #line 2904 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8718 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8719 (yyval.interm.type).basicType = EbtSampler;
8720 (yyval.interm.type).sampler.setImage(EbtFloat, EsdRect);
8722 #line 8723 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8726 #line 2909 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8728 #ifdef AMD_EXTENSIONS
8729 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8730 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8731 (yyval.interm.type).basicType = EbtSampler;
8732 (yyval.interm.type).sampler.setImage(EbtFloat16, EsdRect);
8735 #line 8736 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8739 #line 2917 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8741 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8742 (yyval.interm.type).basicType = EbtSampler;
8743 (yyval.interm.type).sampler.setImage(EbtInt, EsdRect);
8745 #line 8746 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8749 #line 2922 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8751 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8752 (yyval.interm.type).basicType = EbtSampler;
8753 (yyval.interm.type).sampler.setImage(EbtUint, EsdRect);
8755 #line 8756 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8759 #line 2927 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8761 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8762 (yyval.interm.type).basicType = EbtSampler;
8763 (yyval.interm.type).sampler.setImage(EbtFloat, EsdCube);
8765 #line 8766 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8769 #line 2932 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8771 #ifdef AMD_EXTENSIONS
8772 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8773 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8774 (yyval.interm.type).basicType = EbtSampler;
8775 (yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube);
8778 #line 8779 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8782 #line 2940 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8784 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8785 (yyval.interm.type).basicType = EbtSampler;
8786 (yyval.interm.type).sampler.setImage(EbtInt, EsdCube);
8788 #line 8789 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8792 #line 2945 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8794 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8795 (yyval.interm.type).basicType = EbtSampler;
8796 (yyval.interm.type).sampler.setImage(EbtUint, EsdCube);
8798 #line 8799 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8802 #line 2950 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8804 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8805 (yyval.interm.type).basicType = EbtSampler;
8806 (yyval.interm.type).sampler.setImage(EbtFloat, EsdBuffer);
8808 #line 8809 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8812 #line 2955 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8814 #ifdef AMD_EXTENSIONS
8815 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8816 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8817 (yyval.interm.type).basicType = EbtSampler;
8818 (yyval.interm.type).sampler.setImage(EbtFloat16, EsdBuffer);
8821 #line 8822 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8825 #line 2963 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8827 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8828 (yyval.interm.type).basicType = EbtSampler;
8829 (yyval.interm.type).sampler.setImage(EbtInt, EsdBuffer);
8831 #line 8832 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8835 #line 2968 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8837 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8838 (yyval.interm.type).basicType = EbtSampler;
8839 (yyval.interm.type).sampler.setImage(EbtUint, EsdBuffer);
8841 #line 8842 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8845 #line 2973 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8847 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8848 (yyval.interm.type).basicType = EbtSampler;
8849 (yyval.interm.type).sampler.setImage(EbtFloat, Esd1D, true);
8851 #line 8852 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8855 #line 2978 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8857 #ifdef AMD_EXTENSIONS
8858 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8859 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8860 (yyval.interm.type).basicType = EbtSampler;
8861 (yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D, true);
8864 #line 8865 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8868 #line 2986 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8870 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8871 (yyval.interm.type).basicType = EbtSampler;
8872 (yyval.interm.type).sampler.setImage(EbtInt, Esd1D, true);
8874 #line 8875 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8878 #line 2991 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8880 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8881 (yyval.interm.type).basicType = EbtSampler;
8882 (yyval.interm.type).sampler.setImage(EbtUint, Esd1D, true);
8884 #line 8885 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8888 #line 2996 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8890 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8891 (yyval.interm.type).basicType = EbtSampler;
8892 (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true);
8894 #line 8895 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8898 #line 3001 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8900 #ifdef AMD_EXTENSIONS
8901 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8902 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8903 (yyval.interm.type).basicType = EbtSampler;
8904 (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true);
8907 #line 8908 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8911 #line 3009 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8913 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8914 (yyval.interm.type).basicType = EbtSampler;
8915 (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true);
8917 #line 8918 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8921 #line 3014 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8923 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8924 (yyval.interm.type).basicType = EbtSampler;
8925 (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true);
8927 #line 8928 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8931 #line 3019 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8933 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8934 (yyval.interm.type).basicType = EbtSampler;
8935 (yyval.interm.type).sampler.setImage(EbtFloat, EsdCube, true);
8937 #line 8938 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8941 #line 3024 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8943 #ifdef AMD_EXTENSIONS
8944 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8945 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8946 (yyval.interm.type).basicType = EbtSampler;
8947 (yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube, true);
8950 #line 8951 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8954 #line 3032 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8956 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8957 (yyval.interm.type).basicType = EbtSampler;
8958 (yyval.interm.type).sampler.setImage(EbtInt, EsdCube, true);
8960 #line 8961 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8964 #line 3037 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8966 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8967 (yyval.interm.type).basicType = EbtSampler;
8968 (yyval.interm.type).sampler.setImage(EbtUint, EsdCube, true);
8970 #line 8971 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8974 #line 3042 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8976 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8977 (yyval.interm.type).basicType = EbtSampler;
8978 (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, false, false, true);
8980 #line 8981 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8984 #line 3047 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8986 #ifdef AMD_EXTENSIONS
8987 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8988 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8989 (yyval.interm.type).basicType = EbtSampler;
8990 (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, false, false, true);
8993 #line 8994 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8997 #line 3055 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8999 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9000 (yyval.interm.type).basicType = EbtSampler;
9001 (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, false, false, true);
9003 #line 9004 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9007 #line 3060 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9009 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9010 (yyval.interm.type).basicType = EbtSampler;
9011 (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, false, false, true);
9013 #line 9014 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9017 #line 3065 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9019 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9020 (yyval.interm.type).basicType = EbtSampler;
9021 (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true, false, true);
9023 #line 9024 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9027 #line 3070 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9029 #ifdef AMD_EXTENSIONS
9030 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
9031 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9032 (yyval.interm.type).basicType = EbtSampler;
9033 (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true, false, true);
9036 #line 9037 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9040 #line 3078 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9042 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9043 (yyval.interm.type).basicType = EbtSampler;
9044 (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true, false, true);
9046 #line 9047 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9050 #line 3083 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9052 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9053 (yyval.interm.type).basicType = EbtSampler;
9054 (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true, false, true);
9056 #line 9057 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9060 #line 3088 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9061 { // GL_OES_EGL_image_external
9062 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9063 (yyval.interm.type).basicType = EbtSampler;
9064 (yyval.interm.type).sampler.set(EbtFloat, Esd2D);
9065 (yyval.interm.type).sampler.external = true;
9067 #line 9068 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9071 #line 3094 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9073 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9074 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9075 (yyval.interm.type).basicType = EbtSampler;
9076 (yyval.interm.type).sampler.setSubpass(EbtFloat);
9078 #line 9079 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9082 #line 3100 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9084 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9085 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9086 (yyval.interm.type).basicType = EbtSampler;
9087 (yyval.interm.type).sampler.setSubpass(EbtFloat, true);
9089 #line 9090 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9093 #line 3106 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9095 #ifdef AMD_EXTENSIONS
9096 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel());
9097 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9098 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9099 (yyval.interm.type).basicType = EbtSampler;
9100 (yyval.interm.type).sampler.setSubpass(EbtFloat16);
9103 #line 9104 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9107 #line 3115 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9109 #ifdef AMD_EXTENSIONS
9110 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel());
9111 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9112 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9113 (yyval.interm.type).basicType = EbtSampler;
9114 (yyval.interm.type).sampler.setSubpass(EbtFloat16, true);
9117 #line 9118 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9121 #line 3124 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9123 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9124 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9125 (yyval.interm.type).basicType = EbtSampler;
9126 (yyval.interm.type).sampler.setSubpass(EbtInt);
9128 #line 9129 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9132 #line 3130 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9134 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9135 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9136 (yyval.interm.type).basicType = EbtSampler;
9137 (yyval.interm.type).sampler.setSubpass(EbtInt, true);
9139 #line 9140 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9143 #line 3136 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9145 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9146 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9147 (yyval.interm.type).basicType = EbtSampler;
9148 (yyval.interm.type).sampler.setSubpass(EbtUint);
9150 #line 9151 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9154 #line 3142 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9156 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9157 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9158 (yyval.interm.type).basicType = EbtSampler;
9159 (yyval.interm.type).sampler.setSubpass(EbtUint, true);
9161 #line 9162 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9165 #line 3148 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9167 (yyval.interm.type) = (yyvsp[0].interm.type);
9168 (yyval.interm.type).qualifier.storage = parseContext.symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
9169 parseContext.structTypeCheck((yyval.interm.type).loc, (yyval.interm.type));
9171 #line 9172 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9175 #line 3153 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9178 // This is for user defined type names. The lexical phase looked up the
9181 if (const TVariable* variable = ((yyvsp[0].lex).symbol)->getAsVariable()) {
9182 const TType& structure = variable->getType();
9183 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9184 (yyval.interm.type).basicType = EbtStruct;
9185 (yyval.interm.type).userDef = &structure;
9187 parseContext.error((yyvsp[0].lex).loc, "expected type name", (yyvsp[0].lex).string->c_str(), "");
9189 #line 9190 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9193 #line 3169 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9195 parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "highp precision qualifier");
9196 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9197 parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqHigh);
9199 #line 9200 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9203 #line 3174 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9205 parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "mediump precision qualifier");
9206 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9207 parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqMedium);
9209 #line 9210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9213 #line 3179 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9215 parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "lowp precision qualifier");
9216 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9217 parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqLow);
9219 #line 9220 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9223 #line 3187 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9224 { parseContext.nestedStructCheck((yyvsp[-2].lex).loc); }
9225 #line 9226 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9229 #line 3187 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9231 TType* structure = new TType((yyvsp[-1].interm.typeList), *(yyvsp[-4].lex).string);
9232 parseContext.structArrayCheck((yyvsp[-4].lex).loc, *structure);
9233 TVariable* userTypeDef = new TVariable((yyvsp[-4].lex).string, *structure, true);
9234 if (! parseContext.symbolTable.insert(*userTypeDef))
9235 parseContext.error((yyvsp[-4].lex).loc, "redefinition", (yyvsp[-4].lex).string->c_str(), "struct");
9236 (yyval.interm.type).init((yyvsp[-5].lex).loc);
9237 (yyval.interm.type).basicType = EbtStruct;
9238 (yyval.interm.type).userDef = structure;
9239 --parseContext.structNestingLevel;
9241 #line 9242 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9245 #line 3198 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9246 { parseContext.nestedStructCheck((yyvsp[-1].lex).loc); }
9247 #line 9248 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9251 #line 3198 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9253 TType* structure = new TType((yyvsp[-1].interm.typeList), TString(""));
9254 (yyval.interm.type).init((yyvsp[-4].lex).loc);
9255 (yyval.interm.type).basicType = EbtStruct;
9256 (yyval.interm.type).userDef = structure;
9257 --parseContext.structNestingLevel;
9259 #line 9260 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9263 #line 3208 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9265 (yyval.interm.typeList) = (yyvsp[0].interm.typeList);
9267 #line 9268 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9271 #line 3211 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9273 (yyval.interm.typeList) = (yyvsp[-1].interm.typeList);
9274 for (unsigned int i = 0; i < (yyvsp[0].interm.typeList)->size(); ++i) {
9275 for (unsigned int j = 0; j < (yyval.interm.typeList)->size(); ++j) {
9276 if ((*(yyval.interm.typeList))[j].type->getFieldName() == (*(yyvsp[0].interm.typeList))[i].type->getFieldName())
9277 parseContext.error((*(yyvsp[0].interm.typeList))[i].loc, "duplicate member name:", "", (*(yyvsp[0].interm.typeList))[i].type->getFieldName().c_str());
9279 (yyval.interm.typeList)->push_back((*(yyvsp[0].interm.typeList))[i]);
9282 #line 9283 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9286 #line 3224 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9288 if ((yyvsp[-2].interm.type).arraySizes) {
9289 parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
9290 parseContext.profileRequires((yyvsp[-2].interm.type).loc, EEsProfile, 300, 0, "arrayed type");
9291 if (parseContext.profile == EEsProfile)
9292 parseContext.arraySizeRequiredCheck((yyvsp[-2].interm.type).loc, *(yyvsp[-2].interm.type).arraySizes);
9295 (yyval.interm.typeList) = (yyvsp[-1].interm.typeList);
9297 parseContext.voidErrorCheck((yyvsp[-2].interm.type).loc, (*(yyvsp[-1].interm.typeList))[0].type->getFieldName(), (yyvsp[-2].interm.type).basicType);
9298 parseContext.precisionQualifierCheck((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).basicType, (yyvsp[-2].interm.type).qualifier);
9300 for (unsigned int i = 0; i < (yyval.interm.typeList)->size(); ++i) {
9301 TType type((yyvsp[-2].interm.type));
9302 type.setFieldName((*(yyval.interm.typeList))[i].type->getFieldName());
9303 type.transferArraySizes((*(yyval.interm.typeList))[i].type->getArraySizes());
9304 type.copyArrayInnerSizes((yyvsp[-2].interm.type).arraySizes);
9305 parseContext.arrayOfArrayVersionCheck((*(yyval.interm.typeList))[i].loc, type.getArraySizes());
9306 (*(yyval.interm.typeList))[i].type->shallowCopy(type);
9309 #line 9310 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9313 #line 3246 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9315 if ((yyvsp[-2].interm.type).arraySizes) {
9316 parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
9317 parseContext.profileRequires((yyvsp[-2].interm.type).loc, EEsProfile, 300, 0, "arrayed type");
9318 if (parseContext.profile == EEsProfile)
9319 parseContext.arraySizeRequiredCheck((yyvsp[-2].interm.type).loc, *(yyvsp[-2].interm.type).arraySizes);
9322 (yyval.interm.typeList) = (yyvsp[-1].interm.typeList);
9324 parseContext.memberQualifierCheck((yyvsp[-3].interm.type));
9325 parseContext.voidErrorCheck((yyvsp[-2].interm.type).loc, (*(yyvsp[-1].interm.typeList))[0].type->getFieldName(), (yyvsp[-2].interm.type).basicType);
9326 parseContext.mergeQualifiers((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).qualifier, (yyvsp[-3].interm.type).qualifier, true);
9327 parseContext.precisionQualifierCheck((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).basicType, (yyvsp[-2].interm.type).qualifier);
9329 for (unsigned int i = 0; i < (yyval.interm.typeList)->size(); ++i) {
9330 TType type((yyvsp[-2].interm.type));
9331 type.setFieldName((*(yyval.interm.typeList))[i].type->getFieldName());
9332 type.transferArraySizes((*(yyval.interm.typeList))[i].type->getArraySizes());
9333 type.copyArrayInnerSizes((yyvsp[-2].interm.type).arraySizes);
9334 parseContext.arrayOfArrayVersionCheck((*(yyval.interm.typeList))[i].loc, type.getArraySizes());
9335 (*(yyval.interm.typeList))[i].type->shallowCopy(type);
9338 #line 9339 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9342 #line 3273 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9344 (yyval.interm.typeList) = new TTypeList;
9345 (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
9347 #line 9348 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9351 #line 3277 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9353 (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
9355 #line 9356 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9359 #line 3283 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9361 (yyval.interm.typeLine).type = new TType(EbtVoid);
9362 (yyval.interm.typeLine).loc = (yyvsp[0].lex).loc;
9363 (yyval.interm.typeLine).type->setFieldName(*(yyvsp[0].lex).string);
9365 #line 9366 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9369 #line 3288 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9371 parseContext.arrayOfArrayVersionCheck((yyvsp[-1].lex).loc, (yyvsp[0].interm).arraySizes);
9373 (yyval.interm.typeLine).type = new TType(EbtVoid);
9374 (yyval.interm.typeLine).loc = (yyvsp[-1].lex).loc;
9375 (yyval.interm.typeLine).type->setFieldName(*(yyvsp[-1].lex).string);
9376 (yyval.interm.typeLine).type->transferArraySizes((yyvsp[0].interm).arraySizes);
9378 #line 9379 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9382 #line 3299 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9384 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
9386 #line 9387 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9390 #line 3302 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9392 const char* initFeature = "{ } style initializers";
9393 parseContext.requireProfile((yyvsp[-2].lex).loc, ~EEsProfile, initFeature);
9394 parseContext.profileRequires((yyvsp[-2].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature);
9395 (yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode);
9397 #line 9398 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9401 #line 3308 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9403 const char* initFeature = "{ } style initializers";
9404 parseContext.requireProfile((yyvsp[-3].lex).loc, ~EEsProfile, initFeature);
9405 parseContext.profileRequires((yyvsp[-3].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature);
9406 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
9408 #line 9409 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9412 #line 3317 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9414 (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate(0, (yyvsp[0].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)->getLoc());
9416 #line 9417 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9420 #line 3320 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9422 (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
9424 #line 9425 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9428 #line 3326 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9429 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9430 #line 9431 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9434 #line 3330 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9435 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9436 #line 9437 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9440 #line 3331 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9441 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9442 #line 9443 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9446 #line 3337 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9447 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9448 #line 9449 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9452 #line 3338 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9453 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9454 #line 9455 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9458 #line 3339 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9459 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9460 #line 9461 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9464 #line 3340 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9465 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9466 #line 9467 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9470 #line 3341 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9471 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9472 #line 9473 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9476 #line 3342 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9477 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9478 #line 9479 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9482 #line 3343 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9483 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9484 #line 9485 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9488 #line 3347 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9489 { (yyval.interm.intermNode) = 0; }
9490 #line 9491 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9494 #line 3348 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9496 parseContext.symbolTable.push();
9497 ++parseContext.statementNestingLevel;
9499 #line 9500 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9503 #line 3352 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9505 parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
9506 --parseContext.statementNestingLevel;
9508 #line 9509 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9512 #line 3356 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9514 if ((yyvsp[-2].interm.intermNode) && (yyvsp[-2].interm.intermNode)->getAsAggregate())
9515 (yyvsp[-2].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);
9516 (yyval.interm.intermNode) = (yyvsp[-2].interm.intermNode);
9518 #line 9519 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9522 #line 3364 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9523 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9524 #line 9525 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9528 #line 3365 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9529 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9530 #line 9531 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9534 #line 3369 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9536 ++parseContext.controlFlowNestingLevel;
9538 #line 9539 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9542 #line 3372 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9544 --parseContext.controlFlowNestingLevel;
9545 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9547 #line 9548 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9551 #line 3376 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9553 parseContext.symbolTable.push();
9554 ++parseContext.statementNestingLevel;
9555 ++parseContext.controlFlowNestingLevel;
9557 #line 9558 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9561 #line 3381 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9563 parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
9564 --parseContext.statementNestingLevel;
9565 --parseContext.controlFlowNestingLevel;
9566 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9568 #line 9569 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9572 #line 3390 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9574 (yyval.interm.intermNode) = 0;
9576 #line 9577 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9580 #line 3393 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9582 if ((yyvsp[-1].interm.intermNode) && (yyvsp[-1].interm.intermNode)->getAsAggregate())
9583 (yyvsp[-1].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);
9584 (yyval.interm.intermNode) = (yyvsp[-1].interm.intermNode);
9586 #line 9587 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9590 #line 3401 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9592 (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode));
9593 if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase ||
9594 (yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpDefault)) {
9595 parseContext.wrapupSwitchSubsequence(0, (yyvsp[0].interm.intermNode));
9596 (yyval.interm.intermNode) = 0; // start a fresh subsequence for what's after this case
9599 #line 9600 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9603 #line 3409 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9605 if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase ||
9606 (yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpDefault)) {
9607 parseContext.wrapupSwitchSubsequence((yyvsp[-1].interm.intermNode) ? (yyvsp[-1].interm.intermNode)->getAsAggregate() : 0, (yyvsp[0].interm.intermNode));
9608 (yyval.interm.intermNode) = 0; // start a fresh subsequence for what's after this case
9610 (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
9612 #line 9613 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9616 #line 3420 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9617 { (yyval.interm.intermNode) = 0; }
9618 #line 9619 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9622 #line 3421 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9623 { (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[-1].interm.intermTypedNode)); }
9624 #line 9625 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9628 #line 3425 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9630 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9632 #line 9633 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9636 #line 3428 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9638 parseContext.handleSelectionAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
9639 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9641 #line 9642 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9645 #line 3434 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9647 parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-2].interm.intermTypedNode));
9648 (yyval.interm.intermNode) = parseContext.intermediate.addSelection((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.nodePair), (yyvsp[-4].lex).loc);
9650 #line 9651 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9654 #line 3441 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9656 (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);
9657 (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode);
9659 #line 9660 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9663 #line 3445 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9665 (yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode);
9666 (yyval.interm.nodePair).node2 = 0;
9668 #line 9669 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9672 #line 3453 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9674 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
9675 parseContext.boolCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode));
9677 #line 9678 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9681 #line 3457 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9683 parseContext.boolCheck((yyvsp[-2].lex).loc, (yyvsp[-3].interm.type));
9685 TType type((yyvsp[-3].interm.type));
9686 TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-3].interm.type), 0, (yyvsp[0].interm.intermTypedNode));
9688 (yyval.interm.intermTypedNode) = initNode->getAsTyped();
9690 (yyval.interm.intermTypedNode) = 0;
9692 #line 9693 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9696 #line 3470 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9698 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9700 #line 9701 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9704 #line 3473 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9706 parseContext.handleSwitchAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
9707 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9709 #line 9710 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9713 #line 3479 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9715 // start new switch sequence on the switch stack
9716 ++parseContext.controlFlowNestingLevel;
9717 ++parseContext.statementNestingLevel;
9718 parseContext.switchSequenceStack.push_back(new TIntermSequence);
9719 parseContext.switchLevel.push_back(parseContext.statementNestingLevel);
9720 parseContext.symbolTable.push();
9722 #line 9723 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9726 #line 3487 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9728 (yyval.interm.intermNode) = parseContext.addSwitch((yyvsp[-7].lex).loc, (yyvsp[-5].interm.intermTypedNode), (yyvsp[-1].interm.intermNode) ? (yyvsp[-1].interm.intermNode)->getAsAggregate() : 0);
9729 delete parseContext.switchSequenceStack.back();
9730 parseContext.switchSequenceStack.pop_back();
9731 parseContext.switchLevel.pop_back();
9732 parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
9733 --parseContext.statementNestingLevel;
9734 --parseContext.controlFlowNestingLevel;
9736 #line 9737 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9740 #line 3499 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9742 (yyval.interm.intermNode) = 0;
9744 #line 9745 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9748 #line 3502 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9750 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9752 #line 9753 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9756 #line 3508 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9758 (yyval.interm.intermNode) = 0;
9759 if (parseContext.switchLevel.size() == 0)
9760 parseContext.error((yyvsp[-2].lex).loc, "cannot appear outside switch statement", "case", "");
9761 else if (parseContext.switchLevel.back() != parseContext.statementNestingLevel)
9762 parseContext.error((yyvsp[-2].lex).loc, "cannot be nested inside control flow", "case", "");
9764 parseContext.constantValueCheck((yyvsp[-1].interm.intermTypedNode), "case");
9765 parseContext.integerCheck((yyvsp[-1].interm.intermTypedNode), "case");
9766 (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpCase, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc);
9769 #line 9770 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9773 #line 3520 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9775 (yyval.interm.intermNode) = 0;
9776 if (parseContext.switchLevel.size() == 0)
9777 parseContext.error((yyvsp[-1].lex).loc, "cannot appear outside switch statement", "default", "");
9778 else if (parseContext.switchLevel.back() != parseContext.statementNestingLevel)
9779 parseContext.error((yyvsp[-1].lex).loc, "cannot be nested inside control flow", "default", "");
9781 (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDefault, (yyvsp[-1].lex).loc);
9783 #line 9784 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9787 #line 3532 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9789 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9791 #line 9792 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9795 #line 3535 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9797 parseContext.handleLoopAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
9798 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9800 #line 9801 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9804 #line 3541 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9806 if (! parseContext.limits.whileLoops)
9807 parseContext.error((yyvsp[-1].lex).loc, "while loops not available", "limitation", "");
9808 parseContext.symbolTable.push();
9809 ++parseContext.loopNestingLevel;
9810 ++parseContext.statementNestingLevel;
9811 ++parseContext.controlFlowNestingLevel;
9813 #line 9814 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9817 #line 3549 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9819 parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
9820 (yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[0].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, true, (yyvsp[-5].lex).loc);
9821 --parseContext.loopNestingLevel;
9822 --parseContext.statementNestingLevel;
9823 --parseContext.controlFlowNestingLevel;
9825 #line 9826 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9829 #line 3556 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9831 ++parseContext.loopNestingLevel;
9832 ++parseContext.statementNestingLevel;
9833 ++parseContext.controlFlowNestingLevel;
9835 #line 9836 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9839 #line 3561 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9841 if (! parseContext.limits.whileLoops)
9842 parseContext.error((yyvsp[-7].lex).loc, "do-while loops not available", "limitation", "");
9844 parseContext.boolCheck((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode));
9846 (yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[-5].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, false, (yyvsp[-4].lex).loc);
9847 --parseContext.loopNestingLevel;
9848 --parseContext.statementNestingLevel;
9849 --parseContext.controlFlowNestingLevel;
9851 #line 9852 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9855 #line 3572 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9857 parseContext.symbolTable.push();
9858 ++parseContext.loopNestingLevel;
9859 ++parseContext.statementNestingLevel;
9860 ++parseContext.controlFlowNestingLevel;
9862 #line 9863 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9866 #line 3578 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9868 parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
9869 (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[-3].interm.intermNode), (yyvsp[-5].lex).loc);
9870 TIntermLoop* forLoop = parseContext.intermediate.addLoop((yyvsp[0].interm.intermNode), reinterpret_cast<TIntermTyped*>((yyvsp[-2].interm.nodePair).node1), reinterpret_cast<TIntermTyped*>((yyvsp[-2].interm.nodePair).node2), true, (yyvsp[-6].lex).loc);
9871 if (! parseContext.limits.nonInductiveForLoops)
9872 parseContext.inductiveLoopCheck((yyvsp[-6].lex).loc, (yyvsp[-3].interm.intermNode), forLoop);
9873 (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyval.interm.intermNode), forLoop, (yyvsp[-6].lex).loc);
9874 (yyval.interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);
9875 --parseContext.loopNestingLevel;
9876 --parseContext.statementNestingLevel;
9877 --parseContext.controlFlowNestingLevel;
9879 #line 9880 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9883 #line 3593 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9885 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9887 #line 9888 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9891 #line 3596 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9893 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9895 #line 9896 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9899 #line 3602 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9901 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
9903 #line 9904 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9907 #line 3605 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9909 (yyval.interm.intermTypedNode) = 0;
9911 #line 9912 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9915 #line 3611 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9917 (yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode);
9918 (yyval.interm.nodePair).node2 = 0;
9920 #line 9921 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9924 #line 3615 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9926 (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode);
9927 (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode);
9929 #line 9930 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9933 #line 3622 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9935 if (parseContext.loopNestingLevel <= 0)
9936 parseContext.error((yyvsp[-1].lex).loc, "continue statement only allowed in loops", "", "");
9937 (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpContinue, (yyvsp[-1].lex).loc);
9939 #line 9940 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9943 #line 3627 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9945 if (parseContext.loopNestingLevel + parseContext.switchSequenceStack.size() <= 0)
9946 parseContext.error((yyvsp[-1].lex).loc, "break statement only allowed in switch and loops", "", "");
9947 (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpBreak, (yyvsp[-1].lex).loc);
9949 #line 9950 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9953 #line 3632 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9955 (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].lex).loc);
9956 if (parseContext.currentFunctionType->getBasicType() != EbtVoid)
9957 parseContext.error((yyvsp[-1].lex).loc, "non-void function must return a value", "return", "");
9958 if (parseContext.inMain)
9959 parseContext.postEntryPointReturn = true;
9961 #line 9962 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9965 #line 3639 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9967 (yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode));
9969 #line 9970 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9973 #line 3642 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9975 parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard");
9976 (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc);
9978 #line 9979 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9982 #line 3651 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9984 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9985 parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
9987 #line 9988 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9991 #line 3655 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9993 if ((yyvsp[0].interm.intermNode) != nullptr) {
9994 (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
9995 parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
9998 #line 9999 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10002 #line 3664 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10004 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
10006 #line 10007 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10010 #line 3667 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10012 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
10014 #line 10015 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10018 #line 3670 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10020 parseContext.requireProfile((yyvsp[0].lex).loc, ~EEsProfile, "extraneous semicolon");
10021 parseContext.profileRequires((yyvsp[0].lex).loc, ~EEsProfile, 460, nullptr, "extraneous semicolon");
10022 (yyval.interm.intermNode) = nullptr;
10024 #line 10025 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10028 #line 3678 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10030 (yyvsp[0].interm).function = parseContext.handleFunctionDeclarator((yyvsp[0].interm).loc, *(yyvsp[0].interm).function, false /* not prototype */);
10031 (yyvsp[0].interm).intermNode = parseContext.handleFunctionDefinition((yyvsp[0].interm).loc, *(yyvsp[0].interm).function);
10033 #line 10034 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10037 #line 3682 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10039 // May be best done as post process phase on intermediate code
10040 if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue)
10041 parseContext.error((yyvsp[-2].interm).loc, "function does not return a value:", "", (yyvsp[-2].interm).function->getName().c_str());
10042 parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
10043 (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm).intermNode, (yyvsp[0].interm.intermNode));
10044 parseContext.intermediate.setAggregateOperator((yyval.interm.intermNode), EOpFunction, (yyvsp[-2].interm).function->getType(), (yyvsp[-2].interm).loc);
10045 (yyval.interm.intermNode)->getAsAggregate()->setName((yyvsp[-2].interm).function->getMangledName().c_str());
10047 // store the pragma information for debug and optimize and other vendor specific
10048 // information. This information can be queried from the parse tree
10049 (yyval.interm.intermNode)->getAsAggregate()->setOptimize(parseContext.contextPragma.optimize);
10050 (yyval.interm.intermNode)->getAsAggregate()->setDebug(parseContext.contextPragma.debug);
10051 (yyval.interm.intermNode)->getAsAggregate()->setPragmaTable(parseContext.contextPragma.pragmaTable);
10053 #line 10054 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10057 #line 3700 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10059 (yyval.interm.attributes) = (yyvsp[-2].interm.attributes);
10060 parseContext.requireExtensions((yyvsp[-4].lex).loc, 1, &E_GL_EXT_control_flow_attributes, "attribute");
10062 #line 10063 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10066 #line 3706 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10068 (yyval.interm.attributes) = (yyvsp[0].interm.attributes);
10070 #line 10071 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10074 #line 3709 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10076 (yyval.interm.attributes) = parseContext.mergeAttributes((yyvsp[-2].interm.attributes), (yyvsp[0].interm.attributes));
10078 #line 10079 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10082 #line 3714 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10084 (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[0].lex).string);
10086 #line 10087 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10090 #line 3717 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10092 (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[-3].lex).string, (yyvsp[-1].interm.intermTypedNode));
10094 #line 10095 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10098 #line 10099 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10101 /* User semantic actions sometimes alter yychar, and that requires
10102 that yytoken be updated with the new translation. We take the
10103 approach of translating immediately before every use of yytoken.
10104 One alternative is translating here after every semantic action,
10105 but that translation would be missed if the semantic action invokes
10106 YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
10107 if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
10108 incorrect destructor might then be invoked immediately. In the
10109 case of YYERROR or YYBACKUP, subsequent parser actions might lead
10110 to an incorrect destructor call or verbose syntax error message
10111 before the lookahead is translated. */
10112 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
10114 YYPOPSTACK (yylen);
10116 YY_STACK_PRINT (yyss, yyssp);
10120 /* Now 'shift' the result of the reduction. Determine what state
10121 that goes to, based on the state we popped back to and the rule
10122 number reduced by. */
10126 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
10127 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
10128 yystate = yytable[yystate];
10130 yystate = yydefgoto[yyn - YYNTOKENS];
10135 /*--------------------------------------.
10136 | yyerrlab -- here on detecting error. |
10137 `--------------------------------------*/
10139 /* Make sure we have latest lookahead translation. See comments at
10140 user semantic actions for why this is necessary. */
10141 yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
10143 /* If not already recovering from an error, report this error. */
10147 #if ! YYERROR_VERBOSE
10148 yyerror (pParseContext, YY_("syntax error"));
10150 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
10153 char const *yymsgp = YY_("syntax error");
10154 int yysyntax_error_status;
10155 yysyntax_error_status = YYSYNTAX_ERROR;
10156 if (yysyntax_error_status == 0)
10158 else if (yysyntax_error_status == 1)
10160 if (yymsg != yymsgbuf)
10161 YYSTACK_FREE (yymsg);
10162 yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
10166 yymsg_alloc = sizeof yymsgbuf;
10167 yysyntax_error_status = 2;
10171 yysyntax_error_status = YYSYNTAX_ERROR;
10175 yyerror (pParseContext, yymsgp);
10176 if (yysyntax_error_status == 2)
10177 goto yyexhaustedlab;
10179 # undef YYSYNTAX_ERROR
10185 if (yyerrstatus == 3)
10187 /* If just tried and failed to reuse lookahead token after an
10188 error, discard it. */
10190 if (yychar <= YYEOF)
10192 /* Return failure if at end of input. */
10193 if (yychar == YYEOF)
10198 yydestruct ("Error: discarding",
10199 yytoken, &yylval, pParseContext);
10204 /* Else will try to reuse lookahead token after shifting the error
10209 /*---------------------------------------------------.
10210 | yyerrorlab -- error raised explicitly by YYERROR. |
10211 `---------------------------------------------------*/
10214 /* Pacify compilers like GCC when the user code never invokes
10215 YYERROR and the label yyerrorlab therefore never appears in user
10217 if (/*CONSTCOND*/ 0)
10220 /* Do not reclaim the symbols of the rule whose action triggered
10222 YYPOPSTACK (yylen);
10224 YY_STACK_PRINT (yyss, yyssp);
10229 /*-------------------------------------------------------------.
10230 | yyerrlab1 -- common code for both syntax error and YYERROR. |
10231 `-------------------------------------------------------------*/
10233 yyerrstatus = 3; /* Each real token shifted decrements this. */
10237 yyn = yypact[yystate];
10238 if (!yypact_value_is_default (yyn))
10241 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
10243 yyn = yytable[yyn];
10249 /* Pop the current state because it cannot handle the error token. */
10254 yydestruct ("Error: popping",
10255 yystos[yystate], yyvsp, pParseContext);
10258 YY_STACK_PRINT (yyss, yyssp);
10261 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
10263 YY_IGNORE_MAYBE_UNINITIALIZED_END
10266 /* Shift the error token. */
10267 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
10273 /*-------------------------------------.
10274 | yyacceptlab -- YYACCEPT comes here. |
10275 `-------------------------------------*/
10280 /*-----------------------------------.
10281 | yyabortlab -- YYABORT comes here. |
10282 `-----------------------------------*/
10287 #if !defined yyoverflow || YYERROR_VERBOSE
10288 /*-------------------------------------------------.
10289 | yyexhaustedlab -- memory exhaustion comes here. |
10290 `-------------------------------------------------*/
10292 yyerror (pParseContext, YY_("memory exhausted"));
10294 /* Fall through. */
10298 if (yychar != YYEMPTY)
10300 /* Make sure we have latest lookahead translation. See comments at
10301 user semantic actions for why this is necessary. */
10302 yytoken = YYTRANSLATE (yychar);
10303 yydestruct ("Cleanup: discarding lookahead",
10304 yytoken, &yylval, pParseContext);
10306 /* Do not reclaim the symbols of the rule whose action triggered
10307 this YYABORT or YYACCEPT. */
10308 YYPOPSTACK (yylen);
10309 YY_STACK_PRINT (yyss, yyssp);
10310 while (yyssp != yyss)
10312 yydestruct ("Cleanup: popping",
10313 yystos[*yyssp], yyvsp, pParseContext);
10318 YYSTACK_FREE (yyss);
10320 #if YYERROR_VERBOSE
10321 if (yymsg != yymsgbuf)
10322 YYSTACK_FREE (yymsg);
10326 #line 3721 "MachineIndependent/glslang.y" /* yacc.c:1906 */