#define YYBISON …
#define YYBISON_VERSION …
#define YYSKELETON_NAME …
#define YYPURE …
#define YYPUSH …
#define YYPULL …
#if defined(__GNUC__)
# pragma GCC diagnostic ignored "-Wunused-function"
# pragma GCC diagnostic ignored "-Wunused-variable"
# pragma GCC diagnostic ignored "-Wswitch-enum"
#elif defined(_MSC_VER)
# pragma warning(disable : 4065)
# pragma warning(disable : 4189)
# pragma warning(disable : 4244)
# pragma warning(disable : 4505)
# pragma warning(disable : 4701)
# pragma warning(disable : 4702)
#endif
#if defined(__clang__)
# pragma clang diagnostic ignored "-Wunreachable-code"
# pragma clang diagnostic ignored "-Wunused-but-set-variable"
#endif
#include "GLSLANG/ShaderLang.h"
#include "angle_gl.h"
#include "compiler/translator/Declarator.h"
#include "compiler/translator/ParseContext.h"
#include "compiler/translator/SymbolTable.h"
#define YYENABLE_NLS …
usingnamespacesh;
#ifndef YY_CAST
# ifdef __cplusplus
#define YY_CAST(Type, Val) …
#define YY_REINTERPRET_CAST(Type, Val) …
# else
#define YY_CAST …
#define YY_REINTERPRET_CAST …
# endif
#endif
#ifndef YY_NULLPTR
# if defined __cplusplus
# if 201103L <= __cplusplus
#define YY_NULLPTR …
# else
#define YY_NULLPTR …
# endif
# else
#define YY_NULLPTR …
# endif
#endif
#include "glslang_tab_autogen.h"
enum yysymbol_kind_t
{ … };
yysymbol_kind_t;
extern int yylex(YYSTYPE *yylval, YYLTYPE *yylloc, void *yyscanner);
extern void yyerror(YYLTYPE *yylloc, TParseContext *context, void *scanner, const char *reason);
#define YYLLOC_DEFAULT(Current, Rhs, N) …
#define VERTEX_ONLY(S, L) …
#define COMPUTE_ONLY(S, L) …
#define ES2_ONLY(S, L) …
#define ES3_OR_NEWER(TOKEN, LINE, REASON) …
#define ES3_1_OR_NEWER(TOKEN, LINE, REASON) …
#ifdef short
# undef short
#endif
#ifndef __PTRDIFF_MAX__
# include <limits.h>
# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
# include <stdint.h>
#define YY_STDINT_H
# endif
#endif
#ifdef __INT_LEAST8_MAX__
yytype_int8;
#elif defined YY_STDINT_H
typedef int_least8_t yytype_int8;
#else
typedef signed char yytype_int8;
#endif
#ifdef __INT_LEAST16_MAX__
yytype_int16;
#elif defined YY_STDINT_H
typedef int_least16_t yytype_int16;
#else
typedef short yytype_int16;
#endif
#ifdef __hpux
# undef UINT_LEAST8_MAX
# undef UINT_LEAST16_MAX
#define UINT_LEAST8_MAX …
#define UINT_LEAST16_MAX …
#endif
#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
yytype_uint8;
#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H && UINT_LEAST8_MAX <= INT_MAX)
typedef uint_least8_t yytype_uint8;
#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
typedef unsigned char yytype_uint8;
#else
typedef short yytype_uint8;
#endif
#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
yytype_uint16;
#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H && UINT_LEAST16_MAX <= INT_MAX)
typedef uint_least16_t yytype_uint16;
#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
typedef unsigned short yytype_uint16;
#else
typedef int yytype_uint16;
#endif
#ifndef YYPTRDIFF_T
# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
#define YYPTRDIFF_T …
#define YYPTRDIFF_MAXIMUM …
# elif defined PTRDIFF_MAX
# ifndef ptrdiff_t
# include <stddef.h>
# endif
#define YYPTRDIFF_T …
#define YYPTRDIFF_MAXIMUM …
# else
#define YYPTRDIFF_T …
#define YYPTRDIFF_MAXIMUM …
# endif
#endif
#ifndef YYSIZE_T
# ifdef __SIZE_TYPE__
#define YYSIZE_T …
# elif defined size_t
#define YYSIZE_T …
# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
# include <stddef.h>
#define YYSIZE_T …
# else
#define YYSIZE_T …
# endif
#endif
#define YYSIZE_MAXIMUM …
#define YYSIZEOF(X) …
yy_state_t;
yy_state_fast_t;
#ifndef YY_
# if defined YYENABLE_NLS && YYENABLE_NLS
# if ENABLE_NLS
# include <libintl.h>
#define YY_ …
# endif
# endif
# ifndef YY_
#define YY_(Msgid) …
# endif
#endif
#ifndef YY_ATTRIBUTE_PURE
# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
#define YY_ATTRIBUTE_PURE …
# else
#define YY_ATTRIBUTE_PURE
# endif
#endif
#ifndef YY_ATTRIBUTE_UNUSED
# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
#define YY_ATTRIBUTE_UNUSED …
# else
#define YY_ATTRIBUTE_UNUSED
# endif
#endif
#if !defined lint || defined __GNUC__
#define YY_USE(E) …
#else
#define YY_USE …
#endif
#if defined __GNUC__ && !defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN …
# else
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN …
# endif
#define YY_IGNORE_MAYBE_UNINITIALIZED_END …
#else
#define YY_INITIAL_VALUE(Value) …
#endif
#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
#endif
#ifndef YY_INITIAL_VALUE
#define YY_INITIAL_VALUE …
#endif
#if defined __cplusplus && defined __GNUC__ && !defined __ICC && 6 <= __GNUC__
#define YY_IGNORE_USELESS_CAST_BEGIN …
#define YY_IGNORE_USELESS_CAST_END …
#endif
#ifndef YY_IGNORE_USELESS_CAST_BEGIN
#define YY_IGNORE_USELESS_CAST_BEGIN
#define YY_IGNORE_USELESS_CAST_END
#endif
#define YY_ASSERT(E) …
#if !defined yyoverflow
# ifdef YYSTACK_USE_ALLOCA
# if YYSTACK_USE_ALLOCA
# ifdef __GNUC__
#define YYSTACK_ALLOC …
# elif defined __BUILTIN_VA_ARG_INCR
# include <alloca.h>
# elif defined _AIX
#define YYSTACK_ALLOC …
# elif defined _MSC_VER
# include <malloc.h>
#define alloca …
# else
#define YYSTACK_ALLOC …
# if !defined _ALLOCA_H && !defined EXIT_SUCCESS
# include <stdlib.h>
# ifndef EXIT_SUCCESS
#define EXIT_SUCCESS …
# endif
# endif
# endif
# endif
# endif
# ifdef YYSTACK_ALLOC
#define YYSTACK_FREE …
# ifndef YYSTACK_ALLOC_MAXIMUM
#define YYSTACK_ALLOC_MAXIMUM …
# endif
# else
#define YYSTACK_ALLOC …
#define YYSTACK_FREE …
# ifndef YYSTACK_ALLOC_MAXIMUM
#define YYSTACK_ALLOC_MAXIMUM …
# endif
# if (defined __cplusplus && !defined EXIT_SUCCESS && \
!((defined YYMALLOC || defined malloc) && (defined YYFREE || defined free)))
# include <stdlib.h>
# ifndef EXIT_SUCCESS
#define EXIT_SUCCESS …
# endif
# endif
# ifndef YYMALLOC
#define YYMALLOC …
# if !defined malloc && !defined EXIT_SUCCESS
void *malloc(YYSIZE_T);
# endif
# endif
# ifndef YYFREE
#define YYFREE …
# if !defined free && !defined EXIT_SUCCESS
void free(void *);
# endif
# endif
# endif
#endif
#if (!defined yyoverflow && \
(!defined __cplusplus || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL && \
defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
yyalloc;
#define YYSTACK_GAP_MAXIMUM …
#define YYSTACK_BYTES(N) …
#define YYCOPY_NEEDED …
#define YYSTACK_RELOCATE …
#endif
#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
# ifndef YYCOPY
# if defined __GNUC__ && 1 < __GNUC__
#define YYCOPY(Dst, Src, Count) …
# else
#define YYCOPY …
# endif
# endif
#endif
#define YYFINAL …
#define YYLAST …
#define YYNTOKENS …
#define YYNNTS …
#define YYNRULES …
#define YYNSTATES …
#define YYMAXUTOK …
#define YYTRANSLATE(YYX) …
static const yytype_uint8 yytranslate[] = …;
#if YYDEBUG
static const yytype_int16 yyrline[] = {
0, 259, 259, 260, 263, 270, 273, 278, 283, 288, 293, 302, 308, 311, 314, 317,
320, 323, 329, 336, 342, 345, 353, 356, 362, 365, 371, 375, 382, 390, 393, 396,
402, 405, 408, 411, 418, 419, 420, 421, 429, 430, 433, 436, 443, 444, 447, 453,
454, 458, 465, 466, 469, 472, 475, 481, 482, 485, 491, 492, 499, 500, 507, 508,
515, 516, 522, 523, 529, 530, 536, 537, 543, 544, 550, 551, 552, 553, 557, 558,
559, 563, 567, 571, 575, 582, 585, 591, 598, 605, 608, 611, 615, 619, 623, 627,
631, 638, 645, 648, 655, 668, 691, 701, 704, 710, 714, 718, 722, 729, 736, 739,
743, 747, 752, 759, 763, 767, 771, 776, 783, 787, 793, 796, 799, 809, 813, 820,
826, 832, 836, 840, 843, 846, 850, 858, 863, 867, 870, 873, 876, 879, 883, 893,
896, 900, 903, 906, 909, 912, 915, 919, 926, 933, 936, 939, 945, 952, 955, 961,
964, 967, 970, 976, 979, 986, 991, 998, 1006, 1020, 1023, 1026, 1029, 1032, 1035, 1039,
1043, 1047, 1051, 1055, 1059, 1063, 1067, 1071, 1075, 1079, 1083, 1087, 1091, 1095, 1099, 1103,
1107, 1111, 1115, 1119, 1126, 1129, 1132, 1135, 1138, 1141, 1144, 1152, 1160, 1170, 1173, 1176,
1179, 1182, 1185, 1188, 1196, 1204, 1214, 1217, 1220, 1223, 1226, 1229, 1232, 1240, 1248, 1258,
1261, 1264, 1267, 1275, 1283, 1290, 1300, 1307, 1314, 1317, 1320, 1323, 1326, 1329, 1332, 1335,
1338, 1341, 1344, 1347, 1350, 1358, 1366, 1374, 1382, 1390, 1398, 1408, 1418, 1428, 1431, 1438,
1445, 1452, 1455, 1465, 1465, 1468, 1468, 1474, 1477, 1483, 1486, 1493, 1497, 1503, 1506, 1512,
1516, 1520, 1521, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1537, 1541, 1541, 1541, 1548, 1549,
1553, 1553, 1554, 1554, 1559, 1563, 1570, 1574, 1581, 1582, 1586, 1592, 1596, 1605, 1605, 1612,
1615, 1621, 1625, 1631, 1631, 1636, 1636, 1640, 1640, 1648, 1651, 1657, 1660, 1666, 1670, 1677,
1680, 1683, 1686, 1689, 1697, 1703, 1709, 1712, 1718, 1718};
#endif
#define YY_ACCESSING_SYMBOL(State) …
#if YYDEBUG || 0
static const char *yysymbol_name(yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
static const char *const yytname[] = {"\"end of file\"",
"error",
"\"invalid token\"",
"INVARIANT",
"PRECISE",
"HIGH_PRECISION",
"MEDIUM_PRECISION",
"LOW_PRECISION",
"PRECISION",
"ATTRIBUTE",
"CONST_QUAL",
"BOOL_TYPE",
"FLOAT_TYPE",
"INT_TYPE",
"UINT_TYPE",
"BREAK",
"CONTINUE",
"DO",
"ELSE",
"FOR",
"IF",
"DISCARD",
"RETURN",
"SWITCH",
"CASE",
"DEFAULT",
"BVEC2",
"BVEC3",
"BVEC4",
"IVEC2",
"IVEC3",
"IVEC4",
"VEC2",
"VEC3",
"VEC4",
"UVEC2",
"UVEC3",
"UVEC4",
"MATRIX2",
"MATRIX3",
"MATRIX4",
"IN_QUAL",
"OUT_QUAL",
"INOUT_QUAL",
"UNIFORM",
"BUFFER",
"VARYING",
"MATRIX2x3",
"MATRIX3x2",
"MATRIX2x4",
"MATRIX4x2",
"MATRIX3x4",
"MATRIX4x3",
"SAMPLE",
"CENTROID",
"FLAT",
"SMOOTH",
"NOPERSPECTIVE",
"PATCH",
"READONLY",
"WRITEONLY",
"COHERENT",
"RESTRICT",
"VOLATILE",
"SHARED",
"STRUCT",
"VOID_TYPE",
"WHILE",
"SAMPLER2D",
"SAMPLERCUBE",
"SAMPLER_EXTERNAL_OES",
"SAMPLER2DRECT",
"SAMPLER2DARRAY",
"ISAMPLER2D",
"ISAMPLER3D",
"ISAMPLERCUBE",
"ISAMPLER2DARRAY",
"USAMPLER2D",
"USAMPLER3D",
"USAMPLERCUBE",
"USAMPLER2DARRAY",
"SAMPLER2DMS",
"ISAMPLER2DMS",
"USAMPLER2DMS",
"SAMPLER2DMSARRAY",
"ISAMPLER2DMSARRAY",
"USAMPLER2DMSARRAY",
"SAMPLER3D",
"SAMPLER3DRECT",
"SAMPLER2DSHADOW",
"SAMPLERCUBESHADOW",
"SAMPLER2DARRAYSHADOW",
"SAMPLERVIDEOWEBGL",
"SAMPLERCUBEARRAYOES",
"SAMPLERCUBEARRAYSHADOWOES",
"ISAMPLERCUBEARRAYOES",
"USAMPLERCUBEARRAYOES",
"SAMPLERCUBEARRAYEXT",
"SAMPLERCUBEARRAYSHADOWEXT",
"ISAMPLERCUBEARRAYEXT",
"USAMPLERCUBEARRAYEXT",
"SAMPLERBUFFER",
"ISAMPLERBUFFER",
"USAMPLERBUFFER",
"SAMPLEREXTERNAL2DY2YEXT",
"IMAGE2D",
"IIMAGE2D",
"UIMAGE2D",
"IMAGE3D",
"IIMAGE3D",
"UIMAGE3D",
"IMAGE2DARRAY",
"IIMAGE2DARRAY",
"UIMAGE2DARRAY",
"IMAGECUBE",
"IIMAGECUBE",
"UIMAGECUBE",
"IMAGECUBEARRAYOES",
"IIMAGECUBEARRAYOES",
"UIMAGECUBEARRAYOES",
"IMAGECUBEARRAYEXT",
"IIMAGECUBEARRAYEXT",
"UIMAGECUBEARRAYEXT",
"IMAGEBUFFER",
"IIMAGEBUFFER",
"UIMAGEBUFFER",
"ATOMICUINT",
"PIXELLOCALANGLE",
"IPIXELLOCALANGLE",
"UPIXELLOCALANGLE",
"LAYOUT",
"YUVCSCSTANDARDEXT",
"YUVCSCSTANDARDEXTCONSTANT",
"IDENTIFIER",
"TYPE_NAME",
"FLOATCONSTANT",
"INTCONSTANT",
"UINTCONSTANT",
"BOOLCONSTANT",
"FIELD_SELECTION",
"LEFT_OP",
"RIGHT_OP",
"INC_OP",
"DEC_OP",
"LE_OP",
"GE_OP",
"EQ_OP",
"NE_OP",
"AND_OP",
"OR_OP",
"XOR_OP",
"MUL_ASSIGN",
"DIV_ASSIGN",
"ADD_ASSIGN",
"MOD_ASSIGN",
"LEFT_ASSIGN",
"RIGHT_ASSIGN",
"AND_ASSIGN",
"XOR_ASSIGN",
"OR_ASSIGN",
"SUB_ASSIGN",
"LEFT_PAREN",
"RIGHT_PAREN",
"LEFT_BRACKET",
"RIGHT_BRACKET",
"LEFT_BRACE",
"RIGHT_BRACE",
"DOT",
"COMMA",
"COLON",
"EQUAL",
"SEMICOLON",
"BANG",
"DASH",
"TILDE",
"PLUS",
"STAR",
"SLASH",
"PERCENT",
"LEFT_ANGLE",
"RIGHT_ANGLE",
"VERTICAL_BAR",
"CARET",
"AMPERSAND",
"QUESTION",
"$accept",
"identifier",
"variable_identifier",
"primary_expression",
"postfix_expression",
"integer_expression",
"function_call",
"function_call_or_method",
"function_call_generic",
"function_call_header_no_parameters",
"function_call_header_with_parameters",
"function_call_header",
"function_identifier",
"unary_expression",
"unary_operator",
"multiplicative_expression",
"additive_expression",
"shift_expression",
"relational_expression",
"equality_expression",
"and_expression",
"exclusive_or_expression",
"inclusive_or_expression",
"logical_and_expression",
"logical_xor_expression",
"logical_or_expression",
"conditional_expression",
"assignment_expression",
"assignment_operator",
"expression",
"constant_expression",
"enter_struct",
"declaration",
"function_prototype",
"function_declarator",
"function_header_with_parameters",
"function_header",
"parameter_declarator",
"parameter_declaration",
"parameter_type_specifier",
"init_declarator_list",
"single_declaration",
"fully_specified_type",
"interpolation_qualifier",
"type_qualifier",
"invariant_qualifier",
"precise_qualifier",
"single_type_qualifier",
"storage_qualifier",
"type_specifier",
"precision_qualifier",
"layout_qualifier",
"layout_qualifier_id_list",
"layout_qualifier_id",
"type_specifier_no_prec",
"array_specifier",
"type_specifier_nonarray",
"struct_specifier",
"$@1",
"$@2",
"struct_declaration_list",
"struct_declaration",
"struct_declarator_list",
"struct_declarator",
"initializer",
"declaration_statement",
"statement",
"simple_statement",
"compound_statement_with_scope",
"$@3",
"$@4",
"statement_no_new_scope",
"statement_with_scope",
"$@5",
"$@6",
"compound_statement_no_new_scope",
"statement_list",
"expression_statement",
"selection_statement",
"selection_rest_statement",
"switch_statement",
"$@7",
"case_label",
"condition",
"iteration_statement",
"$@8",
"$@9",
"$@10",
"for_init_statement",
"conditionopt",
"for_rest_statement",
"jump_statement",
"translation_unit",
"external_declaration",
"function_definition",
"$@11",
YY_NULLPTR};
static const char *yysymbol_name(yysymbol_kind_t yysymbol)
{
return yytname[yysymbol];
}
#endif
#define YYPACT_NINF …
#define yypact_value_is_default(Yyn) …
#define YYTABLE_NINF …
#define yytable_value_is_error(Yyn) …
static const yytype_int16 yypact[] = …;
static const yytype_int16 yydefact[] = …;
static const yytype_int16 yypgoto[] = …;
static const yytype_int16 yydefgoto[] = …;
static const yytype_int16 yytable[] = …;
static const yytype_int16 yycheck[] = …;
static const yytype_int16 yystos[] = …;
static const yytype_int16 yyr1[] = …;
static const yytype_int8 yyr2[] = …;
enum
{ … };
#define yyerrok …
#define yyclearin …
#define YYACCEPT …
#define YYABORT …
#define YYERROR …
#define YYNOMEM …
#define YYRECOVERING() …
#define YYBACKUP(Token, Value) …
#define YYERRCODE …
#ifndef YYLLOC_DEFAULT
#define YYLLOC_DEFAULT …
#endif
#define YYRHSLOC(Rhs, K) …
#if YYDEBUG
# ifndef YYFPRINTF
# include <stdio.h>
#define YYFPRINTF …
# endif
#define YYDPRINTF …
# ifndef YYLOCATION_PRINT
# if defined YY_LOCATION_PRINT
#define YYLOCATION_PRINT …
# elif defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
YY_ATTRIBUTE_UNUSED
static int yy_location_print_(FILE *yyo, YYLTYPE const *const yylocp)
{
int res = 0;
int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
if (0 <= yylocp->first_line)
{
res += YYFPRINTF(yyo, "%d", yylocp->first_line);
if (0 <= yylocp->first_column)
res += YYFPRINTF(yyo, ".%d", yylocp->first_column);
}
if (0 <= yylocp->last_line)
{
if (yylocp->first_line < yylocp->last_line)
{
res += YYFPRINTF(yyo, "-%d", yylocp->last_line);
if (0 <= end_col)
res += YYFPRINTF(yyo, ".%d", end_col);
}
else if (0 <= end_col && yylocp->first_column < end_col)
res += YYFPRINTF(yyo, "-%d", end_col);
}
return res;
}
#define YYLOCATION_PRINT …
#define YY_LOCATION_PRINT …
# else
#define YYLOCATION_PRINT …
#define YY_LOCATION_PRINT …
# endif
# endif
#define YY_SYMBOL_PRINT …
static void yy_symbol_value_print(FILE *yyo,
yysymbol_kind_t yykind,
YYSTYPE const *const yyvaluep,
YYLTYPE const *const yylocationp,
TParseContext *context,
void *scanner)
{
FILE *yyoutput = yyo;
YY_USE(yyoutput);
YY_USE(yylocationp);
YY_USE(context);
YY_USE(scanner);
if (!yyvaluep)
return;
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
YY_USE(yykind);
YY_IGNORE_MAYBE_UNINITIALIZED_END
}
static void yy_symbol_print(FILE *yyo,
yysymbol_kind_t yykind,
YYSTYPE const *const yyvaluep,
YYLTYPE const *const yylocationp,
TParseContext *context,
void *scanner)
{
YYFPRINTF(yyo, "%s %s (", yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name(yykind));
YYLOCATION_PRINT(yyo, yylocationp);
YYFPRINTF(yyo, ": ");
yy_symbol_value_print(yyo, yykind, yyvaluep, yylocationp, context, scanner);
YYFPRINTF(yyo, ")");
}
static void yy_stack_print(yy_state_t *yybottom, yy_state_t *yytop)
{
YYFPRINTF(stderr, "Stack now");
for (; yybottom <= yytop; yybottom++)
{
int yybot = *yybottom;
YYFPRINTF(stderr, " %d", yybot);
}
YYFPRINTF(stderr, "\n");
}
#define YY_STACK_PRINT …
static void yy_reduce_print(yy_state_t *yyssp,
YYSTYPE *yyvsp,
YYLTYPE *yylsp,
int yyrule,
TParseContext *context,
void *scanner)
{
int yylno = yyrline[yyrule];
int yynrhs = yyr2[yyrule];
int yyi;
YYFPRINTF(stderr, "Reducing stack by rule %d (line %d):\n", yyrule - 1, yylno);
for (yyi = 0; yyi < yynrhs; yyi++)
{
YYFPRINTF(stderr, " $%d = ", yyi + 1);
yy_symbol_print(stderr, YY_ACCESSING_SYMBOL(+yyssp[yyi + 1 - yynrhs]),
&yyvsp[(yyi + 1) - (yynrhs)], &(yylsp[(yyi + 1) - (yynrhs)]), context,
scanner);
YYFPRINTF(stderr, "\n");
}
}
#define YY_REDUCE_PRINT …
int yydebug;
#else
#define YYDPRINTF(Args) …
#define YY_SYMBOL_PRINT(Title, Kind, Value, Location) …
#define YY_STACK_PRINT(Bottom, Top) …
#define YY_REDUCE_PRINT(Rule) …
#endif
#ifndef YYINITDEPTH
#define YYINITDEPTH …
#endif
#ifndef YYMAXDEPTH
#define YYMAXDEPTH …
#endif
static void yydestruct(const char *yymsg,
yysymbol_kind_t yykind,
YYSTYPE *yyvaluep,
YYLTYPE *yylocationp,
TParseContext *context,
void *scanner)
{ … }
int yyparse(TParseContext *context, void *scanner)
{ … }
int glslang_parse(TParseContext *context)
{ … }