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