Add support for unsigned integer vector types to the shader translator.

TRAC #23080 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2404 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent 6b709911
...@@ -168,12 +168,15 @@ int VariableRowCount(GLenum type) ...@@ -168,12 +168,15 @@ int VariableRowCount(GLenum type)
case GL_BOOL_VEC2: case GL_BOOL_VEC2:
case GL_FLOAT_VEC2: case GL_FLOAT_VEC2:
case GL_INT_VEC2: case GL_INT_VEC2:
case GL_INT_VEC3: case GL_UNSIGNED_INT_VEC2:
case GL_FLOAT_VEC3:
case GL_BOOL_VEC3: case GL_BOOL_VEC3:
case GL_FLOAT_VEC3:
case GL_INT_VEC3:
case GL_UNSIGNED_INT_VEC3:
case GL_BOOL_VEC4: case GL_BOOL_VEC4:
case GL_FLOAT_VEC4: case GL_FLOAT_VEC4:
case GL_INT_VEC4: case GL_INT_VEC4:
case GL_UNSIGNED_INT_VEC4:
case GL_SAMPLER_2D: case GL_SAMPLER_2D:
case GL_SAMPLER_CUBE: case GL_SAMPLER_CUBE:
return 1; return 1;
...@@ -212,13 +215,15 @@ int VariableColumnCount(GLenum type) ...@@ -212,13 +215,15 @@ int VariableColumnCount(GLenum type)
case GL_BOOL_VEC2: case GL_BOOL_VEC2:
case GL_FLOAT_VEC2: case GL_FLOAT_VEC2:
case GL_INT_VEC2: case GL_INT_VEC2:
case GL_UNSIGNED_INT_VEC2:
case GL_FLOAT_MAT2: case GL_FLOAT_MAT2:
case GL_FLOAT_MAT2x3: case GL_FLOAT_MAT2x3:
case GL_FLOAT_MAT2x4: case GL_FLOAT_MAT2x4:
return 2; return 2;
case GL_INT_VEC3:
case GL_FLOAT_VEC3:
case GL_BOOL_VEC3: case GL_BOOL_VEC3:
case GL_FLOAT_VEC3:
case GL_INT_VEC3:
case GL_UNSIGNED_INT_VEC3:
case GL_FLOAT_MAT3: case GL_FLOAT_MAT3:
case GL_FLOAT_MAT3x2: case GL_FLOAT_MAT3x2:
case GL_FLOAT_MAT3x4: case GL_FLOAT_MAT3x4:
...@@ -226,6 +231,7 @@ int VariableColumnCount(GLenum type) ...@@ -226,6 +231,7 @@ int VariableColumnCount(GLenum type)
case GL_BOOL_VEC4: case GL_BOOL_VEC4:
case GL_FLOAT_VEC4: case GL_FLOAT_VEC4:
case GL_INT_VEC4: case GL_INT_VEC4:
case GL_UNSIGNED_INT_VEC4:
case GL_FLOAT_MAT4: case GL_FLOAT_MAT4:
case GL_FLOAT_MAT4x2: case GL_FLOAT_MAT4x2:
case GL_FLOAT_MAT4x3: case GL_FLOAT_MAT4x3:
......
...@@ -829,6 +829,9 @@ bool TIntermOperator::isConstructor() const ...@@ -829,6 +829,9 @@ bool TIntermOperator::isConstructor() const
case EOpConstructIVec3: case EOpConstructIVec3:
case EOpConstructIVec4: case EOpConstructIVec4:
case EOpConstructInt: case EOpConstructInt:
case EOpConstructUVec2:
case EOpConstructUVec3:
case EOpConstructUVec4:
case EOpConstructUnsignedInt: case EOpConstructUnsignedInt:
case EOpConstructBVec2: case EOpConstructBVec2:
case EOpConstructBVec3: case EOpConstructBVec3:
......
...@@ -82,6 +82,9 @@ OutputHLSL::OutputHLSL(TParseContext &context, const ShBuiltInResources& resourc ...@@ -82,6 +82,9 @@ OutputHLSL::OutputHLSL(TParseContext &context, const ShBuiltInResources& resourc
mUsesEqualIVec2 = false; mUsesEqualIVec2 = false;
mUsesEqualIVec3 = false; mUsesEqualIVec3 = false;
mUsesEqualIVec4 = false; mUsesEqualIVec4 = false;
mUsesEqualUVec2 = false;
mUsesEqualUVec3 = false;
mUsesEqualUVec4 = false;
mUsesEqualBVec2 = false; mUsesEqualBVec2 = false;
mUsesEqualBVec3 = false; mUsesEqualBVec3 = false;
mUsesEqualBVec4 = false; mUsesEqualBVec4 = false;
...@@ -1268,6 +1271,30 @@ void OutputHLSL::header() ...@@ -1268,6 +1271,30 @@ void OutputHLSL::header()
"}\n"; "}\n";
} }
if (mUsesEqualUVec2)
{
out << "bool equal(uint2 v, uint2 u)\n"
"{\n"
" return v.x == u.x && v.y == u.y;\n"
"}\n";
}
if (mUsesEqualUVec3)
{
out << "bool equal(uint3 v, uint3 u)\n"
"{\n"
" return v.x == u.x && v.y == u.y && v.z == u.z;\n"
"}\n";
}
if (mUsesEqualUVec4)
{
out << "bool equal(uint4 v, uint4 u)\n"
"{\n"
" return v.x == u.x && v.y == u.y && v.z == u.z && v.w == u.w;\n"
"}\n";
}
if (mUsesEqualBVec2) if (mUsesEqualBVec2)
{ {
out << "bool equal(bool2 v, bool2 u)\n" out << "bool equal(bool2 v, bool2 u)\n"
...@@ -1620,8 +1647,13 @@ bool OutputHLSL::visitBinary(Visit visit, TIntermBinary *node) ...@@ -1620,8 +1647,13 @@ bool OutputHLSL::visitBinary(Visit visit, TIntermBinary *node)
} }
break; break;
case EbtUInt: case EbtUInt:
// TODO switch (node->getLeft()->getNominalSize())
UNIMPLEMENTED(); {
case 2: mUsesEqualUVec2 = true; break;
case 3: mUsesEqualUVec3 = true; break;
case 4: mUsesEqualUVec4 = true; break;
default: UNREACHABLE();
}
break; break;
case EbtBool: case EbtBool:
switch (node->getLeft()->getNominalSize()) switch (node->getLeft()->getNominalSize())
...@@ -1725,9 +1757,9 @@ bool OutputHLSL::visitUnary(Visit visit, TIntermUnary *node) ...@@ -1725,9 +1757,9 @@ bool OutputHLSL::visitUnary(Visit visit, TIntermUnary *node)
switch (node->getOperand()->getType().getCols()) switch (node->getOperand()->getType().getCols())
{ {
case 1: outputTriplet(visit, "uint(", "", ")"); break; case 1: outputTriplet(visit, "uint(", "", ")"); break;
case 2: case 2: outputTriplet(visit, "uint2(", "", ")"); break;
case 3: case 3: outputTriplet(visit, "uint3(", "", ")"); break;
case 4: UNIMPLEMENTED(); break; case 4: outputTriplet(visit, "uint4(", "", ")"); break;
default: UNREACHABLE(); default: UNREACHABLE();
} }
break; break;
...@@ -2224,6 +2256,18 @@ bool OutputHLSL::visitAggregate(Visit visit, TIntermAggregate *node) ...@@ -2224,6 +2256,18 @@ bool OutputHLSL::visitAggregate(Visit visit, TIntermAggregate *node)
addConstructor(node->getType(), "uvec1", &node->getSequence()); addConstructor(node->getType(), "uvec1", &node->getSequence());
outputTriplet(visit, "uvec1(", "", ")"); outputTriplet(visit, "uvec1(", "", ")");
break; break;
case EOpConstructUVec2:
addConstructor(node->getType(), "uvec2", &node->getSequence());
outputTriplet(visit, "uvec2(", ", ", ")");
break;
case EOpConstructUVec3:
addConstructor(node->getType(), "uvec3", &node->getSequence());
outputTriplet(visit, "uvec3(", ", ", ")");
break;
case EOpConstructUVec4:
addConstructor(node->getType(), "uvec4", &node->getSequence());
outputTriplet(visit, "uvec4(", ", ", ")");
break;
case EOpConstructMat2: case EOpConstructMat2:
addConstructor(node->getType(), "mat2", &node->getSequence()); addConstructor(node->getType(), "mat2", &node->getSequence());
outputTriplet(visit, "mat2(", ", ", ")"); outputTriplet(visit, "mat2(", ", ", ")");
...@@ -2883,7 +2927,9 @@ TString OutputHLSL::typeString(const TType &type) ...@@ -2883,7 +2927,9 @@ TString OutputHLSL::typeString(const TType &type)
switch (type.getCols()) switch (type.getCols())
{ {
case 1: return "uint"; case 1: return "uint";
default: UNIMPLEMENTED(); return "error"; case 2: return "uint2";
case 3: return "uint3";
case 4: return "uint4";
} }
case EbtBool: case EbtBool:
switch (type.getNominalSize()) switch (type.getNominalSize())
...@@ -3455,7 +3501,13 @@ GLenum OutputHLSL::glVariableType(const TType &type) ...@@ -3455,7 +3501,13 @@ GLenum OutputHLSL::glVariableType(const TType &type)
} }
else if (type.isVector()) else if (type.isVector())
{ {
UNIMPLEMENTED(); switch(type.getCols())
{
case 2: return GL_UNSIGNED_INT_VEC2;
case 3: return GL_UNSIGNED_INT_VEC3;
case 4: return GL_UNSIGNED_INT_VEC4;
default: UNREACHABLE();
}
} }
else UNREACHABLE(); else UNREACHABLE();
} }
......
...@@ -131,6 +131,9 @@ class OutputHLSL : public TIntermTraverser ...@@ -131,6 +131,9 @@ class OutputHLSL : public TIntermTraverser
bool mUsesEqualIVec2; bool mUsesEqualIVec2;
bool mUsesEqualIVec3; bool mUsesEqualIVec3;
bool mUsesEqualIVec4; bool mUsesEqualIVec4;
bool mUsesEqualUVec2;
bool mUsesEqualUVec3;
bool mUsesEqualUVec4;
bool mUsesEqualBVec2; bool mUsesEqualBVec2;
bool mUsesEqualBVec3; bool mUsesEqualBVec3;
bool mUsesEqualBVec4; bool mUsesEqualBVec4;
......
...@@ -1215,7 +1215,9 @@ TFunction *TParseContext::addConstructorFunc(TPublicType publicType) ...@@ -1215,7 +1215,9 @@ TFunction *TParseContext::addConstructorFunc(TPublicType publicType)
switch(publicType.getNominalSize()) switch(publicType.getNominalSize())
{ {
case 1: op = EOpConstructUnsignedInt; break; case 1: op = EOpConstructUnsignedInt; break;
default: UNIMPLEMENTED(); break; case 2: op = EOpConstructUVec2; break;
case 3: op = EOpConstructUVec3; break;
case 4: op = EOpConstructUVec4; break;
} }
break; break;
...@@ -1385,6 +1387,9 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType* type, TOperator op, T ...@@ -1385,6 +1387,9 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType* type, TOperator op, T
basicOp = EOpConstructInt; basicOp = EOpConstructInt;
break; break;
case EOpConstructUVec2:
case EOpConstructUVec3:
case EOpConstructUVec4:
case EOpConstructUnsignedInt: case EOpConstructUnsignedInt:
basicOp = EOpConstructUnsignedInt; basicOp = EOpConstructUnsignedInt;
break; break;
......
...@@ -149,6 +149,9 @@ O [0-7] ...@@ -149,6 +149,9 @@ O [0-7]
"ivec2" { context->lexAfterType = true; return (IVEC2); } "ivec2" { context->lexAfterType = true; return (IVEC2); }
"ivec3" { context->lexAfterType = true; return (IVEC3); } "ivec3" { context->lexAfterType = true; return (IVEC3); }
"ivec4" { context->lexAfterType = true; return (IVEC4); } "ivec4" { context->lexAfterType = true; return (IVEC4); }
"uvec2" { return ES2_ident_ES3_keyword(context, UVEC2); }
"uvec3" { return ES2_ident_ES3_keyword(context, UVEC3); }
"uvec4" { return ES2_ident_ES3_keyword(context, UVEC4); }
"bvec2" { context->lexAfterType = true; return (BVEC2); } "bvec2" { context->lexAfterType = true; return (BVEC2); }
"bvec3" { context->lexAfterType = true; return (BVEC3); } "bvec3" { context->lexAfterType = true; return (BVEC3); }
"bvec4" { context->lexAfterType = true; return (BVEC4); } "bvec4" { context->lexAfterType = true; return (BVEC4); }
......
...@@ -124,7 +124,7 @@ extern void yyerror(TParseContext* context, const char* reason); ...@@ -124,7 +124,7 @@ extern void yyerror(TParseContext* context, const char* reason);
%token <lex> INVARIANT HIGH_PRECISION MEDIUM_PRECISION LOW_PRECISION PRECISION %token <lex> INVARIANT HIGH_PRECISION MEDIUM_PRECISION LOW_PRECISION PRECISION
%token <lex> ATTRIBUTE CONST_QUAL BOOL_TYPE FLOAT_TYPE INT_TYPE UINT_TYPE %token <lex> ATTRIBUTE CONST_QUAL BOOL_TYPE FLOAT_TYPE INT_TYPE UINT_TYPE
%token <lex> BREAK CONTINUE DO ELSE FOR IF DISCARD RETURN SWITCH CASE DEFAULT %token <lex> BREAK CONTINUE DO ELSE FOR IF DISCARD RETURN SWITCH CASE DEFAULT
%token <lex> BVEC2 BVEC3 BVEC4 IVEC2 IVEC3 IVEC4 VEC2 VEC3 VEC4 %token <lex> BVEC2 BVEC3 BVEC4 IVEC2 IVEC3 IVEC4 VEC2 VEC3 VEC4 UVEC2 UVEC3 UVEC4
%token <lex> MATRIX2 MATRIX3 MATRIX4 IN_QUAL OUT_QUAL INOUT_QUAL UNIFORM VARYING %token <lex> MATRIX2 MATRIX3 MATRIX4 IN_QUAL OUT_QUAL INOUT_QUAL UNIFORM VARYING
%token <lex> MATRIX2x3 MATRIX3x2 MATRIX2x4 MATRIX4x2 MATRIX3x4 MATRIX4x3 %token <lex> MATRIX2x3 MATRIX3x2 MATRIX2x4 MATRIX4x2 MATRIX3x4 MATRIX4x3
%token <lex> CENTROID FLAT SMOOTH %token <lex> CENTROID FLAT SMOOTH
...@@ -1511,6 +1511,21 @@ type_specifier_nonarray ...@@ -1511,6 +1511,21 @@ type_specifier_nonarray
$$.setBasic(EbtInt, qual, $1.line); $$.setBasic(EbtInt, qual, $1.line);
$$.setAggregate(4); $$.setAggregate(4);
} }
| UVEC2 {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtUInt, qual, $1.line);
$$.setAggregate(2);
}
| UVEC3 {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtUInt, qual, $1.line);
$$.setAggregate(3);
}
| UVEC4 {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtUInt, qual, $1.line);
$$.setAggregate(4);
}
| MATRIX2 { | MATRIX2 {
FRAG_VERT_ONLY("mat2", $1.line); FRAG_VERT_ONLY("mat2", $1.line);
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
......
...@@ -383,8 +383,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); ...@@ -383,8 +383,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 224 #define YY_NUM_RULES 227
#define YY_END_OF_BUFFER 225 #define YY_END_OF_BUFFER 228
/* 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
...@@ -392,93 +392,93 @@ struct yy_trans_info ...@@ -392,93 +392,93 @@ 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[773] = static yyconst flex_int16_t yy_accept[779] =
{ 0, { 0,
0, 0, 0, 0, 0, 0, 225, 223, 222, 222, 0, 0, 0, 0, 0, 0, 228, 226, 225, 225,
207, 213, 218, 202, 203, 211, 210, 199, 208, 206, 210, 216, 221, 205, 206, 214, 213, 202, 211, 209,
212, 171, 171, 200, 196, 214, 201, 215, 219, 167, 215, 174, 174, 203, 199, 217, 204, 218, 222, 170,
204, 205, 217, 167, 167, 167, 167, 167, 167, 167, 207, 208, 220, 170, 170, 170, 170, 170, 170, 170,
167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
167, 167, 167, 197, 216, 198, 209, 3, 4, 3, 170, 170, 170, 200, 219, 201, 212, 3, 4, 3,
221, 224, 220, 193, 179, 198, 187, 182, 177, 185, 224, 227, 223, 196, 182, 201, 190, 185, 180, 188,
175, 186, 176, 174, 2, 1, 178, 173, 169, 170, 178, 189, 179, 177, 2, 1, 181, 176, 172, 173,
0, 0, 171, 205, 197, 204, 194, 190, 192, 191, 0, 0, 174, 208, 200, 207, 197, 193, 195, 194,
195, 167, 183, 189, 167, 167, 167, 167, 167, 167, 198, 170, 186, 192, 170, 170, 170, 170, 170, 170,
167, 167, 167, 167, 167, 167, 17, 167, 167, 167, 170, 170, 170, 170, 170, 170, 17, 170, 170, 170,
167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
20, 167, 167, 28, 167, 167, 167, 167, 167, 167, 20, 170, 170, 28, 170, 170, 170, 170, 170, 170,
167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
167, 167, 167, 167, 167, 184, 188, 5, 220, 0, 170, 170, 170, 170, 170, 170, 187, 191, 5, 223,
1, 173, 0, 0, 172, 168, 180, 181, 167, 125, 0, 1, 176, 0, 0, 175, 171, 183, 184, 170,
167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 128, 170, 170, 170, 170, 170, 170, 170, 170, 170,
167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
167, 167, 167, 18, 167, 167, 167, 167, 167, 167, 170, 170, 170, 170, 18, 170, 170, 170, 170, 170,
167, 167, 167, 167, 32, 167, 167, 167, 167, 167, 170, 170, 170, 170, 170, 32, 170, 170, 170, 170,
167, 167, 167, 167, 167, 29, 167, 167, 167, 167, 170, 170, 170, 170, 170, 170, 29, 170, 170, 170,
167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
167, 167, 167, 167, 167, 167, 167, 167, 167, 0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
174, 0, 173, 167, 167, 167, 35, 167, 167, 23, 170, 0, 177, 0, 176, 170, 170, 170, 35, 170,
164, 167, 167, 167, 167, 167, 167, 167, 167, 167, 170, 23, 167, 170, 170, 170, 170, 170, 170, 170,
167, 21, 128, 167, 167, 167, 167, 26, 167, 167, 170, 170, 170, 21, 131, 170, 170, 170, 170, 26,
133, 145, 167, 167, 167, 167, 167, 167, 167, 167, 170, 170, 136, 148, 170, 170, 170, 170, 170, 170,
167, 167, 167, 142, 9, 40, 41, 42, 167, 167, 170, 170, 170, 170, 170, 145, 9, 40, 41, 42,
167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
167, 167, 131, 36, 167, 167, 33, 167, 167, 167, 170, 170, 170, 170, 134, 36, 170, 170, 33, 170,
167, 167, 167, 52, 53, 54, 34, 167, 167, 167, 170, 170, 170, 170, 170, 170, 52, 53, 54, 34,
167, 167, 167, 15, 58, 59, 60, 167, 126, 167, 170, 170, 170, 170, 170, 170, 15, 61, 62, 63,
167, 12, 167, 167, 167, 167, 154, 155, 156, 167, 170, 129, 170, 170, 12, 170, 170, 170, 170, 157,
37, 167, 146, 31, 157, 158, 159, 7, 151, 152, 158, 159, 170, 37, 170, 149, 31, 160, 161, 162,
153, 167, 167, 167, 30, 149, 167, 167, 167, 55, 7, 154, 155, 156, 170, 170, 170, 30, 152, 170,
56, 57, 167, 167, 167, 167, 167, 167, 167, 167, 170, 170, 55, 56, 57, 170, 170, 170, 170, 170,
167, 167, 76, 167, 167, 167, 167, 167, 167, 167, 170, 170, 170, 170, 170, 79, 170, 170, 170, 170,
143, 167, 167, 167, 167, 167, 167, 167, 167, 167, 170, 170, 170, 146, 170, 170, 170, 170, 170, 170,
167, 167, 127, 167, 167, 166, 167, 167, 19, 167, 170, 170, 170, 170, 170, 130, 170, 170, 169, 58,
81, 167, 167, 167, 167, 79, 167, 167, 167, 144, 59, 60, 170, 170, 19, 170, 84, 170, 170, 170,
139, 82, 167, 167, 167, 167, 167, 167, 134, 167, 170, 82, 170, 170, 170, 147, 142, 85, 170, 170,
167, 167, 43, 46, 48, 47, 44, 50, 49, 51, 170, 170, 170, 170, 137, 170, 170, 170, 43, 46,
45, 167, 167, 167, 167, 150, 132, 167, 167, 137, 48, 47, 44, 50, 49, 51, 45, 170, 170, 170,
167, 167, 167, 39, 77, 163, 27, 138, 68, 167, 170, 153, 135, 170, 170, 140, 170, 170, 170, 39,
148, 22, 167, 167, 167, 167, 167, 167, 167, 167, 80, 166, 27, 141, 71, 170, 151, 22, 170, 170,
167, 167, 167, 167, 167, 167, 24, 38, 167, 167, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
167, 167, 167, 167, 83, 84, 85, 167, 167, 167, 170, 170, 24, 38, 170, 170, 170, 170, 170, 170,
167, 167, 8, 167, 167, 167, 167, 167, 167, 167, 86, 87, 88, 170, 170, 170, 170, 170, 8, 170,
167, 167, 167, 167, 129, 167, 167, 167, 167, 167, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
13, 167, 167, 14, 167, 167, 167, 167, 25, 69, 132, 170, 170, 170, 170, 170, 13, 170, 170, 14,
16, 140, 87, 88, 89, 167, 167, 167, 167, 167, 170, 170, 170, 170, 25, 72, 16, 143, 90, 91,
167, 167, 167, 167, 167, 167, 167, 135, 167, 167, 92, 170, 170, 170, 170, 170, 170, 170, 170, 170,
167, 71, 73, 70, 167, 167, 167, 167, 167, 167, 170, 170, 170, 138, 170, 170, 170, 74, 76, 73,
167, 130, 91, 92, 93, 167, 167, 147, 167, 136, 170, 170, 170, 170, 170, 170, 170, 133, 94, 95,
167, 167, 11, 167, 167, 167, 167, 167, 167, 167, 96, 170, 170, 150, 170, 139, 170, 170, 11, 170,
167, 167, 86, 141, 6, 167, 167, 167, 165, 167, 170, 170, 170, 170, 170, 170, 170, 170, 89, 144,
80, 10, 160, 61, 64, 167, 167, 167, 167, 167, 6, 170, 170, 170, 168, 170, 83, 10, 163, 64,
167, 167, 167, 167, 167, 167, 72, 167, 167, 167, 67, 170, 170, 170, 170, 170, 170, 170, 170, 170,
167, 90, 167, 167, 167, 167, 167, 110, 167, 167, 170, 170, 75, 170, 170, 170, 170, 93, 170, 170,
167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 170, 170, 170, 113, 170, 170, 170, 170, 170, 170,
78, 167, 167, 167, 94, 112, 167, 167, 74, 167, 170, 170, 170, 170, 170, 170, 81, 170, 170, 170,
167, 167, 167, 167, 167, 167, 105, 167, 167, 167, 97, 115, 170, 170, 77, 170, 170, 170, 170, 170,
167, 167, 167, 167, 119, 167, 167, 167, 167, 62, 170, 170, 108, 170, 170, 170, 170, 170, 170, 170,
167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 122, 170, 170, 170, 170, 65, 170, 170, 170, 170,
106, 95, 167, 96, 167, 167, 120, 167, 167, 167, 170, 170, 170, 170, 170, 170, 109, 98, 170, 99,
167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 170, 170, 123, 170, 170, 170, 170, 170, 170, 170,
107, 167, 121, 167, 167, 97, 98, 167, 101, 167, 170, 170, 170, 170, 170, 170, 110, 170, 124, 170,
102, 167, 167, 167, 167, 75, 167, 167, 167, 67, 170, 100, 101, 170, 104, 170, 105, 170, 170, 170,
167, 65, 116, 167, 99, 100, 167, 167, 167, 167, 170, 78, 170, 170, 170, 70, 170, 68, 119, 170,
167, 167, 167, 167, 114, 117, 108, 167, 167, 167, 102, 103, 170, 170, 170, 170, 170, 170, 170, 170,
167, 167, 167, 167, 115, 118, 167, 167, 111, 167, 117, 120, 111, 170, 170, 170, 170, 170, 170, 170,
167, 161, 167, 167, 66, 167, 113, 167, 167, 167, 118, 121, 170, 170, 114, 170, 170, 164, 170, 170,
167, 167, 122, 167, 167, 167, 167, 167, 123, 167, 69, 170, 116, 170, 170, 170, 170, 170, 125, 170,
167, 167, 124, 103, 104, 167, 167, 63, 167, 162, 170, 170, 170, 170, 126, 170, 170, 170, 127, 106,
109, 0 107, 170, 170, 66, 170, 165, 112, 0
} ; } ;
static yyconst flex_int32_t yy_ec[256] = static yyconst flex_int32_t yy_ec[256] =
...@@ -525,185 +525,187 @@ static yyconst flex_int32_t yy_meta[72] = ...@@ -525,185 +525,187 @@ static yyconst flex_int32_t yy_meta[72] =
1 1
} ; } ;
static yyconst flex_int16_t yy_base[778] = static yyconst flex_int16_t yy_base[784] =
{ 0, { 0,
0, 0, 69, 70, 79, 0, 1002, 1003, 1003, 1003, 0, 0, 69, 70, 79, 0, 1008, 1009, 1009, 1009,
976, 49, 145, 1003, 1003, 975, 142, 1003, 141, 139, 982, 49, 145, 1009, 1009, 981, 142, 1009, 141, 139,
154, 167, 176, 973, 1003, 176, 973, 51, 1003, 0, 154, 167, 176, 979, 1009, 176, 979, 51, 1009, 0,
1003, 1003, 136, 116, 112, 159, 157, 156, 173, 940, 1009, 1009, 136, 116, 112, 159, 157, 156, 173, 946,
174, 179, 939, 175, 189, 933, 185, 946, 197, 203, 174, 179, 945, 175, 189, 939, 185, 952, 197, 203,
204, 209, 113, 1003, 186, 1003, 1003, 1003, 1003, 979, 204, 209, 113, 1009, 186, 1009, 1009, 1009, 1009, 985,
1003, 1003, 0, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1009, 1009, 0, 1009, 1009, 1009, 1009, 1009, 1009, 1009,
1003, 1003, 1003, 255, 1003, 0, 1003, 262, 280, 298, 1009, 1009, 1009, 255, 1009, 0, 1009, 262, 280, 298,
317, 0, 332, 1003, 1003, 1003, 967, 1003, 1003, 1003, 317, 0, 332, 1009, 1009, 1009, 973, 1009, 1009, 1009,
966, 0, 1003, 1003, 929, 934, 206, 931, 939, 938, 972, 0, 1009, 1009, 935, 940, 227, 937, 945, 944,
925, 928, 939, 233, 933, 921, 918, 931, 918, 915, 931, 934, 945, 234, 939, 927, 924, 937, 924, 921,
915, 921, 237, 248, 915, 925, 911, 917, 920, 921, 921, 927, 237, 206, 921, 931, 917, 923, 926, 927,
0, 913, 923, 300, 922, 917, 109, 903, 916, 907, 0, 919, 929, 300, 928, 923, 109, 909, 922, 913,
268, 900, 262, 912, 914, 246, 903, 900, 889, 898, 234, 906, 261, 918, 920, 264, 909, 906, 895, 904,
206, 264, 902, 898, 900, 889, 892, 230, 279, 315, 262, 281, 908, 904, 906, 895, 898, 249, 271, 315,
890, 902, 150, 895, 894, 1003, 1003, 1003, 0, 356, 907, 895, 907, 150, 900, 899, 1009, 1009, 1009, 0,
0, 366, 384, 391, 400, 0, 1003, 1003, 893, 0, 356, 0, 366, 384, 391, 400, 0, 1009, 1009, 898,
889, 884, 888, 897, 894, 294, 878, 878, 889, 881, 0, 894, 889, 893, 902, 899, 294, 883, 883, 894,
264, 891, 888, 888, 886, 883, 875, 881, 868, 866, 886, 280, 896, 893, 893, 891, 888, 880, 886, 873,
878, 864, 880, 0, 877, 865, 872, 869, 873, 874, 871, 883, 869, 885, 0, 882, 870, 877, 874, 878,
867, 864, 853, 852, 865, 868, 856, 864, 859, 850, 879, 872, 869, 858, 857, 870, 873, 861, 869, 864,
371, 855, 858, 849, 856, 845, 849, 840, 854, 853, 855, 371, 860, 863, 854, 861, 850, 854, 845, 859,
844, 850, 283, 834, 837, 835, 845, 835, 830, 828, 858, 849, 855, 299, 839, 842, 840, 850, 840, 835,
830, 840, 826, 828, 825, 836, 835, 838, 820, 313, 833, 835, 845, 831, 833, 830, 841, 840, 843, 825,
828, 824, 822, 811, 374, 829, 831, 820, 812, 407, 313, 833, 829, 827, 836, 815, 374, 833, 835, 824,
414, 421, 428, 809, 819, 818, 0, 816, 433, 0, 816, 407, 414, 421, 428, 813, 823, 822, 0, 820,
0, 809, 807, 807, 808, 803, 811, 800, 817, 806, 433, 0, 0, 813, 811, 811, 812, 807, 815, 804,
436, 0, 0, 800, 810, 809, 809, 0, 794, 439, 821, 810, 436, 0, 0, 804, 814, 813, 813, 0,
0, 0, 796, 442, 803, 804, 795, 789, 788, 789, 798, 439, 0, 0, 800, 442, 807, 808, 799, 793,
788, 788, 445, 0, 0, 780, 779, 778, 780, 781, 792, 793, 792, 792, 445, 0, 0, 784, 783, 782,
786, 780, 776, 789, 784, 784, 782, 781, 775, 769, 784, 785, 790, 784, 780, 793, 788, 788, 786, 785,
771, 770, 774, 766, 769, 764, 772, 777, 765, 762, 779, 773, 775, 774, 778, 770, 773, 768, 776, 781,
774, 765, 0, 0, 771, 767, 0, 759, 759, 764, 769, 766, 778, 769, 0, 0, 775, 771, 0, 763,
755, 762, 759, 0, 0, 0, 0, 749, 761, 760, 763, 768, 759, 766, 448, 763, 0, 0, 0, 0,
759, 760, 760, 0, 0, 0, 0, 747, 0, 755, 753, 765, 764, 763, 764, 764, 0, 0, 0, 0,
746, 0, 745, 746, 740, 750, 0, 0, 0, 741, 751, 0, 759, 750, 0, 749, 750, 744, 754, 0,
0, 737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 745, 0, 741, 0, 0, 0, 0, 0,
0, 747, 449, 746, 0, 0, 744, 740, 737, 0, 0, 0, 0, 0, 751, 452, 750, 0, 0, 748,
0, 0, 451, 454, 457, 735, 731, 736, 727, 725, 744, 741, 0, 0, 0, 454, 457, 460, 739, 735,
738, 723, 0, 723, 736, 725, 721, 727, 722, 729, 740, 731, 729, 742, 727, 0, 727, 740, 729, 725,
0, 727, 724, 728, 712, 710, 713, 719, 725, 720, 731, 726, 733, 0, 731, 728, 732, 716, 714, 717,
719, 707, 0, 709, 710, 0, 707, 710, 0, 704, 723, 729, 724, 723, 711, 0, 713, 714, 0, 0,
0, 717, 697, 706, 701, 0, 694, 694, 707, 0, 0, 0, 711, 714, 0, 708, 0, 721, 701, 710,
709, 0, 464, 721, 720, 719, 687, 686, 0, 703, 705, 0, 698, 698, 711, 0, 713, 0, 467, 725,
702, 697, 0, 0, 0, 0, 0, 0, 0, 0, 724, 723, 691, 690, 0, 707, 706, 701, 0, 0,
0, 686, 699, 686, 683, 0, 0, 688, 687, 0, 0, 0, 0, 0, 0, 0, 0, 690, 703, 690,
684, 691, 690, 0, 676, 0, 0, 0, 0, 673, 687, 0, 0, 692, 691, 0, 688, 695, 694, 0,
0, 0, 672, 683, 467, 676, 682, 681, 678, 673, 680, 0, 0, 0, 0, 677, 0, 0, 676, 687,
670, 663, 663, 676, 661, 673, 0, 0, 666, 688, 470, 680, 686, 685, 682, 677, 674, 667, 667, 680,
687, 686, 654, 653, 341, 449, 0, 665, 668, 666, 665, 677, 0, 0, 670, 692, 691, 690, 658, 657,
655, 651, 0, 663, 660, 659, 649, 648, 638, 655, 341, 452, 0, 669, 672, 670, 659, 655, 0, 667,
641, 472, 649, 652, 0, 668, 667, 666, 634, 633, 664, 663, 653, 652, 642, 659, 645, 475, 653, 656,
0, 647, 634, 0, 644, 637, 638, 641, 0, 0, 0, 672, 671, 670, 638, 637, 0, 651, 638, 0,
0, 0, 660, 659, 0, 637, 640, 625, 632, 623, 648, 641, 642, 645, 0, 0, 0, 0, 664, 663,
630, 631, 631, 630, 616, 482, 628, 0, 629, 618, 0, 641, 644, 629, 636, 627, 634, 635, 635, 634,
617, 0, 0, 0, 641, 640, 639, 607, 606, 602, 620, 485, 632, 0, 633, 622, 621, 0, 0, 0,
610, 0, 637, 636, 0, 614, 617, 0, 489, 0, 645, 644, 643, 611, 610, 606, 614, 0, 641, 640,
595, 604, 0, 600, 599, 608, 608, 596, 610, 594, 0, 618, 621, 0, 492, 0, 599, 608, 0, 604,
608, 603, 0, 0, 0, 619, 618, 586, 0, 586, 603, 612, 612, 600, 614, 598, 612, 607, 0, 0,
0, 0, 472, 477, 609, 596, 599, 582, 594, 582, 0, 623, 622, 590, 0, 590, 0, 0, 475, 480,
581, 590, 590, 606, 605, 573, 0, 573, 574, 573, 613, 600, 603, 586, 598, 586, 585, 594, 594, 610,
583, 0, 586, 582, 584, 580, 567, 597, 203, 575, 609, 577, 0, 577, 578, 577, 587, 0, 590, 586,
571, 563, 570, 582, 571, 567, 569, 567, 567, 566, 588, 584, 571, 601, 203, 579, 575, 567, 574, 586,
0, 554, 553, 563, 0, 582, 208, 560, 0, 564, 575, 571, 573, 571, 571, 570, 0, 558, 557, 567,
563, 547, 539, 547, 537, 545, 0, 542, 562, 551, 0, 586, 208, 564, 0, 568, 567, 551, 543, 551,
549, 534, 537, 551, 566, 547, 548, 545, 542, 0, 541, 549, 0, 546, 566, 555, 553, 538, 541, 555,
530, 544, 543, 527, 526, 546, 535, 533, 515, 514, 570, 551, 552, 549, 546, 0, 534, 548, 547, 531,
0, 541, 514, 539, 512, 516, 546, 527, 524, 523, 530, 550, 539, 537, 519, 518, 0, 545, 518, 543,
526, 522, 509, 506, 519, 504, 505, 507, 496, 495, 516, 520, 550, 531, 528, 527, 530, 526, 513, 510,
0, 501, 531, 512, 509, 0, 0, 505, 0, 504, 523, 508, 509, 511, 500, 499, 0, 505, 535, 516,
0, 510, 494, 491, 492, 0, 484, 492, 489, 509, 513, 0, 0, 509, 0, 508, 0, 514, 498, 495,
489, 0, 0, 501, 0, 0, 500, 484, 481, 482, 496, 0, 488, 496, 493, 513, 493, 0, 0, 505,
496, 495, 472, 478, 0, 0, 498, 471, 490, 482, 0, 0, 504, 488, 485, 486, 500, 499, 476, 482,
468, 477, 462, 458, 0, 0, 469, 466, 0, 465, 0, 0, 502, 475, 494, 486, 472, 481, 468, 472,
457, 0, 441, 459, 0, 459, 0, 448, 434, 429, 0, 0, 473, 472, 0, 472, 461, 0, 445, 466,
347, 353, 0, 348, 346, 299, 296, 292, 0, 296, 0, 470, 0, 454, 438, 437, 423, 369, 0, 350,
284, 266, 0, 0, 0, 211, 158, 0, 126, 0, 363, 312, 301, 280, 0, 296, 252, 230, 0, 0,
0, 1003, 518, 520, 522, 526, 171 0, 208, 158, 0, 126, 0, 0, 1009, 521, 523,
525, 529, 171
} ; } ;
static yyconst flex_int16_t yy_def[778] = static yyconst flex_int16_t yy_def[784] =
{ 0, { 0,
772, 1, 773, 773, 772, 5, 772, 772, 772, 772, 778, 1, 779, 779, 778, 5, 778, 778, 778, 778,
772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 778, 778, 778, 778, 778, 778, 778, 778, 778, 778,
772, 772, 772, 772, 772, 772, 772, 772, 772, 774, 778, 778, 778, 778, 778, 778, 778, 778, 778, 780,
772, 772, 772, 774, 774, 774, 774, 774, 774, 774, 778, 778, 778, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 772, 772, 772, 772, 772, 772, 772, 780, 780, 780, 778, 778, 778, 778, 778, 778, 778,
772, 772, 775, 772, 772, 772, 772, 772, 772, 772, 778, 778, 781, 778, 778, 778, 778, 778, 778, 778,
772, 772, 772, 772, 772, 776, 772, 772, 772, 772, 778, 778, 778, 778, 778, 782, 778, 778, 778, 778,
772, 777, 772, 772, 772, 772, 772, 772, 772, 772, 778, 783, 778, 778, 778, 778, 778, 778, 778, 778,
772, 774, 772, 772, 774, 774, 774, 774, 774, 774, 778, 780, 778, 778, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 772, 772, 772, 775, 772, 780, 780, 780, 780, 780, 780, 778, 778, 778, 781,
776, 772, 772, 772, 772, 777, 772, 772, 774, 774, 778, 782, 778, 778, 778, 778, 783, 778, 778, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 772, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
772, 772, 772, 774, 774, 774, 774, 774, 774, 774, 780, 778, 778, 778, 778, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
774, 0, 772, 772, 772, 772, 772 780, 780, 780, 780, 780, 780, 780, 0, 778, 778,
778, 778, 778
} ; } ;
static yyconst flex_int16_t yy_nxt[1075] = static yyconst flex_int16_t yy_nxt[1081] =
{ 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,
...@@ -722,110 +724,110 @@ static yyconst flex_int16_t yy_nxt[1075] = ...@@ -722,110 +724,110 @@ static yyconst flex_int16_t yy_nxt[1075] =
63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
63, 63, 63, 63, 63, 63, 8, 8, 8, 8, 63, 63, 63, 63, 63, 63, 8, 8, 8, 8,
67, 70, 72, 74, 74, 74, 74, 74, 74, 74, 67, 70, 72, 74, 74, 74, 74, 74, 74, 74,
93, 95, 75, 154, 209, 73, 71, 76, 98, 68, 93, 95, 75, 155, 210, 73, 71, 76, 98, 68,
99, 155, 210, 166, 100, 96, 97, 94, 77, 78, 99, 156, 211, 167, 100, 96, 97, 94, 77, 78,
85, 79, 79, 79, 79, 79, 79, 80, 78, 771, 85, 79, 79, 79, 79, 79, 79, 80, 78, 777,
83, 83, 83, 83, 83, 83, 83, 86, 81, 87, 83, 83, 83, 83, 83, 83, 83, 86, 81, 87,
88, 246, 101, 247, 105, 82, 102, 81, 106, 109, 88, 248, 101, 249, 105, 82, 102, 81, 106, 109,
156, 110, 103, 107, 81, 104, 112, 118, 128, 108, 157, 110, 103, 107, 81, 104, 112, 118, 128, 108,
111, 770, 129, 81, 113, 119, 114, 121, 133, 115, 111, 776, 129, 81, 113, 119, 114, 121, 133, 115,
122, 82, 130, 123, 124, 116, 120, 649, 125, 650, 122, 82, 130, 123, 124, 116, 120, 655, 125, 656,
137, 126, 666, 134, 667, 131, 135, 138, 139, 229, 137, 126, 672, 134, 673, 131, 135, 138, 139, 193,
144, 140, 151, 145, 157, 148, 152, 141, 142, 149, 144, 140, 152, 145, 158, 148, 153, 141, 142, 149,
143, 146, 171, 150, 230, 153, 172, 769, 147, 74, 143, 146, 194, 150, 775, 154, 151, 774, 147, 74,
74, 74, 74, 74, 74, 74, 162, 162, 162, 162, 74, 74, 74, 74, 74, 74, 163, 163, 163, 163,
162, 162, 162, 179, 238, 239, 160, 180, 181, 222, 163, 163, 163, 172, 180, 215, 161, 173, 181, 182,
190, 192, 78, 163, 79, 79, 79, 79, 79, 79, 191, 216, 78, 164, 79, 79, 79, 79, 79, 79,
80, 191, 160, 768, 193, 223, 224, 217, 231, 163, 80, 192, 161, 239, 240, 230, 218, 223, 773, 164,
78, 81, 80, 80, 80, 80, 80, 80, 80, 214, 78, 81, 80, 80, 80, 80, 80, 80, 80, 219,
218, 232, 219, 266, 267, 215, 164, 81, 164, 81, 231, 220, 241, 224, 225, 232, 165, 81, 165, 81,
240, 165, 165, 165, 165, 165, 165, 165, 241, 310, 242, 166, 166, 166, 166, 166, 166, 166, 233, 268,
767, 260, 766, 311, 78, 81, 83, 83, 83, 83, 269, 262, 772, 771, 78, 81, 83, 83, 83, 83,
83, 83, 83, 202, 261, 765, 203, 204, 242, 764, 83, 83, 83, 203, 263, 312, 204, 205, 243, 313,
205, 328, 206, 81, 763, 250, 243, 250, 538, 329, 206, 330, 207, 81, 770, 252, 244, 252, 544, 331,
251, 251, 251, 251, 251, 251, 251, 762, 539, 81, 253, 253, 253, 253, 253, 253, 253, 769, 545, 81,
162, 162, 162, 162, 162, 162, 162, 296, 297, 298, 163, 163, 163, 163, 163, 163, 163, 298, 299, 300,
334, 335, 336, 252, 761, 252, 760, 163, 253, 253, 337, 338, 339, 254, 768, 254, 767, 164, 255, 255,
253, 253, 253, 253, 253, 165, 165, 165, 165, 165, 255, 255, 255, 255, 255, 166, 166, 166, 166, 166,
165, 165, 759, 163, 165, 165, 165, 165, 165, 165, 166, 166, 766, 164, 166, 166, 166, 166, 166, 166,
165, 251, 251, 251, 251, 251, 251, 251, 251, 251, 166, 253, 253, 253, 253, 253, 253, 253, 253, 253,
251, 251, 251, 251, 251, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 255, 255, 255, 255, 255,
253, 253, 253, 253, 253, 253, 253, 253, 253, 345, 255, 255, 255, 255, 255, 255, 255, 255, 255, 348,
346, 347, 357, 358, 359, 365, 366, 367, 369, 370, 349, 350, 360, 361, 362, 368, 369, 370, 372, 373,
371, 380, 381, 382, 434, 435, 436, 443, 444, 445, 374, 383, 384, 385, 420, 421, 422, 440, 441, 442,
446, 447, 448, 449, 450, 451, 540, 437, 438, 490, 449, 450, 451, 452, 453, 454, 455, 456, 457, 546,
491, 492, 516, 517, 518, 758, 541, 555, 556, 557, 443, 444, 496, 497, 498, 522, 523, 524, 765, 547,
757, 756, 493, 494, 755, 519, 520, 586, 587, 622, 561, 562, 563, 764, 763, 499, 500, 762, 525, 526,
558, 559, 754, 560, 604, 605, 753, 752, 751, 623, 592, 593, 628, 564, 565, 761, 566, 610, 611, 760,
588, 624, 750, 625, 626, 749, 748, 606, 58, 58, 759, 758, 629, 594, 630, 757, 631, 632, 756, 755,
58, 58, 92, 92, 159, 159, 161, 747, 161, 161, 612, 58, 58, 58, 58, 92, 92, 160, 160, 162,
754, 162, 162, 753, 752, 751, 750, 749, 748, 747,
746, 745, 744, 743, 742, 741, 740, 739, 738, 737, 746, 745, 744, 743, 742, 741, 740, 739, 738, 737,
736, 735, 734, 733, 732, 731, 730, 729, 728, 727, 736, 735, 734, 733, 732, 731, 730, 729, 728, 727,
726, 725, 724, 723, 722, 721, 720, 719, 718, 717, 726, 725, 724, 723, 722, 721, 720, 719, 718, 717,
716, 715, 714, 713, 712, 711, 710, 709, 708, 707, 716, 715, 714, 713, 712, 711, 710, 709, 708, 707,
706, 705, 704, 703, 702, 701, 700, 699, 698, 697, 706, 705, 704, 703, 702, 701, 700, 699, 698, 697,
696, 695, 694, 693, 692, 691, 690, 689, 688, 687, 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, 665, 686, 685, 684, 683, 682, 681, 680, 679, 678, 677,
664, 663, 662, 661, 660, 659, 658, 657, 656, 655, 676, 675, 674, 671, 670, 669, 668, 667, 666, 665,
654, 653, 652, 651, 648, 647, 646, 645, 644, 643, 664, 663, 662, 661, 660, 659, 658, 657, 654, 653,
652, 651, 650, 649, 648, 647, 646, 645, 644, 643,
642, 641, 640, 639, 638, 637, 636, 635, 634, 633, 642, 641, 640, 639, 638, 637, 636, 635, 634, 633,
632, 631, 630, 629, 628, 627, 621, 620, 619, 618, 627, 626, 625, 624, 623, 622, 621, 620, 619, 618,
617, 616, 615, 614, 613, 612, 611, 610, 609, 608, 617, 616, 615, 614, 613, 609, 608, 607, 606, 605,
607, 603, 602, 601, 600, 599, 598, 597, 596, 595, 604, 603, 602, 601, 600, 599, 598, 597, 596, 595,
594, 593, 592, 591, 590, 589, 585, 584, 583, 582, 591, 590, 589, 588, 587, 586, 585, 584, 583, 582,
581, 580, 579, 578, 577, 576, 575, 574, 573, 572, 581, 580, 579, 578, 577, 576, 575, 574, 573, 572,
571, 570, 569, 568, 567, 566, 565, 564, 563, 562,
571, 570, 569, 568, 567, 560, 559, 558, 557, 556,
561, 554, 553, 552, 551, 550, 549, 548, 547, 546, 555, 554, 553, 552, 551, 550, 549, 548, 543, 542,
545, 544, 543, 542, 537, 536, 535, 534, 533, 532, 541, 540, 539, 538, 537, 536, 535, 534, 533, 532,
531, 530, 529, 528, 527, 526, 525, 524, 523, 522, 531, 530, 529, 528, 527, 521, 520, 519, 518, 517,
521, 515, 514, 513, 512, 511, 510, 509, 508, 507, 516, 515, 514, 513, 512, 511, 510, 509, 508, 507,
506, 505, 504, 503, 502, 501, 500, 499, 498, 497, 506, 505, 504, 503, 502, 501, 495, 494, 493, 492,
496, 495, 489, 488, 487, 486, 485, 484, 483, 482, 491, 490, 489, 488, 487, 486, 485, 484, 483, 482,
481, 480, 479, 478, 477, 476, 475, 474, 473, 472, 481, 480, 479, 478, 477, 476, 475, 474, 473, 472,
471, 470, 469, 468, 467, 466, 465, 464, 463, 462, 471, 470, 469, 468, 467, 466, 465, 464, 463, 462,
461, 460, 459, 458, 457, 456, 455, 454, 453, 452, 461, 460, 459, 458, 448, 447, 446, 445, 439, 438,
442, 441, 440, 439, 433, 432, 431, 430, 429, 428,
437, 436, 435, 434, 433, 432, 431, 430, 429, 428,
427, 426, 425, 424, 423, 422, 421, 420, 419, 418, 427, 426, 425, 424, 423, 419, 418, 417, 416, 415,
417, 416, 415, 414, 413, 412, 411, 410, 409, 408, 414, 413, 412, 411, 410, 409, 408, 407, 406, 405,
407, 406, 405, 404, 403, 402, 401, 400, 399, 398, 404, 403, 402, 401, 400, 399, 398, 397, 396, 395,
397, 396, 395, 394, 393, 392, 391, 390, 389, 388, 394, 393, 392, 391, 390, 389, 388, 387, 386, 382,
387, 386, 385, 384, 383, 379, 378, 377, 376, 375, 381, 380, 379, 378, 377, 376, 375, 371, 367, 366,
374, 373, 372, 368, 364, 363, 362, 361, 360, 356, 365, 364, 363, 359, 358, 357, 356, 355, 354, 353,
355, 354, 353, 352, 351, 350, 349, 348, 344, 343, 352, 351, 347, 346, 345, 344, 343, 342, 341, 340,
342, 341, 340, 339, 338, 337, 333, 332, 331, 330, 336, 335, 334, 333, 332, 329, 328, 327, 326, 325,
327, 326, 325, 324, 323, 322, 321, 320, 319, 318, 324, 323, 322, 321, 320, 319, 318, 317, 316, 315,
317, 316, 315, 314, 313, 312, 309, 308, 307, 306,
314, 311, 310, 309, 308, 307, 306, 305, 304, 303,
305, 304, 303, 302, 301, 300, 299, 295, 294, 293, 302, 301, 297, 296, 295, 294, 293, 292, 291, 290,
292, 291, 290, 289, 288, 287, 286, 285, 284, 283, 289, 288, 287, 286, 285, 284, 283, 282, 281, 280,
282, 281, 280, 279, 278, 277, 276, 275, 274, 273, 279, 278, 277, 276, 275, 274, 273, 272, 271, 270,
272, 271, 270, 269, 268, 265, 264, 263, 262, 259, 267, 266, 265, 264, 261, 260, 259, 258, 257, 256,
258, 257, 256, 255, 254, 249, 248, 245, 244, 237, 251, 250, 247, 246, 245, 238, 237, 236, 235, 234,
236, 235, 234, 233, 228, 227, 226, 225, 221, 220, 229, 228, 227, 226, 222, 221, 217, 214, 213, 212,
216, 213, 212, 211, 208, 207, 201, 200, 199, 198, 209, 208, 202, 201, 200, 199, 198, 197, 196, 195,
197, 196, 195, 194, 189, 188, 187, 186, 185, 184, 190, 189, 188, 187, 186, 185, 184, 183, 179, 178,
183, 182, 178, 177, 176, 175, 174, 173, 170, 169, 177, 176, 175, 174, 171, 170, 169, 168, 159, 136,
168, 167, 158, 136, 132, 127, 117, 89, 84, 69,
132, 127, 117, 89, 84, 69, 64, 778, 7, 778,
64, 772, 7, 772, 772, 772, 772, 772, 772, 772, 778, 778, 778, 778, 778, 778, 778, 778, 778, 778,
772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 778, 778, 778, 778, 778, 778, 778, 778, 778, 778,
772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 778, 778, 778, 778, 778, 778, 778, 778, 778, 778,
772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 778, 778, 778, 778, 778, 778, 778, 778, 778, 778,
772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 778, 778, 778, 778, 778, 778, 778, 778, 778, 778,
772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 778, 778, 778, 778, 778, 778, 778, 778, 778, 778,
772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 778, 778, 778, 778, 778, 778, 778, 778, 778, 778
772, 772, 772, 772
} ; } ;
static yyconst flex_int16_t yy_chk[1075] = static yyconst flex_int16_t yy_chk[1081] =
{ 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,
...@@ -845,110 +847,110 @@ static yyconst flex_int16_t yy_chk[1075] = ...@@ -845,110 +847,110 @@ static yyconst flex_int16_t yy_chk[1075] =
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
13, 17, 19, 20, 20, 20, 20, 20, 20, 20, 13, 17, 19, 20, 20, 20, 20, 20, 20, 20,
33, 34, 21, 53, 127, 19, 17, 21, 35, 13, 33, 34, 21, 53, 127, 19, 17, 21, 35, 13,
35, 53, 127, 777, 35, 34, 34, 33, 21, 22, 35, 53, 127, 783, 35, 34, 34, 33, 21, 22,
26, 22, 22, 22, 22, 22, 22, 22, 23, 769, 26, 22, 22, 22, 22, 22, 22, 22, 23, 775,
23, 23, 23, 23, 23, 23, 23, 26, 22, 26, 23, 23, 23, 23, 23, 23, 23, 26, 22, 26,
26, 153, 36, 153, 37, 22, 36, 23, 37, 38, 26, 154, 36, 154, 37, 22, 36, 23, 37, 38,
55, 38, 36, 37, 22, 36, 39, 41, 44, 37, 55, 38, 36, 37, 22, 36, 39, 41, 44, 37,
38, 767, 44, 23, 39, 41, 39, 42, 47, 39, 38, 773, 44, 23, 39, 41, 39, 42, 47, 39,
42, 22, 45, 42, 42, 39, 41, 619, 42, 619, 42, 22, 45, 42, 42, 39, 41, 625, 42, 625,
49, 42, 637, 47, 637, 45, 47, 49, 49, 141, 49, 42, 643, 47, 643, 45, 47, 49, 49, 114,
50, 49, 52, 50, 55, 51, 52, 49, 49, 51, 50, 49, 52, 50, 55, 51, 52, 49, 49, 51,
49, 50, 97, 51, 141, 52, 97, 766, 50, 74, 49, 50, 114, 51, 772, 52, 51, 768, 50, 74,
74, 74, 74, 74, 74, 74, 78, 78, 78, 78, 74, 74, 74, 74, 74, 74, 78, 78, 78, 78,
78, 78, 78, 104, 148, 148, 74, 104, 104, 136, 78, 78, 78, 97, 104, 131, 74, 97, 104, 104,
113, 114, 79, 78, 79, 79, 79, 79, 79, 79, 113, 131, 79, 78, 79, 79, 79, 79, 79, 79,
79, 113, 74, 762, 114, 136, 136, 133, 142, 78, 79, 113, 74, 148, 148, 141, 133, 136, 767, 78,
80, 79, 80, 80, 80, 80, 80, 80, 80, 131, 80, 79, 80, 80, 80, 80, 80, 80, 80, 133,
133, 142, 133, 181, 181, 131, 81, 79, 81, 80, 141, 133, 149, 136, 136, 142, 81, 79, 81, 80,
149, 81, 81, 81, 81, 81, 81, 81, 149, 223, 149, 81, 81, 81, 81, 81, 81, 81, 142, 182,
761, 176, 760, 223, 83, 80, 83, 83, 83, 83, 182, 177, 766, 764, 83, 80, 83, 83, 83, 83,
83, 83, 83, 124, 176, 758, 124, 124, 150, 757, 83, 83, 83, 124, 177, 224, 124, 124, 150, 224,
124, 240, 124, 83, 756, 160, 150, 160, 495, 240, 124, 241, 124, 83, 763, 161, 150, 161, 501, 241,
160, 160, 160, 160, 160, 160, 160, 755, 495, 83, 161, 161, 161, 161, 161, 161, 161, 762, 501, 83,
162, 162, 162, 162, 162, 162, 162, 211, 211, 211, 163, 163, 163, 163, 163, 163, 163, 212, 212, 212,
245, 245, 245, 163, 754, 163, 752, 162, 163, 163, 247, 247, 247, 164, 761, 164, 760, 163, 164, 164,
163, 163, 163, 163, 163, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 165, 165, 165, 165, 165,
164, 164, 751, 162, 165, 165, 165, 165, 165, 165, 165, 165, 758, 163, 166, 166, 166, 166, 166, 166,
165, 250, 250, 250, 250, 250, 250, 250, 251, 251, 166, 252, 252, 252, 252, 252, 252, 252, 253, 253,
251, 251, 251, 251, 251, 252, 252, 252, 252, 252, 253, 253, 253, 253, 253, 254, 254, 254, 254, 254,
252, 252, 253, 253, 253, 253, 253, 253, 253, 259, 254, 254, 255, 255, 255, 255, 255, 255, 255, 261,
259, 259, 271, 271, 271, 280, 280, 280, 284, 284, 261, 261, 273, 273, 273, 282, 282, 282, 286, 286,
284, 293, 293, 293, 373, 373, 373, 383, 383, 383, 286, 295, 295, 295, 335, 335, 335, 376, 376, 376,
384, 384, 384, 385, 385, 385, 496, 373, 373, 433, 386, 386, 386, 387, 387, 387, 388, 388, 388, 502,
433, 433, 475, 475, 475, 750, 496, 512, 512, 512, 376, 376, 439, 439, 439, 481, 481, 481, 757, 502,
749, 748, 433, 433, 746, 475, 475, 546, 546, 593, 518, 518, 518, 756, 755, 439, 439, 754, 481, 481,
512, 512, 744, 512, 569, 569, 743, 741, 740, 593, 552, 552, 599, 518, 518, 752, 518, 575, 575, 750,
546, 594, 738, 594, 594, 737, 734, 569, 773, 773, 749, 747, 599, 552, 600, 746, 600, 600, 744, 743,
773, 773, 774, 774, 775, 775, 776, 733, 776, 776, 575, 779, 779, 779, 779, 780, 780, 781, 781, 782,
732, 731, 730, 729, 728, 727, 724, 723, 722, 721, 740, 782, 782, 739, 738, 737, 736, 735, 734, 733,
720, 719, 718, 717, 714, 711, 710, 709, 708, 707, 730, 729, 728, 727, 726, 725, 724, 723, 720, 717,
705, 704, 703, 702, 700, 698, 695, 694, 693, 692, 716, 715, 714, 713, 711, 710, 709, 708, 706, 704,
701, 700, 699, 698, 696, 695, 694, 693, 692, 691,
690, 689, 688, 687, 686, 685, 684, 683, 682, 681, 690, 689, 688, 687, 686, 685, 684, 683, 682, 681,
680, 679, 678, 677, 676, 675, 674, 673, 672, 670, 680, 679, 678, 676, 675, 674, 673, 672, 671, 670,
669, 668, 667, 666, 665, 664, 663, 662, 661, 659, 669, 668, 667, 665, 664, 663, 662, 661, 660, 659,
658, 657, 656, 655, 654, 653, 652, 651, 650, 649,
658, 657, 656, 655, 654, 652, 651, 650, 649, 648,
648, 646, 645, 644, 643, 642, 641, 640, 638, 636, 647, 646, 644, 642, 640, 639, 638, 636, 635, 634,
634, 633, 632, 630, 629, 628, 627, 626, 625, 624, 633, 632, 631, 630, 629, 628, 627, 626, 624, 623,
623, 622, 621, 620, 618, 617, 616, 615, 614, 613, 622, 621, 620, 619, 617, 616, 615, 614, 612, 611,
611, 610, 609, 608, 606, 605, 604, 603, 602, 601, 610, 609, 608, 607, 606, 605, 604, 603, 602, 601,
600, 599, 598, 597, 596, 595, 590, 588, 587, 586, 596, 594, 593, 592, 588, 587, 586, 585, 584, 583,
582, 581, 580, 579, 578, 577, 576, 575, 574, 572, 582, 581, 580, 578, 577, 573, 572, 570, 569, 567,
571, 567, 566, 564, 563, 561, 560, 559, 558, 557, 566, 565, 564, 563, 562, 561, 557, 556, 555, 553,
556, 555, 551, 550, 549, 547, 545, 544, 543, 542, 551, 550, 549, 548, 547, 546, 545, 544, 543, 542,
541, 540, 539, 538, 537, 536, 534, 533, 528, 527, 540, 539, 534, 533, 532, 531, 529, 528, 526, 525,
526, 525, 523, 522, 520, 519, 518, 517, 516, 514,
524, 523, 522, 520, 519, 517, 516, 515, 514, 513,
513, 511, 510, 509, 508, 507, 506, 505, 504, 502, 512, 511, 510, 508, 507, 506, 505, 504, 500, 499,
501, 500, 499, 498, 494, 493, 492, 491, 490, 489, 498, 497, 496, 495, 492, 491, 490, 489, 488, 487,
486, 485, 484, 483, 482, 481, 480, 479, 478, 477, 486, 485, 484, 483, 482, 480, 479, 476, 471, 469,
476, 474, 473, 470, 465, 463, 462, 461, 459, 458, 468, 467, 465, 464, 461, 460, 459, 458, 448, 447,
455, 454, 453, 452, 442, 441, 440, 438, 437, 436, 446, 444, 443, 442, 441, 440, 437, 435, 434, 433,
435, 434, 431, 429, 428, 427, 425, 424, 423, 422, 431, 430, 429, 428, 426, 424, 423, 418, 417, 415,
420, 418, 417, 415, 414, 412, 411, 410, 409, 408, 414, 413, 412, 411, 410, 409, 408, 407, 406, 405,
407, 406, 405, 404, 403, 402, 400, 399, 398, 397, 403, 402, 401, 400, 399, 398, 397, 395, 394, 393,
396, 395, 394, 392, 391, 390, 389, 388, 387, 386, 392, 391, 390, 389, 382, 381, 380, 377, 375, 365,
379, 378, 377, 374, 372, 362, 360, 356, 355, 354,
363, 359, 358, 357, 356, 354, 353, 351, 346, 345,
353, 351, 350, 348, 343, 342, 341, 340, 339, 338, 344, 343, 342, 341, 336, 334, 333, 332, 331, 330,
333, 332, 331, 330, 329, 328, 326, 325, 322, 321, 328, 327, 324, 323, 322, 321, 320, 319, 318, 317,
320, 319, 318, 317, 316, 315, 314, 313, 312, 311, 316, 315, 314, 313, 312, 311, 310, 309, 308, 307,
310, 309, 308, 307, 306, 305, 304, 303, 302, 301, 306, 305, 304, 303, 302, 301, 300, 299, 298, 294,
300, 299, 298, 297, 296, 292, 291, 290, 289, 288, 293, 292, 291, 290, 289, 288, 287, 285, 281, 279,
287, 286, 285, 283, 279, 277, 276, 275, 274, 270, 278, 277, 276, 272, 271, 270, 269, 268, 267, 266,
269, 268, 267, 266, 265, 264, 263, 262, 258, 256, 265, 264, 260, 258, 257, 256, 251, 250, 249, 248,
255, 254, 249, 248, 247, 246, 244, 243, 242, 241, 246, 245, 244, 243, 242, 240, 239, 238, 237, 236,
239, 238, 237, 236, 235, 234, 233, 232, 231, 230, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226,
229, 228, 227, 226, 225, 224, 222, 221, 220, 219,
225, 223, 222, 221, 220, 219, 218, 217, 216, 215,
218, 217, 216, 215, 214, 213, 212, 210, 209, 208, 214, 213, 211, 210, 209, 208, 207, 206, 205, 204,
207, 206, 205, 204, 203, 202, 201, 200, 199, 198, 203, 202, 201, 200, 199, 198, 197, 196, 194, 193,
197, 196, 195, 193, 192, 191, 190, 189, 188, 187, 192, 191, 190, 189, 188, 187, 186, 185, 184, 183,
186, 185, 184, 183, 182, 180, 179, 178, 177, 175, 181, 180, 179, 178, 176, 175, 174, 173, 172, 170,
174, 173, 172, 171, 169, 155, 154, 152, 151, 147, 156, 155, 153, 152, 151, 147, 146, 145, 144, 143,
146, 145, 144, 143, 140, 139, 138, 137, 135, 134, 140, 139, 138, 137, 135, 134, 132, 130, 129, 128,
132, 130, 129, 128, 126, 125, 123, 122, 120, 119, 126, 125, 123, 122, 120, 119, 118, 117, 116, 115,
118, 117, 116, 115, 112, 111, 110, 109, 108, 107, 112, 111, 110, 109, 108, 107, 106, 105, 103, 102,
106, 105, 103, 102, 101, 100, 99, 98, 96, 95, 101, 100, 99, 98, 96, 95, 91, 87, 60, 48,
91, 87, 60, 48, 46, 43, 40, 27, 24, 16,
46, 43, 40, 27, 24, 16, 11, 7, 778, 778,
11, 7, 772, 772, 772, 772, 772, 772, 772, 772, 778, 778, 778, 778, 778, 778, 778, 778, 778, 778,
772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 778, 778, 778, 778, 778, 778, 778, 778, 778, 778,
772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 778, 778, 778, 778, 778, 778, 778, 778, 778, 778,
772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 778, 778, 778, 778, 778, 778, 778, 778, 778, 778,
772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 778, 778, 778, 778, 778, 778, 778, 778, 778, 778,
772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 778, 778, 778, 778, 778, 778, 778, 778, 778, 778,
772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 778, 778, 778, 778, 778, 778, 778, 778, 778, 778
772, 772, 772, 772
} ; } ;
/* 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[225] = static yyconst flex_int32_t yy_rule_can_match_eol[228] =
{ 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,
...@@ -961,7 +963,7 @@ static yyconst flex_int32_t yy_rule_can_match_eol[225] = ...@@ -961,7 +963,7 @@ static yyconst flex_int32_t yy_rule_can_match_eol[225] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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.
...@@ -1291,13 +1293,13 @@ yy_match: ...@@ -1291,13 +1293,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 >= 773 ) if ( yy_current_state >= 779 )
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 != 772 ); while ( yy_current_state != 778 );
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;
...@@ -1558,52 +1560,61 @@ YY_RULE_SETUP ...@@ -1558,52 +1560,61 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 58: case 58:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return (BVEC2); } { return ES2_ident_ES3_keyword(context, UVEC2); }
YY_BREAK YY_BREAK
case 59: case 59:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return (BVEC3); } { return ES2_ident_ES3_keyword(context, UVEC3); }
YY_BREAK YY_BREAK
case 60: case 60:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return (BVEC4); } { return ES2_ident_ES3_keyword(context, UVEC4); }
YY_BREAK YY_BREAK
case 61: case 61:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return SAMPLER2D; } { context->lexAfterType = true; return (BVEC2); }
YY_BREAK YY_BREAK
case 62: case 62:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return SAMPLERCUBE; } { context->lexAfterType = true; return (BVEC3); }
YY_BREAK YY_BREAK
case 63: case 63:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return SAMPLER_EXTERNAL_OES; } { context->lexAfterType = true; return (BVEC4); }
YY_BREAK YY_BREAK
case 64: case 64:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_reserved_ES3_keyword(context, SAMPLER3D); } { context->lexAfterType = true; return SAMPLER2D; }
YY_BREAK YY_BREAK
case 65: case 65:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_reserved_ES3_keyword(context, SAMPLER3DRECT); } { context->lexAfterType = true; return SAMPLERCUBE; }
YY_BREAK YY_BREAK
case 66: case 66:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_reserved_ES3_keyword(context, SAMPLER2DSHADOW); } { context->lexAfterType = true; return SAMPLER_EXTERNAL_OES; }
YY_BREAK YY_BREAK
case 67: case 67:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return SAMPLER2DRECT; } { return ES2_reserved_ES3_keyword(context, SAMPLER3D); }
YY_BREAK YY_BREAK
case 68: case 68:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return(STRUCT); } { return ES2_reserved_ES3_keyword(context, SAMPLER3DRECT); }
YY_BREAK YY_BREAK
/* Reserved keywords for GLSL ES 3.00 that are not reserved for GLSL ES 1.00 */
case 69: case 69:
YY_RULE_SETUP
{ return ES2_reserved_ES3_keyword(context, SAMPLER2DSHADOW); }
YY_BREAK
case 70: case 70:
YY_RULE_SETUP
{ context->lexAfterType = true; return SAMPLER2DRECT; }
YY_BREAK
case 71: case 71:
YY_RULE_SETUP
{ context->lexAfterType = true; return(STRUCT); }
YY_BREAK
/* Reserved keywords for GLSL ES 3.00 that are not reserved for GLSL ES 1.00 */
case 72: case 72:
case 73: case 73:
case 74: case 74:
...@@ -1657,6 +1668,9 @@ case 121: ...@@ -1657,6 +1668,9 @@ case 121:
case 122: case 122:
case 123: case 123:
case 124: case 124:
case 125:
case 126:
case 127:
YY_RULE_SETUP YY_RULE_SETUP
{ {
if (context->shaderVersion < 300) { if (context->shaderVersion < 300) {
...@@ -1667,9 +1681,6 @@ YY_RULE_SETUP ...@@ -1667,9 +1681,6 @@ YY_RULE_SETUP
} }
YY_BREAK YY_BREAK
/* Reserved keywords */ /* Reserved keywords */
case 125:
case 126:
case 127:
case 128: case 128:
case 129: case 129:
case 130: case 130:
...@@ -1709,225 +1720,228 @@ case 163: ...@@ -1709,225 +1720,228 @@ case 163:
case 164: case 164:
case 165: case 165:
case 166: case 166:
case 167:
case 168:
case 169:
YY_RULE_SETUP YY_RULE_SETUP
{ return reserved_word(yyscanner); } { return reserved_word(yyscanner); }
YY_BREAK YY_BREAK
case 167: case 170:
YY_RULE_SETUP YY_RULE_SETUP
{ {
yylval->lex.string = NewPoolTString(yytext); yylval->lex.string = NewPoolTString(yytext);
return check_type(yyscanner); return check_type(yyscanner);
} }
YY_BREAK YY_BREAK
case 168: case 171:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.i = static_cast<int>(strtol(yytext, 0, 0)); return(INTCONSTANT); } { yylval->lex.i = static_cast<int>(strtol(yytext, 0, 0)); return(INTCONSTANT); }
YY_BREAK YY_BREAK
case 169: case 172:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.i = static_cast<int>(strtol(yytext, 0, 0)); return(INTCONSTANT); } { yylval->lex.i = static_cast<int>(strtol(yytext, 0, 0)); return(INTCONSTANT); }
YY_BREAK YY_BREAK
case 170: case 173:
YY_RULE_SETUP YY_RULE_SETUP
{ context->error(yylineno, "Invalid Octal number.", yytext); context->recover(); return 0;} { context->error(yylineno, "Invalid Octal number.", yytext); context->recover(); return 0;}
YY_BREAK YY_BREAK
case 171: case 174:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.i = static_cast<int>(strtol(yytext, 0, 0)); return(INTCONSTANT); } { yylval->lex.i = static_cast<int>(strtol(yytext, 0, 0)); return(INTCONSTANT); }
YY_BREAK YY_BREAK
case 172: case 175:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); } { yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK YY_BREAK
case 173: case 176:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); } { yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK YY_BREAK
case 174: case 177:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); } { yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK YY_BREAK
case 175: case 178:
YY_RULE_SETUP YY_RULE_SETUP
{ return(ADD_ASSIGN); } { return(ADD_ASSIGN); }
YY_BREAK YY_BREAK
case 176: case 179:
YY_RULE_SETUP YY_RULE_SETUP
{ return(SUB_ASSIGN); } { return(SUB_ASSIGN); }
YY_BREAK YY_BREAK
case 177: case 180:
YY_RULE_SETUP YY_RULE_SETUP
{ return(MUL_ASSIGN); } { return(MUL_ASSIGN); }
YY_BREAK YY_BREAK
case 178: case 181:
YY_RULE_SETUP YY_RULE_SETUP
{ return(DIV_ASSIGN); } { return(DIV_ASSIGN); }
YY_BREAK YY_BREAK
case 179: case 182:
YY_RULE_SETUP YY_RULE_SETUP
{ return(MOD_ASSIGN); } { return(MOD_ASSIGN); }
YY_BREAK YY_BREAK
case 180: case 183:
YY_RULE_SETUP YY_RULE_SETUP
{ return(LEFT_ASSIGN); } { return(LEFT_ASSIGN); }
YY_BREAK YY_BREAK
case 181: case 184:
YY_RULE_SETUP YY_RULE_SETUP
{ return(RIGHT_ASSIGN); } { return(RIGHT_ASSIGN); }
YY_BREAK YY_BREAK
case 182: case 185:
YY_RULE_SETUP YY_RULE_SETUP
{ return(AND_ASSIGN); } { return(AND_ASSIGN); }
YY_BREAK YY_BREAK
case 183: case 186:
YY_RULE_SETUP YY_RULE_SETUP
{ return(XOR_ASSIGN); } { return(XOR_ASSIGN); }
YY_BREAK YY_BREAK
case 184: case 187:
YY_RULE_SETUP YY_RULE_SETUP
{ return(OR_ASSIGN); } { return(OR_ASSIGN); }
YY_BREAK YY_BREAK
case 185: case 188:
YY_RULE_SETUP YY_RULE_SETUP
{ return(INC_OP); } { return(INC_OP); }
YY_BREAK YY_BREAK
case 186: case 189:
YY_RULE_SETUP YY_RULE_SETUP
{ return(DEC_OP); } { return(DEC_OP); }
YY_BREAK YY_BREAK
case 187: case 190:
YY_RULE_SETUP YY_RULE_SETUP
{ return(AND_OP); } { return(AND_OP); }
YY_BREAK YY_BREAK
case 188: case 191:
YY_RULE_SETUP YY_RULE_SETUP
{ return(OR_OP); } { return(OR_OP); }
YY_BREAK YY_BREAK
case 189: case 192:
YY_RULE_SETUP YY_RULE_SETUP
{ return(XOR_OP); } { return(XOR_OP); }
YY_BREAK YY_BREAK
case 190: case 193:
YY_RULE_SETUP YY_RULE_SETUP
{ return(LE_OP); } { return(LE_OP); }
YY_BREAK YY_BREAK
case 191: case 194:
YY_RULE_SETUP YY_RULE_SETUP
{ return(GE_OP); } { return(GE_OP); }
YY_BREAK YY_BREAK
case 192: case 195:
YY_RULE_SETUP YY_RULE_SETUP
{ return(EQ_OP); } { return(EQ_OP); }
YY_BREAK YY_BREAK
case 193: case 196:
YY_RULE_SETUP YY_RULE_SETUP
{ return(NE_OP); } { return(NE_OP); }
YY_BREAK YY_BREAK
case 194: case 197:
YY_RULE_SETUP YY_RULE_SETUP
{ return(LEFT_OP); } { return(LEFT_OP); }
YY_BREAK YY_BREAK
case 195: case 198:
YY_RULE_SETUP YY_RULE_SETUP
{ return(RIGHT_OP); } { return(RIGHT_OP); }
YY_BREAK YY_BREAK
case 196: case 199:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = false; return(SEMICOLON); } { context->lexAfterType = false; return(SEMICOLON); }
YY_BREAK YY_BREAK
case 197: case 200:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = false; return(LEFT_BRACE); } { context->lexAfterType = false; return(LEFT_BRACE); }
YY_BREAK YY_BREAK
case 198: case 201:
YY_RULE_SETUP YY_RULE_SETUP
{ return(RIGHT_BRACE); } { return(RIGHT_BRACE); }
YY_BREAK YY_BREAK
case 199: case 202:
YY_RULE_SETUP YY_RULE_SETUP
{ if (context->inTypeParen) context->lexAfterType = false; return(COMMA); } { if (context->inTypeParen) context->lexAfterType = false; return(COMMA); }
YY_BREAK YY_BREAK
case 200: case 203:
YY_RULE_SETUP YY_RULE_SETUP
{ return(COLON); } { return(COLON); }
YY_BREAK YY_BREAK
case 201: case 204:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = false; return(EQUAL); } { context->lexAfterType = false; return(EQUAL); }
YY_BREAK YY_BREAK
case 202: case 205:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); } { context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); }
YY_BREAK YY_BREAK
case 203: case 206:
YY_RULE_SETUP YY_RULE_SETUP
{ context->inTypeParen = false; return(RIGHT_PAREN); } { context->inTypeParen = false; return(RIGHT_PAREN); }
YY_BREAK YY_BREAK
case 204: case 207:
YY_RULE_SETUP YY_RULE_SETUP
{ return(LEFT_BRACKET); } { return(LEFT_BRACKET); }
YY_BREAK YY_BREAK
case 205: case 208:
YY_RULE_SETUP YY_RULE_SETUP
{ return(RIGHT_BRACKET); } { return(RIGHT_BRACKET); }
YY_BREAK YY_BREAK
case 206: case 209:
YY_RULE_SETUP YY_RULE_SETUP
{ BEGIN(FIELDS); return(DOT); } { BEGIN(FIELDS); return(DOT); }
YY_BREAK YY_BREAK
case 207: case 210:
YY_RULE_SETUP YY_RULE_SETUP
{ return(BANG); } { return(BANG); }
YY_BREAK YY_BREAK
case 208: case 211:
YY_RULE_SETUP YY_RULE_SETUP
{ return(DASH); } { return(DASH); }
YY_BREAK YY_BREAK
case 209: case 212:
YY_RULE_SETUP YY_RULE_SETUP
{ return(TILDE); } { return(TILDE); }
YY_BREAK YY_BREAK
case 210: case 213:
YY_RULE_SETUP YY_RULE_SETUP
{ return(PLUS); } { return(PLUS); }
YY_BREAK YY_BREAK
case 211: case 214:
YY_RULE_SETUP YY_RULE_SETUP
{ return(STAR); } { return(STAR); }
YY_BREAK YY_BREAK
case 212: case 215:
YY_RULE_SETUP YY_RULE_SETUP
{ return(SLASH); } { return(SLASH); }
YY_BREAK YY_BREAK
case 213: case 216:
YY_RULE_SETUP YY_RULE_SETUP
{ return(PERCENT); } { return(PERCENT); }
YY_BREAK YY_BREAK
case 214: case 217:
YY_RULE_SETUP YY_RULE_SETUP
{ return(LEFT_ANGLE); } { return(LEFT_ANGLE); }
YY_BREAK YY_BREAK
case 215: case 218:
YY_RULE_SETUP YY_RULE_SETUP
{ return(RIGHT_ANGLE); } { return(RIGHT_ANGLE); }
YY_BREAK YY_BREAK
case 216: case 219:
YY_RULE_SETUP YY_RULE_SETUP
{ return(VERTICAL_BAR); } { return(VERTICAL_BAR); }
YY_BREAK YY_BREAK
case 217: case 220:
YY_RULE_SETUP YY_RULE_SETUP
{ return(CARET); } { return(CARET); }
YY_BREAK YY_BREAK
case 218: case 221:
YY_RULE_SETUP YY_RULE_SETUP
{ return(AMPERSAND); } { return(AMPERSAND); }
YY_BREAK YY_BREAK
case 219: case 222:
YY_RULE_SETUP YY_RULE_SETUP
{ return(QUESTION); } { return(QUESTION); }
YY_BREAK YY_BREAK
case 220: case 223:
YY_RULE_SETUP YY_RULE_SETUP
{ {
BEGIN(INITIAL); BEGIN(INITIAL);
...@@ -1935,12 +1949,12 @@ YY_RULE_SETUP ...@@ -1935,12 +1949,12 @@ YY_RULE_SETUP
return FIELD_SELECTION; return FIELD_SELECTION;
} }
YY_BREAK YY_BREAK
case 221: case 224:
YY_RULE_SETUP YY_RULE_SETUP
{} {}
YY_BREAK YY_BREAK
case 222: case 225:
/* rule 222 can match eol */ /* rule 225 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
{ } { }
YY_BREAK YY_BREAK
...@@ -1949,11 +1963,11 @@ case YY_STATE_EOF(COMMENT): ...@@ -1949,11 +1963,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 223: case 226:
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 224: case 227:
YY_RULE_SETUP YY_RULE_SETUP
ECHO; ECHO;
YY_BREAK YY_BREAK
...@@ -2249,7 +2263,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) ...@@ -2249,7 +2263,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 >= 773 ) if ( yy_current_state >= 779 )
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];
...@@ -2278,11 +2292,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) ...@@ -2278,11 +2292,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 >= 773 ) if ( yy_current_state >= 779 )
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 == 772); yy_is_jam = (yy_current_state == 778);
return yy_is_jam ? 0 : yy_current_state; return yy_is_jam ? 0 : yy_current_state;
} }
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -77,84 +77,87 @@ extern int yydebug; ...@@ -77,84 +77,87 @@ extern int yydebug;
VEC2 = 286, VEC2 = 286,
VEC3 = 287, VEC3 = 287,
VEC4 = 288, VEC4 = 288,
MATRIX2 = 289, UVEC2 = 289,
MATRIX3 = 290, UVEC3 = 290,
MATRIX4 = 291, UVEC4 = 291,
IN_QUAL = 292, MATRIX2 = 292,
OUT_QUAL = 293, MATRIX3 = 293,
INOUT_QUAL = 294, MATRIX4 = 294,
UNIFORM = 295, IN_QUAL = 295,
VARYING = 296, OUT_QUAL = 296,
MATRIX2x3 = 297, INOUT_QUAL = 297,
MATRIX3x2 = 298, UNIFORM = 298,
MATRIX2x4 = 299, VARYING = 299,
MATRIX4x2 = 300, MATRIX2x3 = 300,
MATRIX3x4 = 301, MATRIX3x2 = 301,
MATRIX4x3 = 302, MATRIX2x4 = 302,
CENTROID = 303, MATRIX4x2 = 303,
FLAT = 304, MATRIX3x4 = 304,
SMOOTH = 305, MATRIX4x3 = 305,
STRUCT = 306, CENTROID = 306,
VOID_TYPE = 307, FLAT = 307,
WHILE = 308, SMOOTH = 308,
SAMPLER2D = 309, STRUCT = 309,
SAMPLERCUBE = 310, VOID_TYPE = 310,
SAMPLER_EXTERNAL_OES = 311, WHILE = 311,
SAMPLER2DRECT = 312, SAMPLER2D = 312,
SAMPLER3D = 313, SAMPLERCUBE = 313,
SAMPLER3DRECT = 314, SAMPLER_EXTERNAL_OES = 314,
SAMPLER2DSHADOW = 315, SAMPLER2DRECT = 315,
IDENTIFIER = 316, SAMPLER3D = 316,
TYPE_NAME = 317, SAMPLER3DRECT = 317,
FLOATCONSTANT = 318, SAMPLER2DSHADOW = 318,
INTCONSTANT = 319, IDENTIFIER = 319,
BOOLCONSTANT = 320, TYPE_NAME = 320,
FIELD_SELECTION = 321, FLOATCONSTANT = 321,
LEFT_OP = 322, INTCONSTANT = 322,
RIGHT_OP = 323, BOOLCONSTANT = 323,
INC_OP = 324, FIELD_SELECTION = 324,
DEC_OP = 325, LEFT_OP = 325,
LE_OP = 326, RIGHT_OP = 326,
GE_OP = 327, INC_OP = 327,
EQ_OP = 328, DEC_OP = 328,
NE_OP = 329, LE_OP = 329,
AND_OP = 330, GE_OP = 330,
OR_OP = 331, EQ_OP = 331,
XOR_OP = 332, NE_OP = 332,
MUL_ASSIGN = 333, AND_OP = 333,
DIV_ASSIGN = 334, OR_OP = 334,
ADD_ASSIGN = 335, XOR_OP = 335,
MOD_ASSIGN = 336, MUL_ASSIGN = 336,
LEFT_ASSIGN = 337, DIV_ASSIGN = 337,
RIGHT_ASSIGN = 338, ADD_ASSIGN = 338,
AND_ASSIGN = 339, MOD_ASSIGN = 339,
XOR_ASSIGN = 340, LEFT_ASSIGN = 340,
OR_ASSIGN = 341, RIGHT_ASSIGN = 341,
SUB_ASSIGN = 342, AND_ASSIGN = 342,
LEFT_PAREN = 343, XOR_ASSIGN = 343,
RIGHT_PAREN = 344, OR_ASSIGN = 344,
LEFT_BRACKET = 345, SUB_ASSIGN = 345,
RIGHT_BRACKET = 346, LEFT_PAREN = 346,
LEFT_BRACE = 347, RIGHT_PAREN = 347,
RIGHT_BRACE = 348, LEFT_BRACKET = 348,
DOT = 349, RIGHT_BRACKET = 349,
COMMA = 350, LEFT_BRACE = 350,
COLON = 351, RIGHT_BRACE = 351,
EQUAL = 352, DOT = 352,
SEMICOLON = 353, COMMA = 353,
BANG = 354, COLON = 354,
DASH = 355, EQUAL = 355,
TILDE = 356, SEMICOLON = 356,
PLUS = 357, BANG = 357,
STAR = 358, DASH = 358,
SLASH = 359, TILDE = 359,
PERCENT = 360, PLUS = 360,
LEFT_ANGLE = 361, STAR = 361,
RIGHT_ANGLE = 362, SLASH = 362,
VERTICAL_BAR = 363, PERCENT = 363,
CARET = 364, LEFT_ANGLE = 364,
AMPERSAND = 365, RIGHT_ANGLE = 365,
QUESTION = 366 VERTICAL_BAR = 366,
CARET = 367,
AMPERSAND = 368,
QUESTION = 369
}; };
#endif #endif
......
...@@ -173,6 +173,9 @@ enum TOperator { ...@@ -173,6 +173,9 @@ enum TOperator {
EOpConstructIVec2, EOpConstructIVec2,
EOpConstructIVec3, EOpConstructIVec3,
EOpConstructIVec4, EOpConstructIVec4,
EOpConstructUVec2,
EOpConstructUVec3,
EOpConstructUVec4,
EOpConstructMat2, EOpConstructMat2,
EOpConstructMat3, EOpConstructMat3,
EOpConstructMat4, EOpConstructMat4,
......
...@@ -51,6 +51,9 @@ namespace gl_d3d ...@@ -51,6 +51,9 @@ namespace gl_d3d
case GL_INT_VEC3: return "int3"; case GL_INT_VEC3: return "int3";
case GL_INT_VEC4: return "int4"; case GL_INT_VEC4: return "int4";
case GL_UNSIGNED_INT: return "uint"; case GL_UNSIGNED_INT: return "uint";
case GL_UNSIGNED_INT_VEC2: return "uint2";
case GL_UNSIGNED_INT_VEC3: return "uint3";
case GL_UNSIGNED_INT_VEC4: return "uint4";
case GL_FLOAT_MAT2: return "float2x2"; case GL_FLOAT_MAT2: return "float2x2";
case GL_FLOAT_MAT3: return "float3x3"; case GL_FLOAT_MAT3: return "float3x3";
case GL_FLOAT_MAT4: return "float4x4"; case GL_FLOAT_MAT4: return "float4x4";
......
...@@ -537,6 +537,18 @@ GLenum Shader::parseType(const std::string &type) ...@@ -537,6 +537,18 @@ GLenum Shader::parseType(const std::string &type)
{ {
return GL_UNSIGNED_INT; return GL_UNSIGNED_INT;
} }
else if (type == "uint2")
{
return GL_UNSIGNED_INT_VEC2;
}
else if (type == "uint3")
{
return GL_UNSIGNED_INT_VEC3;
}
else if (type == "uint4")
{
return GL_UNSIGNED_INT_VEC4;
}
else UNREACHABLE(); else UNREACHABLE();
return GL_NONE; return GL_NONE;
...@@ -555,13 +567,16 @@ static void makeVaryingPriorityMap() ...@@ -555,13 +567,16 @@ static void makeVaryingPriorityMap()
varyingPriorities[GL_FLOAT_MAT2] = 50; varyingPriorities[GL_FLOAT_MAT2] = 50;
varyingPriorities[GL_FLOAT_VEC4] = 60; varyingPriorities[GL_FLOAT_VEC4] = 60;
varyingPriorities[GL_INT_VEC4] = 61; varyingPriorities[GL_INT_VEC4] = 61;
varyingPriorities[GL_UNSIGNED_INT_VEC4] = 62;
varyingPriorities[GL_FLOAT_MAT3] = 70; varyingPriorities[GL_FLOAT_MAT3] = 70;
varyingPriorities[GL_FLOAT_MAT2x3] = 80; varyingPriorities[GL_FLOAT_MAT2x3] = 80;
varyingPriorities[GL_FLOAT_MAT3x2] = 90; varyingPriorities[GL_FLOAT_MAT3x2] = 90;
varyingPriorities[GL_FLOAT_VEC3] = 100; varyingPriorities[GL_FLOAT_VEC3] = 100;
varyingPriorities[GL_INT_VEC3] = 101; varyingPriorities[GL_INT_VEC3] = 101;
varyingPriorities[GL_UNSIGNED_INT_VEC3] = 102;
varyingPriorities[GL_FLOAT_VEC2] = 110; varyingPriorities[GL_FLOAT_VEC2] = 110;
varyingPriorities[GL_INT_VEC2] = 111; varyingPriorities[GL_INT_VEC2] = 111;
varyingPriorities[GL_UNSIGNED_INT_VEC2] = 112;
varyingPriorities[GL_FLOAT] = 120; varyingPriorities[GL_FLOAT] = 120;
varyingPriorities[GL_INT] = 125; varyingPriorities[GL_INT] = 125;
varyingPriorities[GL_UNSIGNED_INT] = 130; varyingPriorities[GL_UNSIGNED_INT] = 130;
......
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