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 43 "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
216 DEVICECOHERENT = 348,
217 QUEUEFAMILYCOHERENT = 349,
218 WORKGROUPCOHERENT = 350,
219 SUBGROUPCOHERENT = 351,
249 EXPLICITINTERPAMD = 381,
251 PERPRIMITIVENV = 383,
306 SAMPLER1DSHADOW = 438,
307 SAMPLER2DSHADOW = 439,
308 SAMPLERCUBESHADOW = 440,
309 SAMPLER1DARRAY = 441,
310 SAMPLER2DARRAY = 442,
311 SAMPLER1DARRAYSHADOW = 443,
312 SAMPLER2DARRAYSHADOW = 444,
317 ISAMPLER1DARRAY = 449,
318 ISAMPLER2DARRAY = 450,
323 USAMPLER1DARRAY = 455,
324 USAMPLER2DARRAY = 456,
326 SAMPLER2DRECTSHADOW = 458,
327 ISAMPLER2DRECT = 459,
328 USAMPLER2DRECT = 460,
330 ISAMPLERBUFFER = 462,
331 USAMPLERBUFFER = 463,
332 SAMPLERCUBEARRAY = 464,
333 SAMPLERCUBEARRAYSHADOW = 465,
334 ISAMPLERCUBEARRAY = 466,
335 USAMPLERCUBEARRAY = 467,
339 SAMPLER2DMSARRAY = 471,
340 ISAMPLER2DMSARRAY = 472,
341 USAMPLER2DMSARRAY = 473,
342 SAMPLEREXTERNALOES = 474,
343 SAMPLEREXTERNAL2DY2YEXT = 475,
347 F16SAMPLER2DRECT = 479,
348 F16SAMPLERCUBE = 480,
349 F16SAMPLER1DARRAY = 481,
350 F16SAMPLER2DARRAY = 482,
351 F16SAMPLERCUBEARRAY = 483,
352 F16SAMPLERBUFFER = 484,
353 F16SAMPLER2DMS = 485,
354 F16SAMPLER2DMSARRAY = 486,
355 F16SAMPLER1DSHADOW = 487,
356 F16SAMPLER2DSHADOW = 488,
357 F16SAMPLER1DARRAYSHADOW = 489,
358 F16SAMPLER2DARRAYSHADOW = 490,
359 F16SAMPLER2DRECTSHADOW = 491,
360 F16SAMPLERCUBESHADOW = 492,
361 F16SAMPLERCUBEARRAYSHADOW = 493,
368 TEXTURE1DARRAY = 500,
369 TEXTURE2DARRAY = 501,
374 ITEXTURE1DARRAY = 506,
375 ITEXTURE2DARRAY = 507,
380 UTEXTURE1DARRAY = 512,
381 UTEXTURE2DARRAY = 513,
383 ITEXTURE2DRECT = 515,
384 UTEXTURE2DRECT = 516,
386 ITEXTUREBUFFER = 518,
387 UTEXTUREBUFFER = 519,
388 TEXTURECUBEARRAY = 520,
389 ITEXTURECUBEARRAY = 521,
390 UTEXTURECUBEARRAY = 522,
394 TEXTURE2DMSARRAY = 526,
395 ITEXTURE2DMSARRAY = 527,
396 UTEXTURE2DMSARRAY = 528,
400 F16TEXTURE2DRECT = 532,
401 F16TEXTURECUBE = 533,
402 F16TEXTURE1DARRAY = 534,
403 F16TEXTURE2DARRAY = 535,
404 F16TEXTURECUBEARRAY = 536,
405 F16TEXTUREBUFFER = 537,
406 F16TEXTURE2DMS = 538,
407 F16TEXTURE2DMSARRAY = 539,
409 SUBPASSINPUTMS = 541,
411 ISUBPASSINPUTMS = 543,
413 USUBPASSINPUTMS = 545,
414 F16SUBPASSINPUT = 546,
415 F16SUBPASSINPUTMS = 547,
440 IMAGECUBEARRAY = 572,
441 IIMAGECUBEARRAY = 573,
442 UIMAGECUBEARRAY = 574,
446 IMAGE2DMSARRAY = 578,
447 IIMAGE2DMSARRAY = 579,
448 UIMAGE2DMSARRAY = 580,
452 F16IMAGE2DRECT = 584,
454 F16IMAGE1DARRAY = 586,
455 F16IMAGE2DARRAY = 587,
456 F16IMAGECUBEARRAY = 588,
457 F16IMAGEBUFFER = 589,
459 F16IMAGE2DMSARRAY = 591,
466 DOUBLECONSTANT = 598,
468 UINT16CONSTANT = 600,
470 UINT32CONSTANT = 602,
474 UINT64CONSTANT = 606,
476 FLOAT16CONSTANT = 608,
524 HIGH_PRECISION = 656,
525 MEDIUM_PRECISION = 657,
535 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
539 #line 71 "MachineIndependent/glslang.y" /* yacc.c:355 */
542 glslang::TSourceLoc loc;
544 glslang::TString *string;
548 unsigned long long u64;
552 glslang::TSymbol* symbol;
555 glslang::TSourceLoc loc;
556 glslang::TOperator op;
558 TIntermNode* intermNode;
559 glslang::TIntermNodePair nodePair;
560 glslang::TIntermTyped* intermTypedNode;
561 glslang::TAttributes* attributes;
564 glslang::TPublicType type;
565 glslang::TFunction* function;
566 glslang::TParameter param;
567 glslang::TTypeLoc typeLine;
568 glslang::TTypeList* typeList;
569 glslang::TArraySizes* arraySizes;
570 glslang::TIdentifierList* identifierList;
572 glslang::TArraySizes* typeParameters;
575 #line 576 "MachineIndependent/glslang_tab.cpp" /* yacc.c:355 */
578 typedef union YYSTYPE YYSTYPE;
579 # define YYSTYPE_IS_TRIVIAL 1
580 # define YYSTYPE_IS_DECLARED 1
585 int yyparse (glslang::TParseContext* pParseContext);
587 #endif /* !YY_YY_MACHINEINDEPENDENT_GLSLANG_TAB_CPP_H_INCLUDED */
589 /* Copy the second part of user declarations. */
590 #line 107 "MachineIndependent/glslang.y" /* yacc.c:358 */
593 /* windows only pragma */
595 #pragma warning(disable : 4065)
596 #pragma warning(disable : 4127)
597 #pragma warning(disable : 4244)
600 #define parseContext (*pParseContext)
601 #define yyerror(context, msg) context->parserError(msg)
603 extern int yylex(YYSTYPE*, TParseContext&);
606 #line 607 "MachineIndependent/glslang_tab.cpp" /* yacc.c:358 */
613 typedef YYTYPE_UINT8 yytype_uint8;
615 typedef unsigned char yytype_uint8;
619 typedef YYTYPE_INT8 yytype_int8;
621 typedef signed char yytype_int8;
625 typedef YYTYPE_UINT16 yytype_uint16;
627 typedef unsigned short int yytype_uint16;
631 typedef YYTYPE_INT16 yytype_int16;
633 typedef short int yytype_int16;
637 # ifdef __SIZE_TYPE__
638 # define YYSIZE_T __SIZE_TYPE__
639 # elif defined size_t
640 # define YYSIZE_T size_t
641 # elif ! defined YYSIZE_T
642 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
643 # define YYSIZE_T size_t
645 # define YYSIZE_T unsigned int
649 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
652 # if defined YYENABLE_NLS && YYENABLE_NLS
654 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
655 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
659 # define YY_(Msgid) Msgid
664 # if (defined __GNUC__ \
665 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
666 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
667 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
669 # define YY_ATTRIBUTE(Spec) /* empty */
673 #ifndef YY_ATTRIBUTE_PURE
674 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
677 #ifndef YY_ATTRIBUTE_UNUSED
678 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
681 #if !defined _Noreturn \
682 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
683 # if defined _MSC_VER && 1200 <= _MSC_VER
684 # define _Noreturn __declspec (noreturn)
686 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
690 /* Suppress unused-variable warnings by "using" E. */
691 #if ! defined lint || defined __GNUC__
692 # define YYUSE(E) ((void) (E))
694 # define YYUSE(E) /* empty */
697 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
698 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
699 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
700 _Pragma ("GCC diagnostic push") \
701 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
702 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
703 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
704 _Pragma ("GCC diagnostic pop")
706 # define YY_INITIAL_VALUE(Value) Value
708 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
709 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
710 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
712 #ifndef YY_INITIAL_VALUE
713 # define YY_INITIAL_VALUE(Value) /* Nothing. */
717 #if ! defined yyoverflow || YYERROR_VERBOSE
719 /* The parser invokes alloca or malloc; define the necessary symbols. */
721 # ifdef YYSTACK_USE_ALLOCA
722 # if YYSTACK_USE_ALLOCA
724 # define YYSTACK_ALLOC __builtin_alloca
725 # elif defined __BUILTIN_VA_ARG_INCR
726 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
728 # define YYSTACK_ALLOC __alloca
729 # elif defined _MSC_VER
730 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
731 # define alloca _alloca
733 # define YYSTACK_ALLOC alloca
734 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
735 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
736 /* Use EXIT_SUCCESS as a witness for stdlib.h. */
737 # ifndef EXIT_SUCCESS
738 # define EXIT_SUCCESS 0
745 # ifdef YYSTACK_ALLOC
746 /* Pacify GCC's 'empty if-body' warning. */
747 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
748 # ifndef YYSTACK_ALLOC_MAXIMUM
749 /* The OS might guarantee only one guard page at the bottom of the stack,
750 and a page size can be as small as 4096 bytes. So we cannot safely
751 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
752 to allow for a few compiler-allocated temporary stack slots. */
753 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
756 # define YYSTACK_ALLOC YYMALLOC
757 # define YYSTACK_FREE YYFREE
758 # ifndef YYSTACK_ALLOC_MAXIMUM
759 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
761 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
762 && ! ((defined YYMALLOC || defined malloc) \
763 && (defined YYFREE || defined free)))
764 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
765 # ifndef EXIT_SUCCESS
766 # define EXIT_SUCCESS 0
770 # define YYMALLOC malloc
771 # if ! defined malloc && ! defined EXIT_SUCCESS
772 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
777 # if ! defined free && ! defined EXIT_SUCCESS
778 void free (void *); /* INFRINGES ON USER NAME SPACE */
782 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
785 #if (! defined yyoverflow \
786 && (! defined __cplusplus \
787 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
789 /* A type that is properly aligned for any stack member. */
792 yytype_int16 yyss_alloc;
796 /* The size of the maximum gap between one aligned stack and the next. */
797 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
799 /* The size of an array large to enough to hold all stacks, each with
801 # define YYSTACK_BYTES(N) \
802 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
803 + YYSTACK_GAP_MAXIMUM)
805 # define YYCOPY_NEEDED 1
807 /* Relocate STACK from its old location to the new one. The
808 local variables YYSIZE and YYSTACKSIZE give the old and new number of
809 elements in the stack, and YYPTR gives the new location of the
810 stack. Advance YYPTR to a properly aligned location for the next
812 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
815 YYSIZE_T yynewbytes; \
816 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
817 Stack = &yyptr->Stack_alloc; \
818 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
819 yyptr += yynewbytes / sizeof (*yyptr); \
825 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
826 /* Copy COUNT objects from SRC to DST. The source and destination do
829 # if defined __GNUC__ && 1 < __GNUC__
830 # define YYCOPY(Dst, Src, Count) \
831 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
833 # define YYCOPY(Dst, Src, Count) \
837 for (yyi = 0; yyi < (Count); yyi++) \
838 (Dst)[yyi] = (Src)[yyi]; \
843 #endif /* !YYCOPY_NEEDED */
845 /* YYFINAL -- State number of the termination state. */
847 /* YYLAST -- Last index in YYTABLE. */
850 /* YYNTOKENS -- Number of terminals. */
851 #define YYNTOKENS 408
852 /* YYNNTS -- Number of nonterminals. */
854 /* YYNRULES -- Number of rules. */
856 /* YYNSTATES -- Number of states. */
857 #define YYNSTATES 722
859 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
860 by yylex, with out-of-bounds checking. */
862 #define YYMAXUTOK 662
864 #define YYTRANSLATE(YYX) \
865 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
867 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
868 as returned by yylex, without out-of-bounds checking. */
869 static const yytype_uint16 yytranslate[] =
871 0, 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, 2, 2, 2, 2,
892 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
893 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
894 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
895 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
896 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
897 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
898 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
899 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
900 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
901 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
902 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
903 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
904 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
905 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
906 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
907 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
908 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
909 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
910 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
911 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
912 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
913 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
914 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
915 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
916 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
917 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
918 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
919 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
920 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
921 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
922 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
923 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
924 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
925 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
926 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
927 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
928 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
929 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
930 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
931 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
932 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
933 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
934 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
935 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
936 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
941 /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
942 static const yytype_uint16 yyrline[] =
944 0, 302, 302, 308, 311, 315, 319, 322, 326, 330,
945 334, 338, 342, 345, 349, 353, 356, 364, 367, 370,
946 373, 376, 381, 389, 396, 403, 409, 413, 420, 423,
947 429, 436, 446, 454, 459, 486, 494, 500, 504, 508,
948 528, 529, 530, 531, 537, 538, 543, 548, 557, 558,
949 563, 571, 572, 578, 587, 588, 593, 598, 603, 611,
950 612, 621, 633, 634, 643, 644, 653, 654, 663, 664,
951 672, 673, 681, 682, 690, 691, 691, 709, 710, 726,
952 730, 734, 738, 743, 747, 751, 755, 759, 763, 767,
953 774, 777, 788, 795, 800, 805, 813, 817, 821, 825,
954 830, 835, 844, 844, 855, 859, 866, 873, 876, 883,
955 891, 911, 934, 949, 974, 985, 995, 1005, 1015, 1024,
956 1027, 1031, 1035, 1040, 1048, 1053, 1058, 1063, 1068, 1077,
957 1088, 1115, 1124, 1131, 1138, 1149, 1158, 1168, 1180, 1189,
958 1201, 1207, 1210, 1217, 1221, 1225, 1233, 1242, 1245, 1256,
959 1259, 1262, 1266, 1270, 1274, 1278, 1284, 1288, 1300, 1314,
960 1319, 1325, 1331, 1338, 1344, 1349, 1354, 1359, 1369, 1379,
961 1389, 1399, 1408, 1420, 1424, 1429, 1434, 1439, 1444, 1449,
962 1453, 1457, 1461, 1465, 1471, 1480, 1487, 1490, 1498, 1503,
963 1513, 1518, 1526, 1530, 1540, 1543, 1549, 1555, 1562, 1572,
964 1576, 1580, 1585, 1590, 1595, 1600, 1604, 1609, 1614, 1619,
965 1624, 1629, 1634, 1639, 1644, 1649, 1653, 1658, 1663, 1668,
966 1674, 1680, 1686, 1692, 1698, 1704, 1710, 1716, 1722, 1728,
967 1734, 1740, 1745, 1750, 1755, 1760, 1765, 1770, 1776, 1782,
968 1788, 1794, 1800, 1806, 1812, 1818, 1824, 1830, 1836, 1842,
969 1848, 1854, 1860, 1866, 1872, 1878, 1884, 1890, 1896, 1902,
970 1908, 1914, 1920, 1926, 1932, 1937, 1942, 1947, 1952, 1957,
971 1962, 1967, 1972, 1977, 1982, 1987, 1992, 1998, 2004, 2010,
972 2016, 2022, 2028, 2034, 2040, 2046, 2052, 2058, 2064, 2070,
973 2076, 2082, 2088, 2094, 2100, 2106, 2112, 2118, 2124, 2130,
974 2136, 2142, 2148, 2154, 2160, 2166, 2172, 2178, 2184, 2190,
975 2196, 2202, 2208, 2214, 2220, 2226, 2232, 2238, 2244, 2250,
976 2256, 2262, 2268, 2274, 2280, 2286, 2291, 2296, 2301, 2306,
977 2311, 2316, 2321, 2326, 2331, 2336, 2341, 2346, 2351, 2356,
978 2364, 2372, 2380, 2388, 2396, 2404, 2412, 2420, 2428, 2436,
979 2444, 2452, 2460, 2465, 2470, 2475, 2480, 2485, 2490, 2495,
980 2500, 2505, 2510, 2515, 2520, 2525, 2530, 2535, 2540, 2548,
981 2556, 2561, 2566, 2571, 2579, 2584, 2589, 2594, 2602, 2607,
982 2612, 2617, 2625, 2630, 2635, 2640, 2645, 2650, 2658, 2663,
983 2671, 2676, 2684, 2689, 2697, 2702, 2710, 2715, 2723, 2728,
984 2736, 2741, 2746, 2751, 2756, 2761, 2766, 2771, 2776, 2781,
985 2786, 2791, 2796, 2801, 2806, 2811, 2819, 2824, 2829, 2834,
986 2842, 2847, 2852, 2857, 2865, 2870, 2875, 2880, 2888, 2893,
987 2898, 2903, 2911, 2916, 2921, 2926, 2934, 2939, 2944, 2949,
988 2957, 2962, 2967, 2972, 2980, 2985, 2990, 2995, 3003, 3008,
989 3013, 3018, 3026, 3031, 3036, 3041, 3049, 3054, 3059, 3064,
990 3072, 3077, 3082, 3087, 3095, 3100, 3105, 3110, 3118, 3123,
991 3128, 3133, 3141, 3146, 3151, 3157, 3163, 3169, 3175, 3184,
992 3193, 3199, 3205, 3211, 3217, 3223, 3228, 3244, 3249, 3254,
993 3262, 3262, 3273, 3273, 3283, 3286, 3299, 3321, 3348, 3352,
994 3358, 3363, 3374, 3377, 3383, 3392, 3395, 3401, 3405, 3406,
995 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3422, 3423, 3427,
996 3423, 3439, 3440, 3444, 3444, 3451, 3451, 3465, 3468, 3476,
997 3484, 3495, 3496, 3500, 3503, 3509, 3516, 3520, 3528, 3532,
998 3545, 3548, 3554, 3554, 3574, 3577, 3583, 3595, 3607, 3610,
999 3616, 3616, 3631, 3631, 3647, 3647, 3668, 3671, 3677, 3680,
1000 3686, 3690, 3697, 3702, 3707, 3714, 3717, 3726, 3730, 3739,
1001 3742, 3745, 3753, 3753, 3775, 3781, 3784, 3789, 3792
1005 #if YYDEBUG || YYERROR_VERBOSE || 1
1006 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1007 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1008 static const char *const yytname[] =
1010 "$end", "error", "$undefined", "ATTRIBUTE", "VARYING", "FLOAT16_T",
1011 "FLOAT", "FLOAT32_T", "DOUBLE", "FLOAT64_T", "CONST", "BOOL", "INT",
1012 "UINT", "INT64_T", "UINT64_T", "INT32_T", "UINT32_T", "INT16_T",
1013 "UINT16_T", "INT8_T", "UINT8_T", "BREAK", "CONTINUE", "DO", "ELSE",
1014 "FOR", "IF", "DISCARD", "RETURN", "SWITCH", "CASE", "DEFAULT",
1015 "SUBROUTINE", "BVEC2", "BVEC3", "BVEC4", "IVEC2", "IVEC3", "IVEC4",
1016 "UVEC2", "UVEC3", "UVEC4", "I64VEC2", "I64VEC3", "I64VEC4", "U64VEC2",
1017 "U64VEC3", "U64VEC4", "I32VEC2", "I32VEC3", "I32VEC4", "U32VEC2",
1018 "U32VEC3", "U32VEC4", "I16VEC2", "I16VEC3", "I16VEC4", "U16VEC2",
1019 "U16VEC3", "U16VEC4", "I8VEC2", "I8VEC3", "I8VEC4", "U8VEC2", "U8VEC3",
1020 "U8VEC4", "VEC2", "VEC3", "VEC4", "MAT2", "MAT3", "MAT4", "CENTROID",
1021 "IN", "OUT", "INOUT", "UNIFORM", "PATCH", "SAMPLE", "BUFFER", "SHARED",
1022 "NONUNIFORM", "PAYLOADNV", "PAYLOADINNV", "HITATTRNV", "CALLDATANV",
1023 "CALLDATAINNV", "COHERENT", "VOLATILE", "RESTRICT", "READONLY",
1024 "WRITEONLY", "DEVICECOHERENT", "QUEUEFAMILYCOHERENT",
1025 "WORKGROUPCOHERENT", "SUBGROUPCOHERENT", "NONPRIVATE", "DVEC2", "DVEC3",
1026 "DVEC4", "DMAT2", "DMAT3", "DMAT4", "F16VEC2", "F16VEC3", "F16VEC4",
1027 "F16MAT2", "F16MAT3", "F16MAT4", "F32VEC2", "F32VEC3", "F32VEC4",
1028 "F32MAT2", "F32MAT3", "F32MAT4", "F64VEC2", "F64VEC3", "F64VEC4",
1029 "F64MAT2", "F64MAT3", "F64MAT4", "NOPERSPECTIVE", "FLAT", "SMOOTH",
1030 "LAYOUT", "EXPLICITINTERPAMD", "PERVERTEXNV", "PERPRIMITIVENV",
1031 "PERVIEWNV", "PERTASKNV", "MAT2X2", "MAT2X3", "MAT2X4", "MAT3X2",
1032 "MAT3X3", "MAT3X4", "MAT4X2", "MAT4X3", "MAT4X4", "DMAT2X2", "DMAT2X3",
1033 "DMAT2X4", "DMAT3X2", "DMAT3X3", "DMAT3X4", "DMAT4X2", "DMAT4X3",
1034 "DMAT4X4", "F16MAT2X2", "F16MAT2X3", "F16MAT2X4", "F16MAT3X2",
1035 "F16MAT3X3", "F16MAT3X4", "F16MAT4X2", "F16MAT4X3", "F16MAT4X4",
1036 "F32MAT2X2", "F32MAT2X3", "F32MAT2X4", "F32MAT3X2", "F32MAT3X3",
1037 "F32MAT3X4", "F32MAT4X2", "F32MAT4X3", "F32MAT4X4", "F64MAT2X2",
1038 "F64MAT2X3", "F64MAT2X4", "F64MAT3X2", "F64MAT3X3", "F64MAT3X4",
1039 "F64MAT4X2", "F64MAT4X3", "F64MAT4X4", "ATOMIC_UINT", "ACCSTRUCTNV",
1040 "FCOOPMATNV", "SAMPLER1D", "SAMPLER2D", "SAMPLER3D", "SAMPLERCUBE",
1041 "SAMPLER1DSHADOW", "SAMPLER2DSHADOW", "SAMPLERCUBESHADOW",
1042 "SAMPLER1DARRAY", "SAMPLER2DARRAY", "SAMPLER1DARRAYSHADOW",
1043 "SAMPLER2DARRAYSHADOW", "ISAMPLER1D", "ISAMPLER2D", "ISAMPLER3D",
1044 "ISAMPLERCUBE", "ISAMPLER1DARRAY", "ISAMPLER2DARRAY", "USAMPLER1D",
1045 "USAMPLER2D", "USAMPLER3D", "USAMPLERCUBE", "USAMPLER1DARRAY",
1046 "USAMPLER2DARRAY", "SAMPLER2DRECT", "SAMPLER2DRECTSHADOW",
1047 "ISAMPLER2DRECT", "USAMPLER2DRECT", "SAMPLERBUFFER", "ISAMPLERBUFFER",
1048 "USAMPLERBUFFER", "SAMPLERCUBEARRAY", "SAMPLERCUBEARRAYSHADOW",
1049 "ISAMPLERCUBEARRAY", "USAMPLERCUBEARRAY", "SAMPLER2DMS", "ISAMPLER2DMS",
1050 "USAMPLER2DMS", "SAMPLER2DMSARRAY", "ISAMPLER2DMSARRAY",
1051 "USAMPLER2DMSARRAY", "SAMPLEREXTERNALOES", "SAMPLEREXTERNAL2DY2YEXT",
1052 "F16SAMPLER1D", "F16SAMPLER2D", "F16SAMPLER3D", "F16SAMPLER2DRECT",
1053 "F16SAMPLERCUBE", "F16SAMPLER1DARRAY", "F16SAMPLER2DARRAY",
1054 "F16SAMPLERCUBEARRAY", "F16SAMPLERBUFFER", "F16SAMPLER2DMS",
1055 "F16SAMPLER2DMSARRAY", "F16SAMPLER1DSHADOW", "F16SAMPLER2DSHADOW",
1056 "F16SAMPLER1DARRAYSHADOW", "F16SAMPLER2DARRAYSHADOW",
1057 "F16SAMPLER2DRECTSHADOW", "F16SAMPLERCUBESHADOW",
1058 "F16SAMPLERCUBEARRAYSHADOW", "SAMPLER", "SAMPLERSHADOW", "TEXTURE1D",
1059 "TEXTURE2D", "TEXTURE3D", "TEXTURECUBE", "TEXTURE1DARRAY",
1060 "TEXTURE2DARRAY", "ITEXTURE1D", "ITEXTURE2D", "ITEXTURE3D",
1061 "ITEXTURECUBE", "ITEXTURE1DARRAY", "ITEXTURE2DARRAY", "UTEXTURE1D",
1062 "UTEXTURE2D", "UTEXTURE3D", "UTEXTURECUBE", "UTEXTURE1DARRAY",
1063 "UTEXTURE2DARRAY", "TEXTURE2DRECT", "ITEXTURE2DRECT", "UTEXTURE2DRECT",
1064 "TEXTUREBUFFER", "ITEXTUREBUFFER", "UTEXTUREBUFFER", "TEXTURECUBEARRAY",
1065 "ITEXTURECUBEARRAY", "UTEXTURECUBEARRAY", "TEXTURE2DMS", "ITEXTURE2DMS",
1066 "UTEXTURE2DMS", "TEXTURE2DMSARRAY", "ITEXTURE2DMSARRAY",
1067 "UTEXTURE2DMSARRAY", "F16TEXTURE1D", "F16TEXTURE2D", "F16TEXTURE3D",
1068 "F16TEXTURE2DRECT", "F16TEXTURECUBE", "F16TEXTURE1DARRAY",
1069 "F16TEXTURE2DARRAY", "F16TEXTURECUBEARRAY", "F16TEXTUREBUFFER",
1070 "F16TEXTURE2DMS", "F16TEXTURE2DMSARRAY", "SUBPASSINPUT",
1071 "SUBPASSINPUTMS", "ISUBPASSINPUT", "ISUBPASSINPUTMS", "USUBPASSINPUT",
1072 "USUBPASSINPUTMS", "F16SUBPASSINPUT", "F16SUBPASSINPUTMS", "IMAGE1D",
1073 "IIMAGE1D", "UIMAGE1D", "IMAGE2D", "IIMAGE2D", "UIMAGE2D", "IMAGE3D",
1074 "IIMAGE3D", "UIMAGE3D", "IMAGE2DRECT", "IIMAGE2DRECT", "UIMAGE2DRECT",
1075 "IMAGECUBE", "IIMAGECUBE", "UIMAGECUBE", "IMAGEBUFFER", "IIMAGEBUFFER",
1076 "UIMAGEBUFFER", "IMAGE1DARRAY", "IIMAGE1DARRAY", "UIMAGE1DARRAY",
1077 "IMAGE2DARRAY", "IIMAGE2DARRAY", "UIMAGE2DARRAY", "IMAGECUBEARRAY",
1078 "IIMAGECUBEARRAY", "UIMAGECUBEARRAY", "IMAGE2DMS", "IIMAGE2DMS",
1079 "UIMAGE2DMS", "IMAGE2DMSARRAY", "IIMAGE2DMSARRAY", "UIMAGE2DMSARRAY",
1080 "F16IMAGE1D", "F16IMAGE2D", "F16IMAGE3D", "F16IMAGE2DRECT",
1081 "F16IMAGECUBE", "F16IMAGE1DARRAY", "F16IMAGE2DARRAY",
1082 "F16IMAGECUBEARRAY", "F16IMAGEBUFFER", "F16IMAGE2DMS",
1083 "F16IMAGE2DMSARRAY", "STRUCT", "VOID", "WHILE", "IDENTIFIER",
1084 "TYPE_NAME", "FLOATCONSTANT", "DOUBLECONSTANT", "INT16CONSTANT",
1085 "UINT16CONSTANT", "INT32CONSTANT", "UINT32CONSTANT", "INTCONSTANT",
1086 "UINTCONSTANT", "INT64CONSTANT", "UINT64CONSTANT", "BOOLCONSTANT",
1087 "FLOAT16CONSTANT", "LEFT_OP", "RIGHT_OP", "INC_OP", "DEC_OP", "LE_OP",
1088 "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP", "XOR_OP", "MUL_ASSIGN",
1089 "DIV_ASSIGN", "ADD_ASSIGN", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN",
1090 "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", "SUB_ASSIGN", "LEFT_PAREN",
1091 "RIGHT_PAREN", "LEFT_BRACKET", "RIGHT_BRACKET", "LEFT_BRACE",
1092 "RIGHT_BRACE", "DOT", "COMMA", "COLON", "EQUAL", "SEMICOLON", "BANG",
1093 "DASH", "TILDE", "PLUS", "STAR", "SLASH", "PERCENT", "LEFT_ANGLE",
1094 "RIGHT_ANGLE", "VERTICAL_BAR", "CARET", "AMPERSAND", "QUESTION",
1095 "INVARIANT", "PRECISE", "HIGH_PRECISION", "MEDIUM_PRECISION",
1096 "LOW_PRECISION", "PRECISION", "PACKED", "RESOURCE", "SUPERP", "$accept",
1097 "variable_identifier", "primary_expression", "postfix_expression",
1098 "integer_expression", "function_call", "function_call_or_method",
1099 "function_call_generic", "function_call_header_no_parameters",
1100 "function_call_header_with_parameters", "function_call_header",
1101 "function_identifier", "unary_expression", "unary_operator",
1102 "multiplicative_expression", "additive_expression", "shift_expression",
1103 "relational_expression", "equality_expression", "and_expression",
1104 "exclusive_or_expression", "inclusive_or_expression",
1105 "logical_and_expression", "logical_xor_expression",
1106 "logical_or_expression", "conditional_expression", "$@1",
1107 "assignment_expression", "assignment_operator", "expression",
1108 "constant_expression", "declaration", "block_structure", "$@2",
1109 "identifier_list", "function_prototype", "function_declarator",
1110 "function_header_with_parameters", "function_header",
1111 "parameter_declarator", "parameter_declaration",
1112 "parameter_type_specifier", "init_declarator_list", "single_declaration",
1113 "fully_specified_type", "invariant_qualifier", "interpolation_qualifier",
1114 "layout_qualifier", "layout_qualifier_id_list", "layout_qualifier_id",
1115 "precise_qualifier", "type_qualifier", "single_type_qualifier",
1116 "storage_qualifier", "non_uniform_qualifier", "type_name_list",
1117 "type_specifier", "array_specifier", "type_parameter_specifier_opt",
1118 "type_parameter_specifier", "type_parameter_specifier_list",
1119 "type_specifier_nonarray", "precision_qualifier", "struct_specifier",
1120 "$@3", "$@4", "struct_declaration_list", "struct_declaration",
1121 "struct_declarator_list", "struct_declarator", "initializer",
1122 "initializer_list", "declaration_statement", "statement",
1123 "simple_statement", "compound_statement", "$@5", "$@6",
1124 "statement_no_new_scope", "statement_scoped", "$@7", "$@8",
1125 "compound_statement_no_new_scope", "statement_list",
1126 "expression_statement", "selection_statement",
1127 "selection_statement_nonattributed", "selection_rest_statement",
1128 "condition", "switch_statement", "switch_statement_nonattributed", "$@9",
1129 "switch_statement_list", "case_label", "iteration_statement",
1130 "iteration_statement_nonattributed", "$@10", "$@11", "$@12",
1131 "for_init_statement", "conditionopt", "for_rest_statement",
1132 "jump_statement", "translation_unit", "external_declaration",
1133 "function_definition", "$@13", "attribute", "attribute_list",
1134 "single_attribute", YY_NULLPTR
1139 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1140 (internal) symbol number NUM (which must be that of a token). */
1141 static const yytype_uint16 yytoknum[] =
1143 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1144 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1145 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1146 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1147 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1148 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1149 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1150 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1151 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1152 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1153 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1154 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1155 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1156 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1157 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1158 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1159 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1160 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1161 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1162 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
1163 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1164 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
1165 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
1166 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
1167 495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
1168 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
1169 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
1170 525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
1171 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
1172 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
1173 555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
1174 565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
1175 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
1176 585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
1177 595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
1178 605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
1179 615, 616, 617, 618, 619, 620, 621, 622, 623, 624,
1180 625, 626, 627, 628, 629, 630, 631, 632, 633, 634,
1181 635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
1182 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
1183 655, 656, 657, 658, 659, 660, 661, 662
1187 #define YYPACT_NINF -659
1189 #define yypact_value_is_default(Yystate) \
1190 (!!((Yystate) == (-659)))
1192 #define YYTABLE_NINF -524
1194 #define yytable_value_is_error(Yytable_value) \
1197 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1199 static const yytype_int16 yypact[] =
1201 3535, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1202 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1203 -331, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1204 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1205 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1206 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1207 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1208 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1209 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1210 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1211 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1212 -659, -659, -324, -659, -659, -659, -659, -659, -659, -659,
1213 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1214 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1215 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1216 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1217 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1218 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1219 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1220 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1221 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1222 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1223 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1224 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1225 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1226 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1227 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1228 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1229 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1230 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1231 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1232 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1233 -659, -659, -659, -659, -319, -659, -659, -659, -659, -659,
1234 -659, -659, -659, -256, -659, -314, -351, -309, -306, 5942,
1235 -257, -659, -217, -659, -659, -659, -659, 4338, -659, -659,
1236 -659, -659, -241, -659, -659, 721, -659, -659, -204, -71,
1237 -219, -659, 9007, -349, -659, -659, -215, -659, 5942, -659,
1238 -659, -659, 5942, -178, -172, -659, -337, -267, -659, -659,
1239 -659, 8237, -207, -659, -659, -659, -659, -341, -659, -211,
1240 -330, -659, -659, 5942, -210, 6697, -659, -322, 1123, -659,
1241 -659, -659, -659, -207, -328, -659, 7082, -304, -659, -163,
1242 -659, -252, -659, -659, -659, -659, -659, -659, -659, -659,
1243 -659, -659, -659, -659, -659, 8237, 8237, 8237, -659, -659,
1244 -659, -659, -659, -659, -303, -659, -659, -659, -196, -299,
1245 8622, -194, -659, 8237, -659, -659, -355, -195, -659, -157,
1246 8237, -659, -71, 5942, 5942, -155, 4739, -659, -659, -659,
1247 -659, -242, -236, -249, -335, -206, -191, -187, -209, -149,
1248 -150, -333, -162, 7467, -659, -170, -168, -659, -154, -153,
1249 -167, 7852, -152, 8237, -159, -148, -151, -160, -659, -659,
1250 -274, -659, -659, -251, -659, -351, -147, -144, -659, -659,
1251 -659, -659, 1525, -659, -659, -659, -659, -659, -659, -659,
1252 -659, -659, -19, -195, 7082, -302, 7082, -659, -659, 7082,
1253 5942, -659, -115, -659, -659, -659, -292, -659, -659, 8237,
1254 -108, -659, -659, 8237, -143, -659, -659, -659, 8237, -659,
1255 -659, -659, -659, -659, 5140, -155, -207, -250, -659, -659,
1256 -659, 8237, 8237, 8237, 8237, 8237, 8237, 8237, 8237, 8237,
1257 8237, 8237, 8237, 8237, 8237, 8237, 8237, 8237, 8237, 8237,
1258 -659, -659, -659, -142, -659, -659, 1927, -659, 8237, -659,
1259 -659, -245, 8237, -226, -659, -659, -106, -659, 1927, -659,
1260 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1261 8237, 8237, -659, -659, -659, -659, -659, -659, -659, 7082,
1262 -659, -238, -659, 5541, -659, -659, -141, -140, -659, -659,
1263 -659, -659, -244, -195, -155, -659, -659, -659, -659, -242,
1264 -242, -236, -236, -249, -249, -249, -249, -335, -335, -206,
1265 -191, -187, -209, -149, -150, 8237, -659, -104, 3133, -263,
1266 -659, -260, -659, 3937, -136, -297, -659, 1927, -659, -659,
1267 -659, -659, 6312, -659, -659, -659, -659, -224, -135, -659,
1268 -659, 3937, -138, -659, -140, -97, 5942, -132, 8237, -133,
1269 -106, -134, -659, -659, 8237, 8237, -659, -137, -129, 224,
1270 -128, 2731, -659, -127, -131, 2329, -126, -659, -659, -659,
1271 -659, -255, 8237, 2329, -138, -659, -659, 1927, 7082, -659,
1272 -659, -659, -659, -130, -140, -659, -659, 1927, -123, -659,
1276 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1277 Performed when YYTABLE does not specify something else to do. Zero
1278 means the default is an error. */
1279 static const yytype_uint16 yydefact[] =
1281 0, 157, 158, 202, 200, 203, 201, 204, 156, 215,
1282 205, 206, 213, 214, 211, 212, 209, 210, 207, 208,
1283 183, 231, 232, 233, 234, 235, 236, 249, 250, 251,
1284 246, 247, 248, 261, 262, 263, 243, 244, 245, 258,
1285 259, 260, 240, 241, 242, 255, 256, 257, 237, 238,
1286 239, 252, 253, 254, 216, 217, 218, 264, 265, 266,
1287 162, 160, 161, 159, 165, 163, 164, 166, 172, 185,
1288 168, 169, 167, 170, 171, 173, 179, 180, 181, 182,
1289 174, 175, 176, 177, 178, 219, 220, 221, 276, 277,
1290 278, 222, 223, 224, 288, 289, 290, 225, 226, 227,
1291 300, 301, 302, 228, 229, 230, 312, 313, 314, 134,
1292 133, 132, 0, 135, 136, 137, 138, 139, 267, 268,
1293 269, 270, 271, 272, 273, 274, 275, 279, 280, 281,
1294 282, 283, 284, 285, 286, 287, 291, 292, 293, 294,
1295 295, 296, 297, 298, 299, 303, 304, 305, 306, 307,
1296 308, 309, 310, 311, 315, 316, 317, 318, 319, 320,
1297 321, 322, 323, 325, 324, 484, 326, 327, 328, 329,
1298 330, 331, 332, 333, 334, 335, 336, 352, 353, 354,
1299 355, 356, 357, 359, 360, 361, 362, 363, 364, 366,
1300 367, 370, 371, 372, 374, 375, 337, 338, 358, 365,
1301 376, 378, 379, 380, 382, 383, 474, 475, 339, 340,
1302 341, 368, 342, 346, 347, 350, 373, 377, 381, 343,
1303 344, 348, 349, 369, 345, 351, 384, 385, 386, 388,
1304 390, 392, 394, 396, 400, 401, 402, 403, 404, 405,
1305 407, 408, 409, 410, 411, 412, 414, 416, 417, 418,
1306 420, 421, 398, 406, 413, 422, 424, 425, 426, 428,
1307 429, 387, 389, 391, 415, 393, 395, 397, 399, 419,
1308 423, 427, 476, 477, 480, 481, 482, 483, 478, 479,
1309 430, 432, 433, 434, 436, 437, 438, 440, 441, 442,
1310 444, 445, 446, 448, 449, 450, 452, 453, 454, 456,
1311 457, 458, 460, 461, 462, 464, 465, 466, 468, 469,
1312 470, 472, 473, 431, 435, 439, 443, 447, 455, 459,
1313 463, 451, 467, 471, 0, 199, 486, 571, 131, 146,
1314 487, 488, 489, 0, 570, 0, 572, 0, 108, 107,
1315 0, 119, 124, 153, 152, 150, 154, 0, 147, 149,
1316 155, 129, 195, 151, 485, 0, 567, 569, 0, 0,
1317 0, 492, 0, 0, 96, 93, 0, 106, 0, 115,
1318 109, 117, 0, 118, 0, 94, 125, 0, 99, 148,
1319 130, 0, 188, 194, 1, 568, 186, 0, 145, 143,
1320 0, 141, 490, 0, 0, 0, 97, 0, 0, 573,
1321 110, 114, 116, 112, 120, 111, 0, 126, 102, 0,
1322 100, 0, 2, 12, 13, 10, 11, 4, 5, 6,
1323 7, 8, 9, 15, 14, 0, 0, 0, 42, 41,
1324 43, 40, 3, 17, 36, 19, 24, 25, 0, 0,
1325 29, 0, 197, 0, 35, 33, 0, 189, 184, 0,
1326 0, 140, 0, 0, 0, 0, 0, 494, 95, 190,
1327 44, 48, 51, 54, 59, 62, 64, 66, 68, 70,
1328 72, 74, 0, 0, 98, 0, 0, 552, 0, 0,
1329 0, 0, 0, 0, 0, 0, 0, 518, 527, 531,
1330 44, 77, 90, 0, 507, 0, 155, 129, 510, 529,
1331 509, 508, 0, 511, 512, 533, 513, 540, 514, 515,
1332 548, 516, 0, 113, 0, 121, 0, 502, 128, 0,
1333 0, 104, 0, 101, 37, 38, 0, 21, 22, 0,
1334 0, 27, 26, 0, 199, 30, 32, 39, 0, 196,
1335 187, 92, 144, 142, 0, 0, 500, 0, 498, 493,
1336 495, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1338 75, 191, 192, 0, 563, 562, 0, 554, 0, 566,
1339 564, 0, 0, 0, 547, 550, 0, 517, 0, 80,
1340 81, 83, 82, 85, 86, 87, 88, 89, 84, 79,
1341 0, 0, 532, 528, 530, 534, 541, 549, 123, 0,
1342 505, 0, 127, 0, 105, 16, 0, 23, 20, 31,
1343 198, 491, 0, 501, 0, 496, 45, 46, 47, 50,
1344 49, 52, 53, 57, 58, 55, 56, 60, 61, 63,
1345 65, 67, 69, 71, 73, 0, 193, 0, 0, 0,
1346 565, 0, 546, 0, 577, 0, 575, 519, 78, 91,
1347 122, 503, 0, 103, 18, 497, 499, 0, 0, 557,
1348 556, 559, 525, 542, 538, 0, 0, 0, 0, 0,
1349 0, 0, 504, 506, 0, 0, 558, 0, 0, 537,
1350 0, 0, 535, 0, 0, 0, 0, 574, 576, 520,
1351 76, 0, 560, 0, 525, 524, 526, 544, 0, 522,
1352 551, 521, 578, 0, 561, 555, 536, 545, 0, 539,
1356 /* YYPGOTO[NTERM-NUM]. */
1357 static const yytype_int16 yypgoto[] =
1359 -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
1360 -659, -659, -364, -659, -389, -385, -457, -384, -310, -307,
1361 -305, -308, -301, -298, -659, -386, -659, -390, -659, -415,
1362 -418, 1, -659, -659, -659, 2, -659, -659, -659, -110,
1363 -105, -107, -659, -659, -628, -659, -659, -659, -659, -188,
1364 -659, -336, -343, -659, 6, -659, 0, -334, -659, -659,
1365 -659, -659, -67, -659, -659, -659, -431, -437, -277, -350,
1366 -501, -659, -375, -488, -658, -414, -659, -659, -428, -426,
1367 -659, -659, -87, -568, -368, -659, -231, -659, -388, -659,
1368 -230, -659, -659, -659, -659, -228, -659, -659, -659, -659,
1369 -659, -659, -659, -659, -70, -659, -659, -659, -659, -394
1372 /* YYDEFGOTO[NTERM-NUM]. */
1373 static const yytype_int16 yydefgoto[] =
1375 -1, 432, 433, 434, 616, 435, 436, 437, 438, 439,
1376 440, 441, 490, 443, 461, 462, 463, 464, 465, 466,
1377 467, 468, 469, 470, 471, 491, 645, 492, 600, 493,
1378 542, 494, 335, 520, 411, 495, 337, 338, 339, 369,
1379 370, 371, 340, 341, 342, 343, 344, 345, 390, 391,
1380 346, 347, 348, 349, 444, 387, 445, 397, 382, 383,
1381 446, 352, 353, 354, 453, 393, 456, 457, 547, 548,
1382 518, 611, 498, 499, 500, 501, 588, 681, 710, 689,
1383 690, 691, 711, 502, 503, 504, 505, 692, 677, 506,
1384 507, 693, 718, 508, 509, 510, 653, 576, 648, 671,
1385 687, 688, 511, 355, 356, 357, 366, 512, 655, 656
1388 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
1389 positive, shift that token. If negative, reduce the rule whose
1390 number is the opposite. If YYTABLE_NINF, syntax error. */
1391 static const yytype_int16 yytable[] =
1393 351, 334, 336, 372, 379, 477, 350, 478, 479, 472,
1394 388, 482, 526, 608, 604, 610, 517, 442, 612, 550,
1395 657, 360, 544, 558, 559, 675, 363, 538, 395, 379,
1396 569, 460, 372, 706, 365, 448, 396, 709, 405, 539,
1397 395, 449, 407, 675, 358, 709, 451, 406, 447, 395,
1398 535, 359, 452, 527, 528, 473, 514, 454, 560, 561,
1399 361, 524, 525, 474, 541, 570, 581, 367, 583, 513,
1400 515, 364, -34, 473, 529, 473, 368, 532, 530, 537,
1401 519, 679, 609, 533, 615, 680, 460, 573, 647, 613,
1402 601, 589, 590, 591, 592, 593, 594, 595, 596, 597,
1403 598, 633, 634, 635, 636, 556, 557, 550, 660, 460,
1404 599, 379, 408, 672, 617, 409, 673, 454, 410, 601,
1405 454, 713, 601, 376, 517, 374, 517, 601, 375, 517,
1406 522, 601, 624, 523, 602, 625, 386, 601, 624, 717,
1407 650, 665, 661, 619, 662, 330, 331, 332, 551, 552,
1408 553, 554, 381, 555, 562, 563, 601, 652, 601, 684,
1409 392, 683, 403, 649, 398, 629, 630, 651, 404, 604,
1410 395, 631, 632, 450, 620, 458, 550, 521, 637, 638,
1411 531, 536, 473, 540, 454, 546, 566, 626, 627, 628,
1412 460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
1413 460, 460, 460, 460, 460, 460, 564, 719, 454, 565,
1414 658, 659, 623, 567, 568, 574, 571, 575, 579, 517,
1415 587, 577, 578, 582, 584, 614, 586, 585, -35, 604,
1416 667, -33, 618, -28, 654, 668, 646, 664, 674, 678,
1417 685, -523, 601, 694, 695, 697, 699, 703, 702, 704,
1418 712, 487, 707, 708, 639, 720, 674, 721, 640, 642,
1419 696, 641, 401, 400, 543, 402, 362, 643, 622, 389,
1420 701, 644, 517, 669, 666, 715, 705, 454, 716, 399,
1421 670, 605, 606, 686, 607, 385, 698, 714, 0, 0,
1422 0, 0, 541, 0, 700, 0, 0, 0, 0, 0,
1423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1424 0, 0, 0, 0, 460, 0, 0, 676, 517, 0,
1425 485, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1426 0, 0, 0, 379, 0, 676, 0, 0, 0, 373,
1427 0, 0, 0, 0, 0, 350, 0, 380, 0, 0,
1428 0, 0, 0, 350, 0, 351, 334, 336, 0, 0,
1429 0, 350, 394, 0, 0, 0, 0, 0, 373, 0,
1430 0, 0, 373, 0, 350, 0, 0, 0, 350, 0,
1431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1432 0, 0, 0, 455, 0, 0, 0, 0, 497, 350,
1433 0, 0, 0, 0, 496, 0, 0, 0, 0, 0,
1434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1438 0, 0, 0, 455, 545, 0, 455, 0, 0, 350,
1439 350, 0, 350, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0,
1443 0, 0, 497, 0, 0, 0, 0, 0, 496, 0,
1444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1445 455, 0, 0, 0, 0, 0, 350, 0, 0, 0,
1446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1447 0, 0, 0, 0, 455, 0, 0, 0, 0, 0,
1448 350, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1450 0, 0, 0, 0, 0, 0, 497, 0, 0, 0,
1451 0, 0, 496, 0, 0, 0, 0, 0, 497, 0,
1452 0, 0, 0, 0, 496, 0, 0, 0, 0, 0,
1453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1454 0, 0, 0, 455, 0, 0, 0, 0, 0, 350,
1455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1457 0, 0, 0, 0, 0, 0, 0, 0, 497, 0,
1458 0, 0, 0, 497, 496, 0, 0, 497, 0, 496,
1459 0, 0, 0, 496, 0, 0, 0, 0, 0, 0,
1460 0, 497, 0, 0, 0, 0, 380, 496, 0, 0,
1461 0, 0, 350, 0, 0, 0, 0, 0, 0, 0,
1462 0, 497, 0, 0, 0, 497, 0, 496, 0, 0,
1463 0, 496, 0, 497, 0, 0, 0, 497, 0, 496,
1464 0, 0, 0, 496, 0, 0, 0, 497, 0, 0,
1465 0, 384, 0, 496, 1, 2, 3, 4, 5, 6,
1466 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1467 17, 18, 19, 0, 0, 0, 0, 0, 0, 0,
1468 0, 0, 0, 0, 20, 21, 22, 23, 24, 25,
1469 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1470 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1471 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1472 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1473 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1474 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1475 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1476 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1477 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1478 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
1479 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1480 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
1481 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
1482 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
1483 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
1484 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
1485 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
1486 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
1487 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
1488 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
1489 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
1490 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
1491 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
1492 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
1493 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
1494 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
1495 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1496 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
1497 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1498 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
1499 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
1500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1503 0, 0, 0, 0, 0, 0, 327, 0, 0, 0,
1504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1505 328, 329, 330, 331, 332, 333, 1, 2, 3, 4,
1506 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1507 15, 16, 17, 18, 19, 475, 476, 477, 0, 478,
1508 479, 480, 481, 482, 483, 484, 20, 21, 22, 23,
1509 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1510 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1511 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1512 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1513 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1514 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1515 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1516 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1517 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1518 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1519 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1520 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
1521 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1522 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1523 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
1524 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
1525 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
1526 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
1527 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
1528 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
1529 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
1530 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
1531 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1532 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
1533 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
1534 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
1535 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
1536 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
1537 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
1538 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
1539 324, 325, 485, 412, 326, 413, 414, 415, 416, 417,
1540 418, 419, 420, 421, 422, 423, 424, 0, 0, 425,
1541 426, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1542 0, 0, 0, 0, 0, 0, 0, 0, 427, 0,
1543 486, 0, 487, 488, 0, 0, 0, 0, 489, 428,
1544 429, 430, 431, 0, 0, 0, 0, 0, 0, 0,
1545 0, 0, 328, 329, 330, 331, 332, 333, 1, 2,
1546 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1547 13, 14, 15, 16, 17, 18, 19, 475, 476, 477,
1548 0, 478, 479, 480, 481, 482, 483, 484, 20, 21,
1549 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1550 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1551 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1552 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1553 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1554 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1555 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1556 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1557 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1558 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
1559 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1560 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
1561 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
1562 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1563 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
1564 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
1565 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
1566 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
1567 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
1568 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
1569 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
1570 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
1571 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
1572 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
1573 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
1574 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
1575 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1576 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
1577 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
1578 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
1579 322, 323, 324, 325, 485, 412, 326, 413, 414, 415,
1580 416, 417, 418, 419, 420, 421, 422, 423, 424, 0,
1581 0, 425, 426, 0, 0, 0, 0, 0, 0, 0,
1582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1583 427, 0, 486, 0, 487, 603, 0, 0, 0, 0,
1584 489, 428, 429, 430, 431, 0, 0, 0, 0, 0,
1585 0, 0, 0, 0, 328, 329, 330, 331, 332, 333,
1586 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1587 11, 12, 13, 14, 15, 16, 17, 18, 19, 475,
1588 476, 477, 0, 478, 479, 480, 481, 482, 483, 484,
1589 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1590 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1591 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1592 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1593 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1594 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1595 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1596 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1597 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1598 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1599 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1600 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
1601 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
1602 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
1603 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
1604 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
1605 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
1606 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
1607 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
1608 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
1609 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
1610 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
1611 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
1612 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
1613 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
1614 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1615 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
1616 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
1617 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
1618 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
1619 320, 321, 322, 323, 324, 325, 485, 412, 326, 413,
1620 414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
1621 424, 0, 0, 425, 426, 0, 0, 0, 0, 0,
1622 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1623 0, 0, 427, 0, 486, 0, 487, 0, 0, 0,
1624 0, 0, 489, 428, 429, 430, 431, 0, 0, 0,
1625 0, 0, 0, 0, 0, 0, 328, 329, 330, 331,
1626 332, 333, 1, 2, 3, 4, 5, 6, 7, 8,
1627 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1628 19, 475, 476, 477, 0, 478, 479, 480, 481, 482,
1629 483, 484, 20, 21, 22, 23, 24, 25, 26, 27,
1630 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1631 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1632 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1633 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1634 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1635 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1636 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1637 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1638 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
1639 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
1640 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1641 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
1642 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
1643 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
1644 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
1645 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
1646 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
1647 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
1648 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
1649 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
1650 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
1651 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
1652 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
1653 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
1654 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
1655 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
1656 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1657 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
1658 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
1659 318, 319, 320, 321, 322, 323, 324, 325, 485, 412,
1660 326, 413, 414, 415, 416, 417, 418, 419, 420, 421,
1661 422, 423, 424, 0, 0, 425, 426, 0, 0, 0,
1662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1663 0, 0, 0, 0, 427, 0, 486, 0, 398, 0,
1664 0, 0, 0, 0, 489, 428, 429, 430, 431, 0,
1665 0, 0, 0, 0, 0, 0, 0, 0, 328, 329,
1666 330, 331, 332, 333, 1, 2, 3, 4, 5, 6,
1667 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1668 17, 18, 19, 475, 476, 477, 0, 478, 479, 480,
1669 481, 482, 483, 484, 20, 21, 22, 23, 24, 25,
1670 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1671 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1672 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1673 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1674 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1675 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1676 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1677 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1678 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1679 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
1680 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1681 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
1682 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
1683 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
1684 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
1685 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
1686 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
1687 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
1688 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
1689 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
1690 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
1691 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
1692 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
1693 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
1694 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
1695 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
1696 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1697 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
1698 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1699 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
1700 485, 412, 326, 413, 414, 415, 416, 417, 418, 419,
1701 420, 421, 422, 423, 424, 0, 0, 425, 426, 0,
1702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1703 0, 0, 0, 0, 0, 0, 427, 0, 486, 0,
1704 0, 0, 0, 0, 0, 0, 489, 428, 429, 430,
1705 431, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1706 328, 329, 330, 331, 332, 333, 1, 2, 3, 4,
1707 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1708 15, 16, 17, 18, 19, 0, 0, 0, 0, 0,
1709 0, 0, 0, 0, 0, 0, 20, 21, 22, 23,
1710 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1711 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1712 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1713 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1714 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1715 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1716 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1717 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1718 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1719 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1720 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1721 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
1722 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1723 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1724 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
1725 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
1726 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
1727 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
1728 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
1729 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
1730 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
1731 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
1732 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1733 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
1734 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
1735 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
1736 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
1737 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
1738 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
1739 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
1740 324, 325, 0, 412, 326, 413, 414, 415, 416, 417,
1741 418, 419, 420, 421, 422, 423, 424, 0, 0, 425,
1742 426, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1743 0, 0, 0, 0, 0, 0, 0, 0, 427, 0,
1744 0, 0, 0, 0, 0, 0, 0, 0, 489, 428,
1745 429, 430, 431, 0, 0, 0, 0, 0, 0, 0,
1746 0, 0, 328, 329, 330, 331, 332, 333, 1, 2,
1747 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1748 13, 14, 15, 16, 17, 18, 19, 0, 0, 0,
1749 0, 0, 0, 0, 0, 0, 0, 0, 20, 21,
1750 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1751 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1752 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1753 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1754 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1755 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1756 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1757 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1758 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1759 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
1760 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1761 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
1762 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
1763 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1764 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
1765 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
1766 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
1767 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
1768 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
1769 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
1770 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
1771 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
1772 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
1773 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
1774 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
1775 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
1776 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1777 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
1778 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
1779 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
1780 322, 323, 324, 325, 0, 0, 326, 0, 0, 0,
1781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1785 327, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1786 0, 0, 0, 0, 328, 329, 330, 331, 332, 333,
1787 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1788 11, 12, 13, 14, 15, 16, 17, 18, 19, 0,
1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1791 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1792 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1793 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1794 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1795 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1796 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1797 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1798 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1799 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1800 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1801 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
1802 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
1803 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
1804 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
1805 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
1806 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
1807 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
1808 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
1809 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
1810 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
1811 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
1812 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
1813 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
1814 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
1815 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1816 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
1817 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
1818 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
1819 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
1820 320, 321, 322, 323, 324, 325, 0, 412, 326, 413,
1821 414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
1822 424, 0, 0, 425, 426, 0, 0, 0, 0, 0,
1823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1824 0, 0, 427, 0, 0, 0, 0, 0, 0, 0,
1825 0, 0, 0, 428, 429, 430, 431, 0, 0, 0,
1826 0, 0, 0, 0, 0, 0, 328, 329, 330, 331,
1827 332, 1, 2, 3, 4, 5, 6, 7, 8, 9,
1828 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1830 0, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1831 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1832 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1833 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1834 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1835 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1836 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1837 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1838 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1839 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
1840 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
1841 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
1842 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
1843 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
1844 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
1845 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
1846 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
1847 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
1848 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
1849 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
1850 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
1851 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
1852 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
1853 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
1854 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
1855 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
1856 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
1857 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
1858 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
1859 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
1860 319, 320, 321, 322, 323, 324, 325, 0, 377, 326,
1861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1865 0, 0, 0, 378, 0, 0, 0, 0, 0, 0,
1866 0, 0, 0, 0, 0, 0, 0, 328, 329, 330,
1867 331, 332, 1, 2, 3, 4, 5, 6, 7, 8,
1868 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1869 19, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1870 0, 0, 20, 21, 22, 23, 24, 25, 26, 27,
1871 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1872 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1873 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1874 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1875 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1876 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1877 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1878 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1879 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
1880 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
1881 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1882 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
1883 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
1884 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
1885 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
1886 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
1887 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
1888 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
1889 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
1890 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
1891 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
1892 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
1893 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
1894 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
1895 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
1896 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
1897 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1898 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
1899 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
1900 318, 319, 320, 321, 322, 323, 324, 325, 0, 0,
1901 326, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1904 0, 0, 0, 0, 0, 0, 0, 0, 0, 549,
1905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1906 0, 0, 0, 0, 0, 0, 0, 0, 328, 329,
1907 330, 331, 332, 1, 2, 3, 4, 5, 6, 7,
1908 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
1909 18, 19, 0, 0, 0, 0, 0, 0, 0, 0,
1910 0, 0, 0, 20, 21, 22, 23, 24, 25, 26,
1911 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
1912 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1913 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1914 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1915 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1916 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
1917 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1918 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1919 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1920 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
1921 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
1922 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
1923 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
1924 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
1925 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
1926 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
1927 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
1928 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
1929 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
1930 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
1931 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
1932 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
1933 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
1934 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
1935 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
1936 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
1937 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1938 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
1939 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
1940 317, 318, 319, 320, 321, 322, 323, 324, 325, 0,
1941 0, 326, 0, 0, 0, 0, 0, 0, 0, 0,
1942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1944 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1945 621, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1946 0, 0, 0, 0, 0, 0, 0, 0, 0, 328,
1947 329, 330, 331, 332, 1, 2, 3, 4, 5, 6,
1948 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1949 17, 18, 19, 0, 0, 0, 0, 0, 0, 0,
1950 0, 0, 0, 0, 20, 21, 22, 23, 24, 25,
1951 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1952 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1953 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1954 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1955 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1956 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1957 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1958 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1959 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1960 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
1961 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1962 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
1963 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
1964 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
1965 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
1966 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
1967 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
1968 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
1969 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
1970 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
1971 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
1972 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
1973 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
1974 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
1975 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
1976 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
1977 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1978 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
1979 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1980 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
1981 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
1982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1983 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1985 0, 663, 0, 0, 0, 0, 0, 0, 0, 0,
1986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1987 328, 329, 330, 331, 332, 1, 2, 3, 4, 5,
1988 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1989 16, 17, 18, 19, 0, 0, 0, 0, 0, 0,
1990 0, 0, 0, 0, 0, 20, 21, 22, 23, 24,
1991 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1992 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1993 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1994 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1995 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1996 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1997 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1998 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1999 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2000 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
2001 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2002 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2003 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2004 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2005 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2006 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
2007 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
2008 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
2009 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
2010 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
2011 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
2012 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
2013 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
2014 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2015 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
2016 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
2017 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2018 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
2019 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2020 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
2021 325, 0, 0, 326, 0, 0, 0, 0, 0, 0,
2022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2024 0, 0, 0, 0, 0, 0, 0, 3, 4, 5,
2025 6, 7, 0, 9, 10, 11, 12, 13, 14, 15,
2026 16, 17, 18, 19, 0, 0, 0, 0, 0, 0,
2027 0, 328, 329, 330, 331, 332, 21, 22, 23, 24,
2028 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
2029 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2030 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2031 55, 56, 57, 58, 59, 0, 0, 0, 0, 0,
2032 0, 0, 0, 0, 69, 0, 0, 0, 0, 0,
2033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2034 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
2035 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
2036 105, 106, 107, 108, 0, 0, 0, 0, 0, 0,
2037 0, 0, 0, 118, 119, 120, 121, 122, 123, 124,
2038 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2039 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2040 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2041 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2042 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2043 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
2044 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
2045 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
2046 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
2047 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
2048 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
2049 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
2050 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
2051 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2052 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
2053 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
2054 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2055 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
2056 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2057 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
2058 325, 0, 412, 326, 413, 414, 415, 416, 417, 418,
2059 419, 420, 421, 422, 423, 424, 0, 0, 425, 426,
2060 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2061 0, 0, 0, 0, 0, 0, 0, 427, 0, 0,
2062 0, 516, 682, 0, 0, 0, 0, 0, 428, 429,
2063 430, 431, 3, 4, 5, 6, 7, 0, 9, 10,
2064 11, 12, 13, 14, 15, 16, 17, 18, 19, 0,
2065 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2066 0, 21, 22, 23, 24, 25, 26, 27, 28, 29,
2067 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2068 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2069 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2070 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,
2071 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2072 0, 0, 0, 0, 0, 85, 86, 87, 88, 89,
2073 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
2074 100, 101, 102, 103, 104, 105, 106, 107, 108, 0,
2075 0, 0, 0, 0, 0, 0, 0, 0, 118, 119,
2076 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
2077 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2078 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2079 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2080 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2081 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
2082 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
2083 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
2084 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
2085 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
2086 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
2087 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
2088 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
2089 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
2090 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
2091 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
2092 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
2093 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2094 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
2095 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
2096 320, 321, 322, 323, 324, 325, 0, 412, 326, 413,
2097 414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
2098 424, 0, 0, 425, 426, 0, 0, 0, 0, 0,
2099 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2100 0, 0, 427, 0, 0, 459, 0, 0, 0, 0,
2101 0, 0, 0, 428, 429, 430, 431, 3, 4, 5,
2102 6, 7, 0, 9, 10, 11, 12, 13, 14, 15,
2103 16, 17, 18, 19, 0, 0, 0, 0, 0, 0,
2104 0, 0, 0, 0, 0, 0, 21, 22, 23, 24,
2105 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
2106 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2107 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2108 55, 56, 57, 58, 59, 0, 0, 0, 0, 0,
2109 0, 0, 0, 0, 69, 0, 0, 0, 0, 0,
2110 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2111 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
2112 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
2113 105, 106, 107, 108, 0, 0, 0, 0, 0, 0,
2114 0, 0, 0, 118, 119, 120, 121, 122, 123, 124,
2115 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2116 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2117 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2118 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2119 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2120 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
2121 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
2122 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
2123 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
2124 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
2125 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
2126 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
2127 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
2128 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2129 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
2130 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
2131 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2132 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
2133 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2134 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
2135 325, 0, 412, 326, 413, 414, 415, 416, 417, 418,
2136 419, 420, 421, 422, 423, 424, 0, 0, 425, 426,
2137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2138 0, 0, 0, 0, 0, 0, 0, 427, 0, 0,
2139 0, 516, 0, 0, 0, 0, 0, 0, 428, 429,
2140 430, 431, 3, 4, 5, 6, 7, 0, 9, 10,
2141 11, 12, 13, 14, 15, 16, 17, 18, 19, 0,
2142 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2143 0, 21, 22, 23, 24, 25, 26, 27, 28, 29,
2144 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2145 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2146 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2147 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,
2148 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2149 0, 0, 0, 0, 0, 85, 86, 87, 88, 89,
2150 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
2151 100, 101, 102, 103, 104, 105, 106, 107, 108, 0,
2152 0, 0, 0, 0, 0, 0, 0, 0, 118, 119,
2153 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
2154 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2155 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2156 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2157 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2158 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
2159 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
2160 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
2161 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
2162 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
2163 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
2164 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
2165 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
2166 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
2167 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
2168 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
2169 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
2170 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2171 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
2172 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
2173 320, 321, 322, 323, 324, 325, 0, 412, 326, 413,
2174 414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
2175 424, 0, 0, 425, 426, 0, 0, 0, 0, 0,
2176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2177 0, 0, 427, 0, 0, 572, 0, 0, 0, 0,
2178 0, 0, 0, 428, 429, 430, 431, 3, 4, 5,
2179 6, 7, 0, 9, 10, 11, 12, 13, 14, 15,
2180 16, 17, 18, 19, 0, 0, 0, 0, 0, 0,
2181 0, 0, 0, 0, 0, 0, 21, 22, 23, 24,
2182 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
2183 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2184 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2185 55, 56, 57, 58, 59, 0, 0, 0, 0, 0,
2186 0, 0, 0, 0, 69, 0, 0, 0, 0, 0,
2187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2188 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
2189 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
2190 105, 106, 107, 108, 0, 0, 0, 0, 0, 0,
2191 0, 0, 0, 118, 119, 120, 121, 122, 123, 124,
2192 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2193 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2194 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2195 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2196 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2197 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
2198 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
2199 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
2200 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
2201 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
2202 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
2203 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
2204 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
2205 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2206 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
2207 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
2208 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2209 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
2210 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2211 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
2212 325, 0, 412, 326, 413, 414, 415, 416, 417, 418,
2213 419, 420, 421, 422, 423, 424, 0, 0, 425, 426,
2214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2215 0, 0, 0, 0, 0, 0, 0, 427, 0, 0,
2216 0, 0, 0, 0, 0, 0, 0, 580, 428, 429,
2217 430, 431, 3, 4, 5, 6, 7, 0, 9, 10,
2218 11, 12, 13, 14, 15, 16, 17, 18, 19, 0,
2219 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2220 0, 21, 22, 23, 24, 25, 26, 27, 28, 29,
2221 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2222 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2223 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2224 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,
2225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2226 0, 0, 0, 0, 0, 85, 86, 87, 88, 89,
2227 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
2228 100, 101, 102, 103, 104, 105, 106, 107, 108, 0,
2229 0, 0, 0, 0, 0, 0, 0, 0, 118, 119,
2230 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
2231 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2232 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2233 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2234 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2235 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
2236 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
2237 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
2238 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
2239 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
2240 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
2241 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
2242 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
2243 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
2244 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
2245 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
2246 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
2247 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2248 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
2249 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
2250 320, 321, 322, 323, 324, 325, 0, 412, 326, 413,
2251 414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
2252 424, 0, 0, 425, 426, 0, 0, 0, 0, 0,
2253 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2254 0, 0, 427, 0, 0, 0, 0, 0, 0, 0,
2255 0, 0, 0, 428, 429, 430, 431, 3, 4, 5,
2256 6, 7, 0, 9, 10, 11, 12, 13, 14, 15,
2257 16, 17, 18, 19, 0, 0, 0, 0, 0, 0,
2258 0, 0, 0, 0, 0, 0, 21, 22, 23, 24,
2259 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
2260 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2261 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2262 55, 56, 57, 58, 59, 0, 0, 0, 0, 0,
2263 0, 0, 0, 0, 69, 0, 0, 0, 0, 0,
2264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2265 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
2266 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
2267 105, 106, 107, 108, 0, 0, 0, 0, 0, 0,
2268 0, 0, 0, 118, 119, 120, 121, 122, 123, 124,
2269 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2270 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2271 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2272 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2273 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2274 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
2275 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
2276 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
2277 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
2278 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
2279 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
2280 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
2281 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
2282 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2283 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
2284 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
2285 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2286 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
2287 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2288 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
2289 534, 0, 412, 326, 413, 414, 415, 416, 417, 418,
2290 419, 420, 421, 422, 423, 424, 0, 0, 425, 426,
2291 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2292 0, 0, 0, 0, 0, 0, 0, 427, 0, 0,
2293 0, 0, 0, 0, 0, 0, 0, 0, 428, 429,
2294 430, 431, 3, 4, 5, 6, 7, 0, 9, 10,
2295 11, 12, 13, 14, 15, 16, 17, 18, 19, 0,
2296 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2297 0, 21, 22, 23, 24, 25, 26, 27, 28, 29,
2298 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2299 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2300 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2303 0, 0, 0, 0, 0, 85, 86, 87, 88, 89,
2304 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
2305 100, 101, 102, 103, 104, 105, 106, 107, 108, 0,
2306 0, 0, 0, 0, 0, 0, 0, 0, 118, 119,
2307 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
2308 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2309 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2310 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2311 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2312 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
2313 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
2314 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
2315 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
2316 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
2317 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
2318 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
2319 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
2320 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
2321 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
2322 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
2323 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
2324 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2325 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
2326 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
2327 320, 321, 322, 323, 324, 325, 0, 0, 326
2330 static const yytype_int16 yycheck[] =
2332 0, 0, 0, 339, 347, 24, 0, 26, 27, 395,
2333 81, 30, 427, 514, 502, 516, 406, 381, 519, 456,
2334 588, 340, 453, 358, 359, 653, 340, 382, 377, 372,
2335 363, 395, 368, 691, 385, 376, 385, 695, 375, 394,
2336 377, 382, 376, 671, 375, 703, 376, 384, 382, 377,
2337 440, 375, 382, 356, 357, 377, 384, 393, 393, 394,
2338 379, 425, 426, 385, 450, 398, 481, 376, 483, 403,
2339 404, 385, 375, 377, 377, 377, 382, 376, 381, 443,
2340 384, 378, 384, 382, 376, 382, 450, 473, 576, 520,
2341 382, 365, 366, 367, 368, 369, 370, 371, 372, 373,
2342 374, 558, 559, 560, 561, 354, 355, 544, 609, 473,
2343 384, 454, 379, 376, 529, 382, 376, 453, 385, 382,
2344 456, 376, 382, 340, 514, 382, 516, 382, 385, 519,
2345 382, 382, 382, 385, 385, 385, 340, 382, 382, 707,
2346 385, 385, 380, 533, 382, 401, 402, 403, 390, 391,
2347 392, 387, 393, 389, 360, 361, 382, 383, 382, 383,
2348 379, 662, 340, 578, 379, 554, 555, 582, 340, 657,
2349 377, 556, 557, 384, 538, 385, 613, 340, 562, 563,
2350 376, 375, 377, 340, 520, 340, 395, 551, 552, 553,
2351 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
2352 564, 565, 566, 567, 568, 569, 397, 708, 544, 396,
2353 600, 601, 546, 362, 364, 385, 378, 385, 385, 609,
2354 380, 375, 375, 375, 383, 340, 377, 375, 375, 717,
2355 645, 375, 340, 376, 340, 339, 378, 378, 653, 375,
2356 375, 379, 382, 340, 376, 378, 380, 376, 385, 25,
2357 376, 379, 379, 384, 564, 385, 671, 380, 565, 567,
2358 678, 566, 372, 368, 452, 372, 333, 568, 545, 340,
2359 685, 569, 662, 648, 624, 703, 690, 613, 704, 366,
2360 648, 512, 512, 671, 512, 355, 680, 702, -1, -1,
2361 -1, -1, 678, -1, 684, -1, -1, -1, -1, -1,
2362 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2363 -1, -1, -1, -1, 678, -1, -1, 653, 708, -1,
2364 339, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2365 -1, -1, -1, 676, -1, 671, -1, -1, -1, 339,
2366 -1, -1, -1, -1, -1, 339, -1, 347, -1, -1,
2367 -1, -1, -1, 347, -1, 355, 355, 355, -1, -1,
2368 -1, 355, 362, -1, -1, -1, -1, -1, 368, -1,
2369 -1, -1, 372, -1, 368, -1, -1, -1, 372, -1,
2370 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2371 -1, -1, -1, 393, -1, -1, -1, -1, 398, 393,
2372 -1, -1, -1, -1, 398, -1, -1, -1, -1, -1,
2373 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2374 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2375 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2376 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2377 -1, -1, -1, 453, 454, -1, 456, -1, -1, 453,
2378 454, -1, 456, -1, -1, -1, -1, -1, -1, -1,
2379 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2380 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2381 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2382 -1, -1, 502, -1, -1, -1, -1, -1, 502, -1,
2383 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2384 520, -1, -1, -1, -1, -1, 520, -1, -1, -1,
2385 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2386 -1, -1, -1, -1, 544, -1, -1, -1, -1, -1,
2387 544, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2388 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2389 -1, -1, -1, -1, -1, -1, 576, -1, -1, -1,
2390 -1, -1, 576, -1, -1, -1, -1, -1, 588, -1,
2391 -1, -1, -1, -1, 588, -1, -1, -1, -1, -1,
2392 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2393 -1, -1, -1, 613, -1, -1, -1, -1, -1, 613,
2394 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2395 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2396 -1, -1, -1, -1, -1, -1, -1, -1, 648, -1,
2397 -1, -1, -1, 653, 648, -1, -1, 657, -1, 653,
2398 -1, -1, -1, 657, -1, -1, -1, -1, -1, -1,
2399 -1, 671, -1, -1, -1, -1, 676, 671, -1, -1,
2400 -1, -1, 676, -1, -1, -1, -1, -1, -1, -1,
2401 -1, 691, -1, -1, -1, 695, -1, 691, -1, -1,
2402 -1, 695, -1, 703, -1, -1, -1, 707, -1, 703,
2403 -1, -1, -1, 707, -1, -1, -1, 717, -1, -1,
2404 -1, 0, -1, 717, 3, 4, 5, 6, 7, 8,
2405 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2406 19, 20, 21, -1, -1, -1, -1, -1, -1, -1,
2407 -1, -1, -1, -1, 33, 34, 35, 36, 37, 38,
2408 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2409 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2410 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2411 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2412 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
2413 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
2414 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2415 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
2416 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
2417 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2418 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2419 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2420 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2421 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
2422 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
2423 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
2424 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
2425 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
2426 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
2427 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
2428 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
2429 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
2430 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
2431 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
2432 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
2433 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
2434 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
2435 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
2436 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
2437 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
2438 -1, -1, 341, -1, -1, -1, -1, -1, -1, -1,
2439 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2440 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2441 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2442 -1, -1, -1, -1, -1, -1, 385, -1, -1, -1,
2443 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2444 399, 400, 401, 402, 403, 404, 3, 4, 5, 6,
2445 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2446 17, 18, 19, 20, 21, 22, 23, 24, -1, 26,
2447 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2448 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2449 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2450 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2451 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2452 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
2453 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2454 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2455 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
2456 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
2457 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2458 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2459 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
2460 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
2461 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
2462 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
2463 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
2464 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
2465 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
2466 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
2467 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
2468 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
2469 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
2470 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
2471 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
2472 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
2473 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
2474 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
2475 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
2476 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
2477 327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
2478 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
2479 347, 348, 349, 350, 351, 352, 353, -1, -1, 356,
2480 357, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2481 -1, -1, -1, -1, -1, -1, -1, -1, 375, -1,
2482 377, -1, 379, 380, -1, -1, -1, -1, 385, 386,
2483 387, 388, 389, -1, -1, -1, -1, -1, -1, -1,
2484 -1, -1, 399, 400, 401, 402, 403, 404, 3, 4,
2485 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2486 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2487 -1, 26, 27, 28, 29, 30, 31, 32, 33, 34,
2488 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2489 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2490 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2491 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2492 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2493 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
2494 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
2495 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2496 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
2497 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2498 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2499 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2500 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2501 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2502 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
2503 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
2504 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
2505 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
2506 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
2507 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
2508 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
2509 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
2510 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2511 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
2512 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
2513 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2514 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
2515 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2516 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
2517 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2518 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
2519 345, 346, 347, 348, 349, 350, 351, 352, 353, -1,
2520 -1, 356, 357, -1, -1, -1, -1, -1, -1, -1,
2521 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2522 375, -1, 377, -1, 379, 380, -1, -1, -1, -1,
2523 385, 386, 387, 388, 389, -1, -1, -1, -1, -1,
2524 -1, -1, -1, -1, 399, 400, 401, 402, 403, 404,
2525 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
2526 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
2527 23, 24, -1, 26, 27, 28, 29, 30, 31, 32,
2528 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2529 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2530 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2531 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2532 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2533 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
2534 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
2535 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2536 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
2537 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2538 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
2539 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2540 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2541 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2542 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
2543 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
2544 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
2545 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
2546 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
2547 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
2548 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
2549 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
2550 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
2551 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
2552 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
2553 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
2554 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
2555 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
2556 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
2557 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
2558 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
2559 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
2560 353, -1, -1, 356, 357, -1, -1, -1, -1, -1,
2561 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2562 -1, -1, 375, -1, 377, -1, 379, -1, -1, -1,
2563 -1, -1, 385, 386, 387, 388, 389, -1, -1, -1,
2564 -1, -1, -1, -1, -1, -1, 399, 400, 401, 402,
2565 403, 404, 3, 4, 5, 6, 7, 8, 9, 10,
2566 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2567 21, 22, 23, 24, -1, 26, 27, 28, 29, 30,
2568 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2569 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2570 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2571 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2572 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2573 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
2574 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2575 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2576 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2577 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
2578 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2579 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2580 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2581 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2582 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
2583 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
2584 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
2585 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
2586 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
2587 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
2588 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
2589 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
2590 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
2591 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
2592 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
2593 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
2594 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
2595 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
2596 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
2597 321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
2598 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
2599 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
2600 351, 352, 353, -1, -1, 356, 357, -1, -1, -1,
2601 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2602 -1, -1, -1, -1, 375, -1, 377, -1, 379, -1,
2603 -1, -1, -1, -1, 385, 386, 387, 388, 389, -1,
2604 -1, -1, -1, -1, -1, -1, -1, -1, 399, 400,
2605 401, 402, 403, 404, 3, 4, 5, 6, 7, 8,
2606 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2607 19, 20, 21, 22, 23, 24, -1, 26, 27, 28,
2608 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2609 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2610 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2611 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2612 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2613 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
2614 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
2615 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2616 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
2617 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
2618 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2619 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2620 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2621 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2622 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
2623 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
2624 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
2625 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
2626 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
2627 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
2628 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
2629 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
2630 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
2631 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
2632 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
2633 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
2634 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
2635 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
2636 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
2637 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
2638 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
2639 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
2640 349, 350, 351, 352, 353, -1, -1, 356, 357, -1,
2641 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2642 -1, -1, -1, -1, -1, -1, 375, -1, 377, -1,
2643 -1, -1, -1, -1, -1, -1, 385, 386, 387, 388,
2644 389, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2645 399, 400, 401, 402, 403, 404, 3, 4, 5, 6,
2646 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2647 17, 18, 19, 20, 21, -1, -1, -1, -1, -1,
2648 -1, -1, -1, -1, -1, -1, 33, 34, 35, 36,
2649 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2650 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2651 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2652 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2653 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
2654 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2655 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2656 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
2657 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
2658 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2659 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2660 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
2661 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
2662 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
2663 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
2664 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
2665 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
2666 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
2667 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
2668 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
2669 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
2670 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
2671 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
2672 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
2673 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
2674 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
2675 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
2676 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
2677 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
2678 327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
2679 337, 338, -1, 340, 341, 342, 343, 344, 345, 346,
2680 347, 348, 349, 350, 351, 352, 353, -1, -1, 356,
2681 357, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2682 -1, -1, -1, -1, -1, -1, -1, -1, 375, -1,
2683 -1, -1, -1, -1, -1, -1, -1, -1, 385, 386,
2684 387, 388, 389, -1, -1, -1, -1, -1, -1, -1,
2685 -1, -1, 399, 400, 401, 402, 403, 404, 3, 4,
2686 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2687 15, 16, 17, 18, 19, 20, 21, -1, -1, -1,
2688 -1, -1, -1, -1, -1, -1, -1, -1, 33, 34,
2689 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2690 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2691 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2692 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2693 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2694 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
2695 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
2696 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2697 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
2698 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2699 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2700 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2701 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2702 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2703 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
2704 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
2705 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
2706 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
2707 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
2708 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
2709 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
2710 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
2711 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2712 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
2713 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
2714 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2715 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
2716 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2717 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
2718 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2719 335, 336, 337, 338, -1, -1, 341, -1, -1, -1,
2720 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2721 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2722 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2723 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2724 385, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2725 -1, -1, -1, -1, 399, 400, 401, 402, 403, 404,
2726 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
2727 13, 14, 15, 16, 17, 18, 19, 20, 21, -1,
2728 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2729 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2730 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2731 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2732 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2733 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2734 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
2735 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
2736 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2737 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
2738 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2739 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
2740 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2741 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2742 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2743 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
2744 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
2745 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
2746 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
2747 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
2748 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
2749 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
2750 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
2751 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
2752 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
2753 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
2754 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
2755 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
2756 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
2757 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
2758 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
2759 333, 334, 335, 336, 337, 338, -1, 340, 341, 342,
2760 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
2761 353, -1, -1, 356, 357, -1, -1, -1, -1, -1,
2762 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2763 -1, -1, 375, -1, -1, -1, -1, -1, -1, -1,
2764 -1, -1, -1, 386, 387, 388, 389, -1, -1, -1,
2765 -1, -1, -1, -1, -1, -1, 399, 400, 401, 402,
2766 403, 3, 4, 5, 6, 7, 8, 9, 10, 11,
2767 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
2768 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2769 -1, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2770 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2771 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
2772 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2773 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2774 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2775 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2776 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2777 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2778 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2779 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
2780 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2781 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2782 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2783 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
2784 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
2785 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
2786 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
2787 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
2788 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
2789 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
2790 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
2791 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
2792 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
2793 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
2794 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
2795 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
2796 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
2797 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
2798 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
2799 332, 333, 334, 335, 336, 337, 338, -1, 340, 341,
2800 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2801 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2802 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2803 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2804 -1, -1, -1, 385, -1, -1, -1, -1, -1, -1,
2805 -1, -1, -1, -1, -1, -1, -1, 399, 400, 401,
2806 402, 403, 3, 4, 5, 6, 7, 8, 9, 10,
2807 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2808 21, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2809 -1, -1, 33, 34, 35, 36, 37, 38, 39, 40,
2810 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2811 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2812 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2813 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2814 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
2815 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2816 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2817 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2818 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
2819 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2820 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2821 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2822 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2823 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
2824 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
2825 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
2826 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
2827 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
2828 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
2829 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
2830 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
2831 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
2832 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
2833 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
2834 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
2835 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
2836 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
2837 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
2838 321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
2839 331, 332, 333, 334, 335, 336, 337, 338, -1, -1,
2840 341, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2841 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2842 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2843 -1, -1, -1, -1, -1, -1, -1, -1, -1, 380,
2844 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2845 -1, -1, -1, -1, -1, -1, -1, -1, 399, 400,
2846 401, 402, 403, 3, 4, 5, 6, 7, 8, 9,
2847 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2848 20, 21, -1, -1, -1, -1, -1, -1, -1, -1,
2849 -1, -1, -1, 33, 34, 35, 36, 37, 38, 39,
2850 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2851 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2852 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2853 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2854 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
2855 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
2856 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2857 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
2858 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
2859 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2860 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2861 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2862 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2863 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
2864 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
2865 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
2866 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
2867 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
2868 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
2869 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
2870 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
2871 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
2872 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
2873 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
2874 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
2875 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2876 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
2877 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
2878 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
2879 330, 331, 332, 333, 334, 335, 336, 337, 338, -1,
2880 -1, 341, -1, -1, -1, -1, -1, -1, -1, -1,
2881 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2882 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2883 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2884 380, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2885 -1, -1, -1, -1, -1, -1, -1, -1, -1, 399,
2886 400, 401, 402, 403, 3, 4, 5, 6, 7, 8,
2887 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2888 19, 20, 21, -1, -1, -1, -1, -1, -1, -1,
2889 -1, -1, -1, -1, 33, 34, 35, 36, 37, 38,
2890 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2891 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2892 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2893 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2894 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
2895 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
2896 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2897 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
2898 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
2899 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2900 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2901 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2902 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2903 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
2904 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
2905 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
2906 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
2907 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
2908 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
2909 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
2910 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
2911 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
2912 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
2913 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
2914 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
2915 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
2916 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
2917 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
2918 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
2919 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
2920 -1, -1, 341, -1, -1, -1, -1, -1, -1, -1,
2921 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2922 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2923 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2924 -1, 380, -1, -1, -1, -1, -1, -1, -1, -1,
2925 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2926 399, 400, 401, 402, 403, 3, 4, 5, 6, 7,
2927 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
2928 18, 19, 20, 21, -1, -1, -1, -1, -1, -1,
2929 -1, -1, -1, -1, -1, 33, 34, 35, 36, 37,
2930 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2931 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2932 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2933 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2934 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
2935 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
2936 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
2937 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
2938 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
2939 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2940 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2941 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2942 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2943 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2944 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
2945 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
2946 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
2947 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
2948 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
2949 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
2950 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
2951 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
2952 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
2953 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
2954 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
2955 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
2956 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
2957 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
2958 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
2959 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
2960 338, -1, -1, 341, -1, -1, -1, -1, -1, -1,
2961 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2962 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2963 -1, -1, -1, -1, -1, -1, -1, 5, 6, 7,
2964 8, 9, -1, 11, 12, 13, 14, 15, 16, 17,
2965 18, 19, 20, 21, -1, -1, -1, -1, -1, -1,
2966 -1, 399, 400, 401, 402, 403, 34, 35, 36, 37,
2967 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2968 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2969 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2970 68, 69, 70, 71, 72, -1, -1, -1, -1, -1,
2971 -1, -1, -1, -1, 82, -1, -1, -1, -1, -1,
2972 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2973 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
2974 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
2975 118, 119, 120, 121, -1, -1, -1, -1, -1, -1,
2976 -1, -1, -1, 131, 132, 133, 134, 135, 136, 137,
2977 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2978 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2979 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2980 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2981 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
2982 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
2983 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
2984 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
2985 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
2986 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
2987 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
2988 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
2989 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
2990 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
2991 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
2992 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
2993 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
2994 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
2995 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
2996 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
2997 338, -1, 340, 341, 342, 343, 344, 345, 346, 347,
2998 348, 349, 350, 351, 352, 353, -1, -1, 356, 357,
2999 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3000 -1, -1, -1, -1, -1, -1, -1, 375, -1, -1,
3001 -1, 379, 380, -1, -1, -1, -1, -1, 386, 387,
3002 388, 389, 5, 6, 7, 8, 9, -1, 11, 12,
3003 13, 14, 15, 16, 17, 18, 19, 20, 21, -1,
3004 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3005 -1, 34, 35, 36, 37, 38, 39, 40, 41, 42,
3006 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
3007 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
3008 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3009 -1, -1, -1, -1, -1, -1, -1, -1, -1, 82,
3010 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3011 -1, -1, -1, -1, -1, 98, 99, 100, 101, 102,
3012 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
3013 113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
3014 -1, -1, -1, -1, -1, -1, -1, -1, 131, 132,
3015 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
3016 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
3017 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
3018 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
3019 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
3020 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
3021 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
3022 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
3023 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
3024 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
3025 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
3026 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
3027 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
3028 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
3029 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
3030 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
3031 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
3032 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
3033 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
3034 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
3035 333, 334, 335, 336, 337, 338, -1, 340, 341, 342,
3036 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
3037 353, -1, -1, 356, 357, -1, -1, -1, -1, -1,
3038 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3039 -1, -1, 375, -1, -1, 378, -1, -1, -1, -1,
3040 -1, -1, -1, 386, 387, 388, 389, 5, 6, 7,
3041 8, 9, -1, 11, 12, 13, 14, 15, 16, 17,
3042 18, 19, 20, 21, -1, -1, -1, -1, -1, -1,
3043 -1, -1, -1, -1, -1, -1, 34, 35, 36, 37,
3044 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
3045 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
3046 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
3047 68, 69, 70, 71, 72, -1, -1, -1, -1, -1,
3048 -1, -1, -1, -1, 82, -1, -1, -1, -1, -1,
3049 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3050 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
3051 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
3052 118, 119, 120, 121, -1, -1, -1, -1, -1, -1,
3053 -1, -1, -1, 131, 132, 133, 134, 135, 136, 137,
3054 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
3055 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
3056 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
3057 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
3058 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
3059 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
3060 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
3061 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
3062 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
3063 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
3064 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
3065 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
3066 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
3067 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
3068 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
3069 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
3070 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
3071 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
3072 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
3073 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
3074 338, -1, 340, 341, 342, 343, 344, 345, 346, 347,
3075 348, 349, 350, 351, 352, 353, -1, -1, 356, 357,
3076 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3077 -1, -1, -1, -1, -1, -1, -1, 375, -1, -1,
3078 -1, 379, -1, -1, -1, -1, -1, -1, 386, 387,
3079 388, 389, 5, 6, 7, 8, 9, -1, 11, 12,
3080 13, 14, 15, 16, 17, 18, 19, 20, 21, -1,
3081 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3082 -1, 34, 35, 36, 37, 38, 39, 40, 41, 42,
3083 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
3084 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
3085 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3086 -1, -1, -1, -1, -1, -1, -1, -1, -1, 82,
3087 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3088 -1, -1, -1, -1, -1, 98, 99, 100, 101, 102,
3089 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
3090 113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
3091 -1, -1, -1, -1, -1, -1, -1, -1, 131, 132,
3092 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
3093 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
3094 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
3095 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
3096 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
3097 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
3098 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
3099 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
3100 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
3101 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
3102 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
3103 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
3104 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
3105 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
3106 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
3107 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
3108 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
3109 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
3110 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
3111 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
3112 333, 334, 335, 336, 337, 338, -1, 340, 341, 342,
3113 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
3114 353, -1, -1, 356, 357, -1, -1, -1, -1, -1,
3115 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3116 -1, -1, 375, -1, -1, 378, -1, -1, -1, -1,
3117 -1, -1, -1, 386, 387, 388, 389, 5, 6, 7,
3118 8, 9, -1, 11, 12, 13, 14, 15, 16, 17,
3119 18, 19, 20, 21, -1, -1, -1, -1, -1, -1,
3120 -1, -1, -1, -1, -1, -1, 34, 35, 36, 37,
3121 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
3122 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
3123 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
3124 68, 69, 70, 71, 72, -1, -1, -1, -1, -1,
3125 -1, -1, -1, -1, 82, -1, -1, -1, -1, -1,
3126 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3127 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
3128 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
3129 118, 119, 120, 121, -1, -1, -1, -1, -1, -1,
3130 -1, -1, -1, 131, 132, 133, 134, 135, 136, 137,
3131 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
3132 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
3133 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
3134 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
3135 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
3136 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
3137 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
3138 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
3139 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
3140 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
3141 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
3142 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
3143 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
3144 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
3145 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
3146 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
3147 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
3148 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
3149 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
3150 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
3151 338, -1, 340, 341, 342, 343, 344, 345, 346, 347,
3152 348, 349, 350, 351, 352, 353, -1, -1, 356, 357,
3153 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3154 -1, -1, -1, -1, -1, -1, -1, 375, -1, -1,
3155 -1, -1, -1, -1, -1, -1, -1, 385, 386, 387,
3156 388, 389, 5, 6, 7, 8, 9, -1, 11, 12,
3157 13, 14, 15, 16, 17, 18, 19, 20, 21, -1,
3158 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3159 -1, 34, 35, 36, 37, 38, 39, 40, 41, 42,
3160 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
3161 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
3162 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3163 -1, -1, -1, -1, -1, -1, -1, -1, -1, 82,
3164 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3165 -1, -1, -1, -1, -1, 98, 99, 100, 101, 102,
3166 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
3167 113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
3168 -1, -1, -1, -1, -1, -1, -1, -1, 131, 132,
3169 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
3170 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
3171 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
3172 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
3173 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
3174 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
3175 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
3176 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
3177 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
3178 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
3179 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
3180 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
3181 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
3182 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
3183 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
3184 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
3185 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
3186 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
3187 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
3188 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
3189 333, 334, 335, 336, 337, 338, -1, 340, 341, 342,
3190 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
3191 353, -1, -1, 356, 357, -1, -1, -1, -1, -1,
3192 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3193 -1, -1, 375, -1, -1, -1, -1, -1, -1, -1,
3194 -1, -1, -1, 386, 387, 388, 389, 5, 6, 7,
3195 8, 9, -1, 11, 12, 13, 14, 15, 16, 17,
3196 18, 19, 20, 21, -1, -1, -1, -1, -1, -1,
3197 -1, -1, -1, -1, -1, -1, 34, 35, 36, 37,
3198 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
3199 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
3200 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
3201 68, 69, 70, 71, 72, -1, -1, -1, -1, -1,
3202 -1, -1, -1, -1, 82, -1, -1, -1, -1, -1,
3203 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3204 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
3205 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
3206 118, 119, 120, 121, -1, -1, -1, -1, -1, -1,
3207 -1, -1, -1, 131, 132, 133, 134, 135, 136, 137,
3208 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
3209 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
3210 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
3211 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
3212 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
3213 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
3214 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
3215 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
3216 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
3217 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
3218 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
3219 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
3220 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
3221 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
3222 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
3223 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
3224 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
3225 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
3226 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
3227 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
3228 338, -1, 340, 341, 342, 343, 344, 345, 346, 347,
3229 348, 349, 350, 351, 352, 353, -1, -1, 356, 357,
3230 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3231 -1, -1, -1, -1, -1, -1, -1, 375, -1, -1,
3232 -1, -1, -1, -1, -1, -1, -1, -1, 386, 387,
3233 388, 389, 5, 6, 7, 8, 9, -1, 11, 12,
3234 13, 14, 15, 16, 17, 18, 19, 20, 21, -1,
3235 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3236 -1, 34, 35, 36, 37, 38, 39, 40, 41, 42,
3237 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
3238 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
3239 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3240 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3241 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3242 -1, -1, -1, -1, -1, 98, 99, 100, 101, 102,
3243 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
3244 113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
3245 -1, -1, -1, -1, -1, -1, -1, -1, 131, 132,
3246 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
3247 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
3248 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
3249 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
3250 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
3251 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
3252 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
3253 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
3254 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
3255 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
3256 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
3257 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
3258 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
3259 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
3260 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
3261 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
3262 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
3263 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
3264 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
3265 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
3266 333, 334, 335, 336, 337, 338, -1, -1, 341
3269 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
3270 symbol of state STATE-NUM. */
3271 static const yytype_uint16 yystos[] =
3273 0, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3274 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
3275 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
3276 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
3277 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
3278 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3279 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3280 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
3281 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
3282 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
3283 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
3284 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
3285 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
3286 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
3287 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
3288 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
3289 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
3290 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
3291 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
3292 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
3293 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
3294 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
3295 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
3296 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
3297 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
3298 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
3299 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
3300 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
3301 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
3302 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
3303 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
3304 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
3305 333, 334, 335, 336, 337, 338, 341, 385, 399, 400,
3306 401, 402, 403, 404, 439, 440, 443, 444, 445, 446,
3307 450, 451, 452, 453, 454, 455, 458, 459, 460, 461,
3308 462, 464, 469, 470, 471, 511, 512, 513, 375, 375,
3309 340, 379, 470, 340, 385, 385, 514, 376, 382, 447,
3310 448, 449, 459, 464, 382, 385, 340, 340, 385, 460,
3311 464, 393, 466, 467, 0, 512, 340, 463, 81, 340,
3312 456, 457, 379, 473, 464, 377, 385, 465, 379, 490,
3313 448, 447, 449, 340, 340, 375, 384, 465, 379, 382,
3314 385, 442, 340, 342, 343, 344, 345, 346, 347, 348,
3315 349, 350, 351, 352, 353, 356, 357, 375, 386, 387,
3316 388, 389, 409, 410, 411, 413, 414, 415, 416, 417,
3317 418, 419, 420, 421, 462, 464, 468, 465, 376, 382,
3318 384, 376, 382, 472, 459, 464, 474, 475, 385, 378,
3319 420, 422, 423, 424, 425, 426, 427, 428, 429, 430,
3320 431, 432, 433, 377, 385, 22, 23, 24, 26, 27,
3321 28, 29, 30, 31, 32, 339, 377, 379, 380, 385,
3322 420, 433, 435, 437, 439, 443, 462, 464, 480, 481,
3323 482, 483, 491, 492, 493, 494, 497, 498, 501, 502,
3324 503, 510, 515, 465, 384, 465, 379, 435, 478, 384,
3325 441, 340, 382, 385, 420, 420, 437, 356, 357, 377,
3326 381, 376, 376, 382, 338, 435, 375, 420, 382, 394,
3327 340, 433, 438, 457, 474, 464, 340, 476, 477, 380,
3328 475, 390, 391, 392, 387, 389, 354, 355, 358, 359,
3329 393, 394, 360, 361, 397, 396, 395, 362, 364, 363,
3330 398, 378, 378, 433, 385, 385, 505, 375, 375, 385,
3331 385, 437, 375, 437, 383, 375, 377, 380, 484, 365,
3332 366, 367, 368, 369, 370, 371, 372, 373, 374, 384,
3333 436, 382, 385, 380, 481, 494, 498, 503, 478, 384,
3334 478, 479, 478, 474, 340, 376, 412, 437, 340, 435,
3335 420, 380, 476, 465, 382, 385, 420, 420, 420, 422,
3336 422, 423, 423, 424, 424, 424, 424, 425, 425, 426,
3337 427, 428, 429, 430, 431, 434, 378, 481, 506, 437,
3338 385, 437, 383, 504, 340, 516, 517, 491, 435, 435,
3339 478, 380, 382, 380, 378, 385, 477, 437, 339, 480,
3340 492, 507, 376, 376, 437, 452, 459, 496, 375, 378,
3341 382, 485, 380, 478, 383, 375, 496, 508, 509, 487,
3342 488, 489, 495, 499, 340, 376, 438, 378, 517, 380,
3343 435, 437, 385, 376, 25, 483, 482, 379, 384, 482,
3344 486, 490, 376, 376, 437, 486, 487, 491, 500, 478,
3348 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
3349 static const yytype_uint16 yyr1[] =
3351 0, 408, 409, 410, 410, 410, 410, 410, 410, 410,
3352 410, 410, 410, 410, 410, 410, 410, 411, 411, 411,
3353 411, 411, 411, 412, 413, 414, 415, 415, 416, 416,
3354 417, 417, 418, 419, 419, 419, 420, 420, 420, 420,
3355 421, 421, 421, 421, 422, 422, 422, 422, 423, 423,
3356 423, 424, 424, 424, 425, 425, 425, 425, 425, 426,
3357 426, 426, 427, 427, 428, 428, 429, 429, 430, 430,
3358 431, 431, 432, 432, 433, 434, 433, 435, 435, 436,
3359 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
3360 437, 437, 438, 439, 439, 439, 439, 439, 439, 439,
3361 439, 439, 441, 440, 442, 442, 443, 444, 444, 445,
3362 445, 446, 447, 447, 448, 448, 448, 448, 449, 450,
3363 450, 450, 450, 450, 451, 451, 451, 451, 451, 452,
3364 452, 453, 454, 454, 454, 454, 454, 454, 454, 454,
3365 455, 456, 456, 457, 457, 457, 458, 459, 459, 460,
3366 460, 460, 460, 460, 460, 460, 461, 461, 461, 461,
3367 461, 461, 461, 461, 461, 461, 461, 461, 461, 461,
3368 461, 461, 461, 461, 461, 461, 461, 461, 461, 461,
3369 461, 461, 461, 461, 461, 462, 463, 463, 464, 464,
3370 465, 465, 465, 465, 466, 466, 467, 468, 468, 469,
3371 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3372 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3373 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3374 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3375 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3376 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3377 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3378 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3379 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3380 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3381 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3382 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3383 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3384 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3385 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3386 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3387 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3388 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3389 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3390 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3391 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3392 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3393 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3394 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3395 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3396 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3397 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3398 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
3399 469, 469, 469, 469, 469, 469, 469, 470, 470, 470,
3400 472, 471, 473, 471, 474, 474, 475, 475, 476, 476,
3401 477, 477, 478, 478, 478, 479, 479, 480, 481, 481,
3402 482, 482, 482, 482, 482, 482, 482, 483, 484, 485,
3403 483, 486, 486, 488, 487, 489, 487, 490, 490, 491,
3404 491, 492, 492, 493, 493, 494, 495, 495, 496, 496,
3405 497, 497, 499, 498, 500, 500, 501, 501, 502, 502,
3406 504, 503, 505, 503, 506, 503, 507, 507, 508, 508,
3407 509, 509, 510, 510, 510, 510, 510, 511, 511, 512,
3408 512, 512, 514, 513, 515, 516, 516, 517, 517
3411 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
3412 static const yytype_uint8 yyr2[] =
3414 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
3415 1, 1, 1, 1, 1, 1, 3, 1, 4, 1,
3416 3, 2, 2, 1, 1, 1, 2, 2, 2, 1,
3417 2, 3, 2, 1, 1, 1, 1, 2, 2, 2,
3418 1, 1, 1, 1, 1, 3, 3, 3, 1, 3,
3419 3, 1, 3, 3, 1, 3, 3, 3, 3, 1,
3420 3, 3, 1, 3, 1, 3, 1, 3, 1, 3,
3421 1, 3, 1, 3, 1, 0, 6, 1, 3, 1,
3422 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3423 1, 3, 1, 2, 2, 4, 2, 3, 4, 2,
3424 3, 4, 0, 6, 2, 3, 2, 1, 1, 2,
3425 3, 3, 2, 3, 2, 1, 2, 1, 1, 1,
3426 3, 4, 6, 5, 1, 2, 3, 5, 4, 1,
3427 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3428 4, 1, 3, 1, 3, 1, 1, 1, 2, 1,
3429 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3430 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3431 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3432 1, 1, 1, 1, 4, 1, 1, 3, 2, 3,
3433 2, 3, 3, 4, 1, 0, 3, 1, 3, 1,
3434 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3435 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3439 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3440 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3441 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3442 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3443 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3444 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3445 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3446 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3447 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3448 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3449 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3450 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3451 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3452 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3453 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3454 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3455 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3456 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3457 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3458 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3459 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3460 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3461 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3462 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3463 0, 6, 0, 5, 1, 2, 3, 4, 1, 3,
3464 1, 2, 1, 3, 4, 1, 3, 1, 1, 1,
3465 1, 1, 1, 1, 1, 1, 1, 2, 0, 0,
3466 5, 1, 1, 0, 2, 0, 2, 2, 3, 1,
3467 2, 1, 2, 1, 2, 5, 3, 1, 1, 4,
3468 1, 2, 0, 8, 0, 1, 3, 2, 1, 2,
3469 0, 6, 0, 8, 0, 7, 1, 1, 1, 0,
3470 2, 3, 2, 2, 2, 3, 2, 1, 2, 1,
3471 1, 1, 0, 3, 5, 1, 3, 1, 4
3475 #define yyerrok (yyerrstatus = 0)
3476 #define yyclearin (yychar = YYEMPTY)
3477 #define YYEMPTY (-2)
3480 #define YYACCEPT goto yyacceptlab
3481 #define YYABORT goto yyabortlab
3482 #define YYERROR goto yyerrorlab
3485 #define YYRECOVERING() (!!yyerrstatus)
3487 #define YYBACKUP(Token, Value) \
3489 if (yychar == YYEMPTY) \
3493 YYPOPSTACK (yylen); \
3499 yyerror (pParseContext, YY_("syntax error: cannot back up")); \
3504 /* Error token number */
3506 #define YYERRCODE 256
3510 /* Enable debugging if requested. */
3514 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
3515 # define YYFPRINTF fprintf
3518 # define YYDPRINTF(Args) \
3524 /* This macro is provided for backward compatibility. */
3525 #ifndef YY_LOCATION_PRINT
3526 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
3530 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
3534 YYFPRINTF (stderr, "%s ", Title); \
3535 yy_symbol_print (stderr, \
3536 Type, Value, pParseContext); \
3537 YYFPRINTF (stderr, "\n"); \
3542 /*----------------------------------------.
3543 | Print this symbol's value on YYOUTPUT. |
3544 `----------------------------------------*/
3547 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, glslang::TParseContext* pParseContext)
3549 FILE *yyo = yyoutput;
3551 YYUSE (pParseContext);
3555 if (yytype < YYNTOKENS)
3556 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
3562 /*--------------------------------.
3563 | Print this symbol on YYOUTPUT. |
3564 `--------------------------------*/
3567 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, glslang::TParseContext* pParseContext)
3569 YYFPRINTF (yyoutput, "%s %s (",
3570 yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
3572 yy_symbol_value_print (yyoutput, yytype, yyvaluep, pParseContext);
3573 YYFPRINTF (yyoutput, ")");
3576 /*------------------------------------------------------------------.
3577 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
3579 `------------------------------------------------------------------*/
3582 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
3584 YYFPRINTF (stderr, "Stack now");
3585 for (; yybottom <= yytop; yybottom++)
3587 int yybot = *yybottom;
3588 YYFPRINTF (stderr, " %d", yybot);
3590 YYFPRINTF (stderr, "\n");
3593 # define YY_STACK_PRINT(Bottom, Top) \
3596 yy_stack_print ((Bottom), (Top)); \
3600 /*------------------------------------------------.
3601 | Report that the YYRULE is going to be reduced. |
3602 `------------------------------------------------*/
3605 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, glslang::TParseContext* pParseContext)
3607 unsigned long int yylno = yyrline[yyrule];
3608 int yynrhs = yyr2[yyrule];
3610 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
3612 /* The symbols being reduced. */
3613 for (yyi = 0; yyi < yynrhs; yyi++)
3615 YYFPRINTF (stderr, " $%d = ", yyi + 1);
3616 yy_symbol_print (stderr,
3617 yystos[yyssp[yyi + 1 - yynrhs]],
3618 &(yyvsp[(yyi + 1) - (yynrhs)])
3620 YYFPRINTF (stderr, "\n");
3624 # define YY_REDUCE_PRINT(Rule) \
3627 yy_reduce_print (yyssp, yyvsp, Rule, pParseContext); \
3630 /* Nonzero means print parse trace. It is left uninitialized so that
3631 multiple parsers can coexist. */
3633 #else /* !YYDEBUG */
3634 # define YYDPRINTF(Args)
3635 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
3636 # define YY_STACK_PRINT(Bottom, Top)
3637 # define YY_REDUCE_PRINT(Rule)
3638 #endif /* !YYDEBUG */
3641 /* YYINITDEPTH -- initial size of the parser's stacks. */
3643 # define YYINITDEPTH 200
3646 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3647 if the built-in stack extension method is used).
3649 Do not make this value too large; the results are undefined if
3650 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
3651 evaluated with infinite-precision integer arithmetic. */
3654 # define YYMAXDEPTH 10000
3661 # if defined __GLIBC__ && defined _STRING_H
3662 # define yystrlen strlen
3664 /* Return the length of YYSTR. */
3666 yystrlen (const char *yystr)
3669 for (yylen = 0; yystr[yylen]; yylen++)
3677 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
3678 # define yystpcpy stpcpy
3680 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3683 yystpcpy (char *yydest, const char *yysrc)
3686 const char *yys = yysrc;
3688 while ((*yyd++ = *yys++) != '\0')
3697 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3698 quotes and backslashes, so that it's suitable for yyerror. The
3699 heuristic is that double-quoting is unnecessary unless the string
3700 contains an apostrophe, a comma, or backslash (other than
3701 backslash-backslash). YYSTR is taken from yytname. If YYRES is
3702 null, do not copy; instead, return the length of what the result
3705 yytnamerr (char *yyres, const char *yystr)
3710 char const *yyp = yystr;
3717 goto do_not_strip_quotes;
3721 goto do_not_strip_quotes;
3734 do_not_strip_quotes: ;
3738 return yystrlen (yystr);
3740 return yystpcpy (yyres, yystr) - yyres;
3744 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
3745 about the unexpected token YYTOKEN for the state stack whose top is
3748 Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
3749 not large enough to hold the message. In that case, also set
3750 *YYMSG_ALLOC to the required number of bytes. Return 2 if the
3751 required number of bytes is too large to store. */
3753 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
3754 yytype_int16 *yyssp, int yytoken)
3756 YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
3757 YYSIZE_T yysize = yysize0;
3758 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3759 /* Internationalized format string. */
3760 const char *yyformat = YY_NULLPTR;
3761 /* Arguments of yyformat. */
3762 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3763 /* Number of reported tokens (one for the "unexpected", one per
3767 /* There are many possibilities here to consider:
3768 - If this state is a consistent state with a default action, then
3769 the only way this function was invoked is if the default action
3770 is an error action. In that case, don't check for expected
3771 tokens because there are none.
3772 - The only way there can be no lookahead present (in yychar) is if
3773 this state is a consistent state with a default action. Thus,
3774 detecting the absence of a lookahead is sufficient to determine
3775 that there is no unexpected or expected token to report. In that
3776 case, just report a simple "syntax error".
3777 - Don't assume there isn't a lookahead just because this state is a
3778 consistent state with a default action. There might have been a
3779 previous inconsistent state, consistent state with a non-default
3780 action, or user semantic action that manipulated yychar.
3781 - Of course, the expected token list depends on states to have
3782 correct lookahead information, and it depends on the parser not
3783 to perform extra reductions after fetching a lookahead from the
3784 scanner and before detecting a syntax error. Thus, state merging
3785 (from LALR or IELR) and default reductions corrupt the expected
3786 token list. However, the list is correct for canonical LR with
3787 one exception: it will still contain any token that will not be
3788 accepted due to an error action in a later state.
3790 if (yytoken != YYEMPTY)
3792 int yyn = yypact[*yyssp];
3793 yyarg[yycount++] = yytname[yytoken];
3794 if (!yypact_value_is_default (yyn))
3796 /* Start YYX at -YYN if negative to avoid negative indexes in
3797 YYCHECK. In other words, skip the first -YYN actions for
3798 this state because they are default actions. */
3799 int yyxbegin = yyn < 0 ? -yyn : 0;
3800 /* Stay within bounds of both yycheck and yytname. */
3801 int yychecklim = YYLAST - yyn + 1;
3802 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3805 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3806 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
3807 && !yytable_value_is_error (yytable[yyx + yyn]))
3809 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3815 yyarg[yycount++] = yytname[yyx];
3817 YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
3818 if (! (yysize <= yysize1
3819 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
3829 # define YYCASE_(N, S) \
3833 YYCASE_(0, YY_("syntax error"));
3834 YYCASE_(1, YY_("syntax error, unexpected %s"));
3835 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
3836 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
3837 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
3838 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
3843 YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
3844 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
3849 if (*yymsg_alloc < yysize)
3851 *yymsg_alloc = 2 * yysize;
3852 if (! (yysize <= *yymsg_alloc
3853 && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
3854 *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
3858 /* Avoid sprintf, as that infringes on the user's name space.
3859 Don't have undefined behavior even if the translation
3860 produced a string with the wrong number of "%s"s. */
3864 while ((*yyp = *yyformat) != '\0')
3865 if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
3867 yyp += yytnamerr (yyp, yyarg[yyi++]);
3878 #endif /* YYERROR_VERBOSE */
3880 /*-----------------------------------------------.
3881 | Release the memory associated to this symbol. |
3882 `-----------------------------------------------*/
3885 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, glslang::TParseContext* pParseContext)
3888 YYUSE (pParseContext);
3891 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3893 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3895 YY_IGNORE_MAYBE_UNINITIALIZED_END
3906 yyparse (glslang::TParseContext* pParseContext)
3908 /* The lookahead symbol. */
3912 /* The semantic value of the lookahead symbol. */
3913 /* Default value used for initialization, for pacifying older GCCs
3914 or non-GCC compilers. */
3915 YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
3916 YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
3918 /* Number of syntax errors so far. */
3922 /* Number of tokens to shift before error messages enabled. */
3925 /* The stacks and their tools:
3926 'yyss': related to states.
3927 'yyvs': related to semantic values.
3929 Refer to the stacks through separate pointers, to allow yyoverflow
3930 to reallocate them elsewhere. */
3932 /* The state stack. */
3933 yytype_int16 yyssa[YYINITDEPTH];
3935 yytype_int16 *yyssp;
3937 /* The semantic value stack. */
3938 YYSTYPE yyvsa[YYINITDEPTH];
3942 YYSIZE_T yystacksize;
3946 /* Lookahead token as an internal (translated) token number. */
3948 /* The variables used to return semantic value and location from the
3953 /* Buffer for error messages, and its allocated size. */
3955 char *yymsg = yymsgbuf;
3956 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
3959 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
3961 /* The number of symbols on the RHS of the reduced rule.
3962 Keep to zero when no symbol should be popped. */
3965 yyssp = yyss = yyssa;
3966 yyvsp = yyvs = yyvsa;
3967 yystacksize = YYINITDEPTH;
3969 YYDPRINTF ((stderr, "Starting parse\n"));
3974 yychar = YYEMPTY; /* Cause a token to be read. */
3977 /*------------------------------------------------------------.
3978 | yynewstate -- Push a new state, which is found in yystate. |
3979 `------------------------------------------------------------*/
3981 /* In all cases, when you get here, the value and location stacks
3982 have just been pushed. So pushing a state here evens the stacks. */
3988 if (yyss + yystacksize - 1 <= yyssp)
3990 /* Get the current used size of the three stacks, in elements. */
3991 YYSIZE_T yysize = yyssp - yyss + 1;
3995 /* Give user a chance to reallocate the stack. Use copies of
3996 these so that the &'s don't force the real ones into
3998 YYSTYPE *yyvs1 = yyvs;
3999 yytype_int16 *yyss1 = yyss;
4001 /* Each stack pointer address is followed by the size of the
4002 data in use in that stack, in bytes. This used to be a
4003 conditional around just the two extra args, but that might
4004 be undefined if yyoverflow is a macro. */
4005 yyoverflow (YY_("memory exhausted"),
4006 &yyss1, yysize * sizeof (*yyssp),
4007 &yyvs1, yysize * sizeof (*yyvsp),
4013 #else /* no yyoverflow */
4014 # ifndef YYSTACK_RELOCATE
4015 goto yyexhaustedlab;
4017 /* Extend the stack our own way. */
4018 if (YYMAXDEPTH <= yystacksize)
4019 goto yyexhaustedlab;
4021 if (YYMAXDEPTH < yystacksize)
4022 yystacksize = YYMAXDEPTH;
4025 yytype_int16 *yyss1 = yyss;
4026 union yyalloc *yyptr =
4027 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
4029 goto yyexhaustedlab;
4030 YYSTACK_RELOCATE (yyss_alloc, yyss);
4031 YYSTACK_RELOCATE (yyvs_alloc, yyvs);
4032 # undef YYSTACK_RELOCATE
4034 YYSTACK_FREE (yyss1);
4037 #endif /* no yyoverflow */
4039 yyssp = yyss + yysize - 1;
4040 yyvsp = yyvs + yysize - 1;
4042 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
4043 (unsigned long int) yystacksize));
4045 if (yyss + yystacksize - 1 <= yyssp)
4049 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
4051 if (yystate == YYFINAL)
4061 /* Do appropriate processing given the current state. Read a
4062 lookahead token if we need one and don't already have one. */
4064 /* First try to decide what to do without reference to lookahead token. */
4065 yyn = yypact[yystate];
4066 if (yypact_value_is_default (yyn))
4069 /* Not known => get a lookahead token if don't already have one. */
4071 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
4072 if (yychar == YYEMPTY)
4074 YYDPRINTF ((stderr, "Reading a token: "));
4075 yychar = yylex (&yylval, parseContext);
4078 if (yychar <= YYEOF)
4080 yychar = yytoken = YYEOF;
4081 YYDPRINTF ((stderr, "Now at end of input.\n"));
4085 yytoken = YYTRANSLATE (yychar);
4086 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
4089 /* If the proper action on seeing token YYTOKEN is to reduce or to
4090 detect an error, take that action. */
4092 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
4097 if (yytable_value_is_error (yyn))
4103 /* Count tokens shifted since error; after three, turn off error
4108 /* Shift the lookahead token. */
4109 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
4111 /* Discard the shifted token. */
4115 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
4117 YY_IGNORE_MAYBE_UNINITIALIZED_END
4122 /*-----------------------------------------------------------.
4123 | yydefault -- do the default action for the current state. |
4124 `-----------------------------------------------------------*/
4126 yyn = yydefact[yystate];
4132 /*-----------------------------.
4133 | yyreduce -- Do a reduction. |
4134 `-----------------------------*/
4136 /* yyn is the number of a rule to reduce with. */
4139 /* If YYLEN is nonzero, implement the default value of the action:
4142 Otherwise, the following line sets YYVAL to garbage.
4143 This behavior is undocumented and Bison
4144 users should not rely upon it. Assigning to YYVAL
4145 unconditionally makes the parser a bit smaller, and it avoids a
4146 GCC warning that YYVAL may be used uninitialized. */
4147 yyval = yyvsp[1-yylen];
4150 YY_REDUCE_PRINT (yyn);
4154 #line 302 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4156 (yyval.interm.intermTypedNode) = parseContext.handleVariable((yyvsp[0].lex).loc, (yyvsp[0].lex).symbol, (yyvsp[0].lex).string);
4158 #line 4159 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4162 #line 308 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4164 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4166 #line 4167 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4170 #line 311 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4172 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal");
4173 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
4175 #line 4176 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4179 #line 315 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4181 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal");
4182 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
4184 #line 4185 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4188 #line 319 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4190 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
4192 #line 4193 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4196 #line 322 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4198 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned literal");
4199 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
4201 #line 4202 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4205 #line 326 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4207 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer literal");
4208 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i64, (yyvsp[0].lex).loc, true);
4210 #line 4211 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4214 #line 330 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4216 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer literal");
4217 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u64, (yyvsp[0].lex).loc, true);
4219 #line 4220 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4223 #line 334 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4225 parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit integer literal");
4226 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((short)(yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
4228 #line 4229 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4232 #line 338 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4234 parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit unsigned integer literal");
4235 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((unsigned short)(yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
4237 #line 4238 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4241 #line 342 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4243 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);
4245 #line 4246 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4249 #line 345 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4251 parseContext.doubleCheck((yyvsp[0].lex).loc, "double literal");
4252 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtDouble, (yyvsp[0].lex).loc, true);
4254 #line 4255 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4258 #line 349 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4260 parseContext.float16Check((yyvsp[0].lex).loc, "half float literal");
4261 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat16, (yyvsp[0].lex).loc, true);
4263 #line 4264 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4267 #line 353 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4269 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);
4271 #line 4272 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4275 #line 356 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4277 (yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode);
4278 if ((yyval.interm.intermTypedNode)->getAsConstantUnion())
4279 (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();
4281 #line 4282 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4285 #line 364 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4287 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4289 #line 4290 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4293 #line 367 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4295 (yyval.interm.intermTypedNode) = parseContext.handleBracketDereference((yyvsp[-2].lex).loc, (yyvsp[-3].interm.intermTypedNode), (yyvsp[-1].interm.intermTypedNode));
4297 #line 4298 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4301 #line 370 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4303 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4305 #line 4306 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4309 #line 373 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4311 (yyval.interm.intermTypedNode) = parseContext.handleDotDereference((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode), *(yyvsp[0].lex).string);
4313 #line 4314 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4317 #line 376 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4319 parseContext.variableCheck((yyvsp[-1].interm.intermTypedNode));
4320 parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "++", (yyvsp[-1].interm.intermTypedNode));
4321 (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "++", EOpPostIncrement, (yyvsp[-1].interm.intermTypedNode));
4323 #line 4324 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4327 #line 381 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4329 parseContext.variableCheck((yyvsp[-1].interm.intermTypedNode));
4330 parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "--", (yyvsp[-1].interm.intermTypedNode));
4331 (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "--", EOpPostDecrement, (yyvsp[-1].interm.intermTypedNode));
4333 #line 4334 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4337 #line 389 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4339 parseContext.integerCheck((yyvsp[0].interm.intermTypedNode), "[]");
4340 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4342 #line 4343 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4346 #line 396 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4348 (yyval.interm.intermTypedNode) = parseContext.handleFunctionCall((yyvsp[0].interm).loc, (yyvsp[0].interm).function, (yyvsp[0].interm).intermNode);
4349 delete (yyvsp[0].interm).function;
4351 #line 4352 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4355 #line 403 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4357 (yyval.interm) = (yyvsp[0].interm);
4359 #line 4360 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4363 #line 409 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4365 (yyval.interm) = (yyvsp[-1].interm);
4366 (yyval.interm).loc = (yyvsp[0].lex).loc;
4368 #line 4369 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4372 #line 413 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4374 (yyval.interm) = (yyvsp[-1].interm);
4375 (yyval.interm).loc = (yyvsp[0].lex).loc;
4377 #line 4378 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4381 #line 420 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4383 (yyval.interm) = (yyvsp[-1].interm);
4385 #line 4386 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4389 #line 423 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4391 (yyval.interm) = (yyvsp[0].interm);
4393 #line 4394 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4397 #line 429 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4399 TParameter param = { 0, new TType };
4400 param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType());
4401 (yyvsp[-1].interm).function->addParameter(param);
4402 (yyval.interm).function = (yyvsp[-1].interm).function;
4403 (yyval.interm).intermNode = (yyvsp[0].interm.intermTypedNode);
4405 #line 4406 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4409 #line 436 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4411 TParameter param = { 0, new TType };
4412 param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType());
4413 (yyvsp[-2].interm).function->addParameter(param);
4414 (yyval.interm).function = (yyvsp[-2].interm).function;
4415 (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-2].interm).intermNode, (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc);
4417 #line 4418 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4421 #line 446 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4423 (yyval.interm) = (yyvsp[-1].interm);
4425 #line 4426 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4429 #line 454 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4432 (yyval.interm).intermNode = 0;
4433 (yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type));
4435 #line 4436 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4439 #line 459 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4442 // Should be a method or subroutine call, but we haven't recognized the arguments yet.
4444 (yyval.interm).function = 0;
4445 (yyval.interm).intermNode = 0;
4447 TIntermMethod* method = (yyvsp[0].interm.intermTypedNode)->getAsMethodNode();
4449 (yyval.interm).function = new TFunction(&method->getMethodName(), TType(EbtInt), EOpArrayLength);
4450 (yyval.interm).intermNode = method->getObject();
4452 TIntermSymbol* symbol = (yyvsp[0].interm.intermTypedNode)->getAsSymbolNode();
4454 parseContext.reservedErrorCheck(symbol->getLoc(), symbol->getName());
4455 TFunction *function = new TFunction(&symbol->getName(), TType(EbtVoid));
4456 (yyval.interm).function = function;
4458 parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "function call, method, or subroutine call expected", "", "");
4461 if ((yyval.interm).function == 0) {
4463 TString* empty = NewPoolTString("");
4464 (yyval.interm).function = new TFunction(empty, TType(EbtVoid), EOpNull);
4467 #line 4468 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4471 #line 486 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4474 (yyval.interm).intermNode = 0;
4475 (yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type));
4477 #line 4478 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4481 #line 494 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4483 parseContext.variableCheck((yyvsp[0].interm.intermTypedNode));
4484 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4485 if (TIntermMethod* method = (yyvsp[0].interm.intermTypedNode)->getAsMethodNode())
4486 parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "incomplete method syntax", method->getMethodName().c_str(), "");
4488 #line 4489 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4492 #line 500 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4494 parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "++", (yyvsp[0].interm.intermTypedNode));
4495 (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "++", EOpPreIncrement, (yyvsp[0].interm.intermTypedNode));
4497 #line 4498 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4501 #line 504 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4503 parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "--", (yyvsp[0].interm.intermTypedNode));
4504 (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "--", EOpPreDecrement, (yyvsp[0].interm.intermTypedNode));
4506 #line 4507 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4510 #line 508 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4512 if ((yyvsp[-1].interm).op != EOpNull) {
4513 char errorOp[2] = {0, 0};
4514 switch((yyvsp[-1].interm).op) {
4515 case EOpNegative: errorOp[0] = '-'; break;
4516 case EOpLogicalNot: errorOp[0] = '!'; break;
4517 case EOpBitwiseNot: errorOp[0] = '~'; break;
4518 default: break; // some compilers want this
4520 (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].interm).loc, errorOp, (yyvsp[-1].interm).op, (yyvsp[0].interm.intermTypedNode));
4522 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4523 if ((yyval.interm.intermTypedNode)->getAsConstantUnion())
4524 (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();
4527 #line 4528 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4531 #line 528 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4532 { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNull; }
4533 #line 4534 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4537 #line 529 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4538 { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNegative; }
4539 #line 4540 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4543 #line 530 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4544 { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLogicalNot; }
4545 #line 4546 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4549 #line 531 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4550 { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpBitwiseNot;
4551 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise not"); }
4552 #line 4553 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4556 #line 537 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4557 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4558 #line 4559 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4562 #line 538 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4564 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "*", EOpMul, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4565 if ((yyval.interm.intermTypedNode) == 0)
4566 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4568 #line 4569 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4572 #line 543 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4574 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "/", EOpDiv, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4575 if ((yyval.interm.intermTypedNode) == 0)
4576 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4578 #line 4579 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4582 #line 548 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4584 parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "%");
4585 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "%", EOpMod, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4586 if ((yyval.interm.intermTypedNode) == 0)
4587 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4589 #line 4590 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4593 #line 557 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4594 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4595 #line 4596 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4599 #line 558 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4601 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "+", EOpAdd, (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 563 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4611 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "-", EOpSub, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4612 if ((yyval.interm.intermTypedNode) == 0)
4613 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4615 #line 4616 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4619 #line 571 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4620 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4621 #line 4622 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4625 #line 572 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4627 parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bit shift left");
4628 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<<", EOpLeftShift, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4629 if ((yyval.interm.intermTypedNode) == 0)
4630 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4632 #line 4633 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4636 #line 578 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4638 parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bit shift right");
4639 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">>", EOpRightShift, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4640 if ((yyval.interm.intermTypedNode) == 0)
4641 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4643 #line 4644 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4647 #line 587 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4648 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4649 #line 4650 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4653 #line 588 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4655 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<", EOpLessThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4656 if ((yyval.interm.intermTypedNode) == 0)
4657 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4659 #line 4660 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4663 #line 593 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4665 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">", EOpGreaterThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4666 if ((yyval.interm.intermTypedNode) == 0)
4667 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4669 #line 4670 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4673 #line 598 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4675 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<=", EOpLessThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4676 if ((yyval.interm.intermTypedNode) == 0)
4677 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4679 #line 4680 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4683 #line 603 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4685 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">=", EOpGreaterThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4686 if ((yyval.interm.intermTypedNode) == 0)
4687 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4689 #line 4690 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4693 #line 611 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4694 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4695 #line 4696 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4699 #line 612 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4701 parseContext.arrayObjectCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array comparison");
4702 parseContext.opaqueCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "==");
4703 parseContext.specializationCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "==");
4704 parseContext.referenceCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "==");
4705 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "==", EOpEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4706 if ((yyval.interm.intermTypedNode) == 0)
4707 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4709 #line 4710 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4713 #line 621 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4715 parseContext.arrayObjectCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array comparison");
4716 parseContext.opaqueCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "!=");
4717 parseContext.specializationCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "!=");
4718 parseContext.referenceCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "!=");
4719 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "!=", EOpNotEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4720 if ((yyval.interm.intermTypedNode) == 0)
4721 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4723 #line 4724 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4727 #line 633 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4728 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4729 #line 4730 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4733 #line 634 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4735 parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise and");
4736 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "&", EOpAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4737 if ((yyval.interm.intermTypedNode) == 0)
4738 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4740 #line 4741 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4744 #line 643 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4745 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4746 #line 4747 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4750 #line 644 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4752 parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise exclusive or");
4753 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "^", EOpExclusiveOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4754 if ((yyval.interm.intermTypedNode) == 0)
4755 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4757 #line 4758 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4761 #line 653 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4762 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4763 #line 4764 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4767 #line 654 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4769 parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise inclusive or");
4770 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "|", EOpInclusiveOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4771 if ((yyval.interm.intermTypedNode) == 0)
4772 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4774 #line 4775 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4778 #line 663 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4779 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4780 #line 4781 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4784 #line 664 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4786 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "&&", EOpLogicalAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4787 if ((yyval.interm.intermTypedNode) == 0)
4788 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4790 #line 4791 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4794 #line 672 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4795 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4796 #line 4797 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4800 #line 673 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4802 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "^^", EOpLogicalXor, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4803 if ((yyval.interm.intermTypedNode) == 0)
4804 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4806 #line 4807 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4810 #line 681 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4811 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4812 #line 4813 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4816 #line 682 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4818 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "||", EOpLogicalOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4819 if ((yyval.interm.intermTypedNode) == 0)
4820 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4822 #line 4823 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4826 #line 690 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4827 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4828 #line 4829 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4832 #line 691 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4834 ++parseContext.controlFlowNestingLevel;
4836 #line 4837 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4840 #line 694 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4842 --parseContext.controlFlowNestingLevel;
4843 parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-5].interm.intermTypedNode));
4844 parseContext.rValueErrorCheck((yyvsp[-4].lex).loc, "?", (yyvsp[-5].interm.intermTypedNode));
4845 parseContext.rValueErrorCheck((yyvsp[-1].lex).loc, ":", (yyvsp[-2].interm.intermTypedNode));
4846 parseContext.rValueErrorCheck((yyvsp[-1].lex).loc, ":", (yyvsp[0].interm.intermTypedNode));
4847 (yyval.interm.intermTypedNode) = parseContext.intermediate.addSelection((yyvsp[-5].interm.intermTypedNode), (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yyvsp[-4].lex).loc);
4848 if ((yyval.interm.intermTypedNode) == 0) {
4849 parseContext.binaryOpError((yyvsp[-4].lex).loc, ":", (yyvsp[-2].interm.intermTypedNode)->getCompleteString(), (yyvsp[0].interm.intermTypedNode)->getCompleteString());
4850 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4853 #line 4854 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4857 #line 709 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4858 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4859 #line 4860 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4863 #line 710 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4865 parseContext.arrayObjectCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array assignment");
4866 parseContext.opaqueCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=");
4867 parseContext.storage16BitAssignmentCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=");
4868 parseContext.specializationCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=");
4869 parseContext.lValueErrorCheck((yyvsp[-1].interm).loc, "assign", (yyvsp[-2].interm.intermTypedNode));
4870 parseContext.rValueErrorCheck((yyvsp[-1].interm).loc, "assign", (yyvsp[0].interm.intermTypedNode));
4871 (yyval.interm.intermTypedNode) = parseContext.intermediate.addAssign((yyvsp[-1].interm).op, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].interm).loc);
4872 if ((yyval.interm.intermTypedNode) == 0) {
4873 parseContext.assignError((yyvsp[-1].interm).loc, "assign", (yyvsp[-2].interm.intermTypedNode)->getCompleteString(), (yyvsp[0].interm.intermTypedNode)->getCompleteString());
4874 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4877 #line 4878 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4881 #line 726 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4883 (yyval.interm).loc = (yyvsp[0].lex).loc;
4884 (yyval.interm).op = EOpAssign;
4886 #line 4887 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4890 #line 730 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4892 (yyval.interm).loc = (yyvsp[0].lex).loc;
4893 (yyval.interm).op = EOpMulAssign;
4895 #line 4896 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4899 #line 734 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4901 (yyval.interm).loc = (yyvsp[0].lex).loc;
4902 (yyval.interm).op = EOpDivAssign;
4904 #line 4905 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4908 #line 738 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4910 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "%=");
4911 (yyval.interm).loc = (yyvsp[0].lex).loc;
4912 (yyval.interm).op = EOpModAssign;
4914 #line 4915 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4918 #line 743 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4920 (yyval.interm).loc = (yyvsp[0].lex).loc;
4921 (yyval.interm).op = EOpAddAssign;
4923 #line 4924 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4927 #line 747 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4929 (yyval.interm).loc = (yyvsp[0].lex).loc;
4930 (yyval.interm).op = EOpSubAssign;
4932 #line 4933 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4936 #line 751 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4938 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift left assign");
4939 (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLeftShiftAssign;
4941 #line 4942 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4945 #line 755 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4947 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift right assign");
4948 (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpRightShiftAssign;
4950 #line 4951 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4954 #line 759 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4956 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-and assign");
4957 (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAndAssign;
4959 #line 4960 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4963 #line 763 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4965 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-xor assign");
4966 (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpExclusiveOrAssign;
4968 #line 4969 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4972 #line 767 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4974 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-or assign");
4975 (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpInclusiveOrAssign;
4977 #line 4978 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4981 #line 774 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4983 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4985 #line 4986 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4989 #line 777 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4991 parseContext.samplerConstructorLocationCheck((yyvsp[-1].lex).loc, ",", (yyvsp[0].interm.intermTypedNode));
4992 (yyval.interm.intermTypedNode) = parseContext.intermediate.addComma((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc);
4993 if ((yyval.interm.intermTypedNode) == 0) {
4994 parseContext.binaryOpError((yyvsp[-1].lex).loc, ",", (yyvsp[-2].interm.intermTypedNode)->getCompleteString(), (yyvsp[0].interm.intermTypedNode)->getCompleteString());
4995 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4998 #line 4999 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5002 #line 788 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5004 parseContext.constantValueCheck((yyvsp[0].interm.intermTypedNode), "");
5005 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
5007 #line 5008 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5011 #line 795 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5013 parseContext.handleFunctionDeclarator((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).function, true /* prototype */);
5014 (yyval.interm.intermNode) = 0;
5015 // TODO: 4.0 functionality: subroutines: make the identifier a user type for this signature
5017 #line 5018 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5021 #line 800 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5023 if ((yyvsp[-1].interm).intermNode && (yyvsp[-1].interm).intermNode->getAsAggregate())
5024 (yyvsp[-1].interm).intermNode->getAsAggregate()->setOperator(EOpSequence);
5025 (yyval.interm.intermNode) = (yyvsp[-1].interm).intermNode;
5027 #line 5028 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5031 #line 805 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5033 parseContext.profileRequires((yyvsp[-3].lex).loc, ENoProfile, 130, 0, "precision statement");
5035 // lazy setting of the previous scope's defaults, has effect only the first time it is called in a particular scope
5036 parseContext.symbolTable.setPreviousDefaultPrecisions(&parseContext.defaultPrecision[0]);
5037 parseContext.setDefaultPrecision((yyvsp[-3].lex).loc, (yyvsp[-1].interm.type), (yyvsp[-2].interm.type).qualifier.precision);
5038 (yyval.interm.intermNode) = 0;
5040 #line 5041 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5044 #line 813 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5046 parseContext.declareBlock((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).typeList);
5047 (yyval.interm.intermNode) = 0;
5049 #line 5050 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5053 #line 817 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5055 parseContext.declareBlock((yyvsp[-2].interm).loc, *(yyvsp[-2].interm).typeList, (yyvsp[-1].lex).string);
5056 (yyval.interm.intermNode) = 0;
5058 #line 5059 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5062 #line 821 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5064 parseContext.declareBlock((yyvsp[-3].interm).loc, *(yyvsp[-3].interm).typeList, (yyvsp[-2].lex).string, (yyvsp[-1].interm).arraySizes);
5065 (yyval.interm.intermNode) = 0;
5067 #line 5068 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5071 #line 825 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5073 parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier);
5074 parseContext.updateStandaloneQualifierDefaults((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type));
5075 (yyval.interm.intermNode) = 0;
5077 #line 5078 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5081 #line 830 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5083 parseContext.checkNoShaderLayouts((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).shaderQualifiers);
5084 parseContext.addQualifierToExisting((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).qualifier, *(yyvsp[-1].lex).string);
5085 (yyval.interm.intermNode) = 0;
5087 #line 5088 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5091 #line 835 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5093 parseContext.checkNoShaderLayouts((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).shaderQualifiers);
5094 (yyvsp[-1].interm.identifierList)->push_back((yyvsp[-2].lex).string);
5095 parseContext.addQualifierToExisting((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).qualifier, *(yyvsp[-1].interm.identifierList));
5096 (yyval.interm.intermNode) = 0;
5098 #line 5099 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5102 #line 844 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5103 { parseContext.nestedBlockCheck((yyvsp[-2].interm.type).loc); }
5104 #line 5105 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5108 #line 844 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5110 --parseContext.structNestingLevel;
5111 parseContext.blockName = (yyvsp[-4].lex).string;
5112 parseContext.globalQualifierFixCheck((yyvsp[-5].interm.type).loc, (yyvsp[-5].interm.type).qualifier);
5113 parseContext.checkNoShaderLayouts((yyvsp[-5].interm.type).loc, (yyvsp[-5].interm.type).shaderQualifiers);
5114 parseContext.currentBlockQualifier = (yyvsp[-5].interm.type).qualifier;
5115 (yyval.interm).loc = (yyvsp[-5].interm.type).loc;
5116 (yyval.interm).typeList = (yyvsp[-1].interm.typeList);
5118 #line 5119 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5122 #line 855 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5124 (yyval.interm.identifierList) = new TIdentifierList;
5125 (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
5127 #line 5128 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5131 #line 859 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5133 (yyval.interm.identifierList) = (yyvsp[-2].interm.identifierList);
5134 (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
5136 #line 5137 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5140 #line 866 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5142 (yyval.interm).function = (yyvsp[-1].interm.function);
5143 (yyval.interm).loc = (yyvsp[0].lex).loc;
5145 #line 5146 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5149 #line 873 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5151 (yyval.interm.function) = (yyvsp[0].interm.function);
5153 #line 5154 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5157 #line 876 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5159 (yyval.interm.function) = (yyvsp[0].interm.function);
5161 #line 5162 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5165 #line 883 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5167 // Add the parameter
5168 (yyval.interm.function) = (yyvsp[-1].interm.function);
5169 if ((yyvsp[0].interm).param.type->getBasicType() != EbtVoid)
5170 (yyvsp[-1].interm.function)->addParameter((yyvsp[0].interm).param);
5172 delete (yyvsp[0].interm).param.type;
5174 #line 5175 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5178 #line 891 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5181 // Only first parameter of one-parameter functions can be void
5182 // The check for named parameters not being void is done in parameter_declarator
5184 if ((yyvsp[0].interm).param.type->getBasicType() == EbtVoid) {
5186 // This parameter > first is void
5188 parseContext.error((yyvsp[-1].lex).loc, "cannot be an argument type except for '(void)'", "void", "");
5189 delete (yyvsp[0].interm).param.type;
5191 // Add the parameter
5192 (yyval.interm.function) = (yyvsp[-2].interm.function);
5193 (yyvsp[-2].interm.function)->addParameter((yyvsp[0].interm).param);
5196 #line 5197 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5200 #line 911 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5202 if ((yyvsp[-2].interm.type).qualifier.storage != EvqGlobal && (yyvsp[-2].interm.type).qualifier.storage != EvqTemporary) {
5203 parseContext.error((yyvsp[-1].lex).loc, "no qualifiers allowed for function return",
5204 GetStorageQualifierString((yyvsp[-2].interm.type).qualifier.storage), "");
5206 if ((yyvsp[-2].interm.type).arraySizes)
5207 parseContext.arraySizeRequiredCheck((yyvsp[-2].interm.type).loc, *(yyvsp[-2].interm.type).arraySizes);
5209 // Add the function as a prototype after parsing it (we do not support recursion)
5210 TFunction *function;
5211 TType type((yyvsp[-2].interm.type));
5213 // Potentially rename shader entry point function. No-op most of the time.
5214 parseContext.renameShaderFunction((yyvsp[-1].lex).string);
5216 // Make the function
5217 function = new TFunction((yyvsp[-1].lex).string, type);
5218 (yyval.interm.function) = function;
5220 #line 5221 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5224 #line 934 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5226 if ((yyvsp[-1].interm.type).arraySizes) {
5227 parseContext.profileRequires((yyvsp[-1].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
5228 parseContext.profileRequires((yyvsp[-1].interm.type).loc, EEsProfile, 300, 0, "arrayed type");
5229 parseContext.arraySizeRequiredCheck((yyvsp[-1].interm.type).loc, *(yyvsp[-1].interm.type).arraySizes);
5231 if ((yyvsp[-1].interm.type).basicType == EbtVoid) {
5232 parseContext.error((yyvsp[0].lex).loc, "illegal use of type 'void'", (yyvsp[0].lex).string->c_str(), "");
5234 parseContext.reservedErrorCheck((yyvsp[0].lex).loc, *(yyvsp[0].lex).string);
5236 TParameter param = {(yyvsp[0].lex).string, new TType((yyvsp[-1].interm.type))};
5237 (yyval.interm).loc = (yyvsp[0].lex).loc;
5238 (yyval.interm).param = param;
5240 #line 5241 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5244 #line 949 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5246 if ((yyvsp[-2].interm.type).arraySizes) {
5247 parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
5248 parseContext.profileRequires((yyvsp[-2].interm.type).loc, EEsProfile, 300, 0, "arrayed type");
5249 parseContext.arraySizeRequiredCheck((yyvsp[-2].interm.type).loc, *(yyvsp[-2].interm.type).arraySizes);
5251 TType* type = new TType((yyvsp[-2].interm.type));
5252 type->transferArraySizes((yyvsp[0].interm).arraySizes);
5253 type->copyArrayInnerSizes((yyvsp[-2].interm.type).arraySizes);
5255 parseContext.arrayOfArrayVersionCheck((yyvsp[-1].lex).loc, type->getArraySizes());
5256 parseContext.arraySizeRequiredCheck((yyvsp[0].interm).loc, *(yyvsp[0].interm).arraySizes);
5257 parseContext.reservedErrorCheck((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string);
5259 TParameter param = { (yyvsp[-1].lex).string, type };
5261 (yyval.interm).loc = (yyvsp[-1].lex).loc;
5262 (yyval.interm).param = param;
5264 #line 5265 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5268 #line 974 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5270 (yyval.interm) = (yyvsp[0].interm);
5271 if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
5272 (yyval.interm).param.type->getQualifier().precision = (yyvsp[-1].interm.type).qualifier.precision;
5273 parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
5275 parseContext.checkNoShaderLayouts((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).shaderQualifiers);
5276 parseContext.parameterTypeCheck((yyvsp[0].interm).loc, (yyvsp[-1].interm.type).qualifier.storage, *(yyval.interm).param.type);
5277 parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type);
5280 #line 5281 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5284 #line 985 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5286 (yyval.interm) = (yyvsp[0].interm);
5288 parseContext.parameterTypeCheck((yyvsp[0].interm).loc, EvqIn, *(yyvsp[0].interm).param.type);
5289 parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type);
5290 parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
5292 #line 5293 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5296 #line 995 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5298 (yyval.interm) = (yyvsp[0].interm);
5299 if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
5300 (yyval.interm).param.type->getQualifier().precision = (yyvsp[-1].interm.type).qualifier.precision;
5301 parseContext.precisionQualifierCheck((yyvsp[-1].interm.type).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
5303 parseContext.checkNoShaderLayouts((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).shaderQualifiers);
5304 parseContext.parameterTypeCheck((yyvsp[0].interm).loc, (yyvsp[-1].interm.type).qualifier.storage, *(yyval.interm).param.type);
5305 parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type);
5307 #line 5308 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5311 #line 1005 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5313 (yyval.interm) = (yyvsp[0].interm);
5315 parseContext.parameterTypeCheck((yyvsp[0].interm).loc, EvqIn, *(yyvsp[0].interm).param.type);
5316 parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type);
5317 parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
5319 #line 5320 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5323 #line 1015 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5325 TParameter param = { 0, new TType((yyvsp[0].interm.type)) };
5326 (yyval.interm).param = param;
5327 if ((yyvsp[0].interm.type).arraySizes)
5328 parseContext.arraySizeRequiredCheck((yyvsp[0].interm.type).loc, *(yyvsp[0].interm.type).arraySizes);
5330 #line 5331 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5334 #line 1024 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5336 (yyval.interm) = (yyvsp[0].interm);
5338 #line 5339 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5342 #line 1027 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5344 (yyval.interm) = (yyvsp[-2].interm);
5345 parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-2].interm).type);
5347 #line 5348 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5351 #line 1031 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5353 (yyval.interm) = (yyvsp[-3].interm);
5354 parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-3].interm).type, (yyvsp[0].interm).arraySizes);
5356 #line 5357 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5360 #line 1035 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5362 (yyval.interm).type = (yyvsp[-5].interm).type;
5363 TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-5].interm).type, (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode));
5364 (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-5].interm).intermNode, initNode, (yyvsp[-1].lex).loc);
5366 #line 5367 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5370 #line 1040 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5372 (yyval.interm).type = (yyvsp[-4].interm).type;
5373 TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-4].interm).type, 0, (yyvsp[0].interm.intermTypedNode));
5374 (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-4].interm).intermNode, initNode, (yyvsp[-1].lex).loc);
5376 #line 5377 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5380 #line 1048 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5382 (yyval.interm).type = (yyvsp[0].interm.type);
5383 (yyval.interm).intermNode = 0;
5384 parseContext.declareTypeDefaults((yyval.interm).loc, (yyval.interm).type);
5386 #line 5387 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5390 #line 1053 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5392 (yyval.interm).type = (yyvsp[-1].interm.type);
5393 (yyval.interm).intermNode = 0;
5394 parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-1].interm.type));
5396 #line 5397 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5400 #line 1058 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5402 (yyval.interm).type = (yyvsp[-2].interm.type);
5403 (yyval.interm).intermNode = 0;
5404 parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-2].interm.type), (yyvsp[0].interm).arraySizes);
5406 #line 5407 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5410 #line 1063 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5412 (yyval.interm).type = (yyvsp[-4].interm.type);
5413 TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-4].interm.type), (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode));
5414 (yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc);
5416 #line 5417 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5420 #line 1068 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5422 (yyval.interm).type = (yyvsp[-3].interm.type);
5423 TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-3].interm.type), 0, (yyvsp[0].interm.intermTypedNode));
5424 (yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc);
5426 #line 5427 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5430 #line 1077 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5432 (yyval.interm.type) = (yyvsp[0].interm.type);
5434 parseContext.globalQualifierTypeCheck((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier, (yyval.interm.type));
5435 if ((yyvsp[0].interm.type).arraySizes) {
5436 parseContext.profileRequires((yyvsp[0].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
5437 parseContext.profileRequires((yyvsp[0].interm.type).loc, EEsProfile, 300, 0, "arrayed type");
5440 parseContext.precisionQualifierCheck((yyval.interm.type).loc, (yyval.interm.type).basicType, (yyval.interm.type).qualifier);
5442 #line 5443 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5446 #line 1088 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5448 parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier);
5449 parseContext.globalQualifierTypeCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, (yyvsp[0].interm.type));
5451 if ((yyvsp[0].interm.type).arraySizes) {
5452 parseContext.profileRequires((yyvsp[0].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
5453 parseContext.profileRequires((yyvsp[0].interm.type).loc, EEsProfile, 300, 0, "arrayed type");
5456 if ((yyvsp[0].interm.type).arraySizes && parseContext.arrayQualifierError((yyvsp[0].interm.type).loc, (yyvsp[-1].interm.type).qualifier))
5457 (yyvsp[0].interm.type).arraySizes = nullptr;
5459 parseContext.checkNoShaderLayouts((yyvsp[0].interm.type).loc, (yyvsp[-1].interm.type).shaderQualifiers);
5460 (yyvsp[0].interm.type).shaderQualifiers.merge((yyvsp[-1].interm.type).shaderQualifiers);
5461 parseContext.mergeQualifiers((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier, (yyvsp[-1].interm.type).qualifier, true);
5462 parseContext.precisionQualifierCheck((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).basicType, (yyvsp[0].interm.type).qualifier);
5464 (yyval.interm.type) = (yyvsp[0].interm.type);
5466 if (! (yyval.interm.type).qualifier.isInterpolation() &&
5467 ((parseContext.language == EShLangVertex && (yyval.interm.type).qualifier.storage == EvqVaryingOut) ||
5468 (parseContext.language == EShLangFragment && (yyval.interm.type).qualifier.storage == EvqVaryingIn)))
5469 (yyval.interm.type).qualifier.smooth = true;
5471 #line 5472 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5475 #line 1115 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5477 parseContext.globalCheck((yyvsp[0].lex).loc, "invariant");
5478 parseContext.profileRequires((yyval.interm.type).loc, ENoProfile, 120, 0, "invariant");
5479 (yyval.interm.type).init((yyvsp[0].lex).loc);
5480 (yyval.interm.type).qualifier.invariant = true;
5482 #line 5483 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5486 #line 1124 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5488 parseContext.globalCheck((yyvsp[0].lex).loc, "smooth");
5489 parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "smooth");
5490 parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "smooth");
5491 (yyval.interm.type).init((yyvsp[0].lex).loc);
5492 (yyval.interm.type).qualifier.smooth = true;
5494 #line 5495 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5498 #line 1131 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5500 parseContext.globalCheck((yyvsp[0].lex).loc, "flat");
5501 parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "flat");
5502 parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "flat");
5503 (yyval.interm.type).init((yyvsp[0].lex).loc);
5504 (yyval.interm.type).qualifier.flat = true;
5506 #line 5507 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5510 #line 1138 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5512 parseContext.globalCheck((yyvsp[0].lex).loc, "noperspective");
5513 #ifdef NV_EXTENSIONS
5514 parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 0, E_GL_NV_shader_noperspective_interpolation, "noperspective");
5516 parseContext.requireProfile((yyvsp[0].lex).loc, ~EEsProfile, "noperspective");
5518 parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "noperspective");
5519 (yyval.interm.type).init((yyvsp[0].lex).loc);
5520 (yyval.interm.type).qualifier.nopersp = true;
5522 #line 5523 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5526 #line 1149 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5528 #ifdef AMD_EXTENSIONS
5529 parseContext.globalCheck((yyvsp[0].lex).loc, "__explicitInterpAMD");
5530 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 450, E_GL_AMD_shader_explicit_vertex_parameter, "explicit interpolation");
5531 parseContext.profileRequires((yyvsp[0].lex).loc, ECompatibilityProfile, 450, E_GL_AMD_shader_explicit_vertex_parameter, "explicit interpolation");
5532 (yyval.interm.type).init((yyvsp[0].lex).loc);
5533 (yyval.interm.type).qualifier.explicitInterp = true;
5536 #line 5537 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5540 #line 1158 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5542 #ifdef NV_EXTENSIONS
5543 parseContext.globalCheck((yyvsp[0].lex).loc, "pervertexNV");
5544 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric");
5545 parseContext.profileRequires((yyvsp[0].lex).loc, ECompatibilityProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric");
5546 parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric");
5547 (yyval.interm.type).init((yyvsp[0].lex).loc);
5548 (yyval.interm.type).qualifier.pervertexNV = true;
5551 #line 5552 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5555 #line 1168 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5557 #ifdef NV_EXTENSIONS
5558 // No need for profile version or extension check. Shader stage already checks both.
5559 parseContext.globalCheck((yyvsp[0].lex).loc, "perprimitiveNV");
5560 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangFragmentMask | EShLangMeshNVMask), "perprimitiveNV");
5561 // Fragment shader stage doesn't check for extension. So we explicitly add below extension check.
5562 if (parseContext.language == EShLangFragment)
5563 parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_NV_mesh_shader, "perprimitiveNV");
5564 (yyval.interm.type).init((yyvsp[0].lex).loc);
5565 (yyval.interm.type).qualifier.perPrimitiveNV = true;
5568 #line 5569 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5572 #line 1180 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5574 #ifdef NV_EXTENSIONS
5575 // No need for profile version or extension check. Shader stage already checks both.
5576 parseContext.globalCheck((yyvsp[0].lex).loc, "perviewNV");
5577 parseContext.requireStage((yyvsp[0].lex).loc, EShLangMeshNV, "perviewNV");
5578 (yyval.interm.type).init((yyvsp[0].lex).loc);
5579 (yyval.interm.type).qualifier.perViewNV = true;
5582 #line 5583 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5586 #line 1189 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5588 #ifdef NV_EXTENSIONS
5589 // No need for profile version or extension check. Shader stage already checks both.
5590 parseContext.globalCheck((yyvsp[0].lex).loc, "taskNV");
5591 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangTaskNVMask | EShLangMeshNVMask), "taskNV");
5592 (yyval.interm.type).init((yyvsp[0].lex).loc);
5593 (yyval.interm.type).qualifier.perTaskNV = true;
5596 #line 5597 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5600 #line 1201 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5602 (yyval.interm.type) = (yyvsp[-1].interm.type);
5604 #line 5605 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5608 #line 1207 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5610 (yyval.interm.type) = (yyvsp[0].interm.type);
5612 #line 5613 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5616 #line 1210 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5618 (yyval.interm.type) = (yyvsp[-2].interm.type);
5619 (yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers);
5620 parseContext.mergeObjectLayoutQualifiers((yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false);
5622 #line 5623 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5626 #line 1217 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5628 (yyval.interm.type).init((yyvsp[0].lex).loc);
5629 parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), *(yyvsp[0].lex).string);
5631 #line 5632 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5635 #line 1221 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5637 (yyval.interm.type).init((yyvsp[-2].lex).loc);
5638 parseContext.setLayoutQualifier((yyvsp[-2].lex).loc, (yyval.interm.type), *(yyvsp[-2].lex).string, (yyvsp[0].interm.intermTypedNode));
5640 #line 5641 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5644 #line 1225 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5645 { // because "shared" is both an identifier and a keyword
5646 (yyval.interm.type).init((yyvsp[0].lex).loc);
5647 TString strShared("shared");
5648 parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), strShared);
5650 #line 5651 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5654 #line 1233 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5656 parseContext.profileRequires((yyval.interm.type).loc, ECoreProfile | ECompatibilityProfile, 400, E_GL_ARB_gpu_shader5, "precise");
5657 parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5, "precise");
5658 (yyval.interm.type).init((yyvsp[0].lex).loc);
5659 (yyval.interm.type).qualifier.noContraction = true;
5661 #line 5662 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5665 #line 1242 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5667 (yyval.interm.type) = (yyvsp[0].interm.type);
5669 #line 5670 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5673 #line 1245 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5675 (yyval.interm.type) = (yyvsp[-1].interm.type);
5676 if ((yyval.interm.type).basicType == EbtVoid)
5677 (yyval.interm.type).basicType = (yyvsp[0].interm.type).basicType;
5679 (yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers);
5680 parseContext.mergeQualifiers((yyval.interm.type).loc, (yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false);
5682 #line 5683 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5686 #line 1256 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5688 (yyval.interm.type) = (yyvsp[0].interm.type);
5690 #line 5691 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5694 #line 1259 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5696 (yyval.interm.type) = (yyvsp[0].interm.type);
5698 #line 5699 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5702 #line 1262 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5704 parseContext.checkPrecisionQualifier((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier.precision);
5705 (yyval.interm.type) = (yyvsp[0].interm.type);
5707 #line 5708 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5711 #line 1266 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5713 // allow inheritance of storage qualifier from block declaration
5714 (yyval.interm.type) = (yyvsp[0].interm.type);
5716 #line 5717 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5720 #line 1270 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5722 // allow inheritance of storage qualifier from block declaration
5723 (yyval.interm.type) = (yyvsp[0].interm.type);
5725 #line 5726 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5729 #line 1274 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5731 // allow inheritance of storage qualifier from block declaration
5732 (yyval.interm.type) = (yyvsp[0].interm.type);
5734 #line 5735 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5738 #line 1278 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5740 (yyval.interm.type) = (yyvsp[0].interm.type);
5742 #line 5743 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5746 #line 1284 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5748 (yyval.interm.type).init((yyvsp[0].lex).loc);
5749 (yyval.interm.type).qualifier.storage = EvqConst; // will later turn into EvqConstReadOnly, if the initializer is not constant
5751 #line 5752 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5755 #line 1288 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5757 parseContext.requireStage((yyvsp[0].lex).loc, EShLangVertex, "attribute");
5758 parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "attribute");
5759 parseContext.checkDeprecated((yyvsp[0].lex).loc, ENoProfile, 130, "attribute");
5760 parseContext.requireNotRemoved((yyvsp[0].lex).loc, ECoreProfile, 420, "attribute");
5761 parseContext.requireNotRemoved((yyvsp[0].lex).loc, EEsProfile, 300, "attribute");
5763 parseContext.globalCheck((yyvsp[0].lex).loc, "attribute");
5765 (yyval.interm.type).init((yyvsp[0].lex).loc);
5766 (yyval.interm.type).qualifier.storage = EvqVaryingIn;
5768 #line 5769 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5772 #line 1300 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5774 parseContext.checkDeprecated((yyvsp[0].lex).loc, ENoProfile, 130, "varying");
5775 parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "varying");
5776 parseContext.requireNotRemoved((yyvsp[0].lex).loc, ECoreProfile, 420, "varying");
5777 parseContext.requireNotRemoved((yyvsp[0].lex).loc, EEsProfile, 300, "varying");
5779 parseContext.globalCheck((yyvsp[0].lex).loc, "varying");
5781 (yyval.interm.type).init((yyvsp[0].lex).loc);
5782 if (parseContext.language == EShLangVertex)
5783 (yyval.interm.type).qualifier.storage = EvqVaryingOut;
5785 (yyval.interm.type).qualifier.storage = EvqVaryingIn;
5787 #line 5788 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5791 #line 1314 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5793 parseContext.globalCheck((yyvsp[0].lex).loc, "inout");
5794 (yyval.interm.type).init((yyvsp[0].lex).loc);
5795 (yyval.interm.type).qualifier.storage = EvqInOut;
5797 #line 5798 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5801 #line 1319 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5803 parseContext.globalCheck((yyvsp[0].lex).loc, "in");
5804 (yyval.interm.type).init((yyvsp[0].lex).loc);
5805 // whether this is a parameter "in" or a pipeline "in" will get sorted out a bit later
5806 (yyval.interm.type).qualifier.storage = EvqIn;
5808 #line 5809 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5812 #line 1325 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5814 parseContext.globalCheck((yyvsp[0].lex).loc, "out");
5815 (yyval.interm.type).init((yyvsp[0].lex).loc);
5816 // whether this is a parameter "out" or a pipeline "out" will get sorted out a bit later
5817 (yyval.interm.type).qualifier.storage = EvqOut;
5819 #line 5820 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5823 #line 1331 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5825 parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 120, 0, "centroid");
5826 parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "centroid");
5827 parseContext.globalCheck((yyvsp[0].lex).loc, "centroid");
5828 (yyval.interm.type).init((yyvsp[0].lex).loc);
5829 (yyval.interm.type).qualifier.centroid = true;
5831 #line 5832 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5835 #line 1338 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5837 parseContext.globalCheck((yyvsp[0].lex).loc, "patch");
5838 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangTessControlMask | EShLangTessEvaluationMask), "patch");
5839 (yyval.interm.type).init((yyvsp[0].lex).loc);
5840 (yyval.interm.type).qualifier.patch = true;
5842 #line 5843 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5846 #line 1344 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5848 parseContext.globalCheck((yyvsp[0].lex).loc, "sample");
5849 (yyval.interm.type).init((yyvsp[0].lex).loc);
5850 (yyval.interm.type).qualifier.sample = true;
5852 #line 5853 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5856 #line 1349 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5858 parseContext.globalCheck((yyvsp[0].lex).loc, "uniform");
5859 (yyval.interm.type).init((yyvsp[0].lex).loc);
5860 (yyval.interm.type).qualifier.storage = EvqUniform;
5862 #line 5863 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5866 #line 1354 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5868 parseContext.globalCheck((yyvsp[0].lex).loc, "buffer");
5869 (yyval.interm.type).init((yyvsp[0].lex).loc);
5870 (yyval.interm.type).qualifier.storage = EvqBuffer;
5872 #line 5873 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5876 #line 1359 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5878 #ifdef NV_EXTENSIONS
5879 parseContext.globalCheck((yyvsp[0].lex).loc, "hitAttributeNV");
5880 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangIntersectNVMask | EShLangClosestHitNVMask
5881 | EShLangAnyHitNVMask), "hitAttributeNV");
5882 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "hitAttributeNV");
5883 (yyval.interm.type).init((yyvsp[0].lex).loc);
5884 (yyval.interm.type).qualifier.storage = EvqHitAttrNV;
5887 #line 5888 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5891 #line 1369 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5893 #ifdef NV_EXTENSIONS
5894 parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadNV");
5895 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenNVMask | EShLangClosestHitNVMask |
5896 EShLangAnyHitNVMask | EShLangMissNVMask), "rayPayloadNV");
5897 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "rayPayloadNV");
5898 (yyval.interm.type).init((yyvsp[0].lex).loc);
5899 (yyval.interm.type).qualifier.storage = EvqPayloadNV;
5902 #line 5903 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5906 #line 1379 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5908 #ifdef NV_EXTENSIONS
5909 parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadInNV");
5910 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangClosestHitNVMask |
5911 EShLangAnyHitNVMask | EShLangMissNVMask), "rayPayloadInNV");
5912 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "rayPayloadInNV");
5913 (yyval.interm.type).init((yyvsp[0].lex).loc);
5914 (yyval.interm.type).qualifier.storage = EvqPayloadInNV;
5917 #line 5918 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5921 #line 1389 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5923 #ifdef NV_EXTENSIONS
5924 parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataNV");
5925 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenNVMask |
5926 EShLangClosestHitNVMask | EShLangMissNVMask | EShLangCallableNVMask), "callableDataNV");
5927 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "callableDataNV");
5928 (yyval.interm.type).init((yyvsp[0].lex).loc);
5929 (yyval.interm.type).qualifier.storage = EvqCallableDataNV;
5932 #line 5933 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5936 #line 1399 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5938 #ifdef NV_EXTENSIONS
5939 parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataInNV");
5940 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangCallableNVMask), "callableDataInNV");
5941 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "callableDataInNV");
5942 (yyval.interm.type).init((yyvsp[0].lex).loc);
5943 (yyval.interm.type).qualifier.storage = EvqCallableDataInNV;
5946 #line 5947 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5950 #line 1408 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5952 parseContext.globalCheck((yyvsp[0].lex).loc, "shared");
5953 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, 430, E_GL_ARB_compute_shader, "shared");
5954 parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 310, 0, "shared");
5955 #ifdef NV_EXTENSIONS
5956 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangComputeMask | EShLangMeshNVMask | EShLangTaskNVMask), "shared");
5958 parseContext.requireStage((yyvsp[0].lex).loc, EShLangCompute, "shared");
5960 (yyval.interm.type).init((yyvsp[0].lex).loc);
5961 (yyval.interm.type).qualifier.storage = EvqShared;
5963 #line 5964 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5967 #line 1420 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5969 (yyval.interm.type).init((yyvsp[0].lex).loc);
5970 (yyval.interm.type).qualifier.coherent = true;
5972 #line 5973 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5976 #line 1424 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5978 (yyval.interm.type).init((yyvsp[0].lex).loc);
5979 parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "devicecoherent");
5980 (yyval.interm.type).qualifier.devicecoherent = true;
5982 #line 5983 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5986 #line 1429 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5988 (yyval.interm.type).init((yyvsp[0].lex).loc);
5989 parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "queuefamilycoherent");
5990 (yyval.interm.type).qualifier.queuefamilycoherent = true;
5992 #line 5993 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5996 #line 1434 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5998 (yyval.interm.type).init((yyvsp[0].lex).loc);
5999 parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "workgroupcoherent");
6000 (yyval.interm.type).qualifier.workgroupcoherent = true;
6002 #line 6003 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6006 #line 1439 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6008 (yyval.interm.type).init((yyvsp[0].lex).loc);
6009 parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "subgroupcoherent");
6010 (yyval.interm.type).qualifier.subgroupcoherent = true;
6012 #line 6013 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6016 #line 1444 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6018 (yyval.interm.type).init((yyvsp[0].lex).loc);
6019 parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "nonprivate");
6020 (yyval.interm.type).qualifier.nonprivate = true;
6022 #line 6023 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6026 #line 1449 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6028 (yyval.interm.type).init((yyvsp[0].lex).loc);
6029 (yyval.interm.type).qualifier.volatil = true;
6031 #line 6032 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6035 #line 1453 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6037 (yyval.interm.type).init((yyvsp[0].lex).loc);
6038 (yyval.interm.type).qualifier.restrict = true;
6040 #line 6041 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6044 #line 1457 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6046 (yyval.interm.type).init((yyvsp[0].lex).loc);
6047 (yyval.interm.type).qualifier.readonly = true;
6049 #line 6050 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6053 #line 1461 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6055 (yyval.interm.type).init((yyvsp[0].lex).loc);
6056 (yyval.interm.type).qualifier.writeonly = true;
6058 #line 6059 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6062 #line 1465 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6064 parseContext.spvRemoved((yyvsp[0].lex).loc, "subroutine");
6065 parseContext.globalCheck((yyvsp[0].lex).loc, "subroutine");
6066 parseContext.unimplemented((yyvsp[0].lex).loc, "subroutine");
6067 (yyval.interm.type).init((yyvsp[0].lex).loc);
6069 #line 6070 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6073 #line 1471 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6075 parseContext.spvRemoved((yyvsp[-3].lex).loc, "subroutine");
6076 parseContext.globalCheck((yyvsp[-3].lex).loc, "subroutine");
6077 parseContext.unimplemented((yyvsp[-3].lex).loc, "subroutine");
6078 (yyval.interm.type).init((yyvsp[-3].lex).loc);
6080 #line 6081 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6084 #line 1480 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6086 (yyval.interm.type).init((yyvsp[0].lex).loc);
6087 (yyval.interm.type).qualifier.nonUniform = true;
6089 #line 6090 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6093 #line 1487 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6097 #line 6098 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6101 #line 1490 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6103 // TODO: 4.0 semantics: subroutines
6104 // 1) make sure each identifier is a type declared earlier with SUBROUTINE
6105 // 2) save all of the identifiers for future comparison with the declared function
6107 #line 6108 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6111 #line 1498 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6113 (yyval.interm.type) = (yyvsp[-1].interm.type);
6114 (yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type));
6115 (yyval.interm.type).typeParameters = (yyvsp[0].interm.typeParameters);
6117 #line 6118 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6121 #line 1503 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6123 parseContext.arrayOfArrayVersionCheck((yyvsp[0].interm).loc, (yyvsp[0].interm).arraySizes);
6124 (yyval.interm.type) = (yyvsp[-2].interm.type);
6125 (yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type));
6126 (yyval.interm.type).typeParameters = (yyvsp[-1].interm.typeParameters);
6127 (yyval.interm.type).arraySizes = (yyvsp[0].interm).arraySizes;
6129 #line 6130 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6133 #line 1513 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6135 (yyval.interm).loc = (yyvsp[-1].lex).loc;
6136 (yyval.interm).arraySizes = new TArraySizes;
6137 (yyval.interm).arraySizes->addInnerSize();
6139 #line 6140 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6143 #line 1518 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6145 (yyval.interm).loc = (yyvsp[-2].lex).loc;
6146 (yyval.interm).arraySizes = new TArraySizes;
6149 parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size, "array size");
6150 (yyval.interm).arraySizes->addInnerSize(size);
6152 #line 6153 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6156 #line 1526 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6158 (yyval.interm) = (yyvsp[-2].interm);
6159 (yyval.interm).arraySizes->addInnerSize();
6161 #line 6162 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6165 #line 1530 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6167 (yyval.interm) = (yyvsp[-3].interm);
6170 parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size, "array size");
6171 (yyval.interm).arraySizes->addInnerSize(size);
6173 #line 6174 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6177 #line 1540 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6179 (yyval.interm.typeParameters) = (yyvsp[0].interm.typeParameters);
6181 #line 6182 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6185 #line 1543 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6187 (yyval.interm.typeParameters) = 0;
6189 #line 6190 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6193 #line 1549 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6195 (yyval.interm.typeParameters) = (yyvsp[-1].interm.typeParameters);
6197 #line 6198 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6201 #line 1555 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6203 (yyval.interm.typeParameters) = new TArraySizes;
6206 parseContext.arraySizeCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode), size, "type parameter");
6207 (yyval.interm.typeParameters)->addInnerSize(size);
6209 #line 6210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6213 #line 1562 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6215 (yyval.interm.typeParameters) = (yyvsp[-2].interm.typeParameters);
6218 parseContext.arraySizeCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode), size, "type parameter");
6219 (yyval.interm.typeParameters)->addInnerSize(size);
6221 #line 6222 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6225 #line 1572 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6227 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6228 (yyval.interm.type).basicType = EbtVoid;
6230 #line 6231 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6234 #line 1576 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6236 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6237 (yyval.interm.type).basicType = EbtFloat;
6239 #line 6240 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6243 #line 1580 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6245 parseContext.doubleCheck((yyvsp[0].lex).loc, "double");
6246 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6247 (yyval.interm.type).basicType = EbtDouble;
6249 #line 6250 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6253 #line 1585 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6255 parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "float16_t", parseContext.symbolTable.atBuiltInLevel());
6256 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6257 (yyval.interm.type).basicType = EbtFloat16;
6259 #line 6260 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6263 #line 1590 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6265 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t", parseContext.symbolTable.atBuiltInLevel());
6266 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6267 (yyval.interm.type).basicType = EbtFloat;
6269 #line 6270 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6273 #line 1595 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6275 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t", parseContext.symbolTable.atBuiltInLevel());
6276 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6277 (yyval.interm.type).basicType = EbtDouble;
6279 #line 6280 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6283 #line 1600 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6285 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6286 (yyval.interm.type).basicType = EbtInt;
6288 #line 6289 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6292 #line 1604 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6294 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer");
6295 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6296 (yyval.interm.type).basicType = EbtUint;
6298 #line 6299 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6302 #line 1609 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6304 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
6305 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6306 (yyval.interm.type).basicType = EbtInt8;
6308 #line 6309 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6312 #line 1614 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6314 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
6315 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6316 (yyval.interm.type).basicType = EbtUint8;
6318 #line 6319 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6322 #line 1619 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6324 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
6325 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6326 (yyval.interm.type).basicType = EbtInt16;
6328 #line 6329 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6332 #line 1624 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6334 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
6335 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6336 (yyval.interm.type).basicType = EbtUint16;
6338 #line 6339 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6342 #line 1629 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6344 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
6345 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6346 (yyval.interm.type).basicType = EbtInt;
6348 #line 6349 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6352 #line 1634 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6354 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
6355 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6356 (yyval.interm.type).basicType = EbtUint;
6358 #line 6359 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6362 #line 1639 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6364 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer", parseContext.symbolTable.atBuiltInLevel());
6365 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6366 (yyval.interm.type).basicType = EbtInt64;
6368 #line 6369 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6372 #line 1644 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6374 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
6375 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6376 (yyval.interm.type).basicType = EbtUint64;
6378 #line 6379 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6382 #line 1649 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6384 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6385 (yyval.interm.type).basicType = EbtBool;
6387 #line 6388 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6391 #line 1653 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6393 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6394 (yyval.interm.type).basicType = EbtFloat;
6395 (yyval.interm.type).setVector(2);
6397 #line 6398 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6401 #line 1658 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6403 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6404 (yyval.interm.type).basicType = EbtFloat;
6405 (yyval.interm.type).setVector(3);
6407 #line 6408 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6411 #line 1663 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6413 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6414 (yyval.interm.type).basicType = EbtFloat;
6415 (yyval.interm.type).setVector(4);
6417 #line 6418 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6421 #line 1668 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6423 parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
6424 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6425 (yyval.interm.type).basicType = EbtDouble;
6426 (yyval.interm.type).setVector(2);
6428 #line 6429 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6432 #line 1674 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6434 parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
6435 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6436 (yyval.interm.type).basicType = EbtDouble;
6437 (yyval.interm.type).setVector(3);
6439 #line 6440 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6443 #line 1680 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6445 parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
6446 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6447 (yyval.interm.type).basicType = EbtDouble;
6448 (yyval.interm.type).setVector(4);
6450 #line 6451 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6454 #line 1686 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6456 parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
6457 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6458 (yyval.interm.type).basicType = EbtFloat16;
6459 (yyval.interm.type).setVector(2);
6461 #line 6462 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6465 #line 1692 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6467 parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
6468 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6469 (yyval.interm.type).basicType = EbtFloat16;
6470 (yyval.interm.type).setVector(3);
6472 #line 6473 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6476 #line 1698 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6478 parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
6479 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6480 (yyval.interm.type).basicType = EbtFloat16;
6481 (yyval.interm.type).setVector(4);
6483 #line 6484 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6487 #line 1704 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6489 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
6490 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6491 (yyval.interm.type).basicType = EbtFloat;
6492 (yyval.interm.type).setVector(2);
6494 #line 6495 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6498 #line 1710 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6500 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
6501 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6502 (yyval.interm.type).basicType = EbtFloat;
6503 (yyval.interm.type).setVector(3);
6505 #line 6506 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6509 #line 1716 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6511 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
6512 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6513 (yyval.interm.type).basicType = EbtFloat;
6514 (yyval.interm.type).setVector(4);
6516 #line 6517 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6520 #line 1722 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6522 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
6523 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6524 (yyval.interm.type).basicType = EbtDouble;
6525 (yyval.interm.type).setVector(2);
6527 #line 6528 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6531 #line 1728 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6533 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
6534 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6535 (yyval.interm.type).basicType = EbtDouble;
6536 (yyval.interm.type).setVector(3);
6538 #line 6539 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6542 #line 1734 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6544 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
6545 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6546 (yyval.interm.type).basicType = EbtDouble;
6547 (yyval.interm.type).setVector(4);
6549 #line 6550 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6553 #line 1740 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6555 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6556 (yyval.interm.type).basicType = EbtBool;
6557 (yyval.interm.type).setVector(2);
6559 #line 6560 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6563 #line 1745 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6565 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6566 (yyval.interm.type).basicType = EbtBool;
6567 (yyval.interm.type).setVector(3);
6569 #line 6570 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6573 #line 1750 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6575 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6576 (yyval.interm.type).basicType = EbtBool;
6577 (yyval.interm.type).setVector(4);
6579 #line 6580 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6583 #line 1755 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6585 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6586 (yyval.interm.type).basicType = EbtInt;
6587 (yyval.interm.type).setVector(2);
6589 #line 6590 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6593 #line 1760 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6595 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6596 (yyval.interm.type).basicType = EbtInt;
6597 (yyval.interm.type).setVector(3);
6599 #line 6600 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6603 #line 1765 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6605 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6606 (yyval.interm.type).basicType = EbtInt;
6607 (yyval.interm.type).setVector(4);
6609 #line 6610 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6613 #line 1770 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6615 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6616 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6617 (yyval.interm.type).basicType = EbtInt8;
6618 (yyval.interm.type).setVector(2);
6620 #line 6621 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6624 #line 1776 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6626 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6627 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6628 (yyval.interm.type).basicType = EbtInt8;
6629 (yyval.interm.type).setVector(3);
6631 #line 6632 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6635 #line 1782 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6637 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6638 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6639 (yyval.interm.type).basicType = EbtInt8;
6640 (yyval.interm.type).setVector(4);
6642 #line 6643 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6646 #line 1788 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6648 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6649 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6650 (yyval.interm.type).basicType = EbtInt16;
6651 (yyval.interm.type).setVector(2);
6653 #line 6654 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6657 #line 1794 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6659 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6660 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6661 (yyval.interm.type).basicType = EbtInt16;
6662 (yyval.interm.type).setVector(3);
6664 #line 6665 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6668 #line 1800 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6670 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6671 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6672 (yyval.interm.type).basicType = EbtInt16;
6673 (yyval.interm.type).setVector(4);
6675 #line 6676 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6679 #line 1806 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6681 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6682 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6683 (yyval.interm.type).basicType = EbtInt;
6684 (yyval.interm.type).setVector(2);
6686 #line 6687 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6690 #line 1812 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6692 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6693 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6694 (yyval.interm.type).basicType = EbtInt;
6695 (yyval.interm.type).setVector(3);
6697 #line 6698 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6701 #line 1818 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6703 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6704 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6705 (yyval.interm.type).basicType = EbtInt;
6706 (yyval.interm.type).setVector(4);
6708 #line 6709 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6712 #line 1824 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6714 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
6715 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6716 (yyval.interm.type).basicType = EbtInt64;
6717 (yyval.interm.type).setVector(2);
6719 #line 6720 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6723 #line 1830 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6725 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
6726 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6727 (yyval.interm.type).basicType = EbtInt64;
6728 (yyval.interm.type).setVector(3);
6730 #line 6731 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6734 #line 1836 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6736 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
6737 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6738 (yyval.interm.type).basicType = EbtInt64;
6739 (yyval.interm.type).setVector(4);
6741 #line 6742 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6745 #line 1842 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6747 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
6748 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6749 (yyval.interm.type).basicType = EbtUint;
6750 (yyval.interm.type).setVector(2);
6752 #line 6753 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6756 #line 1848 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6758 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
6759 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6760 (yyval.interm.type).basicType = EbtUint;
6761 (yyval.interm.type).setVector(3);
6763 #line 6764 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6767 #line 1854 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6769 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
6770 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6771 (yyval.interm.type).basicType = EbtUint;
6772 (yyval.interm.type).setVector(4);
6774 #line 6775 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6778 #line 1860 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6780 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6781 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6782 (yyval.interm.type).basicType = EbtUint8;
6783 (yyval.interm.type).setVector(2);
6785 #line 6786 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6789 #line 1866 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6791 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6792 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6793 (yyval.interm.type).basicType = EbtUint8;
6794 (yyval.interm.type).setVector(3);
6796 #line 6797 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6800 #line 1872 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6802 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6803 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6804 (yyval.interm.type).basicType = EbtUint8;
6805 (yyval.interm.type).setVector(4);
6807 #line 6808 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6811 #line 1878 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6813 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6814 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6815 (yyval.interm.type).basicType = EbtUint16;
6816 (yyval.interm.type).setVector(2);
6818 #line 6819 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6822 #line 1884 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6824 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6825 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6826 (yyval.interm.type).basicType = EbtUint16;
6827 (yyval.interm.type).setVector(3);
6829 #line 6830 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6833 #line 1890 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6835 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6836 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6837 (yyval.interm.type).basicType = EbtUint16;
6838 (yyval.interm.type).setVector(4);
6840 #line 6841 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6844 #line 1896 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6846 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6847 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6848 (yyval.interm.type).basicType = EbtUint;
6849 (yyval.interm.type).setVector(2);
6851 #line 6852 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6855 #line 1902 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6857 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6858 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6859 (yyval.interm.type).basicType = EbtUint;
6860 (yyval.interm.type).setVector(3);
6862 #line 6863 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6866 #line 1908 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6868 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6869 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6870 (yyval.interm.type).basicType = EbtUint;
6871 (yyval.interm.type).setVector(4);
6873 #line 6874 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6877 #line 1914 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6879 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6880 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6881 (yyval.interm.type).basicType = EbtUint64;
6882 (yyval.interm.type).setVector(2);
6884 #line 6885 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6888 #line 1920 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6890 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6891 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6892 (yyval.interm.type).basicType = EbtUint64;
6893 (yyval.interm.type).setVector(3);
6895 #line 6896 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6899 #line 1926 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6901 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6902 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6903 (yyval.interm.type).basicType = EbtUint64;
6904 (yyval.interm.type).setVector(4);
6906 #line 6907 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6910 #line 1932 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6912 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6913 (yyval.interm.type).basicType = EbtFloat;
6914 (yyval.interm.type).setMatrix(2, 2);
6916 #line 6917 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6920 #line 1937 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6922 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6923 (yyval.interm.type).basicType = EbtFloat;
6924 (yyval.interm.type).setMatrix(3, 3);
6926 #line 6927 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6930 #line 1942 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6932 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6933 (yyval.interm.type).basicType = EbtFloat;
6934 (yyval.interm.type).setMatrix(4, 4);
6936 #line 6937 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6940 #line 1947 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6942 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6943 (yyval.interm.type).basicType = EbtFloat;
6944 (yyval.interm.type).setMatrix(2, 2);
6946 #line 6947 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6950 #line 1952 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6952 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6953 (yyval.interm.type).basicType = EbtFloat;
6954 (yyval.interm.type).setMatrix(2, 3);
6956 #line 6957 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6960 #line 1957 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6962 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6963 (yyval.interm.type).basicType = EbtFloat;
6964 (yyval.interm.type).setMatrix(2, 4);
6966 #line 6967 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6970 #line 1962 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6972 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6973 (yyval.interm.type).basicType = EbtFloat;
6974 (yyval.interm.type).setMatrix(3, 2);
6976 #line 6977 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6980 #line 1967 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6982 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6983 (yyval.interm.type).basicType = EbtFloat;
6984 (yyval.interm.type).setMatrix(3, 3);
6986 #line 6987 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6990 #line 1972 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6992 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6993 (yyval.interm.type).basicType = EbtFloat;
6994 (yyval.interm.type).setMatrix(3, 4);
6996 #line 6997 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7000 #line 1977 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7002 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7003 (yyval.interm.type).basicType = EbtFloat;
7004 (yyval.interm.type).setMatrix(4, 2);
7006 #line 7007 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7010 #line 1982 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7012 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7013 (yyval.interm.type).basicType = EbtFloat;
7014 (yyval.interm.type).setMatrix(4, 3);
7016 #line 7017 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7020 #line 1987 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7022 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7023 (yyval.interm.type).basicType = EbtFloat;
7024 (yyval.interm.type).setMatrix(4, 4);
7026 #line 7027 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7030 #line 1992 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7032 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7033 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7034 (yyval.interm.type).basicType = EbtDouble;
7035 (yyval.interm.type).setMatrix(2, 2);
7037 #line 7038 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7041 #line 1998 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7043 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7044 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7045 (yyval.interm.type).basicType = EbtDouble;
7046 (yyval.interm.type).setMatrix(3, 3);
7048 #line 7049 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7052 #line 2004 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7054 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7055 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7056 (yyval.interm.type).basicType = EbtDouble;
7057 (yyval.interm.type).setMatrix(4, 4);
7059 #line 7060 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7063 #line 2010 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7065 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7066 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7067 (yyval.interm.type).basicType = EbtDouble;
7068 (yyval.interm.type).setMatrix(2, 2);
7070 #line 7071 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7074 #line 2016 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7076 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7077 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7078 (yyval.interm.type).basicType = EbtDouble;
7079 (yyval.interm.type).setMatrix(2, 3);
7081 #line 7082 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7085 #line 2022 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7087 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7088 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7089 (yyval.interm.type).basicType = EbtDouble;
7090 (yyval.interm.type).setMatrix(2, 4);
7092 #line 7093 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7096 #line 2028 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7098 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7099 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7100 (yyval.interm.type).basicType = EbtDouble;
7101 (yyval.interm.type).setMatrix(3, 2);
7103 #line 7104 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7107 #line 2034 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7109 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7110 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7111 (yyval.interm.type).basicType = EbtDouble;
7112 (yyval.interm.type).setMatrix(3, 3);
7114 #line 7115 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7118 #line 2040 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7120 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7121 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7122 (yyval.interm.type).basicType = EbtDouble;
7123 (yyval.interm.type).setMatrix(3, 4);
7125 #line 7126 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7129 #line 2046 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7131 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7132 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7133 (yyval.interm.type).basicType = EbtDouble;
7134 (yyval.interm.type).setMatrix(4, 2);
7136 #line 7137 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7140 #line 2052 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7142 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7143 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7144 (yyval.interm.type).basicType = EbtDouble;
7145 (yyval.interm.type).setMatrix(4, 3);
7147 #line 7148 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7151 #line 2058 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7153 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7154 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7155 (yyval.interm.type).basicType = EbtDouble;
7156 (yyval.interm.type).setMatrix(4, 4);
7158 #line 7159 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7162 #line 2064 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7164 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7165 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7166 (yyval.interm.type).basicType = EbtFloat16;
7167 (yyval.interm.type).setMatrix(2, 2);
7169 #line 7170 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7173 #line 2070 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7175 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7176 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7177 (yyval.interm.type).basicType = EbtFloat16;
7178 (yyval.interm.type).setMatrix(3, 3);
7180 #line 7181 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7184 #line 2076 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7186 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7187 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7188 (yyval.interm.type).basicType = EbtFloat16;
7189 (yyval.interm.type).setMatrix(4, 4);
7191 #line 7192 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7195 #line 2082 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7197 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7198 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7199 (yyval.interm.type).basicType = EbtFloat16;
7200 (yyval.interm.type).setMatrix(2, 2);
7202 #line 7203 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7206 #line 2088 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7208 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7209 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7210 (yyval.interm.type).basicType = EbtFloat16;
7211 (yyval.interm.type).setMatrix(2, 3);
7213 #line 7214 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7217 #line 2094 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7219 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7220 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7221 (yyval.interm.type).basicType = EbtFloat16;
7222 (yyval.interm.type).setMatrix(2, 4);
7224 #line 7225 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7228 #line 2100 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7230 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7231 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7232 (yyval.interm.type).basicType = EbtFloat16;
7233 (yyval.interm.type).setMatrix(3, 2);
7235 #line 7236 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7239 #line 2106 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7241 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7242 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7243 (yyval.interm.type).basicType = EbtFloat16;
7244 (yyval.interm.type).setMatrix(3, 3);
7246 #line 7247 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7250 #line 2112 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7252 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7253 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7254 (yyval.interm.type).basicType = EbtFloat16;
7255 (yyval.interm.type).setMatrix(3, 4);
7257 #line 7258 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7261 #line 2118 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7263 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7264 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7265 (yyval.interm.type).basicType = EbtFloat16;
7266 (yyval.interm.type).setMatrix(4, 2);
7268 #line 7269 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7272 #line 2124 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7274 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7275 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7276 (yyval.interm.type).basicType = EbtFloat16;
7277 (yyval.interm.type).setMatrix(4, 3);
7279 #line 7280 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7283 #line 2130 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7285 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7286 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7287 (yyval.interm.type).basicType = EbtFloat16;
7288 (yyval.interm.type).setMatrix(4, 4);
7290 #line 7291 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7294 #line 2136 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7296 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7297 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7298 (yyval.interm.type).basicType = EbtFloat;
7299 (yyval.interm.type).setMatrix(2, 2);
7301 #line 7302 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7305 #line 2142 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7307 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7308 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7309 (yyval.interm.type).basicType = EbtFloat;
7310 (yyval.interm.type).setMatrix(3, 3);
7312 #line 7313 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7316 #line 2148 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7318 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7319 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7320 (yyval.interm.type).basicType = EbtFloat;
7321 (yyval.interm.type).setMatrix(4, 4);
7323 #line 7324 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7327 #line 2154 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7329 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7330 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7331 (yyval.interm.type).basicType = EbtFloat;
7332 (yyval.interm.type).setMatrix(2, 2);
7334 #line 7335 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7338 #line 2160 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7340 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7341 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7342 (yyval.interm.type).basicType = EbtFloat;
7343 (yyval.interm.type).setMatrix(2, 3);
7345 #line 7346 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7349 #line 2166 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7351 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7352 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7353 (yyval.interm.type).basicType = EbtFloat;
7354 (yyval.interm.type).setMatrix(2, 4);
7356 #line 7357 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7360 #line 2172 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7362 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7363 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7364 (yyval.interm.type).basicType = EbtFloat;
7365 (yyval.interm.type).setMatrix(3, 2);
7367 #line 7368 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7371 #line 2178 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7373 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7374 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7375 (yyval.interm.type).basicType = EbtFloat;
7376 (yyval.interm.type).setMatrix(3, 3);
7378 #line 7379 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7382 #line 2184 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7384 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7385 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7386 (yyval.interm.type).basicType = EbtFloat;
7387 (yyval.interm.type).setMatrix(3, 4);
7389 #line 7390 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7393 #line 2190 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7395 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7396 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7397 (yyval.interm.type).basicType = EbtFloat;
7398 (yyval.interm.type).setMatrix(4, 2);
7400 #line 7401 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7404 #line 2196 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7406 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7407 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7408 (yyval.interm.type).basicType = EbtFloat;
7409 (yyval.interm.type).setMatrix(4, 3);
7411 #line 7412 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7415 #line 2202 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7417 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7418 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7419 (yyval.interm.type).basicType = EbtFloat;
7420 (yyval.interm.type).setMatrix(4, 4);
7422 #line 7423 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7426 #line 2208 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7428 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7429 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7430 (yyval.interm.type).basicType = EbtDouble;
7431 (yyval.interm.type).setMatrix(2, 2);
7433 #line 7434 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7437 #line 2214 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7439 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7440 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7441 (yyval.interm.type).basicType = EbtDouble;
7442 (yyval.interm.type).setMatrix(3, 3);
7444 #line 7445 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7448 #line 2220 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7450 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7451 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7452 (yyval.interm.type).basicType = EbtDouble;
7453 (yyval.interm.type).setMatrix(4, 4);
7455 #line 7456 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7459 #line 2226 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7461 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7462 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7463 (yyval.interm.type).basicType = EbtDouble;
7464 (yyval.interm.type).setMatrix(2, 2);
7466 #line 7467 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7470 #line 2232 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7472 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7473 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7474 (yyval.interm.type).basicType = EbtDouble;
7475 (yyval.interm.type).setMatrix(2, 3);
7477 #line 7478 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7481 #line 2238 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7483 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7484 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7485 (yyval.interm.type).basicType = EbtDouble;
7486 (yyval.interm.type).setMatrix(2, 4);
7488 #line 7489 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7492 #line 2244 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7494 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7495 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7496 (yyval.interm.type).basicType = EbtDouble;
7497 (yyval.interm.type).setMatrix(3, 2);
7499 #line 7500 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7503 #line 2250 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7505 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7506 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7507 (yyval.interm.type).basicType = EbtDouble;
7508 (yyval.interm.type).setMatrix(3, 3);
7510 #line 7511 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7514 #line 2256 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7516 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7517 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7518 (yyval.interm.type).basicType = EbtDouble;
7519 (yyval.interm.type).setMatrix(3, 4);
7521 #line 7522 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7525 #line 2262 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7527 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7528 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7529 (yyval.interm.type).basicType = EbtDouble;
7530 (yyval.interm.type).setMatrix(4, 2);
7532 #line 7533 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7536 #line 2268 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7538 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7539 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7540 (yyval.interm.type).basicType = EbtDouble;
7541 (yyval.interm.type).setMatrix(4, 3);
7543 #line 7544 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7547 #line 2274 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7549 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7550 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7551 (yyval.interm.type).basicType = EbtDouble;
7552 (yyval.interm.type).setMatrix(4, 4);
7554 #line 7555 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7558 #line 2280 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7560 #ifdef NV_EXTENSIONS
7561 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7562 (yyval.interm.type).basicType = EbtAccStructNV;
7565 #line 7566 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7569 #line 2286 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7571 parseContext.vulkanRemoved((yyvsp[0].lex).loc, "atomic counter types");
7572 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7573 (yyval.interm.type).basicType = EbtAtomicUint;
7575 #line 7576 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7579 #line 2291 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7581 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7582 (yyval.interm.type).basicType = EbtSampler;
7583 (yyval.interm.type).sampler.set(EbtFloat, Esd1D);
7585 #line 7586 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7589 #line 2296 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7591 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7592 (yyval.interm.type).basicType = EbtSampler;
7593 (yyval.interm.type).sampler.set(EbtFloat, Esd2D);
7595 #line 7596 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7599 #line 2301 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7601 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7602 (yyval.interm.type).basicType = EbtSampler;
7603 (yyval.interm.type).sampler.set(EbtFloat, Esd3D);
7605 #line 7606 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7609 #line 2306 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7611 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7612 (yyval.interm.type).basicType = EbtSampler;
7613 (yyval.interm.type).sampler.set(EbtFloat, EsdCube);
7615 #line 7616 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7619 #line 2311 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7621 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7622 (yyval.interm.type).basicType = EbtSampler;
7623 (yyval.interm.type).sampler.set(EbtFloat, Esd1D, false, true);
7625 #line 7626 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7629 #line 2316 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7631 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7632 (yyval.interm.type).basicType = EbtSampler;
7633 (yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, true);
7635 #line 7636 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7639 #line 2321 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7641 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7642 (yyval.interm.type).basicType = EbtSampler;
7643 (yyval.interm.type).sampler.set(EbtFloat, EsdCube, false, true);
7645 #line 7646 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7649 #line 2326 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7651 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7652 (yyval.interm.type).basicType = EbtSampler;
7653 (yyval.interm.type).sampler.set(EbtFloat, Esd1D, true);
7655 #line 7656 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7659 #line 2331 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7661 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7662 (yyval.interm.type).basicType = EbtSampler;
7663 (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true);
7665 #line 7666 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7669 #line 2336 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7671 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7672 (yyval.interm.type).basicType = EbtSampler;
7673 (yyval.interm.type).sampler.set(EbtFloat, Esd1D, true, true);
7675 #line 7676 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7679 #line 2341 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7681 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7682 (yyval.interm.type).basicType = EbtSampler;
7683 (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, true);
7685 #line 7686 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7689 #line 2346 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7691 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7692 (yyval.interm.type).basicType = EbtSampler;
7693 (yyval.interm.type).sampler.set(EbtFloat, EsdCube, true);
7695 #line 7696 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7699 #line 2351 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7701 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7702 (yyval.interm.type).basicType = EbtSampler;
7703 (yyval.interm.type).sampler.set(EbtFloat, EsdCube, true, true);
7705 #line 7706 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7709 #line 2356 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7711 #ifdef AMD_EXTENSIONS
7712 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7713 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7714 (yyval.interm.type).basicType = EbtSampler;
7715 (yyval.interm.type).sampler.set(EbtFloat16, Esd1D);
7718 #line 7719 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7722 #line 2364 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7724 #ifdef AMD_EXTENSIONS
7725 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7726 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7727 (yyval.interm.type).basicType = EbtSampler;
7728 (yyval.interm.type).sampler.set(EbtFloat16, Esd2D);
7731 #line 7732 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7735 #line 2372 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7737 #ifdef AMD_EXTENSIONS
7738 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7739 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7740 (yyval.interm.type).basicType = EbtSampler;
7741 (yyval.interm.type).sampler.set(EbtFloat16, Esd3D);
7744 #line 7745 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7748 #line 2380 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7750 #ifdef AMD_EXTENSIONS
7751 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7752 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7753 (yyval.interm.type).basicType = EbtSampler;
7754 (yyval.interm.type).sampler.set(EbtFloat16, EsdCube);
7757 #line 7758 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7761 #line 2388 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7763 #ifdef AMD_EXTENSIONS
7764 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7765 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7766 (yyval.interm.type).basicType = EbtSampler;
7767 (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, false, true);
7770 #line 7771 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7774 #line 2396 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7776 #ifdef AMD_EXTENSIONS
7777 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7778 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7779 (yyval.interm.type).basicType = EbtSampler;
7780 (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, true);
7783 #line 7784 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7787 #line 2404 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7789 #ifdef AMD_EXTENSIONS
7790 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7791 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7792 (yyval.interm.type).basicType = EbtSampler;
7793 (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, false, true);
7796 #line 7797 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7800 #line 2412 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7802 #ifdef AMD_EXTENSIONS
7803 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7804 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7805 (yyval.interm.type).basicType = EbtSampler;
7806 (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true);
7809 #line 7810 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7813 #line 2420 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7815 #ifdef AMD_EXTENSIONS
7816 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7817 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7818 (yyval.interm.type).basicType = EbtSampler;
7819 (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true);
7822 #line 7823 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7826 #line 2428 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7828 #ifdef AMD_EXTENSIONS
7829 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7830 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7831 (yyval.interm.type).basicType = EbtSampler;
7832 (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true, true);
7835 #line 7836 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7839 #line 2436 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7841 #ifdef AMD_EXTENSIONS
7842 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7843 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7844 (yyval.interm.type).basicType = EbtSampler;
7845 (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, true);
7848 #line 7849 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7852 #line 2444 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7854 #ifdef AMD_EXTENSIONS
7855 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7856 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7857 (yyval.interm.type).basicType = EbtSampler;
7858 (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true);
7861 #line 7862 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7865 #line 2452 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7867 #ifdef AMD_EXTENSIONS
7868 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7869 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7870 (yyval.interm.type).basicType = EbtSampler;
7871 (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true, true);
7874 #line 7875 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7878 #line 2460 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7880 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7881 (yyval.interm.type).basicType = EbtSampler;
7882 (yyval.interm.type).sampler.set(EbtInt, Esd1D);
7884 #line 7885 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7888 #line 2465 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7890 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7891 (yyval.interm.type).basicType = EbtSampler;
7892 (yyval.interm.type).sampler.set(EbtInt, Esd2D);
7894 #line 7895 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7898 #line 2470 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7900 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7901 (yyval.interm.type).basicType = EbtSampler;
7902 (yyval.interm.type).sampler.set(EbtInt, Esd3D);
7904 #line 7905 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7908 #line 2475 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7910 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7911 (yyval.interm.type).basicType = EbtSampler;
7912 (yyval.interm.type).sampler.set(EbtInt, EsdCube);
7914 #line 7915 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7918 #line 2480 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7920 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7921 (yyval.interm.type).basicType = EbtSampler;
7922 (yyval.interm.type).sampler.set(EbtInt, Esd1D, true);
7924 #line 7925 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7928 #line 2485 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7930 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7931 (yyval.interm.type).basicType = EbtSampler;
7932 (yyval.interm.type).sampler.set(EbtInt, Esd2D, true);
7934 #line 7935 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7938 #line 2490 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7940 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7941 (yyval.interm.type).basicType = EbtSampler;
7942 (yyval.interm.type).sampler.set(EbtInt, EsdCube, true);
7944 #line 7945 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7948 #line 2495 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7950 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7951 (yyval.interm.type).basicType = EbtSampler;
7952 (yyval.interm.type).sampler.set(EbtUint, Esd1D);
7954 #line 7955 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7958 #line 2500 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7960 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7961 (yyval.interm.type).basicType = EbtSampler;
7962 (yyval.interm.type).sampler.set(EbtUint, Esd2D);
7964 #line 7965 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7968 #line 2505 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7970 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7971 (yyval.interm.type).basicType = EbtSampler;
7972 (yyval.interm.type).sampler.set(EbtUint, Esd3D);
7974 #line 7975 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7978 #line 2510 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7980 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7981 (yyval.interm.type).basicType = EbtSampler;
7982 (yyval.interm.type).sampler.set(EbtUint, EsdCube);
7984 #line 7985 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7988 #line 2515 "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(EbtUint, Esd1D, true);
7994 #line 7995 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7998 #line 2520 "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, Esd2D, true);
8004 #line 8005 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8008 #line 2525 "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(EbtUint, EsdCube, true);
8014 #line 8015 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8018 #line 2530 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8020 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8021 (yyval.interm.type).basicType = EbtSampler;
8022 (yyval.interm.type).sampler.set(EbtFloat, EsdRect);
8024 #line 8025 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8028 #line 2535 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8030 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8031 (yyval.interm.type).basicType = EbtSampler;
8032 (yyval.interm.type).sampler.set(EbtFloat, EsdRect, false, true);
8034 #line 8035 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8038 #line 2540 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8040 #ifdef AMD_EXTENSIONS
8041 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
8042 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8043 (yyval.interm.type).basicType = EbtSampler;
8044 (yyval.interm.type).sampler.set(EbtFloat16, EsdRect);
8047 #line 8048 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8051 #line 2548 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8053 #ifdef AMD_EXTENSIONS
8054 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
8055 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8056 (yyval.interm.type).basicType = EbtSampler;
8057 (yyval.interm.type).sampler.set(EbtFloat16, EsdRect, false, true);
8060 #line 8061 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8064 #line 2556 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8066 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8067 (yyval.interm.type).basicType = EbtSampler;
8068 (yyval.interm.type).sampler.set(EbtInt, EsdRect);
8070 #line 8071 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8074 #line 2561 "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(EbtUint, EsdRect);
8080 #line 8081 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8084 #line 2566 "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(EbtFloat, EsdBuffer);
8090 #line 8091 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8094 #line 2571 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8096 #ifdef AMD_EXTENSIONS
8097 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
8098 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8099 (yyval.interm.type).basicType = EbtSampler;
8100 (yyval.interm.type).sampler.set(EbtFloat16, EsdBuffer);
8103 #line 8104 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8107 #line 2579 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8109 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8110 (yyval.interm.type).basicType = EbtSampler;
8111 (yyval.interm.type).sampler.set(EbtInt, EsdBuffer);
8113 #line 8114 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8117 #line 2584 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8119 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8120 (yyval.interm.type).basicType = EbtSampler;
8121 (yyval.interm.type).sampler.set(EbtUint, EsdBuffer);
8123 #line 8124 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8127 #line 2589 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8129 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8130 (yyval.interm.type).basicType = EbtSampler;
8131 (yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, false, true);
8133 #line 8134 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8137 #line 2594 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8139 #ifdef AMD_EXTENSIONS
8140 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
8141 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8142 (yyval.interm.type).basicType = EbtSampler;
8143 (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, false, true);
8146 #line 8147 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8150 #line 2602 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8152 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8153 (yyval.interm.type).basicType = EbtSampler;
8154 (yyval.interm.type).sampler.set(EbtInt, Esd2D, false, false, true);
8156 #line 8157 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8160 #line 2607 "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.set(EbtUint, Esd2D, false, false, true);
8166 #line 8167 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8170 #line 2612 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8172 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8173 (yyval.interm.type).basicType = EbtSampler;
8174 (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, false, true);
8176 #line 8177 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8180 #line 2617 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8182 #ifdef AMD_EXTENSIONS
8183 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
8184 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8185 (yyval.interm.type).basicType = EbtSampler;
8186 (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, false, true);
8189 #line 8190 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8193 #line 2625 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8195 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8196 (yyval.interm.type).basicType = EbtSampler;
8197 (yyval.interm.type).sampler.set(EbtInt, Esd2D, true, false, true);
8199 #line 8200 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8203 #line 2630 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8205 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8206 (yyval.interm.type).basicType = EbtSampler;
8207 (yyval.interm.type).sampler.set(EbtUint, Esd2D, true, false, true);
8209 #line 8210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8213 #line 2635 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8215 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8216 (yyval.interm.type).basicType = EbtSampler;
8217 (yyval.interm.type).sampler.setPureSampler(false);
8219 #line 8220 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8223 #line 2640 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8225 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8226 (yyval.interm.type).basicType = EbtSampler;
8227 (yyval.interm.type).sampler.setPureSampler(true);
8229 #line 8230 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8233 #line 2645 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8235 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8236 (yyval.interm.type).basicType = EbtSampler;
8237 (yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D);
8239 #line 8240 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8243 #line 2650 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8245 #ifdef AMD_EXTENSIONS
8246 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8247 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8248 (yyval.interm.type).basicType = EbtSampler;
8249 (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D);
8252 #line 8253 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8256 #line 2658 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8258 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8259 (yyval.interm.type).basicType = EbtSampler;
8260 (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D);
8262 #line 8263 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8266 #line 2663 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8268 #ifdef AMD_EXTENSIONS
8269 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8270 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8271 (yyval.interm.type).basicType = EbtSampler;
8272 (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D);
8275 #line 8276 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8279 #line 2671 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8281 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8282 (yyval.interm.type).basicType = EbtSampler;
8283 (yyval.interm.type).sampler.setTexture(EbtFloat, Esd3D);
8285 #line 8286 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8289 #line 2676 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8291 #ifdef AMD_EXTENSIONS
8292 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8293 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8294 (yyval.interm.type).basicType = EbtSampler;
8295 (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd3D);
8298 #line 8299 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8302 #line 2684 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8304 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8305 (yyval.interm.type).basicType = EbtSampler;
8306 (yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube);
8308 #line 8309 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8312 #line 2689 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8314 #ifdef AMD_EXTENSIONS
8315 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8316 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8317 (yyval.interm.type).basicType = EbtSampler;
8318 (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube);
8321 #line 8322 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8325 #line 2697 "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(EbtFloat, Esd1D, true);
8331 #line 8332 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8335 #line 2702 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8337 #ifdef AMD_EXTENSIONS
8338 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8339 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8340 (yyval.interm.type).basicType = EbtSampler;
8341 (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D, true);
8344 #line 8345 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8348 #line 2710 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8350 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8351 (yyval.interm.type).basicType = EbtSampler;
8352 (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true);
8354 #line 8355 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8358 #line 2715 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8360 #ifdef AMD_EXTENSIONS
8361 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8362 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8363 (yyval.interm.type).basicType = EbtSampler;
8364 (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true);
8367 #line 8368 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8371 #line 2723 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8373 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8374 (yyval.interm.type).basicType = EbtSampler;
8375 (yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube, true);
8377 #line 8378 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8381 #line 2728 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8383 #ifdef AMD_EXTENSIONS
8384 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8385 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8386 (yyval.interm.type).basicType = EbtSampler;
8387 (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube, true);
8390 #line 8391 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8394 #line 2736 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8396 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8397 (yyval.interm.type).basicType = EbtSampler;
8398 (yyval.interm.type).sampler.setTexture(EbtInt, Esd1D);
8400 #line 8401 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8404 #line 2741 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8406 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8407 (yyval.interm.type).basicType = EbtSampler;
8408 (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D);
8410 #line 8411 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8414 #line 2746 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8416 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8417 (yyval.interm.type).basicType = EbtSampler;
8418 (yyval.interm.type).sampler.setTexture(EbtInt, Esd3D);
8420 #line 8421 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8424 #line 2751 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8426 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8427 (yyval.interm.type).basicType = EbtSampler;
8428 (yyval.interm.type).sampler.setTexture(EbtInt, EsdCube);
8430 #line 8431 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8434 #line 2756 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8436 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8437 (yyval.interm.type).basicType = EbtSampler;
8438 (yyval.interm.type).sampler.setTexture(EbtInt, Esd1D, true);
8440 #line 8441 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8444 #line 2761 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8446 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8447 (yyval.interm.type).basicType = EbtSampler;
8448 (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true);
8450 #line 8451 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8454 #line 2766 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8456 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8457 (yyval.interm.type).basicType = EbtSampler;
8458 (yyval.interm.type).sampler.setTexture(EbtInt, EsdCube, true);
8460 #line 8461 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8464 #line 2771 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8466 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8467 (yyval.interm.type).basicType = EbtSampler;
8468 (yyval.interm.type).sampler.setTexture(EbtUint, Esd1D);
8470 #line 8471 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8474 #line 2776 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8476 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8477 (yyval.interm.type).basicType = EbtSampler;
8478 (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D);
8480 #line 8481 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8484 #line 2781 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8486 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8487 (yyval.interm.type).basicType = EbtSampler;
8488 (yyval.interm.type).sampler.setTexture(EbtUint, Esd3D);
8490 #line 8491 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8494 #line 2786 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8496 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8497 (yyval.interm.type).basicType = EbtSampler;
8498 (yyval.interm.type).sampler.setTexture(EbtUint, EsdCube);
8500 #line 8501 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8504 #line 2791 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8506 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8507 (yyval.interm.type).basicType = EbtSampler;
8508 (yyval.interm.type).sampler.setTexture(EbtUint, Esd1D, true);
8510 #line 8511 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8514 #line 2796 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8516 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8517 (yyval.interm.type).basicType = EbtSampler;
8518 (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true);
8520 #line 8521 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8524 #line 2801 "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(EbtUint, EsdCube, true);
8530 #line 8531 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8534 #line 2806 "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(EbtFloat, EsdRect);
8540 #line 8541 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8544 #line 2811 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8546 #ifdef AMD_EXTENSIONS
8547 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8548 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8549 (yyval.interm.type).basicType = EbtSampler;
8550 (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdRect);
8553 #line 8554 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8557 #line 2819 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8559 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8560 (yyval.interm.type).basicType = EbtSampler;
8561 (yyval.interm.type).sampler.setTexture(EbtInt, EsdRect);
8563 #line 8564 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8567 #line 2824 "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(EbtUint, EsdRect);
8573 #line 8574 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8577 #line 2829 "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(EbtFloat, EsdBuffer);
8583 #line 8584 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8587 #line 2834 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8589 #ifdef AMD_EXTENSIONS
8590 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8591 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8592 (yyval.interm.type).basicType = EbtSampler;
8593 (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdBuffer);
8596 #line 8597 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8600 #line 2842 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8602 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8603 (yyval.interm.type).basicType = EbtSampler;
8604 (yyval.interm.type).sampler.setTexture(EbtInt, EsdBuffer);
8606 #line 8607 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8610 #line 2847 "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.setTexture(EbtUint, EsdBuffer);
8616 #line 8617 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8620 #line 2852 "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.setTexture(EbtFloat, Esd2D, false, false, true);
8626 #line 8627 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8630 #line 2857 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8632 #ifdef AMD_EXTENSIONS
8633 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8634 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8635 (yyval.interm.type).basicType = EbtSampler;
8636 (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, false, false, true);
8639 #line 8640 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8643 #line 2865 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8645 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8646 (yyval.interm.type).basicType = EbtSampler;
8647 (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, false, false, true);
8649 #line 8650 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8653 #line 2870 "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.setTexture(EbtUint, Esd2D, false, false, true);
8659 #line 8660 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8663 #line 2875 "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.setTexture(EbtFloat, Esd2D, true, false, true);
8669 #line 8670 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8673 #line 2880 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8675 #ifdef AMD_EXTENSIONS
8676 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8677 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8678 (yyval.interm.type).basicType = EbtSampler;
8679 (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true, false, true);
8682 #line 8683 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8686 #line 2888 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8688 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8689 (yyval.interm.type).basicType = EbtSampler;
8690 (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true, false, true);
8692 #line 8693 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8696 #line 2893 "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.setTexture(EbtUint, Esd2D, true, false, true);
8702 #line 8703 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8706 #line 2898 "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(EbtFloat, Esd1D);
8712 #line 8713 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8716 #line 2903 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8718 #ifdef AMD_EXTENSIONS
8719 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8720 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8721 (yyval.interm.type).basicType = EbtSampler;
8722 (yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D);
8725 #line 8726 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8729 #line 2911 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8731 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8732 (yyval.interm.type).basicType = EbtSampler;
8733 (yyval.interm.type).sampler.setImage(EbtInt, Esd1D);
8735 #line 8736 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8739 #line 2916 "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(EbtUint, Esd1D);
8745 #line 8746 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8749 #line 2921 "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(EbtFloat, Esd2D);
8755 #line 8756 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8759 #line 2926 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8761 #ifdef AMD_EXTENSIONS
8762 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8763 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8764 (yyval.interm.type).basicType = EbtSampler;
8765 (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D);
8768 #line 8769 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8772 #line 2934 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8774 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8775 (yyval.interm.type).basicType = EbtSampler;
8776 (yyval.interm.type).sampler.setImage(EbtInt, Esd2D);
8778 #line 8779 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8782 #line 2939 "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(EbtUint, Esd2D);
8788 #line 8789 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8792 #line 2944 "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(EbtFloat, Esd3D);
8798 #line 8799 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8802 #line 2949 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8804 #ifdef AMD_EXTENSIONS
8805 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8806 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8807 (yyval.interm.type).basicType = EbtSampler;
8808 (yyval.interm.type).sampler.setImage(EbtFloat16, Esd3D);
8811 #line 8812 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8815 #line 2957 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8817 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8818 (yyval.interm.type).basicType = EbtSampler;
8819 (yyval.interm.type).sampler.setImage(EbtInt, Esd3D);
8821 #line 8822 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8825 #line 2962 "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(EbtUint, Esd3D);
8831 #line 8832 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8835 #line 2967 "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(EbtFloat, EsdRect);
8841 #line 8842 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8845 #line 2972 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8847 #ifdef AMD_EXTENSIONS
8848 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8849 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8850 (yyval.interm.type).basicType = EbtSampler;
8851 (yyval.interm.type).sampler.setImage(EbtFloat16, EsdRect);
8854 #line 8855 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8858 #line 2980 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8860 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8861 (yyval.interm.type).basicType = EbtSampler;
8862 (yyval.interm.type).sampler.setImage(EbtInt, EsdRect);
8864 #line 8865 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8868 #line 2985 "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(EbtUint, EsdRect);
8874 #line 8875 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8878 #line 2990 "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(EbtFloat, EsdCube);
8884 #line 8885 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8888 #line 2995 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8890 #ifdef AMD_EXTENSIONS
8891 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8892 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8893 (yyval.interm.type).basicType = EbtSampler;
8894 (yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube);
8897 #line 8898 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8901 #line 3003 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8903 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8904 (yyval.interm.type).basicType = EbtSampler;
8905 (yyval.interm.type).sampler.setImage(EbtInt, EsdCube);
8907 #line 8908 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8911 #line 3008 "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(EbtUint, EsdCube);
8917 #line 8918 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8921 #line 3013 "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(EbtFloat, EsdBuffer);
8927 #line 8928 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8931 #line 3018 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8933 #ifdef AMD_EXTENSIONS
8934 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8935 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8936 (yyval.interm.type).basicType = EbtSampler;
8937 (yyval.interm.type).sampler.setImage(EbtFloat16, EsdBuffer);
8940 #line 8941 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8944 #line 3026 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8946 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8947 (yyval.interm.type).basicType = EbtSampler;
8948 (yyval.interm.type).sampler.setImage(EbtInt, EsdBuffer);
8950 #line 8951 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8954 #line 3031 "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(EbtUint, EsdBuffer);
8960 #line 8961 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8964 #line 3036 "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(EbtFloat, Esd1D, true);
8970 #line 8971 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8974 #line 3041 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8976 #ifdef AMD_EXTENSIONS
8977 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8978 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8979 (yyval.interm.type).basicType = EbtSampler;
8980 (yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D, true);
8983 #line 8984 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8987 #line 3049 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8989 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8990 (yyval.interm.type).basicType = EbtSampler;
8991 (yyval.interm.type).sampler.setImage(EbtInt, Esd1D, true);
8993 #line 8994 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8997 #line 3054 "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(EbtUint, Esd1D, true);
9003 #line 9004 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9007 #line 3059 "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(EbtFloat, Esd2D, true);
9013 #line 9014 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9017 #line 3064 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9019 #ifdef AMD_EXTENSIONS
9020 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
9021 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9022 (yyval.interm.type).basicType = EbtSampler;
9023 (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true);
9026 #line 9027 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9030 #line 3072 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9032 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9033 (yyval.interm.type).basicType = EbtSampler;
9034 (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true);
9036 #line 9037 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9040 #line 3077 "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(EbtUint, Esd2D, true);
9046 #line 9047 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9050 #line 3082 "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(EbtFloat, EsdCube, true);
9056 #line 9057 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9060 #line 3087 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9062 #ifdef AMD_EXTENSIONS
9063 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
9064 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9065 (yyval.interm.type).basicType = EbtSampler;
9066 (yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube, true);
9069 #line 9070 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9073 #line 3095 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9075 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9076 (yyval.interm.type).basicType = EbtSampler;
9077 (yyval.interm.type).sampler.setImage(EbtInt, EsdCube, true);
9079 #line 9080 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9083 #line 3100 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9085 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9086 (yyval.interm.type).basicType = EbtSampler;
9087 (yyval.interm.type).sampler.setImage(EbtUint, EsdCube, true);
9089 #line 9090 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9093 #line 3105 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9095 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9096 (yyval.interm.type).basicType = EbtSampler;
9097 (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, false, false, true);
9099 #line 9100 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9103 #line 3110 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9105 #ifdef AMD_EXTENSIONS
9106 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
9107 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9108 (yyval.interm.type).basicType = EbtSampler;
9109 (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, false, false, true);
9112 #line 9113 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9116 #line 3118 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9118 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9119 (yyval.interm.type).basicType = EbtSampler;
9120 (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, false, false, true);
9122 #line 9123 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9126 #line 3123 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9128 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9129 (yyval.interm.type).basicType = EbtSampler;
9130 (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, false, false, true);
9132 #line 9133 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9136 #line 3128 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9138 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9139 (yyval.interm.type).basicType = EbtSampler;
9140 (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true, false, true);
9142 #line 9143 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9146 #line 3133 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9148 #ifdef AMD_EXTENSIONS
9149 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
9150 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9151 (yyval.interm.type).basicType = EbtSampler;
9152 (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true, false, true);
9155 #line 9156 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9159 #line 3141 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9161 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9162 (yyval.interm.type).basicType = EbtSampler;
9163 (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true, false, true);
9165 #line 9166 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9169 #line 3146 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9171 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9172 (yyval.interm.type).basicType = EbtSampler;
9173 (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true, false, true);
9175 #line 9176 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9179 #line 3151 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9180 { // GL_OES_EGL_image_external
9181 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9182 (yyval.interm.type).basicType = EbtSampler;
9183 (yyval.interm.type).sampler.set(EbtFloat, Esd2D);
9184 (yyval.interm.type).sampler.external = true;
9186 #line 9187 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9190 #line 3157 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9191 { // GL_EXT_YUV_target
9192 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9193 (yyval.interm.type).basicType = EbtSampler;
9194 (yyval.interm.type).sampler.set(EbtFloat, Esd2D);
9195 (yyval.interm.type).sampler.yuv = true;
9197 #line 9198 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9201 #line 3163 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9203 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9204 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9205 (yyval.interm.type).basicType = EbtSampler;
9206 (yyval.interm.type).sampler.setSubpass(EbtFloat);
9208 #line 9209 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9212 #line 3169 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9214 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9215 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9216 (yyval.interm.type).basicType = EbtSampler;
9217 (yyval.interm.type).sampler.setSubpass(EbtFloat, true);
9219 #line 9220 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9223 #line 3175 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9225 #ifdef AMD_EXTENSIONS
9226 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel());
9227 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9228 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9229 (yyval.interm.type).basicType = EbtSampler;
9230 (yyval.interm.type).sampler.setSubpass(EbtFloat16);
9233 #line 9234 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9237 #line 3184 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9239 #ifdef AMD_EXTENSIONS
9240 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel());
9241 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9242 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9243 (yyval.interm.type).basicType = EbtSampler;
9244 (yyval.interm.type).sampler.setSubpass(EbtFloat16, true);
9247 #line 9248 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9251 #line 3193 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9253 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9254 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9255 (yyval.interm.type).basicType = EbtSampler;
9256 (yyval.interm.type).sampler.setSubpass(EbtInt);
9258 #line 9259 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9262 #line 3199 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9264 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9265 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9266 (yyval.interm.type).basicType = EbtSampler;
9267 (yyval.interm.type).sampler.setSubpass(EbtInt, true);
9269 #line 9270 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9273 #line 3205 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9275 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9276 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9277 (yyval.interm.type).basicType = EbtSampler;
9278 (yyval.interm.type).sampler.setSubpass(EbtUint);
9280 #line 9281 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9284 #line 3211 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9286 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9287 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9288 (yyval.interm.type).basicType = EbtSampler;
9289 (yyval.interm.type).sampler.setSubpass(EbtUint, true);
9291 #line 9292 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9295 #line 3217 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9297 parseContext.fcoopmatCheck((yyvsp[0].lex).loc, "fcoopmatNV", parseContext.symbolTable.atBuiltInLevel());
9298 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9299 (yyval.interm.type).basicType = EbtFloat;
9300 (yyval.interm.type).coopmat = true;
9302 #line 9303 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9306 #line 3223 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9308 (yyval.interm.type) = (yyvsp[0].interm.type);
9309 (yyval.interm.type).qualifier.storage = parseContext.symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
9310 parseContext.structTypeCheck((yyval.interm.type).loc, (yyval.interm.type));
9312 #line 9313 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9316 #line 3228 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9319 // This is for user defined type names. The lexical phase looked up the
9322 if (const TVariable* variable = ((yyvsp[0].lex).symbol)->getAsVariable()) {
9323 const TType& structure = variable->getType();
9324 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9325 (yyval.interm.type).basicType = EbtStruct;
9326 (yyval.interm.type).userDef = &structure;
9328 parseContext.error((yyvsp[0].lex).loc, "expected type name", (yyvsp[0].lex).string->c_str(), "");
9330 #line 9331 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9334 #line 3244 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9336 parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "highp precision qualifier");
9337 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9338 parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqHigh);
9340 #line 9341 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9344 #line 3249 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9346 parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "mediump precision qualifier");
9347 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9348 parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqMedium);
9350 #line 9351 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9354 #line 3254 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9356 parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "lowp precision qualifier");
9357 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9358 parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqLow);
9360 #line 9361 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9364 #line 3262 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9365 { parseContext.nestedStructCheck((yyvsp[-2].lex).loc); }
9366 #line 9367 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9370 #line 3262 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9372 TType* structure = new TType((yyvsp[-1].interm.typeList), *(yyvsp[-4].lex).string);
9373 parseContext.structArrayCheck((yyvsp[-4].lex).loc, *structure);
9374 TVariable* userTypeDef = new TVariable((yyvsp[-4].lex).string, *structure, true);
9375 if (! parseContext.symbolTable.insert(*userTypeDef))
9376 parseContext.error((yyvsp[-4].lex).loc, "redefinition", (yyvsp[-4].lex).string->c_str(), "struct");
9377 (yyval.interm.type).init((yyvsp[-5].lex).loc);
9378 (yyval.interm.type).basicType = EbtStruct;
9379 (yyval.interm.type).userDef = structure;
9380 --parseContext.structNestingLevel;
9382 #line 9383 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9386 #line 3273 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9387 { parseContext.nestedStructCheck((yyvsp[-1].lex).loc); }
9388 #line 9389 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9392 #line 3273 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9394 TType* structure = new TType((yyvsp[-1].interm.typeList), TString(""));
9395 (yyval.interm.type).init((yyvsp[-4].lex).loc);
9396 (yyval.interm.type).basicType = EbtStruct;
9397 (yyval.interm.type).userDef = structure;
9398 --parseContext.structNestingLevel;
9400 #line 9401 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9404 #line 3283 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9406 (yyval.interm.typeList) = (yyvsp[0].interm.typeList);
9408 #line 9409 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9412 #line 3286 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9414 (yyval.interm.typeList) = (yyvsp[-1].interm.typeList);
9415 for (unsigned int i = 0; i < (yyvsp[0].interm.typeList)->size(); ++i) {
9416 for (unsigned int j = 0; j < (yyval.interm.typeList)->size(); ++j) {
9417 if ((*(yyval.interm.typeList))[j].type->getFieldName() == (*(yyvsp[0].interm.typeList))[i].type->getFieldName())
9418 parseContext.error((*(yyvsp[0].interm.typeList))[i].loc, "duplicate member name:", "", (*(yyvsp[0].interm.typeList))[i].type->getFieldName().c_str());
9420 (yyval.interm.typeList)->push_back((*(yyvsp[0].interm.typeList))[i]);
9423 #line 9424 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9427 #line 3299 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9429 if ((yyvsp[-2].interm.type).arraySizes) {
9430 parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
9431 parseContext.profileRequires((yyvsp[-2].interm.type).loc, EEsProfile, 300, 0, "arrayed type");
9432 if (parseContext.profile == EEsProfile)
9433 parseContext.arraySizeRequiredCheck((yyvsp[-2].interm.type).loc, *(yyvsp[-2].interm.type).arraySizes);
9436 (yyval.interm.typeList) = (yyvsp[-1].interm.typeList);
9438 parseContext.voidErrorCheck((yyvsp[-2].interm.type).loc, (*(yyvsp[-1].interm.typeList))[0].type->getFieldName(), (yyvsp[-2].interm.type).basicType);
9439 parseContext.precisionQualifierCheck((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).basicType, (yyvsp[-2].interm.type).qualifier);
9441 for (unsigned int i = 0; i < (yyval.interm.typeList)->size(); ++i) {
9442 TType type((yyvsp[-2].interm.type));
9443 type.setFieldName((*(yyval.interm.typeList))[i].type->getFieldName());
9444 type.transferArraySizes((*(yyval.interm.typeList))[i].type->getArraySizes());
9445 type.copyArrayInnerSizes((yyvsp[-2].interm.type).arraySizes);
9446 parseContext.arrayOfArrayVersionCheck((*(yyval.interm.typeList))[i].loc, type.getArraySizes());
9447 (*(yyval.interm.typeList))[i].type->shallowCopy(type);
9450 #line 9451 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9454 #line 3321 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9456 if ((yyvsp[-2].interm.type).arraySizes) {
9457 parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
9458 parseContext.profileRequires((yyvsp[-2].interm.type).loc, EEsProfile, 300, 0, "arrayed type");
9459 if (parseContext.profile == EEsProfile)
9460 parseContext.arraySizeRequiredCheck((yyvsp[-2].interm.type).loc, *(yyvsp[-2].interm.type).arraySizes);
9463 (yyval.interm.typeList) = (yyvsp[-1].interm.typeList);
9465 parseContext.memberQualifierCheck((yyvsp[-3].interm.type));
9466 parseContext.voidErrorCheck((yyvsp[-2].interm.type).loc, (*(yyvsp[-1].interm.typeList))[0].type->getFieldName(), (yyvsp[-2].interm.type).basicType);
9467 parseContext.mergeQualifiers((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).qualifier, (yyvsp[-3].interm.type).qualifier, true);
9468 parseContext.precisionQualifierCheck((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).basicType, (yyvsp[-2].interm.type).qualifier);
9470 for (unsigned int i = 0; i < (yyval.interm.typeList)->size(); ++i) {
9471 TType type((yyvsp[-2].interm.type));
9472 type.setFieldName((*(yyval.interm.typeList))[i].type->getFieldName());
9473 type.transferArraySizes((*(yyval.interm.typeList))[i].type->getArraySizes());
9474 type.copyArrayInnerSizes((yyvsp[-2].interm.type).arraySizes);
9475 parseContext.arrayOfArrayVersionCheck((*(yyval.interm.typeList))[i].loc, type.getArraySizes());
9476 (*(yyval.interm.typeList))[i].type->shallowCopy(type);
9479 #line 9480 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9483 #line 3348 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9485 (yyval.interm.typeList) = new TTypeList;
9486 (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
9488 #line 9489 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9492 #line 3352 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9494 (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
9496 #line 9497 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9500 #line 3358 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9502 (yyval.interm.typeLine).type = new TType(EbtVoid);
9503 (yyval.interm.typeLine).loc = (yyvsp[0].lex).loc;
9504 (yyval.interm.typeLine).type->setFieldName(*(yyvsp[0].lex).string);
9506 #line 9507 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9510 #line 3363 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9512 parseContext.arrayOfArrayVersionCheck((yyvsp[-1].lex).loc, (yyvsp[0].interm).arraySizes);
9514 (yyval.interm.typeLine).type = new TType(EbtVoid);
9515 (yyval.interm.typeLine).loc = (yyvsp[-1].lex).loc;
9516 (yyval.interm.typeLine).type->setFieldName(*(yyvsp[-1].lex).string);
9517 (yyval.interm.typeLine).type->transferArraySizes((yyvsp[0].interm).arraySizes);
9519 #line 9520 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9523 #line 3374 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9525 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
9527 #line 9528 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9531 #line 3377 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9533 const char* initFeature = "{ } style initializers";
9534 parseContext.requireProfile((yyvsp[-2].lex).loc, ~EEsProfile, initFeature);
9535 parseContext.profileRequires((yyvsp[-2].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature);
9536 (yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode);
9538 #line 9539 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9542 #line 3383 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9544 const char* initFeature = "{ } style initializers";
9545 parseContext.requireProfile((yyvsp[-3].lex).loc, ~EEsProfile, initFeature);
9546 parseContext.profileRequires((yyvsp[-3].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature);
9547 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
9549 #line 9550 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9553 #line 3392 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9555 (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate(0, (yyvsp[0].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)->getLoc());
9557 #line 9558 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9561 #line 3395 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9563 (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
9565 #line 9566 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9569 #line 3401 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9570 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9571 #line 9572 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9575 #line 3405 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9576 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9577 #line 9578 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9581 #line 3406 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9582 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9583 #line 9584 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9587 #line 3412 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9588 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9589 #line 9590 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9593 #line 3413 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9594 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9595 #line 9596 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9599 #line 3414 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9600 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9601 #line 9602 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9605 #line 3415 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9606 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9607 #line 9608 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9611 #line 3416 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9612 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9613 #line 9614 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9617 #line 3417 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9618 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9619 #line 9620 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9623 #line 3418 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9624 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9625 #line 9626 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9629 #line 3422 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9630 { (yyval.interm.intermNode) = 0; }
9631 #line 9632 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9635 #line 3423 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9637 parseContext.symbolTable.push();
9638 ++parseContext.statementNestingLevel;
9640 #line 9641 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9644 #line 3427 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9646 parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
9647 --parseContext.statementNestingLevel;
9649 #line 9650 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9653 #line 3431 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9655 if ((yyvsp[-2].interm.intermNode) && (yyvsp[-2].interm.intermNode)->getAsAggregate())
9656 (yyvsp[-2].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);
9657 (yyval.interm.intermNode) = (yyvsp[-2].interm.intermNode);
9659 #line 9660 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9663 #line 3439 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9664 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9665 #line 9666 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9669 #line 3440 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9670 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9671 #line 9672 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9675 #line 3444 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9677 ++parseContext.controlFlowNestingLevel;
9679 #line 9680 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9683 #line 3447 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9685 --parseContext.controlFlowNestingLevel;
9686 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9688 #line 9689 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9692 #line 3451 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9694 parseContext.symbolTable.push();
9695 ++parseContext.statementNestingLevel;
9696 ++parseContext.controlFlowNestingLevel;
9698 #line 9699 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9702 #line 3456 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9704 parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
9705 --parseContext.statementNestingLevel;
9706 --parseContext.controlFlowNestingLevel;
9707 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9709 #line 9710 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9713 #line 3465 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9715 (yyval.interm.intermNode) = 0;
9717 #line 9718 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9721 #line 3468 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9723 if ((yyvsp[-1].interm.intermNode) && (yyvsp[-1].interm.intermNode)->getAsAggregate())
9724 (yyvsp[-1].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);
9725 (yyval.interm.intermNode) = (yyvsp[-1].interm.intermNode);
9727 #line 9728 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9731 #line 3476 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9733 (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode));
9734 if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase ||
9735 (yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpDefault)) {
9736 parseContext.wrapupSwitchSubsequence(0, (yyvsp[0].interm.intermNode));
9737 (yyval.interm.intermNode) = 0; // start a fresh subsequence for what's after this case
9740 #line 9741 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9744 #line 3484 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9746 if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase ||
9747 (yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpDefault)) {
9748 parseContext.wrapupSwitchSubsequence((yyvsp[-1].interm.intermNode) ? (yyvsp[-1].interm.intermNode)->getAsAggregate() : 0, (yyvsp[0].interm.intermNode));
9749 (yyval.interm.intermNode) = 0; // start a fresh subsequence for what's after this case
9751 (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
9753 #line 9754 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9757 #line 3495 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9758 { (yyval.interm.intermNode) = 0; }
9759 #line 9760 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9763 #line 3496 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9764 { (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[-1].interm.intermTypedNode)); }
9765 #line 9766 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9769 #line 3500 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9771 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9773 #line 9774 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9777 #line 3503 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9779 parseContext.handleSelectionAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
9780 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9782 #line 9783 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9786 #line 3509 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9788 parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-2].interm.intermTypedNode));
9789 (yyval.interm.intermNode) = parseContext.intermediate.addSelection((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.nodePair), (yyvsp[-4].lex).loc);
9791 #line 9792 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9795 #line 3516 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9797 (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);
9798 (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode);
9800 #line 9801 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9804 #line 3520 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9806 (yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode);
9807 (yyval.interm.nodePair).node2 = 0;
9809 #line 9810 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9813 #line 3528 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9815 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
9816 parseContext.boolCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode));
9818 #line 9819 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9822 #line 3532 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9824 parseContext.boolCheck((yyvsp[-2].lex).loc, (yyvsp[-3].interm.type));
9826 TType type((yyvsp[-3].interm.type));
9827 TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-3].interm.type), 0, (yyvsp[0].interm.intermTypedNode));
9829 (yyval.interm.intermTypedNode) = initNode->getAsTyped();
9831 (yyval.interm.intermTypedNode) = 0;
9833 #line 9834 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9837 #line 3545 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9839 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9841 #line 9842 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9845 #line 3548 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9847 parseContext.handleSwitchAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
9848 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9850 #line 9851 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9854 #line 3554 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9856 // start new switch sequence on the switch stack
9857 ++parseContext.controlFlowNestingLevel;
9858 ++parseContext.statementNestingLevel;
9859 parseContext.switchSequenceStack.push_back(new TIntermSequence);
9860 parseContext.switchLevel.push_back(parseContext.statementNestingLevel);
9861 parseContext.symbolTable.push();
9863 #line 9864 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9867 #line 3562 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9869 (yyval.interm.intermNode) = parseContext.addSwitch((yyvsp[-7].lex).loc, (yyvsp[-5].interm.intermTypedNode), (yyvsp[-1].interm.intermNode) ? (yyvsp[-1].interm.intermNode)->getAsAggregate() : 0);
9870 delete parseContext.switchSequenceStack.back();
9871 parseContext.switchSequenceStack.pop_back();
9872 parseContext.switchLevel.pop_back();
9873 parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
9874 --parseContext.statementNestingLevel;
9875 --parseContext.controlFlowNestingLevel;
9877 #line 9878 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9881 #line 3574 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9883 (yyval.interm.intermNode) = 0;
9885 #line 9886 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9889 #line 3577 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9891 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9893 #line 9894 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9897 #line 3583 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9899 (yyval.interm.intermNode) = 0;
9900 if (parseContext.switchLevel.size() == 0)
9901 parseContext.error((yyvsp[-2].lex).loc, "cannot appear outside switch statement", "case", "");
9902 else if (parseContext.switchLevel.back() != parseContext.statementNestingLevel)
9903 parseContext.error((yyvsp[-2].lex).loc, "cannot be nested inside control flow", "case", "");
9905 parseContext.constantValueCheck((yyvsp[-1].interm.intermTypedNode), "case");
9906 parseContext.integerCheck((yyvsp[-1].interm.intermTypedNode), "case");
9907 (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpCase, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc);
9910 #line 9911 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9914 #line 3595 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9916 (yyval.interm.intermNode) = 0;
9917 if (parseContext.switchLevel.size() == 0)
9918 parseContext.error((yyvsp[-1].lex).loc, "cannot appear outside switch statement", "default", "");
9919 else if (parseContext.switchLevel.back() != parseContext.statementNestingLevel)
9920 parseContext.error((yyvsp[-1].lex).loc, "cannot be nested inside control flow", "default", "");
9922 (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDefault, (yyvsp[-1].lex).loc);
9924 #line 9925 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9928 #line 3607 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9930 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9932 #line 9933 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9936 #line 3610 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9938 parseContext.handleLoopAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
9939 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9941 #line 9942 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9945 #line 3616 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9947 if (! parseContext.limits.whileLoops)
9948 parseContext.error((yyvsp[-1].lex).loc, "while loops not available", "limitation", "");
9949 parseContext.symbolTable.push();
9950 ++parseContext.loopNestingLevel;
9951 ++parseContext.statementNestingLevel;
9952 ++parseContext.controlFlowNestingLevel;
9954 #line 9955 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9958 #line 3624 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9960 parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
9961 (yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[0].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, true, (yyvsp[-5].lex).loc);
9962 --parseContext.loopNestingLevel;
9963 --parseContext.statementNestingLevel;
9964 --parseContext.controlFlowNestingLevel;
9966 #line 9967 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9970 #line 3631 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9972 ++parseContext.loopNestingLevel;
9973 ++parseContext.statementNestingLevel;
9974 ++parseContext.controlFlowNestingLevel;
9976 #line 9977 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9980 #line 3636 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9982 if (! parseContext.limits.whileLoops)
9983 parseContext.error((yyvsp[-7].lex).loc, "do-while loops not available", "limitation", "");
9985 parseContext.boolCheck((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode));
9987 (yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[-5].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, false, (yyvsp[-4].lex).loc);
9988 --parseContext.loopNestingLevel;
9989 --parseContext.statementNestingLevel;
9990 --parseContext.controlFlowNestingLevel;
9992 #line 9993 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9996 #line 3647 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9998 parseContext.symbolTable.push();
9999 ++parseContext.loopNestingLevel;
10000 ++parseContext.statementNestingLevel;
10001 ++parseContext.controlFlowNestingLevel;
10003 #line 10004 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10007 #line 3653 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10009 parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
10010 (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[-3].interm.intermNode), (yyvsp[-5].lex).loc);
10011 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);
10012 if (! parseContext.limits.nonInductiveForLoops)
10013 parseContext.inductiveLoopCheck((yyvsp[-6].lex).loc, (yyvsp[-3].interm.intermNode), forLoop);
10014 (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyval.interm.intermNode), forLoop, (yyvsp[-6].lex).loc);
10015 (yyval.interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);
10016 --parseContext.loopNestingLevel;
10017 --parseContext.statementNestingLevel;
10018 --parseContext.controlFlowNestingLevel;
10020 #line 10021 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10024 #line 3668 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10026 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
10028 #line 10029 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10032 #line 3671 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10034 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
10036 #line 10037 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10040 #line 3677 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10042 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
10044 #line 10045 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10048 #line 3680 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10050 (yyval.interm.intermTypedNode) = 0;
10052 #line 10053 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10056 #line 3686 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10058 (yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode);
10059 (yyval.interm.nodePair).node2 = 0;
10061 #line 10062 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10065 #line 3690 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10067 (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode);
10068 (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode);
10070 #line 10071 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10074 #line 3697 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10076 if (parseContext.loopNestingLevel <= 0)
10077 parseContext.error((yyvsp[-1].lex).loc, "continue statement only allowed in loops", "", "");
10078 (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpContinue, (yyvsp[-1].lex).loc);
10080 #line 10081 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10084 #line 3702 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10086 if (parseContext.loopNestingLevel + parseContext.switchSequenceStack.size() <= 0)
10087 parseContext.error((yyvsp[-1].lex).loc, "break statement only allowed in switch and loops", "", "");
10088 (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpBreak, (yyvsp[-1].lex).loc);
10090 #line 10091 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10094 #line 3707 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10096 (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].lex).loc);
10097 if (parseContext.currentFunctionType->getBasicType() != EbtVoid)
10098 parseContext.error((yyvsp[-1].lex).loc, "non-void function must return a value", "return", "");
10099 if (parseContext.inMain)
10100 parseContext.postEntryPointReturn = true;
10102 #line 10103 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10106 #line 3714 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10108 (yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode));
10110 #line 10111 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10114 #line 3717 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10116 parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard");
10117 (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc);
10119 #line 10120 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10123 #line 3726 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10125 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
10126 parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
10128 #line 10129 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10132 #line 3730 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10134 if ((yyvsp[0].interm.intermNode) != nullptr) {
10135 (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
10136 parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
10139 #line 10140 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10143 #line 3739 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10145 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
10147 #line 10148 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10151 #line 3742 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10153 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
10155 #line 10156 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10159 #line 3745 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10161 parseContext.requireProfile((yyvsp[0].lex).loc, ~EEsProfile, "extraneous semicolon");
10162 parseContext.profileRequires((yyvsp[0].lex).loc, ~EEsProfile, 460, nullptr, "extraneous semicolon");
10163 (yyval.interm.intermNode) = nullptr;
10165 #line 10166 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10169 #line 3753 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10171 (yyvsp[0].interm).function = parseContext.handleFunctionDeclarator((yyvsp[0].interm).loc, *(yyvsp[0].interm).function, false /* not prototype */);
10172 (yyvsp[0].interm).intermNode = parseContext.handleFunctionDefinition((yyvsp[0].interm).loc, *(yyvsp[0].interm).function);
10174 #line 10175 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10178 #line 3757 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10180 // May be best done as post process phase on intermediate code
10181 if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue)
10182 parseContext.error((yyvsp[-2].interm).loc, "function does not return a value:", "", (yyvsp[-2].interm).function->getName().c_str());
10183 parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
10184 (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm).intermNode, (yyvsp[0].interm.intermNode));
10185 parseContext.intermediate.setAggregateOperator((yyval.interm.intermNode), EOpFunction, (yyvsp[-2].interm).function->getType(), (yyvsp[-2].interm).loc);
10186 (yyval.interm.intermNode)->getAsAggregate()->setName((yyvsp[-2].interm).function->getMangledName().c_str());
10188 // store the pragma information for debug and optimize and other vendor specific
10189 // information. This information can be queried from the parse tree
10190 (yyval.interm.intermNode)->getAsAggregate()->setOptimize(parseContext.contextPragma.optimize);
10191 (yyval.interm.intermNode)->getAsAggregate()->setDebug(parseContext.contextPragma.debug);
10192 (yyval.interm.intermNode)->getAsAggregate()->setPragmaTable(parseContext.contextPragma.pragmaTable);
10194 #line 10195 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10198 #line 3775 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10200 (yyval.interm.attributes) = (yyvsp[-2].interm.attributes);
10201 parseContext.requireExtensions((yyvsp[-4].lex).loc, 1, &E_GL_EXT_control_flow_attributes, "attribute");
10203 #line 10204 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10207 #line 3781 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10209 (yyval.interm.attributes) = (yyvsp[0].interm.attributes);
10211 #line 10212 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10215 #line 3784 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10217 (yyval.interm.attributes) = parseContext.mergeAttributes((yyvsp[-2].interm.attributes), (yyvsp[0].interm.attributes));
10219 #line 10220 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10223 #line 3789 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10225 (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[0].lex).string);
10227 #line 10228 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10231 #line 3792 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10233 (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[-3].lex).string, (yyvsp[-1].interm.intermTypedNode));
10235 #line 10236 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10239 #line 10240 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10242 /* User semantic actions sometimes alter yychar, and that requires
10243 that yytoken be updated with the new translation. We take the
10244 approach of translating immediately before every use of yytoken.
10245 One alternative is translating here after every semantic action,
10246 but that translation would be missed if the semantic action invokes
10247 YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
10248 if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
10249 incorrect destructor might then be invoked immediately. In the
10250 case of YYERROR or YYBACKUP, subsequent parser actions might lead
10251 to an incorrect destructor call or verbose syntax error message
10252 before the lookahead is translated. */
10253 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
10255 YYPOPSTACK (yylen);
10257 YY_STACK_PRINT (yyss, yyssp);
10261 /* Now 'shift' the result of the reduction. Determine what state
10262 that goes to, based on the state we popped back to and the rule
10263 number reduced by. */
10267 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
10268 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
10269 yystate = yytable[yystate];
10271 yystate = yydefgoto[yyn - YYNTOKENS];
10276 /*--------------------------------------.
10277 | yyerrlab -- here on detecting error. |
10278 `--------------------------------------*/
10280 /* Make sure we have latest lookahead translation. See comments at
10281 user semantic actions for why this is necessary. */
10282 yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
10284 /* If not already recovering from an error, report this error. */
10288 #if ! YYERROR_VERBOSE
10289 yyerror (pParseContext, YY_("syntax error"));
10291 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
10294 char const *yymsgp = YY_("syntax error");
10295 int yysyntax_error_status;
10296 yysyntax_error_status = YYSYNTAX_ERROR;
10297 if (yysyntax_error_status == 0)
10299 else if (yysyntax_error_status == 1)
10301 if (yymsg != yymsgbuf)
10302 YYSTACK_FREE (yymsg);
10303 yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
10307 yymsg_alloc = sizeof yymsgbuf;
10308 yysyntax_error_status = 2;
10312 yysyntax_error_status = YYSYNTAX_ERROR;
10316 yyerror (pParseContext, yymsgp);
10317 if (yysyntax_error_status == 2)
10318 goto yyexhaustedlab;
10320 # undef YYSYNTAX_ERROR
10326 if (yyerrstatus == 3)
10328 /* If just tried and failed to reuse lookahead token after an
10329 error, discard it. */
10331 if (yychar <= YYEOF)
10333 /* Return failure if at end of input. */
10334 if (yychar == YYEOF)
10339 yydestruct ("Error: discarding",
10340 yytoken, &yylval, pParseContext);
10345 /* Else will try to reuse lookahead token after shifting the error
10350 /*---------------------------------------------------.
10351 | yyerrorlab -- error raised explicitly by YYERROR. |
10352 `---------------------------------------------------*/
10355 /* Pacify compilers like GCC when the user code never invokes
10356 YYERROR and the label yyerrorlab therefore never appears in user
10358 if (/*CONSTCOND*/ 0)
10361 /* Do not reclaim the symbols of the rule whose action triggered
10363 YYPOPSTACK (yylen);
10365 YY_STACK_PRINT (yyss, yyssp);
10370 /*-------------------------------------------------------------.
10371 | yyerrlab1 -- common code for both syntax error and YYERROR. |
10372 `-------------------------------------------------------------*/
10374 yyerrstatus = 3; /* Each real token shifted decrements this. */
10378 yyn = yypact[yystate];
10379 if (!yypact_value_is_default (yyn))
10382 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
10384 yyn = yytable[yyn];
10390 /* Pop the current state because it cannot handle the error token. */
10395 yydestruct ("Error: popping",
10396 yystos[yystate], yyvsp, pParseContext);
10399 YY_STACK_PRINT (yyss, yyssp);
10402 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
10404 YY_IGNORE_MAYBE_UNINITIALIZED_END
10407 /* Shift the error token. */
10408 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
10414 /*-------------------------------------.
10415 | yyacceptlab -- YYACCEPT comes here. |
10416 `-------------------------------------*/
10421 /*-----------------------------------.
10422 | yyabortlab -- YYABORT comes here. |
10423 `-----------------------------------*/
10428 #if !defined yyoverflow || YYERROR_VERBOSE
10429 /*-------------------------------------------------.
10430 | yyexhaustedlab -- memory exhaustion comes here. |
10431 `-------------------------------------------------*/
10433 yyerror (pParseContext, YY_("memory exhausted"));
10435 /* Fall through. */
10439 if (yychar != YYEMPTY)
10441 /* Make sure we have latest lookahead translation. See comments at
10442 user semantic actions for why this is necessary. */
10443 yytoken = YYTRANSLATE (yychar);
10444 yydestruct ("Cleanup: discarding lookahead",
10445 yytoken, &yylval, pParseContext);
10447 /* Do not reclaim the symbols of the rule whose action triggered
10448 this YYABORT or YYACCEPT. */
10449 YYPOPSTACK (yylen);
10450 YY_STACK_PRINT (yyss, yyssp);
10451 while (yyssp != yyss)
10453 yydestruct ("Cleanup: popping",
10454 yystos[*yyssp], yyvsp, pParseContext);
10459 YYSTACK_FREE (yyss);
10461 #if YYERROR_VERBOSE
10462 if (yymsg != yymsgbuf)
10463 YYSTACK_FREE (yymsg);
10467 #line 3796 "MachineIndependent/glslang.y" /* yacc.c:1906 */