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