Commit 2c1239f5 by Nicolas Capens

Add support for unsigned integer literals in the shading language.

Bug 19331817 Change-Id: I5a4a3f7aba4f758a3e8b4b5ff7c09e26bc9b7430 Reviewed-on: https://swiftshader-review.googlesource.com/2314Reviewed-by: 's avatarNicolas Capens <capn@google.com> Tested-by: 's avatarNicolas Capens <capn@google.com>
parent e4b1b1d8
...@@ -57,6 +57,7 @@ static int reserved_word(yyscan_t yyscanner); ...@@ -57,6 +57,7 @@ static int reserved_word(yyscan_t yyscanner);
static int ES2_reserved_ES3_keyword(TParseContext *context, int token); static int ES2_reserved_ES3_keyword(TParseContext *context, int token);
static int ES2_keyword_ES3_reserved(TParseContext *context, int token); static int ES2_keyword_ES3_reserved(TParseContext *context, int token);
static int ES2_identifier_ES3_keyword(TParseContext *context, int token); static int ES2_identifier_ES3_keyword(TParseContext *context, int token);
static int uint_constant(TParseContext *context);
%} %}
%option noyywrap nounput never-interactive %option noyywrap nounput never-interactive
...@@ -283,6 +284,9 @@ O [0-7] ...@@ -283,6 +284,9 @@ O [0-7]
0{O}+ { yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); } 0{O}+ { yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
0{D}+ { context->error(yylineno, "Invalid Octal number.", yytext); context->recover(); return 0;} 0{D}+ { context->error(yylineno, "Invalid Octal number.", yytext); context->recover(); return 0;}
{D}+ { yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); } {D}+ { yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
0[xX]{H}+[uU] { return uint_constant(context); }
0{O}+[uU] { return uint_constant(context); }
{D}+[uU] { return uint_constant(context); }
{D}+{E} { yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); } {D}+{E} { yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
{D}+"."{D}*({E})? { yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); } {D}+"."{D}*({E})? { yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
...@@ -429,6 +433,22 @@ int ES2_identifier_ES3_keyword(TParseContext *context, int token) ...@@ -429,6 +433,22 @@ int ES2_identifier_ES3_keyword(TParseContext *context, int token)
return token; return token;
} }
int uint_constant(TParseContext *context)
{
struct yyguts_t* yyg = (struct yyguts_t*) context->scanner;
yyscan_t yyscanner = (yyscan_t) context->scanner;
if (context->shaderVersion < 300)
{
context->error(yylineno, "Unsigned integers are unsupported prior to GLSL ES 3.00", yytext, "");
context->recover();
return 0;
}
yylval->lex.u = static_cast<unsigned int>(strtol(yytext, 0, 0));
return UINTCONSTANT;
}
void yyerror(TParseContext* context, const char* reason) { void yyerror(TParseContext* context, const char* reason) {
struct yyguts_t* yyg = (struct yyguts_t*) context->scanner; struct yyguts_t* yyg = (struct yyguts_t*) context->scanner;
......
...@@ -54,6 +54,7 @@ WHICH GENERATES THE GLSL ES PARSER (glslang_tab.cpp AND glslang_tab.h). ...@@ -54,6 +54,7 @@ WHICH GENERATES THE GLSL ES PARSER (glslang_tab.cpp AND glslang_tab.h).
TString *string; TString *string;
float f; float f;
int i; int i;
unsigned int u;
bool b; bool b;
}; };
TSymbol* symbol; TSymbol* symbol;
...@@ -130,7 +131,7 @@ extern void yyerror(TParseContext* context, const char* reason); ...@@ -130,7 +131,7 @@ extern void yyerror(TParseContext* context, const char* reason);
%token <lex> SAMPLER2D SAMPLERCUBE SAMPLER_EXTERNAL_OES SAMPLER2DRECT %token <lex> SAMPLER2D SAMPLERCUBE SAMPLER_EXTERNAL_OES SAMPLER2DRECT
%token <lex> SAMPLER3D SAMPLER3DRECT SAMPLER2DSHADOW %token <lex> SAMPLER3D SAMPLER3DRECT SAMPLER2DSHADOW
%token <lex> IDENTIFIER TYPE_NAME FLOATCONSTANT INTCONSTANT BOOLCONSTANT %token <lex> IDENTIFIER TYPE_NAME FLOATCONSTANT INTCONSTANT UINTCONSTANT BOOLCONSTANT
%token <lex> FIELD_SELECTION %token <lex> FIELD_SELECTION
%token <lex> LEFT_OP RIGHT_OP %token <lex> LEFT_OP RIGHT_OP
%token <lex> INC_OP DEC_OP LE_OP GE_OP EQ_OP NE_OP %token <lex> INC_OP DEC_OP LE_OP GE_OP EQ_OP NE_OP
...@@ -223,6 +224,11 @@ primary_expression ...@@ -223,6 +224,11 @@ primary_expression
unionArray->setIConst($1.i); unionArray->setIConst($1.i);
$$ = context->intermediate.addConstantUnion(unionArray, TType(EbtInt, EbpUndefined, EvqConst), $1.line); $$ = context->intermediate.addConstantUnion(unionArray, TType(EbtInt, EbpUndefined, EvqConst), $1.line);
} }
| UINTCONSTANT {
ConstantUnion *unionArray = new ConstantUnion[1];
unionArray->setUConst($1.u);
$$ = context->intermediate.addConstantUnion(unionArray, TType(EbtUInt, EbpUndefined, EvqConst), $1.line);
}
| FLOATCONSTANT { | FLOATCONSTANT {
ConstantUnion *unionArray = new ConstantUnion[1]; ConstantUnion *unionArray = new ConstantUnion[1];
unionArray->setFConst($1.f); unionArray->setFConst($1.f);
......
...@@ -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 218 #define YY_NUM_RULES 221
#define YY_END_OF_BUFFER 219 #define YY_END_OF_BUFFER 222
/* 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,92 +401,92 @@ struct yy_trans_info ...@@ -401,92 +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[767] = static yyconst flex_int16_t yy_accept[770] =
{ 0, { 0,
0, 0, 0, 0, 0, 0, 219, 217, 216, 216, 0, 0, 0, 0, 0, 0, 222, 220, 219, 219,
201, 207, 212, 196, 197, 205, 204, 193, 202, 200, 204, 210, 215, 199, 200, 208, 207, 196, 205, 203,
206, 165, 165, 194, 190, 208, 195, 209, 213, 161, 209, 165, 165, 197, 193, 211, 198, 212, 216, 161,
198, 199, 211, 161, 161, 161, 161, 161, 161, 161, 201, 202, 214, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 191, 210, 192, 203, 3, 4, 3, 161, 161, 161, 194, 213, 195, 206, 3, 4, 3,
215, 218, 214, 187, 173, 192, 181, 176, 171, 179, 218, 221, 217, 190, 176, 195, 184, 179, 174, 182,
169, 180, 170, 168, 2, 1, 172, 167, 163, 164, 172, 183, 173, 171, 2, 1, 175, 170, 163, 164,
0, 0, 165, 199, 191, 198, 188, 184, 186, 185, 0, 168, 0, 165, 202, 194, 201, 191, 187, 189,
189, 161, 177, 183, 161, 161, 161, 161, 161, 161, 188, 192, 161, 180, 186, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 17, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 17, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
20, 161, 161, 28, 161, 161, 161, 161, 161, 161, 161, 20, 161, 161, 28, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 178, 182, 5, 214, 161, 161, 161, 161, 161, 161, 161, 181, 185, 5,
0, 1, 167, 0, 0, 166, 162, 174, 175, 161, 217, 0, 1, 170, 0, 167, 0, 169, 162, 177,
118, 161, 161, 161, 161, 161, 161, 161, 161, 161, 178, 161, 118, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 18, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 18, 161, 161, 161,
161, 161, 161, 161, 161, 32, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 32, 161, 161,
161, 161, 161, 161, 161, 161, 29, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 29, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 0, 168, 0, 167, 161, 161, 161, 35, 161, 161, 161, 161, 0, 171, 0, 170, 166, 161, 161,
161, 23, 158, 161, 161, 161, 161, 161, 161, 161, 161, 35, 161, 161, 23, 158, 161, 161, 161, 161,
161, 161, 161, 21, 121, 161, 161, 161, 161, 26, 161, 161, 161, 161, 161, 161, 21, 121, 161, 161,
161, 161, 126, 138, 161, 161, 161, 161, 161, 161, 161, 161, 26, 161, 161, 126, 138, 161, 161, 161,
161, 161, 161, 161, 161, 135, 9, 40, 41, 42, 161, 161, 161, 161, 161, 161, 161, 161, 135, 9,
40, 41, 42, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 124, 36, 161,
161, 33, 161, 161, 161, 161, 161, 161, 161, 43,
44, 45, 34, 161, 161, 161, 161, 161, 161, 15,
52, 53, 54, 161, 119, 161, 161, 12, 161, 161,
161, 161, 147, 148, 149, 161, 37, 161, 139, 31,
150, 151, 152, 7, 144, 145, 146, 161, 161, 161,
30, 142, 161, 161, 161, 46, 47, 48, 161, 161,
161, 161, 161, 161, 161, 69, 161, 161, 161, 161,
161, 161, 161, 136, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 120, 161, 161, 160, 49,
50, 51, 161, 161, 19, 161, 74, 161, 161, 161,
161, 72, 161, 161, 161, 137, 132, 75, 161, 161,
161, 161, 161, 161, 127, 161, 161, 161, 161, 161,
161, 161, 143, 125, 161, 161, 130, 161, 161, 161,
39, 70, 157, 27, 131, 61, 161, 141, 22, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 124, 36, 161, 161, 33, 161, 161, 161, 161, 24, 38, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 43, 44, 45, 34, 161, 76, 77, 78, 161, 161, 161, 161, 161, 8,
161, 161, 161, 161, 161, 161, 15, 52, 53, 54,
161, 119, 161, 161, 12, 161, 161, 161, 161, 147,
148, 149, 161, 37, 161, 139, 31, 150, 151, 152,
7, 144, 145, 146, 161, 161, 161, 30, 142, 161,
161, 161, 46, 47, 48, 161, 161, 161, 161, 161,
161, 161, 69, 161, 161, 161, 161, 161, 161, 161,
136, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 120, 161, 161, 160, 49, 50, 51, 161,
161, 19, 161, 74, 161, 161, 161, 161, 72, 161,
161, 161, 137, 132, 75, 161, 161, 161, 161, 161,
161, 127, 161, 161, 161, 161, 161, 161, 161, 143,
125, 161, 161, 130, 161, 161, 161, 39, 70, 157,
27, 131, 61, 161, 141, 22, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
24, 38, 161, 161, 161, 161, 161, 161, 76, 77,
78, 161, 161, 161, 161, 161, 8, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 122, 161,
161, 161, 161, 161, 13, 161, 161, 14, 161, 161,
161, 161, 25, 62, 16, 133, 80, 81, 82, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 128, 161, 161, 161, 64, 66, 63, 161, 161,
161, 161, 161, 161, 161, 123, 84, 85, 86, 161,
161, 140, 161, 129, 161, 161, 11, 161, 161, 161,
161, 161, 161, 161, 161, 161, 79, 134, 6, 161,
161, 161, 159, 161, 73, 10, 153, 55, 58, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 122, 161, 161, 161, 161, 161, 13, 161, 161,
65, 161, 161, 161, 161, 83, 161, 161, 161, 161, 14, 161, 161, 161, 161, 25, 62, 16, 133, 80,
161, 103, 161, 161, 161, 161, 161, 161, 161, 161, 81, 82, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 71, 161, 161, 161, 87, 105, 161, 161, 161, 161, 128, 161, 161, 161, 64, 66,
161, 161, 67, 161, 161, 161, 161, 161, 161, 161, 63, 161, 161, 161, 161, 161, 161, 161, 123, 84,
98, 161, 161, 161, 161, 161, 161, 161, 112, 161, 85, 86, 161, 161, 140, 161, 129, 161, 161, 11,
161, 161, 161, 56, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 79,
161, 161, 161, 161, 99, 88, 161, 89, 161, 161, 134, 6, 161, 161, 161, 159, 161, 73, 10, 153,
113, 161, 161, 161, 161, 161, 161, 161, 161, 161, 55, 58, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 100, 161, 114, 161, 161, 90,
91, 161, 94, 161, 95, 161, 161, 161, 161, 68, 161, 161, 161, 65, 161, 161, 161, 161, 83, 161,
161, 161, 161, 161, 103, 161, 161, 161, 161, 161,
161, 161, 161, 155, 161, 59, 109, 161, 92, 93, 161, 161, 161, 161, 161, 161, 161, 71, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 107, 110, 161, 87, 105, 161, 161, 67, 161, 161, 161, 161,
101, 161, 161, 161, 161, 161, 161, 161, 108, 111, 161, 161, 161, 98, 161, 161, 161, 161, 161, 161,
161, 161, 104, 161, 161, 154, 161, 161, 60, 161, 161, 112, 161, 161, 161, 161, 56, 161, 161, 161,
106, 161, 161, 161, 161, 161, 115, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 99, 88, 161,
161, 161, 116, 161, 161, 161, 117, 96, 97, 161, 89, 161, 161, 113, 161, 161, 161, 161, 161, 161,
161, 57, 161, 156, 102, 0 161, 161, 161, 161, 161, 161, 161, 100, 161, 114,
161, 161, 90, 91, 161, 94, 161, 95, 161, 161,
161, 161, 68, 161, 161, 161, 155, 161, 59, 109,
161, 92, 93, 161, 161, 161, 161, 161, 161, 161,
161, 107, 110, 101, 161, 161, 161, 161, 161, 161,
161, 108, 111, 161, 161, 104, 161, 161, 154, 161,
161, 60, 161, 106, 161, 161, 161, 161, 161, 115,
161, 161, 161, 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] =
...@@ -499,12 +499,12 @@ static yyconst flex_int32_t yy_ec[256] = ...@@ -499,12 +499,12 @@ static yyconst flex_int32_t yy_ec[256] =
18, 19, 20, 20, 20, 21, 21, 22, 23, 24, 18, 19, 20, 20, 20, 21, 21, 22, 23, 24,
25, 26, 27, 1, 28, 29, 30, 31, 32, 33, 25, 26, 27, 1, 28, 29, 30, 31, 32, 33,
34, 34, 34, 34, 34, 34, 35, 34, 36, 34, 34, 34, 34, 34, 34, 34, 35, 34, 36, 34,
34, 37, 38, 34, 34, 34, 34, 39, 34, 34, 34, 37, 38, 34, 39, 34, 34, 40, 34, 34,
40, 1, 41, 42, 43, 1, 44, 45, 46, 47, 41, 1, 42, 43, 44, 1, 45, 46, 47, 48,
48, 49, 50, 51, 52, 34, 53, 54, 55, 56, 49, 50, 51, 52, 53, 34, 54, 55, 56, 57,
57, 58, 34, 59, 60, 61, 62, 63, 64, 65, 58, 59, 34, 60, 61, 62, 63, 64, 65, 66,
66, 67, 68, 69, 70, 71, 1, 1, 1, 1, 67, 68, 69, 70, 71, 72, 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, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
...@@ -521,318 +521,318 @@ static yyconst flex_int32_t yy_ec[256] = ...@@ -521,318 +521,318 @@ static yyconst flex_int32_t yy_ec[256] =
1, 1, 1, 1, 1 1, 1, 1, 1, 1
} ; } ;
static yyconst flex_int32_t yy_meta[72] = static yyconst flex_int32_t yy_meta[73] =
{ 0, { 0,
1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3,
3, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 3, 3, 3,
3, 3, 3, 4, 4, 4, 4, 4, 4, 1, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4,
1, 1, 4, 3, 3, 3, 3, 3, 3, 4, 1, 1, 1, 4, 3, 3, 3, 3, 3, 3,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
1 1, 1
} ; } ;
static yyconst flex_int16_t yy_base[772] = static yyconst flex_int16_t yy_base[775] =
{ 0, { 0,
0, 0, 69, 70, 79, 0, 996, 997, 997, 997, 0, 0, 70, 71, 80, 0, 990, 991, 991, 991,
970, 49, 145, 997, 997, 969, 142, 997, 141, 139, 964, 50, 147, 991, 991, 963, 144, 991, 143, 141,
154, 167, 176, 967, 997, 176, 967, 51, 997, 0, 156, 169, 223, 961, 991, 169, 961, 52, 991, 0,
997, 997, 136, 116, 112, 159, 157, 156, 173, 934, 991, 991, 152, 117, 138, 118, 157, 148, 167, 927,
174, 179, 933, 175, 189, 927, 185, 940, 197, 203, 147, 173, 926, 126, 159, 920, 188, 933, 201, 198,
204, 209, 113, 997, 186, 997, 997, 997, 997, 973, 214, 211, 147, 991, 158, 991, 991, 991, 991, 967,
997, 997, 0, 997, 997, 997, 997, 997, 997, 997, 991, 991, 0, 991, 991, 991, 991, 991, 991, 991,
997, 997, 997, 255, 997, 0, 997, 262, 280, 298, 991, 991, 991, 264, 991, 0, 991, 272, 234, 309,
317, 0, 332, 997, 997, 997, 961, 997, 997, 997, 291, 991, 0, 0, 991, 991, 991, 955, 991, 991,
960, 0, 997, 997, 923, 928, 227, 925, 933, 932, 991, 954, 0, 991, 991, 916, 921, 187, 918, 926,
919, 922, 933, 234, 927, 915, 912, 925, 912, 909, 925, 912, 915, 926, 242, 920, 908, 905, 918, 905,
909, 915, 237, 206, 909, 919, 905, 911, 914, 915, 902, 902, 908, 158, 257, 902, 912, 898, 904, 907,
0, 907, 917, 300, 916, 911, 109, 897, 910, 901, 908, 0, 900, 910, 276, 909, 904, 162, 890, 903,
234, 894, 261, 906, 908, 264, 897, 894, 883, 892, 894, 217, 887, 258, 899, 901, 271, 890, 887, 876,
262, 281, 896, 892, 894, 883, 886, 249, 271, 315, 885, 291, 291, 889, 885, 887, 876, 879, 286, 286,
895, 883, 895, 150, 888, 887, 997, 997, 997, 0, 299, 888, 876, 888, 206, 881, 880, 991, 991, 991,
356, 0, 366, 384, 391, 400, 0, 997, 997, 886, 0, 344, 0, 358, 376, 991, 383, 393, 256, 991,
0, 882, 877, 881, 890, 887, 294, 871, 871, 882, 991, 879, 0, 875, 870, 874, 883, 880, 304, 864,
874, 280, 884, 881, 881, 879, 876, 868, 874, 861, 864, 875, 867, 284, 877, 874, 874, 872, 869, 861,
859, 871, 857, 873, 0, 870, 858, 865, 862, 866, 867, 854, 852, 864, 850, 866, 0, 863, 851, 858,
867, 860, 857, 846, 845, 858, 861, 849, 857, 852, 855, 859, 860, 853, 850, 839, 838, 851, 854, 842,
843, 371, 848, 851, 842, 849, 838, 842, 833, 847, 850, 845, 836, 350, 841, 844, 835, 842, 831, 835,
846, 837, 843, 299, 827, 830, 828, 838, 828, 823, 826, 840, 839, 830, 836, 322, 820, 823, 821, 831,
821, 823, 833, 819, 821, 818, 829, 828, 831, 813, 821, 816, 814, 816, 826, 812, 814, 811, 822, 821,
313, 821, 817, 815, 824, 803, 374, 821, 823, 812, 824, 806, 299, 814, 810, 808, 817, 796, 364, 814,
804, 407, 414, 421, 428, 801, 811, 810, 0, 808, 816, 805, 797, 400, 407, 414, 421, 991, 794, 804,
433, 0, 0, 801, 799, 799, 800, 795, 803, 792, 803, 0, 801, 426, 0, 0, 794, 792, 792, 793,
809, 798, 436, 0, 0, 792, 802, 801, 801, 0, 788, 796, 785, 802, 791, 429, 0, 0, 785, 795,
786, 439, 0, 0, 788, 442, 795, 796, 787, 781, 794, 794, 0, 779, 432, 0, 0, 781, 435, 788,
780, 781, 780, 780, 445, 0, 0, 0, 0, 0, 789, 780, 774, 773, 774, 773, 773, 438, 0, 0,
775, 776, 781, 775, 771, 784, 779, 779, 777, 776, 0, 0, 0, 768, 769, 774, 768, 764, 777, 772,
770, 764, 766, 765, 769, 761, 764, 759, 767, 772, 772, 770, 769, 763, 757, 759, 758, 762, 754, 757,
760, 757, 769, 760, 0, 0, 766, 762, 0, 754, 752, 760, 765, 753, 750, 762, 753, 0, 0, 759,
754, 759, 750, 757, 448, 754, 0, 0, 0, 0, 755, 0, 747, 747, 752, 743, 750, 441, 747, 0,
744, 756, 755, 754, 755, 755, 0, 0, 0, 0, 0, 0, 0, 737, 749, 748, 747, 748, 748, 0,
742, 0, 750, 741, 0, 740, 741, 735, 745, 0, 0, 0, 0, 735, 0, 743, 734, 0, 733, 734,
0, 0, 736, 0, 732, 0, 0, 0, 0, 0, 728, 738, 0, 0, 0, 729, 0, 725, 0, 0,
0, 0, 0, 0, 742, 452, 741, 0, 0, 739, 0, 0, 0, 0, 0, 0, 0, 735, 445, 734,
735, 732, 0, 0, 0, 730, 726, 731, 722, 720, 0, 0, 732, 728, 725, 0, 0, 0, 723, 719,
733, 718, 0, 718, 731, 720, 716, 722, 717, 724, 724, 715, 713, 726, 711, 0, 711, 724, 713, 709,
0, 722, 719, 723, 707, 705, 708, 714, 720, 715, 715, 710, 717, 0, 715, 712, 716, 700, 698, 701,
714, 702, 0, 704, 705, 0, 0, 0, 0, 702, 707, 713, 708, 707, 695, 0, 697, 698, 0, 0,
705, 0, 699, 0, 712, 692, 701, 696, 0, 689, 0, 0, 695, 698, 0, 692, 0, 705, 685, 694,
689, 702, 0, 704, 0, 455, 716, 715, 714, 682, 689, 0, 682, 682, 695, 0, 697, 0, 448, 710,
681, 0, 698, 697, 692, 681, 694, 681, 678, 0, 709, 708, 675, 674, 0, 691, 690, 685, 674, 687,
0, 683, 682, 0, 679, 686, 685, 0, 671, 0, 674, 671, 0, 0, 676, 675, 0, 672, 679, 678,
0, 0, 0, 668, 0, 0, 667, 678, 458, 671, 0, 664, 0, 0, 0, 0, 661, 0, 0, 660,
677, 676, 673, 668, 665, 658, 658, 671, 656, 668, 671, 451, 664, 670, 669, 666, 661, 658, 651, 651,
0, 0, 661, 683, 682, 681, 649, 648, 341, 451, 664, 649, 661, 0, 0, 654, 677, 676, 675, 642,
0, 660, 663, 661, 650, 646, 0, 658, 655, 654, 641, 444, 445, 0, 653, 656, 654, 643, 639, 0,
644, 643, 633, 650, 636, 474, 644, 647, 0, 663, 651, 648, 647, 637, 636, 626, 643, 629, 468, 637,
662, 661, 629, 628, 0, 642, 629, 0, 639, 632, 640, 0, 657, 656, 655, 622, 621, 0, 635, 622,
633, 636, 0, 0, 0, 0, 655, 654, 0, 632, 0, 632, 625, 626, 629, 0, 0, 0, 0, 649,
635, 620, 627, 618, 625, 626, 626, 625, 611, 478, 648, 0, 625, 628, 613, 620, 611, 618, 619, 619,
623, 0, 624, 613, 612, 0, 0, 0, 636, 635, 618, 604, 472, 616, 0, 617, 606, 605, 0, 0,
634, 602, 601, 597, 605, 0, 632, 631, 0, 609, 0, 630, 629, 628, 595, 594, 590, 598, 0, 626,
612, 0, 480, 0, 590, 599, 0, 595, 594, 603, 625, 0, 602, 605, 0, 474, 0, 583, 592, 0,
603, 591, 605, 589, 603, 598, 0, 0, 0, 614, 588, 587, 596, 596, 584, 598, 582, 596, 591, 0,
613, 581, 0, 581, 0, 0, 455, 463, 604, 591, 0, 0, 608, 607, 574, 0, 574, 0, 0, 464,
594, 577, 589, 577, 576, 585, 585, 601, 600, 568, 458, 598, 584, 587, 570, 582, 570, 569, 578, 578,
0, 568, 569, 568, 578, 0, 581, 577, 579, 575, 595, 594, 561, 0, 561, 562, 561, 571, 0, 574,
562, 592, 203, 570, 566, 558, 565, 577, 566, 562, 570, 572, 568, 555, 586, 350, 563, 559, 551, 558,
564, 562, 562, 561, 0, 549, 548, 558, 0, 577, 571, 559, 555, 557, 555, 555, 554, 0, 542, 541,
208, 555, 0, 559, 558, 542, 534, 542, 532, 540, 551, 0, 571, 469, 548, 0, 552, 551, 535, 527,
0, 537, 557, 546, 544, 529, 532, 546, 561, 542, 535, 525, 533, 0, 530, 551, 539, 537, 522, 525,
543, 540, 537, 0, 525, 539, 538, 522, 521, 541, 539, 555, 535, 536, 533, 530, 0, 518, 532, 531,
530, 528, 510, 509, 0, 536, 509, 534, 507, 511, 515, 514, 535, 523, 521, 503, 502, 0, 530, 502,
541, 522, 519, 518, 521, 517, 504, 501, 514, 499, 528, 500, 504, 535, 515, 512, 511, 514, 510, 497,
500, 502, 491, 490, 0, 496, 526, 507, 504, 0, 494, 507, 492, 493, 495, 484, 483, 0, 489, 520,
0, 500, 0, 499, 0, 505, 489, 486, 487, 0, 500, 497, 0, 0, 493, 0, 492, 0, 498, 482,
479, 487, 484, 504, 484, 0, 0, 496, 0, 0, 479, 480, 0, 472, 480, 477, 498, 477, 0, 0,
495, 479, 476, 477, 491, 490, 467, 473, 0, 0, 489, 0, 0, 488, 472, 469, 470, 484, 483, 460,
493, 466, 485, 477, 463, 472, 459, 465, 0, 0, 466, 0, 0, 487, 459, 478, 470, 456, 465, 452,
476, 475, 0, 475, 457, 0, 439, 458, 0, 463, 456, 0, 0, 457, 451, 0, 449, 435, 0, 412,
0, 442, 423, 421, 411, 369, 0, 350, 363, 312, 431, 0, 435, 0, 425, 348, 347, 322, 326, 0,
301, 280, 0, 296, 252, 230, 0, 0, 0, 208, 322, 323, 256, 252, 249, 0, 229, 210, 214, 0,
158, 0, 126, 0, 0, 997, 509, 511, 513, 517, 0, 0, 158, 132, 0, 115, 0, 0, 991, 506,
171 508, 510, 514, 163
} ; } ;
static yyconst flex_int16_t yy_def[772] = static yyconst flex_int16_t yy_def[775] =
{ 0, { 0,
766, 1, 767, 767, 766, 5, 766, 766, 766, 766, 769, 1, 770, 770, 769, 5, 769, 769, 769, 769,
766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
766, 766, 766, 766, 766, 766, 766, 766, 766, 768, 769, 769, 769, 769, 769, 769, 769, 769, 769, 771,
766, 766, 766, 768, 768, 768, 768, 768, 768, 768, 769, 769, 769, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 766, 766, 766, 766, 766, 766, 766, 771, 771, 771, 769, 769, 769, 769, 769, 769, 769,
766, 766, 769, 766, 766, 766, 766, 766, 766, 766, 769, 769, 772, 769, 769, 769, 769, 769, 769, 769,
766, 766, 766, 766, 766, 770, 766, 766, 766, 766, 769, 769, 769, 769, 769, 773, 769, 769, 22, 769,
766, 771, 766, 766, 766, 766, 766, 766, 766, 766, 769, 769, 774, 23, 769, 769, 769, 769, 769, 769,
766, 768, 766, 766, 768, 768, 768, 768, 768, 768, 769, 769, 771, 769, 769, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 766, 766, 766, 769, 771, 771, 771, 771, 771, 771, 771, 769, 769, 769,
766, 770, 766, 766, 766, 766, 771, 766, 766, 768, 772, 769, 773, 769, 769, 769, 769, 769, 774, 769,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 769, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 766, 766, 766, 766, 768, 768, 768, 768, 768, 771, 771, 771, 769, 769, 769, 769, 769, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
768, 768, 768, 768, 768, 0, 766, 766, 766, 766, 771, 771, 771, 771, 771, 771, 771, 771, 0, 769,
766 769, 769, 769, 769
} ; } ;
static yyconst flex_int16_t yy_nxt[1069] = static yyconst flex_int16_t yy_nxt[1064] =
{ 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,
23, 24, 25, 26, 27, 28, 29, 30, 30, 30, 23, 24, 25, 26, 27, 28, 29, 30, 30, 30,
30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
32, 33, 30, 34, 35, 36, 37, 38, 39, 40, 31, 32, 33, 30, 34, 35, 36, 37, 38, 39,
41, 42, 30, 43, 44, 45, 46, 47, 48, 49, 40, 41, 42, 30, 43, 44, 45, 46, 47, 48,
50, 51, 52, 53, 30, 30, 30, 54, 55, 56, 49, 50, 51, 52, 53, 30, 30, 30, 54, 55,
57, 59, 59, 65, 66, 90, 91, 60, 60, 8, 56, 57, 59, 59, 65, 66, 91, 92, 60, 60,
61, 62, 8, 8, 8, 8, 8, 8, 8, 8, 8, 61, 62, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 63, 63, 63, 63, 8, 8, 8, 8, 8, 8, 8, 63, 63, 63,
63, 63, 63, 63, 63, 63, 63, 63, 8, 8,
8, 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, 63, 63, 63,
63, 63, 63, 63, 63, 63, 8, 8, 8, 8, 8, 8, 8, 63, 63, 63, 63, 63, 63, 63,
67, 70, 72, 74, 74, 74, 74, 74, 74, 74, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
93, 95, 75, 155, 210, 73, 71, 76, 98, 68, 63, 63, 63, 63, 63, 63, 63, 63, 8, 8,
99, 156, 211, 167, 100, 96, 97, 94, 77, 78, 8, 8, 67, 70, 72, 74, 74, 74, 74, 74,
85, 79, 79, 79, 79, 79, 79, 80, 78, 765, 74, 74, 102, 96, 75, 169, 103, 73, 71, 76,
83, 83, 83, 83, 83, 83, 83, 86, 81, 87, 129, 68, 104, 86, 130, 105, 94, 97, 98, 768,
77, 78, 158, 79, 79, 79, 79, 79, 79, 80,
88, 248, 101, 249, 105, 82, 102, 81, 106, 109, 87, 119, 88, 89, 95, 99, 767, 100, 156, 120,
157, 110, 103, 107, 81, 104, 112, 118, 128, 108,
111, 764, 129, 81, 113, 119, 114, 121, 133, 115, 81, 101, 110, 131, 111, 106, 157, 82, 83, 107,
122, 82, 130, 123, 124, 116, 120, 643, 125, 644, 121, 113, 193, 112, 108, 766, 132, 81, 212, 114,
137, 126, 660, 134, 661, 131, 135, 138, 139, 193, 109, 115, 122, 194, 116, 123, 213, 159, 124, 125,
144, 140, 152, 145, 158, 148, 153, 141, 142, 149, 117, 82, 134, 126, 83, 78, 127, 84, 84, 84,
143, 146, 194, 150, 763, 154, 151, 762, 147, 74, 84, 84, 84, 84, 174, 138, 145, 135, 175, 146,
74, 74, 74, 74, 74, 74, 163, 163, 163, 163, 136, 765, 139, 140, 81, 153, 141, 147, 250, 154,
163, 163, 163, 172, 180, 215, 161, 173, 181, 182, 251, 82, 142, 143, 148, 144, 149, 764, 155, 217,
191, 216, 78, 164, 79, 79, 79, 79, 79, 79, 150, 81, 166, 769, 151, 218, 763, 152, 74, 74,
74, 74, 74, 74, 74, 82, 164, 164, 164, 164,
80, 192, 161, 239, 240, 230, 218, 223, 761, 164, 164, 164, 164, 182, 258, 162, 166, 183, 184, 769,
78, 81, 80, 80, 80, 80, 80, 80, 80, 219,
231, 220, 241, 224, 225, 232, 165, 81, 165, 81, 167, 195, 167, 165, 220, 168, 168, 168, 168, 168,
242, 166, 166, 166, 166, 166, 166, 166, 233, 268, 168, 168, 162, 762, 196, 225, 761, 221, 258, 222,
269, 262, 760, 759, 78, 81, 83, 83, 83, 83, 165, 78, 760, 80, 80, 80, 80, 80, 80, 80,
83, 83, 83, 203, 263, 312, 204, 205, 243, 313, 205, 226, 227, 206, 207, 232, 234, 208, 243, 209,
206, 330, 207, 81, 758, 252, 244, 252, 532, 331, 81, 241, 242, 245, 271, 272, 244, 82, 333, 235,
253, 253, 253, 253, 253, 253, 253, 757, 533, 81, 233, 246, 265, 254, 759, 254, 334, 81, 255, 255,
163, 163, 163, 163, 163, 163, 163, 298, 299, 300, 255, 255, 255, 255, 255, 266, 301, 302, 303, 758,
337, 338, 339, 254, 756, 254, 755, 164, 255, 255, 757, 82, 164, 164, 164, 164, 164, 164, 164, 315,
340, 341, 342, 316, 646, 256, 647, 256, 756, 165,
255, 255, 255, 255, 255, 166, 166, 166, 166, 166, 257, 257, 257, 257, 257, 257, 257, 168, 168, 168,
166, 166, 754, 164, 166, 166, 166, 166, 166, 166,
166, 253, 253, 253, 253, 253, 253, 253, 253, 253, 168, 168, 168, 168, 755, 754, 165, 168, 168, 168,
253, 253, 253, 253, 253, 255, 255, 255, 255, 255, 168, 168, 168, 168, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 348, 255, 255, 255, 255, 255, 255, 255, 255, 257, 257,
349, 350, 360, 361, 362, 368, 369, 370, 372, 373, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
374, 383, 384, 385, 417, 418, 419, 437, 438, 439, 257, 257, 351, 352, 353, 363, 364, 365, 371, 372,
484, 485, 486, 510, 511, 512, 753, 752, 534, 751, 373, 375, 376, 377, 386, 387, 388, 420, 421, 422,
440, 441, 616, 487, 488, 750, 513, 514, 535, 549, 440, 441, 442, 487, 488, 489, 513, 514, 515, 753,
550, 551, 617, 580, 581, 598, 599, 618, 749, 619, 752, 535, 537, 443, 444, 751, 490, 491, 750, 516,
517, 536, 538, 552, 553, 554, 749, 583, 584, 601,
620, 748, 552, 553, 747, 554, 582, 746, 600, 58, 602, 619, 621, 748, 622, 623, 555, 556, 747, 557,
58, 58, 58, 92, 92, 160, 160, 162, 745, 162,
162, 744, 743, 742, 741, 740, 739, 738, 737, 736, 585, 620, 603, 663, 746, 664, 58, 58, 58, 58,
735, 734, 733, 732, 731, 730, 729, 728, 727, 726, 93, 93, 161, 161, 163, 745, 163, 163, 744, 743,
725, 724, 723, 722, 721, 720, 719, 718, 717, 716, 742, 741, 740, 739, 738, 737, 736, 735, 734, 733,
715, 714, 713, 712, 711, 710, 709, 708, 707, 706, 732, 731, 730, 729, 728, 727, 726, 725, 724, 723,
705, 704, 703, 702, 701, 700, 699, 698, 697, 696, 722, 721, 720, 719, 718, 717, 716, 715, 714, 713,
695, 694, 693, 692, 691, 690, 689, 688, 687, 686, 712, 711, 710, 709, 708, 707, 706, 705, 704, 703,
685, 684, 683, 682, 681, 680, 679, 678, 677, 676, 702, 701, 700, 699, 698, 697, 696, 695, 694, 693,
675, 674, 673, 672, 671, 670, 669, 668, 667, 666, 692, 691, 690, 689, 688, 687, 686, 685, 684, 683,
682, 681, 680, 679, 678, 677, 676, 675, 674, 673,
665, 664, 663, 662, 659, 658, 657, 656, 655, 654, 672, 671, 670, 669, 668, 667, 666, 665, 662, 661,
653, 652, 651, 650, 649, 648, 647, 646, 645, 642,
641, 640, 639, 638, 637, 636, 635, 634, 633, 632, 660, 659, 658, 657, 656, 655, 654, 653, 652, 651,
631, 630, 629, 628, 627, 626, 625, 624, 623, 622, 650, 649, 648, 645, 644, 643, 642, 641, 640, 639,
621, 615, 614, 613, 612, 611, 610, 609, 608, 607, 638, 637, 636, 635, 634, 633, 632, 631, 630, 629,
606, 605, 604, 603, 602, 601, 597, 596, 595, 594, 628, 627, 626, 625, 624, 618, 617, 616, 615, 614,
593, 592, 591, 590, 589, 588, 587, 586, 585, 584, 613, 612, 611, 610, 609, 608, 607, 606, 605, 604,
583, 579, 578, 577, 576, 575, 574, 573, 572, 571, 600, 599, 598, 597, 596, 595, 594, 593, 592, 591,
570, 569, 568, 567, 566, 565, 564, 563, 562, 561, 590, 589, 588, 587, 586, 582, 581, 580, 579, 578,
560, 559, 558, 557, 556, 555, 548, 547, 546, 545, 577, 576, 575, 574, 573, 572, 571, 570, 569, 568,
567, 566, 565, 564, 563, 562, 561, 560, 559, 558,
544, 543, 542, 541, 540, 539, 538, 537, 536, 531, 551, 550, 549, 548, 547, 546, 545, 544, 543, 542,
530, 529, 528, 527, 526, 525, 524, 523, 522, 521,
520, 519, 518, 517, 516, 515, 509, 508, 507, 506, 541, 540, 539, 534, 533, 532, 531, 530, 529, 528,
505, 504, 503, 502, 501, 500, 499, 498, 497, 496, 527, 526, 525, 524, 523, 522, 521, 520, 519, 518,
495, 494, 493, 492, 491, 490, 489, 483, 482, 481, 512, 511, 510, 509, 508, 507, 506, 505, 504, 503,
480, 479, 478, 477, 476, 475, 474, 473, 472, 471, 502, 501, 500, 499, 498, 497, 496, 495, 494, 493,
470, 469, 468, 467, 466, 465, 464, 463, 462, 461, 492, 486, 485, 484, 483, 482, 481, 480, 479, 478,
460, 459, 458, 457, 456, 455, 454, 453, 452, 451, 477, 476, 475, 474, 473, 472, 471, 470, 469, 468,
450, 449, 448, 447, 446, 445, 444, 443, 442, 436, 467, 466, 465, 464, 463, 462, 461, 460, 459, 458,
435, 434, 433, 432, 431, 430, 429, 428, 427, 426, 457, 456, 455, 454, 453, 452, 451, 450, 449, 448,
447, 446, 445, 439, 438, 437, 436, 435, 434, 433,
425, 424, 423, 422, 421, 420, 416, 415, 414, 413, 432, 431, 430, 429, 428, 427, 426, 425, 424, 423,
412, 411, 410, 409, 408, 407, 406, 405, 404, 403,
402, 401, 400, 399, 398, 397, 396, 395, 394, 393, 419, 418, 417, 416, 415, 414, 413, 412, 411, 410,
392, 391, 390, 389, 388, 387, 386, 382, 381, 380, 409, 408, 407, 406, 405, 404, 403, 402, 401, 400,
379, 378, 377, 376, 375, 371, 367, 366, 365, 364, 399, 398, 397, 396, 395, 394, 393, 392, 391, 390,
363, 359, 358, 357, 356, 355, 354, 353, 352, 351, 389, 385, 384, 383, 382, 381, 380, 379, 378, 374,
347, 346, 345, 344, 343, 342, 341, 340, 336, 335, 370, 369, 368, 367, 366, 362, 361, 360, 359, 358,
334, 333, 332, 329, 328, 327, 326, 325, 324, 323, 357, 356, 355, 354, 350, 349, 348, 347, 346, 345,
322, 321, 320, 319, 318, 317, 316, 315, 314, 311, 344, 343, 339, 338, 337, 336, 335, 332, 331, 330,
310, 309, 308, 307, 306, 305, 304, 303, 302, 301, 329, 328, 327, 326, 325, 324, 323, 322, 321, 320,
319, 318, 317, 314, 313, 312, 311, 310, 309, 308,
297, 296, 295, 294, 293, 292, 291, 290, 289, 288, 307, 306, 305, 304, 300, 299, 298, 297, 296, 295,
287, 286, 285, 284, 283, 282, 281, 280, 279, 278,
277, 276, 275, 274, 273, 272, 271, 270, 267, 266, 294, 293, 292, 291, 290, 289, 288, 287, 286, 285,
265, 264, 261, 260, 259, 258, 257, 256, 251, 250, 284, 283, 282, 281, 280, 279, 278, 277, 276, 275,
247, 246, 245, 238, 237, 236, 235, 234, 229, 228, 274, 273, 270, 269, 268, 267, 264, 263, 262, 261,
227, 226, 222, 221, 217, 214, 213, 212, 209, 208, 260, 259, 253, 252, 249, 248, 247, 240, 239, 238,
202, 201, 200, 199, 198, 197, 196, 195, 190, 189, 237, 236, 231, 230, 229, 228, 224, 223, 219, 216,
188, 187, 186, 185, 184, 183, 179, 178, 177, 176, 215, 214, 211, 210, 204, 203, 202, 201, 200, 199,
175, 174, 171, 170, 169, 168, 159, 136, 132, 127, 198, 197, 192, 191, 190, 189, 188, 187, 186, 185,
117, 89, 84, 69, 64, 766, 7, 766, 766, 766, 181, 180, 179, 178, 177, 176, 173, 172, 171, 170,
160, 137, 133, 128, 118, 90, 85, 69, 64, 769,
766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 7, 769, 769, 769, 769, 769, 769, 769, 769, 769,
766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
766, 766, 766, 766, 766, 766, 766, 766 769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
769, 769, 769
} ; } ;
static yyconst flex_int16_t yy_chk[1069] = static yyconst flex_int16_t yy_chk[1064] =
{ 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,
...@@ -841,7 +841,7 @@ static yyconst flex_int16_t yy_chk[1069] = ...@@ -841,7 +841,7 @@ static yyconst flex_int16_t yy_chk[1069] =
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,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 3, 4, 12, 12, 28, 28, 3, 4, 5, 1, 1, 3, 4, 12, 12, 28, 28, 3, 4,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
...@@ -850,111 +850,111 @@ static yyconst flex_int16_t yy_chk[1069] = ...@@ -850,111 +850,111 @@ static yyconst flex_int16_t yy_chk[1069] =
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
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, 5, 5, 13, 17, 19, 20, 20, 20, 20, 20,
33, 34, 21, 53, 127, 19, 17, 21, 35, 13, 20, 20, 36, 34, 21, 774, 36, 19, 17, 21,
35, 53, 127, 771, 35, 34, 34, 33, 21, 22, 44, 13, 36, 26, 44, 36, 33, 34, 34, 766,
26, 22, 22, 22, 22, 22, 22, 22, 23, 763, 21, 22, 55, 22, 22, 22, 22, 22, 22, 22,
23, 23, 23, 23, 23, 23, 23, 26, 22, 26, 26, 41, 26, 26, 33, 35, 764, 35, 53, 41,
26, 154, 36, 154, 37, 22, 36, 23, 37, 38, 22, 35, 38, 45, 38, 37, 53, 22, 22, 37,
55, 38, 36, 37, 22, 36, 39, 41, 44, 37, 41, 39, 114, 38, 37, 763, 45, 22, 128, 39,
38, 761, 44, 23, 39, 41, 39, 42, 47, 39, 37, 39, 42, 114, 39, 42, 128, 55, 42, 42,
42, 22, 45, 42, 42, 39, 41, 613, 42, 613, 39, 22, 47, 42, 22, 23, 42, 23, 23, 23,
49, 42, 631, 47, 631, 45, 47, 49, 49, 114, 23, 23, 23, 23, 98, 49, 50, 47, 98, 50,
50, 49, 52, 50, 55, 51, 52, 49, 49, 51, 47, 759, 49, 49, 23, 52, 49, 50, 155, 52,
49, 50, 114, 51, 760, 52, 51, 756, 50, 74, 155, 23, 49, 49, 50, 49, 51, 758, 52, 132,
74, 74, 74, 74, 74, 74, 78, 78, 78, 78, 51, 23, 79, 79, 51, 132, 757, 51, 74, 74,
78, 78, 78, 97, 104, 131, 74, 97, 104, 104, 74, 74, 74, 74, 74, 23, 78, 78, 78, 78,
113, 131, 79, 78, 79, 79, 79, 79, 79, 79, 78, 78, 78, 105, 169, 74, 79, 105, 105, 79,
79, 113, 74, 148, 148, 141, 133, 136, 755, 78, 81, 115, 81, 78, 134, 81, 81, 81, 81, 81,
80, 79, 80, 80, 80, 80, 80, 80, 80, 133, 81, 81, 74, 755, 115, 137, 754, 134, 169, 134,
141, 133, 149, 136, 136, 142, 81, 79, 81, 80, 78, 80, 753, 80, 80, 80, 80, 80, 80, 80,
149, 81, 81, 81, 81, 81, 81, 81, 142, 182, 125, 137, 137, 125, 125, 142, 143, 125, 150, 125,
182, 177, 754, 752, 83, 80, 83, 83, 83, 83, 80, 149, 149, 151, 184, 184, 150, 80, 243, 143,
83, 83, 83, 124, 177, 224, 124, 124, 150, 224, 142, 151, 179, 162, 752, 162, 243, 80, 162, 162,
124, 241, 124, 83, 751, 161, 150, 161, 489, 241, 162, 162, 162, 162, 162, 179, 214, 214, 214, 751,
161, 161, 161, 161, 161, 161, 161, 750, 489, 83, 749, 80, 164, 164, 164, 164, 164, 164, 164, 226,
163, 163, 163, 163, 163, 163, 163, 212, 212, 212, 249, 249, 249, 226, 616, 165, 616, 165, 748, 164,
247, 247, 247, 164, 749, 164, 748, 163, 164, 164, 165, 165, 165, 165, 165, 165, 165, 167, 167, 167,
164, 164, 164, 164, 164, 165, 165, 165, 165, 165, 167, 167, 167, 167, 747, 746, 164, 168, 168, 168,
165, 165, 746, 163, 166, 166, 166, 166, 166, 166, 168, 168, 168, 168, 254, 254, 254, 254, 254, 254,
166, 252, 252, 252, 252, 252, 252, 252, 253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 256, 256,
253, 253, 253, 253, 253, 254, 254, 254, 254, 254, 256, 256, 256, 256, 256, 257, 257, 257, 257, 257,
254, 254, 255, 255, 255, 255, 255, 255, 255, 261, 257, 257, 264, 264, 264, 276, 276, 276, 285, 285,
261, 261, 273, 273, 273, 282, 282, 282, 286, 286, 285, 289, 289, 289, 298, 298, 298, 338, 338, 338,
286, 295, 295, 295, 335, 335, 335, 376, 376, 376, 379, 379, 379, 439, 439, 439, 472, 472, 472, 745,
436, 436, 436, 469, 469, 469, 745, 744, 490, 743, 743, 492, 493, 379, 379, 741, 439, 439, 740, 472,
376, 376, 587, 436, 436, 742, 469, 469, 490, 506, 472, 492, 493, 509, 509, 509, 738, 543, 543, 566,
506, 506, 587, 540, 540, 563, 563, 588, 740, 588, 566, 590, 591, 737, 591, 591, 509, 509, 735, 509,
588, 738, 506, 506, 737, 506, 540, 735, 563, 767, 543, 590, 566, 634, 734, 634, 770, 770, 770, 770,
767, 767, 767, 768, 768, 769, 769, 770, 734, 770, 771, 771, 772, 772, 773, 731, 773, 773, 730, 729,
770, 732, 731, 728, 727, 726, 725, 724, 723, 722, 728, 727, 726, 725, 724, 721, 720, 719, 718, 717,
721, 718, 717, 716, 715, 714, 713, 712, 711, 708, 716, 715, 714, 711, 708, 707, 706, 705, 704, 702,
705, 704, 703, 702, 701, 699, 698, 697, 696, 694, 701, 700, 699, 697, 695, 692, 691, 690, 689, 687,
692, 689, 688, 687, 686, 684, 683, 682, 681, 680, 686, 685, 684, 683, 682, 681, 680, 679, 678, 677,
679, 678, 677, 676, 675, 674, 673, 672, 671, 670, 676, 675, 674, 673, 672, 671, 670, 669, 667, 666,
669, 668, 667, 666, 664, 663, 662, 661, 660, 659, 665, 664, 663, 662, 661, 660, 659, 658, 656, 655,
658, 657, 656, 655, 653, 652, 651, 650, 649, 648, 654, 653, 652, 651, 650, 649, 648, 647, 646, 645,
647, 646, 645, 644, 643, 642, 640, 639, 638, 637, 643, 642, 641, 640, 639, 638, 637, 635, 633, 631,
636, 635, 634, 632, 630, 628, 627, 626, 624, 623, 630, 629, 627, 626, 625, 624, 623, 622, 621, 620,
622, 621, 620, 619, 618, 617, 616, 615, 614, 612, 619, 618, 617, 615, 614, 613, 612, 611, 610, 608,
611, 610, 609, 608, 607, 605, 604, 603, 602, 600, 607, 606, 605, 603, 602, 601, 600, 599, 598, 597,
599, 598, 597, 596, 595, 594, 593, 592, 591, 590, 596, 595, 594, 593, 592, 587, 585, 584, 583, 579,
589, 584, 582, 581, 580, 576, 575, 574, 573, 572, 578, 577, 576, 575, 574, 573, 572, 571, 569, 568,
571, 570, 569, 568, 566, 565, 561, 560, 558, 557, 564, 563, 561, 560, 558, 557, 556, 555, 554, 553,
555, 554, 553, 552, 551, 550, 549, 545, 544, 543, 552, 548, 547, 546, 544, 542, 541, 540, 539, 538,
541, 539, 538, 537, 536, 535, 534, 533, 532, 531, 537, 536, 535, 534, 533, 531, 530, 525, 524, 523,
530, 528, 527, 522, 521, 520, 519, 517, 516, 514, 522, 520, 519, 517, 516, 515, 514, 513, 511, 510,
513, 512, 511, 510, 508, 507, 505, 504, 503, 502, 508, 507, 506, 505, 504, 503, 502, 501, 499, 498,
501, 500, 499, 498, 496, 495, 494, 493, 492, 488, 497, 496, 495, 491, 490, 489, 488, 487, 486, 483,
487, 486, 485, 484, 483, 480, 479, 478, 477, 476, 482, 481, 480, 479, 478, 477, 476, 475, 474, 473,
475, 474, 473, 472, 471, 470, 468, 467, 464, 459, 471, 470, 467, 462, 460, 459, 458, 456, 455, 452,
457, 456, 455, 453, 452, 449, 448, 447, 446, 445, 451, 450, 449, 448, 447, 446, 444, 443, 442, 441,
444, 443, 441, 440, 439, 438, 437, 434, 432, 431, 440, 437, 435, 434, 433, 431, 430, 429, 428, 426,
430, 428, 427, 426, 425, 423, 421, 420, 415, 414, 424, 423, 418, 417, 415, 414, 413, 412, 411, 410,
412, 411, 410, 409, 408, 407, 406, 405, 404, 403, 409, 408, 407, 406, 405, 403, 402, 401, 400, 399,
402, 400, 399, 398, 397, 396, 395, 394, 392, 391, 398, 397, 395, 394, 393, 392, 391, 390, 389, 385,
390, 389, 388, 387, 386, 382, 381, 380, 377, 375, 384, 383, 380, 378, 368, 366, 362, 361, 360, 359,
365, 363, 359, 358, 357, 356, 354, 353, 351, 346, 357, 356, 354, 349, 348, 347, 346, 345, 344, 339,
345, 344, 343, 342, 341, 336, 334, 333, 332, 331, 337, 336, 335, 334, 333, 331, 330, 327, 326, 325,
330, 328, 327, 324, 323, 322, 321, 320, 319, 318, 324, 323, 322, 321, 320, 319, 318, 317, 316, 315,
317, 316, 315, 314, 313, 312, 311, 310, 309, 308, 314, 313, 312, 311, 310, 309, 308, 307, 306, 305,
307, 306, 305, 304, 303, 302, 301, 294, 293, 292, 304, 297, 296, 295, 294, 293, 292, 291, 290, 288,
291, 290, 289, 288, 287, 285, 281, 279, 278, 277, 284, 282, 281, 280, 279, 275, 274, 273, 272, 271,
276, 272, 271, 270, 269, 268, 267, 266, 265, 264, 270, 269, 268, 267, 263, 261, 260, 259, 253, 252,
260, 258, 257, 256, 251, 250, 249, 248, 246, 245, 251, 250, 248, 247, 246, 245, 244, 242, 241, 240,
244, 243, 242, 240, 239, 238, 237, 236, 235, 234, 239, 238, 237, 236, 235, 234, 233, 232, 231, 230,
233, 232, 231, 230, 229, 228, 227, 226, 225, 223, 229, 228, 227, 225, 224, 223, 222, 221, 220, 219,
222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 218, 217, 216, 215, 213, 212, 211, 210, 209, 208,
211, 210, 209, 208, 207, 206, 205, 204, 203, 202, 207, 206, 205, 204, 203, 202, 201, 200, 199, 198,
201, 200, 199, 198, 197, 196, 194, 193, 192, 191, 196, 195, 194, 193, 192, 191, 190, 189, 188, 187,
190, 189, 188, 187, 186, 185, 184, 183, 181, 180, 186, 185, 183, 182, 181, 180, 178, 177, 176, 175,
179, 178, 176, 175, 174, 173, 172, 170, 156, 155, 174, 172, 157, 156, 154, 153, 152, 148, 147, 146,
153, 152, 151, 147, 146, 145, 144, 143, 140, 139, 145, 144, 141, 140, 139, 138, 136, 135, 133, 131,
138, 137, 135, 134, 132, 130, 129, 128, 126, 125, 130, 129, 127, 126, 124, 123, 121, 120, 119, 118,
123, 122, 120, 119, 118, 117, 116, 115, 112, 111, 117, 116, 113, 112, 111, 110, 109, 108, 107, 106,
110, 109, 108, 107, 106, 105, 103, 102, 101, 100, 104, 103, 102, 101, 100, 99, 97, 96, 92, 88,
99, 98, 96, 95, 91, 87, 60, 48, 46, 43, 60, 48, 46, 43, 40, 27, 24, 16, 11, 7,
40, 27, 24, 16, 11, 7, 766, 766, 766, 766, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
766, 766, 766, 766, 766, 766, 766, 766 769, 769, 769
} ; } ;
/* 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[219] = static yyconst flex_int32_t yy_rule_can_match_eol[222] =
{ 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,
...@@ -966,7 +966,8 @@ static yyconst flex_int32_t yy_rule_can_match_eol[219] = ...@@ -966,7 +966,8 @@ static yyconst flex_int32_t yy_rule_can_match_eol[219] =
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, 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, 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.
...@@ -1011,6 +1012,7 @@ static int reserved_word(yyscan_t yyscanner); ...@@ -1011,6 +1012,7 @@ static int reserved_word(yyscan_t yyscanner);
static int ES2_reserved_ES3_keyword(TParseContext *context, int token); static int ES2_reserved_ES3_keyword(TParseContext *context, int token);
static int ES2_keyword_ES3_reserved(TParseContext *context, int token); static int ES2_keyword_ES3_reserved(TParseContext *context, int token);
static int ES2_identifier_ES3_keyword(TParseContext *context, int token); static int ES2_identifier_ES3_keyword(TParseContext *context, int token);
static int uint_constant(TParseContext *context);
#define INITIAL 0 #define INITIAL 0
#define COMMENT 1 #define COMMENT 1
...@@ -1301,13 +1303,13 @@ yy_match: ...@@ -1301,13 +1303,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 >= 767 ) if ( yy_current_state >= 770 )
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 != 766 ); while ( yy_current_state != 769 );
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;
...@@ -1720,210 +1722,222 @@ YY_RULE_SETUP ...@@ -1720,210 +1722,222 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 166: case 166:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); } { return uint_constant(context); }
YY_BREAK YY_BREAK
case 167: case 167:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); } { return uint_constant(context); }
YY_BREAK YY_BREAK
case 168: case 168:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); } { return uint_constant(context); }
YY_BREAK YY_BREAK
case 169: case 169:
YY_RULE_SETUP YY_RULE_SETUP
{ return(ADD_ASSIGN); } { yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK YY_BREAK
case 170: case 170:
YY_RULE_SETUP YY_RULE_SETUP
{ return(SUB_ASSIGN); } { yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK YY_BREAK
case 171: case 171:
YY_RULE_SETUP YY_RULE_SETUP
{ return(MUL_ASSIGN); } { yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK YY_BREAK
case 172: case 172:
YY_RULE_SETUP YY_RULE_SETUP
{ return(DIV_ASSIGN); } { return(ADD_ASSIGN); }
YY_BREAK YY_BREAK
case 173: case 173:
YY_RULE_SETUP YY_RULE_SETUP
{ return(MOD_ASSIGN); } { return(SUB_ASSIGN); }
YY_BREAK YY_BREAK
case 174: case 174:
YY_RULE_SETUP YY_RULE_SETUP
{ return(LEFT_ASSIGN); } { return(MUL_ASSIGN); }
YY_BREAK YY_BREAK
case 175: case 175:
YY_RULE_SETUP YY_RULE_SETUP
{ return(RIGHT_ASSIGN); } { return(DIV_ASSIGN); }
YY_BREAK YY_BREAK
case 176: case 176:
YY_RULE_SETUP YY_RULE_SETUP
{ return(AND_ASSIGN); } { return(MOD_ASSIGN); }
YY_BREAK YY_BREAK
case 177: case 177:
YY_RULE_SETUP YY_RULE_SETUP
{ return(XOR_ASSIGN); } { return(LEFT_ASSIGN); }
YY_BREAK YY_BREAK
case 178: case 178:
YY_RULE_SETUP YY_RULE_SETUP
{ return(OR_ASSIGN); } { return(RIGHT_ASSIGN); }
YY_BREAK YY_BREAK
case 179: case 179:
YY_RULE_SETUP YY_RULE_SETUP
{ return(INC_OP); } { return(AND_ASSIGN); }
YY_BREAK YY_BREAK
case 180: case 180:
YY_RULE_SETUP YY_RULE_SETUP
{ return(DEC_OP); } { return(XOR_ASSIGN); }
YY_BREAK YY_BREAK
case 181: case 181:
YY_RULE_SETUP YY_RULE_SETUP
{ return(AND_OP); } { return(OR_ASSIGN); }
YY_BREAK YY_BREAK
case 182: case 182:
YY_RULE_SETUP YY_RULE_SETUP
{ return(OR_OP); } { return(INC_OP); }
YY_BREAK YY_BREAK
case 183: case 183:
YY_RULE_SETUP YY_RULE_SETUP
{ return(XOR_OP); } { return(DEC_OP); }
YY_BREAK YY_BREAK
case 184: case 184:
YY_RULE_SETUP YY_RULE_SETUP
{ return(LE_OP); } { return(AND_OP); }
YY_BREAK YY_BREAK
case 185: case 185:
YY_RULE_SETUP YY_RULE_SETUP
{ return(GE_OP); } { return(OR_OP); }
YY_BREAK YY_BREAK
case 186: case 186:
YY_RULE_SETUP YY_RULE_SETUP
{ return(EQ_OP); } { return(XOR_OP); }
YY_BREAK YY_BREAK
case 187: case 187:
YY_RULE_SETUP YY_RULE_SETUP
{ return(NE_OP); } { return(LE_OP); }
YY_BREAK YY_BREAK
case 188: case 188:
YY_RULE_SETUP YY_RULE_SETUP
{ return(LEFT_OP); } { return(GE_OP); }
YY_BREAK YY_BREAK
case 189: case 189:
YY_RULE_SETUP YY_RULE_SETUP
{ return(RIGHT_OP); } { return(EQ_OP); }
YY_BREAK YY_BREAK
case 190: case 190:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = false; return(SEMICOLON); } { return(NE_OP); }
YY_BREAK YY_BREAK
case 191: case 191:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = false; return(LEFT_BRACE); } { return(LEFT_OP); }
YY_BREAK YY_BREAK
case 192: case 192:
YY_RULE_SETUP YY_RULE_SETUP
{ return(RIGHT_BRACE); } { return(RIGHT_OP); }
YY_BREAK YY_BREAK
case 193: case 193:
YY_RULE_SETUP YY_RULE_SETUP
{ if (context->inTypeParen) context->lexAfterType = false; return(COMMA); } { context->lexAfterType = false; return(SEMICOLON); }
YY_BREAK YY_BREAK
case 194: case 194:
YY_RULE_SETUP YY_RULE_SETUP
{ return(COLON); } { context->lexAfterType = false; return(LEFT_BRACE); }
YY_BREAK YY_BREAK
case 195: case 195:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = false; return(EQUAL); } { return(RIGHT_BRACE); }
YY_BREAK YY_BREAK
case 196: case 196:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); } { if (context->inTypeParen) context->lexAfterType = false; return(COMMA); }
YY_BREAK YY_BREAK
case 197: case 197:
YY_RULE_SETUP YY_RULE_SETUP
{ context->inTypeParen = false; return(RIGHT_PAREN); } { return(COLON); }
YY_BREAK YY_BREAK
case 198: case 198:
YY_RULE_SETUP YY_RULE_SETUP
{ return(LEFT_BRACKET); } { context->lexAfterType = false; return(EQUAL); }
YY_BREAK YY_BREAK
case 199: case 199:
YY_RULE_SETUP YY_RULE_SETUP
{ return(RIGHT_BRACKET); } { context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); }
YY_BREAK YY_BREAK
case 200: case 200:
YY_RULE_SETUP YY_RULE_SETUP
{ BEGIN(FIELDS); return(DOT); } { context->inTypeParen = false; return(RIGHT_PAREN); }
YY_BREAK YY_BREAK
case 201: case 201:
YY_RULE_SETUP YY_RULE_SETUP
{ return(BANG); } { return(LEFT_BRACKET); }
YY_BREAK YY_BREAK
case 202: case 202:
YY_RULE_SETUP YY_RULE_SETUP
{ return(DASH); } { return(RIGHT_BRACKET); }
YY_BREAK YY_BREAK
case 203: case 203:
YY_RULE_SETUP YY_RULE_SETUP
{ return(TILDE); } { BEGIN(FIELDS); return(DOT); }
YY_BREAK YY_BREAK
case 204: case 204:
YY_RULE_SETUP YY_RULE_SETUP
{ return(PLUS); } { return(BANG); }
YY_BREAK YY_BREAK
case 205: case 205:
YY_RULE_SETUP YY_RULE_SETUP
{ return(STAR); } { return(DASH); }
YY_BREAK YY_BREAK
case 206: case 206:
YY_RULE_SETUP YY_RULE_SETUP
{ return(SLASH); } { return(TILDE); }
YY_BREAK YY_BREAK
case 207: case 207:
YY_RULE_SETUP YY_RULE_SETUP
{ return(PERCENT); } { return(PLUS); }
YY_BREAK YY_BREAK
case 208: case 208:
YY_RULE_SETUP YY_RULE_SETUP
{ return(LEFT_ANGLE); } { return(STAR); }
YY_BREAK YY_BREAK
case 209: case 209:
YY_RULE_SETUP YY_RULE_SETUP
{ return(RIGHT_ANGLE); } { return(SLASH); }
YY_BREAK YY_BREAK
case 210: case 210:
YY_RULE_SETUP YY_RULE_SETUP
{ return(VERTICAL_BAR); } { return(PERCENT); }
YY_BREAK YY_BREAK
case 211: case 211:
YY_RULE_SETUP YY_RULE_SETUP
{ return(CARET); } { return(LEFT_ANGLE); }
YY_BREAK YY_BREAK
case 212: case 212:
YY_RULE_SETUP YY_RULE_SETUP
{ return(AMPERSAND); } { return(RIGHT_ANGLE); }
YY_BREAK YY_BREAK
case 213: case 213:
YY_RULE_SETUP YY_RULE_SETUP
{ return(QUESTION); } { return(VERTICAL_BAR); }
YY_BREAK YY_BREAK
case 214: case 214:
YY_RULE_SETUP YY_RULE_SETUP
{ return(CARET); }
YY_BREAK
case 215:
YY_RULE_SETUP
{ return(AMPERSAND); }
YY_BREAK
case 216:
YY_RULE_SETUP
{ return(QUESTION); }
YY_BREAK
case 217:
YY_RULE_SETUP
{ {
BEGIN(INITIAL); BEGIN(INITIAL);
yylval->lex.string = NewPoolTString(yytext); yylval->lex.string = NewPoolTString(yytext);
return FIELD_SELECTION; return FIELD_SELECTION;
} }
YY_BREAK YY_BREAK
case 215: case 218:
YY_RULE_SETUP YY_RULE_SETUP
{} {}
YY_BREAK YY_BREAK
case 216: case 219:
/* rule 216 can match eol */ /* rule 219 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
{ } { }
YY_BREAK YY_BREAK
...@@ -1932,11 +1946,11 @@ case YY_STATE_EOF(COMMENT): ...@@ -1932,11 +1946,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 217: case 220:
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 218: case 221:
YY_RULE_SETUP YY_RULE_SETUP
ECHO; ECHO;
YY_BREAK YY_BREAK
...@@ -2232,7 +2246,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) ...@@ -2232,7 +2246,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 >= 767 ) if ( yy_current_state >= 770 )
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];
...@@ -2261,11 +2275,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) ...@@ -2261,11 +2275,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 >= 767 ) if ( yy_current_state >= 770 )
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 == 766); yy_is_jam = (yy_current_state == 769);
return yy_is_jam ? 0 : yy_current_state; return yy_is_jam ? 0 : yy_current_state;
} }
...@@ -3191,6 +3205,22 @@ int ES2_identifier_ES3_keyword(TParseContext *context, int token) ...@@ -3191,6 +3205,22 @@ int ES2_identifier_ES3_keyword(TParseContext *context, int token)
return token; return token;
} }
int uint_constant(TParseContext *context)
{
struct yyguts_t* yyg = (struct yyguts_t*) context->scanner;
yyscan_t yyscanner = (yyscan_t) context->scanner;
if (context->shaderVersion < 300)
{
context->error(yylineno, "Unsigned integers are unsupported prior to GLSL ES 3.00", yytext, "");
context->recover();
return 0;
}
yylval->lex.u = static_cast<unsigned int>(strtol(yytext, 0, 0));
return UINTCONSTANT;
}
void yyerror(TParseContext* context, const char* reason) { void yyerror(TParseContext* context, const char* reason) {
struct yyguts_t* yyg = (struct yyguts_t*) context->scanner; struct yyguts_t* yyg = (struct yyguts_t*) context->scanner;
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -98,53 +98,54 @@ ...@@ -98,53 +98,54 @@
TYPE_NAME = 314, TYPE_NAME = 314,
FLOATCONSTANT = 315, FLOATCONSTANT = 315,
INTCONSTANT = 316, INTCONSTANT = 316,
BOOLCONSTANT = 317, UINTCONSTANT = 317,
FIELD_SELECTION = 318, BOOLCONSTANT = 318,
LEFT_OP = 319, FIELD_SELECTION = 319,
RIGHT_OP = 320, LEFT_OP = 320,
INC_OP = 321, RIGHT_OP = 321,
DEC_OP = 322, INC_OP = 322,
LE_OP = 323, DEC_OP = 323,
GE_OP = 324, LE_OP = 324,
EQ_OP = 325, GE_OP = 325,
NE_OP = 326, EQ_OP = 326,
AND_OP = 327, NE_OP = 327,
OR_OP = 328, AND_OP = 328,
XOR_OP = 329, OR_OP = 329,
MUL_ASSIGN = 330, XOR_OP = 330,
DIV_ASSIGN = 331, MUL_ASSIGN = 331,
ADD_ASSIGN = 332, DIV_ASSIGN = 332,
MOD_ASSIGN = 333, ADD_ASSIGN = 333,
LEFT_ASSIGN = 334, MOD_ASSIGN = 334,
RIGHT_ASSIGN = 335, LEFT_ASSIGN = 335,
AND_ASSIGN = 336, RIGHT_ASSIGN = 336,
XOR_ASSIGN = 337, AND_ASSIGN = 337,
OR_ASSIGN = 338, XOR_ASSIGN = 338,
SUB_ASSIGN = 339, OR_ASSIGN = 339,
LEFT_PAREN = 340, SUB_ASSIGN = 340,
RIGHT_PAREN = 341, LEFT_PAREN = 341,
LEFT_BRACKET = 342, RIGHT_PAREN = 342,
RIGHT_BRACKET = 343, LEFT_BRACKET = 343,
LEFT_BRACE = 344, RIGHT_BRACKET = 344,
RIGHT_BRACE = 345, LEFT_BRACE = 345,
DOT = 346, RIGHT_BRACE = 346,
COMMA = 347, DOT = 347,
COLON = 348, COMMA = 348,
EQUAL = 349, COLON = 349,
SEMICOLON = 350, EQUAL = 350,
BANG = 351, SEMICOLON = 351,
DASH = 352, BANG = 352,
TILDE = 353, DASH = 353,
PLUS = 354, TILDE = 354,
STAR = 355, PLUS = 355,
SLASH = 356, STAR = 356,
PERCENT = 357, SLASH = 357,
LEFT_ANGLE = 358, PERCENT = 358,
RIGHT_ANGLE = 359, LEFT_ANGLE = 359,
VERTICAL_BAR = 360, RIGHT_ANGLE = 360,
CARET = 361, VERTICAL_BAR = 361,
AMPERSAND = 362, CARET = 362,
QUESTION = 363 AMPERSAND = 363,
QUESTION = 364
}; };
#endif #endif
...@@ -161,6 +162,7 @@ typedef union YYSTYPE ...@@ -161,6 +162,7 @@ typedef union YYSTYPE
TString *string; TString *string;
float f; float f;
int i; int i;
unsigned int u;
bool b; bool b;
}; };
TSymbol* symbol; TSymbol* symbol;
......
/* A Bison parser, made by GNU Bison 2.4.2. */
/* A Bison parser, made by GNU Bison 2.4.1. */
/* Skeleton implementation for Bison's Yacc-like parsers in C /* Skeleton implementation for Bison's Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Foundation, Inc. Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
...@@ -45,7 +46,7 @@ ...@@ -45,7 +46,7 @@
#define YYBISON 1 #define YYBISON 1
/* Bison version. */ /* Bison version. */
#define YYBISON_VERSION "2.4.2" #define YYBISON_VERSION "2.4.1"
/* Skeleton name. */ /* Skeleton name. */
#define YYSKELETON_NAME "yacc.c" #define YYSKELETON_NAME "yacc.c"
...@@ -224,7 +225,7 @@ typedef short int yytype_int16; ...@@ -224,7 +225,7 @@ typedef short int yytype_int16;
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
#ifndef YY_ #ifndef YY_
# if defined YYENABLE_NLS && YYENABLE_NLS # if YYENABLE_NLS
# if ENABLE_NLS # if ENABLE_NLS
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
# define YY_(msgid) dgettext ("bison-runtime", msgid) # define YY_(msgid) dgettext ("bison-runtime", msgid)
...@@ -624,18 +625,9 @@ static const yytype_uint8 yystos[] = ...@@ -624,18 +625,9 @@ static const yytype_uint8 yystos[] =
/* Like YYERROR except do call yyerror. This remains here temporarily /* Like YYERROR except do call yyerror. This remains here temporarily
to ease the transition to the new meaning of YYERROR, for GCC. to ease the transition to the new meaning of YYERROR, for GCC.
Once GCC version 2 has supplanted version 1, this can go. However, Once GCC version 2 has supplanted version 1, this can go. */
YYFAIL appears to be in use. Nevertheless, it is formally deprecated
in Bison 2.4.2's NEWS entry, where a plan to phase it out is
discussed. */
#define YYFAIL goto yyerrlab #define YYFAIL goto yyerrlab
#if defined YYFAIL
/* This is here to suppress warnings from the GCC cpp's
-Wunused-macros. Normally we don't worry about that warning, but
some users do, and we want to make it easy for users to remove
YYFAIL uses, which will produce warnings from Bison 2.5. */
#endif
#define YYRECOVERING() (!!yyerrstatus) #define YYRECOVERING() (!!yyerrstatus)
...@@ -692,7 +684,7 @@ while (YYID (0)) ...@@ -692,7 +684,7 @@ while (YYID (0))
we won't break user code: when these are the locations we know. */ we won't break user code: when these are the locations we know. */
#ifndef YY_LOCATION_PRINT #ifndef YY_LOCATION_PRINT
# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL # if YYLTYPE_IS_TRIVIAL
# define YY_LOCATION_PRINT(File, Loc) \ # define YY_LOCATION_PRINT(File, Loc) \
fprintf (File, "%d.%d-%d.%d", \ fprintf (File, "%d.%d-%d.%d", \
(Loc).first_line, (Loc).first_column, \ (Loc).first_line, (Loc).first_column, \
......
#line 16 "./Tokenizer.l" #line 16 "./preprocessor/Tokenizer.l"
// //
// Copyright (c) 2011-2013 The ANGLE Project Authors. All rights reserved. // Copyright (c) 2011-2013 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
#line 13 "./Tokenizer.cpp" #line 13 "./preprocessor/Tokenizer.cpp"
#define YY_INT_ALIGNED short int #define YY_INT_ALIGNED short int
...@@ -63,7 +63,6 @@ typedef int flex_int32_t; ...@@ -63,7 +63,6 @@ typedef int flex_int32_t;
typedef unsigned char flex_uint8_t; typedef unsigned char flex_uint8_t;
typedef unsigned short int flex_uint16_t; typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t; typedef unsigned int flex_uint32_t;
#endif /* ! C99 */
/* Limits of integral types. */ /* Limits of integral types. */
#ifndef INT8_MIN #ifndef INT8_MIN
...@@ -94,6 +93,8 @@ typedef unsigned int flex_uint32_t; ...@@ -94,6 +93,8 @@ typedef unsigned int flex_uint32_t;
#define UINT32_MAX (4294967295U) #define UINT32_MAX (4294967295U)
#endif #endif
#endif /* ! C99 */
#endif /* ! FLEXINT_H */ #endif /* ! FLEXINT_H */
#ifdef __cplusplus #ifdef __cplusplus
...@@ -167,7 +168,15 @@ typedef void* yyscan_t; ...@@ -167,7 +168,15 @@ typedef void* yyscan_t;
/* Size of default input buffer. */ /* Size of default input buffer. */
#ifndef YY_BUF_SIZE #ifndef YY_BUF_SIZE
#ifdef __ia64__
/* On IA-64, the buffer size is 16k, not 8k.
* Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
* Ditto for the __ia64__ case accordingly.
*/
#define YY_BUF_SIZE 32768
#else
#define YY_BUF_SIZE 16384 #define YY_BUF_SIZE 16384
#endif /* __ia64__ */
#endif #endif
/* The state buf must be large enough to hold one state per character in the main buffer. /* The state buf must be large enough to hold one state per character in the main buffer.
...@@ -367,17 +376,17 @@ struct yy_trans_info ...@@ -367,17 +376,17 @@ 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[87] = static yyconst flex_int16_t yy_accept[90] =
{ 0, { 0,
0, 0, 0, 0, 39, 37, 34, 35, 35, 33, 0, 0, 0, 0, 39, 37, 34, 35, 35, 33,
7, 33, 33, 33, 33, 33, 33, 33, 33, 9, 7, 33, 33, 33, 33, 33, 33, 33, 33, 9,
9, 33, 33, 33, 8, 37, 33, 33, 3, 5, 9, 33, 33, 33, 8, 37, 33, 33, 3, 5,
5, 4, 34, 35, 19, 27, 20, 30, 25, 12, 5, 4, 34, 35, 19, 27, 20, 30, 25, 12,
23, 13, 24, 10, 2, 1, 26, 10, 9, 11, 23, 13, 24, 10, 2, 1, 26, 10, 9, 11,
11, 11, 11, 9, 14, 16, 18, 17, 15, 8, 11, 11, 9, 11, 9, 9, 14, 16, 18, 17,
36, 36, 31, 21, 32, 22, 3, 5, 6, 11, 15, 8, 36, 36, 31, 21, 32, 22, 3, 5,
10, 11, 1, 10, 11, 0, 10, 9, 28, 29, 6, 11, 10, 11, 1, 10, 11, 0, 10, 9,
0, 10, 10, 10, 10, 0 28, 29, 0, 10, 10, 10, 9, 10, 0
} ; } ;
static yyconst flex_int32_t yy_ec[256] = static yyconst flex_int32_t yy_ec[256] =
...@@ -390,12 +399,12 @@ static yyconst flex_int32_t yy_ec[256] = ...@@ -390,12 +399,12 @@ static yyconst flex_int32_t yy_ec[256] =
16, 16, 16, 16, 16, 17, 17, 9, 9, 18, 16, 16, 16, 16, 16, 17, 17, 9, 9, 18,
19, 20, 9, 1, 21, 21, 21, 21, 22, 21, 19, 20, 9, 1, 21, 21, 21, 21, 22, 21,
23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
23, 23, 23, 23, 23, 23, 23, 24, 23, 23, 23, 23, 23, 23, 24, 23, 23, 25, 23, 23,
9, 25, 9, 26, 23, 1, 21, 21, 21, 21, 9, 26, 9, 27, 23, 1, 21, 21, 21, 21,
22, 21, 23, 23, 23, 23, 23, 23, 23, 23, 22, 21, 23, 23, 23, 23, 23, 23, 23, 23,
23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 23, 23, 23, 23, 23, 23, 24, 23, 23, 25,
23, 23, 9, 27, 9, 9, 1, 1, 1, 1, 23, 23, 9, 28, 9, 9, 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, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
...@@ -412,89 +421,95 @@ static yyconst flex_int32_t yy_ec[256] = ...@@ -412,89 +421,95 @@ static yyconst flex_int32_t yy_ec[256] =
1, 1, 1, 1, 1 1, 1, 1, 1, 1
} ; } ;
static yyconst flex_int32_t yy_meta[28] = static yyconst flex_int32_t yy_meta[29] =
{ 0, { 0,
1, 1, 2, 2, 1, 1, 1, 1, 1, 3, 1, 1, 2, 2, 1, 1, 1, 1, 1, 3,
1, 1, 4, 1, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 1, 1, 1,
5, 5, 5, 5, 1, 1, 1 4, 4, 4, 4, 4, 1, 1, 1
} ; } ;
static yyconst flex_int16_t yy_base[92] = static yyconst flex_int16_t yy_base[94] =
{ 0, { 0,
0, 0, 25, 27, 162, 163, 159, 163, 152, 132, 0, 0, 26, 28, 167, 173, 164, 173, 129, 107,
163, 131, 24, 163, 116, 22, 26, 31, 30, 37, 173, 102, 25, 173, 97, 23, 27, 32, 31, 38,
40, 44, 115, 46, 0, 64, 50, 15, 0, 163, 51, 38, 88, 50, 0, 74, 16, 52, 0, 173,
124, 91, 88, 163, 163, 163, 163, 163, 163, 163, 98, 81, 80, 173, 173, 173, 173, 173, 173, 173,
163, 163, 163, 64, 163, 0, 163, 76, 54, 58, 173, 173, 173, 68, 173, 0, 173, 81, 54, 84,
79, 91, 91, 0, 56, 163, 163, 163, 32, 0, 95, 107, 0, 112, 0, 0, 46, 173, 173, 173,
163, 36, 163, 163, 163, 163, 0, 163, 163, 94, 39, 0, 173, 49, 173, 173, 173, 173, 0, 173,
0, 106, 0, 0, 113, 55, 72, 113, 163, 163, 173, 98, 0, 127, 0, 0, 134, 71, 119, 16,
116, 101, 108, 123, 126, 163, 143, 31, 148, 153, 173, 173, 137, 129, 136, 140, 0, 143, 173, 160,
155 33, 164, 168
} ; } ;
static yyconst flex_int16_t yy_def[92] = static yyconst flex_int16_t yy_def[94] =
{ 0, { 0,
86, 1, 87, 87, 86, 86, 86, 86, 86, 86, 89, 1, 90, 90, 89, 89, 89, 89, 89, 89,
86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
20, 86, 86, 86, 88, 86, 86, 86, 89, 86, 89, 89, 89, 89, 91, 89, 89, 89, 92, 89,
86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
86, 86, 86, 86, 86, 90, 86, 86, 20, 20, 89, 89, 89, 89, 89, 93, 89, 89, 20, 20,
48, 51, 91, 21, 86, 86, 86, 86, 86, 88, 48, 51, 51, 89, 21, 51, 89, 89, 89, 89,
86, 86, 86, 86, 86, 86, 89, 86, 86, 44, 89, 91, 89, 89, 89, 89, 89, 89, 92, 89,
44, 70, 90, 48, 51, 86, 52, 91, 86, 86, 89, 44, 44, 72, 93, 48, 51, 89, 52, 54,
86, 72, 75, 86, 86, 0, 86, 86, 86, 86, 89, 89, 89, 74, 77, 89, 51, 89, 0, 89,
86 89, 89, 89
} ; } ;
static yyconst flex_int16_t yy_nxt[191] = static yyconst flex_int16_t yy_nxt[202] =
{ 0, { 0,
6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 21, 22, 23, 24, 16, 17, 18, 19, 20, 21, 21, 22, 23, 24,
25, 25, 25, 25, 26, 27, 28, 30, 31, 30, 25, 25, 25, 25, 25, 26, 27, 28, 30, 31,
31, 37, 40, 65, 32, 60, 32, 42, 61, 45, 30, 31, 37, 40, 65, 32, 62, 32, 42, 87,
41, 66, 38, 46, 43, 44, 44, 44, 47, 48, 45, 41, 66, 38, 46, 43, 44, 44, 44, 47,
80, 49, 49, 50, 54, 54, 54, 51, 52, 51, 48, 63, 49, 49, 50, 57, 58, 82, 51, 52,
53, 55, 56, 51, 58, 59, 61, 62, 63, 84, 51, 53, 54, 48, 81, 55, 55, 55, 60, 61,
84, 84, 50, 50, 79, 64, 70, 51, 71, 71, 67, 51, 52, 51, 56, 51, 63, 64, 51, 68,
71, 51, 86, 86, 70, 72, 70, 70, 51, 33, 72, 33, 73, 73, 73, 86, 86, 86, 72, 74,
74, 74, 74, 51, 51, 51, 51, 75, 51, 51, 72, 72, 72, 51, 71, 76, 76, 76, 50, 50,
51, 76, 76, 51, 69, 77, 77, 77, 70, 70, 70, 51, 77, 51, 51, 51, 59, 51, 51, 51,
70, 86, 86, 51, 51, 70, 81, 81, 86, 86, 51, 51, 72, 72, 72, 39, 51, 78, 78, 72,
82, 82, 82, 81, 81, 51, 68, 83, 83, 83, 36, 79, 79, 79, 51, 35, 80, 80, 80, 89,
85, 85, 85, 57, 39, 51, 51, 84, 84, 84, 89, 34, 80, 80, 51, 51, 51, 83, 83, 89,
85, 85, 85, 29, 29, 29, 29, 29, 67, 36, 89, 84, 84, 84, 83, 83, 89, 89, 85, 85,
35, 67, 67, 73, 34, 73, 73, 73, 78, 78, 85, 88, 88, 88, 86, 86, 86, 88, 88, 88,
33, 86, 5, 86, 86, 86, 86, 86, 86, 86, 29, 29, 29, 29, 69, 33, 89, 69, 75, 89,
86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 75, 75, 5, 89, 89, 89, 89, 89, 89, 89,
86, 86, 86, 86, 86, 86, 86, 86, 86, 86 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
89
} ; } ;
static yyconst flex_int16_t yy_chk[191] = static yyconst flex_int16_t yy_chk[202] =
{ 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,
1, 1, 1, 1, 1, 1, 1, 3, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3,
4, 13, 16, 28, 3, 88, 4, 17, 62, 19, 4, 4, 13, 16, 27, 3, 91, 4, 17, 80,
16, 28, 13, 19, 17, 18, 18, 18, 19, 20, 19, 16, 27, 13, 19, 17, 18, 18, 18, 19,
59, 20, 20, 20, 21, 21, 21, 20, 20, 20, 20, 64, 20, 20, 20, 22, 22, 61, 20, 20,
20, 22, 22, 21, 24, 24, 26, 26, 27, 76, 20, 20, 20, 21, 57, 21, 21, 21, 24, 24,
76, 76, 50, 50, 55, 27, 44, 49, 44, 44, 28, 21, 21, 21, 21, 21, 26, 26, 49, 28,
44, 50, 77, 77, 44, 44, 44, 44, 48, 33, 44, 33, 44, 44, 44, 78, 78, 78, 44, 44,
48, 48, 48, 51, 51, 51, 48, 48, 48, 48, 44, 44, 44, 48, 32, 48, 48, 48, 50, 50,
51, 52, 52, 53, 32, 52, 52, 52, 70, 70, 31, 48, 48, 48, 48, 48, 23, 50, 50, 51,
70, 82, 82, 53, 53, 70, 72, 72, 83, 83, 51, 51, 72, 72, 72, 15, 51, 52, 52, 72,
72, 72, 72, 75, 75, 78, 31, 75, 75, 75, 12, 52, 52, 52, 54, 10, 54, 54, 54, 79,
81, 81, 81, 23, 15, 78, 78, 84, 84, 84, 79, 9, 54, 54, 54, 54, 54, 74, 74, 84,
85, 85, 85, 87, 87, 87, 87, 87, 89, 12, 84, 74, 74, 74, 77, 77, 85, 85, 77, 77,
10, 89, 89, 90, 9, 90, 90, 90, 91, 91, 77, 83, 83, 83, 86, 86, 86, 88, 88, 88,
7, 5, 86, 86, 86, 86, 86, 86, 86, 86, 90, 90, 90, 90, 92, 7, 5, 92, 93, 0,
86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 93, 93, 89, 89, 89, 89, 89, 89, 89, 89,
86, 86, 86, 86, 86, 86, 86, 86, 86, 86 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
89
} ; } ;
/* The intent behind this definition is that it'll catch /* The intent behind this definition is that it'll catch
...@@ -685,7 +700,12 @@ static int input (yyscan_t yyscanner ); ...@@ -685,7 +700,12 @@ static int input (yyscan_t yyscanner );
/* Amount of stuff to slurp up with each read. */ /* Amount of stuff to slurp up with each read. */
#ifndef YY_READ_BUF_SIZE #ifndef YY_READ_BUF_SIZE
#ifdef __ia64__
/* On IA-64, the buffer size is 16k, not 8k */
#define YY_READ_BUF_SIZE 16384
#else
#define YY_READ_BUF_SIZE 8192 #define YY_READ_BUF_SIZE 8192
#endif /* __ia64__ */
#endif #endif
/* Copy whatever the last rule matched to the standard output. */ /* Copy whatever the last rule matched to the standard output. */
...@@ -693,7 +713,7 @@ static int input (yyscan_t yyscanner ); ...@@ -693,7 +713,7 @@ static int input (yyscan_t yyscanner );
/* This used to be an fputs(), but since the string might contain NUL's, /* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite(). * we now use fwrite().
*/ */
#define ECHO fwrite( yytext, yyleng, 1, yyout ) #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
#endif #endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
...@@ -704,7 +724,7 @@ static int input (yyscan_t yyscanner ); ...@@ -704,7 +724,7 @@ static int input (yyscan_t yyscanner );
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \ { \
int c = '*'; \ int c = '*'; \
int n; \ size_t n; \
for ( n = 0; n < max_size && \ for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \ buf[n] = (char) c; \
...@@ -846,13 +866,13 @@ yy_match: ...@@ -846,13 +866,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 >= 87 ) if ( yy_current_state >= 90 )
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 != 86 ); while ( yy_current_state != 89 );
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;
...@@ -1444,7 +1464,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) ...@@ -1444,7 +1464,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 >= 87 ) if ( yy_current_state >= 90 )
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];
...@@ -1473,11 +1493,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) ...@@ -1473,11 +1493,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 >= 87 ) if ( yy_current_state >= 90 )
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 == 86); yy_is_jam = (yy_current_state == 89);
return yy_is_jam ? 0 : yy_current_state; return yy_is_jam ? 0 : yy_current_state;
} }
...@@ -1880,8 +1900,8 @@ YY_BUFFER_STATE pp_scan_string (yyconst char * yystr , yyscan_t yyscanner) ...@@ -1880,8 +1900,8 @@ YY_BUFFER_STATE pp_scan_string (yyconst char * yystr , yyscan_t yyscanner)
/** Setup the input buffer state to scan the given bytes. The next call to pplex() will /** Setup the input buffer state to scan the given bytes. The next call to pplex() will
* scan from a @e copy of @a bytes. * scan from a @e copy of @a bytes.
* @param bytes the byte buffer to scan * @param yybytes the byte buffer to scan
* @param len the number of bytes in the buffer pointed to by @a bytes. * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
* @param yyscanner The scanner object. * @param yyscanner The scanner object.
* @return the newly allocated buffer state object. * @return the newly allocated buffer state object.
*/ */
......
...@@ -78,9 +78,9 @@ NEWLINE \n|\r|\r\n ...@@ -78,9 +78,9 @@ NEWLINE \n|\r|\r\n
IDENTIFIER [_a-zA-Z][_a-zA-Z0-9]* IDENTIFIER [_a-zA-Z][_a-zA-Z0-9]*
PUNCTUATOR [][<>(){}.+-/*%^|&~=!:;,?] PUNCTUATOR [][<>(){}.+-/*%^|&~=!:;,?]
DECIMAL_CONSTANT [1-9][0-9]* DECIMAL_CONSTANT [1-9][0-9]*[uU]?
OCTAL_CONSTANT 0[0-7]* OCTAL_CONSTANT 0[0-7]*[uU]?
HEXADECIMAL_CONSTANT 0[xX][0-9a-fA-F]+ HEXADECIMAL_CONSTANT 0[xX][0-9a-fA-F]+[uU]?
DIGIT [0-9] DIGIT [0-9]
EXPONENT_PART [eE][+-]?{DIGIT}+ EXPONENT_PART [eE][+-]?{DIGIT}+
......
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