Commit e4b1b1d8 by Nicolas Capens

Implement shader compiler support for uint vectors.

Bug 19331817 Change-Id: Ib85c82f7490a5e48830fb496cddbb5aa6837dfb2 Reviewed-on: https://swiftshader-review.googlesource.com/2313Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <capn@google.com> Tested-by: 's avatarNicolas Capens <capn@google.com>
parent 3c20f806
...@@ -601,6 +601,9 @@ bool TIntermOperator::isConstructor() const ...@@ -601,6 +601,9 @@ bool TIntermOperator::isConstructor() const
case EOpConstructIVec3: case EOpConstructIVec3:
case EOpConstructIVec4: case EOpConstructIVec4:
case EOpConstructInt: case EOpConstructInt:
case EOpConstructUVec2:
case EOpConstructUVec3:
case EOpConstructUVec4:
case EOpConstructUInt: case EOpConstructUInt:
case EOpConstructBVec2: case EOpConstructBVec2:
case EOpConstructBVec3: case EOpConstructBVec3:
......
...@@ -138,6 +138,9 @@ O [0-7] ...@@ -138,6 +138,9 @@ O [0-7]
"ivec2" { context->lexAfterType = true; return (IVEC2); } "ivec2" { context->lexAfterType = true; return (IVEC2); }
"ivec3" { context->lexAfterType = true; return (IVEC3); } "ivec3" { context->lexAfterType = true; return (IVEC3); }
"ivec4" { context->lexAfterType = true; return (IVEC4); } "ivec4" { context->lexAfterType = true; return (IVEC4); }
"uvec2" { return ES2_identifier_ES3_keyword(context, UVEC2); }
"uvec3" { return ES2_identifier_ES3_keyword(context, UVEC3); }
"uvec4" { return ES2_identifier_ES3_keyword(context, UVEC4); }
"bvec2" { context->lexAfterType = true; return (BVEC2); } "bvec2" { context->lexAfterType = true; return (BVEC2); }
"bvec3" { context->lexAfterType = true; return (BVEC3); } "bvec3" { context->lexAfterType = true; return (BVEC3); }
"bvec4" { context->lexAfterType = true; return (BVEC4); } "bvec4" { context->lexAfterType = true; return (BVEC4); }
......
...@@ -123,7 +123,7 @@ extern void yyerror(TParseContext* context, const char* reason); ...@@ -123,7 +123,7 @@ extern void yyerror(TParseContext* context, const char* reason);
%token <lex> INVARIANT HIGH_PRECISION MEDIUM_PRECISION LOW_PRECISION PRECISION %token <lex> INVARIANT HIGH_PRECISION MEDIUM_PRECISION LOW_PRECISION PRECISION
%token <lex> ATTRIBUTE CONST_QUAL BOOL_TYPE FLOAT_TYPE INT_TYPE UINT_TYPE %token <lex> ATTRIBUTE CONST_QUAL BOOL_TYPE FLOAT_TYPE INT_TYPE UINT_TYPE
%token <lex> BREAK CONTINUE DO ELSE FOR IF DISCARD RETURN SWITCH CASE DEFAULT %token <lex> BREAK CONTINUE DO ELSE FOR IF DISCARD RETURN SWITCH CASE DEFAULT
%token <lex> BVEC2 BVEC3 BVEC4 IVEC2 IVEC3 IVEC4 VEC2 VEC3 VEC4 %token <lex> BVEC2 BVEC3 BVEC4 IVEC2 IVEC3 IVEC4 VEC2 VEC3 VEC4 UVEC2 UVEC3 UVEC4
%token <lex> MATRIX2 MATRIX3 MATRIX4 IN_QUAL OUT_QUAL INOUT_QUAL UNIFORM VARYING %token <lex> MATRIX2 MATRIX3 MATRIX4 IN_QUAL OUT_QUAL INOUT_QUAL UNIFORM VARYING
%token <lex> CENTROID FLAT SMOOTH %token <lex> CENTROID FLAT SMOOTH
%token <lex> STRUCT VOID_TYPE WHILE %token <lex> STRUCT VOID_TYPE WHILE
...@@ -1673,6 +1673,21 @@ type_specifier_nonarray ...@@ -1673,6 +1673,21 @@ type_specifier_nonarray
$$.setBasic(EbtInt, qual, $1.line); $$.setBasic(EbtInt, qual, $1.line);
$$.setAggregate(4); $$.setAggregate(4);
} }
| UVEC2 {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtUInt, qual, $1.line);
$$.setAggregate(2);
}
| UVEC3 {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtUInt, qual, $1.line);
$$.setAggregate(3);
}
| UVEC4 {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtUInt, qual, $1.line);
$$.setAggregate(4);
}
| MATRIX2 { | MATRIX2 {
FRAG_VERT_ONLY("mat2", $1.line); FRAG_VERT_ONLY("mat2", $1.line);
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
......
...@@ -392,8 +392,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); ...@@ -392,8 +392,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
*yy_cp = '\0'; \ *yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp; yyg->yy_c_buf_p = yy_cp;
#define YY_NUM_RULES 215 #define YY_NUM_RULES 218
#define YY_END_OF_BUFFER 216 #define YY_END_OF_BUFFER 219
/* This struct is not used in this scanner, /* This struct is not used in this scanner,
but its presence is necessary. */ but its presence is necessary. */
struct yy_trans_info struct yy_trans_info
...@@ -401,91 +401,92 @@ struct yy_trans_info ...@@ -401,91 +401,92 @@ struct yy_trans_info
flex_int32_t yy_verify; flex_int32_t yy_verify;
flex_int32_t yy_nxt; flex_int32_t yy_nxt;
}; };
static yyconst flex_int16_t yy_accept[761] = static yyconst flex_int16_t yy_accept[767] =
{ 0, { 0,
0, 0, 0, 0, 0, 0, 216, 214, 213, 213, 0, 0, 0, 0, 0, 0, 219, 217, 216, 216,
198, 204, 209, 193, 194, 202, 201, 190, 199, 197, 201, 207, 212, 196, 197, 205, 204, 193, 202, 200,
203, 162, 162, 191, 187, 205, 192, 206, 210, 158, 206, 165, 165, 194, 190, 208, 195, 209, 213, 161,
195, 196, 208, 158, 158, 158, 158, 158, 158, 158, 198, 199, 211, 161, 161, 161, 161, 161, 161, 161,
158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
158, 158, 158, 188, 207, 189, 200, 3, 4, 3, 161, 161, 161, 191, 210, 192, 203, 3, 4, 3,
212, 215, 211, 184, 170, 189, 178, 173, 168, 176, 215, 218, 214, 187, 173, 192, 181, 176, 171, 179,
166, 177, 167, 165, 2, 1, 169, 164, 160, 161, 169, 180, 170, 168, 2, 1, 172, 167, 163, 164,
0, 0, 162, 196, 188, 195, 185, 181, 183, 182, 0, 0, 165, 199, 191, 198, 188, 184, 186, 185,
186, 158, 174, 180, 158, 158, 158, 158, 158, 158, 189, 161, 177, 183, 161, 161, 161, 161, 161, 161,
158, 158, 158, 158, 158, 158, 17, 158, 158, 158, 161, 161, 161, 161, 161, 161, 17, 161, 161, 161,
158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
20, 158, 158, 28, 158, 158, 158, 158, 158, 158, 20, 161, 161, 28, 161, 161, 161, 161, 161, 161,
158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
158, 158, 158, 158, 158, 175, 179, 5, 211, 0, 161, 161, 161, 161, 161, 161, 178, 182, 5, 214,
1, 164, 0, 0, 163, 159, 171, 172, 158, 115, 0, 1, 167, 0, 0, 166, 162, 174, 175, 161,
158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 118, 161, 161, 161, 161, 161, 161, 161, 161, 161,
158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
158, 158, 158, 18, 158, 158, 158, 158, 158, 158, 161, 161, 161, 161, 18, 161, 161, 161, 161, 161,
158, 158, 158, 158, 32, 158, 158, 158, 158, 158, 161, 161, 161, 161, 161, 32, 161, 161, 161, 161,
158, 158, 158, 158, 158, 29, 158, 158, 158, 158, 161, 161, 161, 161, 161, 161, 29, 161, 161, 161,
158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
158, 158, 158, 158, 158, 158, 158, 158, 158, 0, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
165, 0, 164, 158, 158, 158, 35, 158, 158, 23, 161, 0, 168, 0, 167, 161, 161, 161, 35, 161,
155, 158, 158, 158, 158, 158, 158, 158, 158, 158, 161, 23, 158, 161, 161, 161, 161, 161, 161, 161,
158, 21, 118, 158, 158, 158, 158, 26, 158, 158, 161, 161, 161, 21, 121, 161, 161, 161, 161, 26,
123, 135, 158, 158, 158, 158, 158, 158, 158, 158, 161, 161, 126, 138, 161, 161, 161, 161, 161, 161,
158, 158, 158, 132, 9, 40, 41, 42, 158, 158, 161, 161, 161, 161, 161, 135, 9, 40, 41, 42,
158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
158, 158, 121, 36, 158, 158, 33, 158, 158, 158, 161, 161, 161, 161, 124, 36, 161, 161, 33, 161,
158, 158, 158, 43, 44, 45, 34, 158, 158, 158, 161, 161, 161, 161, 161, 161, 43, 44, 45, 34,
158, 158, 158, 15, 49, 50, 51, 158, 116, 158, 161, 161, 161, 161, 161, 161, 15, 52, 53, 54,
158, 12, 158, 158, 158, 158, 144, 145, 146, 158, 161, 119, 161, 161, 12, 161, 161, 161, 161, 147,
37, 158, 136, 31, 147, 148, 149, 7, 141, 142, 148, 149, 161, 37, 161, 139, 31, 150, 151, 152,
143, 158, 158, 158, 30, 139, 158, 158, 158, 46, 7, 144, 145, 146, 161, 161, 161, 30, 142, 161,
47, 48, 158, 158, 158, 158, 158, 158, 158, 66, 161, 161, 46, 47, 48, 161, 161, 161, 161, 161,
158, 158, 158, 158, 158, 158, 158, 133, 158, 158, 161, 161, 69, 161, 161, 161, 161, 161, 161, 161,
158, 158, 158, 158, 158, 158, 158, 158, 158, 117, 136, 161, 161, 161, 161, 161, 161, 161, 161, 161,
158, 158, 157, 158, 158, 19, 158, 71, 158, 158, 161, 161, 120, 161, 161, 160, 49, 50, 51, 161,
158, 158, 69, 158, 158, 158, 134, 129, 72, 158, 161, 19, 161, 74, 161, 161, 161, 161, 72, 161,
158, 158, 158, 158, 158, 124, 158, 158, 158, 158, 161, 161, 137, 132, 75, 161, 161, 161, 161, 161,
158, 158, 158, 140, 122, 158, 158, 127, 158, 158, 161, 127, 161, 161, 161, 161, 161, 161, 161, 143,
158, 39, 67, 154, 27, 128, 58, 158, 138, 22, 125, 161, 161, 130, 161, 161, 161, 39, 70, 157,
158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 27, 131, 61, 161, 141, 22, 161, 161, 161, 161,
158, 158, 158, 158, 24, 38, 158, 158, 158, 158, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
158, 158, 73, 74, 75, 158, 158, 158, 158, 158, 24, 38, 161, 161, 161, 161, 161, 161, 76, 77,
8, 158, 158, 158, 158, 158, 158, 158, 158, 158, 78, 161, 161, 161, 161, 161, 8, 161, 161, 161,
158, 158, 119, 158, 158, 158, 158, 158, 13, 158, 161, 161, 161, 161, 161, 161, 161, 161, 122, 161,
158, 14, 158, 158, 158, 158, 25, 59, 16, 130, 161, 161, 161, 161, 13, 161, 161, 14, 161, 161,
77, 78, 79, 158, 158, 158, 158, 158, 158, 158, 161, 161, 25, 62, 16, 133, 80, 81, 82, 161,
158, 158, 158, 158, 158, 125, 158, 158, 158, 61, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
63, 60, 158, 158, 158, 158, 158, 158, 158, 120, 161, 128, 161, 161, 161, 64, 66, 63, 161, 161,
81, 82, 83, 158, 158, 137, 158, 126, 158, 158, 161, 161, 161, 161, 161, 123, 84, 85, 86, 161,
11, 158, 158, 158, 158, 158, 158, 158, 158, 158, 161, 140, 161, 129, 161, 161, 11, 161, 161, 161,
76, 131, 6, 158, 158, 158, 156, 158, 70, 10, 161, 161, 161, 161, 161, 161, 79, 134, 6, 161,
150, 52, 55, 158, 158, 158, 158, 158, 158, 158, 161, 161, 159, 161, 73, 10, 153, 55, 58, 161,
158, 158, 158, 158, 62, 158, 158, 158, 158, 80, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
158, 158, 158, 158, 158, 100, 158, 158, 158, 158, 65, 161, 161, 161, 161, 83, 161, 161, 161, 161,
158, 158, 158, 158, 158, 158, 158, 158, 68, 158, 161, 103, 161, 161, 161, 161, 161, 161, 161, 161,
158, 158, 84, 102, 158, 158, 64, 158, 158, 158, 161, 161, 161, 161, 71, 161, 161, 161, 87, 105,
158, 158, 158, 158, 95, 158, 158, 158, 158, 158, 161, 161, 67, 161, 161, 161, 161, 161, 161, 161,
158, 158, 109, 158, 158, 158, 158, 53, 158, 158, 98, 161, 161, 161, 161, 161, 161, 161, 112, 161,
158, 158, 158, 158, 158, 158, 158, 158, 96, 85, 161, 161, 161, 56, 161, 161, 161, 161, 161, 161,
158, 86, 158, 158, 110, 158, 158, 158, 158, 158, 161, 161, 161, 161, 99, 88, 161, 89, 161, 161,
158, 158, 158, 158, 158, 158, 158, 158, 97, 158, 113, 161, 161, 161, 161, 161, 161, 161, 161, 161,
111, 158, 158, 87, 88, 158, 91, 158, 92, 158, 161, 161, 161, 161, 100, 161, 114, 161, 161, 90,
158, 158, 158, 65, 158, 158, 158, 152, 158, 56, 91, 161, 94, 161, 95, 161, 161, 161, 161, 68,
106, 158, 89, 90, 158, 158, 158, 158, 158, 158, 161, 161, 161, 155, 161, 59, 109, 161, 92, 93,
158, 158, 104, 107, 98, 158, 158, 158, 158, 158, 161, 161, 161, 161, 161, 161, 161, 161, 107, 110,
158, 158, 105, 108, 158, 158, 101, 158, 158, 151, 101, 161, 161, 161, 161, 161, 161, 161, 108, 111,
158, 158, 57, 158, 103, 158, 158, 158, 158, 158, 161, 161, 104, 161, 161, 154, 161, 161, 60, 161,
112, 158, 158, 158, 158, 158, 113, 158, 158, 158, 106, 161, 161, 161, 161, 161, 115, 161, 161, 161,
114, 93, 94, 158, 158, 54, 158, 153, 99, 0 161, 161, 116, 161, 161, 161, 117, 96, 97, 161,
161, 57, 161, 156, 102, 0
} ; } ;
static yyconst flex_int32_t yy_ec[256] = static yyconst flex_int32_t yy_ec[256] =
...@@ -532,183 +533,185 @@ static yyconst flex_int32_t yy_meta[72] = ...@@ -532,183 +533,185 @@ static yyconst flex_int32_t yy_meta[72] =
1 1
} ; } ;
static yyconst flex_int16_t yy_base[766] = static yyconst flex_int16_t yy_base[772] =
{ 0, { 0,
0, 0, 69, 70, 79, 0, 990, 991, 991, 991, 0, 0, 69, 70, 79, 0, 996, 997, 997, 997,
964, 49, 145, 991, 991, 963, 142, 991, 141, 139, 970, 49, 145, 997, 997, 969, 142, 997, 141, 139,
154, 167, 176, 961, 991, 176, 961, 51, 991, 0, 154, 167, 176, 967, 997, 176, 967, 51, 997, 0,
991, 991, 136, 116, 112, 159, 157, 156, 173, 928, 997, 997, 136, 116, 112, 159, 157, 156, 173, 934,
174, 179, 927, 175, 189, 921, 185, 934, 197, 203, 174, 179, 933, 175, 189, 927, 185, 940, 197, 203,
204, 209, 113, 991, 186, 991, 991, 991, 991, 967, 204, 209, 113, 997, 186, 997, 997, 997, 997, 973,
991, 991, 0, 991, 991, 991, 991, 991, 991, 991, 997, 997, 0, 997, 997, 997, 997, 997, 997, 997,
991, 991, 991, 255, 991, 0, 991, 262, 280, 298, 997, 997, 997, 255, 997, 0, 997, 262, 280, 298,
317, 0, 332, 991, 991, 991, 955, 991, 991, 991, 317, 0, 332, 997, 997, 997, 961, 997, 997, 997,
954, 0, 991, 991, 917, 922, 206, 919, 927, 926, 960, 0, 997, 997, 923, 928, 227, 925, 933, 932,
913, 916, 927, 233, 921, 909, 906, 919, 906, 903, 919, 922, 933, 234, 927, 915, 912, 925, 912, 909,
903, 909, 237, 248, 903, 913, 899, 905, 908, 909, 909, 915, 237, 206, 909, 919, 905, 911, 914, 915,
0, 901, 911, 300, 910, 905, 109, 891, 904, 895, 0, 907, 917, 300, 916, 911, 109, 897, 910, 901,
268, 888, 262, 900, 902, 246, 891, 888, 877, 886, 234, 894, 261, 906, 908, 264, 897, 894, 883, 892,
206, 264, 890, 886, 888, 877, 880, 230, 279, 315, 262, 281, 896, 892, 894, 883, 886, 249, 271, 315,
878, 890, 150, 883, 882, 991, 991, 991, 0, 356, 895, 883, 895, 150, 888, 887, 997, 997, 997, 0,
0, 366, 384, 391, 400, 0, 991, 991, 881, 0, 356, 0, 366, 384, 391, 400, 0, 997, 997, 886,
877, 872, 876, 885, 882, 294, 866, 866, 877, 869, 0, 882, 877, 881, 890, 887, 294, 871, 871, 882,
264, 879, 876, 876, 874, 871, 863, 869, 856, 854, 874, 280, 884, 881, 881, 879, 876, 868, 874, 861,
866, 852, 868, 0, 865, 853, 860, 857, 861, 862, 859, 871, 857, 873, 0, 870, 858, 865, 862, 866,
855, 852, 841, 840, 853, 856, 844, 852, 847, 838, 867, 860, 857, 846, 845, 858, 861, 849, 857, 852,
371, 843, 846, 837, 844, 833, 837, 828, 842, 841, 843, 371, 848, 851, 842, 849, 838, 842, 833, 847,
832, 838, 283, 822, 825, 823, 833, 823, 818, 816, 846, 837, 843, 299, 827, 830, 828, 838, 828, 823,
818, 828, 814, 816, 813, 824, 823, 826, 808, 313, 821, 823, 833, 819, 821, 818, 829, 828, 831, 813,
816, 812, 810, 799, 374, 817, 819, 808, 800, 407, 313, 821, 817, 815, 824, 803, 374, 821, 823, 812,
414, 421, 428, 797, 807, 806, 0, 804, 433, 0, 804, 407, 414, 421, 428, 801, 811, 810, 0, 808,
0, 797, 795, 795, 796, 791, 799, 788, 805, 794, 433, 0, 0, 801, 799, 799, 800, 795, 803, 792,
436, 0, 0, 788, 798, 797, 797, 0, 782, 439, 809, 798, 436, 0, 0, 792, 802, 801, 801, 0,
0, 0, 784, 442, 791, 792, 783, 777, 776, 777, 786, 439, 0, 0, 788, 442, 795, 796, 787, 781,
776, 776, 445, 0, 0, 0, 0, 0, 771, 772, 780, 781, 780, 780, 445, 0, 0, 0, 0, 0,
777, 771, 767, 780, 775, 775, 773, 772, 766, 760, 775, 776, 781, 775, 771, 784, 779, 779, 777, 776,
762, 761, 765, 757, 760, 755, 763, 768, 756, 753, 770, 764, 766, 765, 769, 761, 764, 759, 767, 772,
765, 756, 0, 0, 762, 758, 0, 750, 750, 755, 760, 757, 769, 760, 0, 0, 766, 762, 0, 754,
746, 753, 750, 0, 0, 0, 0, 740, 752, 751, 754, 759, 750, 757, 448, 754, 0, 0, 0, 0,
750, 751, 751, 0, 0, 0, 0, 738, 0, 746, 744, 756, 755, 754, 755, 755, 0, 0, 0, 0,
737, 0, 736, 737, 731, 741, 0, 0, 0, 732, 742, 0, 750, 741, 0, 740, 741, 735, 745, 0,
0, 728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 736, 0, 732, 0, 0, 0, 0, 0,
0, 738, 449, 737, 0, 0, 735, 731, 728, 0, 0, 0, 0, 0, 742, 452, 741, 0, 0, 739,
0, 0, 726, 722, 727, 718, 716, 729, 714, 0, 735, 732, 0, 0, 0, 730, 726, 731, 722, 720,
714, 727, 716, 712, 718, 713, 720, 0, 718, 715, 733, 718, 0, 718, 731, 720, 716, 722, 717, 724,
719, 703, 701, 704, 710, 716, 711, 710, 698, 0, 0, 722, 719, 723, 707, 705, 708, 714, 720, 715,
700, 701, 0, 698, 701, 0, 695, 0, 708, 688, 714, 702, 0, 704, 705, 0, 0, 0, 0, 702,
697, 692, 0, 685, 685, 698, 0, 700, 0, 452, 705, 0, 699, 0, 712, 692, 701, 696, 0, 689,
712, 711, 710, 678, 677, 0, 694, 693, 688, 677, 689, 702, 0, 704, 0, 455, 716, 715, 714, 682,
690, 677, 674, 0, 0, 679, 678, 0, 675, 682, 681, 0, 698, 697, 692, 681, 694, 681, 678, 0,
681, 0, 667, 0, 0, 0, 0, 664, 0, 0, 0, 683, 682, 0, 679, 686, 685, 0, 671, 0,
663, 674, 455, 667, 673, 672, 669, 664, 661, 654, 0, 0, 0, 668, 0, 0, 667, 678, 458, 671,
654, 667, 652, 664, 0, 0, 657, 679, 678, 677, 677, 676, 673, 668, 665, 658, 658, 671, 656, 668,
645, 644, 341, 448, 0, 656, 659, 657, 646, 642, 0, 0, 661, 683, 682, 681, 649, 648, 341, 451,
0, 654, 651, 650, 640, 639, 629, 646, 632, 471, 0, 660, 663, 661, 650, 646, 0, 658, 655, 654,
640, 643, 0, 659, 658, 657, 625, 624, 0, 638, 644, 643, 633, 650, 636, 474, 644, 647, 0, 663,
625, 0, 635, 628, 629, 632, 0, 0, 0, 0, 662, 661, 629, 628, 0, 642, 629, 0, 639, 632,
651, 650, 0, 628, 631, 616, 623, 614, 621, 622, 633, 636, 0, 0, 0, 0, 655, 654, 0, 632,
622, 621, 607, 475, 619, 0, 620, 609, 608, 0, 635, 620, 627, 618, 625, 626, 626, 625, 611, 478,
0, 0, 632, 631, 630, 598, 597, 593, 601, 0, 623, 0, 624, 613, 612, 0, 0, 0, 636, 635,
628, 627, 0, 605, 608, 0, 477, 0, 586, 595, 634, 602, 601, 597, 605, 0, 632, 631, 0, 609,
0, 591, 590, 599, 599, 587, 601, 585, 599, 594, 612, 0, 480, 0, 590, 599, 0, 595, 594, 603,
0, 0, 0, 610, 609, 577, 0, 577, 0, 0, 603, 591, 605, 589, 603, 598, 0, 0, 0, 614,
452, 460, 600, 587, 590, 573, 585, 573, 572, 581, 613, 581, 0, 581, 0, 0, 455, 463, 604, 591,
581, 597, 596, 564, 0, 564, 565, 564, 574, 0, 594, 577, 589, 577, 576, 585, 585, 601, 600, 568,
577, 573, 575, 571, 558, 588, 203, 566, 562, 554, 0, 568, 569, 568, 578, 0, 581, 577, 579, 575,
561, 573, 562, 558, 560, 558, 558, 557, 0, 545, 562, 592, 203, 570, 566, 558, 565, 577, 566, 562,
544, 554, 0, 573, 208, 551, 0, 555, 554, 538, 564, 562, 562, 561, 0, 549, 548, 558, 0, 577,
530, 538, 528, 536, 0, 533, 553, 542, 540, 525, 208, 555, 0, 559, 558, 542, 534, 542, 532, 540,
528, 542, 557, 538, 539, 536, 533, 0, 521, 535, 0, 537, 557, 546, 544, 529, 532, 546, 561, 542,
534, 518, 517, 537, 526, 524, 506, 505, 0, 532, 543, 540, 537, 0, 525, 539, 538, 522, 521, 541,
505, 530, 503, 507, 537, 518, 515, 514, 517, 513, 530, 528, 510, 509, 0, 536, 509, 534, 507, 511,
500, 497, 510, 495, 496, 498, 487, 486, 0, 492, 541, 522, 519, 518, 521, 517, 504, 501, 514, 499,
522, 503, 500, 0, 0, 496, 0, 495, 0, 501, 500, 502, 491, 490, 0, 496, 526, 507, 504, 0,
485, 482, 483, 0, 475, 483, 480, 500, 480, 0, 0, 500, 0, 499, 0, 505, 489, 486, 487, 0,
0, 492, 0, 0, 491, 475, 472, 473, 487, 486, 479, 487, 484, 504, 484, 0, 0, 496, 0, 0,
463, 469, 0, 0, 489, 462, 481, 473, 459, 468, 495, 479, 476, 477, 491, 490, 467, 473, 0, 0,
455, 461, 0, 0, 472, 469, 0, 461, 451, 0, 493, 466, 485, 477, 463, 472, 459, 465, 0, 0,
433, 452, 0, 447, 0, 433, 418, 417, 347, 353, 476, 475, 0, 475, 457, 0, 439, 458, 0, 463,
0, 348, 346, 299, 296, 292, 0, 296, 284, 266, 0, 442, 423, 421, 411, 369, 0, 350, 363, 312,
0, 0, 0, 211, 158, 0, 126, 0, 0, 991, 301, 280, 0, 296, 252, 230, 0, 0, 0, 208,
506, 508, 510, 514, 171 158, 0, 126, 0, 0, 997, 509, 511, 513, 517,
171
} ; } ;
static yyconst flex_int16_t yy_def[766] = static yyconst flex_int16_t yy_def[772] =
{ 0, { 0,
760, 1, 761, 761, 760, 5, 760, 760, 760, 760, 766, 1, 767, 767, 766, 5, 766, 766, 766, 766,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
760, 760, 760, 760, 760, 760, 760, 760, 760, 762, 766, 766, 766, 766, 766, 766, 766, 766, 766, 768,
760, 760, 760, 762, 762, 762, 762, 762, 762, 762, 766, 766, 766, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 760, 760, 760, 760, 760, 760, 760, 768, 768, 768, 766, 766, 766, 766, 766, 766, 766,
760, 760, 763, 760, 760, 760, 760, 760, 760, 760, 766, 766, 769, 766, 766, 766, 766, 766, 766, 766,
760, 760, 760, 760, 760, 764, 760, 760, 760, 760, 766, 766, 766, 766, 766, 770, 766, 766, 766, 766,
760, 765, 760, 760, 760, 760, 760, 760, 760, 760, 766, 771, 766, 766, 766, 766, 766, 766, 766, 766,
760, 762, 760, 760, 762, 762, 762, 762, 762, 762, 766, 768, 766, 766, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 760, 760, 760, 763, 760, 768, 768, 768, 768, 768, 768, 766, 766, 766, 769,
764, 760, 760, 760, 760, 765, 760, 760, 762, 762, 766, 770, 766, 766, 766, 766, 771, 766, 766, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 760, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
760, 760, 760, 762, 762, 762, 762, 762, 762, 762, 768, 766, 766, 766, 766, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
762, 762, 762, 762, 762, 762, 762, 762, 762, 0, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
760, 760, 760, 760, 760 768, 768, 768, 768, 768, 0, 766, 766, 766, 766,
766
} ; } ;
static yyconst flex_int16_t yy_nxt[1063] = static yyconst flex_int16_t yy_nxt[1069] =
{ 0, { 0,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 23, 23, 23, 23, 18, 19, 20, 21, 22, 23, 23, 23, 23, 23,
...@@ -727,46 +730,47 @@ static yyconst flex_int16_t yy_nxt[1063] = ...@@ -727,46 +730,47 @@ static yyconst flex_int16_t yy_nxt[1063] =
63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
63, 63, 63, 63, 63, 63, 8, 8, 8, 8, 63, 63, 63, 63, 63, 63, 8, 8, 8, 8,
67, 70, 72, 74, 74, 74, 74, 74, 74, 74, 67, 70, 72, 74, 74, 74, 74, 74, 74, 74,
93, 95, 75, 154, 209, 73, 71, 76, 98, 68, 93, 95, 75, 155, 210, 73, 71, 76, 98, 68,
99, 155, 210, 166, 100, 96, 97, 94, 77, 78, 99, 156, 211, 167, 100, 96, 97, 94, 77, 78,
85, 79, 79, 79, 79, 79, 79, 80, 78, 759, 85, 79, 79, 79, 79, 79, 79, 80, 78, 765,
83, 83, 83, 83, 83, 83, 83, 86, 81, 87, 83, 83, 83, 83, 83, 83, 83, 86, 81, 87,
88, 246, 101, 247, 105, 82, 102, 81, 106, 109, 88, 248, 101, 249, 105, 82, 102, 81, 106, 109,
156, 110, 103, 107, 81, 104, 112, 118, 128, 108, 157, 110, 103, 107, 81, 104, 112, 118, 128, 108,
111, 758, 129, 81, 113, 119, 114, 121, 133, 115, 111, 764, 129, 81, 113, 119, 114, 121, 133, 115,
122, 82, 130, 123, 124, 116, 120, 637, 125, 638, 122, 82, 130, 123, 124, 116, 120, 643, 125, 644,
137, 126, 654, 134, 655, 131, 135, 138, 139, 229, 137, 126, 660, 134, 661, 131, 135, 138, 139, 193,
144, 140, 151, 145, 157, 148, 152, 141, 142, 149, 144, 140, 152, 145, 158, 148, 153, 141, 142, 149,
143, 146, 171, 150, 230, 153, 172, 757, 147, 74, 143, 146, 194, 150, 763, 154, 151, 762, 147, 74,
74, 74, 74, 74, 74, 74, 162, 162, 162, 162, 74, 74, 74, 74, 74, 74, 163, 163, 163, 163,
162, 162, 162, 179, 238, 239, 160, 180, 181, 222, 163, 163, 163, 172, 180, 215, 161, 173, 181, 182,
190, 192, 78, 163, 79, 79, 79, 79, 79, 79, 191, 216, 78, 164, 79, 79, 79, 79, 79, 79,
80, 191, 160, 756, 193, 223, 224, 217, 231, 163, 80, 192, 161, 239, 240, 230, 218, 223, 761, 164,
78, 81, 80, 80, 80, 80, 80, 80, 80, 214, 78, 81, 80, 80, 80, 80, 80, 80, 80, 219,
218, 232, 219, 266, 267, 215, 164, 81, 164, 81, 231, 220, 241, 224, 225, 232, 165, 81, 165, 81,
240, 165, 165, 165, 165, 165, 165, 165, 241, 310, 242, 166, 166, 166, 166, 166, 166, 166, 233, 268,
755, 260, 754, 311, 78, 81, 83, 83, 83, 83, 269, 262, 760, 759, 78, 81, 83, 83, 83, 83,
83, 83, 83, 202, 261, 753, 203, 204, 242, 752, 83, 83, 83, 203, 263, 312, 204, 205, 243, 313,
205, 328, 206, 81, 751, 250, 243, 250, 526, 329, 206, 330, 207, 81, 758, 252, 244, 252, 532, 331,
251, 251, 251, 251, 251, 251, 251, 750, 527, 81, 253, 253, 253, 253, 253, 253, 253, 757, 533, 81,
162, 162, 162, 162, 162, 162, 162, 296, 297, 298, 163, 163, 163, 163, 163, 163, 163, 298, 299, 300,
334, 335, 336, 252, 749, 252, 748, 163, 253, 253, 337, 338, 339, 254, 756, 254, 755, 164, 255, 255,
253, 253, 253, 253, 253, 165, 165, 165, 165, 165, 255, 255, 255, 255, 255, 166, 166, 166, 166, 166,
165, 165, 747, 163, 165, 165, 165, 165, 165, 165, 166, 166, 754, 164, 166, 166, 166, 166, 166, 166,
165, 251, 251, 251, 251, 251, 251, 251, 251, 251, 166, 253, 253, 253, 253, 253, 253, 253, 253, 253,
251, 251, 251, 251, 251, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 255, 255, 255, 255, 255,
253, 253, 253, 253, 253, 253, 253, 253, 253, 345, 255, 255, 255, 255, 255, 255, 255, 255, 255, 348,
346, 347, 357, 358, 359, 365, 366, 367, 369, 370, 349, 350, 360, 361, 362, 368, 369, 370, 372, 373,
371, 380, 381, 382, 431, 432, 433, 478, 479, 480, 374, 383, 384, 385, 417, 418, 419, 437, 438, 439,
504, 505, 506, 746, 745, 528, 744, 434, 435, 610, 484, 485, 486, 510, 511, 512, 753, 752, 534, 751,
481, 482, 743, 507, 508, 529, 543, 544, 545, 611, 440, 441, 616, 487, 488, 750, 513, 514, 535, 549,
574, 575, 592, 593, 612, 742, 613, 614, 741, 546, 550, 551, 617, 580, 581, 598, 599, 618, 749, 619,
547, 740, 548, 576, 739, 594, 58, 58, 58, 58, 620, 748, 552, 553, 747, 554, 582, 746, 600, 58,
92, 92, 159, 159, 161, 738, 161, 161, 737, 736, 58, 58, 58, 92, 92, 160, 160, 162, 745, 162,
162, 744, 743, 742, 741, 740, 739, 738, 737, 736,
735, 734, 733, 732, 731, 730, 729, 728, 727, 726, 735, 734, 733, 732, 731, 730, 729, 728, 727, 726,
725, 724, 723, 722, 721, 720, 719, 718, 717, 716, 725, 724, 723, 722, 721, 720, 719, 718, 717, 716,
715, 714, 713, 712, 711, 710, 709, 708, 707, 706, 715, 714, 713, 712, 711, 710, 709, 708, 707, 706,
...@@ -774,62 +778,61 @@ static yyconst flex_int16_t yy_nxt[1063] = ...@@ -774,62 +778,61 @@ static yyconst flex_int16_t yy_nxt[1063] =
695, 694, 693, 692, 691, 690, 689, 688, 687, 686, 695, 694, 693, 692, 691, 690, 689, 688, 687, 686,
685, 684, 683, 682, 681, 680, 679, 678, 677, 676, 685, 684, 683, 682, 681, 680, 679, 678, 677, 676,
675, 674, 673, 672, 671, 670, 669, 668, 667, 666, 675, 674, 673, 672, 671, 670, 669, 668, 667, 666,
665, 664, 663, 662, 661, 660, 659, 658, 657, 656,
653, 652, 651, 650, 649, 648, 647, 646, 645, 644, 665, 664, 663, 662, 659, 658, 657, 656, 655, 654,
643, 642, 641, 640, 639, 636, 635, 634, 633, 632, 653, 652, 651, 650, 649, 648, 647, 646, 645, 642,
641, 640, 639, 638, 637, 636, 635, 634, 633, 632,
631, 630, 629, 628, 627, 626, 625, 624, 623, 622, 631, 630, 629, 628, 627, 626, 625, 624, 623, 622,
621, 620, 619, 618, 617, 616, 615, 609, 608, 607, 621, 615, 614, 613, 612, 611, 610, 609, 608, 607,
606, 605, 604, 603, 602, 601, 600, 599, 598, 597, 606, 605, 604, 603, 602, 601, 597, 596, 595, 594,
596, 595, 591, 590, 589, 588, 587, 586, 585, 584, 593, 592, 591, 590, 589, 588, 587, 586, 585, 584,
583, 582, 581, 580, 579, 578, 577, 573, 572, 571, 583, 579, 578, 577, 576, 575, 574, 573, 572, 571,
570, 569, 568, 567, 566, 565, 564, 563, 562, 561, 570, 569, 568, 567, 566, 565, 564, 563, 562, 561,
560, 559, 558, 557, 556, 555, 554, 553, 552, 551, 560, 559, 558, 557, 556, 555, 548, 547, 546, 545,
550, 549, 542, 541, 540, 539, 538, 537, 536, 535,
544, 543, 542, 541, 540, 539, 538, 537, 536, 531,
534, 533, 532, 531, 530, 525, 524, 523, 522, 521, 530, 529, 528, 527, 526, 525, 524, 523, 522, 521,
520, 519, 518, 517, 516, 515, 514, 513, 512, 511, 520, 519, 518, 517, 516, 515, 509, 508, 507, 506,
510, 509, 503, 502, 501, 500, 499, 498, 497, 496, 505, 504, 503, 502, 501, 500, 499, 498, 497, 496,
495, 494, 493, 492, 491, 490, 489, 488, 487, 486, 495, 494, 493, 492, 491, 490, 489, 483, 482, 481,
485, 484, 483, 477, 476, 475, 474, 473, 472, 471, 480, 479, 478, 477, 476, 475, 474, 473, 472, 471,
470, 469, 468, 467, 466, 465, 464, 463, 462, 461, 470, 469, 468, 467, 466, 465, 464, 463, 462, 461,
460, 459, 458, 457, 456, 455, 454, 453, 452, 451, 460, 459, 458, 457, 456, 455, 454, 453, 452, 451,
450, 449, 448, 447, 446, 445, 444, 443, 442, 441, 450, 449, 448, 447, 446, 445, 444, 443, 442, 436,
440, 439, 438, 437, 436, 430, 429, 428, 427, 426, 435, 434, 433, 432, 431, 430, 429, 428, 427, 426,
425, 424, 423, 422, 421, 420, 419, 418, 417, 416,
425, 424, 423, 422, 421, 420, 416, 415, 414, 413,
415, 414, 413, 412, 411, 410, 409, 408, 407, 406, 412, 411, 410, 409, 408, 407, 406, 405, 404, 403,
405, 404, 403, 402, 401, 400, 399, 398, 397, 396, 402, 401, 400, 399, 398, 397, 396, 395, 394, 393,
395, 394, 393, 392, 391, 390, 389, 388, 387, 386, 392, 391, 390, 389, 388, 387, 386, 382, 381, 380,
385, 384, 383, 379, 378, 377, 376, 375, 374, 373, 379, 378, 377, 376, 375, 371, 367, 366, 365, 364,
372, 368, 364, 363, 362, 361, 360, 356, 355, 354, 363, 359, 358, 357, 356, 355, 354, 353, 352, 351,
353, 352, 351, 350, 349, 348, 344, 343, 342, 341, 347, 346, 345, 344, 343, 342, 341, 340, 336, 335,
340, 339, 338, 337, 333, 332, 331, 330, 327, 326, 334, 333, 332, 329, 328, 327, 326, 325, 324, 323,
325, 324, 323, 322, 321, 320, 319, 318, 317, 316, 322, 321, 320, 319, 318, 317, 316, 315, 314, 311,
315, 314, 313, 312, 309, 308, 307, 306, 305, 304, 310, 309, 308, 307, 306, 305, 304, 303, 302, 301,
303, 302, 301, 300, 299, 295, 294, 293, 292, 291,
297, 296, 295, 294, 293, 292, 291, 290, 289, 288,
290, 289, 288, 287, 286, 285, 284, 283, 282, 281, 287, 286, 285, 284, 283, 282, 281, 280, 279, 278,
280, 279, 278, 277, 276, 275, 274, 273, 272, 271, 277, 276, 275, 274, 273, 272, 271, 270, 267, 266,
270, 269, 268, 265, 264, 263, 262, 259, 258, 257, 265, 264, 261, 260, 259, 258, 257, 256, 251, 250,
256, 255, 254, 249, 248, 245, 244, 237, 236, 235, 247, 246, 245, 238, 237, 236, 235, 234, 229, 228,
234, 233, 228, 227, 226, 225, 221, 220, 216, 213, 227, 226, 222, 221, 217, 214, 213, 212, 209, 208,
212, 211, 208, 207, 201, 200, 199, 198, 197, 196, 202, 201, 200, 199, 198, 197, 196, 195, 190, 189,
195, 194, 189, 188, 187, 186, 185, 184, 183, 182, 188, 187, 186, 185, 184, 183, 179, 178, 177, 176,
178, 177, 176, 175, 174, 173, 170, 169, 168, 167, 175, 174, 171, 170, 169, 168, 159, 136, 132, 127,
158, 136, 132, 127, 117, 89, 84, 69, 64, 760, 117, 89, 84, 69, 64, 766, 7, 766, 766, 766,
7, 760, 760, 760, 760, 760, 760, 760, 760, 760,
766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760, 766, 766, 766, 766, 766, 766, 766, 766
760, 760
} ; } ;
static yyconst flex_int16_t yy_chk[1063] = static yyconst flex_int16_t yy_chk[1069] =
{ 0, { 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
...@@ -849,109 +852,109 @@ static yyconst flex_int16_t yy_chk[1063] = ...@@ -849,109 +852,109 @@ static yyconst flex_int16_t yy_chk[1063] =
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
13, 17, 19, 20, 20, 20, 20, 20, 20, 20, 13, 17, 19, 20, 20, 20, 20, 20, 20, 20,
33, 34, 21, 53, 127, 19, 17, 21, 35, 13, 33, 34, 21, 53, 127, 19, 17, 21, 35, 13,
35, 53, 127, 765, 35, 34, 34, 33, 21, 22, 35, 53, 127, 771, 35, 34, 34, 33, 21, 22,
26, 22, 22, 22, 22, 22, 22, 22, 23, 757, 26, 22, 22, 22, 22, 22, 22, 22, 23, 763,
23, 23, 23, 23, 23, 23, 23, 26, 22, 26, 23, 23, 23, 23, 23, 23, 23, 26, 22, 26,
26, 153, 36, 153, 37, 22, 36, 23, 37, 38, 26, 154, 36, 154, 37, 22, 36, 23, 37, 38,
55, 38, 36, 37, 22, 36, 39, 41, 44, 37, 55, 38, 36, 37, 22, 36, 39, 41, 44, 37,
38, 755, 44, 23, 39, 41, 39, 42, 47, 39, 38, 761, 44, 23, 39, 41, 39, 42, 47, 39,
42, 22, 45, 42, 42, 39, 41, 607, 42, 607, 42, 22, 45, 42, 42, 39, 41, 613, 42, 613,
49, 42, 625, 47, 625, 45, 47, 49, 49, 141, 49, 42, 631, 47, 631, 45, 47, 49, 49, 114,
50, 49, 52, 50, 55, 51, 52, 49, 49, 51, 50, 49, 52, 50, 55, 51, 52, 49, 49, 51,
49, 50, 97, 51, 141, 52, 97, 754, 50, 74, 49, 50, 114, 51, 760, 52, 51, 756, 50, 74,
74, 74, 74, 74, 74, 74, 78, 78, 78, 78, 74, 74, 74, 74, 74, 74, 78, 78, 78, 78,
78, 78, 78, 104, 148, 148, 74, 104, 104, 136, 78, 78, 78, 97, 104, 131, 74, 97, 104, 104,
113, 114, 79, 78, 79, 79, 79, 79, 79, 79, 113, 131, 79, 78, 79, 79, 79, 79, 79, 79,
79, 113, 74, 750, 114, 136, 136, 133, 142, 78, 79, 113, 74, 148, 148, 141, 133, 136, 755, 78,
80, 79, 80, 80, 80, 80, 80, 80, 80, 131, 80, 79, 80, 80, 80, 80, 80, 80, 80, 133,
133, 142, 133, 181, 181, 131, 81, 79, 81, 80, 141, 133, 149, 136, 136, 142, 81, 79, 81, 80,
149, 81, 81, 81, 81, 81, 81, 81, 149, 223, 149, 81, 81, 81, 81, 81, 81, 81, 142, 182,
749, 176, 748, 223, 83, 80, 83, 83, 83, 83, 182, 177, 754, 752, 83, 80, 83, 83, 83, 83,
83, 83, 83, 124, 176, 746, 124, 124, 150, 745, 83, 83, 83, 124, 177, 224, 124, 124, 150, 224,
124, 240, 124, 83, 744, 160, 150, 160, 483, 240, 124, 241, 124, 83, 751, 161, 150, 161, 489, 241,
160, 160, 160, 160, 160, 160, 160, 743, 483, 83, 161, 161, 161, 161, 161, 161, 161, 750, 489, 83,
162, 162, 162, 162, 162, 162, 162, 211, 211, 211, 163, 163, 163, 163, 163, 163, 163, 212, 212, 212,
245, 245, 245, 163, 742, 163, 740, 162, 163, 163, 247, 247, 247, 164, 749, 164, 748, 163, 164, 164,
163, 163, 163, 163, 163, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 165, 165, 165, 165, 165,
164, 164, 739, 162, 165, 165, 165, 165, 165, 165, 165, 165, 746, 163, 166, 166, 166, 166, 166, 166,
165, 250, 250, 250, 250, 250, 250, 250, 251, 251, 166, 252, 252, 252, 252, 252, 252, 252, 253, 253,
251, 251, 251, 251, 251, 252, 252, 252, 252, 252, 253, 253, 253, 253, 253, 254, 254, 254, 254, 254,
252, 252, 253, 253, 253, 253, 253, 253, 253, 259, 254, 254, 255, 255, 255, 255, 255, 255, 255, 261,
259, 259, 271, 271, 271, 280, 280, 280, 284, 284, 261, 261, 273, 273, 273, 282, 282, 282, 286, 286,
284, 293, 293, 293, 373, 373, 373, 430, 430, 430, 286, 295, 295, 295, 335, 335, 335, 376, 376, 376,
463, 463, 463, 738, 737, 484, 736, 373, 373, 581, 436, 436, 436, 469, 469, 469, 745, 744, 490, 743,
430, 430, 734, 463, 463, 484, 500, 500, 500, 581, 376, 376, 587, 436, 436, 742, 469, 469, 490, 506,
534, 534, 557, 557, 582, 732, 582, 582, 731, 500, 506, 506, 587, 540, 540, 563, 563, 588, 740, 588,
500, 729, 500, 534, 728, 557, 761, 761, 761, 761, 588, 738, 506, 506, 737, 506, 540, 735, 563, 767,
762, 762, 763, 763, 764, 726, 764, 764, 725, 722, 767, 767, 767, 768, 768, 769, 769, 770, 734, 770,
721, 720, 719, 718, 717, 716, 715, 712, 711, 710, 770, 732, 731, 728, 727, 726, 725, 724, 723, 722,
709, 708, 707, 706, 705, 702, 699, 698, 697, 696, 721, 718, 717, 716, 715, 714, 713, 712, 711, 708,
695, 693, 692, 691, 690, 688, 686, 683, 682, 681, 705, 704, 703, 702, 701, 699, 698, 697, 696, 694,
680, 678, 677, 676, 675, 674, 673, 672, 671, 670, 692, 689, 688, 687, 686, 684, 683, 682, 681, 680,
669, 668, 667, 666, 665, 664, 663, 662, 661, 660, 679, 678, 677, 676, 675, 674, 673, 672, 671, 670,
658, 657, 656, 655, 654, 653, 652, 651, 650, 649, 669, 668, 667, 666, 664, 663, 662, 661, 660, 659,
647, 646, 645, 644, 643, 642, 641, 640, 639, 638, 658, 657, 656, 655, 653, 652, 651, 650, 649, 648,
637, 636, 634, 633, 632, 631, 630, 629, 628, 626, 647, 646, 645, 644, 643, 642, 640, 639, 638, 637,
624, 622, 621, 620, 618, 617, 616, 615, 614, 613, 636, 635, 634, 632, 630, 628, 627, 626, 624, 623,
612, 611, 610, 609, 608, 606, 605, 604, 603, 602, 622, 621, 620, 619, 618, 617, 616, 615, 614, 612,
601, 599, 598, 597, 596, 594, 593, 592, 591, 590, 611, 610, 609, 608, 607, 605, 604, 603, 602, 600,
589, 588, 587, 586, 585, 584, 583, 578, 576, 575, 599, 598, 597, 596, 595, 594, 593, 592, 591, 590,
574, 570, 569, 568, 567, 566, 565, 564, 563, 562, 589, 584, 582, 581, 580, 576, 575, 574, 573, 572,
560, 559, 555, 554, 552, 551, 549, 548, 547, 546, 571, 570, 569, 568, 566, 565, 561, 560, 558, 557,
545, 544, 543, 539, 538, 537, 535, 533, 532, 531, 555, 554, 553, 552, 551, 550, 549, 545, 544, 543,
530, 529, 528, 527, 526, 525, 524, 522, 521, 516, 541, 539, 538, 537, 536, 535, 534, 533, 532, 531,
515, 514, 513, 511, 510, 508, 507, 506, 505, 504, 530, 528, 527, 522, 521, 520, 519, 517, 516, 514,
502, 501, 499, 498, 497, 496, 495, 494, 493, 492, 513, 512, 511, 510, 508, 507, 505, 504, 503, 502,
490, 489, 488, 487, 486, 482, 481, 480, 479, 478, 501, 500, 499, 498, 496, 495, 494, 493, 492, 488,
477, 474, 473, 472, 471, 470, 469, 468, 467, 466, 487, 486, 485, 484, 483, 480, 479, 478, 477, 476,
465, 464, 462, 461, 458, 453, 451, 450, 449, 447, 475, 474, 473, 472, 471, 470, 468, 467, 464, 459,
446, 443, 442, 441, 440, 439, 438, 437, 435, 434, 457, 456, 455, 453, 452, 449, 448, 447, 446, 445,
433, 432, 431, 428, 426, 425, 424, 422, 421, 420, 444, 443, 441, 440, 439, 438, 437, 434, 432, 431,
419, 417, 415, 414, 412, 411, 409, 408, 407, 406, 430, 428, 427, 426, 425, 423, 421, 420, 415, 414,
405, 404, 403, 402, 401, 400, 399, 397, 396, 395, 412, 411, 410, 409, 408, 407, 406, 405, 404, 403,
394, 393, 392, 391, 389, 388, 387, 386, 385, 384, 402, 400, 399, 398, 397, 396, 395, 394, 392, 391,
383, 379, 378, 377, 374, 372, 362, 360, 356, 355, 390, 389, 388, 387, 386, 382, 381, 380, 377, 375,
354, 353, 351, 350, 348, 343, 342, 341, 340, 339, 365, 363, 359, 358, 357, 356, 354, 353, 351, 346,
338, 333, 332, 331, 330, 329, 328, 326, 325, 322, 345, 344, 343, 342, 341, 336, 334, 333, 332, 331,
321, 320, 319, 318, 317, 316, 315, 314, 313, 312, 330, 328, 327, 324, 323, 322, 321, 320, 319, 318,
311, 310, 309, 308, 307, 306, 305, 304, 303, 302, 317, 316, 315, 314, 313, 312, 311, 310, 309, 308,
301, 300, 299, 292, 291, 290, 289, 288, 287, 286, 307, 306, 305, 304, 303, 302, 301, 294, 293, 292,
285, 283, 279, 277, 276, 275, 274, 270, 269, 268, 291, 290, 289, 288, 287, 285, 281, 279, 278, 277,
267, 266, 265, 264, 263, 262, 258, 256, 255, 254, 276, 272, 271, 270, 269, 268, 267, 266, 265, 264,
249, 248, 247, 246, 244, 243, 242, 241, 239, 238, 260, 258, 257, 256, 251, 250, 249, 248, 246, 245,
237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 244, 243, 242, 240, 239, 238, 237, 236, 235, 234,
227, 226, 225, 224, 222, 221, 220, 219, 218, 217, 233, 232, 231, 230, 229, 228, 227, 226, 225, 223,
216, 215, 214, 213, 212, 210, 209, 208, 207, 206, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213,
205, 204, 203, 202, 201, 200, 199, 198, 197, 196, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202,
195, 193, 192, 191, 190, 189, 188, 187, 186, 185, 201, 200, 199, 198, 197, 196, 194, 193, 192, 191,
184, 183, 182, 180, 179, 178, 177, 175, 174, 173, 190, 189, 188, 187, 186, 185, 184, 183, 181, 180,
172, 171, 169, 155, 154, 152, 151, 147, 146, 145, 179, 178, 176, 175, 174, 173, 172, 170, 156, 155,
144, 143, 140, 139, 138, 137, 135, 134, 132, 130, 153, 152, 151, 147, 146, 145, 144, 143, 140, 139,
129, 128, 126, 125, 123, 122, 120, 119, 118, 117, 138, 137, 135, 134, 132, 130, 129, 128, 126, 125,
116, 115, 112, 111, 110, 109, 108, 107, 106, 105, 123, 122, 120, 119, 118, 117, 116, 115, 112, 111,
103, 102, 101, 100, 99, 98, 96, 95, 91, 87, 110, 109, 108, 107, 106, 105, 103, 102, 101, 100,
60, 48, 46, 43, 40, 27, 24, 16, 11, 7, 99, 98, 96, 95, 91, 87, 60, 48, 46, 43,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760, 40, 27, 24, 16, 11, 7, 766, 766, 766, 766,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
760, 760 766, 766, 766, 766, 766, 766, 766, 766
} ; } ;
/* Table of booleans, true if rule could match eol. */ /* Table of booleans, true if rule could match eol. */
static yyconst flex_int32_t yy_rule_can_match_eol[216] = static yyconst flex_int32_t yy_rule_can_match_eol[219] =
{ 0, { 0,
0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
...@@ -963,7 +966,7 @@ static yyconst flex_int32_t yy_rule_can_match_eol[216] = ...@@ -963,7 +966,7 @@ static yyconst flex_int32_t yy_rule_can_match_eol[216] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, }; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, };
/* The intent behind this definition is that it'll catch /* The intent behind this definition is that it'll catch
* any uses of REJECT which flex missed. * any uses of REJECT which flex missed.
...@@ -1298,13 +1301,13 @@ yy_match: ...@@ -1298,13 +1301,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{ {
yy_current_state = (int) yy_def[yy_current_state]; yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 761 ) if ( yy_current_state >= 767 )
yy_c = yy_meta[(unsigned int) yy_c]; yy_c = yy_meta[(unsigned int) yy_c];
} }
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp; ++yy_cp;
} }
while ( yy_current_state != 760 ); while ( yy_current_state != 766 );
yy_cp = yyg->yy_last_accepting_cpos; yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state; yy_current_state = yyg->yy_last_accepting_state;
...@@ -1529,48 +1532,57 @@ YY_RULE_SETUP ...@@ -1529,48 +1532,57 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 49: case 49:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return (BVEC2); } { return ES2_identifier_ES3_keyword(context, UVEC2); }
YY_BREAK YY_BREAK
case 50: case 50:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return (BVEC3); } { return ES2_identifier_ES3_keyword(context, UVEC3); }
YY_BREAK YY_BREAK
case 51: case 51:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return (BVEC4); } { return ES2_identifier_ES3_keyword(context, UVEC4); }
YY_BREAK YY_BREAK
case 52: case 52:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return SAMPLER2D; } { context->lexAfterType = true; return (BVEC2); }
YY_BREAK YY_BREAK
case 53: case 53:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return SAMPLERCUBE; } { context->lexAfterType = true; return (BVEC3); }
YY_BREAK YY_BREAK
case 54: case 54:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return SAMPLER_EXTERNAL_OES; } { context->lexAfterType = true; return (BVEC4); }
YY_BREAK YY_BREAK
case 55: case 55:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return SAMPLER3D; } { context->lexAfterType = true; return SAMPLER2D; }
YY_BREAK YY_BREAK
case 56: case 56:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_reserved_ES3_keyword(context, SAMPLER3DRECT); } { context->lexAfterType = true; return SAMPLERCUBE; }
YY_BREAK YY_BREAK
case 57: case 57:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_reserved_ES3_keyword(context, SAMPLER2DSHADOW); } { context->lexAfterType = true; return SAMPLER_EXTERNAL_OES; }
YY_BREAK YY_BREAK
case 58: case 58:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return(STRUCT); } { context->lexAfterType = true; return SAMPLER3D; }
YY_BREAK YY_BREAK
/* Reserved keywords for GLSL ES 3.00 that are not reserved for GLSL ES 1.00 */
case 59: case 59:
YY_RULE_SETUP
{ return ES2_reserved_ES3_keyword(context, SAMPLER3DRECT); }
YY_BREAK
case 60: case 60:
YY_RULE_SETUP
{ return ES2_reserved_ES3_keyword(context, SAMPLER2DSHADOW); }
YY_BREAK
case 61: case 61:
YY_RULE_SETUP
{ context->lexAfterType = true; return(STRUCT); }
YY_BREAK
/* Reserved keywords for GLSL ES 3.00 that are not reserved for GLSL ES 1.00 */
case 62: case 62:
case 63: case 63:
case 64: case 64:
...@@ -1624,6 +1636,9 @@ case 111: ...@@ -1624,6 +1636,9 @@ case 111:
case 112: case 112:
case 113: case 113:
case 114: case 114:
case 115:
case 116:
case 117:
YY_RULE_SETUP YY_RULE_SETUP
{ {
if (context->shaderVersion < 300) { if (context->shaderVersion < 300) {
...@@ -1634,9 +1649,6 @@ YY_RULE_SETUP ...@@ -1634,9 +1649,6 @@ YY_RULE_SETUP
} }
YY_BREAK YY_BREAK
/* Reserved keywords */ /* Reserved keywords */
case 115:
case 116:
case 117:
case 118: case 118:
case 119: case 119:
case 120: case 120:
...@@ -1677,225 +1689,228 @@ case 154: ...@@ -1677,225 +1689,228 @@ case 154:
case 155: case 155:
case 156: case 156:
case 157: case 157:
case 158:
case 159:
case 160:
YY_RULE_SETUP YY_RULE_SETUP
{ return reserved_word(yyscanner); } { return reserved_word(yyscanner); }
YY_BREAK YY_BREAK
case 158: case 161:
YY_RULE_SETUP YY_RULE_SETUP
{ {
yylval->lex.string = NewPoolTString(yytext); yylval->lex.string = NewPoolTString(yytext);
return check_type(yyscanner); return check_type(yyscanner);
} }
YY_BREAK YY_BREAK
case 159: case 162:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); } { yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
YY_BREAK YY_BREAK
case 160: case 163:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); } { yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
YY_BREAK YY_BREAK
case 161: case 164:
YY_RULE_SETUP YY_RULE_SETUP
{ context->error(yylineno, "Invalid Octal number.", yytext); context->recover(); return 0;} { context->error(yylineno, "Invalid Octal number.", yytext); context->recover(); return 0;}
YY_BREAK YY_BREAK
case 162: case 165:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); } { yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
YY_BREAK YY_BREAK
case 163: case 166:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); } { yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK YY_BREAK
case 164: case 167:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); } { yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK YY_BREAK
case 165: case 168:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); } { yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK YY_BREAK
case 166: case 169:
YY_RULE_SETUP YY_RULE_SETUP
{ return(ADD_ASSIGN); } { return(ADD_ASSIGN); }
YY_BREAK YY_BREAK
case 167: case 170:
YY_RULE_SETUP YY_RULE_SETUP
{ return(SUB_ASSIGN); } { return(SUB_ASSIGN); }
YY_BREAK YY_BREAK
case 168: case 171:
YY_RULE_SETUP YY_RULE_SETUP
{ return(MUL_ASSIGN); } { return(MUL_ASSIGN); }
YY_BREAK YY_BREAK
case 169: case 172:
YY_RULE_SETUP YY_RULE_SETUP
{ return(DIV_ASSIGN); } { return(DIV_ASSIGN); }
YY_BREAK YY_BREAK
case 170: case 173:
YY_RULE_SETUP YY_RULE_SETUP
{ return(MOD_ASSIGN); } { return(MOD_ASSIGN); }
YY_BREAK YY_BREAK
case 171: case 174:
YY_RULE_SETUP YY_RULE_SETUP
{ return(LEFT_ASSIGN); } { return(LEFT_ASSIGN); }
YY_BREAK YY_BREAK
case 172: case 175:
YY_RULE_SETUP YY_RULE_SETUP
{ return(RIGHT_ASSIGN); } { return(RIGHT_ASSIGN); }
YY_BREAK YY_BREAK
case 173: case 176:
YY_RULE_SETUP YY_RULE_SETUP
{ return(AND_ASSIGN); } { return(AND_ASSIGN); }
YY_BREAK YY_BREAK
case 174: case 177:
YY_RULE_SETUP YY_RULE_SETUP
{ return(XOR_ASSIGN); } { return(XOR_ASSIGN); }
YY_BREAK YY_BREAK
case 175: case 178:
YY_RULE_SETUP YY_RULE_SETUP
{ return(OR_ASSIGN); } { return(OR_ASSIGN); }
YY_BREAK YY_BREAK
case 176: case 179:
YY_RULE_SETUP YY_RULE_SETUP
{ return(INC_OP); } { return(INC_OP); }
YY_BREAK YY_BREAK
case 177: case 180:
YY_RULE_SETUP YY_RULE_SETUP
{ return(DEC_OP); } { return(DEC_OP); }
YY_BREAK YY_BREAK
case 178: case 181:
YY_RULE_SETUP YY_RULE_SETUP
{ return(AND_OP); } { return(AND_OP); }
YY_BREAK YY_BREAK
case 179: case 182:
YY_RULE_SETUP YY_RULE_SETUP
{ return(OR_OP); } { return(OR_OP); }
YY_BREAK YY_BREAK
case 180: case 183:
YY_RULE_SETUP YY_RULE_SETUP
{ return(XOR_OP); } { return(XOR_OP); }
YY_BREAK YY_BREAK
case 181: case 184:
YY_RULE_SETUP YY_RULE_SETUP
{ return(LE_OP); } { return(LE_OP); }
YY_BREAK YY_BREAK
case 182: case 185:
YY_RULE_SETUP YY_RULE_SETUP
{ return(GE_OP); } { return(GE_OP); }
YY_BREAK YY_BREAK
case 183: case 186:
YY_RULE_SETUP YY_RULE_SETUP
{ return(EQ_OP); } { return(EQ_OP); }
YY_BREAK YY_BREAK
case 184: case 187:
YY_RULE_SETUP YY_RULE_SETUP
{ return(NE_OP); } { return(NE_OP); }
YY_BREAK YY_BREAK
case 185: case 188:
YY_RULE_SETUP YY_RULE_SETUP
{ return(LEFT_OP); } { return(LEFT_OP); }
YY_BREAK YY_BREAK
case 186: case 189:
YY_RULE_SETUP YY_RULE_SETUP
{ return(RIGHT_OP); } { return(RIGHT_OP); }
YY_BREAK YY_BREAK
case 187: case 190:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = false; return(SEMICOLON); } { context->lexAfterType = false; return(SEMICOLON); }
YY_BREAK YY_BREAK
case 188: case 191:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = false; return(LEFT_BRACE); } { context->lexAfterType = false; return(LEFT_BRACE); }
YY_BREAK YY_BREAK
case 189: case 192:
YY_RULE_SETUP YY_RULE_SETUP
{ return(RIGHT_BRACE); } { return(RIGHT_BRACE); }
YY_BREAK YY_BREAK
case 190: case 193:
YY_RULE_SETUP YY_RULE_SETUP
{ if (context->inTypeParen) context->lexAfterType = false; return(COMMA); } { if (context->inTypeParen) context->lexAfterType = false; return(COMMA); }
YY_BREAK YY_BREAK
case 191: case 194:
YY_RULE_SETUP YY_RULE_SETUP
{ return(COLON); } { return(COLON); }
YY_BREAK YY_BREAK
case 192: case 195:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = false; return(EQUAL); } { context->lexAfterType = false; return(EQUAL); }
YY_BREAK YY_BREAK
case 193: case 196:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); } { context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); }
YY_BREAK YY_BREAK
case 194: case 197:
YY_RULE_SETUP YY_RULE_SETUP
{ context->inTypeParen = false; return(RIGHT_PAREN); } { context->inTypeParen = false; return(RIGHT_PAREN); }
YY_BREAK YY_BREAK
case 195: case 198:
YY_RULE_SETUP YY_RULE_SETUP
{ return(LEFT_BRACKET); } { return(LEFT_BRACKET); }
YY_BREAK YY_BREAK
case 196: case 199:
YY_RULE_SETUP YY_RULE_SETUP
{ return(RIGHT_BRACKET); } { return(RIGHT_BRACKET); }
YY_BREAK YY_BREAK
case 197: case 200:
YY_RULE_SETUP YY_RULE_SETUP
{ BEGIN(FIELDS); return(DOT); } { BEGIN(FIELDS); return(DOT); }
YY_BREAK YY_BREAK
case 198: case 201:
YY_RULE_SETUP YY_RULE_SETUP
{ return(BANG); } { return(BANG); }
YY_BREAK YY_BREAK
case 199: case 202:
YY_RULE_SETUP YY_RULE_SETUP
{ return(DASH); } { return(DASH); }
YY_BREAK YY_BREAK
case 200: case 203:
YY_RULE_SETUP YY_RULE_SETUP
{ return(TILDE); } { return(TILDE); }
YY_BREAK YY_BREAK
case 201: case 204:
YY_RULE_SETUP YY_RULE_SETUP
{ return(PLUS); } { return(PLUS); }
YY_BREAK YY_BREAK
case 202: case 205:
YY_RULE_SETUP YY_RULE_SETUP
{ return(STAR); } { return(STAR); }
YY_BREAK YY_BREAK
case 203: case 206:
YY_RULE_SETUP YY_RULE_SETUP
{ return(SLASH); } { return(SLASH); }
YY_BREAK YY_BREAK
case 204: case 207:
YY_RULE_SETUP YY_RULE_SETUP
{ return(PERCENT); } { return(PERCENT); }
YY_BREAK YY_BREAK
case 205: case 208:
YY_RULE_SETUP YY_RULE_SETUP
{ return(LEFT_ANGLE); } { return(LEFT_ANGLE); }
YY_BREAK YY_BREAK
case 206: case 209:
YY_RULE_SETUP YY_RULE_SETUP
{ return(RIGHT_ANGLE); } { return(RIGHT_ANGLE); }
YY_BREAK YY_BREAK
case 207: case 210:
YY_RULE_SETUP YY_RULE_SETUP
{ return(VERTICAL_BAR); } { return(VERTICAL_BAR); }
YY_BREAK YY_BREAK
case 208: case 211:
YY_RULE_SETUP YY_RULE_SETUP
{ return(CARET); } { return(CARET); }
YY_BREAK YY_BREAK
case 209: case 212:
YY_RULE_SETUP YY_RULE_SETUP
{ return(AMPERSAND); } { return(AMPERSAND); }
YY_BREAK YY_BREAK
case 210: case 213:
YY_RULE_SETUP YY_RULE_SETUP
{ return(QUESTION); } { return(QUESTION); }
YY_BREAK YY_BREAK
case 211: case 214:
YY_RULE_SETUP YY_RULE_SETUP
{ {
BEGIN(INITIAL); BEGIN(INITIAL);
...@@ -1903,12 +1918,12 @@ YY_RULE_SETUP ...@@ -1903,12 +1918,12 @@ YY_RULE_SETUP
return FIELD_SELECTION; return FIELD_SELECTION;
} }
YY_BREAK YY_BREAK
case 212: case 215:
YY_RULE_SETUP YY_RULE_SETUP
{} {}
YY_BREAK YY_BREAK
case 213: case 216:
/* rule 213 can match eol */ /* rule 216 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
{ } { }
YY_BREAK YY_BREAK
...@@ -1917,11 +1932,11 @@ case YY_STATE_EOF(COMMENT): ...@@ -1917,11 +1932,11 @@ case YY_STATE_EOF(COMMENT):
case YY_STATE_EOF(FIELDS): case YY_STATE_EOF(FIELDS):
{ context->AfterEOF = true; yyterminate(); } { context->AfterEOF = true; yyterminate(); }
YY_BREAK YY_BREAK
case 214: case 217:
YY_RULE_SETUP YY_RULE_SETUP
{ context->warning(yylineno, "Unknown char", yytext, ""); return 0; } { context->warning(yylineno, "Unknown char", yytext, ""); return 0; }
YY_BREAK YY_BREAK
case 215: case 218:
YY_RULE_SETUP YY_RULE_SETUP
ECHO; ECHO;
YY_BREAK YY_BREAK
...@@ -2217,7 +2232,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) ...@@ -2217,7 +2232,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{ {
yy_current_state = (int) yy_def[yy_current_state]; yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 761 ) if ( yy_current_state >= 767 )
yy_c = yy_meta[(unsigned int) yy_c]; yy_c = yy_meta[(unsigned int) yy_c];
} }
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
...@@ -2246,11 +2261,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) ...@@ -2246,11 +2261,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{ {
yy_current_state = (int) yy_def[yy_current_state]; yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 761 ) if ( yy_current_state >= 767 )
yy_c = yy_meta[(unsigned int) yy_c]; yy_c = yy_meta[(unsigned int) yy_c];
} }
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
yy_is_jam = (yy_current_state == 760); yy_is_jam = (yy_current_state == 766);
return yy_is_jam ? 0 : yy_current_state; return yy_is_jam ? 0 : yy_current_state;
} }
......
...@@ -154,78 +154,81 @@ ...@@ -154,78 +154,81 @@
VEC2 = 286, VEC2 = 286,
VEC3 = 287, VEC3 = 287,
VEC4 = 288, VEC4 = 288,
MATRIX2 = 289, UVEC2 = 289,
MATRIX3 = 290, UVEC3 = 290,
MATRIX4 = 291, UVEC4 = 291,
IN_QUAL = 292, MATRIX2 = 292,
OUT_QUAL = 293, MATRIX3 = 293,
INOUT_QUAL = 294, MATRIX4 = 294,
UNIFORM = 295, IN_QUAL = 295,
VARYING = 296, OUT_QUAL = 296,
CENTROID = 297, INOUT_QUAL = 297,
FLAT = 298, UNIFORM = 298,
SMOOTH = 299, VARYING = 299,
STRUCT = 300, CENTROID = 300,
VOID_TYPE = 301, FLAT = 301,
WHILE = 302, SMOOTH = 302,
SAMPLER2D = 303, STRUCT = 303,
SAMPLERCUBE = 304, VOID_TYPE = 304,
SAMPLER_EXTERNAL_OES = 305, WHILE = 305,
SAMPLER2DRECT = 306, SAMPLER2D = 306,
SAMPLER3D = 307, SAMPLERCUBE = 307,
SAMPLER3DRECT = 308, SAMPLER_EXTERNAL_OES = 308,
SAMPLER2DSHADOW = 309, SAMPLER2DRECT = 309,
IDENTIFIER = 310, SAMPLER3D = 310,
TYPE_NAME = 311, SAMPLER3DRECT = 311,
FLOATCONSTANT = 312, SAMPLER2DSHADOW = 312,
INTCONSTANT = 313, IDENTIFIER = 313,
BOOLCONSTANT = 314, TYPE_NAME = 314,
FIELD_SELECTION = 315, FLOATCONSTANT = 315,
LEFT_OP = 316, INTCONSTANT = 316,
RIGHT_OP = 317, BOOLCONSTANT = 317,
INC_OP = 318, FIELD_SELECTION = 318,
DEC_OP = 319, LEFT_OP = 319,
LE_OP = 320, RIGHT_OP = 320,
GE_OP = 321, INC_OP = 321,
EQ_OP = 322, DEC_OP = 322,
NE_OP = 323, LE_OP = 323,
AND_OP = 324, GE_OP = 324,
OR_OP = 325, EQ_OP = 325,
XOR_OP = 326, NE_OP = 326,
MUL_ASSIGN = 327, AND_OP = 327,
DIV_ASSIGN = 328, OR_OP = 328,
ADD_ASSIGN = 329, XOR_OP = 329,
MOD_ASSIGN = 330, MUL_ASSIGN = 330,
LEFT_ASSIGN = 331, DIV_ASSIGN = 331,
RIGHT_ASSIGN = 332, ADD_ASSIGN = 332,
AND_ASSIGN = 333, MOD_ASSIGN = 333,
XOR_ASSIGN = 334, LEFT_ASSIGN = 334,
OR_ASSIGN = 335, RIGHT_ASSIGN = 335,
SUB_ASSIGN = 336, AND_ASSIGN = 336,
LEFT_PAREN = 337, XOR_ASSIGN = 337,
RIGHT_PAREN = 338, OR_ASSIGN = 338,
LEFT_BRACKET = 339, SUB_ASSIGN = 339,
RIGHT_BRACKET = 340, LEFT_PAREN = 340,
LEFT_BRACE = 341, RIGHT_PAREN = 341,
RIGHT_BRACE = 342, LEFT_BRACKET = 342,
DOT = 343, RIGHT_BRACKET = 343,
COMMA = 344, LEFT_BRACE = 344,
COLON = 345, RIGHT_BRACE = 345,
EQUAL = 346, DOT = 346,
SEMICOLON = 347, COMMA = 347,
BANG = 348, COLON = 348,
DASH = 349, EQUAL = 349,
TILDE = 350, SEMICOLON = 350,
PLUS = 351, BANG = 351,
STAR = 352, DASH = 352,
SLASH = 353, TILDE = 353,
PERCENT = 354, PLUS = 354,
LEFT_ANGLE = 355, STAR = 355,
RIGHT_ANGLE = 356, SLASH = 356,
VERTICAL_BAR = 357, PERCENT = 357,
CARET = 358, LEFT_ANGLE = 358,
AMPERSAND = 359, RIGHT_ANGLE = 359,
QUESTION = 360 VERTICAL_BAR = 360,
CARET = 361,
AMPERSAND = 362,
QUESTION = 363
}; };
#endif #endif
...@@ -530,22 +533,22 @@ union yyalloc ...@@ -530,22 +533,22 @@ union yyalloc
#endif #endif
/* YYFINAL -- State number of the termination state. */ /* YYFINAL -- State number of the termination state. */
#define YYFINAL 78 #define YYFINAL 81
/* YYLAST -- Last index in YYTABLE. */ /* YYLAST -- Last index in YYTABLE. */
#define YYLAST 1562 #define YYLAST 1664
/* YYNTOKENS -- Number of terminals. */ /* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 106 #define YYNTOKENS 109
/* YYNNTS -- Number of nonterminals. */ /* YYNNTS -- Number of nonterminals. */
#define YYNNTS 85 #define YYNNTS 85
/* YYNRULES -- Number of rules. */ /* YYNRULES -- Number of rules. */
#define YYNRULES 208 #define YYNRULES 211
/* YYNRULES -- Number of states. */ /* YYNRULES -- Number of states. */
#define YYNSTATES 312 #define YYNSTATES 315
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2 #define YYUNDEFTOK 2
#define YYMAXUTOK 360 #define YYMAXUTOK 363
#define YYTRANSLATE(YYX) \ #define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
...@@ -589,7 +592,7 @@ static const yytype_uint8 yytranslate[] = ...@@ -589,7 +592,7 @@ static const yytype_uint8 yytranslate[] =
75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105 105, 106, 107, 108
}; };
#if YYDEBUG #if YYDEBUG
...@@ -611,77 +614,79 @@ static const yytype_uint16 yyprhs[] = ...@@ -611,77 +614,79 @@ static const yytype_uint16 yyprhs[] =
324, 326, 328, 331, 334, 336, 338, 341, 343, 345, 324, 326, 328, 331, 334, 336, 338, 341, 343, 345,
347, 349, 354, 356, 358, 360, 362, 364, 366, 368, 347, 349, 354, 356, 358, 360, 362, 364, 366, 368,
370, 372, 374, 376, 378, 380, 382, 384, 386, 388, 370, 372, 374, 376, 378, 380, 382, 384, 386, 388,
390, 392, 394, 396, 398, 400, 401, 408, 409, 415, 390, 392, 394, 396, 398, 400, 402, 404, 406, 407,
417, 420, 424, 426, 430, 432, 437, 439, 441, 443, 414, 415, 421, 423, 426, 430, 432, 436, 438, 443,
445, 447, 449, 451, 453, 455, 458, 459, 460, 466, 445, 447, 449, 451, 453, 455, 457, 459, 461, 464,
468, 470, 471, 474, 475, 478, 481, 485, 487, 490, 465, 466, 472, 474, 476, 477, 480, 481, 484, 487,
492, 495, 501, 505, 507, 509, 514, 515, 522, 523, 491, 493, 496, 498, 501, 507, 511, 513, 515, 520,
532, 533, 541, 543, 545, 547, 548, 551, 555, 558, 521, 528, 529, 538, 539, 547, 549, 551, 553, 554,
561, 564, 568, 571, 573, 576, 578, 580, 581 557, 561, 564, 567, 570, 574, 577, 579, 582, 584,
586, 587
}; };
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ /* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] = static const yytype_int16 yyrhs[] =
{ {
187, 0, -1, 55, -1, 107, -1, 58, -1, 57, 190, 0, -1, 58, -1, 110, -1, 61, -1, 60,
-1, 59, -1, 82, 134, 83, -1, 108, -1, 109, -1, 62, -1, 85, 137, 86, -1, 111, -1, 112,
84, 110, 85, -1, 111, -1, 109, 88, 60, -1, 87, 113, 88, -1, 114, -1, 112, 91, 63, -1,
109, 63, -1, 109, 64, -1, 134, -1, 112, -1, 112, 66, -1, 112, 67, -1, 137, -1, 115, -1,
113, -1, 109, 88, 113, -1, 115, 83, -1, 114, 116, -1, 112, 91, 116, -1, 118, 86, -1, 117,
83, -1, 116, 46, -1, 116, -1, 116, 132, -1, 86, -1, 119, 49, -1, 119, -1, 119, 135, -1,
115, 89, 132, -1, 117, 82, -1, 154, -1, 55, 118, 92, 135, -1, 120, 85, -1, 157, -1, 58,
-1, 60, -1, 109, -1, 63, 118, -1, 64, 118, -1, 63, -1, 112, -1, 66, 121, -1, 67, 121,
-1, 119, 118, -1, 96, -1, 94, -1, 93, -1, -1, 122, 121, -1, 99, -1, 97, -1, 96, -1,
118, -1, 120, 97, 118, -1, 120, 98, 118, -1, 121, -1, 123, 100, 121, -1, 123, 101, 121, -1,
120, -1, 121, 96, 120, -1, 121, 94, 120, -1, 123, -1, 124, 99, 123, -1, 124, 97, 123, -1,
121, -1, 122, -1, 123, 100, 122, -1, 123, 101, 124, -1, 125, -1, 126, 103, 125, -1, 126, 104,
122, -1, 123, 65, 122, -1, 123, 66, 122, -1, 125, -1, 126, 68, 125, -1, 126, 69, 125, -1,
123, -1, 124, 67, 123, -1, 124, 68, 123, -1, 126, -1, 127, 70, 126, -1, 127, 71, 126, -1,
124, -1, 125, -1, 126, -1, 127, -1, 128, 69, 127, -1, 128, -1, 129, -1, 130, -1, 131, 72,
127, -1, 128, -1, 129, 71, 128, -1, 129, -1, 130, -1, 131, -1, 132, 74, 131, -1, 132, -1,
130, 70, 129, -1, 130, -1, 130, 105, 134, 90, 133, 73, 132, -1, 133, -1, 133, 108, 137, 93,
132, -1, 131, -1, 118, 133, 132, -1, 91, -1, 135, -1, 134, -1, 121, 136, 135, -1, 94, -1,
72, -1, 73, -1, 74, -1, 81, -1, 132, -1, 75, -1, 76, -1, 77, -1, 84, -1, 135, -1,
134, 89, 132, -1, 131, -1, 137, 92, -1, 145, 137, 92, 135, -1, 134, -1, 140, 95, -1, 148,
92, -1, 7, 152, 153, 92, -1, 138, 83, -1, 95, -1, 7, 155, 156, 95, -1, 141, 86, -1,
140, -1, 139, -1, 140, 142, -1, 139, 89, 142, 143, -1, 142, -1, 143, 145, -1, 142, 92, 145,
-1, 147, 55, 82, -1, 151, 55, -1, 151, 55, -1, 150, 58, 85, -1, 154, 58, -1, 154, 58,
84, 135, 85, -1, 148, 143, 141, -1, 143, 141, 87, 138, 88, -1, 151, 146, 144, -1, 146, 144,
-1, 148, 143, 144, -1, 143, 144, -1, -1, 37, -1, 151, 146, 147, -1, 146, 147, -1, -1, 40,
-1, 38, -1, 39, -1, 151, -1, 146, -1, 145, -1, 41, -1, 42, -1, 154, -1, 149, -1, 148,
89, 55, -1, 145, 89, 55, 84, 85, -1, 145, 92, 58, -1, 148, 92, 58, 87, 88, -1, 148,
89, 55, 84, 135, 85, -1, 145, 89, 55, 91, 92, 58, 87, 138, 88, -1, 148, 92, 58, 94,
162, -1, 147, -1, 147, 55, -1, 147, 55, 84, 165, -1, 150, -1, 150, 58, -1, 150, 58, 87,
85, -1, 147, 55, 84, 135, 85, -1, 147, 55, 88, -1, 150, 58, 87, 138, 88, -1, 150, 58,
91, 162, -1, 3, 55, -1, 151, -1, 149, 151, 94, 165, -1, 3, 58, -1, 154, -1, 152, 154,
-1, 9, -1, 8, -1, 41, -1, 3, 41, -1, -1, 9, -1, 8, -1, 44, -1, 3, 44, -1,
150, -1, 9, -1, 37, -1, 38, -1, 42, 37, 153, -1, 9, -1, 40, -1, 41, -1, 45, 40,
-1, 42, 38, -1, 40, -1, 153, -1, 152, 153, -1, 45, 41, -1, 43, -1, 156, -1, 155, 156,
-1, 4, -1, 5, -1, 6, -1, 154, -1, 154, -1, 4, -1, 5, -1, 6, -1, 157, -1, 157,
84, 135, 85, -1, 46, -1, 11, -1, 12, -1, 87, 138, 88, -1, 49, -1, 11, -1, 12, -1,
13, -1, 10, -1, 31, -1, 32, -1, 33, -1, 13, -1, 10, -1, 31, -1, 32, -1, 33, -1,
25, -1, 26, -1, 27, -1, 28, -1, 29, -1, 25, -1, 26, -1, 27, -1, 28, -1, 29, -1,
30, -1, 34, -1, 35, -1, 36, -1, 48, -1, 30, -1, 34, -1, 35, -1, 36, -1, 37, -1,
49, -1, 50, -1, 52, -1, 155, -1, 56, -1, 38, -1, 39, -1, 51, -1, 52, -1, 53, -1,
-1, 45, 55, 86, 156, 158, 87, -1, -1, 45, 55, -1, 158, -1, 59, -1, -1, 48, 58, 89,
86, 157, 158, 87, -1, 159, -1, 158, 159, -1, 159, 161, 90, -1, -1, 48, 89, 160, 161, 90,
151, 160, 92, -1, 161, -1, 160, 89, 161, -1, -1, 162, -1, 161, 162, -1, 154, 163, 95, -1,
55, -1, 55, 84, 135, 85, -1, 132, -1, 136, 164, -1, 163, 92, 164, -1, 58, -1, 58, 87,
-1, 166, -1, 165, -1, 163, -1, 175, -1, 176, 138, 88, -1, 135, -1, 139, -1, 169, -1, 168,
-1, 179, -1, 186, -1, 86, 87, -1, -1, -1, -1, 166, -1, 178, -1, 179, -1, 182, -1, 189,
86, 167, 174, 168, 87, -1, 173, -1, 165, -1, -1, 89, 90, -1, -1, -1, 89, 170, 177, 171,
-1, 171, 173, -1, -1, 172, 165, -1, 86, 87, 90, -1, 176, -1, 168, -1, -1, 174, 176, -1,
-1, 86, 174, 87, -1, 164, -1, 174, 164, -1, -1, 175, 168, -1, 89, 90, -1, 89, 177, 90,
92, -1, 134, 92, -1, 19, 82, 134, 83, 177, -1, 167, -1, 177, 167, -1, 95, -1, 137, 95,
-1, 170, 17, 170, -1, 170, -1, 134, -1, 147, -1, 19, 85, 137, 86, 180, -1, 173, 17, 173,
55, 91, 162, -1, -1, 47, 82, 180, 178, 83, -1, 173, -1, 137, -1, 150, 58, 94, 165, -1,
169, -1, -1, 16, 181, 170, 47, 82, 134, 83, -1, 50, 85, 183, 181, 86, 172, -1, -1, 16,
92, -1, -1, 18, 82, 182, 183, 185, 83, 169, 184, 173, 50, 85, 137, 86, 95, -1, -1, 18,
-1, 175, -1, 163, -1, 178, -1, -1, 184, 92, 85, 185, 186, 188, 86, 172, -1, 178, -1, 166,
-1, 184, 92, 134, -1, 15, 92, -1, 14, 92, -1, 181, -1, -1, 187, 95, -1, 187, 95, 137,
-1, 21, 92, -1, 21, 134, 92, -1, 20, 92, -1, 15, 95, -1, 14, 95, -1, 21, 95, -1,
-1, 188, -1, 187, 188, -1, 189, -1, 136, -1, 21, 137, 95, -1, 20, 95, -1, 191, -1, 190,
-1, 137, 190, 173, -1 191, -1, 192, -1, 139, -1, -1, 140, 193, 176,
-1
}; };
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
...@@ -700,14 +705,15 @@ static const yytype_uint16 yyrline[] = ...@@ -700,14 +705,15 @@ static const yytype_uint16 yyrline[] =
1352, 1372, 1460, 1469, 1492, 1498, 1505, 1514, 1523, 1529, 1352, 1372, 1460, 1469, 1492, 1498, 1505, 1514, 1523, 1529,
1533, 1538, 1543, 1549, 1555, 1564, 1574, 1581, 1584, 1587, 1533, 1538, 1543, 1549, 1555, 1564, 1574, 1581, 1584, 1587,
1593, 1596, 1611, 1615, 1619, 1623, 1627, 1631, 1636, 1641, 1593, 1596, 1611, 1615, 1619, 1623, 1627, 1631, 1636, 1641,
1646, 1651, 1656, 1661, 1666, 1671, 1676, 1682, 1688, 1694, 1646, 1651, 1656, 1661, 1666, 1671, 1676, 1681, 1686, 1691,
1699, 1704, 1713, 1718, 1723, 1736, 1736, 1750, 1750, 1759, 1697, 1703, 1709, 1714, 1719, 1728, 1733, 1738, 1751, 1751,
1762, 1777, 1809, 1813, 1819, 1827, 1843, 1847, 1851, 1852, 1765, 1765, 1774, 1777, 1792, 1824, 1828, 1834, 1842, 1858,
1858, 1859, 1860, 1861, 1862, 1866, 1867, 1867, 1867, 1877, 1862, 1866, 1867, 1873, 1874, 1875, 1876, 1877, 1881, 1882,
1878, 1882, 1882, 1883, 1883, 1888, 1891, 1901, 1904, 1910, 1882, 1882, 1892, 1893, 1897, 1897, 1898, 1898, 1903, 1906,
1911, 1915, 1923, 1927, 1937, 1942, 1959, 1959, 1964, 1964, 1916, 1919, 1925, 1926, 1930, 1938, 1942, 1952, 1957, 1974,
1971, 1971, 1979, 1982, 1988, 1991, 1997, 2001, 2008, 2015, 1974, 1979, 1979, 1986, 1986, 1994, 1997, 2003, 2006, 2012,
2022, 2029, 2040, 2049, 2053, 2060, 2063, 2069, 2069 2016, 2023, 2030, 2037, 2044, 2055, 2064, 2068, 2075, 2078,
2084, 2084
}; };
#endif #endif
...@@ -721,22 +727,23 @@ static const char *const yytname[] = ...@@ -721,22 +727,23 @@ static const char *const yytname[] =
"CONST_QUAL", "BOOL_TYPE", "FLOAT_TYPE", "INT_TYPE", "UINT_TYPE", "CONST_QUAL", "BOOL_TYPE", "FLOAT_TYPE", "INT_TYPE", "UINT_TYPE",
"BREAK", "CONTINUE", "DO", "ELSE", "FOR", "IF", "DISCARD", "RETURN", "BREAK", "CONTINUE", "DO", "ELSE", "FOR", "IF", "DISCARD", "RETURN",
"SWITCH", "CASE", "DEFAULT", "BVEC2", "BVEC3", "BVEC4", "IVEC2", "IVEC3", "SWITCH", "CASE", "DEFAULT", "BVEC2", "BVEC3", "BVEC4", "IVEC2", "IVEC3",
"IVEC4", "VEC2", "VEC3", "VEC4", "MATRIX2", "MATRIX3", "MATRIX4", "IVEC4", "VEC2", "VEC3", "VEC4", "UVEC2", "UVEC3", "UVEC4", "MATRIX2",
"IN_QUAL", "OUT_QUAL", "INOUT_QUAL", "UNIFORM", "VARYING", "CENTROID", "MATRIX3", "MATRIX4", "IN_QUAL", "OUT_QUAL", "INOUT_QUAL", "UNIFORM",
"FLAT", "SMOOTH", "STRUCT", "VOID_TYPE", "WHILE", "SAMPLER2D", "VARYING", "CENTROID", "FLAT", "SMOOTH", "STRUCT", "VOID_TYPE", "WHILE",
"SAMPLERCUBE", "SAMPLER_EXTERNAL_OES", "SAMPLER2DRECT", "SAMPLER3D", "SAMPLER2D", "SAMPLERCUBE", "SAMPLER_EXTERNAL_OES", "SAMPLER2DRECT",
"SAMPLER3DRECT", "SAMPLER2DSHADOW", "IDENTIFIER", "TYPE_NAME", "SAMPLER3D", "SAMPLER3DRECT", "SAMPLER2DSHADOW", "IDENTIFIER",
"FLOATCONSTANT", "INTCONSTANT", "BOOLCONSTANT", "FIELD_SELECTION", "TYPE_NAME", "FLOATCONSTANT", "INTCONSTANT", "BOOLCONSTANT",
"LEFT_OP", "RIGHT_OP", "INC_OP", "DEC_OP", "LE_OP", "GE_OP", "EQ_OP", "FIELD_SELECTION", "LEFT_OP", "RIGHT_OP", "INC_OP", "DEC_OP", "LE_OP",
"NE_OP", "AND_OP", "OR_OP", "XOR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP", "XOR_OP", "MUL_ASSIGN",
"ADD_ASSIGN", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "DIV_ASSIGN", "ADD_ASSIGN", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN",
"XOR_ASSIGN", "OR_ASSIGN", "SUB_ASSIGN", "LEFT_PAREN", "RIGHT_PAREN", "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", "SUB_ASSIGN", "LEFT_PAREN",
"LEFT_BRACKET", "RIGHT_BRACKET", "LEFT_BRACE", "RIGHT_BRACE", "DOT", "RIGHT_PAREN", "LEFT_BRACKET", "RIGHT_BRACKET", "LEFT_BRACE",
"COMMA", "COLON", "EQUAL", "SEMICOLON", "BANG", "DASH", "TILDE", "PLUS", "RIGHT_BRACE", "DOT", "COMMA", "COLON", "EQUAL", "SEMICOLON", "BANG",
"STAR", "SLASH", "PERCENT", "LEFT_ANGLE", "RIGHT_ANGLE", "VERTICAL_BAR", "DASH", "TILDE", "PLUS", "STAR", "SLASH", "PERCENT", "LEFT_ANGLE",
"CARET", "AMPERSAND", "QUESTION", "$accept", "variable_identifier", "RIGHT_ANGLE", "VERTICAL_BAR", "CARET", "AMPERSAND", "QUESTION",
"primary_expression", "postfix_expression", "integer_expression", "$accept", "variable_identifier", "primary_expression",
"function_call", "function_call_or_method", "function_call_generic", "postfix_expression", "integer_expression", "function_call",
"function_call_or_method", "function_call_generic",
"function_call_header_no_parameters", "function_call_header_no_parameters",
"function_call_header_with_parameters", "function_call_header", "function_call_header_with_parameters", "function_call_header",
"function_identifier", "unary_expression", "unary_operator", "function_identifier", "unary_expression", "unary_operator",
...@@ -782,34 +789,35 @@ static const yytype_uint16 yytoknum[] = ...@@ -782,34 +789,35 @@ static const yytype_uint16 yytoknum[] =
325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360 355, 356, 357, 358, 359, 360, 361, 362, 363
}; };
# endif # endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] = static const yytype_uint8 yyr1[] =
{ {
0, 106, 107, 108, 108, 108, 108, 108, 109, 109, 0, 109, 110, 111, 111, 111, 111, 111, 112, 112,
109, 109, 109, 109, 110, 111, 112, 112, 113, 113, 112, 112, 112, 112, 113, 114, 115, 115, 116, 116,
114, 114, 115, 115, 116, 117, 117, 117, 118, 118, 117, 117, 118, 118, 119, 120, 120, 120, 121, 121,
118, 118, 119, 119, 119, 120, 120, 120, 121, 121, 121, 121, 122, 122, 122, 123, 123, 123, 124, 124,
121, 122, 123, 123, 123, 123, 123, 124, 124, 124, 124, 125, 126, 126, 126, 126, 126, 127, 127, 127,
125, 126, 127, 128, 128, 129, 129, 130, 130, 131, 128, 129, 130, 131, 131, 132, 132, 133, 133, 134,
131, 132, 132, 133, 133, 133, 133, 133, 134, 134, 134, 135, 135, 136, 136, 136, 136, 136, 137, 137,
135, 136, 136, 136, 137, 138, 138, 139, 139, 140, 138, 139, 139, 139, 140, 141, 141, 142, 142, 143,
141, 141, 142, 142, 142, 142, 143, 143, 143, 143, 144, 144, 145, 145, 145, 145, 146, 146, 146, 146,
144, 145, 145, 145, 145, 145, 146, 146, 146, 146, 147, 148, 148, 148, 148, 148, 149, 149, 149, 149,
146, 146, 147, 147, 148, 149, 149, 149, 149, 150, 149, 149, 150, 150, 151, 152, 152, 152, 152, 153,
150, 150, 150, 150, 150, 151, 151, 152, 152, 152, 153, 153, 153, 153, 153, 154, 154, 155, 155, 155,
153, 153, 154, 154, 154, 154, 154, 154, 154, 154, 156, 156, 157, 157, 157, 157, 157, 157, 157, 157,
154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
154, 154, 154, 154, 154, 156, 155, 157, 155, 158, 157, 157, 157, 157, 157, 157, 157, 157, 159, 158,
158, 159, 160, 160, 161, 161, 162, 163, 164, 164, 160, 158, 161, 161, 162, 163, 163, 164, 164, 165,
165, 165, 165, 165, 165, 166, 167, 168, 166, 169, 166, 167, 167, 168, 168, 168, 168, 168, 169, 170,
169, 171, 170, 172, 170, 173, 173, 174, 174, 175, 171, 169, 172, 172, 174, 173, 175, 173, 176, 176,
175, 176, 177, 177, 178, 178, 180, 179, 181, 179, 177, 177, 178, 178, 179, 180, 180, 181, 181, 183,
182, 179, 183, 183, 184, 184, 185, 185, 186, 186, 182, 184, 182, 185, 182, 186, 186, 187, 187, 188,
186, 186, 186, 187, 187, 188, 188, 190, 189 188, 189, 189, 189, 189, 189, 190, 190, 191, 191,
193, 192
}; };
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
...@@ -829,13 +837,14 @@ static const yytype_uint8 yyr2[] = ...@@ -829,13 +837,14 @@ static const yytype_uint8 yyr2[] =
1, 1, 2, 2, 1, 1, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1, 2, 1, 1, 1,
1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 0, 6, 0, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 6,
2, 3, 1, 3, 1, 4, 1, 1, 1, 1, 0, 5, 1, 2, 3, 1, 3, 1, 4, 1,
1, 1, 1, 1, 1, 2, 0, 0, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0,
1, 0, 2, 0, 2, 2, 3, 1, 2, 1, 0, 5, 1, 1, 0, 2, 0, 2, 2, 3,
2, 5, 3, 1, 1, 4, 0, 6, 0, 8, 1, 2, 1, 2, 5, 3, 1, 1, 4, 0,
0, 7, 1, 1, 1, 0, 2, 3, 2, 2, 6, 0, 8, 0, 7, 1, 1, 1, 0, 2,
2, 3, 2, 1, 2, 1, 1, 0, 3 3, 2, 2, 2, 3, 2, 1, 2, 1, 1,
0, 3
}; };
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
...@@ -845,430 +854,450 @@ static const yytype_uint8 yydefact[] = ...@@ -845,430 +854,450 @@ static const yytype_uint8 yydefact[] =
{ {
0, 0, 117, 118, 119, 0, 105, 109, 126, 123, 0, 0, 117, 118, 119, 0, 105, 109, 126, 123,
124, 125, 130, 131, 132, 133, 134, 135, 127, 128, 124, 125, 130, 131, 132, 133, 134, 135, 127, 128,
129, 136, 137, 138, 110, 111, 114, 106, 0, 0, 129, 136, 137, 138, 139, 140, 141, 110, 111, 114,
122, 139, 140, 141, 142, 144, 206, 207, 0, 76, 106, 0, 0, 122, 142, 143, 144, 145, 147, 209,
86, 0, 91, 96, 0, 108, 102, 0, 115, 120, 210, 0, 76, 86, 0, 91, 96, 0, 108, 102,
143, 0, 203, 205, 107, 101, 0, 112, 113, 0, 0, 115, 120, 146, 0, 206, 208, 107, 101, 0,
147, 71, 0, 74, 86, 104, 87, 88, 89, 77, 112, 113, 0, 150, 71, 0, 74, 86, 104, 87,
0, 86, 0, 72, 97, 103, 116, 0, 1, 204, 88, 89, 77, 0, 86, 0, 72, 97, 103, 116,
0, 145, 0, 0, 208, 78, 83, 85, 90, 0, 0, 1, 207, 0, 148, 0, 0, 211, 78, 83,
92, 79, 0, 0, 2, 5, 4, 6, 27, 0, 85, 90, 0, 92, 79, 0, 0, 2, 5, 4,
0, 0, 34, 33, 32, 3, 8, 28, 10, 15, 6, 27, 0, 0, 0, 34, 33, 32, 3, 8,
16, 0, 0, 21, 0, 35, 0, 38, 41, 42, 28, 10, 15, 16, 0, 0, 21, 0, 35, 0,
47, 50, 51, 52, 53, 55, 57, 59, 70, 0, 38, 41, 42, 47, 50, 51, 52, 53, 55, 57,
25, 73, 0, 0, 0, 149, 0, 0, 188, 0, 59, 70, 0, 25, 73, 0, 0, 0, 152, 0,
0, 0, 0, 0, 166, 175, 179, 35, 61, 68, 0, 191, 0, 0, 0, 0, 0, 169, 178, 182,
0, 157, 0, 120, 160, 177, 159, 158, 0, 161, 35, 61, 68, 0, 160, 0, 120, 163, 180, 162,
162, 163, 164, 80, 82, 84, 0, 0, 98, 0, 161, 0, 164, 165, 166, 167, 80, 82, 84, 0,
156, 100, 29, 30, 0, 12, 13, 0, 0, 19, 0, 98, 0, 159, 100, 29, 30, 0, 12, 13,
18, 0, 20, 22, 24, 31, 0, 0, 0, 0, 0, 0, 19, 18, 0, 20, 22, 24, 31, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
121, 0, 154, 0, 152, 148, 150, 199, 198, 173, 0, 0, 0, 121, 0, 157, 0, 155, 151, 153,
190, 0, 202, 200, 0, 186, 165, 0, 64, 65, 202, 201, 176, 193, 0, 205, 203, 0, 189, 168,
66, 67, 63, 0, 0, 180, 176, 178, 0, 93, 0, 64, 65, 66, 67, 63, 0, 0, 183, 179,
0, 95, 99, 7, 0, 14, 26, 11, 17, 23, 181, 0, 93, 0, 95, 99, 7, 0, 14, 26,
36, 37, 40, 39, 45, 46, 43, 44, 48, 49, 11, 17, 23, 36, 37, 40, 39, 45, 46, 43,
54, 56, 58, 0, 146, 0, 0, 151, 0, 0, 44, 48, 49, 54, 56, 58, 0, 149, 0, 0,
0, 0, 0, 201, 0, 167, 62, 69, 0, 94, 154, 0, 0, 0, 0, 0, 204, 0, 170, 62,
9, 0, 0, 153, 0, 172, 174, 193, 192, 195, 69, 0, 94, 9, 0, 0, 156, 0, 175, 177,
173, 0, 184, 0, 0, 0, 81, 60, 155, 0, 196, 195, 198, 176, 0, 187, 0, 0, 0, 81,
194, 0, 0, 183, 181, 0, 0, 168, 0, 196, 60, 158, 0, 197, 0, 0, 186, 184, 0, 0,
0, 173, 0, 170, 187, 169, 0, 197, 191, 182, 171, 0, 199, 0, 176, 0, 173, 190, 172, 0,
185, 189 200, 194, 185, 188, 192
}; };
/* YYDEFGOTO[NTERM-NUM]. */ /* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] = static const yytype_int16 yydefgoto[] =
{ {
-1, 105, 106, 107, 234, 108, 109, 110, 111, 112, -1, 108, 109, 110, 237, 111, 112, 113, 114, 115,
113, 114, 147, 116, 117, 118, 119, 120, 121, 122, 116, 117, 150, 119, 120, 121, 122, 123, 124, 125,
123, 124, 125, 126, 127, 148, 149, 223, 150, 129, 126, 127, 128, 129, 130, 151, 152, 226, 153, 132,
151, 152, 38, 39, 40, 86, 69, 70, 87, 41, 154, 155, 41, 42, 43, 89, 72, 73, 90, 44,
42, 43, 71, 44, 45, 46, 47, 48, 130, 50, 45, 46, 74, 47, 48, 49, 50, 51, 133, 53,
132, 82, 134, 135, 203, 204, 171, 154, 155, 156, 135, 85, 137, 138, 206, 207, 174, 157, 158, 159,
157, 217, 285, 304, 258, 259, 260, 305, 158, 159, 160, 220, 288, 307, 261, 262, 263, 308, 161, 162,
160, 294, 284, 161, 264, 209, 261, 279, 291, 292, 163, 297, 287, 164, 267, 212, 264, 282, 294, 295,
162, 51, 52, 53, 62 165, 54, 55, 56, 65
}; };
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */ STATE-NUM. */
#define YYPACT_NINF -265 #define YYPACT_NINF -259
static const yytype_int16 yypact[] = static const yytype_int16 yypact[] =
{ {
1359, -22, -265, -265, -265, 108, -265, -265, -265, -265, 1449, -25, -259, -259, -259, 138, -259, -259, -259, -259,
-265, -265, -265, -265, -265, -265, -265, -265, -265, -265, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
-265, -265, -265, -265, -265, -265, -265, -265, -6, -37, -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
-265, -265, -265, -265, -265, -265, -265, -40, -9, -11, -259, 17, -44, -259, -259, -259, -259, -259, -259, -259,
1, -32, -265, 31, 1408, -265, -265, 1506, -265, 20, -11, -52, -4, 20, -13, -259, 87, 1501, -259, -259,
-265, 1305, -265, -265, -265, -265, 1506, -265, -265, 15, 1605, -259, 65, -259, 1392, -259, -259, -259, -259, 1605,
-265, -265, 59, -265, 27, -265, -265, -265, -265, -265, -259, -259, 64, -259, -259, 66, -259, -1, -259, -259,
1408, 103, 101, -265, 3, -265, -265, 1047, -265, -265, -259, -259, -259, 1501, 107, 96, -259, -22, -259, -259,
67, -265, 1408, 298, -265, -265, -265, -265, 105, 1408, 1174, -259, -259, 62, -259, 1501, 301, -259, -259, -259,
-64, -265, 822, 1047, 79, -265, -265, -265, -265, 1047, -259, 101, 1501, -20, -259, 940, 1174, 75, -259, -259,
1047, 1047, -265, -265, -265, -265, -265, 4, -265, -265, -259, -259, 1174, 1174, 1174, -259, -259, -259, -259, -259,
-265, 83, -28, 1120, 81, -265, 1047, 40, -53, -265, 4, -259, -259, -259, 76, -62, 1250, 78, -259, 1174,
-42, 80, -265, -265, -265, 93, 96, -57, -265, 84, -32, 14, -259, -51, 27, -259, -259, -259, 92, 93,
-265, -265, 1408, 113, 1193, -265, 82, 85, -265, 89, -60, -259, 81, -259, -259, 1501, 112, 201, -259, 77,
90, 86, 898, 91, 88, -265, -265, -1, -265, -265, 79, -259, 86, 88, 80, 1019, 91, 94, -259, -259,
13, -265, -40, 62, -265, -265, -265, -265, 392, -265, 52, -259, -259, -12, -259, -11, 53, -259, -259, -259,
-265, -265, -265, 92, -265, -265, 971, 1047, -265, 97, -259, 398, -259, -259, -259, -259, 90, -259, -259, 1095,
-265, -265, -265, -265, -14, -265, -265, 1047, 1455, -265, 1174, -259, 98, -259, -259, -259, -259, -54, -259, -259,
-265, 1047, 99, -265, -265, -265, 1047, 1047, 1047, 1047, 1174, 1551, -259, -259, 1174, 97, -259, -259, -259, 1174,
1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174,
-265, 1242, 102, 39, -265, -265, -265, -265, -265, 104, 1174, 1174, 1174, -259, 1326, 100, -2, -259, -259, -259,
-265, 1047, -265, -265, 41, -265, -265, 486, -265, -265, -259, -259, 89, -259, 1174, -259, -259, 15, -259, -259,
-265, -265, -265, 1047, 1047, -265, -265, -265, 1047, -265, 495, -259, -259, -259, -259, -259, 1174, 1174, -259, -259,
100, -265, -265, -265, 106, 98, -265, 110, -265, -265, -259, 1174, -259, 103, -259, -259, -259, 104, 102, -259,
-265, -265, 40, 40, -265, -265, -265, -265, -42, -42, 108, -259, -259, -259, -259, -32, -32, -259, -259, -259,
-265, 93, 96, 60, -265, 1047, 113, -265, 141, 59, -259, -51, -51, -259, 92, 93, 16, -259, 1174, 112,
674, 199, 14, -265, 749, 486, -265, -265, 109, -265, -259, 131, 66, 689, 786, -50, -259, 864, 495, -259,
-265, 1047, 111, -265, 115, -265, -265, -265, -265, 749, -259, 109, -259, -259, 1174, 110, -259, 111, -259, -259,
104, 152, 98, 140, 130, 128, -265, -265, -265, 1047, -259, -259, 864, 89, 144, 102, 137, 113, 99, -259,
-265, 124, 135, 181, -265, 129, 580, -265, 17, 1047, -259, -259, 1174, -259, 114, 116, 186, -259, 121, 592,
580, 104, 1047, -265, -265, -265, 127, 98, -265, -265, -259, -5, 1174, 592, 89, 1174, -259, -259, -259, 122,
-265, -265 102, -259, -259, -259, -259
}; };
/* YYPGOTO[NTERM-NUM]. */ /* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] = static const yytype_int16 yypgoto[] =
{ {
-265, -265, -265, -265, -265, -265, -265, 43, -265, -265, -259, -259, -259, -259, -259, -259, -259, 35, -259, -259,
-265, -265, -71, -265, -34, -265, -83, -43, -265, -265, -259, -259, -75, -259, -58, -259, -91, -47, -259, -259,
-265, 26, 45, 25, -265, -75, -88, -265, -100, -85, -259, 9, 18, 21, -259, -73, -95, -259, -102, -92,
11, 12, -265, -265, -265, 149, 179, 175, 161, -265, 10, 12, -259, -259, -259, 127, 154, 149, 132, -259,
-265, -249, -265, -265, -265, -36, 247, -21, 0, -265, -259, -251, -259, -259, -259, -36, 220, -24, 0, -259,
-265, -265, 121, -125, -265, 10, -163, 6, -136, -246, -259, -259, 106, -128, -259, -17, -164, -21, -138, -248,
-265, -265, -265, -31, -264, -265, -265, -59, 51, 9, -259, -259, -259, -59, -258, -259, -259, -61, 25, -18,
-265, -265, -8, -265, -265, -265, -265, -265, -265, -265, -259, -259, -35, -259, -259, -259, -259, -259, -259, -259,
-265, -265, 221, -265, -265 -259, -259, 194, -259, -259
}; };
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says. number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */ If YYTABLE_NINF, syntax error. */
#define YYTABLE_NINF -172 #define YYTABLE_NINF -175
static const yytype_int16 yytable[] = static const yytype_int16 yytable[] =
{ {
49, 174, 128, 84, 231, 170, 115, 169, 75, 206, 52, 173, 177, 172, 87, 118, 234, 131, 68, 209,
65, 36, 37, 198, 276, 283, 293, 128, 59, 54, 39, 78, 40, 201, 62, 279, 286, 193, 194, 57,
166, 115, 227, 190, 191, 183, 76, 167, 172, 173, 118, 186, 131, 230, 183, 296, 79, 175, 176, 68,
283, 57, 58, 55, 88, 80, 65, 309, 66, 67, 184, 286, 236, 58, 66, 83, 283, 91, 227, 69,
68, 188, 214, 189, 49, 185, 133, 49, 199, 60, 70, 71, 227, 217, 188, 63, 312, 52, 202, 136,
303, 49, 61, 88, 303, 180, 49, 72, 192, 193, 52, 306, 195, 196, 52, 306, 91, 60, 61, 52,
73, 181, 36, 37, 66, 67, 68, 175, 176, 233, 69, 70, 71, 94, 39, 95, 40, 169, 189, 190,
49, 218, 219, 220, 63, 224, 206, 235, 64, 170, 178, 179, 96, 52, 170, 173, 209, 233, 238, 75,
221, 230, 49, 153, -75, 91, 74, 92, 177, 49, 227, 309, 76, 228, 64, 52, 156, 227, 67, 242,
222, 128, 178, 239, 93, 115, 133, 280, 133, 253, 259, 180, 52, 260, 118, 181, 131, 197, 198, 136,
306, 81, 224, 224, 77, 225, 224, 244, 245, 246, 256, 136, 247, 248, 249, 250, -75, 227, 227, 274,
247, 262, 2, 3, 4, 240, 241, 115, 115, 115, 266, 191, 265, 192, 243, 244, 118, 118, 118, 118,
115, 115, 115, 115, 115, 115, 115, 115, 256, 227, 118, 118, 118, 118, 118, 118, 118, 221, 222, 223,
224, 257, 49, 263, 49, 266, 267, 186, 187, 310, 230, 269, 270, 245, 246, 52, 224, 52, -25, 271,
66, 67, 68, 268, -25, 83, 77, 194, 195, 224, 80, 313, 2, 3, 4, 77, 225, 69, 70, 71,
271, 248, 249, 128, 242, 243, 90, 115, 153, 131, 251, 252, 80, 84, 93, 86, 118, 134, 131, 166,
163, -26, 196, 184, 282, 133, 179, 197, 202, 200, -26, 156, 182, 187, 199, 285, 275, 200, 136, 203,
272, 210, 211, 215, 207, 216, 228, 208, 212, 282, 205, 213, 210, 214, 211, 215, 218, 231, -174, 290,
128, -122, 232, 287, 115, 269, 255, 224, 274, 298, 285, 277, -122, 118, 219, 131, 235, 258, 57, 300,
-171, 270, -27, 54, 286, 295, 288, 289, 301, 307, 301, 272, 273, -27, 227, 298, 292, 289, 291, 299,
275, 49, 1, 2, 3, 4, 5, 6, 7, 8, 310, 278, 303, 304, 52, 2, 3, 4, 253, 302,
9, 10, 11, 296, 170, 297, 299, 153, 300, 311, 173, 8, 9, 10, 11, 305, 241, 314, 254, 167,
302, 238, 250, 252, 12, 13, 14, 15, 16, 17, 156, 88, 255, 92, 168, 59, 12, 13, 14, 15,
18, 19, 20, 21, 22, 23, 24, 25, 164, 26, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
27, 28, 251, 85, 29, 30, 89, 31, 32, 33, 26, 204, 276, 280, 311, 268, 281, 293, 82, 32,
165, 34, 56, 201, 94, 35, 95, 96, 97, 98, 33, 0, 34, 35, 36, 0, 37, 0, 0, 0,
153, 153, 99, 100, 153, 153, 273, 277, 265, 308, 38, 0, 0, 156, 156, 0, 0, 156, 156, 0,
278, 290, 79, 0, 0, 0, 0, 0, 0, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0,
0, 146, 102, 103, 0, 104, 153, 0, 0, 0, 0, 208, 0, 0, 0, 0, 0, 0, 0, 156,
153, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 156, 1, 2, 3, 4, 5, 6,
10, 11, 136, 137, 138, 0, 139, 140, 141, 142, 7, 8, 9, 10, 11, 139, 140, 141, 0, 142,
143, 144, 145, 0, 0, 0, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 0, 29, 30, 31, 0, 0, 32,
33, 146, 34, 35, 36, 0, 37, 0, 0, 97,
38, 98, 99, 100, 101, 0, 0, 102, 103, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 104, 0, 0, 0,
147, 148, 0, 0, 0, 0, 149, 105, 106, 0,
107, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 139, 140, 141, 0, 142, 143, 144, 145,
0, 0, 0, 12, 13, 14, 15, 16, 17, 18, 0, 0, 0, 12, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 23, 24, 25, 0, 26, 27, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
28, 0, 0, 29, 30, 143, 31, 32, 33, 0, 0, 29, 30, 31, 0, 0, 32, 33, 146, 34,
34, 0, 0, 94, 35, 95, 96, 97, 98, 0, 35, 36, 0, 37, 0, 0, 97, 38, 98, 99,
0, 99, 100, 0, 0, 0, 0, 0, 0, 0, 100, 101, 0, 0, 102, 103, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 104, 0, 0, 0, 147, 229, 0,
0, 0, 0, 149, 105, 106, 0, 107, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 139,
140, 141, 0, 142, 143, 144, 145, 0, 0, 0,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 28, 0, 29, 30,
31, 0, 0, 32, 33, 146, 34, 35, 36, 0,
37, 0, 0, 97, 38, 98, 99, 100, 101, 0,
0, 102, 103, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
101, 0, 0, 0, 144, 145, 0, 0, 0, 0, 104, 0, 0, 0, 147, 0, 0, 0, 0, 0,
146, 102, 103, 0, 104, 1, 2, 3, 4, 5, 149, 105, 106, 0, 107, 1, 2, 3, 4, 5,
6, 7, 8, 9, 10, 11, 136, 137, 138, 0, 6, 7, 8, 9, 10, 11, 139, 140, 141, 0,
139, 140, 141, 142, 0, 0, 0, 12, 13, 14, 142, 143, 144, 145, 0, 0, 0, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 0, 26, 27, 28, 0, 0, 29, 30, 143, 25, 26, 27, 28, 0, 29, 30, 31, 0, 0,
31, 32, 33, 0, 34, 0, 0, 94, 35, 95, 32, 33, 146, 34, 35, 36, 0, 37, 0, 0,
96, 97, 98, 0, 0, 99, 100, 0, 0, 0, 97, 38, 98, 99, 100, 101, 0, 0, 102, 103,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 101, 0, 0, 0, 144, 226, 0, 0, 0, 0, 0, 0, 0, 104, 0, 0,
0, 0, 0, 0, 146, 102, 103, 0, 104, 1, 0, 86, 0, 0, 0, 0, 0, 149, 105, 106,
0, 107, 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 11, 139, 140, 141, 0, 142, 143, 144,
145, 0, 0, 0, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 0, 29, 30, 31, 0, 0, 32, 33, 146,
34, 35, 36, 0, 37, 0, 0, 97, 38, 98,
99, 100, 101, 0, 0, 102, 103, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 104, 0, 0, 0, 0, 0,
0, 0, 0, 0, 149, 105, 106, 0, 107, 1,
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
136, 137, 138, 0, 139, 140, 141, 142, 0, 0,
0, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 0, 26, 27, 28, 0,
0, 29, 30, 143, 31, 32, 33, 0, 34, 0,
0, 94, 35, 95, 96, 97, 98, 0, 0, 99,
100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 101, 0,
0, 0, 144, 0, 0, 0, 0, 0, 146, 102,
103, 0, 104, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 136, 137, 138, 0, 139, 140,
141, 142, 0, 0, 0, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 0,
26, 27, 28, 0, 0, 29, 30, 143, 31, 32,
33, 0, 34, 0, 0, 94, 35, 95, 96, 97,
98, 0, 0, 99, 100, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 101, 0, 0, 0, 83, 0, 0, 0, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20,
0, 0, 146, 102, 103, 0, 104, 1, 2, 3, 21, 22, 23, 24, 25, 26, 27, 28, 0, 29,
4, 5, 6, 7, 8, 9, 10, 11, 136, 137, 30, 31, 0, 0, 32, 33, 0, 34, 35, 36,
138, 0, 139, 140, 141, 142, 0, 0, 0, 12, 0, 37, 0, 0, 97, 38, 98, 99, 100, 101,
0, 0, 102, 103, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 284, 2, 3,
4, 104, 6, 7, 8, 9, 10, 11, 0, 0,
0, 149, 105, 106, 0, 107, 0, 0, 0, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
23, 24, 25, 0, 26, 27, 28, 0, 0, 29, 23, 24, 25, 26, 27, 28, 0, 29, 30, 31,
30, 143, 31, 32, 33, 0, 34, 0, 0, 94, 0, 0, 32, 33, 0, 34, 35, 36, 0, 37,
35, 95, 96, 97, 98, 0, 0, 99, 100, 0, 0, 0, 97, 38, 98, 99, 100, 101, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 103, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 281, 2, 3, 4, 101, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104,
9, 10, 11, 0, 0, 0, 146, 102, 103, 0, 8, 9, 10, 11, 0, 0, 0, 0, 0, 0,
104, 0, 0, 0, 12, 13, 14, 15, 16, 17, 105, 106, 0, 107, 0, 12, 13, 14, 15, 16,
18, 19, 20, 21, 22, 23, 24, 25, 0, 26, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28, 0, 0, 29, 30, 0, 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, 0, 32, 33,
0, 34, 0, 0, 94, 35, 95, 96, 97, 98, 0, 34, 35, 36, 0, 37, 0, 0, 97, 38,
0, 0, 99, 100, 0, 0, 0, 0, 0, 0, 98, 99, 100, 101, 0, 0, 102, 103, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 101, 8, 9, 10, 11, 0, 0, 0, 0,
0, 0, 102, 103, 0, 104, 0, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 0,
0, 0, 0, 0, 0, 0, 0, 29, 30, 0,
31, 32, 33, 0, 34, 0, 0, 94, 35, 95,
96, 97, 98, 0, 0, 99, 100, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 101, 0, 0, 168, 8, 9, 0, 0, 0, 0, 0, 104, 0, 0, 171, 8,
10, 11, 0, 0, 0, 102, 103, 0, 104, 0, 9, 10, 11, 0, 0, 0, 105, 106, 0, 107,
0, 0, 0, 12, 13, 14, 15, 16, 17, 18, 0, 0, 0, 0, 12, 13, 14, 15, 16, 17,
19, 20, 21, 22, 23, 0, 0, 0, 0, 0, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0,
0, 0, 0, 29, 30, 0, 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, 0, 32, 33, 0,
34, 0, 0, 94, 35, 95, 96, 97, 98, 0, 34, 35, 36, 0, 37, 0, 0, 97, 38, 98,
0, 99, 100, 0, 0, 0, 0, 0, 0, 0, 99, 100, 101, 0, 0, 102, 103, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
101, 8, 9, 10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 8, 9, 10, 11, 0,
213, 102, 103, 0, 104, 0, 12, 13, 14, 15, 0, 0, 0, 0, 216, 105, 106, 0, 107, 0,
16, 17, 18, 19, 20, 21, 22, 23, 0, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
0, 0, 0, 0, 0, 0, 29, 30, 0, 31, 22, 23, 24, 25, 26, 0, 0, 0, 0, 0,
32, 33, 0, 34, 0, 0, 94, 35, 95, 96, 0, 0, 0, 32, 33, 0, 34, 35, 36, 0,
97, 98, 0, 0, 99, 100, 0, 0, 0, 0, 37, 0, 0, 97, 38, 98, 99, 100, 101, 0,
0, 102, 103, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 101, 0, 0, 229, 8, 9, 10, 104, 0, 0, 232, 8, 9, 10, 11, 0, 0,
11, 0, 0, 0, 102, 103, 0, 104, 0, 0, 0, 105, 106, 0, 107, 0, 0, 0, 0, 12,
0, 0, 12, 13, 14, 15, 16, 17, 18, 19, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
20, 21, 22, 23, 0, 0, 0, 0, 0, 0, 23, 24, 25, 26, 0, 0, 0, 0, 0, 0,
0, 0, 29, 30, 0, 31, 32, 33, 0, 34, 0, 0, 32, 33, 0, 34, 35, 36, 0, 37,
0, 0, 94, 35, 95, 96, 97, 98, 0, 0, 0, 0, 97, 38, 98, 99, 100, 101, 0, 0,
99, 100, 0, 0, 0, 0, 0, 0, 0, 0, 102, 103, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104,
8, 9, 10, 11, 0, 0, 0, 0, 0, 0, 8, 9, 10, 11, 0, 0, 0, 0, 0, 0,
102, 103, 0, 104, 0, 12, 13, 14, 15, 16, 105, 106, 0, 107, 0, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 0, 0, 0, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
0, 0, 0, 0, 0, 29, 182, 0, 31, 32, 0, 0, 0, 0, 0, 0, 0, 0, 32, 185,
33, 0, 34, 0, 0, 94, 35, 95, 96, 97, 0, 34, 35, 36, 0, 37, 0, 0, 97, 38,
98, 0, 0, 99, 100, 0, 0, 0, 0, 0, 98, 99, 100, 101, 0, 0, 102, 103, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 101, 8, 9, 10, 11, 0, 0, 0, 2, 3, 4, 0, 0, 104, 8, 9, 10, 11,
0, 0, 0, 102, 103, 0, 104, 0, 12, 13, 0, 0, 0, 0, 0, 0, 105, 106, 0, 107,
14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20,
0, 0, 0, 0, 0, 0, 0, 0, 29, 30, 21, 22, 23, 24, 25, 26, 0, 0, 0, 0,
0, 31, 32, 33, 0, 34, 2, 3, 4, 35, 0, 0, 0, 0, 32, 33, 0, 34, 35, 36,
0, 0, 8, 9, 10, 11, 0, 0, 0, 0, 0, 37, 0, 0, 0, 38, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 12, 13, 14, 0, 0, 81, 0, 0, 1, 2, 3, 4, 5,
15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 6, 7, 8, 9, 10, 11, 0, 0, 0, 0,
205, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 0, 0, 0, 0, 257, 12, 13, 14,
31, 32, 33, 0, 34, 0, 0, 0, 35, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
0, 0, 0, 0, 0, 78, 0, 0, 1, 2, 25, 26, 27, 28, 0, 29, 30, 31, 0, 0,
3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 32, 33, 0, 34, 35, 36, 0, 37, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 38, 1, 2, 3, 4, 5, 6, 7, 8,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 0, 26, 27, 28, 0, 0,
29, 30, 0, 31, 32, 33, 0, 34, 0, 0,
0, 35, 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 11, 0, 0, 0, 0, 0, 0, 0, 9, 10, 11, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 12, 13, 14, 15, 16, 17, 0, 0, 0, 0, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 0, 26, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
27, 28, 0, 0, 29, 30, 0, 31, 32, 33, 28, 0, 29, 30, 31, 0, 0, 32, 33, 0,
0, 34, 2, 3, 4, 35, 0, 0, 8, 9, 34, 35, 36, 0, 37, 2, 3, 4, 38, 0,
10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 10, 11, 0, 0, 0, 0, 0,
0, 0, 0, 12, 13, 14, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 12, 13, 14, 15,
19, 20, 21, 22, 23, 0, 0, 0, 0, 0, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
0, 0, 0, 29, 30, 0, 31, 32, 33, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 32,
34, 0, 0, 0, 35, 8, 9, 10, 11, 0, 33, 0, 34, 35, 36, 0, 37, 0, 0, 0,
38, 8, 9, 10, 11, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 0, 0, 0, 0, 0, 0, 0, 0, 32,
33, 0, 34, 35, 36, 0, 37, 0, 0, 239,
38, 0, 0, 0, 240, 8, 9, 10, 11, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 24, 25, 26, 0, 0, 0, 0, 0,
29, 30, 0, 31, 32, 33, 0, 34, 0, 0, 0, 0, 0, 32, 33, 0, 34, 35, 36, 0,
236, 35, 0, 0, 0, 237, 8, 9, 10, 11, 37, 0, 0, 0, 38
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 0, 0, 0, 0, 0, 0, 0,
0, 29, 30, 0, 31, 32, 33, 0, 34, 0,
0, 0, 35
}; };
static const yytype_int16 yycheck[] = static const yytype_int16 yycheck[] =
{ {
0, 101, 77, 62, 167, 93, 77, 92, 44, 134, 0, 96, 104, 95, 65, 80, 170, 80, 9, 137,
9, 0, 0, 70, 260, 264, 280, 92, 55, 41, 0, 47, 0, 73, 58, 263, 267, 68, 69, 44,
84, 92, 158, 65, 66, 113, 47, 91, 99, 100, 95, 116, 95, 161, 86, 283, 50, 102, 103, 9,
279, 37, 38, 55, 70, 56, 9, 301, 37, 38, 92, 282, 86, 58, 86, 59, 86, 73, 92, 40,
39, 94, 142, 96, 44, 116, 82, 47, 105, 86, 41, 42, 92, 145, 119, 89, 304, 47, 108, 85,
296, 51, 92, 89, 300, 83, 56, 89, 100, 101, 50, 299, 103, 104, 54, 303, 92, 40, 41, 59,
92, 89, 51, 51, 37, 38, 39, 63, 64, 83, 40, 41, 42, 85, 54, 87, 54, 87, 100, 101,
70, 72, 73, 74, 83, 89, 201, 177, 89, 167, 66, 67, 94, 73, 94, 170, 204, 169, 180, 92,
81, 166, 82, 83, 83, 82, 55, 84, 84, 89, 92, 86, 95, 95, 95, 85, 86, 92, 92, 184,
91, 166, 88, 181, 91, 166, 132, 83, 134, 199, 92, 87, 92, 95, 169, 91, 169, 70, 71, 135,
83, 86, 89, 89, 84, 92, 89, 190, 191, 192, 202, 137, 193, 194, 195, 196, 86, 92, 92, 93,
193, 211, 4, 5, 6, 186, 187, 188, 189, 190, 95, 97, 214, 99, 189, 190, 191, 192, 193, 194,
191, 192, 193, 194, 195, 196, 197, 198, 89, 265, 195, 196, 197, 198, 199, 200, 201, 75, 76, 77,
89, 92, 132, 92, 134, 223, 224, 97, 98, 302, 268, 226, 227, 191, 192, 135, 84, 137, 85, 231,
37, 38, 39, 228, 82, 86, 84, 67, 68, 89, 87, 305, 4, 5, 6, 58, 94, 40, 41, 42,
90, 194, 195, 228, 188, 189, 55, 228, 158, 92, 197, 198, 87, 89, 58, 89, 231, 95, 231, 58,
55, 82, 69, 82, 264, 201, 83, 71, 55, 85, 85, 161, 86, 85, 72, 267, 258, 74, 204, 88,
255, 82, 82, 82, 92, 87, 84, 92, 92, 279, 58, 85, 95, 85, 95, 95, 85, 87, 89, 274,
255, 82, 85, 271, 255, 85, 84, 89, 47, 289, 282, 50, 85, 258, 90, 258, 88, 87, 44, 90,
86, 85, 82, 41, 85, 55, 85, 82, 17, 299, 292, 88, 88, 85, 92, 58, 85, 88, 88, 86,
259, 201, 3, 4, 5, 6, 7, 8, 9, 10, 302, 262, 86, 17, 204, 4, 5, 6, 199, 95,
11, 12, 13, 83, 302, 87, 92, 217, 83, 92, 305, 10, 11, 12, 13, 94, 181, 95, 200, 92,
91, 178, 196, 198, 25, 26, 27, 28, 29, 30, 220, 67, 201, 74, 92, 5, 25, 26, 27, 28,
31, 32, 33, 34, 35, 36, 37, 38, 89, 40, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
41, 42, 197, 64, 45, 46, 71, 48, 49, 50, 39, 135, 259, 264, 303, 220, 264, 282, 54, 48,
89, 52, 5, 132, 55, 56, 57, 58, 59, 60, 49, -1, 51, 52, 53, -1, 55, -1, -1, -1,
260, 261, 63, 64, 264, 265, 256, 261, 217, 300, 59, -1, -1, 263, 264, -1, -1, 267, 268, -1,
261, 279, 51, -1, -1, -1, -1, -1, -1, 279, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 282, -1, -1, -1, -1, -1, -1, -1,
-1, 92, 93, 94, -1, 96, 296, -1, -1, -1, -1, 90, -1, -1, -1, -1, -1, -1, -1, 299,
300, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, 303, 3, 4, 5, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, 16, -1, 18,
19, 20, 21, -1, -1, -1, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
39, 40, 41, -1, 43, 44, 45, -1, -1, 48,
49, 50, 51, 52, 53, -1, 55, -1, -1, 58,
59, 60, 61, 62, 63, -1, -1, 66, 67, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, -1, -1, -1,
89, 90, -1, -1, -1, -1, 95, 96, 97, -1,
99, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 14, 15, 16, -1, 18, 19, 20, 21, 12, 13, 14, 15, 16, -1, 18, 19, 20, 21,
-1, -1, -1, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
42, -1, -1, 45, 46, 47, 48, 49, 50, -1, -1, 43, 44, 45, -1, -1, 48, 49, 50, 51,
52, -1, -1, 55, 56, 57, 58, 59, 60, -1, 52, 53, -1, 55, -1, -1, 58, 59, 60, 61,
-1, 63, 64, -1, -1, -1, -1, -1, -1, -1, 62, 63, -1, -1, 66, 67, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 85, -1, -1, -1, 89, 90, -1,
-1, -1, -1, 95, 96, 97, -1, 99, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, -1, 18, 19, 20, 21, -1, -1, -1,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, -1, 43, 44,
45, -1, -1, 48, 49, 50, 51, 52, 53, -1,
55, -1, -1, 58, 59, 60, 61, 62, 63, -1,
-1, 66, 67, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
82, -1, -1, -1, 86, 87, -1, -1, -1, -1, 85, -1, -1, -1, 89, -1, -1, -1, -1, -1,
92, 93, 94, -1, 96, 3, 4, 5, 6, 7, 95, 96, 97, -1, 99, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15, 16, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, -1,
18, 19, 20, 21, -1, -1, -1, 25, 26, 27, 18, 19, 20, 21, -1, -1, -1, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
38, -1, 40, 41, 42, -1, -1, 45, 46, 47, 38, 39, 40, 41, -1, 43, 44, 45, -1, -1,
48, 49, 50, -1, 52, -1, -1, 55, 56, 57, 48, 49, 50, 51, 52, 53, -1, 55, -1, -1,
58, 59, 60, -1, -1, 63, 64, -1, -1, -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 85, -1, -1,
-1, 89, -1, -1, -1, -1, -1, 95, 96, 97,
-1, 99, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, -1, 18, 19, 20,
21, -1, -1, -1, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, -1, 43, 44, 45, -1, -1, 48, 49, 50,
51, 52, 53, -1, 55, -1, -1, 58, 59, 60,
61, 62, 63, -1, -1, 66, 67, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 82, -1, -1, -1, 86, 87, -1, -1, -1, -1, 85, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 92, 93, 94, -1, 96, 3, -1, -1, -1, -1, 95, 96, 97, -1, 99, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
14, 15, 16, -1, 18, 19, 20, 21, -1, -1,
-1, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, -1, 40, 41, 42, -1,
-1, 45, 46, 47, 48, 49, 50, -1, 52, -1,
-1, 55, 56, 57, 58, 59, 60, -1, -1, 63,
64, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 82, -1,
-1, -1, 86, -1, -1, -1, -1, -1, 92, 93,
94, -1, 96, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, -1, 18, 19,
20, 21, -1, -1, -1, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, -1,
40, 41, 42, -1, -1, 45, 46, 47, 48, 49,
50, -1, 52, -1, -1, 55, 56, 57, 58, 59,
60, -1, -1, 63, 64, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 82, -1, -1, -1, 86, -1, -1, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33,
-1, -1, 92, 93, 94, -1, 96, 3, 4, 5, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43,
6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 44, 45, -1, -1, 48, 49, -1, 51, 52, 53,
16, -1, 18, 19, 20, 21, -1, -1, -1, 25, -1, 55, -1, -1, 58, 59, 60, 61, 62, 63,
-1, -1, 66, 67, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3, 4, 5,
6, 85, 8, 9, 10, 11, 12, 13, -1, -1,
-1, 95, 96, 97, -1, 99, -1, -1, -1, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
36, 37, 38, -1, 40, 41, 42, -1, -1, 45, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45,
46, 47, 48, 49, 50, -1, 52, -1, -1, 55, -1, -1, 48, 49, -1, 51, 52, 53, -1, 55,
56, 57, 58, 59, 60, -1, -1, 63, 64, -1, -1, -1, 58, 59, 60, 61, 62, 63, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3, 4, 5, 6, 82, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85,
11, 12, 13, -1, -1, -1, 92, 93, 94, -1, 10, 11, 12, 13, -1, -1, -1, -1, -1, -1,
96, -1, -1, -1, 25, 26, 27, 28, 29, 30, 96, 97, -1, 99, -1, 25, 26, 27, 28, 29,
31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
41, 42, -1, -1, 45, 46, -1, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, 48, 49,
-1, 52, -1, -1, 55, 56, 57, 58, 59, 60, -1, 51, 52, 53, -1, 55, -1, -1, 58, 59,
-1, -1, 63, 64, -1, -1, -1, -1, -1, -1, 60, 61, 62, 63, -1, -1, 66, 67, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 82, 10, 11, 12, 13, -1, -1, -1, -1,
-1, -1, 93, 94, -1, 96, -1, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, 36, -1,
-1, -1, -1, -1, -1, -1, -1, 45, 46, -1,
48, 49, 50, -1, 52, -1, -1, 55, 56, 57,
58, 59, 60, -1, -1, 63, 64, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 82, -1, -1, 85, 10, 11, -1, -1, -1, -1, -1, 85, -1, -1, 88, 10,
12, 13, -1, -1, -1, 93, 94, -1, 96, -1, 11, 12, 13, -1, -1, -1, 96, 97, -1, 99,
-1, -1, -1, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, 25, 26, 27, 28, 29, 30,
32, 33, 34, 35, 36, -1, -1, -1, -1, -1, 31, 32, 33, 34, 35, 36, 37, 38, 39, -1,
-1, -1, -1, 45, 46, -1, 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, -1,
52, -1, -1, 55, 56, 57, 58, 59, 60, -1, 51, 52, 53, -1, 55, -1, -1, 58, 59, 60,
-1, 63, 64, -1, -1, -1, -1, -1, -1, -1, 61, 62, 63, -1, -1, 66, 67, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
82, 10, 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 10, 11, 12, 13, -1,
92, 93, 94, -1, 96, -1, 25, 26, 27, 28, -1, -1, -1, -1, 95, 96, 97, -1, 99, -1,
29, 30, 31, 32, 33, 34, 35, 36, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
-1, -1, -1, -1, -1, -1, 45, 46, -1, 48, 35, 36, 37, 38, 39, -1, -1, -1, -1, -1,
49, 50, -1, 52, -1, -1, 55, 56, 57, 58, -1, -1, -1, 48, 49, -1, 51, 52, 53, -1,
59, 60, -1, -1, 63, 64, -1, -1, -1, -1, 55, -1, -1, 58, 59, 60, 61, 62, 63, -1,
-1, 66, 67, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 82, -1, -1, 85, 10, 11, 12, 85, -1, -1, 88, 10, 11, 12, 13, -1, -1,
13, -1, -1, -1, 93, 94, -1, 96, -1, -1, -1, 96, 97, -1, 99, -1, -1, -1, -1, 25,
-1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
33, 34, 35, 36, -1, -1, -1, -1, -1, -1, 36, 37, 38, 39, -1, -1, -1, -1, -1, -1,
-1, -1, 45, 46, -1, 48, 49, 50, -1, 52, -1, -1, 48, 49, -1, 51, 52, 53, -1, 55,
-1, -1, 55, 56, 57, 58, 59, 60, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, -1, -1,
63, 64, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85,
10, 11, 12, 13, -1, -1, -1, -1, -1, -1, 10, 11, 12, 13, -1, -1, -1, -1, -1, -1,
93, 94, -1, 96, -1, 25, 26, 27, 28, 29, 96, 97, -1, 99, -1, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
-1, -1, -1, -1, -1, 45, 46, -1, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 48, 49,
50, -1, 52, -1, -1, 55, 56, 57, 58, 59, -1, 51, 52, 53, -1, 55, -1, -1, 58, 59,
60, -1, -1, 63, 64, -1, -1, -1, -1, -1, 60, 61, 62, 63, -1, -1, 66, 67, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4, 5, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 82, 10, 11, 12, 13, -1, -1, -1, 4, 5, 6, -1, -1, 85, 10, 11, 12, 13,
-1, -1, -1, 93, 94, -1, 96, -1, 25, 26, -1, -1, -1, -1, -1, -1, 96, 97, -1, 99,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33,
-1, -1, -1, -1, -1, -1, -1, -1, 45, 46, 34, 35, 36, 37, 38, 39, -1, -1, -1, -1,
-1, 48, 49, 50, -1, 52, 4, 5, 6, 56, -1, -1, -1, -1, 48, 49, -1, 51, 52, 53,
-1, -1, 10, 11, 12, 13, -1, -1, -1, -1, -1, 55, -1, -1, -1, 59, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 25, 26, 27, -1, -1, 0, -1, -1, 3, 4, 5, 6, 7,
28, 29, 30, 31, 32, 33, 34, 35, 36, -1, 8, 9, 10, 11, 12, 13, -1, -1, -1, -1,
87, -1, -1, -1, -1, -1, -1, 45, 46, -1, -1, -1, -1, -1, -1, -1, 90, 25, 26, 27,
48, 49, 50, -1, 52, -1, -1, -1, 56, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
-1, -1, -1, -1, -1, 0, -1, -1, 3, 4, 38, 39, 40, 41, -1, 43, 44, 45, -1, -1,
5, 6, 7, 8, 9, 10, 11, 12, 13, -1, 48, 49, -1, 51, 52, 53, -1, 55, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, 59, 3, 4, 5, 6, 7, 8, 9, 10,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, -1, 40, 41, 42, -1, -1,
45, 46, -1, 48, 49, 50, -1, 52, -1, -1,
-1, 56, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, -1, -1, -1, -1, -1, -1, -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 25, 26, 27, 28, 29, 30, -1, -1, -1, -1, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, -1, -1, 45, 46, -1, 48, 49, 50, 41, -1, 43, 44, 45, -1, -1, 48, 49, -1,
-1, 52, 4, 5, 6, 56, -1, -1, 10, 11, 51, 52, 53, -1, 55, 4, 5, 6, 59, -1,
12, 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, 11, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, 25, 26, 27, 28,
32, 33, 34, 35, 36, -1, -1, -1, -1, -1, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
-1, -1, -1, 45, 46, -1, 48, 49, 50, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, 48,
52, -1, -1, -1, 56, 10, 11, 12, 13, -1, 49, -1, 51, 52, 53, -1, 55, -1, -1, -1,
59, 10, 11, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
39, -1, -1, -1, -1, -1, -1, -1, -1, 48,
49, -1, 51, 52, 53, -1, 55, -1, -1, 58,
59, -1, -1, -1, 63, 10, 11, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, -1, -1, -1, -1, -1, -1, -1, -1, 35, 36, 37, 38, 39, -1, -1, -1, -1, -1,
45, 46, -1, 48, 49, 50, -1, 52, -1, -1, -1, -1, -1, 48, 49, -1, 51, 52, 53, -1,
55, 56, -1, -1, -1, 60, 10, 11, 12, 13, 55, -1, -1, -1, 59
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, -1, -1, -1, -1, -1, -1, -1,
-1, 45, 46, -1, 48, 49, 50, -1, 52, -1,
-1, -1, 56
}; };
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
...@@ -1277,36 +1306,36 @@ static const yytype_uint8 yystos[] = ...@@ -1277,36 +1306,36 @@ static const yytype_uint8 yystos[] =
{ {
0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 25, 26, 27, 28, 29, 30, 31, 32, 12, 13, 25, 26, 27, 28, 29, 30, 31, 32,
33, 34, 35, 36, 37, 38, 40, 41, 42, 45, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43,
46, 48, 49, 50, 52, 56, 136, 137, 138, 139, 44, 45, 48, 49, 51, 52, 53, 55, 59, 139,
140, 145, 146, 147, 149, 150, 151, 152, 153, 154, 140, 141, 142, 143, 148, 149, 150, 152, 153, 154,
155, 187, 188, 189, 41, 55, 152, 37, 38, 55, 155, 156, 157, 158, 190, 191, 192, 44, 58, 155,
86, 92, 190, 83, 89, 9, 37, 38, 39, 142, 40, 41, 58, 89, 95, 193, 86, 92, 9, 40,
143, 148, 89, 92, 55, 151, 153, 84, 0, 188, 41, 42, 145, 146, 151, 92, 95, 58, 154, 156,
153, 86, 157, 86, 173, 142, 141, 144, 151, 143, 87, 0, 191, 156, 89, 160, 89, 176, 145, 144,
55, 82, 84, 91, 55, 57, 58, 59, 60, 63, 147, 154, 146, 58, 85, 87, 94, 58, 60, 61,
64, 82, 93, 94, 96, 107, 108, 109, 111, 112, 62, 63, 66, 67, 85, 96, 97, 99, 110, 111,
113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 112, 114, 115, 116, 117, 118, 119, 120, 121, 122,
123, 124, 125, 126, 127, 128, 129, 130, 131, 135, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
154, 92, 156, 151, 158, 159, 14, 15, 16, 18, 133, 134, 138, 157, 95, 159, 154, 161, 162, 14,
19, 20, 21, 47, 86, 87, 92, 118, 131, 132, 15, 16, 18, 19, 20, 21, 50, 89, 90, 95,
134, 136, 137, 154, 163, 164, 165, 166, 174, 175, 121, 134, 135, 137, 139, 140, 157, 166, 167, 168,
176, 179, 186, 55, 141, 144, 84, 91, 85, 135, 169, 177, 178, 179, 182, 189, 58, 144, 147, 87,
132, 162, 118, 118, 134, 63, 64, 84, 88, 83, 94, 88, 138, 135, 165, 121, 121, 137, 66, 67,
83, 89, 46, 132, 82, 118, 97, 98, 94, 96, 87, 91, 86, 86, 92, 49, 135, 85, 121, 100,
65, 66, 100, 101, 67, 68, 69, 71, 70, 105, 101, 97, 99, 68, 69, 103, 104, 70, 71, 72,
85, 158, 55, 160, 161, 87, 159, 92, 92, 181, 74, 73, 108, 88, 161, 58, 163, 164, 90, 162,
82, 82, 92, 92, 134, 82, 87, 167, 72, 73, 95, 95, 184, 85, 85, 95, 95, 137, 85, 90,
74, 81, 91, 133, 89, 92, 87, 164, 84, 85, 170, 75, 76, 77, 84, 94, 136, 92, 95, 90,
135, 162, 85, 83, 110, 134, 55, 60, 113, 132, 167, 87, 88, 138, 165, 88, 86, 113, 137, 58,
118, 118, 120, 120, 122, 122, 122, 122, 123, 123, 63, 116, 135, 121, 121, 123, 123, 125, 125, 125,
127, 128, 129, 134, 87, 84, 89, 92, 170, 171, 125, 126, 126, 130, 131, 132, 137, 90, 87, 92,
172, 182, 134, 92, 180, 174, 132, 132, 135, 85, 95, 173, 174, 175, 185, 137, 95, 183, 177, 135,
85, 90, 135, 161, 47, 173, 165, 163, 175, 183, 135, 138, 88, 88, 93, 138, 164, 50, 176, 168,
83, 3, 134, 147, 178, 168, 85, 132, 85, 82, 166, 178, 186, 86, 3, 137, 150, 181, 171, 88,
178, 184, 185, 170, 177, 55, 83, 87, 134, 92, 135, 88, 85, 181, 187, 188, 173, 180, 58, 86,
83, 17, 91, 165, 169, 173, 83, 134, 169, 170, 90, 137, 95, 86, 17, 94, 168, 172, 176, 86,
162, 92 137, 172, 173, 165, 95
}; };
#define yyerrok (yyerrstatus = 0) #define yyerrok (yyerrstatus = 0)
...@@ -3928,6 +3957,33 @@ yyreduce: ...@@ -3928,6 +3957,33 @@ yyreduce:
case 136: case 136:
{ {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtUInt, qual, (yyvsp[(1) - (1)].lex).line);
(yyval.interm.type).setAggregate(2);
}
break;
case 137:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtUInt, qual, (yyvsp[(1) - (1)].lex).line);
(yyval.interm.type).setAggregate(3);
}
break;
case 138:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtUInt, qual, (yyvsp[(1) - (1)].lex).line);
(yyval.interm.type).setAggregate(4);
}
break;
case 139:
{
FRAG_VERT_ONLY("mat2", (yyvsp[(1) - (1)].lex).line); FRAG_VERT_ONLY("mat2", (yyvsp[(1) - (1)].lex).line);
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line); (yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
...@@ -3935,7 +3991,7 @@ yyreduce: ...@@ -3935,7 +3991,7 @@ yyreduce:
} }
break; break;
case 137: case 140:
{ {
FRAG_VERT_ONLY("mat3", (yyvsp[(1) - (1)].lex).line); FRAG_VERT_ONLY("mat3", (yyvsp[(1) - (1)].lex).line);
...@@ -3945,7 +4001,7 @@ yyreduce: ...@@ -3945,7 +4001,7 @@ yyreduce:
} }
break; break;
case 138: case 141:
{ {
FRAG_VERT_ONLY("mat4", (yyvsp[(1) - (1)].lex).line); FRAG_VERT_ONLY("mat4", (yyvsp[(1) - (1)].lex).line);
...@@ -3955,7 +4011,7 @@ yyreduce: ...@@ -3955,7 +4011,7 @@ yyreduce:
} }
break; break;
case 139: case 142:
{ {
FRAG_VERT_ONLY("sampler2D", (yyvsp[(1) - (1)].lex).line); FRAG_VERT_ONLY("sampler2D", (yyvsp[(1) - (1)].lex).line);
...@@ -3964,7 +4020,7 @@ yyreduce: ...@@ -3964,7 +4020,7 @@ yyreduce:
} }
break; break;
case 140: case 143:
{ {
FRAG_VERT_ONLY("samplerCube", (yyvsp[(1) - (1)].lex).line); FRAG_VERT_ONLY("samplerCube", (yyvsp[(1) - (1)].lex).line);
...@@ -3973,7 +4029,7 @@ yyreduce: ...@@ -3973,7 +4029,7 @@ yyreduce:
} }
break; break;
case 141: case 144:
{ {
if (!context->supportsExtension("GL_OES_EGL_image_external")) { if (!context->supportsExtension("GL_OES_EGL_image_external")) {
...@@ -3986,7 +4042,7 @@ yyreduce: ...@@ -3986,7 +4042,7 @@ yyreduce:
} }
break; break;
case 142: case 145:
{ {
FRAG_VERT_ONLY("sampler3D", (yyvsp[(1) - (1)].lex).line); FRAG_VERT_ONLY("sampler3D", (yyvsp[(1) - (1)].lex).line);
...@@ -3995,7 +4051,7 @@ yyreduce: ...@@ -3995,7 +4051,7 @@ yyreduce:
} }
break; break;
case 143: case 146:
{ {
FRAG_VERT_ONLY("struct", (yyvsp[(1) - (1)].interm.type).line); FRAG_VERT_ONLY("struct", (yyvsp[(1) - (1)].interm.type).line);
...@@ -4004,7 +4060,7 @@ yyreduce: ...@@ -4004,7 +4060,7 @@ yyreduce:
} }
break; break;
case 144: case 147:
{ {
// //
...@@ -4018,12 +4074,12 @@ yyreduce: ...@@ -4018,12 +4074,12 @@ yyreduce:
} }
break; break;
case 145: case 148:
{ if (context->enterStructDeclaration((yyvsp[(2) - (3)].lex).line, *(yyvsp[(2) - (3)].lex).string)) context->recover(); } { if (context->enterStructDeclaration((yyvsp[(2) - (3)].lex).line, *(yyvsp[(2) - (3)].lex).string)) context->recover(); }
break; break;
case 146: case 149:
{ {
if (context->reservedErrorCheck((yyvsp[(2) - (6)].lex).line, *(yyvsp[(2) - (6)].lex).string)) if (context->reservedErrorCheck((yyvsp[(2) - (6)].lex).line, *(yyvsp[(2) - (6)].lex).string))
...@@ -4041,12 +4097,12 @@ yyreduce: ...@@ -4041,12 +4097,12 @@ yyreduce:
} }
break; break;
case 147: case 150:
{ if (context->enterStructDeclaration((yyvsp[(2) - (2)].lex).line, *(yyvsp[(2) - (2)].lex).string)) context->recover(); } { if (context->enterStructDeclaration((yyvsp[(2) - (2)].lex).line, *(yyvsp[(2) - (2)].lex).string)) context->recover(); }
break; break;
case 148: case 151:
{ {
TType* structure = new TType((yyvsp[(4) - (5)].interm.typeList), TString("")); TType* structure = new TType((yyvsp[(4) - (5)].interm.typeList), TString(""));
...@@ -4056,14 +4112,14 @@ yyreduce: ...@@ -4056,14 +4112,14 @@ yyreduce:
} }
break; break;
case 149: case 152:
{ {
(yyval.interm.typeList) = (yyvsp[(1) - (1)].interm.typeList); (yyval.interm.typeList) = (yyvsp[(1) - (1)].interm.typeList);
} }
break; break;
case 150: case 153:
{ {
(yyval.interm.typeList) = (yyvsp[(1) - (2)].interm.typeList); (yyval.interm.typeList) = (yyvsp[(1) - (2)].interm.typeList);
...@@ -4079,7 +4135,7 @@ yyreduce: ...@@ -4079,7 +4135,7 @@ yyreduce:
} }
break; break;
case 151: case 154:
{ {
(yyval.interm.typeList) = (yyvsp[(2) - (3)].interm.typeList); (yyval.interm.typeList) = (yyvsp[(2) - (3)].interm.typeList);
...@@ -4112,7 +4168,7 @@ yyreduce: ...@@ -4112,7 +4168,7 @@ yyreduce:
} }
break; break;
case 152: case 155:
{ {
(yyval.interm.typeList) = NewPoolTTypeList(); (yyval.interm.typeList) = NewPoolTTypeList();
...@@ -4120,14 +4176,14 @@ yyreduce: ...@@ -4120,14 +4176,14 @@ yyreduce:
} }
break; break;
case 153: case 156:
{ {
(yyval.interm.typeList)->push_back((yyvsp[(3) - (3)].interm.typeLine)); (yyval.interm.typeList)->push_back((yyvsp[(3) - (3)].interm.typeLine));
} }
break; break;
case 154: case 157:
{ {
if (context->reservedErrorCheck((yyvsp[(1) - (1)].lex).line, *(yyvsp[(1) - (1)].lex).string)) if (context->reservedErrorCheck((yyvsp[(1) - (1)].lex).line, *(yyvsp[(1) - (1)].lex).string))
...@@ -4139,7 +4195,7 @@ yyreduce: ...@@ -4139,7 +4195,7 @@ yyreduce:
} }
break; break;
case 155: case 158:
{ {
if (context->reservedErrorCheck((yyvsp[(1) - (4)].lex).line, *(yyvsp[(1) - (4)].lex).string)) if (context->reservedErrorCheck((yyvsp[(1) - (4)].lex).line, *(yyvsp[(1) - (4)].lex).string))
...@@ -4156,67 +4212,67 @@ yyreduce: ...@@ -4156,67 +4212,67 @@ yyreduce:
} }
break; break;
case 156: case 159:
{ (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); } { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break; break;
case 157: case 160:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break; break;
case 158: case 161:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermAggregate); } { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermAggregate); }
break; break;
case 159: case 162:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break; break;
case 160: case 163:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break; break;
case 161: case 164:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break; break;
case 162: case 165:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break; break;
case 163: case 166:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break; break;
case 164: case 167:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break; break;
case 165: case 168:
{ (yyval.interm.intermAggregate) = 0; } { (yyval.interm.intermAggregate) = 0; }
break; break;
case 166: case 169:
{ context->symbolTable.push(); } { context->symbolTable.push(); }
break; break;
case 167: case 170:
{ context->symbolTable.pop(); } { context->symbolTable.pop(); }
break; break;
case 168: case 171:
{ {
if ((yyvsp[(3) - (5)].interm.intermAggregate) != 0) { if ((yyvsp[(3) - (5)].interm.intermAggregate) != 0) {
...@@ -4227,44 +4283,44 @@ yyreduce: ...@@ -4227,44 +4283,44 @@ yyreduce:
} }
break; break;
case 169: case 172:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break; break;
case 170: case 173:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break; break;
case 171: case 174:
{ context->symbolTable.push(); } { context->symbolTable.push(); }
break; break;
case 172: case 175:
{ context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); } { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
break; break;
case 173: case 176:
{ context->symbolTable.push(); } { context->symbolTable.push(); }
break; break;
case 174: case 177:
{ context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); } { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
break; break;
case 175: case 178:
{ {
(yyval.interm.intermNode) = 0; (yyval.interm.intermNode) = 0;
} }
break; break;
case 176: case 179:
{ {
if ((yyvsp[(2) - (3)].interm.intermAggregate)) { if ((yyvsp[(2) - (3)].interm.intermAggregate)) {
...@@ -4275,31 +4331,31 @@ yyreduce: ...@@ -4275,31 +4331,31 @@ yyreduce:
} }
break; break;
case 177: case 180:
{ {
(yyval.interm.intermAggregate) = context->intermediate.makeAggregate((yyvsp[(1) - (1)].interm.intermNode), 0); (yyval.interm.intermAggregate) = context->intermediate.makeAggregate((yyvsp[(1) - (1)].interm.intermNode), 0);
} }
break; break;
case 178: case 181:
{ {
(yyval.interm.intermAggregate) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermAggregate), (yyvsp[(2) - (2)].interm.intermNode), 0); (yyval.interm.intermAggregate) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermAggregate), (yyvsp[(2) - (2)].interm.intermNode), 0);
} }
break; break;
case 179: case 182:
{ (yyval.interm.intermNode) = 0; } { (yyval.interm.intermNode) = 0; }
break; break;
case 180: case 183:
{ (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[(1) - (2)].interm.intermTypedNode)); } { (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[(1) - (2)].interm.intermTypedNode)); }
break; break;
case 181: case 184:
{ {
if (context->boolErrorCheck((yyvsp[(1) - (5)].lex).line, (yyvsp[(3) - (5)].interm.intermTypedNode))) if (context->boolErrorCheck((yyvsp[(1) - (5)].lex).line, (yyvsp[(3) - (5)].interm.intermTypedNode)))
...@@ -4308,7 +4364,7 @@ yyreduce: ...@@ -4308,7 +4364,7 @@ yyreduce:
} }
break; break;
case 182: case 185:
{ {
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermNode); (yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermNode);
...@@ -4316,7 +4372,7 @@ yyreduce: ...@@ -4316,7 +4372,7 @@ yyreduce:
} }
break; break;
case 183: case 186:
{ {
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (1)].interm.intermNode); (yyval.interm.nodePair).node1 = (yyvsp[(1) - (1)].interm.intermNode);
...@@ -4324,7 +4380,7 @@ yyreduce: ...@@ -4324,7 +4380,7 @@ yyreduce:
} }
break; break;
case 184: case 187:
{ {
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
...@@ -4333,7 +4389,7 @@ yyreduce: ...@@ -4333,7 +4389,7 @@ yyreduce:
} }
break; break;
case 185: case 188:
{ {
TIntermNode* intermNode; TIntermNode* intermNode;
...@@ -4351,12 +4407,12 @@ yyreduce: ...@@ -4351,12 +4407,12 @@ yyreduce:
} }
break; break;
case 186: case 189:
{ context->symbolTable.push(); ++context->loopNestingLevel; } { context->symbolTable.push(); ++context->loopNestingLevel; }
break; break;
case 187: case 190:
{ {
context->symbolTable.pop(); context->symbolTable.pop();
...@@ -4365,12 +4421,12 @@ yyreduce: ...@@ -4365,12 +4421,12 @@ yyreduce:
} }
break; break;
case 188: case 191:
{ ++context->loopNestingLevel; } { ++context->loopNestingLevel; }
break; break;
case 189: case 192:
{ {
if (context->boolErrorCheck((yyvsp[(8) - (8)].lex).line, (yyvsp[(6) - (8)].interm.intermTypedNode))) if (context->boolErrorCheck((yyvsp[(8) - (8)].lex).line, (yyvsp[(6) - (8)].interm.intermTypedNode)))
...@@ -4381,12 +4437,12 @@ yyreduce: ...@@ -4381,12 +4437,12 @@ yyreduce:
} }
break; break;
case 190: case 193:
{ context->symbolTable.push(); ++context->loopNestingLevel; } { context->symbolTable.push(); ++context->loopNestingLevel; }
break; break;
case 191: case 194:
{ {
context->symbolTable.pop(); context->symbolTable.pop();
...@@ -4395,35 +4451,35 @@ yyreduce: ...@@ -4395,35 +4451,35 @@ yyreduce:
} }
break; break;
case 192: case 195:
{ {
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
} }
break; break;
case 193: case 196:
{ {
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
} }
break; break;
case 194: case 197:
{ {
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
} }
break; break;
case 195: case 198:
{ {
(yyval.interm.intermTypedNode) = 0; (yyval.interm.intermTypedNode) = 0;
} }
break; break;
case 196: case 199:
{ {
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (2)].interm.intermTypedNode); (yyval.interm.nodePair).node1 = (yyvsp[(1) - (2)].interm.intermTypedNode);
...@@ -4431,7 +4487,7 @@ yyreduce: ...@@ -4431,7 +4487,7 @@ yyreduce:
} }
break; break;
case 197: case 200:
{ {
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermTypedNode); (yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermTypedNode);
...@@ -4439,7 +4495,7 @@ yyreduce: ...@@ -4439,7 +4495,7 @@ yyreduce:
} }
break; break;
case 198: case 201:
{ {
if (context->loopNestingLevel <= 0) { if (context->loopNestingLevel <= 0) {
...@@ -4450,7 +4506,7 @@ yyreduce: ...@@ -4450,7 +4506,7 @@ yyreduce:
} }
break; break;
case 199: case 202:
{ {
if (context->loopNestingLevel <= 0) { if (context->loopNestingLevel <= 0) {
...@@ -4461,7 +4517,7 @@ yyreduce: ...@@ -4461,7 +4517,7 @@ yyreduce:
} }
break; break;
case 200: case 203:
{ {
(yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(1) - (2)].lex).line); (yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(1) - (2)].lex).line);
...@@ -4472,7 +4528,7 @@ yyreduce: ...@@ -4472,7 +4528,7 @@ yyreduce:
} }
break; break;
case 201: case 204:
{ {
(yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(2) - (3)].interm.intermTypedNode), (yyvsp[(1) - (3)].lex).line); (yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(2) - (3)].interm.intermTypedNode), (yyvsp[(1) - (3)].lex).line);
...@@ -4487,7 +4543,7 @@ yyreduce: ...@@ -4487,7 +4543,7 @@ yyreduce:
} }
break; break;
case 202: case 205:
{ {
FRAG_ONLY("discard", (yyvsp[(1) - (2)].lex).line); FRAG_ONLY("discard", (yyvsp[(1) - (2)].lex).line);
...@@ -4495,7 +4551,7 @@ yyreduce: ...@@ -4495,7 +4551,7 @@ yyreduce:
} }
break; break;
case 203: case 206:
{ {
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
...@@ -4503,7 +4559,7 @@ yyreduce: ...@@ -4503,7 +4559,7 @@ yyreduce:
} }
break; break;
case 204: case 207:
{ {
(yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermNode), (yyvsp[(2) - (2)].interm.intermNode), 0); (yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermNode), (yyvsp[(2) - (2)].interm.intermNode), 0);
...@@ -4511,21 +4567,21 @@ yyreduce: ...@@ -4511,21 +4567,21 @@ yyreduce:
} }
break; break;
case 205: case 208:
{ {
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
} }
break; break;
case 206: case 209:
{ {
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
} }
break; break;
case 207: case 210:
{ {
TFunction* function = (yyvsp[(1) - (1)].interm).function; TFunction* function = (yyvsp[(1) - (1)].interm).function;
...@@ -4614,7 +4670,7 @@ yyreduce: ...@@ -4614,7 +4670,7 @@ yyreduce:
} }
break; break;
case 208: case 211:
{ {
//?? Check that all paths return a value if return type != void ? //?? Check that all paths return a value if return type != void ?
......
...@@ -70,78 +70,81 @@ ...@@ -70,78 +70,81 @@
VEC2 = 286, VEC2 = 286,
VEC3 = 287, VEC3 = 287,
VEC4 = 288, VEC4 = 288,
MATRIX2 = 289, UVEC2 = 289,
MATRIX3 = 290, UVEC3 = 290,
MATRIX4 = 291, UVEC4 = 291,
IN_QUAL = 292, MATRIX2 = 292,
OUT_QUAL = 293, MATRIX3 = 293,
INOUT_QUAL = 294, MATRIX4 = 294,
UNIFORM = 295, IN_QUAL = 295,
VARYING = 296, OUT_QUAL = 296,
CENTROID = 297, INOUT_QUAL = 297,
FLAT = 298, UNIFORM = 298,
SMOOTH = 299, VARYING = 299,
STRUCT = 300, CENTROID = 300,
VOID_TYPE = 301, FLAT = 301,
WHILE = 302, SMOOTH = 302,
SAMPLER2D = 303, STRUCT = 303,
SAMPLERCUBE = 304, VOID_TYPE = 304,
SAMPLER_EXTERNAL_OES = 305, WHILE = 305,
SAMPLER2DRECT = 306, SAMPLER2D = 306,
SAMPLER3D = 307, SAMPLERCUBE = 307,
SAMPLER3DRECT = 308, SAMPLER_EXTERNAL_OES = 308,
SAMPLER2DSHADOW = 309, SAMPLER2DRECT = 309,
IDENTIFIER = 310, SAMPLER3D = 310,
TYPE_NAME = 311, SAMPLER3DRECT = 311,
FLOATCONSTANT = 312, SAMPLER2DSHADOW = 312,
INTCONSTANT = 313, IDENTIFIER = 313,
BOOLCONSTANT = 314, TYPE_NAME = 314,
FIELD_SELECTION = 315, FLOATCONSTANT = 315,
LEFT_OP = 316, INTCONSTANT = 316,
RIGHT_OP = 317, BOOLCONSTANT = 317,
INC_OP = 318, FIELD_SELECTION = 318,
DEC_OP = 319, LEFT_OP = 319,
LE_OP = 320, RIGHT_OP = 320,
GE_OP = 321, INC_OP = 321,
EQ_OP = 322, DEC_OP = 322,
NE_OP = 323, LE_OP = 323,
AND_OP = 324, GE_OP = 324,
OR_OP = 325, EQ_OP = 325,
XOR_OP = 326, NE_OP = 326,
MUL_ASSIGN = 327, AND_OP = 327,
DIV_ASSIGN = 328, OR_OP = 328,
ADD_ASSIGN = 329, XOR_OP = 329,
MOD_ASSIGN = 330, MUL_ASSIGN = 330,
LEFT_ASSIGN = 331, DIV_ASSIGN = 331,
RIGHT_ASSIGN = 332, ADD_ASSIGN = 332,
AND_ASSIGN = 333, MOD_ASSIGN = 333,
XOR_ASSIGN = 334, LEFT_ASSIGN = 334,
OR_ASSIGN = 335, RIGHT_ASSIGN = 335,
SUB_ASSIGN = 336, AND_ASSIGN = 336,
LEFT_PAREN = 337, XOR_ASSIGN = 337,
RIGHT_PAREN = 338, OR_ASSIGN = 338,
LEFT_BRACKET = 339, SUB_ASSIGN = 339,
RIGHT_BRACKET = 340, LEFT_PAREN = 340,
LEFT_BRACE = 341, RIGHT_PAREN = 341,
RIGHT_BRACE = 342, LEFT_BRACKET = 342,
DOT = 343, RIGHT_BRACKET = 343,
COMMA = 344, LEFT_BRACE = 344,
COLON = 345, RIGHT_BRACE = 345,
EQUAL = 346, DOT = 346,
SEMICOLON = 347, COMMA = 347,
BANG = 348, COLON = 348,
DASH = 349, EQUAL = 349,
TILDE = 350, SEMICOLON = 350,
PLUS = 351, BANG = 351,
STAR = 352, DASH = 352,
SLASH = 353, TILDE = 353,
PERCENT = 354, PLUS = 354,
LEFT_ANGLE = 355, STAR = 355,
RIGHT_ANGLE = 356, SLASH = 356,
VERTICAL_BAR = 357, PERCENT = 357,
CARET = 358, LEFT_ANGLE = 358,
AMPERSAND = 359, RIGHT_ANGLE = 359,
QUESTION = 360 VERTICAL_BAR = 360,
CARET = 361,
AMPERSAND = 362,
QUESTION = 363
}; };
#endif #endif
......
...@@ -224,6 +224,9 @@ bool TOutputTraverser::visitAggregate(Visit visit, TIntermAggregate* node) ...@@ -224,6 +224,9 @@ bool TOutputTraverser::visitAggregate(Visit visit, TIntermAggregate* node)
case EOpConstructIVec3: out << "Construct ivec3"; break; case EOpConstructIVec3: out << "Construct ivec3"; break;
case EOpConstructIVec4: out << "Construct ivec4"; break; case EOpConstructIVec4: out << "Construct ivec4"; break;
case EOpConstructUInt: out << "Construct uint"; break; case EOpConstructUInt: out << "Construct uint"; break;
case EOpConstructUVec2: out << "Construct uvec2"; break;
case EOpConstructUVec3: out << "Construct uvec3"; break;
case EOpConstructUVec4: out << "Construct uvec4"; break;
case EOpConstructMat2: out << "Construct mat2"; break; case EOpConstructMat2: out << "Construct mat2"; break;
case EOpConstructMat3: out << "Construct mat3"; break; case EOpConstructMat3: out << "Construct mat3"; break;
case EOpConstructMat4: out << "Construct mat4"; break; case EOpConstructMat4: out << "Construct mat4"; break;
......
...@@ -157,6 +157,9 @@ enum TOperator { ...@@ -157,6 +157,9 @@ enum TOperator {
EOpConstructIVec2, EOpConstructIVec2,
EOpConstructIVec3, EOpConstructIVec3,
EOpConstructIVec4, EOpConstructIVec4,
EOpConstructUVec2,
EOpConstructUVec3,
EOpConstructUVec4,
EOpConstructMat2, EOpConstructMat2,
EOpConstructMat3, EOpConstructMat3,
EOpConstructMat4, EOpConstructMat4,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment