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
217 DEVICECOHERENT = 349,
218 QUEUEFAMILYCOHERENT = 350,
219 WORKGROUPCOHERENT = 351,
220 SUBGROUPCOHERENT = 352,
250 EXPLICITINTERPAMD = 382,
252 PERPRIMITIVENV = 384,
307 SAMPLER1DSHADOW = 439,
308 SAMPLER2DSHADOW = 440,
309 SAMPLERCUBESHADOW = 441,
310 SAMPLER1DARRAY = 442,
311 SAMPLER2DARRAY = 443,
312 SAMPLER1DARRAYSHADOW = 444,
313 SAMPLER2DARRAYSHADOW = 445,
318 ISAMPLER1DARRAY = 450,
319 ISAMPLER2DARRAY = 451,
324 USAMPLER1DARRAY = 456,
325 USAMPLER2DARRAY = 457,
327 SAMPLER2DRECTSHADOW = 459,
328 ISAMPLER2DRECT = 460,
329 USAMPLER2DRECT = 461,
331 ISAMPLERBUFFER = 463,
332 USAMPLERBUFFER = 464,
333 SAMPLERCUBEARRAY = 465,
334 SAMPLERCUBEARRAYSHADOW = 466,
335 ISAMPLERCUBEARRAY = 467,
336 USAMPLERCUBEARRAY = 468,
340 SAMPLER2DMSARRAY = 472,
341 ISAMPLER2DMSARRAY = 473,
342 USAMPLER2DMSARRAY = 474,
343 SAMPLEREXTERNALOES = 475,
344 SAMPLEREXTERNAL2DY2YEXT = 476,
348 F16SAMPLER2DRECT = 480,
349 F16SAMPLERCUBE = 481,
350 F16SAMPLER1DARRAY = 482,
351 F16SAMPLER2DARRAY = 483,
352 F16SAMPLERCUBEARRAY = 484,
353 F16SAMPLERBUFFER = 485,
354 F16SAMPLER2DMS = 486,
355 F16SAMPLER2DMSARRAY = 487,
356 F16SAMPLER1DSHADOW = 488,
357 F16SAMPLER2DSHADOW = 489,
358 F16SAMPLER1DARRAYSHADOW = 490,
359 F16SAMPLER2DARRAYSHADOW = 491,
360 F16SAMPLER2DRECTSHADOW = 492,
361 F16SAMPLERCUBESHADOW = 493,
362 F16SAMPLERCUBEARRAYSHADOW = 494,
369 TEXTURE1DARRAY = 501,
370 TEXTURE2DARRAY = 502,
375 ITEXTURE1DARRAY = 507,
376 ITEXTURE2DARRAY = 508,
381 UTEXTURE1DARRAY = 513,
382 UTEXTURE2DARRAY = 514,
384 ITEXTURE2DRECT = 516,
385 UTEXTURE2DRECT = 517,
387 ITEXTUREBUFFER = 519,
388 UTEXTUREBUFFER = 520,
389 TEXTURECUBEARRAY = 521,
390 ITEXTURECUBEARRAY = 522,
391 UTEXTURECUBEARRAY = 523,
395 TEXTURE2DMSARRAY = 527,
396 ITEXTURE2DMSARRAY = 528,
397 UTEXTURE2DMSARRAY = 529,
401 F16TEXTURE2DRECT = 533,
402 F16TEXTURECUBE = 534,
403 F16TEXTURE1DARRAY = 535,
404 F16TEXTURE2DARRAY = 536,
405 F16TEXTURECUBEARRAY = 537,
406 F16TEXTUREBUFFER = 538,
407 F16TEXTURE2DMS = 539,
408 F16TEXTURE2DMSARRAY = 540,
410 SUBPASSINPUTMS = 542,
412 ISUBPASSINPUTMS = 544,
414 USUBPASSINPUTMS = 546,
415 F16SUBPASSINPUT = 547,
416 F16SUBPASSINPUTMS = 548,
441 IMAGECUBEARRAY = 573,
442 IIMAGECUBEARRAY = 574,
443 UIMAGECUBEARRAY = 575,
447 IMAGE2DMSARRAY = 579,
448 IIMAGE2DMSARRAY = 580,
449 UIMAGE2DMSARRAY = 581,
453 F16IMAGE2DRECT = 585,
455 F16IMAGE1DARRAY = 587,
456 F16IMAGE2DARRAY = 588,
457 F16IMAGECUBEARRAY = 589,
458 F16IMAGEBUFFER = 590,
460 F16IMAGE2DMSARRAY = 592,
467 DOUBLECONSTANT = 599,
469 UINT16CONSTANT = 601,
471 UINT32CONSTANT = 603,
475 UINT64CONSTANT = 607,
477 FLOAT16CONSTANT = 609,
525 HIGH_PRECISION = 657,
526 MEDIUM_PRECISION = 658,
536 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
540 #line 71 "MachineIndependent/glslang.y" /* yacc.c:355 */
543 glslang::TSourceLoc loc;
545 glslang::TString *string;
549 unsigned long long u64;
553 glslang::TSymbol* symbol;
556 glslang::TSourceLoc loc;
557 glslang::TOperator op;
559 TIntermNode* intermNode;
560 glslang::TIntermNodePair nodePair;
561 glslang::TIntermTyped* intermTypedNode;
562 glslang::TAttributes* attributes;
565 glslang::TPublicType type;
566 glslang::TFunction* function;
567 glslang::TParameter param;
568 glslang::TTypeLoc typeLine;
569 glslang::TTypeList* typeList;
570 glslang::TArraySizes* arraySizes;
571 glslang::TIdentifierList* identifierList;
573 glslang::TArraySizes* typeParameters;
576 #line 577 "MachineIndependent/glslang_tab.cpp" /* yacc.c:355 */
579 typedef union YYSTYPE YYSTYPE;
580 # define YYSTYPE_IS_TRIVIAL 1
581 # define YYSTYPE_IS_DECLARED 1
586 int yyparse (glslang::TParseContext* pParseContext);
588 #endif /* !YY_YY_MACHINEINDEPENDENT_GLSLANG_TAB_CPP_H_INCLUDED */
590 /* Copy the second part of user declarations. */
591 #line 107 "MachineIndependent/glslang.y" /* yacc.c:358 */
594 /* windows only pragma */
596 #pragma warning(disable : 4065)
597 #pragma warning(disable : 4127)
598 #pragma warning(disable : 4244)
601 #define parseContext (*pParseContext)
602 #define yyerror(context, msg) context->parserError(msg)
604 extern int yylex(YYSTYPE*, TParseContext&);
607 #line 608 "MachineIndependent/glslang_tab.cpp" /* yacc.c:358 */
614 typedef YYTYPE_UINT8 yytype_uint8;
616 typedef unsigned char yytype_uint8;
620 typedef YYTYPE_INT8 yytype_int8;
622 typedef signed char yytype_int8;
626 typedef YYTYPE_UINT16 yytype_uint16;
628 typedef unsigned short int yytype_uint16;
632 typedef YYTYPE_INT16 yytype_int16;
634 typedef short int yytype_int16;
638 # ifdef __SIZE_TYPE__
639 # define YYSIZE_T __SIZE_TYPE__
640 # elif defined size_t
641 # define YYSIZE_T size_t
642 # elif ! defined YYSIZE_T
643 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
644 # define YYSIZE_T size_t
646 # define YYSIZE_T unsigned int
650 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
653 # if defined YYENABLE_NLS && YYENABLE_NLS
655 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
656 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
660 # define YY_(Msgid) Msgid
665 # if (defined __GNUC__ \
666 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
667 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
668 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
670 # define YY_ATTRIBUTE(Spec) /* empty */
674 #ifndef YY_ATTRIBUTE_PURE
675 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
678 #ifndef YY_ATTRIBUTE_UNUSED
679 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
682 #if !defined _Noreturn \
683 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
684 # if defined _MSC_VER && 1200 <= _MSC_VER
685 # define _Noreturn __declspec (noreturn)
687 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
691 /* Suppress unused-variable warnings by "using" E. */
692 #if ! defined lint || defined __GNUC__
693 # define YYUSE(E) ((void) (E))
695 # define YYUSE(E) /* empty */
698 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
699 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
700 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
701 _Pragma ("GCC diagnostic push") \
702 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
703 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
704 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
705 _Pragma ("GCC diagnostic pop")
707 # define YY_INITIAL_VALUE(Value) Value
709 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
710 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
711 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
713 #ifndef YY_INITIAL_VALUE
714 # define YY_INITIAL_VALUE(Value) /* Nothing. */
718 #if ! defined yyoverflow || YYERROR_VERBOSE
720 /* The parser invokes alloca or malloc; define the necessary symbols. */
722 # ifdef YYSTACK_USE_ALLOCA
723 # if YYSTACK_USE_ALLOCA
725 # define YYSTACK_ALLOC __builtin_alloca
726 # elif defined __BUILTIN_VA_ARG_INCR
727 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
729 # define YYSTACK_ALLOC __alloca
730 # elif defined _MSC_VER
731 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
732 # define alloca _alloca
734 # define YYSTACK_ALLOC alloca
735 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
736 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
737 /* Use EXIT_SUCCESS as a witness for stdlib.h. */
738 # ifndef EXIT_SUCCESS
739 # define EXIT_SUCCESS 0
746 # ifdef YYSTACK_ALLOC
747 /* Pacify GCC's 'empty if-body' warning. */
748 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
749 # ifndef YYSTACK_ALLOC_MAXIMUM
750 /* The OS might guarantee only one guard page at the bottom of the stack,
751 and a page size can be as small as 4096 bytes. So we cannot safely
752 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
753 to allow for a few compiler-allocated temporary stack slots. */
754 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
757 # define YYSTACK_ALLOC YYMALLOC
758 # define YYSTACK_FREE YYFREE
759 # ifndef YYSTACK_ALLOC_MAXIMUM
760 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
762 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
763 && ! ((defined YYMALLOC || defined malloc) \
764 && (defined YYFREE || defined free)))
765 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
766 # ifndef EXIT_SUCCESS
767 # define EXIT_SUCCESS 0
771 # define YYMALLOC malloc
772 # if ! defined malloc && ! defined EXIT_SUCCESS
773 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
778 # if ! defined free && ! defined EXIT_SUCCESS
779 void free (void *); /* INFRINGES ON USER NAME SPACE */
783 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
786 #if (! defined yyoverflow \
787 && (! defined __cplusplus \
788 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
790 /* A type that is properly aligned for any stack member. */
793 yytype_int16 yyss_alloc;
797 /* The size of the maximum gap between one aligned stack and the next. */
798 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
800 /* The size of an array large to enough to hold all stacks, each with
802 # define YYSTACK_BYTES(N) \
803 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
804 + YYSTACK_GAP_MAXIMUM)
806 # define YYCOPY_NEEDED 1
808 /* Relocate STACK from its old location to the new one. The
809 local variables YYSIZE and YYSTACKSIZE give the old and new number of
810 elements in the stack, and YYPTR gives the new location of the
811 stack. Advance YYPTR to a properly aligned location for the next
813 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
816 YYSIZE_T yynewbytes; \
817 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
818 Stack = &yyptr->Stack_alloc; \
819 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
820 yyptr += yynewbytes / sizeof (*yyptr); \
826 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
827 /* Copy COUNT objects from SRC to DST. The source and destination do
830 # if defined __GNUC__ && 1 < __GNUC__
831 # define YYCOPY(Dst, Src, Count) \
832 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
834 # define YYCOPY(Dst, Src, Count) \
838 for (yyi = 0; yyi < (Count); yyi++) \
839 (Dst)[yyi] = (Src)[yyi]; \
844 #endif /* !YYCOPY_NEEDED */
846 /* YYFINAL -- State number of the termination state. */
848 /* YYLAST -- Last index in YYTABLE. */
851 /* YYNTOKENS -- Number of terminals. */
852 #define YYNTOKENS 409
853 /* YYNNTS -- Number of nonterminals. */
855 /* YYNRULES -- Number of rules. */
857 /* YYNSTATES -- Number of states. */
858 #define YYNSTATES 725
860 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
861 by yylex, with out-of-bounds checking. */
863 #define YYMAXUTOK 663
865 #define YYTRANSLATE(YYX) \
866 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
868 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
869 as returned by yylex, without out-of-bounds checking. */
870 static const yytype_uint16 yytranslate[] =
872 0, 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, 2, 2, 2, 2,
897 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
898 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
899 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
900 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
901 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
902 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
903 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
904 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
905 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
906 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
907 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
908 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
909 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
910 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
911 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
912 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
913 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
914 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
915 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
916 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
917 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
918 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
919 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
920 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
921 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
922 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
923 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
924 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
925 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
926 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
927 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
928 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
929 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
930 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
931 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
932 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
933 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
934 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
935 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
936 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
937 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
942 /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
943 static const yytype_uint16 yyrline[] =
945 0, 302, 302, 308, 311, 315, 319, 322, 326, 330,
946 334, 338, 342, 345, 349, 353, 356, 364, 367, 370,
947 373, 376, 381, 389, 396, 403, 409, 413, 420, 423,
948 429, 436, 446, 454, 459, 486, 494, 500, 504, 508,
949 528, 529, 530, 531, 537, 538, 543, 548, 557, 558,
950 563, 571, 572, 578, 587, 588, 593, 598, 603, 611,
951 612, 621, 633, 634, 643, 644, 653, 654, 663, 664,
952 672, 673, 681, 682, 690, 691, 691, 709, 710, 726,
953 730, 734, 738, 743, 747, 751, 755, 759, 763, 767,
954 774, 777, 788, 795, 800, 805, 813, 817, 821, 825,
955 830, 835, 844, 844, 855, 859, 866, 873, 876, 883,
956 891, 911, 934, 949, 974, 985, 995, 1005, 1015, 1024,
957 1027, 1031, 1035, 1040, 1048, 1053, 1058, 1063, 1068, 1077,
958 1088, 1115, 1124, 1131, 1138, 1149, 1158, 1168, 1180, 1189,
959 1201, 1207, 1210, 1217, 1221, 1225, 1233, 1242, 1245, 1256,
960 1259, 1262, 1266, 1270, 1274, 1278, 1284, 1288, 1300, 1314,
961 1319, 1325, 1331, 1338, 1344, 1349, 1354, 1359, 1369, 1379,
962 1389, 1399, 1408, 1420, 1424, 1429, 1434, 1439, 1444, 1449,
963 1453, 1457, 1461, 1465, 1471, 1480, 1487, 1490, 1498, 1503,
964 1513, 1518, 1526, 1530, 1540, 1543, 1549, 1555, 1562, 1572,
965 1576, 1580, 1585, 1590, 1595, 1600, 1604, 1609, 1614, 1619,
966 1624, 1629, 1634, 1639, 1644, 1649, 1653, 1658, 1663, 1668,
967 1674, 1680, 1686, 1692, 1698, 1704, 1710, 1716, 1722, 1728,
968 1734, 1740, 1745, 1750, 1755, 1760, 1765, 1770, 1776, 1782,
969 1788, 1794, 1800, 1806, 1812, 1818, 1824, 1830, 1836, 1842,
970 1848, 1854, 1860, 1866, 1872, 1878, 1884, 1890, 1896, 1902,
971 1908, 1914, 1920, 1926, 1932, 1937, 1942, 1947, 1952, 1957,
972 1962, 1967, 1972, 1977, 1982, 1987, 1992, 1998, 2004, 2010,
973 2016, 2022, 2028, 2034, 2040, 2046, 2052, 2058, 2064, 2070,
974 2076, 2082, 2088, 2094, 2100, 2106, 2112, 2118, 2124, 2130,
975 2136, 2142, 2148, 2154, 2160, 2166, 2172, 2178, 2184, 2190,
976 2196, 2202, 2208, 2214, 2220, 2226, 2232, 2238, 2244, 2250,
977 2256, 2262, 2268, 2274, 2280, 2286, 2291, 2296, 2301, 2306,
978 2311, 2316, 2321, 2326, 2331, 2336, 2341, 2346, 2351, 2356,
979 2364, 2372, 2380, 2388, 2396, 2404, 2412, 2420, 2428, 2436,
980 2444, 2452, 2460, 2465, 2470, 2475, 2480, 2485, 2490, 2495,
981 2500, 2505, 2510, 2515, 2520, 2525, 2530, 2535, 2540, 2548,
982 2556, 2561, 2566, 2571, 2579, 2584, 2589, 2594, 2602, 2607,
983 2612, 2617, 2625, 2630, 2635, 2640, 2645, 2650, 2658, 2663,
984 2671, 2676, 2684, 2689, 2697, 2702, 2710, 2715, 2723, 2728,
985 2736, 2741, 2746, 2751, 2756, 2761, 2766, 2771, 2776, 2781,
986 2786, 2791, 2796, 2801, 2806, 2811, 2819, 2824, 2829, 2834,
987 2842, 2847, 2852, 2857, 2865, 2870, 2875, 2880, 2888, 2893,
988 2898, 2903, 2911, 2916, 2921, 2926, 2934, 2939, 2944, 2949,
989 2957, 2962, 2967, 2972, 2980, 2985, 2990, 2995, 3003, 3008,
990 3013, 3018, 3026, 3031, 3036, 3041, 3049, 3054, 3059, 3064,
991 3072, 3077, 3082, 3087, 3095, 3100, 3105, 3110, 3118, 3123,
992 3128, 3133, 3141, 3146, 3151, 3157, 3163, 3169, 3175, 3184,
993 3193, 3199, 3205, 3211, 3217, 3223, 3228, 3244, 3249, 3254,
994 3262, 3262, 3273, 3273, 3283, 3286, 3299, 3321, 3348, 3352,
995 3358, 3363, 3374, 3377, 3383, 3392, 3395, 3401, 3405, 3406,
996 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3423, 3431,
997 3432, 3436, 3432, 3448, 3449, 3453, 3453, 3460, 3460, 3474,
998 3477, 3485, 3493, 3504, 3505, 3509, 3512, 3518, 3525, 3529,
999 3537, 3541, 3554, 3557, 3563, 3563, 3583, 3586, 3592, 3604,
1000 3616, 3619, 3625, 3625, 3640, 3640, 3656, 3656, 3677, 3680,
1001 3686, 3689, 3695, 3699, 3706, 3711, 3716, 3723, 3726, 3735,
1002 3739, 3748, 3751, 3754, 3762, 3762, 3784, 3790, 3793, 3798,
1007 #if YYDEBUG || YYERROR_VERBOSE || 1
1008 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1009 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1010 static const char *const yytname[] =
1012 "$end", "error", "$undefined", "ATTRIBUTE", "VARYING", "FLOAT16_T",
1013 "FLOAT", "FLOAT32_T", "DOUBLE", "FLOAT64_T", "CONST", "BOOL", "INT",
1014 "UINT", "INT64_T", "UINT64_T", "INT32_T", "UINT32_T", "INT16_T",
1015 "UINT16_T", "INT8_T", "UINT8_T", "BREAK", "CONTINUE", "DO", "ELSE",
1016 "FOR", "IF", "DISCARD", "RETURN", "SWITCH", "CASE", "DEFAULT",
1017 "SUBROUTINE", "DEMOTE", "BVEC2", "BVEC3", "BVEC4", "IVEC2", "IVEC3",
1018 "IVEC4", "UVEC2", "UVEC3", "UVEC4", "I64VEC2", "I64VEC3", "I64VEC4",
1019 "U64VEC2", "U64VEC3", "U64VEC4", "I32VEC2", "I32VEC3", "I32VEC4",
1020 "U32VEC2", "U32VEC3", "U32VEC4", "I16VEC2", "I16VEC3", "I16VEC4",
1021 "U16VEC2", "U16VEC3", "U16VEC4", "I8VEC2", "I8VEC3", "I8VEC4", "U8VEC2",
1022 "U8VEC3", "U8VEC4", "VEC2", "VEC3", "VEC4", "MAT2", "MAT3", "MAT4",
1023 "CENTROID", "IN", "OUT", "INOUT", "UNIFORM", "PATCH", "SAMPLE", "BUFFER",
1024 "SHARED", "NONUNIFORM", "PAYLOADNV", "PAYLOADINNV", "HITATTRNV",
1025 "CALLDATANV", "CALLDATAINNV", "COHERENT", "VOLATILE", "RESTRICT",
1026 "READONLY", "WRITEONLY", "DEVICECOHERENT", "QUEUEFAMILYCOHERENT",
1027 "WORKGROUPCOHERENT", "SUBGROUPCOHERENT", "NONPRIVATE", "DVEC2", "DVEC3",
1028 "DVEC4", "DMAT2", "DMAT3", "DMAT4", "F16VEC2", "F16VEC3", "F16VEC4",
1029 "F16MAT2", "F16MAT3", "F16MAT4", "F32VEC2", "F32VEC3", "F32VEC4",
1030 "F32MAT2", "F32MAT3", "F32MAT4", "F64VEC2", "F64VEC3", "F64VEC4",
1031 "F64MAT2", "F64MAT3", "F64MAT4", "NOPERSPECTIVE", "FLAT", "SMOOTH",
1032 "LAYOUT", "EXPLICITINTERPAMD", "PERVERTEXNV", "PERPRIMITIVENV",
1033 "PERVIEWNV", "PERTASKNV", "MAT2X2", "MAT2X3", "MAT2X4", "MAT3X2",
1034 "MAT3X3", "MAT3X4", "MAT4X2", "MAT4X3", "MAT4X4", "DMAT2X2", "DMAT2X3",
1035 "DMAT2X4", "DMAT3X2", "DMAT3X3", "DMAT3X4", "DMAT4X2", "DMAT4X3",
1036 "DMAT4X4", "F16MAT2X2", "F16MAT2X3", "F16MAT2X4", "F16MAT3X2",
1037 "F16MAT3X3", "F16MAT3X4", "F16MAT4X2", "F16MAT4X3", "F16MAT4X4",
1038 "F32MAT2X2", "F32MAT2X3", "F32MAT2X4", "F32MAT3X2", "F32MAT3X3",
1039 "F32MAT3X4", "F32MAT4X2", "F32MAT4X3", "F32MAT4X4", "F64MAT2X2",
1040 "F64MAT2X3", "F64MAT2X4", "F64MAT3X2", "F64MAT3X3", "F64MAT3X4",
1041 "F64MAT4X2", "F64MAT4X3", "F64MAT4X4", "ATOMIC_UINT", "ACCSTRUCTNV",
1042 "FCOOPMATNV", "SAMPLER1D", "SAMPLER2D", "SAMPLER3D", "SAMPLERCUBE",
1043 "SAMPLER1DSHADOW", "SAMPLER2DSHADOW", "SAMPLERCUBESHADOW",
1044 "SAMPLER1DARRAY", "SAMPLER2DARRAY", "SAMPLER1DARRAYSHADOW",
1045 "SAMPLER2DARRAYSHADOW", "ISAMPLER1D", "ISAMPLER2D", "ISAMPLER3D",
1046 "ISAMPLERCUBE", "ISAMPLER1DARRAY", "ISAMPLER2DARRAY", "USAMPLER1D",
1047 "USAMPLER2D", "USAMPLER3D", "USAMPLERCUBE", "USAMPLER1DARRAY",
1048 "USAMPLER2DARRAY", "SAMPLER2DRECT", "SAMPLER2DRECTSHADOW",
1049 "ISAMPLER2DRECT", "USAMPLER2DRECT", "SAMPLERBUFFER", "ISAMPLERBUFFER",
1050 "USAMPLERBUFFER", "SAMPLERCUBEARRAY", "SAMPLERCUBEARRAYSHADOW",
1051 "ISAMPLERCUBEARRAY", "USAMPLERCUBEARRAY", "SAMPLER2DMS", "ISAMPLER2DMS",
1052 "USAMPLER2DMS", "SAMPLER2DMSARRAY", "ISAMPLER2DMSARRAY",
1053 "USAMPLER2DMSARRAY", "SAMPLEREXTERNALOES", "SAMPLEREXTERNAL2DY2YEXT",
1054 "F16SAMPLER1D", "F16SAMPLER2D", "F16SAMPLER3D", "F16SAMPLER2DRECT",
1055 "F16SAMPLERCUBE", "F16SAMPLER1DARRAY", "F16SAMPLER2DARRAY",
1056 "F16SAMPLERCUBEARRAY", "F16SAMPLERBUFFER", "F16SAMPLER2DMS",
1057 "F16SAMPLER2DMSARRAY", "F16SAMPLER1DSHADOW", "F16SAMPLER2DSHADOW",
1058 "F16SAMPLER1DARRAYSHADOW", "F16SAMPLER2DARRAYSHADOW",
1059 "F16SAMPLER2DRECTSHADOW", "F16SAMPLERCUBESHADOW",
1060 "F16SAMPLERCUBEARRAYSHADOW", "SAMPLER", "SAMPLERSHADOW", "TEXTURE1D",
1061 "TEXTURE2D", "TEXTURE3D", "TEXTURECUBE", "TEXTURE1DARRAY",
1062 "TEXTURE2DARRAY", "ITEXTURE1D", "ITEXTURE2D", "ITEXTURE3D",
1063 "ITEXTURECUBE", "ITEXTURE1DARRAY", "ITEXTURE2DARRAY", "UTEXTURE1D",
1064 "UTEXTURE2D", "UTEXTURE3D", "UTEXTURECUBE", "UTEXTURE1DARRAY",
1065 "UTEXTURE2DARRAY", "TEXTURE2DRECT", "ITEXTURE2DRECT", "UTEXTURE2DRECT",
1066 "TEXTUREBUFFER", "ITEXTUREBUFFER", "UTEXTUREBUFFER", "TEXTURECUBEARRAY",
1067 "ITEXTURECUBEARRAY", "UTEXTURECUBEARRAY", "TEXTURE2DMS", "ITEXTURE2DMS",
1068 "UTEXTURE2DMS", "TEXTURE2DMSARRAY", "ITEXTURE2DMSARRAY",
1069 "UTEXTURE2DMSARRAY", "F16TEXTURE1D", "F16TEXTURE2D", "F16TEXTURE3D",
1070 "F16TEXTURE2DRECT", "F16TEXTURECUBE", "F16TEXTURE1DARRAY",
1071 "F16TEXTURE2DARRAY", "F16TEXTURECUBEARRAY", "F16TEXTUREBUFFER",
1072 "F16TEXTURE2DMS", "F16TEXTURE2DMSARRAY", "SUBPASSINPUT",
1073 "SUBPASSINPUTMS", "ISUBPASSINPUT", "ISUBPASSINPUTMS", "USUBPASSINPUT",
1074 "USUBPASSINPUTMS", "F16SUBPASSINPUT", "F16SUBPASSINPUTMS", "IMAGE1D",
1075 "IIMAGE1D", "UIMAGE1D", "IMAGE2D", "IIMAGE2D", "UIMAGE2D", "IMAGE3D",
1076 "IIMAGE3D", "UIMAGE3D", "IMAGE2DRECT", "IIMAGE2DRECT", "UIMAGE2DRECT",
1077 "IMAGECUBE", "IIMAGECUBE", "UIMAGECUBE", "IMAGEBUFFER", "IIMAGEBUFFER",
1078 "UIMAGEBUFFER", "IMAGE1DARRAY", "IIMAGE1DARRAY", "UIMAGE1DARRAY",
1079 "IMAGE2DARRAY", "IIMAGE2DARRAY", "UIMAGE2DARRAY", "IMAGECUBEARRAY",
1080 "IIMAGECUBEARRAY", "UIMAGECUBEARRAY", "IMAGE2DMS", "IIMAGE2DMS",
1081 "UIMAGE2DMS", "IMAGE2DMSARRAY", "IIMAGE2DMSARRAY", "UIMAGE2DMSARRAY",
1082 "F16IMAGE1D", "F16IMAGE2D", "F16IMAGE3D", "F16IMAGE2DRECT",
1083 "F16IMAGECUBE", "F16IMAGE1DARRAY", "F16IMAGE2DARRAY",
1084 "F16IMAGECUBEARRAY", "F16IMAGEBUFFER", "F16IMAGE2DMS",
1085 "F16IMAGE2DMSARRAY", "STRUCT", "VOID", "WHILE", "IDENTIFIER",
1086 "TYPE_NAME", "FLOATCONSTANT", "DOUBLECONSTANT", "INT16CONSTANT",
1087 "UINT16CONSTANT", "INT32CONSTANT", "UINT32CONSTANT", "INTCONSTANT",
1088 "UINTCONSTANT", "INT64CONSTANT", "UINT64CONSTANT", "BOOLCONSTANT",
1089 "FLOAT16CONSTANT", "LEFT_OP", "RIGHT_OP", "INC_OP", "DEC_OP", "LE_OP",
1090 "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP", "XOR_OP", "MUL_ASSIGN",
1091 "DIV_ASSIGN", "ADD_ASSIGN", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN",
1092 "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", "SUB_ASSIGN", "LEFT_PAREN",
1093 "RIGHT_PAREN", "LEFT_BRACKET", "RIGHT_BRACKET", "LEFT_BRACE",
1094 "RIGHT_BRACE", "DOT", "COMMA", "COLON", "EQUAL", "SEMICOLON", "BANG",
1095 "DASH", "TILDE", "PLUS", "STAR", "SLASH", "PERCENT", "LEFT_ANGLE",
1096 "RIGHT_ANGLE", "VERTICAL_BAR", "CARET", "AMPERSAND", "QUESTION",
1097 "INVARIANT", "PRECISE", "HIGH_PRECISION", "MEDIUM_PRECISION",
1098 "LOW_PRECISION", "PRECISION", "PACKED", "RESOURCE", "SUPERP", "$accept",
1099 "variable_identifier", "primary_expression", "postfix_expression",
1100 "integer_expression", "function_call", "function_call_or_method",
1101 "function_call_generic", "function_call_header_no_parameters",
1102 "function_call_header_with_parameters", "function_call_header",
1103 "function_identifier", "unary_expression", "unary_operator",
1104 "multiplicative_expression", "additive_expression", "shift_expression",
1105 "relational_expression", "equality_expression", "and_expression",
1106 "exclusive_or_expression", "inclusive_or_expression",
1107 "logical_and_expression", "logical_xor_expression",
1108 "logical_or_expression", "conditional_expression", "$@1",
1109 "assignment_expression", "assignment_operator", "expression",
1110 "constant_expression", "declaration", "block_structure", "$@2",
1111 "identifier_list", "function_prototype", "function_declarator",
1112 "function_header_with_parameters", "function_header",
1113 "parameter_declarator", "parameter_declaration",
1114 "parameter_type_specifier", "init_declarator_list", "single_declaration",
1115 "fully_specified_type", "invariant_qualifier", "interpolation_qualifier",
1116 "layout_qualifier", "layout_qualifier_id_list", "layout_qualifier_id",
1117 "precise_qualifier", "type_qualifier", "single_type_qualifier",
1118 "storage_qualifier", "non_uniform_qualifier", "type_name_list",
1119 "type_specifier", "array_specifier", "type_parameter_specifier_opt",
1120 "type_parameter_specifier", "type_parameter_specifier_list",
1121 "type_specifier_nonarray", "precision_qualifier", "struct_specifier",
1122 "$@3", "$@4", "struct_declaration_list", "struct_declaration",
1123 "struct_declarator_list", "struct_declarator", "initializer",
1124 "initializer_list", "declaration_statement", "statement",
1125 "simple_statement", "demote_statement", "compound_statement", "$@5",
1126 "$@6", "statement_no_new_scope", "statement_scoped", "$@7", "$@8",
1127 "compound_statement_no_new_scope", "statement_list",
1128 "expression_statement", "selection_statement",
1129 "selection_statement_nonattributed", "selection_rest_statement",
1130 "condition", "switch_statement", "switch_statement_nonattributed", "$@9",
1131 "switch_statement_list", "case_label", "iteration_statement",
1132 "iteration_statement_nonattributed", "$@10", "$@11", "$@12",
1133 "for_init_statement", "conditionopt", "for_rest_statement",
1134 "jump_statement", "translation_unit", "external_declaration",
1135 "function_definition", "$@13", "attribute", "attribute_list",
1136 "single_attribute", YY_NULLPTR
1141 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1142 (internal) symbol number NUM (which must be that of a token). */
1143 static const yytype_uint16 yytoknum[] =
1145 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1146 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1147 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1148 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1149 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1150 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1151 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1152 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1153 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1154 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1155 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1156 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1157 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1158 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1159 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1160 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1161 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1162 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1163 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1164 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
1165 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1166 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
1167 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
1168 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
1169 495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
1170 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
1171 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
1172 525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
1173 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
1174 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
1175 555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
1176 565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
1177 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
1178 585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
1179 595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
1180 605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
1181 615, 616, 617, 618, 619, 620, 621, 622, 623, 624,
1182 625, 626, 627, 628, 629, 630, 631, 632, 633, 634,
1183 635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
1184 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
1185 655, 656, 657, 658, 659, 660, 661, 662, 663
1189 #define YYPACT_NINF -657
1191 #define yypact_value_is_default(Yystate) \
1192 (!!((Yystate) == (-657)))
1194 #define YYTABLE_NINF -526
1196 #define yytable_value_is_error(Yytable_value) \
1199 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1201 static const yytype_int16 yypact[] =
1203 3545, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1204 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1205 -328, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1206 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1207 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1208 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1209 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1210 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1211 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1212 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1213 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1214 -657, -657, -307, -657, -657, -657, -657, -657, -657, -657,
1215 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1216 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1217 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1218 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1219 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1220 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1221 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1222 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1223 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1224 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1225 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1226 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1227 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1228 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1229 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1230 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1231 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1232 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1233 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1234 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1235 -657, -657, -657, -657, -318, -657, -657, -657, -657, -657,
1236 -657, -657, -657, -259, -657, -320, -286, -236, -251, 5958,
1237 -299, -657, -191, -657, -657, -657, -657, 4350, -657, -657,
1238 -657, -657, -228, -657, -657, 724, -657, -657, -176, -72,
1239 -212, -657, 9030, -352, -657, -657, -211, -657, 5958, -657,
1240 -657, -657, 5958, -171, -169, -657, -324, -285, -657, -657,
1241 -657, 8258, -205, -657, -657, -657, -657, -281, -657, -210,
1242 -280, -657, -657, 5958, -208, 6714, -657, -345, 1127, -657,
1243 -657, -657, -657, -205, -325, -657, 7100, -322, -657, -167,
1244 -657, -271, -657, -657, -657, -657, -657, -657, -657, -657,
1245 -657, -657, -657, -657, -657, 8258, 8258, 8258, -657, -657,
1246 -657, -657, -657, -657, -327, -657, -657, -657, -198, -278,
1247 8644, -196, -657, 8258, -657, -657, -355, -197, -657, -159,
1248 8258, -657, -72, 5958, 5958, -158, 4752, -657, -657, -657,
1249 -657, -245, -305, -291, -323, -209, -214, -207, -204, -178,
1250 -177, -340, -192, 7486, -657, -193, -190, -657, -187, -182,
1251 -189, 7872, -181, 8258, -186, -185, -174, -179, -172, -657,
1252 -657, -293, -657, -657, -253, -657, -286, -165, -164, -657,
1253 -657, -657, -657, -657, 1530, -657, -657, -657, -657, -657,
1254 -657, -657, -657, -657, -19, -197, 7100, -292, 7100, -657,
1255 -657, 7100, 5958, -657, -141, -657, -657, -657, -273, -657,
1256 -657, 8258, -137, -657, -657, 8258, -163, -657, -657, -657,
1257 8258, -657, -657, -657, -657, -657, 5154, -158, -205, -252,
1258 -657, -657, -657, 8258, 8258, 8258, 8258, 8258, 8258, 8258,
1259 8258, 8258, 8258, 8258, 8258, 8258, 8258, 8258, 8258, 8258,
1260 8258, 8258, -657, -657, -657, -166, -657, -657, 1933, -657,
1261 8258, -657, -657, -246, 8258, -229, -657, -657, -657, -136,
1262 -657, 1933, -657, -657, -657, -657, -657, -657, -657, -657,
1263 -657, -657, -657, 8258, 8258, -657, -657, -657, -657, -657,
1264 -657, -657, 7100, -657, -232, -657, 5556, -657, -657, -142,
1265 -145, -657, -657, -657, -657, -244, -197, -158, -657, -657,
1266 -657, -657, -245, -245, -305, -305, -291, -291, -291, -291,
1267 -323, -323, -209, -214, -207, -204, -178, -177, 8258, -657,
1268 -101, 3142, -269, -657, -261, -657, 3948, -135, -344, -657,
1269 1933, -657, -657, -657, -657, 6328, -657, -657, -657, -657,
1270 -227, -134, -657, -657, 3948, -140, -657, -145, -97, 5958,
1271 -132, 8258, -133, -136, -131, -657, -657, 8258, 8258, -657,
1272 -139, -129, 224, -128, 2739, -657, -127, -130, 2336, -126,
1273 -657, -657, -657, -657, -254, 8258, 2336, -140, -657, -657,
1274 1933, 7100, -657, -657, -657, -657, -124, -145, -657, -657,
1275 1933, -125, -657, -657, -657
1278 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1279 Performed when YYTABLE does not specify something else to do. Zero
1280 means the default is an error. */
1281 static const yytype_uint16 yydefact[] =
1283 0, 157, 158, 202, 200, 203, 201, 204, 156, 215,
1284 205, 206, 213, 214, 211, 212, 209, 210, 207, 208,
1285 183, 231, 232, 233, 234, 235, 236, 249, 250, 251,
1286 246, 247, 248, 261, 262, 263, 243, 244, 245, 258,
1287 259, 260, 240, 241, 242, 255, 256, 257, 237, 238,
1288 239, 252, 253, 254, 216, 217, 218, 264, 265, 266,
1289 162, 160, 161, 159, 165, 163, 164, 166, 172, 185,
1290 168, 169, 167, 170, 171, 173, 179, 180, 181, 182,
1291 174, 175, 176, 177, 178, 219, 220, 221, 276, 277,
1292 278, 222, 223, 224, 288, 289, 290, 225, 226, 227,
1293 300, 301, 302, 228, 229, 230, 312, 313, 314, 134,
1294 133, 132, 0, 135, 136, 137, 138, 139, 267, 268,
1295 269, 270, 271, 272, 273, 274, 275, 279, 280, 281,
1296 282, 283, 284, 285, 286, 287, 291, 292, 293, 294,
1297 295, 296, 297, 298, 299, 303, 304, 305, 306, 307,
1298 308, 309, 310, 311, 315, 316, 317, 318, 319, 320,
1299 321, 322, 323, 325, 324, 484, 326, 327, 328, 329,
1300 330, 331, 332, 333, 334, 335, 336, 352, 353, 354,
1301 355, 356, 357, 359, 360, 361, 362, 363, 364, 366,
1302 367, 370, 371, 372, 374, 375, 337, 338, 358, 365,
1303 376, 378, 379, 380, 382, 383, 474, 475, 339, 340,
1304 341, 368, 342, 346, 347, 350, 373, 377, 381, 343,
1305 344, 348, 349, 369, 345, 351, 384, 385, 386, 388,
1306 390, 392, 394, 396, 400, 401, 402, 403, 404, 405,
1307 407, 408, 409, 410, 411, 412, 414, 416, 417, 418,
1308 420, 421, 398, 406, 413, 422, 424, 425, 426, 428,
1309 429, 387, 389, 391, 415, 393, 395, 397, 399, 419,
1310 423, 427, 476, 477, 480, 481, 482, 483, 478, 479,
1311 430, 432, 433, 434, 436, 437, 438, 440, 441, 442,
1312 444, 445, 446, 448, 449, 450, 452, 453, 454, 456,
1313 457, 458, 460, 461, 462, 464, 465, 466, 468, 469,
1314 470, 472, 473, 431, 435, 439, 443, 447, 455, 459,
1315 463, 451, 467, 471, 0, 199, 486, 573, 131, 146,
1316 487, 488, 489, 0, 572, 0, 574, 0, 108, 107,
1317 0, 119, 124, 153, 152, 150, 154, 0, 147, 149,
1318 155, 129, 195, 151, 485, 0, 569, 571, 0, 0,
1319 0, 492, 0, 0, 96, 93, 0, 106, 0, 115,
1320 109, 117, 0, 118, 0, 94, 125, 0, 99, 148,
1321 130, 0, 188, 194, 1, 570, 186, 0, 145, 143,
1322 0, 141, 490, 0, 0, 0, 97, 0, 0, 575,
1323 110, 114, 116, 112, 120, 111, 0, 126, 102, 0,
1324 100, 0, 2, 12, 13, 10, 11, 4, 5, 6,
1325 7, 8, 9, 15, 14, 0, 0, 0, 42, 41,
1326 43, 40, 3, 17, 36, 19, 24, 25, 0, 0,
1327 29, 0, 197, 0, 35, 33, 0, 189, 184, 0,
1328 0, 140, 0, 0, 0, 0, 0, 494, 95, 190,
1329 44, 48, 51, 54, 59, 62, 64, 66, 68, 70,
1330 72, 74, 0, 0, 98, 0, 0, 554, 0, 0,
1331 0, 0, 0, 0, 0, 0, 0, 0, 520, 529,
1332 533, 44, 77, 90, 0, 507, 0, 155, 129, 510,
1333 531, 509, 517, 508, 0, 511, 512, 535, 513, 542,
1334 514, 515, 550, 516, 0, 113, 0, 121, 0, 502,
1335 128, 0, 0, 104, 0, 101, 37, 38, 0, 21,
1336 22, 0, 0, 27, 26, 0, 199, 30, 32, 39,
1337 0, 196, 187, 92, 144, 142, 0, 0, 500, 0,
1338 498, 493, 495, 0, 0, 0, 0, 0, 0, 0,
1339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1340 0, 0, 75, 191, 192, 0, 565, 564, 0, 556,
1341 0, 568, 566, 0, 0, 0, 549, 518, 552, 0,
1342 519, 0, 80, 81, 83, 82, 85, 86, 87, 88,
1343 89, 84, 79, 0, 0, 534, 530, 532, 536, 543,
1344 551, 123, 0, 505, 0, 127, 0, 105, 16, 0,
1345 23, 20, 31, 198, 491, 0, 501, 0, 496, 45,
1346 46, 47, 50, 49, 52, 53, 57, 58, 55, 56,
1347 60, 61, 63, 65, 67, 69, 71, 73, 0, 193,
1348 0, 0, 0, 567, 0, 548, 0, 579, 0, 577,
1349 521, 78, 91, 122, 503, 0, 103, 18, 497, 499,
1350 0, 0, 559, 558, 561, 527, 544, 540, 0, 0,
1351 0, 0, 0, 0, 0, 504, 506, 0, 0, 560,
1352 0, 0, 539, 0, 0, 537, 0, 0, 0, 0,
1353 576, 578, 522, 76, 0, 562, 0, 527, 526, 528,
1354 546, 0, 524, 553, 523, 580, 0, 563, 557, 538,
1355 547, 0, 541, 555, 545
1358 /* YYPGOTO[NTERM-NUM]. */
1359 static const yytype_int16 yypgoto[] =
1361 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1362 -657, -657, -337, -657, -398, -395, -435, -404, -312, -310,
1363 -309, -311, -306, -308, -657, -383, -657, -397, -657, -413,
1364 -421, 1, -657, -657, -657, 2, -657, -657, -657, -107,
1365 -102, -105, -657, -657, -629, -657, -657, -657, -657, -180,
1366 -657, -336, -343, -657, 6, -657, 0, -357, -657, -657,
1367 -657, -657, -63, -657, -657, -657, -431, -439, -276, -354,
1368 -503, -657, -377, -484, -656, -657, -417, -657, -657, -429,
1369 -428, -657, -657, -88, -575, -370, -657, -231, -657, -392,
1370 -657, -230, -657, -657, -657, -657, -226, -657, -657, -657,
1371 -657, -657, -657, -657, -657, -70, -657, -657, -657, -657,
1375 /* YYDEFGOTO[NTERM-NUM]. */
1376 static const yytype_int16 yydefgoto[] =
1378 -1, 432, 433, 434, 619, 435, 436, 437, 438, 439,
1379 440, 441, 491, 443, 461, 462, 463, 464, 465, 466,
1380 467, 468, 469, 470, 471, 492, 648, 493, 603, 494,
1381 544, 495, 335, 522, 411, 496, 337, 338, 339, 369,
1382 370, 371, 340, 341, 342, 343, 344, 345, 390, 391,
1383 346, 347, 348, 349, 444, 387, 445, 397, 382, 383,
1384 446, 352, 353, 354, 453, 393, 456, 457, 549, 550,
1385 520, 614, 499, 500, 501, 502, 503, 591, 684, 713,
1386 692, 693, 694, 714, 504, 505, 506, 507, 695, 680,
1387 508, 509, 696, 721, 510, 511, 512, 656, 578, 651,
1388 674, 690, 691, 513, 355, 356, 357, 366, 514, 658,
1392 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
1393 positive, shift that token. If negative, reduce the rule whose
1394 number is the opposite. If YYTABLE_NINF, syntax error. */
1395 static const yytype_int16 yytable[] =
1397 351, 334, 336, 372, 379, 477, 350, 478, 479, 519,
1398 388, 482, 472, 611, 528, 613, 660, 552, 615, 407,
1399 607, 363, 546, 360, 571, 447, 395, 678, 540, 379,
1400 529, 530, 372, 473, 396, 682, 560, 561, 709, 683,
1401 541, 474, 712, 537, 442, 678, 515, 517, 358, -34,
1402 712, 531, 405, 395, 395, 532, 473, 454, 460, 572,
1403 516, 406, 361, 521, 558, 559, 364, 543, 583, 359,
1404 585, 562, 563, 592, 593, 594, 595, 596, 597, 598,
1405 599, 600, 601, 556, 374, 557, 473, 375, 526, 527,
1406 575, 616, 602, 612, 650, 408, 448, 451, 409, 534,
1407 365, 410, 449, 452, 618, 535, 539, 552, 675, 663,
1408 604, 379, 524, 460, 604, 525, 676, 454, 620, 519,
1409 454, 519, 604, 716, 519, 636, 637, 638, 639, 604,
1410 604, 627, 368, 605, 628, 720, 460, 604, 622, 627,
1411 653, 367, 668, 330, 331, 332, 553, 554, 555, 664,
1412 376, 665, 564, 565, 604, 655, 604, 687, 632, 633,
1413 640, 641, 686, 634, 635, 386, 381, 652, 392, 398,
1414 403, 654, 404, 395, 523, 450, 607, 552, 458, 533,
1415 538, 473, 542, 548, 566, 569, 454, 573, 570, 579,
1416 567, 626, 568, 576, 580, 584, 577, 581, 586, 589,
1417 617, 587, 588, 623, 621, 657, 661, 662, 722, 590,
1418 454, -35, -33, 649, -28, 519, 629, 630, 631, 460,
1419 460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
1420 460, 460, 460, 460, 460, 670, 607, 667, 604, 671,
1421 -525, 681, 688, 677, 697, 698, 700, 705, 706, 707,
1422 702, 715, 488, 710, 642, 711, 724, 643, 645, 644,
1423 699, 677, 723, 647, 646, 401, 400, 402, 519, 389,
1424 362, 625, 545, 669, 672, 704, 708, 718, 399, 719,
1425 454, 673, 689, 608, 609, 385, 0, 701, 610, 0,
1426 703, 0, 717, 0, 0, 0, 0, 0, 543, 0,
1427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1428 0, 0, 0, 0, 519, 0, 0, 0, 0, 0,
1429 679, 486, 0, 0, 0, 0, 0, 0, 0, 0,
1430 0, 0, 0, 0, 0, 0, 379, 0, 679, 373,
1431 0, 0, 0, 0, 460, 350, 0, 380, 0, 0,
1432 0, 0, 0, 350, 0, 351, 334, 336, 0, 0,
1433 0, 350, 394, 0, 0, 0, 0, 0, 373, 0,
1434 0, 0, 373, 0, 350, 0, 0, 0, 350, 0,
1435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1436 0, 0, 0, 455, 0, 0, 0, 0, 498, 350,
1437 0, 0, 0, 0, 497, 0, 0, 0, 0, 0,
1438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1439 0, 0, 0, 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, 455, 547, 0, 455, 0, 0, 350,
1443 350, 0, 350, 0, 0, 0, 0, 0, 0, 0,
1444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1447 0, 0, 0, 0, 498, 0, 0, 0, 0, 0,
1448 497, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1449 0, 0, 455, 0, 0, 0, 0, 0, 350, 0,
1450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1451 0, 0, 0, 0, 0, 0, 455, 0, 0, 0,
1452 0, 0, 350, 0, 0, 0, 0, 0, 0, 0,
1453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1454 0, 0, 0, 0, 0, 0, 0, 0, 498, 0,
1455 0, 0, 0, 0, 497, 0, 0, 0, 0, 0,
1456 0, 498, 0, 0, 0, 0, 0, 497, 0, 0,
1457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1458 0, 0, 0, 0, 0, 0, 455, 0, 0, 0,
1459 0, 0, 350, 0, 0, 0, 0, 0, 0, 0,
1460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1462 0, 498, 0, 0, 0, 0, 498, 497, 0, 0,
1463 498, 0, 497, 0, 0, 0, 497, 0, 0, 0,
1464 0, 0, 0, 0, 498, 0, 0, 0, 0, 380,
1465 497, 0, 0, 0, 0, 350, 0, 0, 0, 0,
1466 0, 0, 0, 0, 498, 0, 0, 0, 498, 0,
1467 497, 0, 0, 0, 497, 0, 498, 0, 0, 0,
1468 498, 0, 497, 0, 0, 0, 497, 0, 0, 0,
1469 498, 0, 0, 0, 384, 0, 497, 1, 2, 3,
1470 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1471 14, 15, 16, 17, 18, 19, 0, 0, 0, 0,
1472 0, 0, 0, 0, 0, 0, 0, 20, 0, 21,
1473 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1474 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1475 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1476 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1477 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1478 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1479 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1480 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1481 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1482 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
1483 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1484 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
1485 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
1486 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1487 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
1488 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
1489 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
1490 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
1491 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
1492 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
1493 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
1494 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
1495 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
1496 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
1497 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
1498 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
1499 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1500 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
1501 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
1502 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
1503 322, 323, 324, 325, 0, 0, 326, 0, 0, 0,
1504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1508 327, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1509 0, 0, 0, 0, 328, 329, 330, 331, 332, 333,
1510 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1511 11, 12, 13, 14, 15, 16, 17, 18, 19, 475,
1512 476, 477, 0, 478, 479, 480, 481, 482, 483, 484,
1513 20, 485, 21, 22, 23, 24, 25, 26, 27, 28,
1514 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1515 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1516 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1517 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1518 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1519 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1520 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1521 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1522 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
1523 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
1524 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
1525 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
1526 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
1527 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
1528 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
1529 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
1530 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
1531 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
1532 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
1533 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
1534 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
1535 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
1536 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
1537 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
1538 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
1539 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
1540 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
1541 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
1542 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
1543 319, 320, 321, 322, 323, 324, 325, 486, 412, 326,
1544 413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
1545 423, 424, 0, 0, 425, 426, 0, 0, 0, 0,
1546 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1547 0, 0, 0, 427, 0, 487, 0, 488, 489, 0,
1548 0, 0, 0, 490, 428, 429, 430, 431, 0, 0,
1549 0, 0, 0, 0, 0, 0, 0, 328, 329, 330,
1550 331, 332, 333, 1, 2, 3, 4, 5, 6, 7,
1551 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
1552 18, 19, 475, 476, 477, 0, 478, 479, 480, 481,
1553 482, 483, 484, 20, 485, 21, 22, 23, 24, 25,
1554 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1555 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1556 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1557 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1558 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1559 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1560 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1561 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1562 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1563 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
1564 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1565 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
1566 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
1567 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
1568 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
1569 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
1570 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
1571 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
1572 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
1573 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
1574 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
1575 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
1576 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
1577 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
1578 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
1579 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
1580 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1581 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
1582 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1583 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
1584 486, 412, 326, 413, 414, 415, 416, 417, 418, 419,
1585 420, 421, 422, 423, 424, 0, 0, 425, 426, 0,
1586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1587 0, 0, 0, 0, 0, 0, 427, 0, 487, 0,
1588 488, 606, 0, 0, 0, 0, 490, 428, 429, 430,
1589 431, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1590 328, 329, 330, 331, 332, 333, 1, 2, 3, 4,
1591 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1592 15, 16, 17, 18, 19, 475, 476, 477, 0, 478,
1593 479, 480, 481, 482, 483, 484, 20, 485, 21, 22,
1594 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1595 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1596 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1597 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1598 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1599 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1600 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1601 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1602 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1603 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
1604 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1605 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
1606 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
1607 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
1608 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
1609 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
1610 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
1611 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
1612 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
1613 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
1614 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
1615 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
1616 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
1617 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
1618 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
1619 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
1620 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
1621 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
1622 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
1623 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
1624 323, 324, 325, 486, 412, 326, 413, 414, 415, 416,
1625 417, 418, 419, 420, 421, 422, 423, 424, 0, 0,
1626 425, 426, 0, 0, 0, 0, 0, 0, 0, 0,
1627 0, 0, 0, 0, 0, 0, 0, 0, 0, 427,
1628 0, 487, 0, 488, 0, 0, 0, 0, 0, 490,
1629 428, 429, 430, 431, 0, 0, 0, 0, 0, 0,
1630 0, 0, 0, 328, 329, 330, 331, 332, 333, 1,
1631 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1632 12, 13, 14, 15, 16, 17, 18, 19, 475, 476,
1633 477, 0, 478, 479, 480, 481, 482, 483, 484, 20,
1634 485, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1635 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1636 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1637 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1638 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1639 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1640 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1641 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1642 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1643 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1644 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1645 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
1646 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
1647 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
1648 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
1649 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
1650 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
1651 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
1652 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
1653 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
1654 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
1655 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
1656 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
1657 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
1658 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
1659 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1660 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
1661 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
1662 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
1663 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
1664 320, 321, 322, 323, 324, 325, 486, 412, 326, 413,
1665 414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
1666 424, 0, 0, 425, 426, 0, 0, 0, 0, 0,
1667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1668 0, 0, 427, 0, 487, 0, 398, 0, 0, 0,
1669 0, 0, 490, 428, 429, 430, 431, 0, 0, 0,
1670 0, 0, 0, 0, 0, 0, 328, 329, 330, 331,
1671 332, 333, 1, 2, 3, 4, 5, 6, 7, 8,
1672 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1673 19, 475, 476, 477, 0, 478, 479, 480, 481, 482,
1674 483, 484, 20, 485, 21, 22, 23, 24, 25, 26,
1675 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
1676 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1677 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1678 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1679 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1680 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
1681 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1682 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1683 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1684 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
1685 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
1686 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
1687 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
1688 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
1689 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
1690 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
1691 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
1692 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
1693 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
1694 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
1695 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
1696 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
1697 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
1698 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
1699 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
1700 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
1701 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1702 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
1703 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
1704 317, 318, 319, 320, 321, 322, 323, 324, 325, 486,
1705 412, 326, 413, 414, 415, 416, 417, 418, 419, 420,
1706 421, 422, 423, 424, 0, 0, 425, 426, 0, 0,
1707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1708 0, 0, 0, 0, 0, 427, 0, 487, 0, 0,
1709 0, 0, 0, 0, 0, 490, 428, 429, 430, 431,
1710 0, 0, 0, 0, 0, 0, 0, 0, 0, 328,
1711 329, 330, 331, 332, 333, 1, 2, 3, 4, 5,
1712 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1713 16, 17, 18, 19, 0, 0, 0, 0, 0, 0,
1714 0, 0, 0, 0, 0, 20, 0, 21, 22, 23,
1715 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1716 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1717 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1718 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1719 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1720 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1721 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1722 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1723 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1724 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1725 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1726 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
1727 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1728 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1729 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
1730 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
1731 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
1732 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
1733 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
1734 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
1735 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
1736 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
1737 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1738 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
1739 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
1740 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
1741 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
1742 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
1743 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
1744 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
1745 324, 325, 0, 412, 326, 413, 414, 415, 416, 417,
1746 418, 419, 420, 421, 422, 423, 424, 0, 0, 425,
1747 426, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1748 0, 0, 0, 0, 0, 0, 0, 0, 427, 0,
1749 0, 0, 0, 0, 0, 0, 0, 0, 490, 428,
1750 429, 430, 431, 0, 0, 0, 0, 0, 0, 0,
1751 0, 0, 328, 329, 330, 331, 332, 333, 1, 2,
1752 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1753 13, 14, 15, 16, 17, 18, 19, 0, 0, 0,
1754 0, 0, 0, 0, 0, 0, 0, 0, 20, 0,
1755 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1756 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1757 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1758 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1759 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1760 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1761 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1762 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1763 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1764 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1765 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1766 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
1767 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
1768 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
1769 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
1770 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
1771 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
1772 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
1773 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
1774 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
1775 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
1776 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
1777 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
1778 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
1779 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
1780 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
1781 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
1782 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
1783 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
1784 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
1785 321, 322, 323, 324, 325, 0, 0, 326, 0, 0,
1786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790 0, 327, 0, 0, 0, 0, 0, 0, 0, 0,
1791 0, 0, 0, 0, 0, 328, 329, 330, 331, 332,
1792 333, 1, 2, 3, 4, 5, 6, 7, 8, 9,
1793 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1795 0, 20, 0, 21, 22, 23, 24, 25, 26, 27,
1796 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1797 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1798 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1799 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1800 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1801 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1802 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1803 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1804 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
1805 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
1806 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1807 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
1808 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
1809 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
1810 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
1811 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
1812 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
1813 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
1814 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
1815 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
1816 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
1817 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
1818 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
1819 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
1820 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
1821 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
1822 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1823 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
1824 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
1825 318, 319, 320, 321, 322, 323, 324, 325, 0, 412,
1826 326, 413, 414, 415, 416, 417, 418, 419, 420, 421,
1827 422, 423, 424, 0, 0, 425, 426, 0, 0, 0,
1828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1829 0, 0, 0, 0, 427, 0, 0, 0, 0, 0,
1830 0, 0, 0, 0, 0, 428, 429, 430, 431, 0,
1831 0, 0, 0, 0, 0, 0, 0, 0, 328, 329,
1832 330, 331, 332, 1, 2, 3, 4, 5, 6, 7,
1833 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
1834 18, 19, 0, 0, 0, 0, 0, 0, 0, 0,
1835 0, 0, 0, 20, 0, 21, 22, 23, 24, 25,
1836 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1837 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1838 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1839 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1840 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1841 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1842 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1843 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1844 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1845 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
1846 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1847 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
1848 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
1849 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
1850 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
1851 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
1852 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
1853 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
1854 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
1855 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
1856 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
1857 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
1858 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
1859 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
1860 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
1861 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
1862 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1863 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
1864 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1865 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
1866 0, 377, 326, 0, 0, 0, 0, 0, 0, 0,
1867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1870 0, 0, 0, 0, 0, 0, 378, 0, 0, 0,
1871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1872 328, 329, 330, 331, 332, 1, 2, 3, 4, 5,
1873 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1874 16, 17, 18, 19, 0, 0, 0, 0, 0, 0,
1875 0, 0, 0, 0, 0, 20, 0, 21, 22, 23,
1876 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1877 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1878 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1879 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1880 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1881 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1882 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1883 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1884 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1885 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1886 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1887 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
1888 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1889 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1890 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
1891 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
1892 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
1893 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
1894 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
1895 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
1896 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
1897 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
1898 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1899 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
1900 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
1901 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
1902 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
1903 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
1904 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
1905 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
1906 324, 325, 0, 0, 326, 0, 0, 0, 0, 0,
1907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1910 0, 0, 0, 551, 0, 0, 0, 0, 0, 0,
1911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1912 0, 0, 328, 329, 330, 331, 332, 1, 2, 3,
1913 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1914 14, 15, 16, 17, 18, 19, 0, 0, 0, 0,
1915 0, 0, 0, 0, 0, 0, 0, 20, 0, 21,
1916 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1917 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1918 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1919 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1920 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1921 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1922 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1923 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1924 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1925 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
1926 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1927 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
1928 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
1929 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1930 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
1931 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
1932 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
1933 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
1934 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
1935 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
1936 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
1937 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
1938 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
1939 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
1940 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
1941 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
1942 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1943 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
1944 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
1945 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
1946 322, 323, 324, 325, 0, 0, 326, 0, 0, 0,
1947 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1949 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1950 0, 0, 0, 0, 0, 624, 0, 0, 0, 0,
1951 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1952 0, 0, 0, 0, 328, 329, 330, 331, 332, 1,
1953 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1954 12, 13, 14, 15, 16, 17, 18, 19, 0, 0,
1955 0, 0, 0, 0, 0, 0, 0, 0, 0, 20,
1956 0, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1957 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1958 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1959 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1960 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1961 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1962 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1963 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1964 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1965 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1966 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1967 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
1968 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
1969 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
1970 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
1971 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
1972 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
1973 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
1974 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
1975 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
1976 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
1977 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
1978 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
1979 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
1980 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
1981 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1982 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
1983 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
1984 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
1985 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
1986 320, 321, 322, 323, 324, 325, 0, 0, 326, 0,
1987 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1990 0, 0, 0, 0, 0, 0, 0, 666, 0, 0,
1991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1992 0, 0, 0, 0, 0, 0, 328, 329, 330, 331,
1993 332, 1, 2, 3, 4, 5, 6, 7, 8, 9,
1994 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1996 0, 20, 0, 21, 22, 23, 24, 25, 26, 27,
1997 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1998 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1999 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2000 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2001 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2002 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
2003 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
2004 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
2005 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
2006 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
2007 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2008 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2009 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2010 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2011 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2012 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
2013 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
2014 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
2015 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
2016 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
2017 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
2018 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
2019 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
2020 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
2021 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
2022 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
2023 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
2024 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
2025 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
2026 318, 319, 320, 321, 322, 323, 324, 325, 0, 0,
2027 326, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2028 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2029 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2030 0, 0, 0, 3, 4, 5, 6, 7, 0, 9,
2031 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2032 0, 0, 0, 0, 0, 0, 0, 0, 328, 329,
2033 330, 331, 332, 21, 22, 23, 24, 25, 26, 27,
2034 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2035 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2036 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2037 58, 59, 0, 0, 0, 0, 0, 0, 0, 0,
2038 0, 69, 0, 0, 0, 0, 0, 0, 0, 0,
2039 0, 0, 0, 0, 0, 0, 0, 85, 86, 87,
2040 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
2041 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
2042 108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2043 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
2044 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2045 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2046 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2047 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2048 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2049 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
2050 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
2051 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
2052 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
2053 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
2054 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
2055 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
2056 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
2057 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
2058 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
2059 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
2060 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
2061 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
2062 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
2063 318, 319, 320, 321, 322, 323, 324, 325, 0, 412,
2064 326, 413, 414, 415, 416, 417, 418, 419, 420, 421,
2065 422, 423, 424, 0, 0, 425, 426, 0, 0, 0,
2066 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2067 0, 0, 0, 0, 427, 0, 0, 0, 518, 685,
2068 0, 0, 0, 0, 0, 428, 429, 430, 431, 3,
2069 4, 5, 6, 7, 0, 9, 10, 11, 12, 13,
2070 14, 15, 16, 17, 18, 19, 0, 0, 0, 0,
2071 0, 0, 0, 0, 0, 0, 0, 0, 0, 21,
2072 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
2073 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2074 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2075 52, 53, 54, 55, 56, 57, 58, 59, 0, 0,
2076 0, 0, 0, 0, 0, 0, 0, 69, 0, 0,
2077 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2078 0, 0, 0, 85, 86, 87, 88, 89, 90, 91,
2079 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2080 102, 103, 104, 105, 106, 107, 108, 0, 0, 0,
2081 0, 0, 0, 0, 0, 0, 118, 119, 120, 121,
2082 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2083 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
2084 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2085 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2086 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2087 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
2088 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
2089 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
2090 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
2091 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
2092 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
2093 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
2094 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
2095 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
2096 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
2097 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
2098 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
2099 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
2100 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
2101 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
2102 322, 323, 324, 325, 0, 412, 326, 413, 414, 415,
2103 416, 417, 418, 419, 420, 421, 422, 423, 424, 0,
2104 0, 425, 426, 0, 0, 0, 0, 0, 0, 0,
2105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2106 427, 0, 0, 459, 0, 0, 0, 0, 0, 0,
2107 0, 428, 429, 430, 431, 3, 4, 5, 6, 7,
2108 0, 9, 10, 11, 12, 13, 14, 15, 16, 17,
2109 18, 19, 0, 0, 0, 0, 0, 0, 0, 0,
2110 0, 0, 0, 0, 0, 21, 22, 23, 24, 25,
2111 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
2112 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2113 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2114 56, 57, 58, 59, 0, 0, 0, 0, 0, 0,
2115 0, 0, 0, 69, 0, 0, 0, 0, 0, 0,
2116 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,
2117 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
2118 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
2119 106, 107, 108, 0, 0, 0, 0, 0, 0, 0,
2120 0, 0, 118, 119, 120, 121, 122, 123, 124, 125,
2121 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2122 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2123 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2124 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2125 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2126 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
2127 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
2128 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
2129 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
2130 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
2131 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
2132 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
2133 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
2134 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
2135 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
2136 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
2137 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
2138 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
2139 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
2140 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
2141 0, 412, 326, 413, 414, 415, 416, 417, 418, 419,
2142 420, 421, 422, 423, 424, 0, 0, 425, 426, 0,
2143 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2144 0, 0, 0, 0, 0, 0, 427, 0, 0, 0,
2145 518, 0, 0, 0, 0, 0, 0, 428, 429, 430,
2146 431, 3, 4, 5, 6, 7, 0, 9, 10, 11,
2147 12, 13, 14, 15, 16, 17, 18, 19, 0, 0,
2148 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2149 0, 21, 22, 23, 24, 25, 26, 27, 28, 29,
2150 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2151 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2152 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2153 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,
2154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2155 0, 0, 0, 0, 0, 85, 86, 87, 88, 89,
2156 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
2157 100, 101, 102, 103, 104, 105, 106, 107, 108, 0,
2158 0, 0, 0, 0, 0, 0, 0, 0, 118, 119,
2159 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
2160 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2161 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2162 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2163 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2164 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
2165 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
2166 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
2167 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
2168 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
2169 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
2170 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
2171 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
2172 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
2173 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
2174 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
2175 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
2176 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2177 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
2178 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
2179 320, 321, 322, 323, 324, 325, 0, 412, 326, 413,
2180 414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
2181 424, 0, 0, 425, 426, 0, 0, 0, 0, 0,
2182 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2183 0, 0, 427, 0, 0, 574, 0, 0, 0, 0,
2184 0, 0, 0, 428, 429, 430, 431, 3, 4, 5,
2185 6, 7, 0, 9, 10, 11, 12, 13, 14, 15,
2186 16, 17, 18, 19, 0, 0, 0, 0, 0, 0,
2187 0, 0, 0, 0, 0, 0, 0, 21, 22, 23,
2188 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
2189 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2190 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2191 54, 55, 56, 57, 58, 59, 0, 0, 0, 0,
2192 0, 0, 0, 0, 0, 69, 0, 0, 0, 0,
2193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2194 0, 85, 86, 87, 88, 89, 90, 91, 92, 93,
2195 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
2196 104, 105, 106, 107, 108, 0, 0, 0, 0, 0,
2197 0, 0, 0, 0, 118, 119, 120, 121, 122, 123,
2198 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
2199 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
2200 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
2201 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
2202 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
2203 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
2204 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
2205 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
2206 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
2207 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
2208 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
2209 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
2210 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
2211 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
2212 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
2213 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
2214 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
2215 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
2216 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
2217 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
2218 324, 325, 0, 412, 326, 413, 414, 415, 416, 417,
2219 418, 419, 420, 421, 422, 423, 424, 0, 0, 425,
2220 426, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2221 0, 0, 0, 0, 0, 0, 0, 0, 427, 0,
2222 0, 0, 0, 0, 0, 0, 0, 0, 582, 428,
2223 429, 430, 431, 3, 4, 5, 6, 7, 0, 9,
2224 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2226 0, 0, 0, 21, 22, 23, 24, 25, 26, 27,
2227 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2228 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2229 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2230 58, 59, 0, 0, 0, 0, 0, 0, 0, 0,
2231 0, 69, 0, 0, 0, 0, 0, 0, 0, 0,
2232 0, 0, 0, 0, 0, 0, 0, 85, 86, 87,
2233 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
2234 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
2235 108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2236 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
2237 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2238 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2239 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2240 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2241 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2242 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
2243 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
2244 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
2245 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
2246 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
2247 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
2248 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
2249 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
2250 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
2251 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
2252 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
2253 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
2254 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
2255 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
2256 318, 319, 320, 321, 322, 323, 324, 325, 0, 412,
2257 326, 413, 414, 415, 416, 417, 418, 419, 420, 421,
2258 422, 423, 424, 0, 0, 425, 426, 0, 0, 0,
2259 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2260 0, 0, 0, 0, 427, 0, 0, 0, 0, 0,
2261 0, 0, 0, 0, 0, 428, 429, 430, 431, 3,
2262 4, 5, 6, 7, 0, 9, 10, 11, 12, 13,
2263 14, 15, 16, 17, 18, 19, 0, 0, 0, 0,
2264 0, 0, 0, 0, 0, 0, 0, 0, 0, 21,
2265 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
2266 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2267 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2268 52, 53, 54, 55, 56, 57, 58, 59, 0, 0,
2269 0, 0, 0, 0, 0, 0, 0, 69, 0, 0,
2270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2271 0, 0, 0, 85, 86, 87, 88, 89, 90, 91,
2272 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2273 102, 103, 104, 105, 106, 107, 108, 0, 0, 0,
2274 0, 0, 0, 0, 0, 0, 118, 119, 120, 121,
2275 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2276 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
2277 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2278 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2279 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2280 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
2281 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
2282 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
2283 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
2284 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
2285 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
2286 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
2287 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
2288 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
2289 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
2290 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
2291 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
2292 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
2293 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
2294 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
2295 322, 323, 324, 536, 0, 412, 326, 413, 414, 415,
2296 416, 417, 418, 419, 420, 421, 422, 423, 424, 0,
2297 0, 425, 426, 0, 0, 0, 0, 0, 0, 0,
2298 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2299 427, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2300 0, 428, 429, 430, 431, 3, 4, 5, 6, 7,
2301 0, 9, 10, 11, 12, 13, 14, 15, 16, 17,
2302 18, 19, 0, 0, 0, 0, 0, 0, 0, 0,
2303 0, 0, 0, 0, 0, 21, 22, 23, 24, 25,
2304 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
2305 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2306 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2307 56, 57, 58, 59, 0, 0, 0, 0, 0, 0,
2308 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2309 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,
2310 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
2311 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
2312 106, 107, 108, 0, 0, 0, 0, 0, 0, 0,
2313 0, 0, 118, 119, 120, 121, 122, 123, 124, 125,
2314 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2315 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2316 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2317 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2318 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2319 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
2320 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
2321 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
2322 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
2323 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
2324 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
2325 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
2326 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
2327 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
2328 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
2329 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
2330 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
2331 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
2332 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
2333 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
2337 static const yytype_int16 yycheck[] =
2339 0, 0, 0, 339, 347, 24, 0, 26, 27, 406,
2340 82, 30, 395, 516, 427, 518, 591, 456, 521, 376,
2341 504, 341, 453, 341, 364, 382, 378, 656, 383, 372,
2342 357, 358, 368, 378, 386, 379, 359, 360, 694, 383,
2343 395, 386, 698, 440, 381, 674, 403, 404, 376, 376,
2344 706, 378, 376, 378, 378, 382, 378, 393, 395, 399,
2345 385, 385, 380, 385, 355, 356, 386, 450, 481, 376,
2346 483, 394, 395, 366, 367, 368, 369, 370, 371, 372,
2347 373, 374, 375, 388, 383, 390, 378, 386, 425, 426,
2348 473, 522, 385, 385, 578, 380, 377, 377, 383, 377,
2349 386, 386, 383, 383, 377, 383, 443, 546, 377, 612,
2350 383, 454, 383, 450, 383, 386, 377, 453, 531, 516,
2351 456, 518, 383, 377, 521, 560, 561, 562, 563, 383,
2352 383, 383, 383, 386, 386, 710, 473, 383, 535, 383,
2353 386, 377, 386, 402, 403, 404, 391, 392, 393, 381,
2354 341, 383, 361, 362, 383, 384, 383, 384, 556, 557,
2355 564, 565, 665, 558, 559, 341, 394, 580, 380, 380,
2356 341, 584, 341, 378, 341, 385, 660, 616, 386, 377,
2357 376, 378, 341, 341, 398, 363, 522, 379, 365, 376,
2358 397, 548, 396, 386, 376, 376, 386, 386, 384, 378,
2359 341, 386, 376, 540, 341, 341, 603, 604, 711, 381,
2360 546, 376, 376, 379, 377, 612, 553, 554, 555, 556,
2361 557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
2362 567, 568, 569, 570, 571, 648, 720, 379, 383, 340,
2363 380, 376, 376, 656, 341, 377, 379, 386, 377, 25,
2364 381, 377, 380, 380, 566, 385, 381, 567, 569, 568,
2365 681, 674, 386, 571, 570, 372, 368, 372, 665, 341,
2366 333, 547, 452, 627, 651, 688, 693, 706, 366, 707,
2367 616, 651, 674, 514, 514, 355, -1, 683, 514, -1,
2368 687, -1, 705, -1, -1, -1, -1, -1, 681, -1,
2369 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2370 -1, -1, -1, -1, 711, -1, -1, -1, -1, -1,
2371 656, 340, -1, -1, -1, -1, -1, -1, -1, -1,
2372 -1, -1, -1, -1, -1, -1, 679, -1, 674, 339,
2373 -1, -1, -1, -1, 681, 339, -1, 347, -1, -1,
2374 -1, -1, -1, 347, -1, 355, 355, 355, -1, -1,
2375 -1, 355, 362, -1, -1, -1, -1, -1, 368, -1,
2376 -1, -1, 372, -1, 368, -1, -1, -1, 372, -1,
2377 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2378 -1, -1, -1, 393, -1, -1, -1, -1, 398, 393,
2379 -1, -1, -1, -1, 398, -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, -1, -1, -1, -1, -1, -1, -1, -1,
2383 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2384 -1, -1, -1, 453, 454, -1, 456, -1, -1, 453,
2385 454, -1, 456, -1, -1, -1, -1, -1, -1, -1,
2386 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2387 -1, -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, 504, -1, -1, -1, -1, -1,
2390 504, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2391 -1, -1, 522, -1, -1, -1, -1, -1, 522, -1,
2392 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2393 -1, -1, -1, -1, -1, -1, 546, -1, -1, -1,
2394 -1, -1, 546, -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, 578, -1,
2397 -1, -1, -1, -1, 578, -1, -1, -1, -1, -1,
2398 -1, 591, -1, -1, -1, -1, -1, 591, -1, -1,
2399 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2400 -1, -1, -1, -1, -1, -1, 616, -1, -1, -1,
2401 -1, -1, 616, -1, -1, -1, -1, -1, -1, -1,
2402 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2403 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2404 -1, 651, -1, -1, -1, -1, 656, 651, -1, -1,
2405 660, -1, 656, -1, -1, -1, 660, -1, -1, -1,
2406 -1, -1, -1, -1, 674, -1, -1, -1, -1, 679,
2407 674, -1, -1, -1, -1, 679, -1, -1, -1, -1,
2408 -1, -1, -1, -1, 694, -1, -1, -1, 698, -1,
2409 694, -1, -1, -1, 698, -1, 706, -1, -1, -1,
2410 710, -1, 706, -1, -1, -1, 710, -1, -1, -1,
2411 720, -1, -1, -1, 0, -1, 720, 3, 4, 5,
2412 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
2413 16, 17, 18, 19, 20, 21, -1, -1, -1, -1,
2414 -1, -1, -1, -1, -1, -1, -1, 33, -1, 35,
2415 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2416 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2417 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2418 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2419 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2420 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
2421 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
2422 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2423 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
2424 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2425 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2426 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2427 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2428 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2429 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
2430 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
2431 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
2432 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
2433 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
2434 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
2435 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
2436 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
2437 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
2438 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
2439 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
2440 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
2441 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
2442 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
2443 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
2444 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
2445 336, 337, 338, 339, -1, -1, 342, -1, -1, -1,
2446 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2447 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2448 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2449 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2450 386, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2451 -1, -1, -1, -1, 400, 401, 402, 403, 404, 405,
2452 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
2453 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
2454 23, 24, -1, 26, 27, 28, 29, 30, 31, 32,
2455 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2456 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2457 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2458 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2459 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2460 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
2461 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
2462 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2463 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
2464 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2465 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
2466 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2467 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2468 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2469 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
2470 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
2471 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
2472 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
2473 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
2474 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
2475 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
2476 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
2477 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
2478 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
2479 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
2480 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
2481 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
2482 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
2483 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
2484 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
2485 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
2486 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
2487 353, 354, -1, -1, 357, 358, -1, -1, -1, -1,
2488 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2489 -1, -1, -1, 376, -1, 378, -1, 380, 381, -1,
2490 -1, -1, -1, 386, 387, 388, 389, 390, -1, -1,
2491 -1, -1, -1, -1, -1, -1, -1, 400, 401, 402,
2492 403, 404, 405, 3, 4, 5, 6, 7, 8, 9,
2493 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2494 20, 21, 22, 23, 24, -1, 26, 27, 28, 29,
2495 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2496 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2497 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2498 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2499 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2500 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
2501 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
2502 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2503 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
2504 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
2505 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2506 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2507 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2508 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2509 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
2510 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
2511 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
2512 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
2513 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
2514 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
2515 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
2516 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
2517 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
2518 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
2519 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
2520 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
2521 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2522 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
2523 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
2524 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
2525 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
2526 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
2527 350, 351, 352, 353, 354, -1, -1, 357, 358, -1,
2528 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2529 -1, -1, -1, -1, -1, -1, 376, -1, 378, -1,
2530 380, 381, -1, -1, -1, -1, 386, 387, 388, 389,
2531 390, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2532 400, 401, 402, 403, 404, 405, 3, 4, 5, 6,
2533 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2534 17, 18, 19, 20, 21, 22, 23, 24, -1, 26,
2535 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2536 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2537 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2538 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2539 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2540 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
2541 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2542 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2543 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
2544 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
2545 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2546 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2547 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
2548 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
2549 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
2550 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
2551 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
2552 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
2553 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
2554 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
2555 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
2556 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
2557 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
2558 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
2559 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
2560 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
2561 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
2562 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
2563 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
2564 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
2565 327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
2566 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
2567 347, 348, 349, 350, 351, 352, 353, 354, -1, -1,
2568 357, 358, -1, -1, -1, -1, -1, -1, -1, -1,
2569 -1, -1, -1, -1, -1, -1, -1, -1, -1, 376,
2570 -1, 378, -1, 380, -1, -1, -1, -1, -1, 386,
2571 387, 388, 389, 390, -1, -1, -1, -1, -1, -1,
2572 -1, -1, -1, 400, 401, 402, 403, 404, 405, 3,
2573 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
2574 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2575 24, -1, 26, 27, 28, 29, 30, 31, 32, 33,
2576 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2577 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2578 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
2579 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
2580 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2581 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
2582 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
2583 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2584 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
2585 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
2586 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
2587 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
2588 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
2589 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
2590 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
2591 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
2592 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
2593 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
2594 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
2595 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
2596 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
2597 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
2598 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
2599 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
2600 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
2601 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
2602 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
2603 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
2604 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
2605 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
2606 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
2607 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
2608 354, -1, -1, 357, 358, -1, -1, -1, -1, -1,
2609 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2610 -1, -1, 376, -1, 378, -1, 380, -1, -1, -1,
2611 -1, -1, 386, 387, 388, 389, 390, -1, -1, -1,
2612 -1, -1, -1, -1, -1, -1, 400, 401, 402, 403,
2613 404, 405, 3, 4, 5, 6, 7, 8, 9, 10,
2614 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2615 21, 22, 23, 24, -1, 26, 27, 28, 29, 30,
2616 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2617 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2618 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2619 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2620 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2621 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
2622 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2623 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2624 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2625 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
2626 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2627 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2628 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2629 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2630 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
2631 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
2632 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
2633 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
2634 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
2635 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
2636 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
2637 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
2638 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
2639 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
2640 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
2641 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
2642 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
2643 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
2644 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
2645 321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
2646 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
2647 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
2648 351, 352, 353, 354, -1, -1, 357, 358, -1, -1,
2649 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2650 -1, -1, -1, -1, -1, 376, -1, 378, -1, -1,
2651 -1, -1, -1, -1, -1, 386, 387, 388, 389, 390,
2652 -1, -1, -1, -1, -1, -1, -1, -1, -1, 400,
2653 401, 402, 403, 404, 405, 3, 4, 5, 6, 7,
2654 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
2655 18, 19, 20, 21, -1, -1, -1, -1, -1, -1,
2656 -1, -1, -1, -1, -1, 33, -1, 35, 36, 37,
2657 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2658 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2659 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2660 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2661 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
2662 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
2663 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
2664 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
2665 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
2666 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2667 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2668 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2669 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2670 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2671 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
2672 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
2673 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
2674 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
2675 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
2676 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
2677 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
2678 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
2679 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
2680 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
2681 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
2682 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
2683 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
2684 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
2685 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
2686 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
2687 338, 339, -1, 341, 342, 343, 344, 345, 346, 347,
2688 348, 349, 350, 351, 352, 353, 354, -1, -1, 357,
2689 358, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2690 -1, -1, -1, -1, -1, -1, -1, -1, 376, -1,
2691 -1, -1, -1, -1, -1, -1, -1, -1, 386, 387,
2692 388, 389, 390, -1, -1, -1, -1, -1, -1, -1,
2693 -1, -1, 400, 401, 402, 403, 404, 405, 3, 4,
2694 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2695 15, 16, 17, 18, 19, 20, 21, -1, -1, -1,
2696 -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
2697 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2698 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2699 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2700 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2701 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2702 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
2703 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
2704 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2705 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
2706 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2707 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2708 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2709 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2710 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2711 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
2712 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
2713 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
2714 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
2715 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
2716 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
2717 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
2718 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
2719 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2720 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
2721 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
2722 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2723 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
2724 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2725 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
2726 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2727 335, 336, 337, 338, 339, -1, -1, 342, -1, -1,
2728 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2729 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2730 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2731 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2732 -1, 386, -1, -1, -1, -1, -1, -1, -1, -1,
2733 -1, -1, -1, -1, -1, 400, 401, 402, 403, 404,
2734 405, 3, 4, 5, 6, 7, 8, 9, 10, 11,
2735 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
2736 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2737 -1, 33, -1, 35, 36, 37, 38, 39, 40, 41,
2738 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2739 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
2740 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2741 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2742 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2743 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2744 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2745 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2746 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2747 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
2748 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2749 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2750 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2751 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
2752 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
2753 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
2754 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
2755 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
2756 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
2757 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
2758 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
2759 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
2760 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
2761 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
2762 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
2763 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
2764 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
2765 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
2766 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
2767 332, 333, 334, 335, 336, 337, 338, 339, -1, 341,
2768 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
2769 352, 353, 354, -1, -1, 357, 358, -1, -1, -1,
2770 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2771 -1, -1, -1, -1, 376, -1, -1, -1, -1, -1,
2772 -1, -1, -1, -1, -1, 387, 388, 389, 390, -1,
2773 -1, -1, -1, -1, -1, -1, -1, -1, 400, 401,
2774 402, 403, 404, 3, 4, 5, 6, 7, 8, 9,
2775 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2776 20, 21, -1, -1, -1, -1, -1, -1, -1, -1,
2777 -1, -1, -1, 33, -1, 35, 36, 37, 38, 39,
2778 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2779 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2780 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2781 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2782 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
2783 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
2784 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2785 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
2786 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
2787 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2788 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2789 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2790 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2791 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
2792 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
2793 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
2794 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
2795 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
2796 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
2797 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
2798 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
2799 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
2800 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
2801 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
2802 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
2803 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2804 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
2805 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
2806 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
2807 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
2808 -1, 341, 342, -1, -1, -1, -1, -1, -1, -1,
2809 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2810 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2811 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2812 -1, -1, -1, -1, -1, -1, 386, -1, -1, -1,
2813 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2814 400, 401, 402, 403, 404, 3, 4, 5, 6, 7,
2815 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
2816 18, 19, 20, 21, -1, -1, -1, -1, -1, -1,
2817 -1, -1, -1, -1, -1, 33, -1, 35, 36, 37,
2818 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2819 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2820 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2821 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2822 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
2823 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
2824 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
2825 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
2826 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
2827 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2828 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2829 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2830 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2831 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2832 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
2833 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
2834 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
2835 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
2836 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
2837 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
2838 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
2839 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
2840 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
2841 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
2842 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
2843 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
2844 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
2845 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
2846 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
2847 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
2848 338, 339, -1, -1, 342, -1, -1, -1, -1, -1,
2849 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2850 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2851 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2852 -1, -1, -1, 381, -1, -1, -1, -1, -1, -1,
2853 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2854 -1, -1, 400, 401, 402, 403, 404, 3, 4, 5,
2855 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
2856 16, 17, 18, 19, 20, 21, -1, -1, -1, -1,
2857 -1, -1, -1, -1, -1, -1, -1, 33, -1, 35,
2858 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2859 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2860 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2861 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2862 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2863 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
2864 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
2865 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2866 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
2867 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2868 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2869 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2870 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2871 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2872 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
2873 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
2874 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
2875 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
2876 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
2877 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
2878 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
2879 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
2880 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
2881 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
2882 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
2883 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
2884 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
2885 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
2886 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
2887 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
2888 336, 337, 338, 339, -1, -1, 342, -1, -1, -1,
2889 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2890 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2891 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2892 -1, -1, -1, -1, -1, 381, -1, -1, -1, -1,
2893 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2894 -1, -1, -1, -1, 400, 401, 402, 403, 404, 3,
2895 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
2896 14, 15, 16, 17, 18, 19, 20, 21, -1, -1,
2897 -1, -1, -1, -1, -1, -1, -1, -1, -1, 33,
2898 -1, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2899 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2900 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
2901 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
2902 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2903 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
2904 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
2905 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2906 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
2907 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
2908 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
2909 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
2910 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
2911 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
2912 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
2913 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
2914 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
2915 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
2916 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
2917 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
2918 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
2919 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
2920 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
2921 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
2922 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
2923 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
2924 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
2925 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
2926 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
2927 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
2928 334, 335, 336, 337, 338, 339, -1, -1, 342, -1,
2929 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2930 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2931 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2932 -1, -1, -1, -1, -1, -1, -1, 381, -1, -1,
2933 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2934 -1, -1, -1, -1, -1, -1, 400, 401, 402, 403,
2935 404, 3, 4, 5, 6, 7, 8, 9, 10, 11,
2936 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
2937 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2938 -1, 33, -1, 35, 36, 37, 38, 39, 40, 41,
2939 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2940 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
2941 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2942 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2943 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2944 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2945 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2946 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2947 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2948 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
2949 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2950 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2951 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2952 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
2953 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
2954 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
2955 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
2956 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
2957 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
2958 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
2959 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
2960 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
2961 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
2962 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
2963 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
2964 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
2965 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
2966 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
2967 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
2968 332, 333, 334, 335, 336, 337, 338, 339, -1, -1,
2969 342, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2970 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2971 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2972 -1, -1, -1, 5, 6, 7, 8, 9, -1, 11,
2973 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
2974 -1, -1, -1, -1, -1, -1, -1, -1, 400, 401,
2975 402, 403, 404, 35, 36, 37, 38, 39, 40, 41,
2976 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2977 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
2978 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2979 72, 73, -1, -1, -1, -1, -1, -1, -1, -1,
2980 -1, 83, -1, -1, -1, -1, -1, -1, -1, -1,
2981 -1, -1, -1, -1, -1, -1, -1, 99, 100, 101,
2982 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2983 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2984 122, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2985 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
2986 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2987 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2988 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2989 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
2990 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
2991 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
2992 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
2993 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
2994 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
2995 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
2996 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
2997 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
2998 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
2999 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
3000 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
3001 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
3002 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
3003 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
3004 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
3005 332, 333, 334, 335, 336, 337, 338, 339, -1, 341,
3006 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
3007 352, 353, 354, -1, -1, 357, 358, -1, -1, -1,
3008 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3009 -1, -1, -1, -1, 376, -1, -1, -1, 380, 381,
3010 -1, -1, -1, -1, -1, 387, 388, 389, 390, 5,
3011 6, 7, 8, 9, -1, 11, 12, 13, 14, 15,
3012 16, 17, 18, 19, 20, 21, -1, -1, -1, -1,
3013 -1, -1, -1, -1, -1, -1, -1, -1, -1, 35,
3014 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
3015 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
3016 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
3017 66, 67, 68, 69, 70, 71, 72, 73, -1, -1,
3018 -1, -1, -1, -1, -1, -1, -1, 83, -1, -1,
3019 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3020 -1, -1, -1, 99, 100, 101, 102, 103, 104, 105,
3021 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
3022 116, 117, 118, 119, 120, 121, 122, -1, -1, -1,
3023 -1, -1, -1, -1, -1, -1, 132, 133, 134, 135,
3024 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
3025 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
3026 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
3027 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
3028 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
3029 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
3030 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
3031 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
3032 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
3033 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
3034 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
3035 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
3036 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
3037 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
3038 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
3039 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
3040 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
3041 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
3042 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
3043 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
3044 336, 337, 338, 339, -1, 341, 342, 343, 344, 345,
3045 346, 347, 348, 349, 350, 351, 352, 353, 354, -1,
3046 -1, 357, 358, -1, -1, -1, -1, -1, -1, -1,
3047 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3048 376, -1, -1, 379, -1, -1, -1, -1, -1, -1,
3049 -1, 387, 388, 389, 390, 5, 6, 7, 8, 9,
3050 -1, 11, 12, 13, 14, 15, 16, 17, 18, 19,
3051 20, 21, -1, -1, -1, -1, -1, -1, -1, -1,
3052 -1, -1, -1, -1, -1, 35, 36, 37, 38, 39,
3053 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
3054 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
3055 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
3056 70, 71, 72, 73, -1, -1, -1, -1, -1, -1,
3057 -1, -1, -1, 83, -1, -1, -1, -1, -1, -1,
3058 -1, -1, -1, -1, -1, -1, -1, -1, -1, 99,
3059 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
3060 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
3061 120, 121, 122, -1, -1, -1, -1, -1, -1, -1,
3062 -1, -1, 132, 133, 134, 135, 136, 137, 138, 139,
3063 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
3064 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
3065 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
3066 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
3067 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
3068 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
3069 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
3070 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
3071 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
3072 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
3073 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
3074 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
3075 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
3076 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
3077 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
3078 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
3079 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
3080 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
3081 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
3082 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
3083 -1, 341, 342, 343, 344, 345, 346, 347, 348, 349,
3084 350, 351, 352, 353, 354, -1, -1, 357, 358, -1,
3085 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3086 -1, -1, -1, -1, -1, -1, 376, -1, -1, -1,
3087 380, -1, -1, -1, -1, -1, -1, 387, 388, 389,
3088 390, 5, 6, 7, 8, 9, -1, 11, 12, 13,
3089 14, 15, 16, 17, 18, 19, 20, 21, -1, -1,
3090 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3091 -1, 35, 36, 37, 38, 39, 40, 41, 42, 43,
3092 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
3093 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
3094 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3095 -1, -1, -1, -1, -1, -1, -1, -1, -1, 83,
3096 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3097 -1, -1, -1, -1, -1, 99, 100, 101, 102, 103,
3098 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
3099 114, 115, 116, 117, 118, 119, 120, 121, 122, -1,
3100 -1, -1, -1, -1, -1, -1, -1, -1, 132, 133,
3101 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
3102 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
3103 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
3104 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
3105 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
3106 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
3107 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
3108 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
3109 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
3110 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
3111 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
3112 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
3113 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
3114 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
3115 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
3116 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
3117 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
3118 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
3119 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
3120 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
3121 334, 335, 336, 337, 338, 339, -1, 341, 342, 343,
3122 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
3123 354, -1, -1, 357, 358, -1, -1, -1, -1, -1,
3124 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3125 -1, -1, 376, -1, -1, 379, -1, -1, -1, -1,
3126 -1, -1, -1, 387, 388, 389, 390, 5, 6, 7,
3127 8, 9, -1, 11, 12, 13, 14, 15, 16, 17,
3128 18, 19, 20, 21, -1, -1, -1, -1, -1, -1,
3129 -1, -1, -1, -1, -1, -1, -1, 35, 36, 37,
3130 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
3131 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
3132 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
3133 68, 69, 70, 71, 72, 73, -1, -1, -1, -1,
3134 -1, -1, -1, -1, -1, 83, -1, -1, -1, -1,
3135 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3136 -1, 99, 100, 101, 102, 103, 104, 105, 106, 107,
3137 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
3138 118, 119, 120, 121, 122, -1, -1, -1, -1, -1,
3139 -1, -1, -1, -1, 132, 133, 134, 135, 136, 137,
3140 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
3141 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
3142 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
3143 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
3144 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
3145 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
3146 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
3147 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
3148 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
3149 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
3150 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
3151 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
3152 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
3153 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
3154 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
3155 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
3156 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
3157 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
3158 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
3159 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
3160 338, 339, -1, 341, 342, 343, 344, 345, 346, 347,
3161 348, 349, 350, 351, 352, 353, 354, -1, -1, 357,
3162 358, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3163 -1, -1, -1, -1, -1, -1, -1, -1, 376, -1,
3164 -1, -1, -1, -1, -1, -1, -1, -1, 386, 387,
3165 388, 389, 390, 5, 6, 7, 8, 9, -1, 11,
3166 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
3167 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3168 -1, -1, -1, 35, 36, 37, 38, 39, 40, 41,
3169 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
3170 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
3171 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3172 72, 73, -1, -1, -1, -1, -1, -1, -1, -1,
3173 -1, 83, -1, -1, -1, -1, -1, -1, -1, -1,
3174 -1, -1, -1, -1, -1, -1, -1, 99, 100, 101,
3175 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
3176 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
3177 122, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3178 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
3179 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3180 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
3181 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3182 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
3183 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
3184 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
3185 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
3186 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
3187 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
3188 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
3189 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
3190 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
3191 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
3192 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
3193 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
3194 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
3195 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
3196 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
3197 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
3198 332, 333, 334, 335, 336, 337, 338, 339, -1, 341,
3199 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
3200 352, 353, 354, -1, -1, 357, 358, -1, -1, -1,
3201 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3202 -1, -1, -1, -1, 376, -1, -1, -1, -1, -1,
3203 -1, -1, -1, -1, -1, 387, 388, 389, 390, 5,
3204 6, 7, 8, 9, -1, 11, 12, 13, 14, 15,
3205 16, 17, 18, 19, 20, 21, -1, -1, -1, -1,
3206 -1, -1, -1, -1, -1, -1, -1, -1, -1, 35,
3207 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
3208 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
3209 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
3210 66, 67, 68, 69, 70, 71, 72, 73, -1, -1,
3211 -1, -1, -1, -1, -1, -1, -1, 83, -1, -1,
3212 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3213 -1, -1, -1, 99, 100, 101, 102, 103, 104, 105,
3214 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
3215 116, 117, 118, 119, 120, 121, 122, -1, -1, -1,
3216 -1, -1, -1, -1, -1, -1, 132, 133, 134, 135,
3217 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
3218 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
3219 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
3220 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
3221 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
3222 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
3223 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
3224 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
3225 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
3226 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
3227 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
3228 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
3229 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
3230 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
3231 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
3232 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
3233 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
3234 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
3235 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
3236 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
3237 336, 337, 338, 339, -1, 341, 342, 343, 344, 345,
3238 346, 347, 348, 349, 350, 351, 352, 353, 354, -1,
3239 -1, 357, 358, -1, -1, -1, -1, -1, -1, -1,
3240 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3241 376, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3242 -1, 387, 388, 389, 390, 5, 6, 7, 8, 9,
3243 -1, 11, 12, 13, 14, 15, 16, 17, 18, 19,
3244 20, 21, -1, -1, -1, -1, -1, -1, -1, -1,
3245 -1, -1, -1, -1, -1, 35, 36, 37, 38, 39,
3246 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
3247 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
3248 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
3249 70, 71, 72, 73, -1, -1, -1, -1, -1, -1,
3250 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3251 -1, -1, -1, -1, -1, -1, -1, -1, -1, 99,
3252 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
3253 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
3254 120, 121, 122, -1, -1, -1, -1, -1, -1, -1,
3255 -1, -1, 132, 133, 134, 135, 136, 137, 138, 139,
3256 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
3257 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
3258 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
3259 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
3260 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
3261 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
3262 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
3263 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
3264 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
3265 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
3266 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
3267 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
3268 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
3269 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
3270 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
3271 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
3272 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
3273 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
3274 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
3275 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
3279 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
3280 symbol of state STATE-NUM. */
3281 static const yytype_uint16 yystos[] =
3283 0, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3284 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
3285 33, 35, 36, 37, 38, 39, 40, 41, 42, 43,
3286 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
3287 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
3288 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3289 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3290 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
3291 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
3292 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
3293 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
3294 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
3295 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
3296 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
3297 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
3298 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
3299 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
3300 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
3301 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
3302 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
3303 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
3304 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
3305 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
3306 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
3307 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
3308 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
3309 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
3310 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
3311 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
3312 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
3313 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
3314 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
3315 334, 335, 336, 337, 338, 339, 342, 386, 400, 401,
3316 402, 403, 404, 405, 440, 441, 444, 445, 446, 447,
3317 451, 452, 453, 454, 455, 456, 459, 460, 461, 462,
3318 463, 465, 470, 471, 472, 513, 514, 515, 376, 376,
3319 341, 380, 471, 341, 386, 386, 516, 377, 383, 448,
3320 449, 450, 460, 465, 383, 386, 341, 341, 386, 461,
3321 465, 394, 467, 468, 0, 514, 341, 464, 82, 341,
3322 457, 458, 380, 474, 465, 378, 386, 466, 380, 492,
3323 449, 448, 450, 341, 341, 376, 385, 466, 380, 383,
3324 386, 443, 341, 343, 344, 345, 346, 347, 348, 349,
3325 350, 351, 352, 353, 354, 357, 358, 376, 387, 388,
3326 389, 390, 410, 411, 412, 414, 415, 416, 417, 418,
3327 419, 420, 421, 422, 463, 465, 469, 466, 377, 383,
3328 385, 377, 383, 473, 460, 465, 475, 476, 386, 379,
3329 421, 423, 424, 425, 426, 427, 428, 429, 430, 431,
3330 432, 433, 434, 378, 386, 22, 23, 24, 26, 27,
3331 28, 29, 30, 31, 32, 34, 340, 378, 380, 381,
3332 386, 421, 434, 436, 438, 440, 444, 463, 465, 481,
3333 482, 483, 484, 485, 493, 494, 495, 496, 499, 500,
3334 503, 504, 505, 512, 517, 466, 385, 466, 380, 436,
3335 479, 385, 442, 341, 383, 386, 421, 421, 438, 357,
3336 358, 378, 382, 377, 377, 383, 339, 436, 376, 421,
3337 383, 395, 341, 434, 439, 458, 475, 465, 341, 477,
3338 478, 381, 476, 391, 392, 393, 388, 390, 355, 356,
3339 359, 360, 394, 395, 361, 362, 398, 397, 396, 363,
3340 365, 364, 399, 379, 379, 434, 386, 386, 507, 376,
3341 376, 386, 386, 438, 376, 438, 384, 386, 376, 378,
3342 381, 486, 366, 367, 368, 369, 370, 371, 372, 373,
3343 374, 375, 385, 437, 383, 386, 381, 482, 496, 500,
3344 505, 479, 385, 479, 480, 479, 475, 341, 377, 413,
3345 438, 341, 436, 421, 381, 477, 466, 383, 386, 421,
3346 421, 421, 423, 423, 424, 424, 425, 425, 425, 425,
3347 426, 426, 427, 428, 429, 430, 431, 432, 435, 379,
3348 482, 508, 438, 386, 438, 384, 506, 341, 518, 519,
3349 493, 436, 436, 479, 381, 383, 381, 379, 386, 478,
3350 438, 340, 481, 494, 509, 377, 377, 438, 453, 460,
3351 498, 376, 379, 383, 487, 381, 479, 384, 376, 498,
3352 510, 511, 489, 490, 491, 497, 501, 341, 377, 439,
3353 379, 519, 381, 436, 438, 386, 377, 25, 485, 483,
3354 380, 385, 483, 488, 492, 377, 377, 438, 488, 489,
3355 493, 502, 479, 386, 381
3358 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
3359 static const yytype_uint16 yyr1[] =
3361 0, 409, 410, 411, 411, 411, 411, 411, 411, 411,
3362 411, 411, 411, 411, 411, 411, 411, 412, 412, 412,
3363 412, 412, 412, 413, 414, 415, 416, 416, 417, 417,
3364 418, 418, 419, 420, 420, 420, 421, 421, 421, 421,
3365 422, 422, 422, 422, 423, 423, 423, 423, 424, 424,
3366 424, 425, 425, 425, 426, 426, 426, 426, 426, 427,
3367 427, 427, 428, 428, 429, 429, 430, 430, 431, 431,
3368 432, 432, 433, 433, 434, 435, 434, 436, 436, 437,
3369 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
3370 438, 438, 439, 440, 440, 440, 440, 440, 440, 440,
3371 440, 440, 442, 441, 443, 443, 444, 445, 445, 446,
3372 446, 447, 448, 448, 449, 449, 449, 449, 450, 451,
3373 451, 451, 451, 451, 452, 452, 452, 452, 452, 453,
3374 453, 454, 455, 455, 455, 455, 455, 455, 455, 455,
3375 456, 457, 457, 458, 458, 458, 459, 460, 460, 461,
3376 461, 461, 461, 461, 461, 461, 462, 462, 462, 462,
3377 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3378 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
3379 462, 462, 462, 462, 462, 463, 464, 464, 465, 465,
3380 466, 466, 466, 466, 467, 467, 468, 469, 469, 470,
3381 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3382 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3383 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3384 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3385 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3386 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3387 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3388 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3389 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3390 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3391 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3392 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3393 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3394 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3395 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3396 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3397 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3398 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3399 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3400 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3401 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3402 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3403 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3404 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3405 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3406 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3407 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3408 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
3409 470, 470, 470, 470, 470, 470, 470, 471, 471, 471,
3410 473, 472, 474, 472, 475, 475, 476, 476, 477, 477,
3411 478, 478, 479, 479, 479, 480, 480, 481, 482, 482,
3412 483, 483, 483, 483, 483, 483, 483, 483, 484, 485,
3413 486, 487, 485, 488, 488, 490, 489, 491, 489, 492,
3414 492, 493, 493, 494, 494, 495, 495, 496, 497, 497,
3415 498, 498, 499, 499, 501, 500, 502, 502, 503, 503,
3416 504, 504, 506, 505, 507, 505, 508, 505, 509, 509,
3417 510, 510, 511, 511, 512, 512, 512, 512, 512, 513,
3418 513, 514, 514, 514, 516, 515, 517, 518, 518, 519,
3422 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
3423 static const yytype_uint8 yyr2[] =
3425 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
3426 1, 1, 1, 1, 1, 1, 3, 1, 4, 1,
3427 3, 2, 2, 1, 1, 1, 2, 2, 2, 1,
3428 2, 3, 2, 1, 1, 1, 1, 2, 2, 2,
3429 1, 1, 1, 1, 1, 3, 3, 3, 1, 3,
3430 3, 1, 3, 3, 1, 3, 3, 3, 3, 1,
3431 3, 3, 1, 3, 1, 3, 1, 3, 1, 3,
3432 1, 3, 1, 3, 1, 0, 6, 1, 3, 1,
3433 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3434 1, 3, 1, 2, 2, 4, 2, 3, 4, 2,
3435 3, 4, 0, 6, 2, 3, 2, 1, 1, 2,
3436 3, 3, 2, 3, 2, 1, 2, 1, 1, 1,
3437 3, 4, 6, 5, 1, 2, 3, 5, 4, 1,
3438 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3439 4, 1, 3, 1, 3, 1, 1, 1, 2, 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, 4, 1, 1, 3, 2, 3,
3444 2, 3, 3, 4, 1, 0, 3, 1, 3, 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 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3464 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3465 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3466 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3467 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3468 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3469 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3470 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3471 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3472 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3473 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3474 0, 6, 0, 5, 1, 2, 3, 4, 1, 3,
3475 1, 2, 1, 3, 4, 1, 3, 1, 1, 1,
3476 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
3477 0, 0, 5, 1, 1, 0, 2, 0, 2, 2,
3478 3, 1, 2, 1, 2, 1, 2, 5, 3, 1,
3479 1, 4, 1, 2, 0, 8, 0, 1, 3, 2,
3480 1, 2, 0, 6, 0, 8, 0, 7, 1, 1,
3481 1, 0, 2, 3, 2, 2, 2, 3, 2, 1,
3482 2, 1, 1, 1, 0, 3, 5, 1, 3, 1,
3487 #define yyerrok (yyerrstatus = 0)
3488 #define yyclearin (yychar = YYEMPTY)
3489 #define YYEMPTY (-2)
3492 #define YYACCEPT goto yyacceptlab
3493 #define YYABORT goto yyabortlab
3494 #define YYERROR goto yyerrorlab
3497 #define YYRECOVERING() (!!yyerrstatus)
3499 #define YYBACKUP(Token, Value) \
3501 if (yychar == YYEMPTY) \
3505 YYPOPSTACK (yylen); \
3511 yyerror (pParseContext, YY_("syntax error: cannot back up")); \
3516 /* Error token number */
3518 #define YYERRCODE 256
3522 /* Enable debugging if requested. */
3526 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
3527 # define YYFPRINTF fprintf
3530 # define YYDPRINTF(Args) \
3536 /* This macro is provided for backward compatibility. */
3537 #ifndef YY_LOCATION_PRINT
3538 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
3542 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
3546 YYFPRINTF (stderr, "%s ", Title); \
3547 yy_symbol_print (stderr, \
3548 Type, Value, pParseContext); \
3549 YYFPRINTF (stderr, "\n"); \
3554 /*----------------------------------------.
3555 | Print this symbol's value on YYOUTPUT. |
3556 `----------------------------------------*/
3559 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, glslang::TParseContext* pParseContext)
3561 FILE *yyo = yyoutput;
3563 YYUSE (pParseContext);
3567 if (yytype < YYNTOKENS)
3568 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
3574 /*--------------------------------.
3575 | Print this symbol on YYOUTPUT. |
3576 `--------------------------------*/
3579 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, glslang::TParseContext* pParseContext)
3581 YYFPRINTF (yyoutput, "%s %s (",
3582 yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
3584 yy_symbol_value_print (yyoutput, yytype, yyvaluep, pParseContext);
3585 YYFPRINTF (yyoutput, ")");
3588 /*------------------------------------------------------------------.
3589 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
3591 `------------------------------------------------------------------*/
3594 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
3596 YYFPRINTF (stderr, "Stack now");
3597 for (; yybottom <= yytop; yybottom++)
3599 int yybot = *yybottom;
3600 YYFPRINTF (stderr, " %d", yybot);
3602 YYFPRINTF (stderr, "\n");
3605 # define YY_STACK_PRINT(Bottom, Top) \
3608 yy_stack_print ((Bottom), (Top)); \
3612 /*------------------------------------------------.
3613 | Report that the YYRULE is going to be reduced. |
3614 `------------------------------------------------*/
3617 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, glslang::TParseContext* pParseContext)
3619 unsigned long int yylno = yyrline[yyrule];
3620 int yynrhs = yyr2[yyrule];
3622 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
3624 /* The symbols being reduced. */
3625 for (yyi = 0; yyi < yynrhs; yyi++)
3627 YYFPRINTF (stderr, " $%d = ", yyi + 1);
3628 yy_symbol_print (stderr,
3629 yystos[yyssp[yyi + 1 - yynrhs]],
3630 &(yyvsp[(yyi + 1) - (yynrhs)])
3632 YYFPRINTF (stderr, "\n");
3636 # define YY_REDUCE_PRINT(Rule) \
3639 yy_reduce_print (yyssp, yyvsp, Rule, pParseContext); \
3642 /* Nonzero means print parse trace. It is left uninitialized so that
3643 multiple parsers can coexist. */
3645 #else /* !YYDEBUG */
3646 # define YYDPRINTF(Args)
3647 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
3648 # define YY_STACK_PRINT(Bottom, Top)
3649 # define YY_REDUCE_PRINT(Rule)
3650 #endif /* !YYDEBUG */
3653 /* YYINITDEPTH -- initial size of the parser's stacks. */
3655 # define YYINITDEPTH 200
3658 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3659 if the built-in stack extension method is used).
3661 Do not make this value too large; the results are undefined if
3662 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
3663 evaluated with infinite-precision integer arithmetic. */
3666 # define YYMAXDEPTH 10000
3673 # if defined __GLIBC__ && defined _STRING_H
3674 # define yystrlen strlen
3676 /* Return the length of YYSTR. */
3678 yystrlen (const char *yystr)
3681 for (yylen = 0; yystr[yylen]; yylen++)
3689 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
3690 # define yystpcpy stpcpy
3692 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3695 yystpcpy (char *yydest, const char *yysrc)
3698 const char *yys = yysrc;
3700 while ((*yyd++ = *yys++) != '\0')
3709 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3710 quotes and backslashes, so that it's suitable for yyerror. The
3711 heuristic is that double-quoting is unnecessary unless the string
3712 contains an apostrophe, a comma, or backslash (other than
3713 backslash-backslash). YYSTR is taken from yytname. If YYRES is
3714 null, do not copy; instead, return the length of what the result
3717 yytnamerr (char *yyres, const char *yystr)
3722 char const *yyp = yystr;
3729 goto do_not_strip_quotes;
3733 goto do_not_strip_quotes;
3746 do_not_strip_quotes: ;
3750 return yystrlen (yystr);
3752 return yystpcpy (yyres, yystr) - yyres;
3756 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
3757 about the unexpected token YYTOKEN for the state stack whose top is
3760 Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
3761 not large enough to hold the message. In that case, also set
3762 *YYMSG_ALLOC to the required number of bytes. Return 2 if the
3763 required number of bytes is too large to store. */
3765 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
3766 yytype_int16 *yyssp, int yytoken)
3768 YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
3769 YYSIZE_T yysize = yysize0;
3770 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3771 /* Internationalized format string. */
3772 const char *yyformat = YY_NULLPTR;
3773 /* Arguments of yyformat. */
3774 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3775 /* Number of reported tokens (one for the "unexpected", one per
3779 /* There are many possibilities here to consider:
3780 - If this state is a consistent state with a default action, then
3781 the only way this function was invoked is if the default action
3782 is an error action. In that case, don't check for expected
3783 tokens because there are none.
3784 - The only way there can be no lookahead present (in yychar) is if
3785 this state is a consistent state with a default action. Thus,
3786 detecting the absence of a lookahead is sufficient to determine
3787 that there is no unexpected or expected token to report. In that
3788 case, just report a simple "syntax error".
3789 - Don't assume there isn't a lookahead just because this state is a
3790 consistent state with a default action. There might have been a
3791 previous inconsistent state, consistent state with a non-default
3792 action, or user semantic action that manipulated yychar.
3793 - Of course, the expected token list depends on states to have
3794 correct lookahead information, and it depends on the parser not
3795 to perform extra reductions after fetching a lookahead from the
3796 scanner and before detecting a syntax error. Thus, state merging
3797 (from LALR or IELR) and default reductions corrupt the expected
3798 token list. However, the list is correct for canonical LR with
3799 one exception: it will still contain any token that will not be
3800 accepted due to an error action in a later state.
3802 if (yytoken != YYEMPTY)
3804 int yyn = yypact[*yyssp];
3805 yyarg[yycount++] = yytname[yytoken];
3806 if (!yypact_value_is_default (yyn))
3808 /* Start YYX at -YYN if negative to avoid negative indexes in
3809 YYCHECK. In other words, skip the first -YYN actions for
3810 this state because they are default actions. */
3811 int yyxbegin = yyn < 0 ? -yyn : 0;
3812 /* Stay within bounds of both yycheck and yytname. */
3813 int yychecklim = YYLAST - yyn + 1;
3814 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3817 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3818 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
3819 && !yytable_value_is_error (yytable[yyx + yyn]))
3821 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3827 yyarg[yycount++] = yytname[yyx];
3829 YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
3830 if (! (yysize <= yysize1
3831 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
3841 # define YYCASE_(N, S) \
3845 YYCASE_(0, YY_("syntax error"));
3846 YYCASE_(1, YY_("syntax error, unexpected %s"));
3847 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
3848 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
3849 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
3850 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
3855 YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
3856 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
3861 if (*yymsg_alloc < yysize)
3863 *yymsg_alloc = 2 * yysize;
3864 if (! (yysize <= *yymsg_alloc
3865 && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
3866 *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
3870 /* Avoid sprintf, as that infringes on the user's name space.
3871 Don't have undefined behavior even if the translation
3872 produced a string with the wrong number of "%s"s. */
3876 while ((*yyp = *yyformat) != '\0')
3877 if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
3879 yyp += yytnamerr (yyp, yyarg[yyi++]);
3890 #endif /* YYERROR_VERBOSE */
3892 /*-----------------------------------------------.
3893 | Release the memory associated to this symbol. |
3894 `-----------------------------------------------*/
3897 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, glslang::TParseContext* pParseContext)
3900 YYUSE (pParseContext);
3903 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3905 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3907 YY_IGNORE_MAYBE_UNINITIALIZED_END
3918 yyparse (glslang::TParseContext* pParseContext)
3920 /* The lookahead symbol. */
3924 /* The semantic value of the lookahead symbol. */
3925 /* Default value used for initialization, for pacifying older GCCs
3926 or non-GCC compilers. */
3927 YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
3928 YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
3930 /* Number of syntax errors so far. */
3934 /* Number of tokens to shift before error messages enabled. */
3937 /* The stacks and their tools:
3938 'yyss': related to states.
3939 'yyvs': related to semantic values.
3941 Refer to the stacks through separate pointers, to allow yyoverflow
3942 to reallocate them elsewhere. */
3944 /* The state stack. */
3945 yytype_int16 yyssa[YYINITDEPTH];
3947 yytype_int16 *yyssp;
3949 /* The semantic value stack. */
3950 YYSTYPE yyvsa[YYINITDEPTH];
3954 YYSIZE_T yystacksize;
3958 /* Lookahead token as an internal (translated) token number. */
3960 /* The variables used to return semantic value and location from the
3965 /* Buffer for error messages, and its allocated size. */
3967 char *yymsg = yymsgbuf;
3968 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
3971 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
3973 /* The number of symbols on the RHS of the reduced rule.
3974 Keep to zero when no symbol should be popped. */
3977 yyssp = yyss = yyssa;
3978 yyvsp = yyvs = yyvsa;
3979 yystacksize = YYINITDEPTH;
3981 YYDPRINTF ((stderr, "Starting parse\n"));
3986 yychar = YYEMPTY; /* Cause a token to be read. */
3989 /*------------------------------------------------------------.
3990 | yynewstate -- Push a new state, which is found in yystate. |
3991 `------------------------------------------------------------*/
3993 /* In all cases, when you get here, the value and location stacks
3994 have just been pushed. So pushing a state here evens the stacks. */
4000 if (yyss + yystacksize - 1 <= yyssp)
4002 /* Get the current used size of the three stacks, in elements. */
4003 YYSIZE_T yysize = yyssp - yyss + 1;
4007 /* Give user a chance to reallocate the stack. Use copies of
4008 these so that the &'s don't force the real ones into
4010 YYSTYPE *yyvs1 = yyvs;
4011 yytype_int16 *yyss1 = yyss;
4013 /* Each stack pointer address is followed by the size of the
4014 data in use in that stack, in bytes. This used to be a
4015 conditional around just the two extra args, but that might
4016 be undefined if yyoverflow is a macro. */
4017 yyoverflow (YY_("memory exhausted"),
4018 &yyss1, yysize * sizeof (*yyssp),
4019 &yyvs1, yysize * sizeof (*yyvsp),
4025 #else /* no yyoverflow */
4026 # ifndef YYSTACK_RELOCATE
4027 goto yyexhaustedlab;
4029 /* Extend the stack our own way. */
4030 if (YYMAXDEPTH <= yystacksize)
4031 goto yyexhaustedlab;
4033 if (YYMAXDEPTH < yystacksize)
4034 yystacksize = YYMAXDEPTH;
4037 yytype_int16 *yyss1 = yyss;
4038 union yyalloc *yyptr =
4039 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
4041 goto yyexhaustedlab;
4042 YYSTACK_RELOCATE (yyss_alloc, yyss);
4043 YYSTACK_RELOCATE (yyvs_alloc, yyvs);
4044 # undef YYSTACK_RELOCATE
4046 YYSTACK_FREE (yyss1);
4049 #endif /* no yyoverflow */
4051 yyssp = yyss + yysize - 1;
4052 yyvsp = yyvs + yysize - 1;
4054 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
4055 (unsigned long int) yystacksize));
4057 if (yyss + yystacksize - 1 <= yyssp)
4061 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
4063 if (yystate == YYFINAL)
4073 /* Do appropriate processing given the current state. Read a
4074 lookahead token if we need one and don't already have one. */
4076 /* First try to decide what to do without reference to lookahead token. */
4077 yyn = yypact[yystate];
4078 if (yypact_value_is_default (yyn))
4081 /* Not known => get a lookahead token if don't already have one. */
4083 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
4084 if (yychar == YYEMPTY)
4086 YYDPRINTF ((stderr, "Reading a token: "));
4087 yychar = yylex (&yylval, parseContext);
4090 if (yychar <= YYEOF)
4092 yychar = yytoken = YYEOF;
4093 YYDPRINTF ((stderr, "Now at end of input.\n"));
4097 yytoken = YYTRANSLATE (yychar);
4098 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
4101 /* If the proper action on seeing token YYTOKEN is to reduce or to
4102 detect an error, take that action. */
4104 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
4109 if (yytable_value_is_error (yyn))
4115 /* Count tokens shifted since error; after three, turn off error
4120 /* Shift the lookahead token. */
4121 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
4123 /* Discard the shifted token. */
4127 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
4129 YY_IGNORE_MAYBE_UNINITIALIZED_END
4134 /*-----------------------------------------------------------.
4135 | yydefault -- do the default action for the current state. |
4136 `-----------------------------------------------------------*/
4138 yyn = yydefact[yystate];
4144 /*-----------------------------.
4145 | yyreduce -- Do a reduction. |
4146 `-----------------------------*/
4148 /* yyn is the number of a rule to reduce with. */
4151 /* If YYLEN is nonzero, implement the default value of the action:
4154 Otherwise, the following line sets YYVAL to garbage.
4155 This behavior is undocumented and Bison
4156 users should not rely upon it. Assigning to YYVAL
4157 unconditionally makes the parser a bit smaller, and it avoids a
4158 GCC warning that YYVAL may be used uninitialized. */
4159 yyval = yyvsp[1-yylen];
4162 YY_REDUCE_PRINT (yyn);
4166 #line 302 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4168 (yyval.interm.intermTypedNode) = parseContext.handleVariable((yyvsp[0].lex).loc, (yyvsp[0].lex).symbol, (yyvsp[0].lex).string);
4170 #line 4171 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4174 #line 308 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4176 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4178 #line 4179 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4182 #line 311 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4184 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal");
4185 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
4187 #line 4188 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4191 #line 315 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4193 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal");
4194 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
4196 #line 4197 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4200 #line 319 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4202 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
4204 #line 4205 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4208 #line 322 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4210 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned literal");
4211 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
4213 #line 4214 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4217 #line 326 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4219 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer literal");
4220 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i64, (yyvsp[0].lex).loc, true);
4222 #line 4223 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4226 #line 330 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4228 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer literal");
4229 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u64, (yyvsp[0].lex).loc, true);
4231 #line 4232 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4235 #line 334 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4237 parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit integer literal");
4238 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((short)(yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
4240 #line 4241 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4244 #line 338 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4246 parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit unsigned integer literal");
4247 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((unsigned short)(yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
4249 #line 4250 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4253 #line 342 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4255 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);
4257 #line 4258 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4261 #line 345 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4263 parseContext.doubleCheck((yyvsp[0].lex).loc, "double literal");
4264 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtDouble, (yyvsp[0].lex).loc, true);
4266 #line 4267 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4270 #line 349 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4272 parseContext.float16Check((yyvsp[0].lex).loc, "half float literal");
4273 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat16, (yyvsp[0].lex).loc, true);
4275 #line 4276 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4279 #line 353 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4281 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);
4283 #line 4284 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4287 #line 356 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4289 (yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode);
4290 if ((yyval.interm.intermTypedNode)->getAsConstantUnion())
4291 (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();
4293 #line 4294 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4297 #line 364 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4299 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4301 #line 4302 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4305 #line 367 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4307 (yyval.interm.intermTypedNode) = parseContext.handleBracketDereference((yyvsp[-2].lex).loc, (yyvsp[-3].interm.intermTypedNode), (yyvsp[-1].interm.intermTypedNode));
4309 #line 4310 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4313 #line 370 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4315 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4317 #line 4318 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4321 #line 373 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4323 (yyval.interm.intermTypedNode) = parseContext.handleDotDereference((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode), *(yyvsp[0].lex).string);
4325 #line 4326 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4329 #line 376 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4331 parseContext.variableCheck((yyvsp[-1].interm.intermTypedNode));
4332 parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "++", (yyvsp[-1].interm.intermTypedNode));
4333 (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "++", EOpPostIncrement, (yyvsp[-1].interm.intermTypedNode));
4335 #line 4336 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4339 #line 381 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4341 parseContext.variableCheck((yyvsp[-1].interm.intermTypedNode));
4342 parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "--", (yyvsp[-1].interm.intermTypedNode));
4343 (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "--", EOpPostDecrement, (yyvsp[-1].interm.intermTypedNode));
4345 #line 4346 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4349 #line 389 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4351 parseContext.integerCheck((yyvsp[0].interm.intermTypedNode), "[]");
4352 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4354 #line 4355 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4358 #line 396 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4360 (yyval.interm.intermTypedNode) = parseContext.handleFunctionCall((yyvsp[0].interm).loc, (yyvsp[0].interm).function, (yyvsp[0].interm).intermNode);
4361 delete (yyvsp[0].interm).function;
4363 #line 4364 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4367 #line 403 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4369 (yyval.interm) = (yyvsp[0].interm);
4371 #line 4372 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4375 #line 409 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4377 (yyval.interm) = (yyvsp[-1].interm);
4378 (yyval.interm).loc = (yyvsp[0].lex).loc;
4380 #line 4381 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4384 #line 413 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4386 (yyval.interm) = (yyvsp[-1].interm);
4387 (yyval.interm).loc = (yyvsp[0].lex).loc;
4389 #line 4390 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4393 #line 420 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4395 (yyval.interm) = (yyvsp[-1].interm);
4397 #line 4398 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4401 #line 423 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4403 (yyval.interm) = (yyvsp[0].interm);
4405 #line 4406 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4409 #line 429 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4411 TParameter param = { 0, new TType };
4412 param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType());
4413 (yyvsp[-1].interm).function->addParameter(param);
4414 (yyval.interm).function = (yyvsp[-1].interm).function;
4415 (yyval.interm).intermNode = (yyvsp[0].interm.intermTypedNode);
4417 #line 4418 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4421 #line 436 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4423 TParameter param = { 0, new TType };
4424 param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType());
4425 (yyvsp[-2].interm).function->addParameter(param);
4426 (yyval.interm).function = (yyvsp[-2].interm).function;
4427 (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-2].interm).intermNode, (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc);
4429 #line 4430 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4433 #line 446 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4435 (yyval.interm) = (yyvsp[-1].interm);
4437 #line 4438 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4441 #line 454 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4444 (yyval.interm).intermNode = 0;
4445 (yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type));
4447 #line 4448 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4451 #line 459 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4454 // Should be a method or subroutine call, but we haven't recognized the arguments yet.
4456 (yyval.interm).function = 0;
4457 (yyval.interm).intermNode = 0;
4459 TIntermMethod* method = (yyvsp[0].interm.intermTypedNode)->getAsMethodNode();
4461 (yyval.interm).function = new TFunction(&method->getMethodName(), TType(EbtInt), EOpArrayLength);
4462 (yyval.interm).intermNode = method->getObject();
4464 TIntermSymbol* symbol = (yyvsp[0].interm.intermTypedNode)->getAsSymbolNode();
4466 parseContext.reservedErrorCheck(symbol->getLoc(), symbol->getName());
4467 TFunction *function = new TFunction(&symbol->getName(), TType(EbtVoid));
4468 (yyval.interm).function = function;
4470 parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "function call, method, or subroutine call expected", "", "");
4473 if ((yyval.interm).function == 0) {
4475 TString* empty = NewPoolTString("");
4476 (yyval.interm).function = new TFunction(empty, TType(EbtVoid), EOpNull);
4479 #line 4480 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4483 #line 486 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4486 (yyval.interm).intermNode = 0;
4487 (yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type));
4489 #line 4490 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4493 #line 494 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4495 parseContext.variableCheck((yyvsp[0].interm.intermTypedNode));
4496 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4497 if (TIntermMethod* method = (yyvsp[0].interm.intermTypedNode)->getAsMethodNode())
4498 parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "incomplete method syntax", method->getMethodName().c_str(), "");
4500 #line 4501 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4504 #line 500 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4506 parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "++", (yyvsp[0].interm.intermTypedNode));
4507 (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "++", EOpPreIncrement, (yyvsp[0].interm.intermTypedNode));
4509 #line 4510 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4513 #line 504 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4515 parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "--", (yyvsp[0].interm.intermTypedNode));
4516 (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "--", EOpPreDecrement, (yyvsp[0].interm.intermTypedNode));
4518 #line 4519 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4522 #line 508 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4524 if ((yyvsp[-1].interm).op != EOpNull) {
4525 char errorOp[2] = {0, 0};
4526 switch((yyvsp[-1].interm).op) {
4527 case EOpNegative: errorOp[0] = '-'; break;
4528 case EOpLogicalNot: errorOp[0] = '!'; break;
4529 case EOpBitwiseNot: errorOp[0] = '~'; break;
4530 default: break; // some compilers want this
4532 (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].interm).loc, errorOp, (yyvsp[-1].interm).op, (yyvsp[0].interm.intermTypedNode));
4534 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4535 if ((yyval.interm.intermTypedNode)->getAsConstantUnion())
4536 (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();
4539 #line 4540 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4543 #line 528 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4544 { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNull; }
4545 #line 4546 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4549 #line 529 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4550 { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNegative; }
4551 #line 4552 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4555 #line 530 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4556 { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLogicalNot; }
4557 #line 4558 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4561 #line 531 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4562 { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpBitwiseNot;
4563 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise not"); }
4564 #line 4565 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4568 #line 537 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4569 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4570 #line 4571 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4574 #line 538 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4576 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "*", EOpMul, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4577 if ((yyval.interm.intermTypedNode) == 0)
4578 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4580 #line 4581 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4584 #line 543 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4586 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "/", EOpDiv, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4587 if ((yyval.interm.intermTypedNode) == 0)
4588 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4590 #line 4591 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4594 #line 548 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4596 parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "%");
4597 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "%", EOpMod, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4598 if ((yyval.interm.intermTypedNode) == 0)
4599 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4601 #line 4602 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4605 #line 557 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4606 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4607 #line 4608 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4611 #line 558 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4613 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "+", EOpAdd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4614 if ((yyval.interm.intermTypedNode) == 0)
4615 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4617 #line 4618 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4621 #line 563 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4623 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "-", EOpSub, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4624 if ((yyval.interm.intermTypedNode) == 0)
4625 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4627 #line 4628 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4631 #line 571 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4632 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4633 #line 4634 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4637 #line 572 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4639 parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bit shift left");
4640 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<<", EOpLeftShift, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4641 if ((yyval.interm.intermTypedNode) == 0)
4642 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4644 #line 4645 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4648 #line 578 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4650 parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bit shift right");
4651 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">>", EOpRightShift, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4652 if ((yyval.interm.intermTypedNode) == 0)
4653 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4655 #line 4656 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4659 #line 587 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4660 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4661 #line 4662 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4665 #line 588 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4667 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<", EOpLessThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4668 if ((yyval.interm.intermTypedNode) == 0)
4669 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4671 #line 4672 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4675 #line 593 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4677 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">", EOpGreaterThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4678 if ((yyval.interm.intermTypedNode) == 0)
4679 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4681 #line 4682 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4685 #line 598 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4687 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<=", EOpLessThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4688 if ((yyval.interm.intermTypedNode) == 0)
4689 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4691 #line 4692 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4695 #line 603 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4697 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">=", EOpGreaterThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4698 if ((yyval.interm.intermTypedNode) == 0)
4699 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4701 #line 4702 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4705 #line 611 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4706 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4707 #line 4708 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4711 #line 612 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4713 parseContext.arrayObjectCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array comparison");
4714 parseContext.opaqueCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "==");
4715 parseContext.specializationCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "==");
4716 parseContext.referenceCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "==");
4717 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "==", EOpEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4718 if ((yyval.interm.intermTypedNode) == 0)
4719 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4721 #line 4722 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4725 #line 621 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4727 parseContext.arrayObjectCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array comparison");
4728 parseContext.opaqueCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "!=");
4729 parseContext.specializationCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "!=");
4730 parseContext.referenceCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "!=");
4731 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "!=", EOpNotEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4732 if ((yyval.interm.intermTypedNode) == 0)
4733 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4735 #line 4736 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4739 #line 633 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4740 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4741 #line 4742 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4745 #line 634 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4747 parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise and");
4748 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "&", EOpAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4749 if ((yyval.interm.intermTypedNode) == 0)
4750 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4752 #line 4753 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4756 #line 643 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4757 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4758 #line 4759 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4762 #line 644 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4764 parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise exclusive or");
4765 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "^", EOpExclusiveOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4766 if ((yyval.interm.intermTypedNode) == 0)
4767 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4769 #line 4770 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4773 #line 653 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4774 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4775 #line 4776 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4779 #line 654 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4781 parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise inclusive or");
4782 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "|", EOpInclusiveOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4783 if ((yyval.interm.intermTypedNode) == 0)
4784 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4786 #line 4787 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4790 #line 663 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4791 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4792 #line 4793 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4796 #line 664 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4798 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "&&", EOpLogicalAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4799 if ((yyval.interm.intermTypedNode) == 0)
4800 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4802 #line 4803 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4806 #line 672 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4807 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4808 #line 4809 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4812 #line 673 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4814 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "^^", EOpLogicalXor, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4815 if ((yyval.interm.intermTypedNode) == 0)
4816 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4818 #line 4819 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4822 #line 681 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4823 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4824 #line 4825 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4828 #line 682 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4830 (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "||", EOpLogicalOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
4831 if ((yyval.interm.intermTypedNode) == 0)
4832 (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
4834 #line 4835 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4838 #line 690 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4839 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4840 #line 4841 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4844 #line 691 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4846 ++parseContext.controlFlowNestingLevel;
4848 #line 4849 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4852 #line 694 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4854 --parseContext.controlFlowNestingLevel;
4855 parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-5].interm.intermTypedNode));
4856 parseContext.rValueErrorCheck((yyvsp[-4].lex).loc, "?", (yyvsp[-5].interm.intermTypedNode));
4857 parseContext.rValueErrorCheck((yyvsp[-1].lex).loc, ":", (yyvsp[-2].interm.intermTypedNode));
4858 parseContext.rValueErrorCheck((yyvsp[-1].lex).loc, ":", (yyvsp[0].interm.intermTypedNode));
4859 (yyval.interm.intermTypedNode) = parseContext.intermediate.addSelection((yyvsp[-5].interm.intermTypedNode), (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yyvsp[-4].lex).loc);
4860 if ((yyval.interm.intermTypedNode) == 0) {
4861 parseContext.binaryOpError((yyvsp[-4].lex).loc, ":", (yyvsp[-2].interm.intermTypedNode)->getCompleteString(), (yyvsp[0].interm.intermTypedNode)->getCompleteString());
4862 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4865 #line 4866 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4869 #line 709 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4870 { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
4871 #line 4872 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4875 #line 710 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4877 parseContext.arrayObjectCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array assignment");
4878 parseContext.opaqueCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=");
4879 parseContext.storage16BitAssignmentCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=");
4880 parseContext.specializationCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=");
4881 parseContext.lValueErrorCheck((yyvsp[-1].interm).loc, "assign", (yyvsp[-2].interm.intermTypedNode));
4882 parseContext.rValueErrorCheck((yyvsp[-1].interm).loc, "assign", (yyvsp[0].interm.intermTypedNode));
4883 (yyval.interm.intermTypedNode) = parseContext.intermediate.addAssign((yyvsp[-1].interm).op, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].interm).loc);
4884 if ((yyval.interm.intermTypedNode) == 0) {
4885 parseContext.assignError((yyvsp[-1].interm).loc, "assign", (yyvsp[-2].interm.intermTypedNode)->getCompleteString(), (yyvsp[0].interm.intermTypedNode)->getCompleteString());
4886 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
4889 #line 4890 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4893 #line 726 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4895 (yyval.interm).loc = (yyvsp[0].lex).loc;
4896 (yyval.interm).op = EOpAssign;
4898 #line 4899 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4902 #line 730 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4904 (yyval.interm).loc = (yyvsp[0].lex).loc;
4905 (yyval.interm).op = EOpMulAssign;
4907 #line 4908 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4911 #line 734 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4913 (yyval.interm).loc = (yyvsp[0].lex).loc;
4914 (yyval.interm).op = EOpDivAssign;
4916 #line 4917 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4920 #line 738 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4922 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "%=");
4923 (yyval.interm).loc = (yyvsp[0].lex).loc;
4924 (yyval.interm).op = EOpModAssign;
4926 #line 4927 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4930 #line 743 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4932 (yyval.interm).loc = (yyvsp[0].lex).loc;
4933 (yyval.interm).op = EOpAddAssign;
4935 #line 4936 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4939 #line 747 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4941 (yyval.interm).loc = (yyvsp[0].lex).loc;
4942 (yyval.interm).op = EOpSubAssign;
4944 #line 4945 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4948 #line 751 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4950 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift left assign");
4951 (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLeftShiftAssign;
4953 #line 4954 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4957 #line 755 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4959 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift right assign");
4960 (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpRightShiftAssign;
4962 #line 4963 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4966 #line 759 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4968 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-and assign");
4969 (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAndAssign;
4971 #line 4972 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4975 #line 763 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4977 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-xor assign");
4978 (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpExclusiveOrAssign;
4980 #line 4981 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4984 #line 767 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4986 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-or assign");
4987 (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpInclusiveOrAssign;
4989 #line 4990 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
4993 #line 774 "MachineIndependent/glslang.y" /* yacc.c:1646 */
4995 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
4997 #line 4998 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5001 #line 777 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5003 parseContext.samplerConstructorLocationCheck((yyvsp[-1].lex).loc, ",", (yyvsp[0].interm.intermTypedNode));
5004 (yyval.interm.intermTypedNode) = parseContext.intermediate.addComma((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc);
5005 if ((yyval.interm.intermTypedNode) == 0) {
5006 parseContext.binaryOpError((yyvsp[-1].lex).loc, ",", (yyvsp[-2].interm.intermTypedNode)->getCompleteString(), (yyvsp[0].interm.intermTypedNode)->getCompleteString());
5007 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
5010 #line 5011 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5014 #line 788 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5016 parseContext.constantValueCheck((yyvsp[0].interm.intermTypedNode), "");
5017 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
5019 #line 5020 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5023 #line 795 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5025 parseContext.handleFunctionDeclarator((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).function, true /* prototype */);
5026 (yyval.interm.intermNode) = 0;
5027 // TODO: 4.0 functionality: subroutines: make the identifier a user type for this signature
5029 #line 5030 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5033 #line 800 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5035 if ((yyvsp[-1].interm).intermNode && (yyvsp[-1].interm).intermNode->getAsAggregate())
5036 (yyvsp[-1].interm).intermNode->getAsAggregate()->setOperator(EOpSequence);
5037 (yyval.interm.intermNode) = (yyvsp[-1].interm).intermNode;
5039 #line 5040 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5043 #line 805 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5045 parseContext.profileRequires((yyvsp[-3].lex).loc, ENoProfile, 130, 0, "precision statement");
5047 // lazy setting of the previous scope's defaults, has effect only the first time it is called in a particular scope
5048 parseContext.symbolTable.setPreviousDefaultPrecisions(&parseContext.defaultPrecision[0]);
5049 parseContext.setDefaultPrecision((yyvsp[-3].lex).loc, (yyvsp[-1].interm.type), (yyvsp[-2].interm.type).qualifier.precision);
5050 (yyval.interm.intermNode) = 0;
5052 #line 5053 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5056 #line 813 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5058 parseContext.declareBlock((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).typeList);
5059 (yyval.interm.intermNode) = 0;
5061 #line 5062 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5065 #line 817 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5067 parseContext.declareBlock((yyvsp[-2].interm).loc, *(yyvsp[-2].interm).typeList, (yyvsp[-1].lex).string);
5068 (yyval.interm.intermNode) = 0;
5070 #line 5071 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5074 #line 821 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5076 parseContext.declareBlock((yyvsp[-3].interm).loc, *(yyvsp[-3].interm).typeList, (yyvsp[-2].lex).string, (yyvsp[-1].interm).arraySizes);
5077 (yyval.interm.intermNode) = 0;
5079 #line 5080 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5083 #line 825 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5085 parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier);
5086 parseContext.updateStandaloneQualifierDefaults((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type));
5087 (yyval.interm.intermNode) = 0;
5089 #line 5090 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5093 #line 830 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5095 parseContext.checkNoShaderLayouts((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).shaderQualifiers);
5096 parseContext.addQualifierToExisting((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).qualifier, *(yyvsp[-1].lex).string);
5097 (yyval.interm.intermNode) = 0;
5099 #line 5100 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5103 #line 835 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5105 parseContext.checkNoShaderLayouts((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).shaderQualifiers);
5106 (yyvsp[-1].interm.identifierList)->push_back((yyvsp[-2].lex).string);
5107 parseContext.addQualifierToExisting((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).qualifier, *(yyvsp[-1].interm.identifierList));
5108 (yyval.interm.intermNode) = 0;
5110 #line 5111 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5114 #line 844 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5115 { parseContext.nestedBlockCheck((yyvsp[-2].interm.type).loc); }
5116 #line 5117 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5120 #line 844 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5122 --parseContext.structNestingLevel;
5123 parseContext.blockName = (yyvsp[-4].lex).string;
5124 parseContext.globalQualifierFixCheck((yyvsp[-5].interm.type).loc, (yyvsp[-5].interm.type).qualifier);
5125 parseContext.checkNoShaderLayouts((yyvsp[-5].interm.type).loc, (yyvsp[-5].interm.type).shaderQualifiers);
5126 parseContext.currentBlockQualifier = (yyvsp[-5].interm.type).qualifier;
5127 (yyval.interm).loc = (yyvsp[-5].interm.type).loc;
5128 (yyval.interm).typeList = (yyvsp[-1].interm.typeList);
5130 #line 5131 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5134 #line 855 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5136 (yyval.interm.identifierList) = new TIdentifierList;
5137 (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
5139 #line 5140 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5143 #line 859 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5145 (yyval.interm.identifierList) = (yyvsp[-2].interm.identifierList);
5146 (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
5148 #line 5149 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5152 #line 866 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5154 (yyval.interm).function = (yyvsp[-1].interm.function);
5155 (yyval.interm).loc = (yyvsp[0].lex).loc;
5157 #line 5158 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5161 #line 873 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5163 (yyval.interm.function) = (yyvsp[0].interm.function);
5165 #line 5166 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5169 #line 876 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5171 (yyval.interm.function) = (yyvsp[0].interm.function);
5173 #line 5174 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5177 #line 883 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5179 // Add the parameter
5180 (yyval.interm.function) = (yyvsp[-1].interm.function);
5181 if ((yyvsp[0].interm).param.type->getBasicType() != EbtVoid)
5182 (yyvsp[-1].interm.function)->addParameter((yyvsp[0].interm).param);
5184 delete (yyvsp[0].interm).param.type;
5186 #line 5187 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5190 #line 891 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5193 // Only first parameter of one-parameter functions can be void
5194 // The check for named parameters not being void is done in parameter_declarator
5196 if ((yyvsp[0].interm).param.type->getBasicType() == EbtVoid) {
5198 // This parameter > first is void
5200 parseContext.error((yyvsp[-1].lex).loc, "cannot be an argument type except for '(void)'", "void", "");
5201 delete (yyvsp[0].interm).param.type;
5203 // Add the parameter
5204 (yyval.interm.function) = (yyvsp[-2].interm.function);
5205 (yyvsp[-2].interm.function)->addParameter((yyvsp[0].interm).param);
5208 #line 5209 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5212 #line 911 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5214 if ((yyvsp[-2].interm.type).qualifier.storage != EvqGlobal && (yyvsp[-2].interm.type).qualifier.storage != EvqTemporary) {
5215 parseContext.error((yyvsp[-1].lex).loc, "no qualifiers allowed for function return",
5216 GetStorageQualifierString((yyvsp[-2].interm.type).qualifier.storage), "");
5218 if ((yyvsp[-2].interm.type).arraySizes)
5219 parseContext.arraySizeRequiredCheck((yyvsp[-2].interm.type).loc, *(yyvsp[-2].interm.type).arraySizes);
5221 // Add the function as a prototype after parsing it (we do not support recursion)
5222 TFunction *function;
5223 TType type((yyvsp[-2].interm.type));
5225 // Potentially rename shader entry point function. No-op most of the time.
5226 parseContext.renameShaderFunction((yyvsp[-1].lex).string);
5228 // Make the function
5229 function = new TFunction((yyvsp[-1].lex).string, type);
5230 (yyval.interm.function) = function;
5232 #line 5233 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5236 #line 934 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5238 if ((yyvsp[-1].interm.type).arraySizes) {
5239 parseContext.profileRequires((yyvsp[-1].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
5240 parseContext.profileRequires((yyvsp[-1].interm.type).loc, EEsProfile, 300, 0, "arrayed type");
5241 parseContext.arraySizeRequiredCheck((yyvsp[-1].interm.type).loc, *(yyvsp[-1].interm.type).arraySizes);
5243 if ((yyvsp[-1].interm.type).basicType == EbtVoid) {
5244 parseContext.error((yyvsp[0].lex).loc, "illegal use of type 'void'", (yyvsp[0].lex).string->c_str(), "");
5246 parseContext.reservedErrorCheck((yyvsp[0].lex).loc, *(yyvsp[0].lex).string);
5248 TParameter param = {(yyvsp[0].lex).string, new TType((yyvsp[-1].interm.type))};
5249 (yyval.interm).loc = (yyvsp[0].lex).loc;
5250 (yyval.interm).param = param;
5252 #line 5253 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5256 #line 949 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5258 if ((yyvsp[-2].interm.type).arraySizes) {
5259 parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
5260 parseContext.profileRequires((yyvsp[-2].interm.type).loc, EEsProfile, 300, 0, "arrayed type");
5261 parseContext.arraySizeRequiredCheck((yyvsp[-2].interm.type).loc, *(yyvsp[-2].interm.type).arraySizes);
5263 TType* type = new TType((yyvsp[-2].interm.type));
5264 type->transferArraySizes((yyvsp[0].interm).arraySizes);
5265 type->copyArrayInnerSizes((yyvsp[-2].interm.type).arraySizes);
5267 parseContext.arrayOfArrayVersionCheck((yyvsp[-1].lex).loc, type->getArraySizes());
5268 parseContext.arraySizeRequiredCheck((yyvsp[0].interm).loc, *(yyvsp[0].interm).arraySizes);
5269 parseContext.reservedErrorCheck((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string);
5271 TParameter param = { (yyvsp[-1].lex).string, type };
5273 (yyval.interm).loc = (yyvsp[-1].lex).loc;
5274 (yyval.interm).param = param;
5276 #line 5277 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5280 #line 974 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5282 (yyval.interm) = (yyvsp[0].interm);
5283 if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
5284 (yyval.interm).param.type->getQualifier().precision = (yyvsp[-1].interm.type).qualifier.precision;
5285 parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
5287 parseContext.checkNoShaderLayouts((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).shaderQualifiers);
5288 parseContext.parameterTypeCheck((yyvsp[0].interm).loc, (yyvsp[-1].interm.type).qualifier.storage, *(yyval.interm).param.type);
5289 parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type);
5292 #line 5293 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5296 #line 985 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5298 (yyval.interm) = (yyvsp[0].interm);
5300 parseContext.parameterTypeCheck((yyvsp[0].interm).loc, EvqIn, *(yyvsp[0].interm).param.type);
5301 parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type);
5302 parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
5304 #line 5305 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5308 #line 995 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5310 (yyval.interm) = (yyvsp[0].interm);
5311 if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
5312 (yyval.interm).param.type->getQualifier().precision = (yyvsp[-1].interm.type).qualifier.precision;
5313 parseContext.precisionQualifierCheck((yyvsp[-1].interm.type).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
5315 parseContext.checkNoShaderLayouts((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).shaderQualifiers);
5316 parseContext.parameterTypeCheck((yyvsp[0].interm).loc, (yyvsp[-1].interm.type).qualifier.storage, *(yyval.interm).param.type);
5317 parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type);
5319 #line 5320 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5323 #line 1005 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5325 (yyval.interm) = (yyvsp[0].interm);
5327 parseContext.parameterTypeCheck((yyvsp[0].interm).loc, EvqIn, *(yyvsp[0].interm).param.type);
5328 parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type);
5329 parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
5331 #line 5332 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5335 #line 1015 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5337 TParameter param = { 0, new TType((yyvsp[0].interm.type)) };
5338 (yyval.interm).param = param;
5339 if ((yyvsp[0].interm.type).arraySizes)
5340 parseContext.arraySizeRequiredCheck((yyvsp[0].interm.type).loc, *(yyvsp[0].interm.type).arraySizes);
5342 #line 5343 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5346 #line 1024 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5348 (yyval.interm) = (yyvsp[0].interm);
5350 #line 5351 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5354 #line 1027 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5356 (yyval.interm) = (yyvsp[-2].interm);
5357 parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-2].interm).type);
5359 #line 5360 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5363 #line 1031 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5365 (yyval.interm) = (yyvsp[-3].interm);
5366 parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-3].interm).type, (yyvsp[0].interm).arraySizes);
5368 #line 5369 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5372 #line 1035 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5374 (yyval.interm).type = (yyvsp[-5].interm).type;
5375 TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-5].interm).type, (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode));
5376 (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-5].interm).intermNode, initNode, (yyvsp[-1].lex).loc);
5378 #line 5379 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5382 #line 1040 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5384 (yyval.interm).type = (yyvsp[-4].interm).type;
5385 TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-4].interm).type, 0, (yyvsp[0].interm.intermTypedNode));
5386 (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-4].interm).intermNode, initNode, (yyvsp[-1].lex).loc);
5388 #line 5389 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5392 #line 1048 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5394 (yyval.interm).type = (yyvsp[0].interm.type);
5395 (yyval.interm).intermNode = 0;
5396 parseContext.declareTypeDefaults((yyval.interm).loc, (yyval.interm).type);
5398 #line 5399 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5402 #line 1053 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5404 (yyval.interm).type = (yyvsp[-1].interm.type);
5405 (yyval.interm).intermNode = 0;
5406 parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-1].interm.type));
5408 #line 5409 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5412 #line 1058 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5414 (yyval.interm).type = (yyvsp[-2].interm.type);
5415 (yyval.interm).intermNode = 0;
5416 parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-2].interm.type), (yyvsp[0].interm).arraySizes);
5418 #line 5419 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5422 #line 1063 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5424 (yyval.interm).type = (yyvsp[-4].interm.type);
5425 TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-4].interm.type), (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode));
5426 (yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc);
5428 #line 5429 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5432 #line 1068 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5434 (yyval.interm).type = (yyvsp[-3].interm.type);
5435 TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-3].interm.type), 0, (yyvsp[0].interm.intermTypedNode));
5436 (yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc);
5438 #line 5439 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5442 #line 1077 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5444 (yyval.interm.type) = (yyvsp[0].interm.type);
5446 parseContext.globalQualifierTypeCheck((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier, (yyval.interm.type));
5447 if ((yyvsp[0].interm.type).arraySizes) {
5448 parseContext.profileRequires((yyvsp[0].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
5449 parseContext.profileRequires((yyvsp[0].interm.type).loc, EEsProfile, 300, 0, "arrayed type");
5452 parseContext.precisionQualifierCheck((yyval.interm.type).loc, (yyval.interm.type).basicType, (yyval.interm.type).qualifier);
5454 #line 5455 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5458 #line 1088 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5460 parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier);
5461 parseContext.globalQualifierTypeCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, (yyvsp[0].interm.type));
5463 if ((yyvsp[0].interm.type).arraySizes) {
5464 parseContext.profileRequires((yyvsp[0].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
5465 parseContext.profileRequires((yyvsp[0].interm.type).loc, EEsProfile, 300, 0, "arrayed type");
5468 if ((yyvsp[0].interm.type).arraySizes && parseContext.arrayQualifierError((yyvsp[0].interm.type).loc, (yyvsp[-1].interm.type).qualifier))
5469 (yyvsp[0].interm.type).arraySizes = nullptr;
5471 parseContext.checkNoShaderLayouts((yyvsp[0].interm.type).loc, (yyvsp[-1].interm.type).shaderQualifiers);
5472 (yyvsp[0].interm.type).shaderQualifiers.merge((yyvsp[-1].interm.type).shaderQualifiers);
5473 parseContext.mergeQualifiers((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier, (yyvsp[-1].interm.type).qualifier, true);
5474 parseContext.precisionQualifierCheck((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).basicType, (yyvsp[0].interm.type).qualifier);
5476 (yyval.interm.type) = (yyvsp[0].interm.type);
5478 if (! (yyval.interm.type).qualifier.isInterpolation() &&
5479 ((parseContext.language == EShLangVertex && (yyval.interm.type).qualifier.storage == EvqVaryingOut) ||
5480 (parseContext.language == EShLangFragment && (yyval.interm.type).qualifier.storage == EvqVaryingIn)))
5481 (yyval.interm.type).qualifier.smooth = true;
5483 #line 5484 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5487 #line 1115 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5489 parseContext.globalCheck((yyvsp[0].lex).loc, "invariant");
5490 parseContext.profileRequires((yyval.interm.type).loc, ENoProfile, 120, 0, "invariant");
5491 (yyval.interm.type).init((yyvsp[0].lex).loc);
5492 (yyval.interm.type).qualifier.invariant = true;
5494 #line 5495 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5498 #line 1124 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5500 parseContext.globalCheck((yyvsp[0].lex).loc, "smooth");
5501 parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "smooth");
5502 parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "smooth");
5503 (yyval.interm.type).init((yyvsp[0].lex).loc);
5504 (yyval.interm.type).qualifier.smooth = true;
5506 #line 5507 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5510 #line 1131 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5512 parseContext.globalCheck((yyvsp[0].lex).loc, "flat");
5513 parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "flat");
5514 parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "flat");
5515 (yyval.interm.type).init((yyvsp[0].lex).loc);
5516 (yyval.interm.type).qualifier.flat = true;
5518 #line 5519 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5522 #line 1138 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5524 parseContext.globalCheck((yyvsp[0].lex).loc, "noperspective");
5525 #ifdef NV_EXTENSIONS
5526 parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 0, E_GL_NV_shader_noperspective_interpolation, "noperspective");
5528 parseContext.requireProfile((yyvsp[0].lex).loc, ~EEsProfile, "noperspective");
5530 parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "noperspective");
5531 (yyval.interm.type).init((yyvsp[0].lex).loc);
5532 (yyval.interm.type).qualifier.nopersp = true;
5534 #line 5535 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5538 #line 1149 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5540 #ifdef AMD_EXTENSIONS
5541 parseContext.globalCheck((yyvsp[0].lex).loc, "__explicitInterpAMD");
5542 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 450, E_GL_AMD_shader_explicit_vertex_parameter, "explicit interpolation");
5543 parseContext.profileRequires((yyvsp[0].lex).loc, ECompatibilityProfile, 450, E_GL_AMD_shader_explicit_vertex_parameter, "explicit interpolation");
5544 (yyval.interm.type).init((yyvsp[0].lex).loc);
5545 (yyval.interm.type).qualifier.explicitInterp = true;
5548 #line 5549 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5552 #line 1158 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5554 #ifdef NV_EXTENSIONS
5555 parseContext.globalCheck((yyvsp[0].lex).loc, "pervertexNV");
5556 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric");
5557 parseContext.profileRequires((yyvsp[0].lex).loc, ECompatibilityProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric");
5558 parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric");
5559 (yyval.interm.type).init((yyvsp[0].lex).loc);
5560 (yyval.interm.type).qualifier.pervertexNV = true;
5563 #line 5564 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5567 #line 1168 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5569 #ifdef NV_EXTENSIONS
5570 // No need for profile version or extension check. Shader stage already checks both.
5571 parseContext.globalCheck((yyvsp[0].lex).loc, "perprimitiveNV");
5572 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangFragmentMask | EShLangMeshNVMask), "perprimitiveNV");
5573 // Fragment shader stage doesn't check for extension. So we explicitly add below extension check.
5574 if (parseContext.language == EShLangFragment)
5575 parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_NV_mesh_shader, "perprimitiveNV");
5576 (yyval.interm.type).init((yyvsp[0].lex).loc);
5577 (yyval.interm.type).qualifier.perPrimitiveNV = true;
5580 #line 5581 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5584 #line 1180 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5586 #ifdef NV_EXTENSIONS
5587 // No need for profile version or extension check. Shader stage already checks both.
5588 parseContext.globalCheck((yyvsp[0].lex).loc, "perviewNV");
5589 parseContext.requireStage((yyvsp[0].lex).loc, EShLangMeshNV, "perviewNV");
5590 (yyval.interm.type).init((yyvsp[0].lex).loc);
5591 (yyval.interm.type).qualifier.perViewNV = true;
5594 #line 5595 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5598 #line 1189 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5600 #ifdef NV_EXTENSIONS
5601 // No need for profile version or extension check. Shader stage already checks both.
5602 parseContext.globalCheck((yyvsp[0].lex).loc, "taskNV");
5603 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangTaskNVMask | EShLangMeshNVMask), "taskNV");
5604 (yyval.interm.type).init((yyvsp[0].lex).loc);
5605 (yyval.interm.type).qualifier.perTaskNV = true;
5608 #line 5609 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5612 #line 1201 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5614 (yyval.interm.type) = (yyvsp[-1].interm.type);
5616 #line 5617 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5620 #line 1207 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5622 (yyval.interm.type) = (yyvsp[0].interm.type);
5624 #line 5625 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5628 #line 1210 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5630 (yyval.interm.type) = (yyvsp[-2].interm.type);
5631 (yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers);
5632 parseContext.mergeObjectLayoutQualifiers((yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false);
5634 #line 5635 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5638 #line 1217 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5640 (yyval.interm.type).init((yyvsp[0].lex).loc);
5641 parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), *(yyvsp[0].lex).string);
5643 #line 5644 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5647 #line 1221 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5649 (yyval.interm.type).init((yyvsp[-2].lex).loc);
5650 parseContext.setLayoutQualifier((yyvsp[-2].lex).loc, (yyval.interm.type), *(yyvsp[-2].lex).string, (yyvsp[0].interm.intermTypedNode));
5652 #line 5653 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5656 #line 1225 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5657 { // because "shared" is both an identifier and a keyword
5658 (yyval.interm.type).init((yyvsp[0].lex).loc);
5659 TString strShared("shared");
5660 parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), strShared);
5662 #line 5663 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5666 #line 1233 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5668 parseContext.profileRequires((yyval.interm.type).loc, ECoreProfile | ECompatibilityProfile, 400, E_GL_ARB_gpu_shader5, "precise");
5669 parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5, "precise");
5670 (yyval.interm.type).init((yyvsp[0].lex).loc);
5671 (yyval.interm.type).qualifier.noContraction = true;
5673 #line 5674 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5677 #line 1242 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5679 (yyval.interm.type) = (yyvsp[0].interm.type);
5681 #line 5682 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5685 #line 1245 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5687 (yyval.interm.type) = (yyvsp[-1].interm.type);
5688 if ((yyval.interm.type).basicType == EbtVoid)
5689 (yyval.interm.type).basicType = (yyvsp[0].interm.type).basicType;
5691 (yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers);
5692 parseContext.mergeQualifiers((yyval.interm.type).loc, (yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false);
5694 #line 5695 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5698 #line 1256 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5700 (yyval.interm.type) = (yyvsp[0].interm.type);
5702 #line 5703 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5706 #line 1259 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5708 (yyval.interm.type) = (yyvsp[0].interm.type);
5710 #line 5711 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5714 #line 1262 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5716 parseContext.checkPrecisionQualifier((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier.precision);
5717 (yyval.interm.type) = (yyvsp[0].interm.type);
5719 #line 5720 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5723 #line 1266 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5725 // allow inheritance of storage qualifier from block declaration
5726 (yyval.interm.type) = (yyvsp[0].interm.type);
5728 #line 5729 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5732 #line 1270 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5734 // allow inheritance of storage qualifier from block declaration
5735 (yyval.interm.type) = (yyvsp[0].interm.type);
5737 #line 5738 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5741 #line 1274 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5743 // allow inheritance of storage qualifier from block declaration
5744 (yyval.interm.type) = (yyvsp[0].interm.type);
5746 #line 5747 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5750 #line 1278 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5752 (yyval.interm.type) = (yyvsp[0].interm.type);
5754 #line 5755 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5758 #line 1284 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5760 (yyval.interm.type).init((yyvsp[0].lex).loc);
5761 (yyval.interm.type).qualifier.storage = EvqConst; // will later turn into EvqConstReadOnly, if the initializer is not constant
5763 #line 5764 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5767 #line 1288 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5769 parseContext.requireStage((yyvsp[0].lex).loc, EShLangVertex, "attribute");
5770 parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "attribute");
5771 parseContext.checkDeprecated((yyvsp[0].lex).loc, ENoProfile, 130, "attribute");
5772 parseContext.requireNotRemoved((yyvsp[0].lex).loc, ECoreProfile, 420, "attribute");
5773 parseContext.requireNotRemoved((yyvsp[0].lex).loc, EEsProfile, 300, "attribute");
5775 parseContext.globalCheck((yyvsp[0].lex).loc, "attribute");
5777 (yyval.interm.type).init((yyvsp[0].lex).loc);
5778 (yyval.interm.type).qualifier.storage = EvqVaryingIn;
5780 #line 5781 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5784 #line 1300 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5786 parseContext.checkDeprecated((yyvsp[0].lex).loc, ENoProfile, 130, "varying");
5787 parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "varying");
5788 parseContext.requireNotRemoved((yyvsp[0].lex).loc, ECoreProfile, 420, "varying");
5789 parseContext.requireNotRemoved((yyvsp[0].lex).loc, EEsProfile, 300, "varying");
5791 parseContext.globalCheck((yyvsp[0].lex).loc, "varying");
5793 (yyval.interm.type).init((yyvsp[0].lex).loc);
5794 if (parseContext.language == EShLangVertex)
5795 (yyval.interm.type).qualifier.storage = EvqVaryingOut;
5797 (yyval.interm.type).qualifier.storage = EvqVaryingIn;
5799 #line 5800 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5803 #line 1314 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5805 parseContext.globalCheck((yyvsp[0].lex).loc, "inout");
5806 (yyval.interm.type).init((yyvsp[0].lex).loc);
5807 (yyval.interm.type).qualifier.storage = EvqInOut;
5809 #line 5810 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5813 #line 1319 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5815 parseContext.globalCheck((yyvsp[0].lex).loc, "in");
5816 (yyval.interm.type).init((yyvsp[0].lex).loc);
5817 // whether this is a parameter "in" or a pipeline "in" will get sorted out a bit later
5818 (yyval.interm.type).qualifier.storage = EvqIn;
5820 #line 5821 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5824 #line 1325 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5826 parseContext.globalCheck((yyvsp[0].lex).loc, "out");
5827 (yyval.interm.type).init((yyvsp[0].lex).loc);
5828 // whether this is a parameter "out" or a pipeline "out" will get sorted out a bit later
5829 (yyval.interm.type).qualifier.storage = EvqOut;
5831 #line 5832 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5835 #line 1331 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5837 parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 120, 0, "centroid");
5838 parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "centroid");
5839 parseContext.globalCheck((yyvsp[0].lex).loc, "centroid");
5840 (yyval.interm.type).init((yyvsp[0].lex).loc);
5841 (yyval.interm.type).qualifier.centroid = true;
5843 #line 5844 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5847 #line 1338 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5849 parseContext.globalCheck((yyvsp[0].lex).loc, "patch");
5850 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangTessControlMask | EShLangTessEvaluationMask), "patch");
5851 (yyval.interm.type).init((yyvsp[0].lex).loc);
5852 (yyval.interm.type).qualifier.patch = true;
5854 #line 5855 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5858 #line 1344 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5860 parseContext.globalCheck((yyvsp[0].lex).loc, "sample");
5861 (yyval.interm.type).init((yyvsp[0].lex).loc);
5862 (yyval.interm.type).qualifier.sample = true;
5864 #line 5865 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5868 #line 1349 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5870 parseContext.globalCheck((yyvsp[0].lex).loc, "uniform");
5871 (yyval.interm.type).init((yyvsp[0].lex).loc);
5872 (yyval.interm.type).qualifier.storage = EvqUniform;
5874 #line 5875 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5878 #line 1354 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5880 parseContext.globalCheck((yyvsp[0].lex).loc, "buffer");
5881 (yyval.interm.type).init((yyvsp[0].lex).loc);
5882 (yyval.interm.type).qualifier.storage = EvqBuffer;
5884 #line 5885 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5888 #line 1359 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5890 #ifdef NV_EXTENSIONS
5891 parseContext.globalCheck((yyvsp[0].lex).loc, "hitAttributeNV");
5892 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangIntersectNVMask | EShLangClosestHitNVMask
5893 | EShLangAnyHitNVMask), "hitAttributeNV");
5894 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "hitAttributeNV");
5895 (yyval.interm.type).init((yyvsp[0].lex).loc);
5896 (yyval.interm.type).qualifier.storage = EvqHitAttrNV;
5899 #line 5900 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5903 #line 1369 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5905 #ifdef NV_EXTENSIONS
5906 parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadNV");
5907 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenNVMask | EShLangClosestHitNVMask |
5908 EShLangAnyHitNVMask | EShLangMissNVMask), "rayPayloadNV");
5909 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "rayPayloadNV");
5910 (yyval.interm.type).init((yyvsp[0].lex).loc);
5911 (yyval.interm.type).qualifier.storage = EvqPayloadNV;
5914 #line 5915 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5918 #line 1379 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5920 #ifdef NV_EXTENSIONS
5921 parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadInNV");
5922 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangClosestHitNVMask |
5923 EShLangAnyHitNVMask | EShLangMissNVMask), "rayPayloadInNV");
5924 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "rayPayloadInNV");
5925 (yyval.interm.type).init((yyvsp[0].lex).loc);
5926 (yyval.interm.type).qualifier.storage = EvqPayloadInNV;
5929 #line 5930 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5933 #line 1389 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5935 #ifdef NV_EXTENSIONS
5936 parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataNV");
5937 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenNVMask |
5938 EShLangClosestHitNVMask | EShLangMissNVMask | EShLangCallableNVMask), "callableDataNV");
5939 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "callableDataNV");
5940 (yyval.interm.type).init((yyvsp[0].lex).loc);
5941 (yyval.interm.type).qualifier.storage = EvqCallableDataNV;
5944 #line 5945 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5948 #line 1399 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5950 #ifdef NV_EXTENSIONS
5951 parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataInNV");
5952 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangCallableNVMask), "callableDataInNV");
5953 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "callableDataInNV");
5954 (yyval.interm.type).init((yyvsp[0].lex).loc);
5955 (yyval.interm.type).qualifier.storage = EvqCallableDataInNV;
5958 #line 5959 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5962 #line 1408 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5964 parseContext.globalCheck((yyvsp[0].lex).loc, "shared");
5965 parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, 430, E_GL_ARB_compute_shader, "shared");
5966 parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 310, 0, "shared");
5967 #ifdef NV_EXTENSIONS
5968 parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangComputeMask | EShLangMeshNVMask | EShLangTaskNVMask), "shared");
5970 parseContext.requireStage((yyvsp[0].lex).loc, EShLangCompute, "shared");
5972 (yyval.interm.type).init((yyvsp[0].lex).loc);
5973 (yyval.interm.type).qualifier.storage = EvqShared;
5975 #line 5976 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5979 #line 1420 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5981 (yyval.interm.type).init((yyvsp[0].lex).loc);
5982 (yyval.interm.type).qualifier.coherent = true;
5984 #line 5985 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5988 #line 1424 "MachineIndependent/glslang.y" /* yacc.c:1646 */
5990 (yyval.interm.type).init((yyvsp[0].lex).loc);
5991 parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "devicecoherent");
5992 (yyval.interm.type).qualifier.devicecoherent = true;
5994 #line 5995 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
5998 #line 1429 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6000 (yyval.interm.type).init((yyvsp[0].lex).loc);
6001 parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "queuefamilycoherent");
6002 (yyval.interm.type).qualifier.queuefamilycoherent = true;
6004 #line 6005 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6008 #line 1434 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6010 (yyval.interm.type).init((yyvsp[0].lex).loc);
6011 parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "workgroupcoherent");
6012 (yyval.interm.type).qualifier.workgroupcoherent = true;
6014 #line 6015 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6018 #line 1439 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6020 (yyval.interm.type).init((yyvsp[0].lex).loc);
6021 parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "subgroupcoherent");
6022 (yyval.interm.type).qualifier.subgroupcoherent = true;
6024 #line 6025 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6028 #line 1444 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6030 (yyval.interm.type).init((yyvsp[0].lex).loc);
6031 parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "nonprivate");
6032 (yyval.interm.type).qualifier.nonprivate = true;
6034 #line 6035 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6038 #line 1449 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6040 (yyval.interm.type).init((yyvsp[0].lex).loc);
6041 (yyval.interm.type).qualifier.volatil = true;
6043 #line 6044 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6047 #line 1453 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6049 (yyval.interm.type).init((yyvsp[0].lex).loc);
6050 (yyval.interm.type).qualifier.restrict = true;
6052 #line 6053 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6056 #line 1457 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6058 (yyval.interm.type).init((yyvsp[0].lex).loc);
6059 (yyval.interm.type).qualifier.readonly = true;
6061 #line 6062 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6065 #line 1461 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6067 (yyval.interm.type).init((yyvsp[0].lex).loc);
6068 (yyval.interm.type).qualifier.writeonly = true;
6070 #line 6071 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6074 #line 1465 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6076 parseContext.spvRemoved((yyvsp[0].lex).loc, "subroutine");
6077 parseContext.globalCheck((yyvsp[0].lex).loc, "subroutine");
6078 parseContext.unimplemented((yyvsp[0].lex).loc, "subroutine");
6079 (yyval.interm.type).init((yyvsp[0].lex).loc);
6081 #line 6082 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6085 #line 1471 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6087 parseContext.spvRemoved((yyvsp[-3].lex).loc, "subroutine");
6088 parseContext.globalCheck((yyvsp[-3].lex).loc, "subroutine");
6089 parseContext.unimplemented((yyvsp[-3].lex).loc, "subroutine");
6090 (yyval.interm.type).init((yyvsp[-3].lex).loc);
6092 #line 6093 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6096 #line 1480 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6098 (yyval.interm.type).init((yyvsp[0].lex).loc);
6099 (yyval.interm.type).qualifier.nonUniform = true;
6101 #line 6102 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6105 #line 1487 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6109 #line 6110 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6113 #line 1490 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6115 // TODO: 4.0 semantics: subroutines
6116 // 1) make sure each identifier is a type declared earlier with SUBROUTINE
6117 // 2) save all of the identifiers for future comparison with the declared function
6119 #line 6120 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6123 #line 1498 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6125 (yyval.interm.type) = (yyvsp[-1].interm.type);
6126 (yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type));
6127 (yyval.interm.type).typeParameters = (yyvsp[0].interm.typeParameters);
6129 #line 6130 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6133 #line 1503 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6135 parseContext.arrayOfArrayVersionCheck((yyvsp[0].interm).loc, (yyvsp[0].interm).arraySizes);
6136 (yyval.interm.type) = (yyvsp[-2].interm.type);
6137 (yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type));
6138 (yyval.interm.type).typeParameters = (yyvsp[-1].interm.typeParameters);
6139 (yyval.interm.type).arraySizes = (yyvsp[0].interm).arraySizes;
6141 #line 6142 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6145 #line 1513 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6147 (yyval.interm).loc = (yyvsp[-1].lex).loc;
6148 (yyval.interm).arraySizes = new TArraySizes;
6149 (yyval.interm).arraySizes->addInnerSize();
6151 #line 6152 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6155 #line 1518 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6157 (yyval.interm).loc = (yyvsp[-2].lex).loc;
6158 (yyval.interm).arraySizes = new TArraySizes;
6161 parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size, "array size");
6162 (yyval.interm).arraySizes->addInnerSize(size);
6164 #line 6165 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6168 #line 1526 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6170 (yyval.interm) = (yyvsp[-2].interm);
6171 (yyval.interm).arraySizes->addInnerSize();
6173 #line 6174 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6177 #line 1530 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6179 (yyval.interm) = (yyvsp[-3].interm);
6182 parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size, "array size");
6183 (yyval.interm).arraySizes->addInnerSize(size);
6185 #line 6186 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6189 #line 1540 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6191 (yyval.interm.typeParameters) = (yyvsp[0].interm.typeParameters);
6193 #line 6194 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6197 #line 1543 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6199 (yyval.interm.typeParameters) = 0;
6201 #line 6202 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6205 #line 1549 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6207 (yyval.interm.typeParameters) = (yyvsp[-1].interm.typeParameters);
6209 #line 6210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6213 #line 1555 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6215 (yyval.interm.typeParameters) = new TArraySizes;
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 1562 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6227 (yyval.interm.typeParameters) = (yyvsp[-2].interm.typeParameters);
6230 parseContext.arraySizeCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode), size, "type parameter");
6231 (yyval.interm.typeParameters)->addInnerSize(size);
6233 #line 6234 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6237 #line 1572 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6239 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6240 (yyval.interm.type).basicType = EbtVoid;
6242 #line 6243 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6246 #line 1576 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6248 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6249 (yyval.interm.type).basicType = EbtFloat;
6251 #line 6252 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6255 #line 1580 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6257 parseContext.doubleCheck((yyvsp[0].lex).loc, "double");
6258 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6259 (yyval.interm.type).basicType = EbtDouble;
6261 #line 6262 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6265 #line 1585 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6267 parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "float16_t", parseContext.symbolTable.atBuiltInLevel());
6268 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6269 (yyval.interm.type).basicType = EbtFloat16;
6271 #line 6272 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6275 #line 1590 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6277 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t", parseContext.symbolTable.atBuiltInLevel());
6278 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6279 (yyval.interm.type).basicType = EbtFloat;
6281 #line 6282 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6285 #line 1595 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6287 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t", parseContext.symbolTable.atBuiltInLevel());
6288 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6289 (yyval.interm.type).basicType = EbtDouble;
6291 #line 6292 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6295 #line 1600 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6297 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6298 (yyval.interm.type).basicType = EbtInt;
6300 #line 6301 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6304 #line 1604 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6306 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer");
6307 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6308 (yyval.interm.type).basicType = EbtUint;
6310 #line 6311 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6314 #line 1609 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6316 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
6317 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6318 (yyval.interm.type).basicType = EbtInt8;
6320 #line 6321 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6324 #line 1614 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6326 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
6327 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6328 (yyval.interm.type).basicType = EbtUint8;
6330 #line 6331 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6334 #line 1619 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6336 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
6337 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6338 (yyval.interm.type).basicType = EbtInt16;
6340 #line 6341 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6344 #line 1624 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6346 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
6347 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6348 (yyval.interm.type).basicType = EbtUint16;
6350 #line 6351 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6354 #line 1629 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6356 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
6357 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6358 (yyval.interm.type).basicType = EbtInt;
6360 #line 6361 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6364 #line 1634 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6366 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
6367 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6368 (yyval.interm.type).basicType = EbtUint;
6370 #line 6371 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6374 #line 1639 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6376 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer", parseContext.symbolTable.atBuiltInLevel());
6377 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6378 (yyval.interm.type).basicType = EbtInt64;
6380 #line 6381 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6384 #line 1644 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6386 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
6387 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6388 (yyval.interm.type).basicType = EbtUint64;
6390 #line 6391 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6394 #line 1649 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6396 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6397 (yyval.interm.type).basicType = EbtBool;
6399 #line 6400 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6403 #line 1653 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6405 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6406 (yyval.interm.type).basicType = EbtFloat;
6407 (yyval.interm.type).setVector(2);
6409 #line 6410 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6413 #line 1658 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6415 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6416 (yyval.interm.type).basicType = EbtFloat;
6417 (yyval.interm.type).setVector(3);
6419 #line 6420 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6423 #line 1663 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6425 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6426 (yyval.interm.type).basicType = EbtFloat;
6427 (yyval.interm.type).setVector(4);
6429 #line 6430 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6433 #line 1668 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6435 parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
6436 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6437 (yyval.interm.type).basicType = EbtDouble;
6438 (yyval.interm.type).setVector(2);
6440 #line 6441 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6444 #line 1674 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6446 parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
6447 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6448 (yyval.interm.type).basicType = EbtDouble;
6449 (yyval.interm.type).setVector(3);
6451 #line 6452 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6455 #line 1680 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6457 parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
6458 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6459 (yyval.interm.type).basicType = EbtDouble;
6460 (yyval.interm.type).setVector(4);
6462 #line 6463 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6466 #line 1686 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6468 parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
6469 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6470 (yyval.interm.type).basicType = EbtFloat16;
6471 (yyval.interm.type).setVector(2);
6473 #line 6474 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6477 #line 1692 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6479 parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
6480 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6481 (yyval.interm.type).basicType = EbtFloat16;
6482 (yyval.interm.type).setVector(3);
6484 #line 6485 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6488 #line 1698 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6490 parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
6491 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6492 (yyval.interm.type).basicType = EbtFloat16;
6493 (yyval.interm.type).setVector(4);
6495 #line 6496 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6499 #line 1704 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6501 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
6502 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6503 (yyval.interm.type).basicType = EbtFloat;
6504 (yyval.interm.type).setVector(2);
6506 #line 6507 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6510 #line 1710 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6512 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
6513 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6514 (yyval.interm.type).basicType = EbtFloat;
6515 (yyval.interm.type).setVector(3);
6517 #line 6518 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6521 #line 1716 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6523 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
6524 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6525 (yyval.interm.type).basicType = EbtFloat;
6526 (yyval.interm.type).setVector(4);
6528 #line 6529 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6532 #line 1722 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6534 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
6535 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6536 (yyval.interm.type).basicType = EbtDouble;
6537 (yyval.interm.type).setVector(2);
6539 #line 6540 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6543 #line 1728 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6545 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
6546 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6547 (yyval.interm.type).basicType = EbtDouble;
6548 (yyval.interm.type).setVector(3);
6550 #line 6551 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6554 #line 1734 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6556 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
6557 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6558 (yyval.interm.type).basicType = EbtDouble;
6559 (yyval.interm.type).setVector(4);
6561 #line 6562 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6565 #line 1740 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6567 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6568 (yyval.interm.type).basicType = EbtBool;
6569 (yyval.interm.type).setVector(2);
6571 #line 6572 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6575 #line 1745 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6577 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6578 (yyval.interm.type).basicType = EbtBool;
6579 (yyval.interm.type).setVector(3);
6581 #line 6582 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6585 #line 1750 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6587 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6588 (yyval.interm.type).basicType = EbtBool;
6589 (yyval.interm.type).setVector(4);
6591 #line 6592 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6595 #line 1755 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6597 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6598 (yyval.interm.type).basicType = EbtInt;
6599 (yyval.interm.type).setVector(2);
6601 #line 6602 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6605 #line 1760 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6607 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6608 (yyval.interm.type).basicType = EbtInt;
6609 (yyval.interm.type).setVector(3);
6611 #line 6612 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6615 #line 1765 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6617 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6618 (yyval.interm.type).basicType = EbtInt;
6619 (yyval.interm.type).setVector(4);
6621 #line 6622 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6625 #line 1770 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6627 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6628 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6629 (yyval.interm.type).basicType = EbtInt8;
6630 (yyval.interm.type).setVector(2);
6632 #line 6633 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6636 #line 1776 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6638 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6639 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6640 (yyval.interm.type).basicType = EbtInt8;
6641 (yyval.interm.type).setVector(3);
6643 #line 6644 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6647 #line 1782 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6649 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6650 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6651 (yyval.interm.type).basicType = EbtInt8;
6652 (yyval.interm.type).setVector(4);
6654 #line 6655 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6658 #line 1788 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6660 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6661 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6662 (yyval.interm.type).basicType = EbtInt16;
6663 (yyval.interm.type).setVector(2);
6665 #line 6666 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6669 #line 1794 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6671 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6672 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6673 (yyval.interm.type).basicType = EbtInt16;
6674 (yyval.interm.type).setVector(3);
6676 #line 6677 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6680 #line 1800 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6682 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6683 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6684 (yyval.interm.type).basicType = EbtInt16;
6685 (yyval.interm.type).setVector(4);
6687 #line 6688 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6691 #line 1806 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6693 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6694 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6695 (yyval.interm.type).basicType = EbtInt;
6696 (yyval.interm.type).setVector(2);
6698 #line 6699 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6702 #line 1812 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6704 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6705 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6706 (yyval.interm.type).basicType = EbtInt;
6707 (yyval.interm.type).setVector(3);
6709 #line 6710 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6713 #line 1818 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6715 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
6716 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6717 (yyval.interm.type).basicType = EbtInt;
6718 (yyval.interm.type).setVector(4);
6720 #line 6721 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6724 #line 1824 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6726 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
6727 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6728 (yyval.interm.type).basicType = EbtInt64;
6729 (yyval.interm.type).setVector(2);
6731 #line 6732 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6735 #line 1830 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6737 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
6738 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6739 (yyval.interm.type).basicType = EbtInt64;
6740 (yyval.interm.type).setVector(3);
6742 #line 6743 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6746 #line 1836 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6748 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
6749 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6750 (yyval.interm.type).basicType = EbtInt64;
6751 (yyval.interm.type).setVector(4);
6753 #line 6754 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6757 #line 1842 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6759 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
6760 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6761 (yyval.interm.type).basicType = EbtUint;
6762 (yyval.interm.type).setVector(2);
6764 #line 6765 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6768 #line 1848 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6770 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
6771 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6772 (yyval.interm.type).basicType = EbtUint;
6773 (yyval.interm.type).setVector(3);
6775 #line 6776 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6779 #line 1854 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6781 parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
6782 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6783 (yyval.interm.type).basicType = EbtUint;
6784 (yyval.interm.type).setVector(4);
6786 #line 6787 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6790 #line 1860 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6792 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6793 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6794 (yyval.interm.type).basicType = EbtUint8;
6795 (yyval.interm.type).setVector(2);
6797 #line 6798 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6801 #line 1866 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6803 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6804 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6805 (yyval.interm.type).basicType = EbtUint8;
6806 (yyval.interm.type).setVector(3);
6808 #line 6809 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6812 #line 1872 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6814 parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6815 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6816 (yyval.interm.type).basicType = EbtUint8;
6817 (yyval.interm.type).setVector(4);
6819 #line 6820 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6823 #line 1878 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6825 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6826 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6827 (yyval.interm.type).basicType = EbtUint16;
6828 (yyval.interm.type).setVector(2);
6830 #line 6831 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6834 #line 1884 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6836 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6837 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6838 (yyval.interm.type).basicType = EbtUint16;
6839 (yyval.interm.type).setVector(3);
6841 #line 6842 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6845 #line 1890 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6847 parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6848 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6849 (yyval.interm.type).basicType = EbtUint16;
6850 (yyval.interm.type).setVector(4);
6852 #line 6853 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6856 #line 1896 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6858 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6859 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6860 (yyval.interm.type).basicType = EbtUint;
6861 (yyval.interm.type).setVector(2);
6863 #line 6864 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6867 #line 1902 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6869 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6870 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6871 (yyval.interm.type).basicType = EbtUint;
6872 (yyval.interm.type).setVector(3);
6874 #line 6875 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6878 #line 1908 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6880 parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6881 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6882 (yyval.interm.type).basicType = EbtUint;
6883 (yyval.interm.type).setVector(4);
6885 #line 6886 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6889 #line 1914 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6891 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6892 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6893 (yyval.interm.type).basicType = EbtUint64;
6894 (yyval.interm.type).setVector(2);
6896 #line 6897 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6900 #line 1920 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6902 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6903 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6904 (yyval.interm.type).basicType = EbtUint64;
6905 (yyval.interm.type).setVector(3);
6907 #line 6908 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6911 #line 1926 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6913 parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
6914 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6915 (yyval.interm.type).basicType = EbtUint64;
6916 (yyval.interm.type).setVector(4);
6918 #line 6919 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6922 #line 1932 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6924 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6925 (yyval.interm.type).basicType = EbtFloat;
6926 (yyval.interm.type).setMatrix(2, 2);
6928 #line 6929 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6932 #line 1937 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6934 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6935 (yyval.interm.type).basicType = EbtFloat;
6936 (yyval.interm.type).setMatrix(3, 3);
6938 #line 6939 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6942 #line 1942 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6944 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6945 (yyval.interm.type).basicType = EbtFloat;
6946 (yyval.interm.type).setMatrix(4, 4);
6948 #line 6949 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6952 #line 1947 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6954 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6955 (yyval.interm.type).basicType = EbtFloat;
6956 (yyval.interm.type).setMatrix(2, 2);
6958 #line 6959 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6962 #line 1952 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6964 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6965 (yyval.interm.type).basicType = EbtFloat;
6966 (yyval.interm.type).setMatrix(2, 3);
6968 #line 6969 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6972 #line 1957 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6974 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6975 (yyval.interm.type).basicType = EbtFloat;
6976 (yyval.interm.type).setMatrix(2, 4);
6978 #line 6979 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6982 #line 1962 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6984 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6985 (yyval.interm.type).basicType = EbtFloat;
6986 (yyval.interm.type).setMatrix(3, 2);
6988 #line 6989 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
6992 #line 1967 "MachineIndependent/glslang.y" /* yacc.c:1646 */
6994 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
6995 (yyval.interm.type).basicType = EbtFloat;
6996 (yyval.interm.type).setMatrix(3, 3);
6998 #line 6999 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7002 #line 1972 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7004 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7005 (yyval.interm.type).basicType = EbtFloat;
7006 (yyval.interm.type).setMatrix(3, 4);
7008 #line 7009 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7012 #line 1977 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7014 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7015 (yyval.interm.type).basicType = EbtFloat;
7016 (yyval.interm.type).setMatrix(4, 2);
7018 #line 7019 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7022 #line 1982 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7024 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7025 (yyval.interm.type).basicType = EbtFloat;
7026 (yyval.interm.type).setMatrix(4, 3);
7028 #line 7029 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7032 #line 1987 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7034 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7035 (yyval.interm.type).basicType = EbtFloat;
7036 (yyval.interm.type).setMatrix(4, 4);
7038 #line 7039 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7042 #line 1992 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7044 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7045 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7046 (yyval.interm.type).basicType = EbtDouble;
7047 (yyval.interm.type).setMatrix(2, 2);
7049 #line 7050 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7053 #line 1998 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7055 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7056 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7057 (yyval.interm.type).basicType = EbtDouble;
7058 (yyval.interm.type).setMatrix(3, 3);
7060 #line 7061 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7064 #line 2004 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7066 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7067 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7068 (yyval.interm.type).basicType = EbtDouble;
7069 (yyval.interm.type).setMatrix(4, 4);
7071 #line 7072 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7075 #line 2010 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7077 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7078 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7079 (yyval.interm.type).basicType = EbtDouble;
7080 (yyval.interm.type).setMatrix(2, 2);
7082 #line 7083 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7086 #line 2016 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7088 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7089 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7090 (yyval.interm.type).basicType = EbtDouble;
7091 (yyval.interm.type).setMatrix(2, 3);
7093 #line 7094 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7097 #line 2022 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7099 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7100 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7101 (yyval.interm.type).basicType = EbtDouble;
7102 (yyval.interm.type).setMatrix(2, 4);
7104 #line 7105 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7108 #line 2028 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7110 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7111 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7112 (yyval.interm.type).basicType = EbtDouble;
7113 (yyval.interm.type).setMatrix(3, 2);
7115 #line 7116 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7119 #line 2034 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7121 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7122 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7123 (yyval.interm.type).basicType = EbtDouble;
7124 (yyval.interm.type).setMatrix(3, 3);
7126 #line 7127 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7130 #line 2040 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7132 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7133 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7134 (yyval.interm.type).basicType = EbtDouble;
7135 (yyval.interm.type).setMatrix(3, 4);
7137 #line 7138 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7141 #line 2046 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7143 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7144 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7145 (yyval.interm.type).basicType = EbtDouble;
7146 (yyval.interm.type).setMatrix(4, 2);
7148 #line 7149 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7152 #line 2052 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7154 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7155 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7156 (yyval.interm.type).basicType = EbtDouble;
7157 (yyval.interm.type).setMatrix(4, 3);
7159 #line 7160 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7163 #line 2058 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7165 parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
7166 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7167 (yyval.interm.type).basicType = EbtDouble;
7168 (yyval.interm.type).setMatrix(4, 4);
7170 #line 7171 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7174 #line 2064 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7176 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7177 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7178 (yyval.interm.type).basicType = EbtFloat16;
7179 (yyval.interm.type).setMatrix(2, 2);
7181 #line 7182 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7185 #line 2070 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7187 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7188 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7189 (yyval.interm.type).basicType = EbtFloat16;
7190 (yyval.interm.type).setMatrix(3, 3);
7192 #line 7193 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7196 #line 2076 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7198 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7199 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7200 (yyval.interm.type).basicType = EbtFloat16;
7201 (yyval.interm.type).setMatrix(4, 4);
7203 #line 7204 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7207 #line 2082 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7209 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7210 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7211 (yyval.interm.type).basicType = EbtFloat16;
7212 (yyval.interm.type).setMatrix(2, 2);
7214 #line 7215 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7218 #line 2088 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7220 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7221 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7222 (yyval.interm.type).basicType = EbtFloat16;
7223 (yyval.interm.type).setMatrix(2, 3);
7225 #line 7226 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7229 #line 2094 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7231 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7232 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7233 (yyval.interm.type).basicType = EbtFloat16;
7234 (yyval.interm.type).setMatrix(2, 4);
7236 #line 7237 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7240 #line 2100 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7242 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7243 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7244 (yyval.interm.type).basicType = EbtFloat16;
7245 (yyval.interm.type).setMatrix(3, 2);
7247 #line 7248 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7251 #line 2106 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7253 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7254 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7255 (yyval.interm.type).basicType = EbtFloat16;
7256 (yyval.interm.type).setMatrix(3, 3);
7258 #line 7259 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7262 #line 2112 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7264 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7265 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7266 (yyval.interm.type).basicType = EbtFloat16;
7267 (yyval.interm.type).setMatrix(3, 4);
7269 #line 7270 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7273 #line 2118 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7275 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7276 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7277 (yyval.interm.type).basicType = EbtFloat16;
7278 (yyval.interm.type).setMatrix(4, 2);
7280 #line 7281 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7284 #line 2124 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7286 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7287 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7288 (yyval.interm.type).basicType = EbtFloat16;
7289 (yyval.interm.type).setMatrix(4, 3);
7291 #line 7292 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7295 #line 2130 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7297 parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
7298 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7299 (yyval.interm.type).basicType = EbtFloat16;
7300 (yyval.interm.type).setMatrix(4, 4);
7302 #line 7303 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7306 #line 2136 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7308 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7309 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7310 (yyval.interm.type).basicType = EbtFloat;
7311 (yyval.interm.type).setMatrix(2, 2);
7313 #line 7314 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7317 #line 2142 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7319 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7320 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7321 (yyval.interm.type).basicType = EbtFloat;
7322 (yyval.interm.type).setMatrix(3, 3);
7324 #line 7325 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7328 #line 2148 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7330 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7331 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7332 (yyval.interm.type).basicType = EbtFloat;
7333 (yyval.interm.type).setMatrix(4, 4);
7335 #line 7336 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7339 #line 2154 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7341 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7342 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7343 (yyval.interm.type).basicType = EbtFloat;
7344 (yyval.interm.type).setMatrix(2, 2);
7346 #line 7347 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7350 #line 2160 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7352 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7353 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7354 (yyval.interm.type).basicType = EbtFloat;
7355 (yyval.interm.type).setMatrix(2, 3);
7357 #line 7358 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7361 #line 2166 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7363 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7364 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7365 (yyval.interm.type).basicType = EbtFloat;
7366 (yyval.interm.type).setMatrix(2, 4);
7368 #line 7369 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7372 #line 2172 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7374 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7375 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7376 (yyval.interm.type).basicType = EbtFloat;
7377 (yyval.interm.type).setMatrix(3, 2);
7379 #line 7380 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7383 #line 2178 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7385 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7386 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7387 (yyval.interm.type).basicType = EbtFloat;
7388 (yyval.interm.type).setMatrix(3, 3);
7390 #line 7391 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7394 #line 2184 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7396 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7397 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7398 (yyval.interm.type).basicType = EbtFloat;
7399 (yyval.interm.type).setMatrix(3, 4);
7401 #line 7402 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7405 #line 2190 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7407 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7408 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7409 (yyval.interm.type).basicType = EbtFloat;
7410 (yyval.interm.type).setMatrix(4, 2);
7412 #line 7413 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7416 #line 2196 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7418 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7419 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7420 (yyval.interm.type).basicType = EbtFloat;
7421 (yyval.interm.type).setMatrix(4, 3);
7423 #line 7424 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7427 #line 2202 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7429 parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
7430 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7431 (yyval.interm.type).basicType = EbtFloat;
7432 (yyval.interm.type).setMatrix(4, 4);
7434 #line 7435 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7438 #line 2208 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7440 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7441 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7442 (yyval.interm.type).basicType = EbtDouble;
7443 (yyval.interm.type).setMatrix(2, 2);
7445 #line 7446 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7449 #line 2214 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7451 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7452 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7453 (yyval.interm.type).basicType = EbtDouble;
7454 (yyval.interm.type).setMatrix(3, 3);
7456 #line 7457 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7460 #line 2220 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7462 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7463 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7464 (yyval.interm.type).basicType = EbtDouble;
7465 (yyval.interm.type).setMatrix(4, 4);
7467 #line 7468 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7471 #line 2226 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7473 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7474 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7475 (yyval.interm.type).basicType = EbtDouble;
7476 (yyval.interm.type).setMatrix(2, 2);
7478 #line 7479 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7482 #line 2232 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7484 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7485 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7486 (yyval.interm.type).basicType = EbtDouble;
7487 (yyval.interm.type).setMatrix(2, 3);
7489 #line 7490 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7493 #line 2238 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7495 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7496 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7497 (yyval.interm.type).basicType = EbtDouble;
7498 (yyval.interm.type).setMatrix(2, 4);
7500 #line 7501 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7504 #line 2244 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7506 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7507 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7508 (yyval.interm.type).basicType = EbtDouble;
7509 (yyval.interm.type).setMatrix(3, 2);
7511 #line 7512 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7515 #line 2250 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7517 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7518 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7519 (yyval.interm.type).basicType = EbtDouble;
7520 (yyval.interm.type).setMatrix(3, 3);
7522 #line 7523 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7526 #line 2256 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7528 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7529 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7530 (yyval.interm.type).basicType = EbtDouble;
7531 (yyval.interm.type).setMatrix(3, 4);
7533 #line 7534 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7537 #line 2262 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7539 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7540 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7541 (yyval.interm.type).basicType = EbtDouble;
7542 (yyval.interm.type).setMatrix(4, 2);
7544 #line 7545 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7548 #line 2268 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7550 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7551 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7552 (yyval.interm.type).basicType = EbtDouble;
7553 (yyval.interm.type).setMatrix(4, 3);
7555 #line 7556 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7559 #line 2274 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7561 parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
7562 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7563 (yyval.interm.type).basicType = EbtDouble;
7564 (yyval.interm.type).setMatrix(4, 4);
7566 #line 7567 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7570 #line 2280 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7572 #ifdef NV_EXTENSIONS
7573 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7574 (yyval.interm.type).basicType = EbtAccStructNV;
7577 #line 7578 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7581 #line 2286 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7583 parseContext.vulkanRemoved((yyvsp[0].lex).loc, "atomic counter types");
7584 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7585 (yyval.interm.type).basicType = EbtAtomicUint;
7587 #line 7588 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7591 #line 2291 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7593 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7594 (yyval.interm.type).basicType = EbtSampler;
7595 (yyval.interm.type).sampler.set(EbtFloat, Esd1D);
7597 #line 7598 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7601 #line 2296 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7603 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7604 (yyval.interm.type).basicType = EbtSampler;
7605 (yyval.interm.type).sampler.set(EbtFloat, Esd2D);
7607 #line 7608 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7611 #line 2301 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7613 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7614 (yyval.interm.type).basicType = EbtSampler;
7615 (yyval.interm.type).sampler.set(EbtFloat, Esd3D);
7617 #line 7618 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7621 #line 2306 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7623 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7624 (yyval.interm.type).basicType = EbtSampler;
7625 (yyval.interm.type).sampler.set(EbtFloat, EsdCube);
7627 #line 7628 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7631 #line 2311 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7633 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7634 (yyval.interm.type).basicType = EbtSampler;
7635 (yyval.interm.type).sampler.set(EbtFloat, Esd1D, false, true);
7637 #line 7638 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7641 #line 2316 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7643 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7644 (yyval.interm.type).basicType = EbtSampler;
7645 (yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, true);
7647 #line 7648 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7651 #line 2321 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7653 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7654 (yyval.interm.type).basicType = EbtSampler;
7655 (yyval.interm.type).sampler.set(EbtFloat, EsdCube, false, true);
7657 #line 7658 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7661 #line 2326 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7663 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7664 (yyval.interm.type).basicType = EbtSampler;
7665 (yyval.interm.type).sampler.set(EbtFloat, Esd1D, true);
7667 #line 7668 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7671 #line 2331 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7673 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7674 (yyval.interm.type).basicType = EbtSampler;
7675 (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true);
7677 #line 7678 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7681 #line 2336 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7683 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7684 (yyval.interm.type).basicType = EbtSampler;
7685 (yyval.interm.type).sampler.set(EbtFloat, Esd1D, true, true);
7687 #line 7688 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7691 #line 2341 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7693 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7694 (yyval.interm.type).basicType = EbtSampler;
7695 (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, true);
7697 #line 7698 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7701 #line 2346 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7703 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7704 (yyval.interm.type).basicType = EbtSampler;
7705 (yyval.interm.type).sampler.set(EbtFloat, EsdCube, true);
7707 #line 7708 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7711 #line 2351 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7713 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7714 (yyval.interm.type).basicType = EbtSampler;
7715 (yyval.interm.type).sampler.set(EbtFloat, EsdCube, true, true);
7717 #line 7718 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7721 #line 2356 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7723 #ifdef AMD_EXTENSIONS
7724 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7725 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7726 (yyval.interm.type).basicType = EbtSampler;
7727 (yyval.interm.type).sampler.set(EbtFloat16, Esd1D);
7730 #line 7731 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7734 #line 2364 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7736 #ifdef AMD_EXTENSIONS
7737 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7738 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7739 (yyval.interm.type).basicType = EbtSampler;
7740 (yyval.interm.type).sampler.set(EbtFloat16, Esd2D);
7743 #line 7744 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7747 #line 2372 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7749 #ifdef AMD_EXTENSIONS
7750 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7751 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7752 (yyval.interm.type).basicType = EbtSampler;
7753 (yyval.interm.type).sampler.set(EbtFloat16, Esd3D);
7756 #line 7757 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7760 #line 2380 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7762 #ifdef AMD_EXTENSIONS
7763 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7764 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7765 (yyval.interm.type).basicType = EbtSampler;
7766 (yyval.interm.type).sampler.set(EbtFloat16, EsdCube);
7769 #line 7770 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7773 #line 2388 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7775 #ifdef AMD_EXTENSIONS
7776 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7777 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7778 (yyval.interm.type).basicType = EbtSampler;
7779 (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, false, true);
7782 #line 7783 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7786 #line 2396 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7788 #ifdef AMD_EXTENSIONS
7789 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7790 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7791 (yyval.interm.type).basicType = EbtSampler;
7792 (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, true);
7795 #line 7796 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7799 #line 2404 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7801 #ifdef AMD_EXTENSIONS
7802 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7803 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7804 (yyval.interm.type).basicType = EbtSampler;
7805 (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, false, true);
7808 #line 7809 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7812 #line 2412 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7814 #ifdef AMD_EXTENSIONS
7815 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7816 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7817 (yyval.interm.type).basicType = EbtSampler;
7818 (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true);
7821 #line 7822 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7825 #line 2420 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7827 #ifdef AMD_EXTENSIONS
7828 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7829 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7830 (yyval.interm.type).basicType = EbtSampler;
7831 (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true);
7834 #line 7835 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7838 #line 2428 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7840 #ifdef AMD_EXTENSIONS
7841 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7842 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7843 (yyval.interm.type).basicType = EbtSampler;
7844 (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true, true);
7847 #line 7848 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7851 #line 2436 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7853 #ifdef AMD_EXTENSIONS
7854 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7855 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7856 (yyval.interm.type).basicType = EbtSampler;
7857 (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, true);
7860 #line 7861 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7864 #line 2444 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7866 #ifdef AMD_EXTENSIONS
7867 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7868 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7869 (yyval.interm.type).basicType = EbtSampler;
7870 (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true);
7873 #line 7874 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7877 #line 2452 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7879 #ifdef AMD_EXTENSIONS
7880 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
7881 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7882 (yyval.interm.type).basicType = EbtSampler;
7883 (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true, true);
7886 #line 7887 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7890 #line 2460 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7892 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7893 (yyval.interm.type).basicType = EbtSampler;
7894 (yyval.interm.type).sampler.set(EbtInt, Esd1D);
7896 #line 7897 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7900 #line 2465 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7902 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7903 (yyval.interm.type).basicType = EbtSampler;
7904 (yyval.interm.type).sampler.set(EbtInt, Esd2D);
7906 #line 7907 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7910 #line 2470 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7912 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7913 (yyval.interm.type).basicType = EbtSampler;
7914 (yyval.interm.type).sampler.set(EbtInt, Esd3D);
7916 #line 7917 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7920 #line 2475 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7922 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7923 (yyval.interm.type).basicType = EbtSampler;
7924 (yyval.interm.type).sampler.set(EbtInt, EsdCube);
7926 #line 7927 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7930 #line 2480 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7932 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7933 (yyval.interm.type).basicType = EbtSampler;
7934 (yyval.interm.type).sampler.set(EbtInt, Esd1D, true);
7936 #line 7937 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7940 #line 2485 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7942 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7943 (yyval.interm.type).basicType = EbtSampler;
7944 (yyval.interm.type).sampler.set(EbtInt, Esd2D, true);
7946 #line 7947 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7950 #line 2490 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7952 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7953 (yyval.interm.type).basicType = EbtSampler;
7954 (yyval.interm.type).sampler.set(EbtInt, EsdCube, true);
7956 #line 7957 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7960 #line 2495 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7962 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7963 (yyval.interm.type).basicType = EbtSampler;
7964 (yyval.interm.type).sampler.set(EbtUint, Esd1D);
7966 #line 7967 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7970 #line 2500 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7972 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7973 (yyval.interm.type).basicType = EbtSampler;
7974 (yyval.interm.type).sampler.set(EbtUint, Esd2D);
7976 #line 7977 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7980 #line 2505 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7982 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7983 (yyval.interm.type).basicType = EbtSampler;
7984 (yyval.interm.type).sampler.set(EbtUint, Esd3D);
7986 #line 7987 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
7990 #line 2510 "MachineIndependent/glslang.y" /* yacc.c:1646 */
7992 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
7993 (yyval.interm.type).basicType = EbtSampler;
7994 (yyval.interm.type).sampler.set(EbtUint, EsdCube);
7996 #line 7997 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8000 #line 2515 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8002 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8003 (yyval.interm.type).basicType = EbtSampler;
8004 (yyval.interm.type).sampler.set(EbtUint, Esd1D, true);
8006 #line 8007 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8010 #line 2520 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8012 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8013 (yyval.interm.type).basicType = EbtSampler;
8014 (yyval.interm.type).sampler.set(EbtUint, Esd2D, true);
8016 #line 8017 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8020 #line 2525 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8022 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8023 (yyval.interm.type).basicType = EbtSampler;
8024 (yyval.interm.type).sampler.set(EbtUint, EsdCube, true);
8026 #line 8027 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8030 #line 2530 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8032 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8033 (yyval.interm.type).basicType = EbtSampler;
8034 (yyval.interm.type).sampler.set(EbtFloat, EsdRect);
8036 #line 8037 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8040 #line 2535 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8042 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8043 (yyval.interm.type).basicType = EbtSampler;
8044 (yyval.interm.type).sampler.set(EbtFloat, EsdRect, false, true);
8046 #line 8047 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8050 #line 2540 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8052 #ifdef AMD_EXTENSIONS
8053 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
8054 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8055 (yyval.interm.type).basicType = EbtSampler;
8056 (yyval.interm.type).sampler.set(EbtFloat16, EsdRect);
8059 #line 8060 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8063 #line 2548 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8065 #ifdef AMD_EXTENSIONS
8066 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
8067 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8068 (yyval.interm.type).basicType = EbtSampler;
8069 (yyval.interm.type).sampler.set(EbtFloat16, EsdRect, false, true);
8072 #line 8073 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8076 #line 2556 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8078 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8079 (yyval.interm.type).basicType = EbtSampler;
8080 (yyval.interm.type).sampler.set(EbtInt, EsdRect);
8082 #line 8083 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8086 #line 2561 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8088 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8089 (yyval.interm.type).basicType = EbtSampler;
8090 (yyval.interm.type).sampler.set(EbtUint, EsdRect);
8092 #line 8093 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8096 #line 2566 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8098 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8099 (yyval.interm.type).basicType = EbtSampler;
8100 (yyval.interm.type).sampler.set(EbtFloat, EsdBuffer);
8102 #line 8103 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8106 #line 2571 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8108 #ifdef AMD_EXTENSIONS
8109 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
8110 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8111 (yyval.interm.type).basicType = EbtSampler;
8112 (yyval.interm.type).sampler.set(EbtFloat16, EsdBuffer);
8115 #line 8116 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8119 #line 2579 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8121 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8122 (yyval.interm.type).basicType = EbtSampler;
8123 (yyval.interm.type).sampler.set(EbtInt, EsdBuffer);
8125 #line 8126 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8129 #line 2584 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8131 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8132 (yyval.interm.type).basicType = EbtSampler;
8133 (yyval.interm.type).sampler.set(EbtUint, EsdBuffer);
8135 #line 8136 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8139 #line 2589 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8141 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8142 (yyval.interm.type).basicType = EbtSampler;
8143 (yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, false, true);
8145 #line 8146 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8149 #line 2594 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8151 #ifdef AMD_EXTENSIONS
8152 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
8153 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8154 (yyval.interm.type).basicType = EbtSampler;
8155 (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, false, true);
8158 #line 8159 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8162 #line 2602 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8164 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8165 (yyval.interm.type).basicType = EbtSampler;
8166 (yyval.interm.type).sampler.set(EbtInt, Esd2D, false, false, true);
8168 #line 8169 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8172 #line 2607 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8174 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8175 (yyval.interm.type).basicType = EbtSampler;
8176 (yyval.interm.type).sampler.set(EbtUint, Esd2D, false, false, true);
8178 #line 8179 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8182 #line 2612 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8184 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8185 (yyval.interm.type).basicType = EbtSampler;
8186 (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, false, true);
8188 #line 8189 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8192 #line 2617 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8194 #ifdef AMD_EXTENSIONS
8195 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
8196 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8197 (yyval.interm.type).basicType = EbtSampler;
8198 (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, false, true);
8201 #line 8202 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8205 #line 2625 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8207 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8208 (yyval.interm.type).basicType = EbtSampler;
8209 (yyval.interm.type).sampler.set(EbtInt, Esd2D, true, false, true);
8211 #line 8212 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8215 #line 2630 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8217 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8218 (yyval.interm.type).basicType = EbtSampler;
8219 (yyval.interm.type).sampler.set(EbtUint, Esd2D, true, false, true);
8221 #line 8222 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8225 #line 2635 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8227 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8228 (yyval.interm.type).basicType = EbtSampler;
8229 (yyval.interm.type).sampler.setPureSampler(false);
8231 #line 8232 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8235 #line 2640 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8237 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8238 (yyval.interm.type).basicType = EbtSampler;
8239 (yyval.interm.type).sampler.setPureSampler(true);
8241 #line 8242 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8245 #line 2645 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8247 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8248 (yyval.interm.type).basicType = EbtSampler;
8249 (yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D);
8251 #line 8252 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8255 #line 2650 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8257 #ifdef AMD_EXTENSIONS
8258 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8259 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8260 (yyval.interm.type).basicType = EbtSampler;
8261 (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D);
8264 #line 8265 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8268 #line 2658 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8270 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8271 (yyval.interm.type).basicType = EbtSampler;
8272 (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D);
8274 #line 8275 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8278 #line 2663 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8280 #ifdef AMD_EXTENSIONS
8281 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8282 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8283 (yyval.interm.type).basicType = EbtSampler;
8284 (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D);
8287 #line 8288 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8291 #line 2671 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8293 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8294 (yyval.interm.type).basicType = EbtSampler;
8295 (yyval.interm.type).sampler.setTexture(EbtFloat, Esd3D);
8297 #line 8298 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8301 #line 2676 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8303 #ifdef AMD_EXTENSIONS
8304 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8305 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8306 (yyval.interm.type).basicType = EbtSampler;
8307 (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd3D);
8310 #line 8311 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8314 #line 2684 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8316 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8317 (yyval.interm.type).basicType = EbtSampler;
8318 (yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube);
8320 #line 8321 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8324 #line 2689 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8326 #ifdef AMD_EXTENSIONS
8327 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8328 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8329 (yyval.interm.type).basicType = EbtSampler;
8330 (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube);
8333 #line 8334 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8337 #line 2697 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8339 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8340 (yyval.interm.type).basicType = EbtSampler;
8341 (yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D, true);
8343 #line 8344 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8347 #line 2702 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8349 #ifdef AMD_EXTENSIONS
8350 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8351 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8352 (yyval.interm.type).basicType = EbtSampler;
8353 (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D, true);
8356 #line 8357 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8360 #line 2710 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8362 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8363 (yyval.interm.type).basicType = EbtSampler;
8364 (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true);
8366 #line 8367 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8370 #line 2715 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8372 #ifdef AMD_EXTENSIONS
8373 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8374 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8375 (yyval.interm.type).basicType = EbtSampler;
8376 (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true);
8379 #line 8380 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8383 #line 2723 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8385 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8386 (yyval.interm.type).basicType = EbtSampler;
8387 (yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube, true);
8389 #line 8390 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8393 #line 2728 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8395 #ifdef AMD_EXTENSIONS
8396 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8397 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8398 (yyval.interm.type).basicType = EbtSampler;
8399 (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube, true);
8402 #line 8403 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8406 #line 2736 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8408 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8409 (yyval.interm.type).basicType = EbtSampler;
8410 (yyval.interm.type).sampler.setTexture(EbtInt, Esd1D);
8412 #line 8413 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8416 #line 2741 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8418 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8419 (yyval.interm.type).basicType = EbtSampler;
8420 (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D);
8422 #line 8423 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8426 #line 2746 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8428 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8429 (yyval.interm.type).basicType = EbtSampler;
8430 (yyval.interm.type).sampler.setTexture(EbtInt, Esd3D);
8432 #line 8433 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8436 #line 2751 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8438 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8439 (yyval.interm.type).basicType = EbtSampler;
8440 (yyval.interm.type).sampler.setTexture(EbtInt, EsdCube);
8442 #line 8443 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8446 #line 2756 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8448 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8449 (yyval.interm.type).basicType = EbtSampler;
8450 (yyval.interm.type).sampler.setTexture(EbtInt, Esd1D, true);
8452 #line 8453 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8456 #line 2761 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8458 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8459 (yyval.interm.type).basicType = EbtSampler;
8460 (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true);
8462 #line 8463 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8466 #line 2766 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8468 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8469 (yyval.interm.type).basicType = EbtSampler;
8470 (yyval.interm.type).sampler.setTexture(EbtInt, EsdCube, true);
8472 #line 8473 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8476 #line 2771 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8478 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8479 (yyval.interm.type).basicType = EbtSampler;
8480 (yyval.interm.type).sampler.setTexture(EbtUint, Esd1D);
8482 #line 8483 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8486 #line 2776 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8488 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8489 (yyval.interm.type).basicType = EbtSampler;
8490 (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D);
8492 #line 8493 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8496 #line 2781 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8498 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8499 (yyval.interm.type).basicType = EbtSampler;
8500 (yyval.interm.type).sampler.setTexture(EbtUint, Esd3D);
8502 #line 8503 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8506 #line 2786 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8508 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8509 (yyval.interm.type).basicType = EbtSampler;
8510 (yyval.interm.type).sampler.setTexture(EbtUint, EsdCube);
8512 #line 8513 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8516 #line 2791 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8518 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8519 (yyval.interm.type).basicType = EbtSampler;
8520 (yyval.interm.type).sampler.setTexture(EbtUint, Esd1D, true);
8522 #line 8523 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8526 #line 2796 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8528 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8529 (yyval.interm.type).basicType = EbtSampler;
8530 (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true);
8532 #line 8533 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8536 #line 2801 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8538 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8539 (yyval.interm.type).basicType = EbtSampler;
8540 (yyval.interm.type).sampler.setTexture(EbtUint, EsdCube, true);
8542 #line 8543 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8546 #line 2806 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8548 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8549 (yyval.interm.type).basicType = EbtSampler;
8550 (yyval.interm.type).sampler.setTexture(EbtFloat, EsdRect);
8552 #line 8553 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8556 #line 2811 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8558 #ifdef AMD_EXTENSIONS
8559 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8560 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8561 (yyval.interm.type).basicType = EbtSampler;
8562 (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdRect);
8565 #line 8566 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8569 #line 2819 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8571 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8572 (yyval.interm.type).basicType = EbtSampler;
8573 (yyval.interm.type).sampler.setTexture(EbtInt, EsdRect);
8575 #line 8576 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8579 #line 2824 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8581 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8582 (yyval.interm.type).basicType = EbtSampler;
8583 (yyval.interm.type).sampler.setTexture(EbtUint, EsdRect);
8585 #line 8586 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8589 #line 2829 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8591 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8592 (yyval.interm.type).basicType = EbtSampler;
8593 (yyval.interm.type).sampler.setTexture(EbtFloat, EsdBuffer);
8595 #line 8596 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8599 #line 2834 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8601 #ifdef AMD_EXTENSIONS
8602 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8603 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8604 (yyval.interm.type).basicType = EbtSampler;
8605 (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdBuffer);
8608 #line 8609 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8612 #line 2842 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8614 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8615 (yyval.interm.type).basicType = EbtSampler;
8616 (yyval.interm.type).sampler.setTexture(EbtInt, EsdBuffer);
8618 #line 8619 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8622 #line 2847 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8624 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8625 (yyval.interm.type).basicType = EbtSampler;
8626 (yyval.interm.type).sampler.setTexture(EbtUint, EsdBuffer);
8628 #line 8629 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8632 #line 2852 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8634 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8635 (yyval.interm.type).basicType = EbtSampler;
8636 (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, false, false, true);
8638 #line 8639 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8642 #line 2857 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8644 #ifdef AMD_EXTENSIONS
8645 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8646 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8647 (yyval.interm.type).basicType = EbtSampler;
8648 (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, false, false, true);
8651 #line 8652 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8655 #line 2865 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8657 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8658 (yyval.interm.type).basicType = EbtSampler;
8659 (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, false, false, true);
8661 #line 8662 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8665 #line 2870 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8667 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8668 (yyval.interm.type).basicType = EbtSampler;
8669 (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, false, false, true);
8671 #line 8672 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8675 #line 2875 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8677 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8678 (yyval.interm.type).basicType = EbtSampler;
8679 (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true, false, true);
8681 #line 8682 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8685 #line 2880 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8687 #ifdef AMD_EXTENSIONS
8688 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
8689 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8690 (yyval.interm.type).basicType = EbtSampler;
8691 (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true, false, true);
8694 #line 8695 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8698 #line 2888 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8700 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8701 (yyval.interm.type).basicType = EbtSampler;
8702 (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true, false, true);
8704 #line 8705 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8708 #line 2893 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8710 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8711 (yyval.interm.type).basicType = EbtSampler;
8712 (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true, false, true);
8714 #line 8715 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8718 #line 2898 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8720 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8721 (yyval.interm.type).basicType = EbtSampler;
8722 (yyval.interm.type).sampler.setImage(EbtFloat, Esd1D);
8724 #line 8725 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8728 #line 2903 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8730 #ifdef AMD_EXTENSIONS
8731 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8732 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8733 (yyval.interm.type).basicType = EbtSampler;
8734 (yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D);
8737 #line 8738 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8741 #line 2911 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8743 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8744 (yyval.interm.type).basicType = EbtSampler;
8745 (yyval.interm.type).sampler.setImage(EbtInt, Esd1D);
8747 #line 8748 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8751 #line 2916 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8753 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8754 (yyval.interm.type).basicType = EbtSampler;
8755 (yyval.interm.type).sampler.setImage(EbtUint, Esd1D);
8757 #line 8758 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8761 #line 2921 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8763 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8764 (yyval.interm.type).basicType = EbtSampler;
8765 (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D);
8767 #line 8768 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8771 #line 2926 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8773 #ifdef AMD_EXTENSIONS
8774 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8775 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8776 (yyval.interm.type).basicType = EbtSampler;
8777 (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D);
8780 #line 8781 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8784 #line 2934 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8786 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8787 (yyval.interm.type).basicType = EbtSampler;
8788 (yyval.interm.type).sampler.setImage(EbtInt, Esd2D);
8790 #line 8791 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8794 #line 2939 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8796 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8797 (yyval.interm.type).basicType = EbtSampler;
8798 (yyval.interm.type).sampler.setImage(EbtUint, Esd2D);
8800 #line 8801 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8804 #line 2944 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8806 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8807 (yyval.interm.type).basicType = EbtSampler;
8808 (yyval.interm.type).sampler.setImage(EbtFloat, Esd3D);
8810 #line 8811 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8814 #line 2949 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8816 #ifdef AMD_EXTENSIONS
8817 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8818 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8819 (yyval.interm.type).basicType = EbtSampler;
8820 (yyval.interm.type).sampler.setImage(EbtFloat16, Esd3D);
8823 #line 8824 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8827 #line 2957 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8829 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8830 (yyval.interm.type).basicType = EbtSampler;
8831 (yyval.interm.type).sampler.setImage(EbtInt, Esd3D);
8833 #line 8834 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8837 #line 2962 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8839 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8840 (yyval.interm.type).basicType = EbtSampler;
8841 (yyval.interm.type).sampler.setImage(EbtUint, Esd3D);
8843 #line 8844 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8847 #line 2967 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8849 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8850 (yyval.interm.type).basicType = EbtSampler;
8851 (yyval.interm.type).sampler.setImage(EbtFloat, EsdRect);
8853 #line 8854 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8857 #line 2972 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8859 #ifdef AMD_EXTENSIONS
8860 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8861 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8862 (yyval.interm.type).basicType = EbtSampler;
8863 (yyval.interm.type).sampler.setImage(EbtFloat16, EsdRect);
8866 #line 8867 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8870 #line 2980 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8872 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8873 (yyval.interm.type).basicType = EbtSampler;
8874 (yyval.interm.type).sampler.setImage(EbtInt, EsdRect);
8876 #line 8877 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8880 #line 2985 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8882 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8883 (yyval.interm.type).basicType = EbtSampler;
8884 (yyval.interm.type).sampler.setImage(EbtUint, EsdRect);
8886 #line 8887 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8890 #line 2990 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8892 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8893 (yyval.interm.type).basicType = EbtSampler;
8894 (yyval.interm.type).sampler.setImage(EbtFloat, EsdCube);
8896 #line 8897 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8900 #line 2995 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8902 #ifdef AMD_EXTENSIONS
8903 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8904 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8905 (yyval.interm.type).basicType = EbtSampler;
8906 (yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube);
8909 #line 8910 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8913 #line 3003 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8915 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8916 (yyval.interm.type).basicType = EbtSampler;
8917 (yyval.interm.type).sampler.setImage(EbtInt, EsdCube);
8919 #line 8920 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8923 #line 3008 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8925 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8926 (yyval.interm.type).basicType = EbtSampler;
8927 (yyval.interm.type).sampler.setImage(EbtUint, EsdCube);
8929 #line 8930 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8933 #line 3013 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8935 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8936 (yyval.interm.type).basicType = EbtSampler;
8937 (yyval.interm.type).sampler.setImage(EbtFloat, EsdBuffer);
8939 #line 8940 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8943 #line 3018 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8945 #ifdef AMD_EXTENSIONS
8946 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8947 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8948 (yyval.interm.type).basicType = EbtSampler;
8949 (yyval.interm.type).sampler.setImage(EbtFloat16, EsdBuffer);
8952 #line 8953 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8956 #line 3026 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8958 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8959 (yyval.interm.type).basicType = EbtSampler;
8960 (yyval.interm.type).sampler.setImage(EbtInt, EsdBuffer);
8962 #line 8963 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8966 #line 3031 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8968 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8969 (yyval.interm.type).basicType = EbtSampler;
8970 (yyval.interm.type).sampler.setImage(EbtUint, EsdBuffer);
8972 #line 8973 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8976 #line 3036 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8978 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8979 (yyval.interm.type).basicType = EbtSampler;
8980 (yyval.interm.type).sampler.setImage(EbtFloat, Esd1D, true);
8982 #line 8983 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8986 #line 3041 "MachineIndependent/glslang.y" /* yacc.c:1646 */
8988 #ifdef AMD_EXTENSIONS
8989 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
8990 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
8991 (yyval.interm.type).basicType = EbtSampler;
8992 (yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D, true);
8995 #line 8996 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
8999 #line 3049 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9001 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9002 (yyval.interm.type).basicType = EbtSampler;
9003 (yyval.interm.type).sampler.setImage(EbtInt, Esd1D, true);
9005 #line 9006 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9009 #line 3054 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9011 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9012 (yyval.interm.type).basicType = EbtSampler;
9013 (yyval.interm.type).sampler.setImage(EbtUint, Esd1D, true);
9015 #line 9016 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9019 #line 3059 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9021 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9022 (yyval.interm.type).basicType = EbtSampler;
9023 (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true);
9025 #line 9026 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9029 #line 3064 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9031 #ifdef AMD_EXTENSIONS
9032 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
9033 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9034 (yyval.interm.type).basicType = EbtSampler;
9035 (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true);
9038 #line 9039 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9042 #line 3072 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9044 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9045 (yyval.interm.type).basicType = EbtSampler;
9046 (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true);
9048 #line 9049 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9052 #line 3077 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9054 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9055 (yyval.interm.type).basicType = EbtSampler;
9056 (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true);
9058 #line 9059 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9062 #line 3082 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9064 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9065 (yyval.interm.type).basicType = EbtSampler;
9066 (yyval.interm.type).sampler.setImage(EbtFloat, EsdCube, true);
9068 #line 9069 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9072 #line 3087 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9074 #ifdef AMD_EXTENSIONS
9075 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
9076 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9077 (yyval.interm.type).basicType = EbtSampler;
9078 (yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube, true);
9081 #line 9082 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9085 #line 3095 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9087 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9088 (yyval.interm.type).basicType = EbtSampler;
9089 (yyval.interm.type).sampler.setImage(EbtInt, EsdCube, true);
9091 #line 9092 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9095 #line 3100 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9097 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9098 (yyval.interm.type).basicType = EbtSampler;
9099 (yyval.interm.type).sampler.setImage(EbtUint, EsdCube, true);
9101 #line 9102 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9105 #line 3105 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9107 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9108 (yyval.interm.type).basicType = EbtSampler;
9109 (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, false, false, true);
9111 #line 9112 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9115 #line 3110 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9117 #ifdef AMD_EXTENSIONS
9118 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
9119 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9120 (yyval.interm.type).basicType = EbtSampler;
9121 (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, false, false, true);
9124 #line 9125 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9128 #line 3118 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9130 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9131 (yyval.interm.type).basicType = EbtSampler;
9132 (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, false, false, true);
9134 #line 9135 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9138 #line 3123 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9140 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9141 (yyval.interm.type).basicType = EbtSampler;
9142 (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, false, false, true);
9144 #line 9145 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9148 #line 3128 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9150 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9151 (yyval.interm.type).basicType = EbtSampler;
9152 (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true, false, true);
9154 #line 9155 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9158 #line 3133 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9160 #ifdef AMD_EXTENSIONS
9161 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
9162 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9163 (yyval.interm.type).basicType = EbtSampler;
9164 (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true, false, true);
9167 #line 9168 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9171 #line 3141 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9173 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9174 (yyval.interm.type).basicType = EbtSampler;
9175 (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true, false, true);
9177 #line 9178 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9181 #line 3146 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9183 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9184 (yyval.interm.type).basicType = EbtSampler;
9185 (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true, false, true);
9187 #line 9188 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9191 #line 3151 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9192 { // GL_OES_EGL_image_external
9193 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9194 (yyval.interm.type).basicType = EbtSampler;
9195 (yyval.interm.type).sampler.set(EbtFloat, Esd2D);
9196 (yyval.interm.type).sampler.external = true;
9198 #line 9199 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9202 #line 3157 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9203 { // GL_EXT_YUV_target
9204 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9205 (yyval.interm.type).basicType = EbtSampler;
9206 (yyval.interm.type).sampler.set(EbtFloat, Esd2D);
9207 (yyval.interm.type).sampler.yuv = true;
9209 #line 9210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9213 #line 3163 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9215 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9216 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9217 (yyval.interm.type).basicType = EbtSampler;
9218 (yyval.interm.type).sampler.setSubpass(EbtFloat);
9220 #line 9221 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9224 #line 3169 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9226 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9227 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9228 (yyval.interm.type).basicType = EbtSampler;
9229 (yyval.interm.type).sampler.setSubpass(EbtFloat, true);
9231 #line 9232 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9235 #line 3175 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9237 #ifdef AMD_EXTENSIONS
9238 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel());
9239 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9240 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9241 (yyval.interm.type).basicType = EbtSampler;
9242 (yyval.interm.type).sampler.setSubpass(EbtFloat16);
9245 #line 9246 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9249 #line 3184 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9251 #ifdef AMD_EXTENSIONS
9252 parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel());
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(EbtFloat16, true);
9259 #line 9260 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9263 #line 3193 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9265 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9266 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9267 (yyval.interm.type).basicType = EbtSampler;
9268 (yyval.interm.type).sampler.setSubpass(EbtInt);
9270 #line 9271 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9274 #line 3199 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9276 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9277 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9278 (yyval.interm.type).basicType = EbtSampler;
9279 (yyval.interm.type).sampler.setSubpass(EbtInt, true);
9281 #line 9282 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9285 #line 3205 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9287 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9288 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9289 (yyval.interm.type).basicType = EbtSampler;
9290 (yyval.interm.type).sampler.setSubpass(EbtUint);
9292 #line 9293 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9296 #line 3211 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9298 parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
9299 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9300 (yyval.interm.type).basicType = EbtSampler;
9301 (yyval.interm.type).sampler.setSubpass(EbtUint, true);
9303 #line 9304 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9307 #line 3217 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9309 parseContext.fcoopmatCheck((yyvsp[0].lex).loc, "fcoopmatNV", parseContext.symbolTable.atBuiltInLevel());
9310 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9311 (yyval.interm.type).basicType = EbtFloat;
9312 (yyval.interm.type).coopmat = true;
9314 #line 9315 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9318 #line 3223 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9320 (yyval.interm.type) = (yyvsp[0].interm.type);
9321 (yyval.interm.type).qualifier.storage = parseContext.symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
9322 parseContext.structTypeCheck((yyval.interm.type).loc, (yyval.interm.type));
9324 #line 9325 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9328 #line 3228 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9331 // This is for user defined type names. The lexical phase looked up the
9334 if (const TVariable* variable = ((yyvsp[0].lex).symbol)->getAsVariable()) {
9335 const TType& structure = variable->getType();
9336 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9337 (yyval.interm.type).basicType = EbtStruct;
9338 (yyval.interm.type).userDef = &structure;
9340 parseContext.error((yyvsp[0].lex).loc, "expected type name", (yyvsp[0].lex).string->c_str(), "");
9342 #line 9343 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9346 #line 3244 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9348 parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "highp precision qualifier");
9349 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9350 parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqHigh);
9352 #line 9353 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9356 #line 3249 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9358 parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "mediump precision qualifier");
9359 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9360 parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqMedium);
9362 #line 9363 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9366 #line 3254 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9368 parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "lowp precision qualifier");
9369 (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
9370 parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqLow);
9372 #line 9373 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9376 #line 3262 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9377 { parseContext.nestedStructCheck((yyvsp[-2].lex).loc); }
9378 #line 9379 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9382 #line 3262 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9384 TType* structure = new TType((yyvsp[-1].interm.typeList), *(yyvsp[-4].lex).string);
9385 parseContext.structArrayCheck((yyvsp[-4].lex).loc, *structure);
9386 TVariable* userTypeDef = new TVariable((yyvsp[-4].lex).string, *structure, true);
9387 if (! parseContext.symbolTable.insert(*userTypeDef))
9388 parseContext.error((yyvsp[-4].lex).loc, "redefinition", (yyvsp[-4].lex).string->c_str(), "struct");
9389 (yyval.interm.type).init((yyvsp[-5].lex).loc);
9390 (yyval.interm.type).basicType = EbtStruct;
9391 (yyval.interm.type).userDef = structure;
9392 --parseContext.structNestingLevel;
9394 #line 9395 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9398 #line 3273 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9399 { parseContext.nestedStructCheck((yyvsp[-1].lex).loc); }
9400 #line 9401 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9404 #line 3273 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9406 TType* structure = new TType((yyvsp[-1].interm.typeList), TString(""));
9407 (yyval.interm.type).init((yyvsp[-4].lex).loc);
9408 (yyval.interm.type).basicType = EbtStruct;
9409 (yyval.interm.type).userDef = structure;
9410 --parseContext.structNestingLevel;
9412 #line 9413 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9416 #line 3283 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9418 (yyval.interm.typeList) = (yyvsp[0].interm.typeList);
9420 #line 9421 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9424 #line 3286 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9426 (yyval.interm.typeList) = (yyvsp[-1].interm.typeList);
9427 for (unsigned int i = 0; i < (yyvsp[0].interm.typeList)->size(); ++i) {
9428 for (unsigned int j = 0; j < (yyval.interm.typeList)->size(); ++j) {
9429 if ((*(yyval.interm.typeList))[j].type->getFieldName() == (*(yyvsp[0].interm.typeList))[i].type->getFieldName())
9430 parseContext.error((*(yyvsp[0].interm.typeList))[i].loc, "duplicate member name:", "", (*(yyvsp[0].interm.typeList))[i].type->getFieldName().c_str());
9432 (yyval.interm.typeList)->push_back((*(yyvsp[0].interm.typeList))[i]);
9435 #line 9436 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9439 #line 3299 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9441 if ((yyvsp[-2].interm.type).arraySizes) {
9442 parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
9443 parseContext.profileRequires((yyvsp[-2].interm.type).loc, EEsProfile, 300, 0, "arrayed type");
9444 if (parseContext.profile == EEsProfile)
9445 parseContext.arraySizeRequiredCheck((yyvsp[-2].interm.type).loc, *(yyvsp[-2].interm.type).arraySizes);
9448 (yyval.interm.typeList) = (yyvsp[-1].interm.typeList);
9450 parseContext.voidErrorCheck((yyvsp[-2].interm.type).loc, (*(yyvsp[-1].interm.typeList))[0].type->getFieldName(), (yyvsp[-2].interm.type).basicType);
9451 parseContext.precisionQualifierCheck((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).basicType, (yyvsp[-2].interm.type).qualifier);
9453 for (unsigned int i = 0; i < (yyval.interm.typeList)->size(); ++i) {
9454 TType type((yyvsp[-2].interm.type));
9455 type.setFieldName((*(yyval.interm.typeList))[i].type->getFieldName());
9456 type.transferArraySizes((*(yyval.interm.typeList))[i].type->getArraySizes());
9457 type.copyArrayInnerSizes((yyvsp[-2].interm.type).arraySizes);
9458 parseContext.arrayOfArrayVersionCheck((*(yyval.interm.typeList))[i].loc, type.getArraySizes());
9459 (*(yyval.interm.typeList))[i].type->shallowCopy(type);
9462 #line 9463 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9466 #line 3321 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9468 if ((yyvsp[-2].interm.type).arraySizes) {
9469 parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
9470 parseContext.profileRequires((yyvsp[-2].interm.type).loc, EEsProfile, 300, 0, "arrayed type");
9471 if (parseContext.profile == EEsProfile)
9472 parseContext.arraySizeRequiredCheck((yyvsp[-2].interm.type).loc, *(yyvsp[-2].interm.type).arraySizes);
9475 (yyval.interm.typeList) = (yyvsp[-1].interm.typeList);
9477 parseContext.memberQualifierCheck((yyvsp[-3].interm.type));
9478 parseContext.voidErrorCheck((yyvsp[-2].interm.type).loc, (*(yyvsp[-1].interm.typeList))[0].type->getFieldName(), (yyvsp[-2].interm.type).basicType);
9479 parseContext.mergeQualifiers((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).qualifier, (yyvsp[-3].interm.type).qualifier, true);
9480 parseContext.precisionQualifierCheck((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).basicType, (yyvsp[-2].interm.type).qualifier);
9482 for (unsigned int i = 0; i < (yyval.interm.typeList)->size(); ++i) {
9483 TType type((yyvsp[-2].interm.type));
9484 type.setFieldName((*(yyval.interm.typeList))[i].type->getFieldName());
9485 type.transferArraySizes((*(yyval.interm.typeList))[i].type->getArraySizes());
9486 type.copyArrayInnerSizes((yyvsp[-2].interm.type).arraySizes);
9487 parseContext.arrayOfArrayVersionCheck((*(yyval.interm.typeList))[i].loc, type.getArraySizes());
9488 (*(yyval.interm.typeList))[i].type->shallowCopy(type);
9491 #line 9492 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9495 #line 3348 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9497 (yyval.interm.typeList) = new TTypeList;
9498 (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
9500 #line 9501 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9504 #line 3352 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9506 (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
9508 #line 9509 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9512 #line 3358 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9514 (yyval.interm.typeLine).type = new TType(EbtVoid);
9515 (yyval.interm.typeLine).loc = (yyvsp[0].lex).loc;
9516 (yyval.interm.typeLine).type->setFieldName(*(yyvsp[0].lex).string);
9518 #line 9519 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9522 #line 3363 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9524 parseContext.arrayOfArrayVersionCheck((yyvsp[-1].lex).loc, (yyvsp[0].interm).arraySizes);
9526 (yyval.interm.typeLine).type = new TType(EbtVoid);
9527 (yyval.interm.typeLine).loc = (yyvsp[-1].lex).loc;
9528 (yyval.interm.typeLine).type->setFieldName(*(yyvsp[-1].lex).string);
9529 (yyval.interm.typeLine).type->transferArraySizes((yyvsp[0].interm).arraySizes);
9531 #line 9532 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9535 #line 3374 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9537 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
9539 #line 9540 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9543 #line 3377 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9545 const char* initFeature = "{ } style initializers";
9546 parseContext.requireProfile((yyvsp[-2].lex).loc, ~EEsProfile, initFeature);
9547 parseContext.profileRequires((yyvsp[-2].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature);
9548 (yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode);
9550 #line 9551 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9554 #line 3383 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9556 const char* initFeature = "{ } style initializers";
9557 parseContext.requireProfile((yyvsp[-3].lex).loc, ~EEsProfile, initFeature);
9558 parseContext.profileRequires((yyvsp[-3].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature);
9559 (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
9561 #line 9562 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9565 #line 3392 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9567 (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate(0, (yyvsp[0].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)->getLoc());
9569 #line 9570 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9573 #line 3395 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9575 (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
9577 #line 9578 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9581 #line 3401 "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 3405 "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 3406 "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 3412 "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 3413 "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 3414 "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 3415 "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 3416 "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 3417 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9630 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9631 #line 9632 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9635 #line 3418 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9636 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9637 #line 9638 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9641 #line 3419 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9642 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9643 #line 9644 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9647 #line 3423 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9649 parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "demote");
9650 parseContext.requireExtensions((yyvsp[-1].lex).loc, 1, &E_GL_EXT_demote_to_helper_invocation, "demote");
9651 (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDemote, (yyvsp[-1].lex).loc);
9653 #line 9654 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9657 #line 3431 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9658 { (yyval.interm.intermNode) = 0; }
9659 #line 9660 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9663 #line 3432 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9665 parseContext.symbolTable.push();
9666 ++parseContext.statementNestingLevel;
9668 #line 9669 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9672 #line 3436 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9674 parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
9675 --parseContext.statementNestingLevel;
9677 #line 9678 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9681 #line 3440 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9683 if ((yyvsp[-2].interm.intermNode) && (yyvsp[-2].interm.intermNode)->getAsAggregate())
9684 (yyvsp[-2].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);
9685 (yyval.interm.intermNode) = (yyvsp[-2].interm.intermNode);
9687 #line 9688 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9691 #line 3448 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9692 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9693 #line 9694 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9697 #line 3449 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9698 { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
9699 #line 9700 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9703 #line 3453 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9705 ++parseContext.controlFlowNestingLevel;
9707 #line 9708 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9711 #line 3456 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9713 --parseContext.controlFlowNestingLevel;
9714 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9716 #line 9717 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9720 #line 3460 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9722 parseContext.symbolTable.push();
9723 ++parseContext.statementNestingLevel;
9724 ++parseContext.controlFlowNestingLevel;
9726 #line 9727 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9730 #line 3465 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9732 parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
9733 --parseContext.statementNestingLevel;
9734 --parseContext.controlFlowNestingLevel;
9735 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9737 #line 9738 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9741 #line 3474 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9743 (yyval.interm.intermNode) = 0;
9745 #line 9746 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9749 #line 3477 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9751 if ((yyvsp[-1].interm.intermNode) && (yyvsp[-1].interm.intermNode)->getAsAggregate())
9752 (yyvsp[-1].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);
9753 (yyval.interm.intermNode) = (yyvsp[-1].interm.intermNode);
9755 #line 9756 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9759 #line 3485 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9761 (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode));
9762 if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase ||
9763 (yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpDefault)) {
9764 parseContext.wrapupSwitchSubsequence(0, (yyvsp[0].interm.intermNode));
9765 (yyval.interm.intermNode) = 0; // start a fresh subsequence for what's after this case
9768 #line 9769 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9772 #line 3493 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9774 if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase ||
9775 (yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpDefault)) {
9776 parseContext.wrapupSwitchSubsequence((yyvsp[-1].interm.intermNode) ? (yyvsp[-1].interm.intermNode)->getAsAggregate() : 0, (yyvsp[0].interm.intermNode));
9777 (yyval.interm.intermNode) = 0; // start a fresh subsequence for what's after this case
9779 (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
9781 #line 9782 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9785 #line 3504 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9786 { (yyval.interm.intermNode) = 0; }
9787 #line 9788 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9791 #line 3505 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9792 { (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[-1].interm.intermTypedNode)); }
9793 #line 9794 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9797 #line 3509 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9799 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9801 #line 9802 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9805 #line 3512 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9807 parseContext.handleSelectionAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
9808 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9810 #line 9811 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9814 #line 3518 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9816 parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-2].interm.intermTypedNode));
9817 (yyval.interm.intermNode) = parseContext.intermediate.addSelection((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.nodePair), (yyvsp[-4].lex).loc);
9819 #line 9820 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9823 #line 3525 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9825 (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);
9826 (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode);
9828 #line 9829 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9832 #line 3529 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9834 (yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode);
9835 (yyval.interm.nodePair).node2 = 0;
9837 #line 9838 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9841 #line 3537 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9843 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
9844 parseContext.boolCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode));
9846 #line 9847 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9850 #line 3541 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9852 parseContext.boolCheck((yyvsp[-2].lex).loc, (yyvsp[-3].interm.type));
9854 TType type((yyvsp[-3].interm.type));
9855 TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-3].interm.type), 0, (yyvsp[0].interm.intermTypedNode));
9857 (yyval.interm.intermTypedNode) = initNode->getAsTyped();
9859 (yyval.interm.intermTypedNode) = 0;
9861 #line 9862 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9865 #line 3554 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9867 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9869 #line 9870 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9873 #line 3557 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9875 parseContext.handleSwitchAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
9876 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9878 #line 9879 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9882 #line 3563 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9884 // start new switch sequence on the switch stack
9885 ++parseContext.controlFlowNestingLevel;
9886 ++parseContext.statementNestingLevel;
9887 parseContext.switchSequenceStack.push_back(new TIntermSequence);
9888 parseContext.switchLevel.push_back(parseContext.statementNestingLevel);
9889 parseContext.symbolTable.push();
9891 #line 9892 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9895 #line 3571 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9897 (yyval.interm.intermNode) = parseContext.addSwitch((yyvsp[-7].lex).loc, (yyvsp[-5].interm.intermTypedNode), (yyvsp[-1].interm.intermNode) ? (yyvsp[-1].interm.intermNode)->getAsAggregate() : 0);
9898 delete parseContext.switchSequenceStack.back();
9899 parseContext.switchSequenceStack.pop_back();
9900 parseContext.switchLevel.pop_back();
9901 parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
9902 --parseContext.statementNestingLevel;
9903 --parseContext.controlFlowNestingLevel;
9905 #line 9906 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9909 #line 3583 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9911 (yyval.interm.intermNode) = 0;
9913 #line 9914 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9917 #line 3586 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9919 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9921 #line 9922 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9925 #line 3592 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9927 (yyval.interm.intermNode) = 0;
9928 if (parseContext.switchLevel.size() == 0)
9929 parseContext.error((yyvsp[-2].lex).loc, "cannot appear outside switch statement", "case", "");
9930 else if (parseContext.switchLevel.back() != parseContext.statementNestingLevel)
9931 parseContext.error((yyvsp[-2].lex).loc, "cannot be nested inside control flow", "case", "");
9933 parseContext.constantValueCheck((yyvsp[-1].interm.intermTypedNode), "case");
9934 parseContext.integerCheck((yyvsp[-1].interm.intermTypedNode), "case");
9935 (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpCase, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc);
9938 #line 9939 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9942 #line 3604 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9944 (yyval.interm.intermNode) = 0;
9945 if (parseContext.switchLevel.size() == 0)
9946 parseContext.error((yyvsp[-1].lex).loc, "cannot appear outside switch statement", "default", "");
9947 else if (parseContext.switchLevel.back() != parseContext.statementNestingLevel)
9948 parseContext.error((yyvsp[-1].lex).loc, "cannot be nested inside control flow", "default", "");
9950 (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDefault, (yyvsp[-1].lex).loc);
9952 #line 9953 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9956 #line 3616 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9958 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9960 #line 9961 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9964 #line 3619 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9966 parseContext.handleLoopAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
9967 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
9969 #line 9970 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9973 #line 3625 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9975 if (! parseContext.limits.whileLoops)
9976 parseContext.error((yyvsp[-1].lex).loc, "while loops not available", "limitation", "");
9977 parseContext.symbolTable.push();
9978 ++parseContext.loopNestingLevel;
9979 ++parseContext.statementNestingLevel;
9980 ++parseContext.controlFlowNestingLevel;
9982 #line 9983 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9986 #line 3633 "MachineIndependent/glslang.y" /* yacc.c:1646 */
9988 parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
9989 (yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[0].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, true, (yyvsp[-5].lex).loc);
9990 --parseContext.loopNestingLevel;
9991 --parseContext.statementNestingLevel;
9992 --parseContext.controlFlowNestingLevel;
9994 #line 9995 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
9998 #line 3640 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10000 ++parseContext.loopNestingLevel;
10001 ++parseContext.statementNestingLevel;
10002 ++parseContext.controlFlowNestingLevel;
10004 #line 10005 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10008 #line 3645 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10010 if (! parseContext.limits.whileLoops)
10011 parseContext.error((yyvsp[-7].lex).loc, "do-while loops not available", "limitation", "");
10013 parseContext.boolCheck((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode));
10015 (yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[-5].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, false, (yyvsp[-4].lex).loc);
10016 --parseContext.loopNestingLevel;
10017 --parseContext.statementNestingLevel;
10018 --parseContext.controlFlowNestingLevel;
10020 #line 10021 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10024 #line 3656 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10026 parseContext.symbolTable.push();
10027 ++parseContext.loopNestingLevel;
10028 ++parseContext.statementNestingLevel;
10029 ++parseContext.controlFlowNestingLevel;
10031 #line 10032 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10035 #line 3662 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10037 parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
10038 (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[-3].interm.intermNode), (yyvsp[-5].lex).loc);
10039 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);
10040 if (! parseContext.limits.nonInductiveForLoops)
10041 parseContext.inductiveLoopCheck((yyvsp[-6].lex).loc, (yyvsp[-3].interm.intermNode), forLoop);
10042 (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyval.interm.intermNode), forLoop, (yyvsp[-6].lex).loc);
10043 (yyval.interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);
10044 --parseContext.loopNestingLevel;
10045 --parseContext.statementNestingLevel;
10046 --parseContext.controlFlowNestingLevel;
10048 #line 10049 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10052 #line 3677 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10054 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
10056 #line 10057 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10060 #line 3680 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10062 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
10064 #line 10065 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10068 #line 3686 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10070 (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
10072 #line 10073 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10076 #line 3689 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10078 (yyval.interm.intermTypedNode) = 0;
10080 #line 10081 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10084 #line 3695 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10086 (yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode);
10087 (yyval.interm.nodePair).node2 = 0;
10089 #line 10090 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10093 #line 3699 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10095 (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode);
10096 (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode);
10098 #line 10099 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10102 #line 3706 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10104 if (parseContext.loopNestingLevel <= 0)
10105 parseContext.error((yyvsp[-1].lex).loc, "continue statement only allowed in loops", "", "");
10106 (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpContinue, (yyvsp[-1].lex).loc);
10108 #line 10109 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10112 #line 3711 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10114 if (parseContext.loopNestingLevel + parseContext.switchSequenceStack.size() <= 0)
10115 parseContext.error((yyvsp[-1].lex).loc, "break statement only allowed in switch and loops", "", "");
10116 (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpBreak, (yyvsp[-1].lex).loc);
10118 #line 10119 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10122 #line 3716 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10124 (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].lex).loc);
10125 if (parseContext.currentFunctionType->getBasicType() != EbtVoid)
10126 parseContext.error((yyvsp[-1].lex).loc, "non-void function must return a value", "return", "");
10127 if (parseContext.inMain)
10128 parseContext.postEntryPointReturn = true;
10130 #line 10131 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10134 #line 3723 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10136 (yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode));
10138 #line 10139 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10142 #line 3726 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10144 parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard");
10145 (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc);
10147 #line 10148 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10151 #line 3735 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10153 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
10154 parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
10156 #line 10157 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10160 #line 3739 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10162 if ((yyvsp[0].interm.intermNode) != nullptr) {
10163 (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
10164 parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
10167 #line 10168 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10171 #line 3748 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10173 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
10175 #line 10176 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10179 #line 3751 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10181 (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
10183 #line 10184 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10187 #line 3754 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10189 parseContext.requireProfile((yyvsp[0].lex).loc, ~EEsProfile, "extraneous semicolon");
10190 parseContext.profileRequires((yyvsp[0].lex).loc, ~EEsProfile, 460, nullptr, "extraneous semicolon");
10191 (yyval.interm.intermNode) = nullptr;
10193 #line 10194 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10197 #line 3762 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10199 (yyvsp[0].interm).function = parseContext.handleFunctionDeclarator((yyvsp[0].interm).loc, *(yyvsp[0].interm).function, false /* not prototype */);
10200 (yyvsp[0].interm).intermNode = parseContext.handleFunctionDefinition((yyvsp[0].interm).loc, *(yyvsp[0].interm).function);
10202 #line 10203 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10206 #line 3766 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10208 // May be best done as post process phase on intermediate code
10209 if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue)
10210 parseContext.error((yyvsp[-2].interm).loc, "function does not return a value:", "", (yyvsp[-2].interm).function->getName().c_str());
10211 parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
10212 (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm).intermNode, (yyvsp[0].interm.intermNode));
10213 parseContext.intermediate.setAggregateOperator((yyval.interm.intermNode), EOpFunction, (yyvsp[-2].interm).function->getType(), (yyvsp[-2].interm).loc);
10214 (yyval.interm.intermNode)->getAsAggregate()->setName((yyvsp[-2].interm).function->getMangledName().c_str());
10216 // store the pragma information for debug and optimize and other vendor specific
10217 // information. This information can be queried from the parse tree
10218 (yyval.interm.intermNode)->getAsAggregate()->setOptimize(parseContext.contextPragma.optimize);
10219 (yyval.interm.intermNode)->getAsAggregate()->setDebug(parseContext.contextPragma.debug);
10220 (yyval.interm.intermNode)->getAsAggregate()->setPragmaTable(parseContext.contextPragma.pragmaTable);
10222 #line 10223 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10226 #line 3784 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10228 (yyval.interm.attributes) = (yyvsp[-2].interm.attributes);
10229 parseContext.requireExtensions((yyvsp[-4].lex).loc, 1, &E_GL_EXT_control_flow_attributes, "attribute");
10231 #line 10232 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10235 #line 3790 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10237 (yyval.interm.attributes) = (yyvsp[0].interm.attributes);
10239 #line 10240 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10243 #line 3793 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10245 (yyval.interm.attributes) = parseContext.mergeAttributes((yyvsp[-2].interm.attributes), (yyvsp[0].interm.attributes));
10247 #line 10248 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10251 #line 3798 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10253 (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[0].lex).string);
10255 #line 10256 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10259 #line 3801 "MachineIndependent/glslang.y" /* yacc.c:1646 */
10261 (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[-3].lex).string, (yyvsp[-1].interm.intermTypedNode));
10263 #line 10264 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10267 #line 10268 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
10270 /* User semantic actions sometimes alter yychar, and that requires
10271 that yytoken be updated with the new translation. We take the
10272 approach of translating immediately before every use of yytoken.
10273 One alternative is translating here after every semantic action,
10274 but that translation would be missed if the semantic action invokes
10275 YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
10276 if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
10277 incorrect destructor might then be invoked immediately. In the
10278 case of YYERROR or YYBACKUP, subsequent parser actions might lead
10279 to an incorrect destructor call or verbose syntax error message
10280 before the lookahead is translated. */
10281 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
10283 YYPOPSTACK (yylen);
10285 YY_STACK_PRINT (yyss, yyssp);
10289 /* Now 'shift' the result of the reduction. Determine what state
10290 that goes to, based on the state we popped back to and the rule
10291 number reduced by. */
10295 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
10296 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
10297 yystate = yytable[yystate];
10299 yystate = yydefgoto[yyn - YYNTOKENS];
10304 /*--------------------------------------.
10305 | yyerrlab -- here on detecting error. |
10306 `--------------------------------------*/
10308 /* Make sure we have latest lookahead translation. See comments at
10309 user semantic actions for why this is necessary. */
10310 yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
10312 /* If not already recovering from an error, report this error. */
10316 #if ! YYERROR_VERBOSE
10317 yyerror (pParseContext, YY_("syntax error"));
10319 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
10322 char const *yymsgp = YY_("syntax error");
10323 int yysyntax_error_status;
10324 yysyntax_error_status = YYSYNTAX_ERROR;
10325 if (yysyntax_error_status == 0)
10327 else if (yysyntax_error_status == 1)
10329 if (yymsg != yymsgbuf)
10330 YYSTACK_FREE (yymsg);
10331 yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
10335 yymsg_alloc = sizeof yymsgbuf;
10336 yysyntax_error_status = 2;
10340 yysyntax_error_status = YYSYNTAX_ERROR;
10344 yyerror (pParseContext, yymsgp);
10345 if (yysyntax_error_status == 2)
10346 goto yyexhaustedlab;
10348 # undef YYSYNTAX_ERROR
10354 if (yyerrstatus == 3)
10356 /* If just tried and failed to reuse lookahead token after an
10357 error, discard it. */
10359 if (yychar <= YYEOF)
10361 /* Return failure if at end of input. */
10362 if (yychar == YYEOF)
10367 yydestruct ("Error: discarding",
10368 yytoken, &yylval, pParseContext);
10373 /* Else will try to reuse lookahead token after shifting the error
10378 /*---------------------------------------------------.
10379 | yyerrorlab -- error raised explicitly by YYERROR. |
10380 `---------------------------------------------------*/
10383 /* Pacify compilers like GCC when the user code never invokes
10384 YYERROR and the label yyerrorlab therefore never appears in user
10386 if (/*CONSTCOND*/ 0)
10389 /* Do not reclaim the symbols of the rule whose action triggered
10391 YYPOPSTACK (yylen);
10393 YY_STACK_PRINT (yyss, yyssp);
10398 /*-------------------------------------------------------------.
10399 | yyerrlab1 -- common code for both syntax error and YYERROR. |
10400 `-------------------------------------------------------------*/
10402 yyerrstatus = 3; /* Each real token shifted decrements this. */
10406 yyn = yypact[yystate];
10407 if (!yypact_value_is_default (yyn))
10410 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
10412 yyn = yytable[yyn];
10418 /* Pop the current state because it cannot handle the error token. */
10423 yydestruct ("Error: popping",
10424 yystos[yystate], yyvsp, pParseContext);
10427 YY_STACK_PRINT (yyss, yyssp);
10430 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
10432 YY_IGNORE_MAYBE_UNINITIALIZED_END
10435 /* Shift the error token. */
10436 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
10442 /*-------------------------------------.
10443 | yyacceptlab -- YYACCEPT comes here. |
10444 `-------------------------------------*/
10449 /*-----------------------------------.
10450 | yyabortlab -- YYABORT comes here. |
10451 `-----------------------------------*/
10456 #if !defined yyoverflow || YYERROR_VERBOSE
10457 /*-------------------------------------------------.
10458 | yyexhaustedlab -- memory exhaustion comes here. |
10459 `-------------------------------------------------*/
10461 yyerror (pParseContext, YY_("memory exhausted"));
10463 /* Fall through. */
10467 if (yychar != YYEMPTY)
10469 /* Make sure we have latest lookahead translation. See comments at
10470 user semantic actions for why this is necessary. */
10471 yytoken = YYTRANSLATE (yychar);
10472 yydestruct ("Cleanup: discarding lookahead",
10473 yytoken, &yylval, pParseContext);
10475 /* Do not reclaim the symbols of the rule whose action triggered
10476 this YYABORT or YYACCEPT. */
10477 YYPOPSTACK (yylen);
10478 YY_STACK_PRINT (yyss, yyssp);
10479 while (yyssp != yyss)
10481 yydestruct ("Cleanup: popping",
10482 yystos[*yyssp], yyvsp, pParseContext);
10487 YYSTACK_FREE (yyss);
10489 #if YYERROR_VERBOSE
10490 if (yymsg != yymsgbuf)
10491 YYSTACK_FREE (yymsg);
10495 #line 3805 "MachineIndependent/glslang.y" /* yacc.c:1906 */