Implement shader compiler support for uint scalars.
Bug 19331817
Change-Id: Ie901756ef4fdbab1dfa6ae01c77104fc84de247f
Reviewed-on: https://swiftshader-review.googlesource.com/2312
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
diff --git a/src/OpenGL/compiler/BaseTypes.h b/src/OpenGL/compiler/BaseTypes.h
index 4406760..254e36a 100644
--- a/src/OpenGL/compiler/BaseTypes.h
+++ b/src/OpenGL/compiler/BaseTypes.h
@@ -38,6 +38,7 @@
EbtVoid,
EbtFloat,
EbtInt,
+ EbtUInt,
EbtBool,
EbtGuardSamplerBegin, // non type: see implementation of IsSampler()
EbtSampler2D,
@@ -57,6 +58,7 @@
case EbtVoid: return "void";
case EbtFloat: return "float";
case EbtInt: return "int";
+ case EbtUInt: return "uint";
case EbtBool: return "bool";
case EbtSampler2D: return "sampler2D";
case EbtSamplerCube: return "samplerCube";
diff --git a/src/OpenGL/compiler/ConstantUnion.h b/src/OpenGL/compiler/ConstantUnion.h
index 397bb75..ffc1c4c 100644
--- a/src/OpenGL/compiler/ConstantUnion.h
+++ b/src/OpenGL/compiler/ConstantUnion.h
@@ -26,6 +26,7 @@
switch (constant.type)
{
case EbtInt: setFConst(static_cast<float>(constant.getIConst())); break;
+ case EbtUInt: setFConst(static_cast<float>(constant.getUConst())); break;
case EbtBool: setFConst(static_cast<float>(constant.getBConst())); break;
case EbtFloat: setFConst(static_cast<float>(constant.getFConst())); break;
default: return false;
@@ -35,15 +36,27 @@
switch (constant.type)
{
case EbtInt: setIConst(static_cast<int>(constant.getIConst())); break;
+ case EbtUInt: setIConst(static_cast<int>(constant.getUConst())); break;
case EbtBool: setIConst(static_cast<int>(constant.getBConst())); break;
case EbtFloat: setIConst(static_cast<int>(constant.getFConst())); break;
default: return false;
}
break;
+ case EbtUInt:
+ switch (constant.type)
+ {
+ case EbtInt: setUConst(static_cast<unsigned int>(constant.getIConst())); break;
+ case EbtUInt: setUConst(static_cast<unsigned int>(constant.getUConst())); break;
+ case EbtBool: setUConst(static_cast<unsigned int>(constant.getBConst())); break;
+ case EbtFloat: setUConst(static_cast<unsigned int>(constant.getFConst())); break;
+ default: return false;
+ }
+ break;
case EbtBool:
switch (constant.type)
{
case EbtInt: setBConst(constant.getIConst() != 0); break;
+ case EbtUInt: setBConst(constant.getUConst() != 0); break;
case EbtBool: setBConst(constant.getBConst()); break;
case EbtFloat: setBConst(constant.getFConst() != 0.0f); break;
default: return false;
@@ -53,6 +66,7 @@
switch (constant.type)
{
case EbtInt: setIConst(constant.getIConst()); break;
+ case EbtUInt: setUConst(constant.getUConst()); break;
case EbtBool: setBConst(constant.getBConst()); break;
case EbtFloat: setFConst(constant.getFConst()); break;
default: return false;
@@ -66,10 +80,12 @@
}
void setIConst(int i) {iConst = i; type = EbtInt; }
+ void setUConst(unsigned int u) { uConst = u; type = EbtUInt; }
void setFConst(float f) {fConst = f; type = EbtFloat; }
void setBConst(bool b) {bConst = b; type = EbtBool; }
int getIConst() const { return iConst; }
+ unsigned int getUConst() const { return uConst; }
float getFConst() const { return fConst; }
bool getBConst() const { return bConst; }
@@ -91,6 +107,11 @@
return i == iConst;
}
+ bool operator==(const unsigned int u) const
+ {
+ return u == uConst;
+ }
+
bool operator==(const float f) const
{
return f == fConst;
@@ -109,6 +130,8 @@
switch (type) {
case EbtInt:
return constant.iConst == iConst;
+ case EbtUInt:
+ return constant.uConst == uConst;
case EbtFloat:
return constant.fConst == fConst;
case EbtBool:
@@ -125,6 +148,11 @@
return !operator==(i);
}
+ bool operator!=(const unsigned int u) const
+ {
+ return !operator==(u);
+ }
+
bool operator!=(const float f) const
{
return !operator==(f);
@@ -146,6 +174,8 @@
switch (type) {
case EbtInt:
return iConst > constant.iConst;
+ case EbtUInt:
+ return uConst > constant.uConst;
case EbtFloat:
return fConst > constant.fConst;
default:
@@ -161,6 +191,8 @@
switch (type) {
case EbtInt:
return iConst < constant.iConst;
+ case EbtUInt:
+ return uConst < constant.uConst;
case EbtFloat:
return fConst < constant.fConst;
default:
@@ -176,6 +208,7 @@
assert(type == constant.type);
switch (type) {
case EbtInt: returnValue.setIConst(iConst + constant.iConst); break;
+ case EbtUInt: returnValue.setUConst(uConst + constant.uConst); break;
case EbtFloat: returnValue.setFConst(fConst + constant.fConst); break;
default: assert(false && "Default missing");
}
@@ -189,6 +222,7 @@
assert(type == constant.type);
switch (type) {
case EbtInt: returnValue.setIConst(iConst - constant.iConst); break;
+ case EbtUInt: returnValue.setUConst(uConst - constant.uConst); break;
case EbtFloat: returnValue.setFConst(fConst - constant.fConst); break;
default: assert(false && "Default missing");
}
@@ -202,6 +236,7 @@
assert(type == constant.type);
switch (type) {
case EbtInt: returnValue.setIConst(iConst * constant.iConst); break;
+ case EbtUInt: returnValue.setUConst(uConst * constant.uConst); break;
case EbtFloat: returnValue.setFConst(fConst * constant.fConst); break;
default: assert(false && "Default missing");
}
@@ -215,6 +250,7 @@
assert(type == constant.type);
switch (type) {
case EbtInt: returnValue.setIConst(iConst % constant.iConst); break;
+ case EbtUInt: returnValue.setUConst(uConst % constant.uConst); break;
default: assert(false && "Default missing");
}
@@ -227,6 +263,7 @@
assert(type == constant.type);
switch (type) {
case EbtInt: returnValue.setIConst(iConst >> constant.iConst); break;
+ case EbtUInt: returnValue.setUConst(uConst >> constant.uConst); break;
default: assert(false && "Default missing");
}
@@ -236,9 +273,13 @@
ConstantUnion operator<<(const ConstantUnion& constant) const
{
ConstantUnion returnValue;
- assert(type == constant.type);
+ // The signedness of the second parameter might be different, but we
+ // don't care, since the result is undefined if the second parameter is
+ // negative, and aliasing should not be a problem with unions.
+ assert(constant.type == EbtInt || constant.type == EbtUInt);
switch (type) {
case EbtInt: returnValue.setIConst(iConst << constant.iConst); break;
+ case EbtUInt: returnValue.setUConst(uConst << constant.uConst); break;
default: assert(false && "Default missing");
}
@@ -248,9 +289,10 @@
ConstantUnion operator&(const ConstantUnion& constant) const
{
ConstantUnion returnValue;
- assert(type == constant.type);
+ assert(constant.type == EbtInt || constant.type == EbtUInt);
switch (type) {
case EbtInt: returnValue.setIConst(iConst & constant.iConst); break;
+ case EbtUInt: returnValue.setUConst(uConst & constant.uConst); break;
default: assert(false && "Default missing");
}
@@ -263,6 +305,7 @@
assert(type == constant.type);
switch (type) {
case EbtInt: returnValue.setIConst(iConst | constant.iConst); break;
+ case EbtUInt: returnValue.setUConst(uConst | constant.uConst); break;
default: assert(false && "Default missing");
}
@@ -275,6 +318,7 @@
assert(type == constant.type);
switch (type) {
case EbtInt: returnValue.setIConst(iConst ^ constant.iConst); break;
+ case EbtUInt: returnValue.setUConst(uConst ^ constant.uConst); break;
default: assert(false && "Default missing");
}
@@ -310,6 +354,7 @@
union {
int iConst; // used for ivec, scalar ints
+ unsigned int uConst; // used for uvec, scalar uints
bool bConst; // used for bvec, scalar bools
float fConst; // used for vec, mat, scalar floats
} ;
diff --git a/src/OpenGL/compiler/Intermediate.cpp b/src/OpenGL/compiler/Intermediate.cpp
index 2db74ed..7193e34 100644
--- a/src/OpenGL/compiler/Intermediate.cpp
+++ b/src/OpenGL/compiler/Intermediate.cpp
@@ -601,6 +601,7 @@
case EOpConstructIVec3:
case EOpConstructIVec4:
case EOpConstructInt:
+ case EOpConstructUInt:
case EOpConstructBVec2:
case EOpConstructBVec3:
case EOpConstructBVec4:
@@ -981,6 +982,13 @@
} else
tempConstArray[i].setIConst(unionArray[i].getIConst() / rightUnionArray[i].getIConst());
break;
+ case EbtUInt:
+ if (rightUnionArray[i] == 0) {
+ infoSink.info.message(EPrefixWarning, "Divide by zero error during constant folding", getLine());
+ tempConstArray[i].setUConst(UINT_MAX);
+ } else
+ tempConstArray[i].setUConst(unionArray[i].getUConst() / rightUnionArray[i].getUConst());
+ break;
default:
infoSink.info.message(EPrefixInternalError, "Constant folding cannot be done for \"/\"", getLine());
return 0;
@@ -1196,6 +1204,9 @@
case EbtInt:
leftUnionArray[i].setFConst(static_cast<float>(node->getIConst(i)));
break;
+ case EbtUInt:
+ leftUnionArray[i].setFConst(static_cast<float>(node->getUConst(i)));
+ break;
case EbtBool:
leftUnionArray[i].setFConst(static_cast<float>(node->getBConst(i)));
break;
@@ -1212,6 +1223,9 @@
case EbtInt:
leftUnionArray[i].setIConst(static_cast<int>(node->getIConst(i)));
break;
+ case EbtUInt:
+ leftUnionArray[i].setIConst(static_cast<int>(node->getUConst(i)));
+ break;
case EbtBool:
leftUnionArray[i].setIConst(static_cast<int>(node->getBConst(i)));
break;
@@ -1223,11 +1237,33 @@
return 0;
}
break;
+ case EbtUInt:
+ switch (node->getType().getBasicType()) {
+ case EbtInt:
+ leftUnionArray[i].setUConst(static_cast<unsigned int>(node->getIConst(i)));
+ break;
+ case EbtUInt:
+ leftUnionArray[i].setUConst(static_cast<unsigned int>(node->getUConst(i)));
+ break;
+ case EbtBool:
+ leftUnionArray[i].setUConst(static_cast<unsigned int>(node->getBConst(i)));
+ break;
+ case EbtFloat:
+ leftUnionArray[i].setUConst(static_cast<unsigned int>(node->getFConst(i)));
+ break;
+ default:
+ infoSink.info.message(EPrefixInternalError, "Cannot promote", node->getLine());
+ return 0;
+ }
+ break;
case EbtBool:
switch (node->getType().getBasicType()) {
case EbtInt:
leftUnionArray[i].setBConst(node->getIConst(i) != 0);
break;
+ case EbtUInt:
+ leftUnionArray[i].setBConst(node->getUConst(i) != 0);
+ break;
case EbtBool:
leftUnionArray[i].setBConst(node->getBConst(i));
break;
diff --git a/src/OpenGL/compiler/ParseHelper.cpp b/src/OpenGL/compiler/ParseHelper.cpp
index b1df907..8e6e3a0 100644
--- a/src/OpenGL/compiler/ParseHelper.cpp
+++ b/src/OpenGL/compiler/ParseHelper.cpp
@@ -391,7 +391,7 @@
//
bool TParseContext::integerErrorCheck(TIntermTyped* node, const char* token)
{
- if (node->getBasicType() == EbtInt && node->getNominalSize() == 1)
+ if (node->isScalarInt())
return false;
error(node->getLine(), "integer expression required", token);
@@ -657,17 +657,35 @@
bool TParseContext::arraySizeErrorCheck(int line, TIntermTyped* expr, int& size)
{
TIntermConstantUnion* constant = expr->getAsConstantUnion();
- if (constant == 0 || constant->getBasicType() != EbtInt) {
+
+ if (constant == 0 || !constant->isScalarInt())
+ {
error(line, "array size must be a constant integer expression", "");
return true;
}
- size = constant->getIConst(0);
+ if (constant->getBasicType() == EbtUInt)
+ {
+ unsigned int uintSize = constant->getUConst(0);
+ if (uintSize > static_cast<unsigned int>(std::numeric_limits<int>::max()))
+ {
+ error(line, "array size too large", "");
+ size = 1;
+ return true;
+ }
- if (size <= 0) {
- error(line, "array size must be a positive integer", "");
- size = 1;
- return true;
+ size = static_cast<int>(uintSize);
+ }
+ else
+ {
+ size = constant->getIConst(0);
+
+ if (size <= 0)
+ {
+ error(line, "array size must be a positive integer", "");
+ size = 1;
+ return true;
+ }
}
return false;
diff --git a/src/OpenGL/compiler/SymbolTable.cpp b/src/OpenGL/compiler/SymbolTable.cpp
index 873fda5..d0cd43d 100644
--- a/src/OpenGL/compiler/SymbolTable.cpp
+++ b/src/OpenGL/compiler/SymbolTable.cpp
@@ -49,6 +49,7 @@
switch (type) {
case EbtFloat: mangledName += 'f'; break;
case EbtInt: mangledName += 'i'; break;
+ case EbtUInt: mangledName += 'u'; break;
case EbtBool: mangledName += 'b'; break;
case EbtSampler2D: mangledName += "s2"; break;
case EbtSamplerCube: mangledName += "sC"; break;
diff --git a/src/OpenGL/compiler/SymbolTable.h b/src/OpenGL/compiler/SymbolTable.h
index 1a96951..c2eb677 100644
--- a/src/OpenGL/compiler/SymbolTable.h
+++ b/src/OpenGL/compiler/SymbolTable.h
@@ -338,7 +338,11 @@
}
// Searches down the precisionStack for a precision qualifier for the specified TBasicType
- TPrecision getDefaultPrecision( TBasicType type){
+ TPrecision getDefaultPrecision( TBasicType type)
+ {
+ // unsigned integers use the same precision as signed
+ if (type == EbtUInt) type = EbtInt;
+
if( type != EbtFloat && type != EbtInt ) return EbpUndefined;
int level = static_cast<int>(precisionStack.size()) - 1;
assert( level >= 0); // Just to be safe. Should not happen.
diff --git a/src/OpenGL/compiler/Types.h b/src/OpenGL/compiler/Types.h
index 7411f72..f1686ee 100644
--- a/src/OpenGL/compiler/Types.h
+++ b/src/OpenGL/compiler/Types.h
@@ -146,6 +146,7 @@
bool isScalar() const { return size == 1 && !matrix && !structure; }
bool isRegister() const { return !matrix && !structure && !array; } // Fits in a 4-element register
bool isStruct() const { return structure != 0; }
+ bool isScalarInt() const { return isScalar() && (type == EbtInt || type == EbtUInt); }
TTypeList* getStruct() const { return structure; }
void setStruct(TTypeList* s) { structure = s; computeDeepestStructNesting(); }
diff --git a/src/OpenGL/compiler/ValidateLimitations.cpp b/src/OpenGL/compiler/ValidateLimitations.cpp
index ffb8a17..701abc5 100644
--- a/src/OpenGL/compiler/ValidateLimitations.cpp
+++ b/src/OpenGL/compiler/ValidateLimitations.cpp
@@ -79,6 +79,10 @@
case EbtFloat:
mUsesFloatLoopIndex = true;
break;
+ case EbtUInt:
+ mUsesIntLoopIndex = true;
+ MarkLoopForUnroll(symbol, mLoopStack);
+ break;
case EbtInt:
mUsesIntLoopIndex = true;
MarkLoopForUnroll(symbol, mLoopStack);
@@ -269,7 +273,7 @@
}
// The loop index has type int or float.
TBasicType type = symbol->getBasicType();
- if ((type != EbtInt) && (type != EbtFloat)) {
+ if ((type != EbtInt) && (type != EbtUInt) && (type != EbtFloat)) {
error(symbol->getLine(),
"Invalid type for loop index", getBasicString(type));
return false;
@@ -492,7 +496,7 @@
bool valid = true;
TIntermTyped* index = node->getRight();
// The index expression must have integral type.
- if (!index->isScalar() || (index->getBasicType() != EbtInt)) {
+ if (!index->isScalarInt()) {
error(index->getLine(),
"Index expression must have integral type",
index->getCompleteString().c_str());
diff --git a/src/OpenGL/compiler/glslang.l b/src/OpenGL/compiler/glslang.l
index 9b73813..4b2d38d 100644
--- a/src/OpenGL/compiler/glslang.l
+++ b/src/OpenGL/compiler/glslang.l
@@ -56,6 +56,7 @@
static int reserved_word(yyscan_t yyscanner);
static int ES2_reserved_ES3_keyword(TParseContext *context, int token);
static int ES2_keyword_ES3_reserved(TParseContext *context, int token);
+static int ES2_identifier_ES3_keyword(TParseContext *context, int token);
%}
%option noyywrap nounput never-interactive
@@ -118,6 +119,7 @@
"float" { context->lexAfterType = true; return(FLOAT_TYPE); }
"int" { context->lexAfterType = true; return(INT_TYPE); }
+"uint" { return ES2_identifier_ES3_keyword(context, UINT_TYPE); }
"void" { context->lexAfterType = true; return(VOID_TYPE); }
"bool" { context->lexAfterType = true; return(BOOL_TYPE); }
"true" { yylval->lex.b = true; return(BOOLCONSTANT); }
@@ -409,6 +411,21 @@
return token;
}
+int ES2_identifier_ES3_keyword(TParseContext *context, int token)
+{
+ struct yyguts_t* yyg = (struct yyguts_t*) context->scanner;
+ yyscan_t yyscanner = (yyscan_t) context->scanner;
+
+ // not a reserved word in GLSL ES 1.00, so could be used as an identifier/type name
+ if (context->shaderVersion < 300)
+ {
+ yylval->lex.string = NewPoolTString(yytext);
+ return check_type(yyscanner);
+ }
+
+ return token;
+}
+
void yyerror(TParseContext* context, const char* reason) {
struct yyguts_t* yyg = (struct yyguts_t*) context->scanner;
diff --git a/src/OpenGL/compiler/glslang.y b/src/OpenGL/compiler/glslang.y
index eb8ea75..b846922 100644
--- a/src/OpenGL/compiler/glslang.y
+++ b/src/OpenGL/compiler/glslang.y
@@ -121,7 +121,7 @@
%}
%token <lex> INVARIANT HIGH_PRECISION MEDIUM_PRECISION LOW_PRECISION PRECISION
-%token <lex> ATTRIBUTE CONST_QUAL BOOL_TYPE FLOAT_TYPE INT_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> BVEC2 BVEC3 BVEC4 IVEC2 IVEC3 IVEC4 VEC2 VEC3 VEC4
%token <lex> MATRIX2 MATRIX3 MATRIX4 IN_QUAL OUT_QUAL INOUT_QUAL UNIFORM VARYING
@@ -219,14 +219,6 @@
$$ = $1;
}
| INTCONSTANT {
- //
- // INT_TYPE is only 16-bit plus sign bit for vertex/fragment shaders,
- // check for overflow for constants
- //
- if (abs($1.i) >= (1 << 16)) {
- context->error($1.line, " integer constant overflow", "");
- context->recover();
- }
ConstantUnion *unionArray = new ConstantUnion[1];
unionArray->setIConst($1.i);
$$ = context->intermediate.addConstantUnion(unionArray, TType(EbtInt, EbpUndefined, EvqConst), $1.line);
@@ -1628,15 +1620,14 @@
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtInt, qual, $1.line);
}
+ | UINT_TYPE {
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ $$.setBasic(EbtUInt, qual, $1.line);
+ }
| BOOL_TYPE {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtBool, qual, $1.line);
}
-// | UNSIGNED INT_TYPE {
-// PACK_UNPACK_ONLY("unsigned", $1.line);
-// TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
-// $$.setBasic(EbtInt, qual, $1.line);
-// }
| VEC2 {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtFloat, qual, $1.line);
@@ -2190,4 +2181,3 @@
int glslang_parse(TParseContext* context) {
return yyparse(context);
}
-
diff --git a/src/OpenGL/compiler/glslang_lex.cpp b/src/OpenGL/compiler/glslang_lex.cpp
index 67bd220..3943ece 100644
--- a/src/OpenGL/compiler/glslang_lex.cpp
+++ b/src/OpenGL/compiler/glslang_lex.cpp
@@ -392,8 +392,8 @@
*yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp;
-#define YY_NUM_RULES 214
-#define YY_END_OF_BUFFER 215
+#define YY_NUM_RULES 215
+#define YY_END_OF_BUFFER 216
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -401,91 +401,91 @@
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[759] =
+static yyconst flex_int16_t yy_accept[761] =
{ 0,
- 0, 0, 0, 0, 0, 0, 215, 213, 212, 212,
- 197, 203, 208, 192, 193, 201, 200, 189, 198, 196,
- 202, 161, 161, 190, 186, 204, 191, 205, 209, 157,
- 194, 195, 207, 157, 157, 157, 157, 157, 157, 157,
- 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 157, 157, 157, 187, 206, 188, 199, 3, 4, 3,
- 211, 214, 210, 183, 169, 188, 177, 172, 167, 175,
- 165, 176, 166, 164, 2, 1, 168, 163, 159, 160,
- 0, 0, 161, 195, 187, 194, 184, 180, 182, 181,
- 185, 157, 173, 179, 157, 157, 157, 157, 157, 157,
+ 0, 0, 0, 0, 0, 0, 216, 214, 213, 213,
+ 198, 204, 209, 193, 194, 202, 201, 190, 199, 197,
+ 203, 162, 162, 191, 187, 205, 192, 206, 210, 158,
+ 195, 196, 208, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 188, 207, 189, 200, 3, 4, 3,
+ 212, 215, 211, 184, 170, 189, 178, 173, 168, 176,
+ 166, 177, 167, 165, 2, 1, 169, 164, 160, 161,
+ 0, 0, 162, 196, 188, 195, 185, 181, 183, 182,
+ 186, 158, 174, 180, 158, 158, 158, 158, 158, 158,
- 157, 157, 157, 157, 157, 157, 17, 157, 157, 157,
- 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 20, 157, 157, 28, 157, 157, 157, 157, 157, 157,
- 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 157, 157, 157, 157, 157, 174, 178, 5, 210, 0,
- 1, 163, 0, 0, 162, 158, 170, 171, 157, 114,
- 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 157, 157, 157, 18, 157, 157, 157, 157, 157, 157,
+ 158, 158, 158, 158, 158, 158, 17, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 20, 158, 158, 28, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 175, 179, 5, 211, 0,
+ 1, 164, 0, 0, 163, 159, 171, 172, 158, 115,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 18, 158, 158, 158, 158, 158, 158,
- 157, 157, 157, 157, 32, 157, 157, 157, 157, 157,
- 157, 157, 157, 157, 157, 29, 157, 157, 157, 157,
- 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 157, 157, 157, 157, 157, 157, 157, 157, 0, 164,
- 0, 163, 157, 157, 157, 34, 157, 157, 23, 154,
- 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 21, 117, 157, 157, 157, 157, 26, 157, 157, 122,
- 134, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 157, 157, 131, 9, 39, 40, 41, 157, 157, 157,
+ 158, 158, 158, 158, 32, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 29, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 0,
+ 165, 0, 164, 158, 158, 158, 35, 158, 158, 23,
+ 155, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 21, 118, 158, 158, 158, 158, 26, 158, 158,
+ 123, 135, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 132, 9, 40, 41, 42, 158, 158,
- 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 157, 120, 35, 157, 157, 157, 157, 157, 157, 157,
- 157, 42, 43, 44, 33, 157, 157, 157, 157, 157,
- 157, 15, 48, 49, 50, 157, 115, 157, 157, 12,
- 157, 157, 157, 157, 143, 144, 145, 157, 36, 157,
- 135, 31, 146, 147, 148, 7, 140, 141, 142, 157,
- 157, 157, 30, 138, 157, 157, 157, 45, 46, 47,
- 157, 157, 157, 157, 157, 157, 157, 65, 157, 157,
- 157, 157, 157, 157, 157, 132, 157, 157, 157, 157,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 121, 36, 158, 158, 33, 158, 158, 158,
+ 158, 158, 158, 43, 44, 45, 34, 158, 158, 158,
+ 158, 158, 158, 15, 49, 50, 51, 158, 116, 158,
+ 158, 12, 158, 158, 158, 158, 144, 145, 146, 158,
+ 37, 158, 136, 31, 147, 148, 149, 7, 141, 142,
+ 143, 158, 158, 158, 30, 139, 158, 158, 158, 46,
+ 47, 48, 158, 158, 158, 158, 158, 158, 158, 66,
+ 158, 158, 158, 158, 158, 158, 158, 133, 158, 158,
- 157, 157, 157, 157, 157, 157, 157, 116, 157, 157,
- 156, 157, 157, 19, 157, 70, 157, 157, 157, 157,
- 68, 157, 157, 157, 133, 128, 71, 157, 157, 157,
- 157, 157, 157, 123, 157, 157, 157, 157, 157, 157,
- 157, 139, 121, 157, 157, 126, 157, 157, 157, 38,
- 66, 153, 27, 127, 57, 157, 137, 22, 157, 157,
- 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 157, 157, 24, 37, 157, 157, 157, 157, 157, 157,
- 72, 73, 74, 157, 157, 157, 157, 157, 8, 157,
- 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 117,
+ 158, 158, 157, 158, 158, 19, 158, 71, 158, 158,
+ 158, 158, 69, 158, 158, 158, 134, 129, 72, 158,
+ 158, 158, 158, 158, 158, 124, 158, 158, 158, 158,
+ 158, 158, 158, 140, 122, 158, 158, 127, 158, 158,
+ 158, 39, 67, 154, 27, 128, 58, 158, 138, 22,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 24, 38, 158, 158, 158, 158,
+ 158, 158, 73, 74, 75, 158, 158, 158, 158, 158,
+ 8, 158, 158, 158, 158, 158, 158, 158, 158, 158,
- 118, 157, 157, 157, 157, 157, 13, 157, 157, 14,
- 157, 157, 157, 157, 25, 58, 16, 129, 76, 77,
- 78, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 157, 157, 157, 124, 157, 157, 157, 60, 62, 59,
- 157, 157, 157, 157, 157, 157, 157, 119, 80, 81,
- 82, 157, 157, 136, 157, 125, 157, 157, 11, 157,
- 157, 157, 157, 157, 157, 157, 157, 157, 75, 130,
- 6, 157, 157, 157, 155, 157, 69, 10, 149, 51,
- 54, 157, 157, 157, 157, 157, 157, 157, 157, 157,
- 157, 157, 61, 157, 157, 157, 157, 79, 157, 157,
+ 158, 158, 119, 158, 158, 158, 158, 158, 13, 158,
+ 158, 14, 158, 158, 158, 158, 25, 59, 16, 130,
+ 77, 78, 79, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 125, 158, 158, 158, 61,
+ 63, 60, 158, 158, 158, 158, 158, 158, 158, 120,
+ 81, 82, 83, 158, 158, 137, 158, 126, 158, 158,
+ 11, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 76, 131, 6, 158, 158, 158, 156, 158, 70, 10,
+ 150, 52, 55, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 62, 158, 158, 158, 158, 80,
- 157, 157, 157, 99, 157, 157, 157, 157, 157, 157,
- 157, 157, 157, 157, 157, 157, 67, 157, 157, 157,
- 83, 101, 157, 157, 63, 157, 157, 157, 157, 157,
- 157, 157, 94, 157, 157, 157, 157, 157, 157, 157,
- 108, 157, 157, 157, 157, 52, 157, 157, 157, 157,
- 157, 157, 157, 157, 157, 157, 95, 84, 157, 85,
- 157, 157, 109, 157, 157, 157, 157, 157, 157, 157,
- 157, 157, 157, 157, 157, 157, 96, 157, 110, 157,
- 157, 86, 87, 157, 90, 157, 91, 157, 157, 157,
- 157, 64, 157, 157, 157, 151, 157, 55, 105, 157,
+ 158, 158, 158, 158, 158, 100, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 68, 158,
+ 158, 158, 84, 102, 158, 158, 64, 158, 158, 158,
+ 158, 158, 158, 158, 95, 158, 158, 158, 158, 158,
+ 158, 158, 109, 158, 158, 158, 158, 53, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 96, 85,
+ 158, 86, 158, 158, 110, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 97, 158,
+ 111, 158, 158, 87, 88, 158, 91, 158, 92, 158,
+ 158, 158, 158, 65, 158, 158, 158, 152, 158, 56,
- 88, 89, 157, 157, 157, 157, 157, 157, 157, 157,
- 103, 106, 97, 157, 157, 157, 157, 157, 157, 157,
- 104, 107, 157, 157, 100, 157, 157, 150, 157, 157,
- 56, 157, 102, 157, 157, 157, 157, 157, 111, 157,
- 157, 157, 157, 157, 112, 157, 157, 157, 113, 92,
- 93, 157, 157, 53, 157, 152, 98, 0
+ 106, 158, 89, 90, 158, 158, 158, 158, 158, 158,
+ 158, 158, 104, 107, 98, 158, 158, 158, 158, 158,
+ 158, 158, 105, 108, 158, 158, 101, 158, 158, 151,
+ 158, 158, 57, 158, 103, 158, 158, 158, 158, 158,
+ 112, 158, 158, 158, 158, 158, 113, 158, 158, 158,
+ 114, 93, 94, 158, 158, 54, 158, 153, 99, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -532,183 +532,183 @@
1
} ;
-static yyconst flex_int16_t yy_base[764] =
+static yyconst flex_int16_t yy_base[766] =
{ 0,
- 0, 0, 69, 70, 79, 0, 988, 989, 989, 989,
- 962, 49, 145, 989, 989, 961, 142, 989, 141, 139,
- 154, 167, 176, 959, 989, 176, 959, 51, 989, 0,
- 989, 989, 136, 116, 112, 159, 157, 156, 173, 926,
- 174, 179, 925, 175, 189, 919, 185, 932, 197, 203,
- 204, 209, 113, 989, 186, 989, 989, 989, 989, 965,
- 989, 989, 0, 989, 989, 989, 989, 989, 989, 989,
- 989, 989, 989, 255, 989, 0, 989, 262, 280, 298,
- 317, 0, 332, 989, 989, 989, 953, 989, 989, 989,
- 952, 0, 989, 989, 915, 920, 206, 917, 925, 924,
+ 0, 0, 69, 70, 79, 0, 990, 991, 991, 991,
+ 964, 49, 145, 991, 991, 963, 142, 991, 141, 139,
+ 154, 167, 176, 961, 991, 176, 961, 51, 991, 0,
+ 991, 991, 136, 116, 112, 159, 157, 156, 173, 928,
+ 174, 179, 927, 175, 189, 921, 185, 934, 197, 203,
+ 204, 209, 113, 991, 186, 991, 991, 991, 991, 967,
+ 991, 991, 0, 991, 991, 991, 991, 991, 991, 991,
+ 991, 991, 991, 255, 991, 0, 991, 262, 280, 298,
+ 317, 0, 332, 991, 991, 991, 955, 991, 991, 991,
+ 954, 0, 991, 991, 917, 922, 206, 919, 927, 926,
- 911, 914, 925, 233, 919, 907, 904, 917, 904, 901,
- 901, 907, 237, 248, 901, 911, 897, 903, 906, 907,
- 0, 899, 909, 300, 908, 903, 109, 889, 902, 893,
- 268, 886, 262, 898, 900, 246, 889, 886, 875, 884,
- 206, 264, 888, 884, 886, 875, 878, 880, 279, 315,
- 875, 887, 150, 880, 879, 989, 989, 989, 0, 356,
- 0, 366, 384, 391, 400, 0, 989, 989, 878, 0,
- 874, 869, 873, 882, 879, 294, 863, 863, 874, 866,
- 225, 876, 873, 873, 871, 868, 860, 866, 853, 851,
- 863, 849, 865, 0, 862, 850, 857, 854, 858, 859,
+ 913, 916, 927, 233, 921, 909, 906, 919, 906, 903,
+ 903, 909, 237, 248, 903, 913, 899, 905, 908, 909,
+ 0, 901, 911, 300, 910, 905, 109, 891, 904, 895,
+ 268, 888, 262, 900, 902, 246, 891, 888, 877, 886,
+ 206, 264, 890, 886, 888, 877, 880, 230, 279, 315,
+ 878, 890, 150, 883, 882, 991, 991, 991, 0, 356,
+ 0, 366, 384, 391, 400, 0, 991, 991, 881, 0,
+ 877, 872, 876, 885, 882, 294, 866, 866, 877, 869,
+ 264, 879, 876, 876, 874, 871, 863, 869, 856, 854,
+ 866, 852, 868, 0, 865, 853, 860, 857, 861, 862,
- 852, 849, 838, 837, 850, 853, 841, 849, 844, 835,
- 371, 840, 843, 834, 841, 830, 834, 825, 839, 838,
- 829, 835, 283, 819, 822, 820, 830, 820, 815, 813,
- 815, 825, 811, 813, 810, 821, 820, 823, 313, 814,
- 810, 808, 797, 374, 815, 817, 806, 798, 407, 414,
- 421, 428, 795, 805, 804, 0, 802, 433, 0, 0,
- 795, 793, 793, 794, 789, 797, 786, 803, 792, 436,
- 0, 0, 786, 796, 795, 795, 0, 780, 439, 0,
- 0, 782, 442, 789, 790, 781, 775, 774, 775, 774,
- 774, 445, 0, 0, 0, 0, 0, 769, 770, 775,
+ 855, 852, 841, 840, 853, 856, 844, 852, 847, 838,
+ 371, 843, 846, 837, 844, 833, 837, 828, 842, 841,
+ 832, 838, 283, 822, 825, 823, 833, 823, 818, 816,
+ 818, 828, 814, 816, 813, 824, 823, 826, 808, 313,
+ 816, 812, 810, 799, 374, 817, 819, 808, 800, 407,
+ 414, 421, 428, 797, 807, 806, 0, 804, 433, 0,
+ 0, 797, 795, 795, 796, 791, 799, 788, 805, 794,
+ 436, 0, 0, 788, 798, 797, 797, 0, 782, 439,
+ 0, 0, 784, 442, 791, 792, 783, 777, 776, 777,
+ 776, 776, 445, 0, 0, 0, 0, 0, 771, 772,
- 769, 765, 778, 773, 773, 771, 770, 764, 758, 760,
- 759, 763, 755, 758, 753, 761, 766, 754, 751, 763,
- 754, 0, 0, 760, 756, 748, 748, 753, 744, 751,
- 748, 0, 0, 0, 0, 738, 750, 749, 748, 749,
- 749, 0, 0, 0, 0, 736, 0, 744, 735, 0,
- 734, 735, 729, 739, 0, 0, 0, 730, 0, 726,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 736,
- 449, 735, 0, 0, 733, 729, 726, 0, 0, 0,
- 724, 720, 725, 716, 714, 727, 712, 0, 712, 725,
- 714, 710, 716, 711, 718, 0, 716, 713, 717, 701,
+ 777, 771, 767, 780, 775, 775, 773, 772, 766, 760,
+ 762, 761, 765, 757, 760, 755, 763, 768, 756, 753,
+ 765, 756, 0, 0, 762, 758, 0, 750, 750, 755,
+ 746, 753, 750, 0, 0, 0, 0, 740, 752, 751,
+ 750, 751, 751, 0, 0, 0, 0, 738, 0, 746,
+ 737, 0, 736, 737, 731, 741, 0, 0, 0, 732,
+ 0, 728, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 738, 449, 737, 0, 0, 735, 731, 728, 0,
+ 0, 0, 726, 722, 727, 718, 716, 729, 714, 0,
+ 714, 727, 716, 712, 718, 713, 720, 0, 718, 715,
- 699, 702, 708, 714, 709, 708, 696, 0, 698, 699,
- 0, 696, 699, 0, 693, 0, 706, 686, 695, 690,
- 0, 683, 683, 696, 0, 698, 0, 452, 710, 709,
- 708, 676, 675, 0, 692, 691, 686, 675, 688, 675,
- 672, 0, 0, 677, 676, 0, 673, 680, 679, 0,
- 665, 0, 0, 0, 0, 662, 0, 0, 661, 672,
- 455, 665, 671, 670, 667, 662, 659, 652, 652, 665,
- 650, 662, 0, 0, 655, 677, 676, 675, 643, 642,
- 341, 448, 0, 654, 657, 655, 644, 640, 0, 652,
- 649, 648, 638, 637, 627, 644, 630, 471, 638, 641,
+ 719, 703, 701, 704, 710, 716, 711, 710, 698, 0,
+ 700, 701, 0, 698, 701, 0, 695, 0, 708, 688,
+ 697, 692, 0, 685, 685, 698, 0, 700, 0, 452,
+ 712, 711, 710, 678, 677, 0, 694, 693, 688, 677,
+ 690, 677, 674, 0, 0, 679, 678, 0, 675, 682,
+ 681, 0, 667, 0, 0, 0, 0, 664, 0, 0,
+ 663, 674, 455, 667, 673, 672, 669, 664, 661, 654,
+ 654, 667, 652, 664, 0, 0, 657, 679, 678, 677,
+ 645, 644, 341, 448, 0, 656, 659, 657, 646, 642,
+ 0, 654, 651, 650, 640, 639, 629, 646, 632, 471,
- 0, 657, 656, 655, 623, 622, 0, 636, 623, 0,
- 633, 626, 627, 630, 0, 0, 0, 0, 649, 648,
- 0, 626, 629, 614, 621, 612, 619, 620, 620, 619,
- 605, 475, 617, 0, 618, 607, 606, 0, 0, 0,
- 630, 629, 628, 596, 595, 591, 599, 0, 626, 625,
- 0, 603, 606, 0, 477, 0, 584, 593, 0, 589,
- 588, 597, 597, 585, 599, 583, 597, 592, 0, 0,
- 0, 608, 607, 575, 0, 575, 0, 0, 452, 460,
- 598, 585, 588, 571, 583, 571, 570, 579, 579, 595,
- 594, 562, 0, 562, 563, 562, 572, 0, 575, 571,
+ 640, 643, 0, 659, 658, 657, 625, 624, 0, 638,
+ 625, 0, 635, 628, 629, 632, 0, 0, 0, 0,
+ 651, 650, 0, 628, 631, 616, 623, 614, 621, 622,
+ 622, 621, 607, 475, 619, 0, 620, 609, 608, 0,
+ 0, 0, 632, 631, 630, 598, 597, 593, 601, 0,
+ 628, 627, 0, 605, 608, 0, 477, 0, 586, 595,
+ 0, 591, 590, 599, 599, 587, 601, 585, 599, 594,
+ 0, 0, 0, 610, 609, 577, 0, 577, 0, 0,
+ 452, 460, 600, 587, 590, 573, 585, 573, 572, 581,
+ 581, 597, 596, 564, 0, 564, 565, 564, 574, 0,
- 573, 569, 556, 586, 203, 564, 560, 552, 559, 571,
- 560, 556, 558, 556, 556, 555, 0, 543, 542, 552,
- 0, 571, 208, 549, 0, 553, 552, 536, 528, 536,
- 526, 534, 0, 531, 551, 540, 538, 523, 526, 540,
- 555, 536, 537, 534, 531, 0, 519, 533, 532, 516,
- 515, 535, 524, 522, 504, 503, 0, 530, 503, 528,
- 501, 505, 535, 516, 513, 512, 515, 511, 498, 495,
- 508, 493, 494, 496, 485, 484, 0, 490, 520, 501,
- 498, 0, 0, 494, 0, 493, 0, 499, 483, 480,
- 481, 0, 473, 481, 478, 498, 478, 0, 0, 490,
+ 577, 573, 575, 571, 558, 588, 203, 566, 562, 554,
+ 561, 573, 562, 558, 560, 558, 558, 557, 0, 545,
+ 544, 554, 0, 573, 208, 551, 0, 555, 554, 538,
+ 530, 538, 528, 536, 0, 533, 553, 542, 540, 525,
+ 528, 542, 557, 538, 539, 536, 533, 0, 521, 535,
+ 534, 518, 517, 537, 526, 524, 506, 505, 0, 532,
+ 505, 530, 503, 507, 537, 518, 515, 514, 517, 513,
+ 500, 497, 510, 495, 496, 498, 487, 486, 0, 492,
+ 522, 503, 500, 0, 0, 496, 0, 495, 0, 501,
+ 485, 482, 483, 0, 475, 483, 480, 500, 480, 0,
- 0, 0, 489, 473, 470, 471, 485, 484, 461, 467,
- 0, 0, 487, 460, 479, 471, 457, 466, 453, 457,
- 0, 0, 458, 455, 0, 455, 445, 0, 417, 433,
- 0, 439, 0, 430, 356, 340, 329, 334, 0, 318,
- 328, 290, 279, 277, 0, 278, 267, 266, 0, 0,
- 0, 211, 158, 0, 126, 0, 0, 989, 506, 508,
- 510, 514, 171
+ 0, 492, 0, 0, 491, 475, 472, 473, 487, 486,
+ 463, 469, 0, 0, 489, 462, 481, 473, 459, 468,
+ 455, 461, 0, 0, 472, 469, 0, 461, 451, 0,
+ 433, 452, 0, 447, 0, 433, 418, 417, 347, 353,
+ 0, 348, 346, 299, 296, 292, 0, 296, 284, 266,
+ 0, 0, 0, 211, 158, 0, 126, 0, 0, 991,
+ 506, 508, 510, 514, 171
} ;
-static yyconst flex_int16_t yy_def[764] =
+static yyconst flex_int16_t yy_def[766] =
{ 0,
- 758, 1, 759, 759, 758, 5, 758, 758, 758, 758,
- 758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
- 758, 758, 758, 758, 758, 758, 758, 758, 758, 760,
- 758, 758, 758, 760, 760, 760, 760, 760, 760, 760,
+ 760, 1, 761, 761, 760, 5, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 758, 758, 758, 758, 758, 758, 758,
- 758, 758, 761, 758, 758, 758, 758, 758, 758, 758,
- 758, 758, 758, 758, 758, 762, 758, 758, 758, 758,
- 758, 763, 758, 758, 758, 758, 758, 758, 758, 758,
- 758, 760, 758, 758, 760, 760, 760, 760, 760, 760,
+ 760, 760, 760, 760, 760, 760, 760, 760, 760, 762,
+ 760, 760, 760, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 760, 760, 760, 760, 760, 760, 760,
+ 760, 760, 763, 760, 760, 760, 760, 760, 760, 760,
+ 760, 760, 760, 760, 760, 764, 760, 760, 760, 760,
+ 760, 765, 760, 760, 760, 760, 760, 760, 760, 760,
+ 760, 762, 760, 760, 762, 762, 762, 762, 762, 762,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 758, 758, 758, 761, 758,
- 762, 758, 758, 758, 758, 763, 758, 758, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 760, 760, 760, 763, 760,
+ 764, 760, 760, 760, 760, 765, 760, 760, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 758, 758,
- 758, 758, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 760,
+ 760, 760, 760, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 0, 758, 758,
- 758, 758, 758
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 0,
+ 760, 760, 760, 760, 760
} ;
-static yyconst flex_int16_t yy_nxt[1061] =
+static yyconst flex_int16_t yy_nxt[1063] =
{ 0,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 23, 23, 23, 23,
@@ -729,106 +729,107 @@
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, 757,
+ 85, 79, 79, 79, 79, 79, 79, 80, 78, 759,
83, 83, 83, 83, 83, 83, 83, 86, 81, 87,
- 88, 245, 101, 246, 105, 82, 102, 81, 106, 109,
+ 88, 246, 101, 247, 105, 82, 102, 81, 106, 109,
156, 110, 103, 107, 81, 104, 112, 118, 128, 108,
- 111, 756, 129, 81, 113, 119, 114, 121, 133, 115,
- 122, 82, 130, 123, 124, 116, 120, 635, 125, 636,
- 137, 126, 652, 134, 653, 131, 135, 138, 139, 229,
+ 111, 758, 129, 81, 113, 119, 114, 121, 133, 115,
+ 122, 82, 130, 123, 124, 116, 120, 637, 125, 638,
+ 137, 126, 654, 134, 655, 131, 135, 138, 139, 229,
144, 140, 151, 145, 157, 148, 152, 141, 142, 149,
- 143, 146, 171, 150, 230, 153, 172, 755, 147, 74,
+ 143, 146, 171, 150, 230, 153, 172, 757, 147, 74,
74, 74, 74, 74, 74, 74, 162, 162, 162, 162,
- 162, 162, 162, 179, 265, 266, 160, 180, 181, 222,
+ 162, 162, 162, 179, 238, 239, 160, 180, 181, 222,
190, 192, 78, 163, 79, 79, 79, 79, 79, 79,
- 80, 191, 160, 754, 193, 223, 224, 217, 231, 163,
+ 80, 191, 160, 756, 193, 223, 224, 217, 231, 163,
78, 81, 80, 80, 80, 80, 80, 80, 80, 214,
- 218, 232, 219, 753, 752, 215, 164, 81, 164, 81,
- 239, 165, 165, 165, 165, 165, 165, 165, 240, 309,
- 751, 259, 750, 310, 78, 81, 83, 83, 83, 83,
- 83, 83, 83, 202, 260, 749, 203, 204, 241, 748,
- 205, 326, 206, 81, 747, 249, 242, 249, 524, 327,
- 250, 250, 250, 250, 250, 250, 250, 746, 525, 81,
- 162, 162, 162, 162, 162, 162, 162, 295, 296, 297,
- 332, 333, 334, 251, 745, 251, 744, 163, 252, 252,
+ 218, 232, 219, 266, 267, 215, 164, 81, 164, 81,
+ 240, 165, 165, 165, 165, 165, 165, 165, 241, 310,
+ 755, 260, 754, 311, 78, 81, 83, 83, 83, 83,
+ 83, 83, 83, 202, 261, 753, 203, 204, 242, 752,
+ 205, 328, 206, 81, 751, 250, 243, 250, 526, 329,
+ 251, 251, 251, 251, 251, 251, 251, 750, 527, 81,
+ 162, 162, 162, 162, 162, 162, 162, 296, 297, 298,
+ 334, 335, 336, 252, 749, 252, 748, 163, 253, 253,
- 252, 252, 252, 252, 252, 165, 165, 165, 165, 165,
- 165, 165, 743, 163, 165, 165, 165, 165, 165, 165,
- 165, 250, 250, 250, 250, 250, 250, 250, 250, 250,
- 250, 250, 250, 250, 250, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252, 252, 343,
- 344, 345, 355, 356, 357, 363, 364, 365, 367, 368,
- 369, 378, 379, 380, 429, 430, 431, 476, 477, 478,
- 502, 503, 504, 742, 741, 526, 740, 432, 433, 608,
- 479, 480, 739, 505, 506, 527, 541, 542, 543, 609,
- 572, 573, 590, 591, 610, 738, 611, 612, 737, 544,
+ 253, 253, 253, 253, 253, 165, 165, 165, 165, 165,
+ 165, 165, 747, 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, 431, 432, 433, 478, 479, 480,
+ 504, 505, 506, 746, 745, 528, 744, 434, 435, 610,
+ 481, 482, 743, 507, 508, 529, 543, 544, 545, 611,
+ 574, 575, 592, 593, 612, 742, 613, 614, 741, 546,
- 545, 736, 546, 574, 735, 592, 58, 58, 58, 58,
- 92, 92, 159, 159, 161, 734, 161, 161, 733, 732,
- 731, 730, 729, 728, 727, 726, 725, 724, 723, 722,
- 721, 720, 719, 718, 717, 716, 715, 714, 713, 712,
- 711, 710, 709, 708, 707, 706, 705, 704, 703, 702,
- 701, 700, 699, 698, 697, 696, 695, 694, 693, 692,
- 691, 690, 689, 688, 687, 686, 685, 684, 683, 682,
- 681, 680, 679, 678, 677, 676, 675, 674, 673, 672,
- 671, 670, 669, 668, 667, 666, 665, 664, 663, 662,
- 661, 660, 659, 658, 657, 656, 655, 654, 651, 650,
+ 547, 740, 548, 576, 739, 594, 58, 58, 58, 58,
+ 92, 92, 159, 159, 161, 738, 161, 161, 737, 736,
+ 735, 734, 733, 732, 731, 730, 729, 728, 727, 726,
+ 725, 724, 723, 722, 721, 720, 719, 718, 717, 716,
+ 715, 714, 713, 712, 711, 710, 709, 708, 707, 706,
+ 705, 704, 703, 702, 701, 700, 699, 698, 697, 696,
+ 695, 694, 693, 692, 691, 690, 689, 688, 687, 686,
+ 685, 684, 683, 682, 681, 680, 679, 678, 677, 676,
+ 675, 674, 673, 672, 671, 670, 669, 668, 667, 666,
+ 665, 664, 663, 662, 661, 660, 659, 658, 657, 656,
- 649, 648, 647, 646, 645, 644, 643, 642, 641, 640,
- 639, 638, 637, 634, 633, 632, 631, 630, 629, 628,
- 627, 626, 625, 624, 623, 622, 621, 620, 619, 618,
- 617, 616, 615, 614, 613, 607, 606, 605, 604, 603,
- 602, 601, 600, 599, 598, 597, 596, 595, 594, 593,
- 589, 588, 587, 586, 585, 584, 583, 582, 581, 580,
- 579, 578, 577, 576, 575, 571, 570, 569, 568, 567,
- 566, 565, 564, 563, 562, 561, 560, 559, 558, 557,
- 556, 555, 554, 553, 552, 551, 550, 549, 548, 547,
- 540, 539, 538, 537, 536, 535, 534, 533, 532, 531,
+ 653, 652, 651, 650, 649, 648, 647, 646, 645, 644,
+ 643, 642, 641, 640, 639, 636, 635, 634, 633, 632,
+ 631, 630, 629, 628, 627, 626, 625, 624, 623, 622,
+ 621, 620, 619, 618, 617, 616, 615, 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, 573, 572, 571,
+ 570, 569, 568, 567, 566, 565, 564, 563, 562, 561,
+ 560, 559, 558, 557, 556, 555, 554, 553, 552, 551,
+ 550, 549, 542, 541, 540, 539, 538, 537, 536, 535,
- 530, 529, 528, 523, 522, 521, 520, 519, 518, 517,
- 516, 515, 514, 513, 512, 511, 510, 509, 508, 507,
- 501, 500, 499, 498, 497, 496, 495, 494, 493, 492,
- 491, 490, 489, 488, 487, 486, 485, 484, 483, 482,
- 481, 475, 474, 473, 472, 471, 470, 469, 468, 467,
- 466, 465, 464, 463, 462, 461, 460, 459, 458, 457,
- 456, 455, 454, 453, 452, 451, 450, 449, 448, 447,
- 446, 445, 444, 443, 442, 441, 440, 439, 438, 437,
- 436, 435, 434, 428, 427, 426, 425, 424, 423, 422,
- 421, 420, 419, 418, 417, 416, 415, 414, 413, 412,
+ 534, 533, 532, 531, 530, 525, 524, 523, 522, 521,
+ 520, 519, 518, 517, 516, 515, 514, 513, 512, 511,
+ 510, 509, 503, 502, 501, 500, 499, 498, 497, 496,
+ 495, 494, 493, 492, 491, 490, 489, 488, 487, 486,
+ 485, 484, 483, 477, 476, 475, 474, 473, 472, 471,
+ 470, 469, 468, 467, 466, 465, 464, 463, 462, 461,
+ 460, 459, 458, 457, 456, 455, 454, 453, 452, 451,
+ 450, 449, 448, 447, 446, 445, 444, 443, 442, 441,
+ 440, 439, 438, 437, 436, 430, 429, 428, 427, 426,
+ 425, 424, 423, 422, 421, 420, 419, 418, 417, 416,
- 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, 382,
- 381, 377, 376, 375, 374, 373, 372, 371, 370, 366,
- 362, 361, 360, 359, 358, 354, 353, 352, 351, 350,
- 349, 348, 347, 346, 342, 341, 340, 339, 338, 337,
- 336, 335, 331, 330, 329, 328, 325, 324, 323, 322,
- 321, 320, 319, 318, 317, 316, 315, 314, 313, 312,
- 311, 308, 307, 306, 305, 304, 303, 302, 301, 300,
- 299, 298, 294, 293, 292, 291, 290, 289, 288, 287,
+ 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,
- 286, 285, 284, 283, 282, 281, 280, 279, 278, 277,
- 276, 275, 274, 273, 272, 271, 270, 269, 268, 267,
- 264, 263, 262, 261, 258, 257, 256, 255, 254, 253,
- 248, 247, 244, 243, 238, 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, 758, 7, 758,
- 758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
+ 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, 760,
+ 7, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
- 758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
- 758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
- 758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
- 758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
- 758, 758, 758, 758, 758, 758, 758, 758, 758, 758
+ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
+ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
+ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
+ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
+ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
+ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
+ 760, 760
} ;
-static yyconst flex_int16_t yy_chk[1061] =
+static yyconst flex_int16_t yy_chk[1063] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -848,108 +849,109 @@
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, 763, 35, 34, 34, 33, 21, 22,
- 26, 22, 22, 22, 22, 22, 22, 22, 23, 755,
+ 35, 53, 127, 765, 35, 34, 34, 33, 21, 22,
+ 26, 22, 22, 22, 22, 22, 22, 22, 23, 757,
23, 23, 23, 23, 23, 23, 23, 26, 22, 26,
26, 153, 36, 153, 37, 22, 36, 23, 37, 38,
55, 38, 36, 37, 22, 36, 39, 41, 44, 37,
- 38, 753, 44, 23, 39, 41, 39, 42, 47, 39,
- 42, 22, 45, 42, 42, 39, 41, 605, 42, 605,
- 49, 42, 623, 47, 623, 45, 47, 49, 49, 141,
+ 38, 755, 44, 23, 39, 41, 39, 42, 47, 39,
+ 42, 22, 45, 42, 42, 39, 41, 607, 42, 607,
+ 49, 42, 625, 47, 625, 45, 47, 49, 49, 141,
50, 49, 52, 50, 55, 51, 52, 49, 49, 51,
- 49, 50, 97, 51, 141, 52, 97, 752, 50, 74,
+ 49, 50, 97, 51, 141, 52, 97, 754, 50, 74,
74, 74, 74, 74, 74, 74, 78, 78, 78, 78,
- 78, 78, 78, 104, 181, 181, 74, 104, 104, 136,
+ 78, 78, 78, 104, 148, 148, 74, 104, 104, 136,
113, 114, 79, 78, 79, 79, 79, 79, 79, 79,
- 79, 113, 74, 748, 114, 136, 136, 133, 142, 78,
+ 79, 113, 74, 750, 114, 136, 136, 133, 142, 78,
80, 79, 80, 80, 80, 80, 80, 80, 80, 131,
- 133, 142, 133, 747, 746, 131, 81, 79, 81, 80,
+ 133, 142, 133, 181, 181, 131, 81, 79, 81, 80,
149, 81, 81, 81, 81, 81, 81, 81, 149, 223,
- 744, 176, 743, 223, 83, 80, 83, 83, 83, 83,
- 83, 83, 83, 124, 176, 742, 124, 124, 150, 741,
- 124, 239, 124, 83, 740, 160, 150, 160, 481, 239,
- 160, 160, 160, 160, 160, 160, 160, 738, 481, 83,
+ 749, 176, 748, 223, 83, 80, 83, 83, 83, 83,
+ 83, 83, 83, 124, 176, 746, 124, 124, 150, 745,
+ 124, 240, 124, 83, 744, 160, 150, 160, 483, 240,
+ 160, 160, 160, 160, 160, 160, 160, 743, 483, 83,
162, 162, 162, 162, 162, 162, 162, 211, 211, 211,
- 244, 244, 244, 163, 737, 163, 736, 162, 163, 163,
+ 245, 245, 245, 163, 742, 163, 740, 162, 163, 163,
163, 163, 163, 163, 163, 164, 164, 164, 164, 164,
- 164, 164, 735, 162, 165, 165, 165, 165, 165, 165,
- 165, 249, 249, 249, 249, 249, 249, 249, 250, 250,
- 250, 250, 250, 250, 250, 251, 251, 251, 251, 251,
- 251, 251, 252, 252, 252, 252, 252, 252, 252, 258,
- 258, 258, 270, 270, 270, 279, 279, 279, 283, 283,
- 283, 292, 292, 292, 371, 371, 371, 428, 428, 428,
- 461, 461, 461, 734, 732, 482, 730, 371, 371, 579,
- 428, 428, 729, 461, 461, 482, 498, 498, 498, 579,
- 532, 532, 555, 555, 580, 727, 580, 580, 726, 498,
+ 164, 164, 739, 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, 430, 430, 430,
+ 463, 463, 463, 738, 737, 484, 736, 373, 373, 581,
+ 430, 430, 734, 463, 463, 484, 500, 500, 500, 581,
+ 534, 534, 557, 557, 582, 732, 582, 582, 731, 500,
- 498, 724, 498, 532, 723, 555, 759, 759, 759, 759,
- 760, 760, 761, 761, 762, 720, 762, 762, 719, 718,
- 717, 716, 715, 714, 713, 710, 709, 708, 707, 706,
- 705, 704, 703, 700, 697, 696, 695, 694, 693, 691,
- 690, 689, 688, 686, 684, 681, 680, 679, 678, 676,
- 675, 674, 673, 672, 671, 670, 669, 668, 667, 666,
- 665, 664, 663, 662, 661, 660, 659, 658, 656, 655,
- 654, 653, 652, 651, 650, 649, 648, 647, 645, 644,
- 643, 642, 641, 640, 639, 638, 637, 636, 635, 634,
- 632, 631, 630, 629, 628, 627, 626, 624, 622, 620,
+ 500, 729, 500, 534, 728, 557, 761, 761, 761, 761,
+ 762, 762, 763, 763, 764, 726, 764, 764, 725, 722,
+ 721, 720, 719, 718, 717, 716, 715, 712, 711, 710,
+ 709, 708, 707, 706, 705, 702, 699, 698, 697, 696,
+ 695, 693, 692, 691, 690, 688, 686, 683, 682, 681,
+ 680, 678, 677, 676, 675, 674, 673, 672, 671, 670,
+ 669, 668, 667, 666, 665, 664, 663, 662, 661, 660,
+ 658, 657, 656, 655, 654, 653, 652, 651, 650, 649,
+ 647, 646, 645, 644, 643, 642, 641, 640, 639, 638,
+ 637, 636, 634, 633, 632, 631, 630, 629, 628, 626,
- 619, 618, 616, 615, 614, 613, 612, 611, 610, 609,
- 608, 607, 606, 604, 603, 602, 601, 600, 599, 597,
- 596, 595, 594, 592, 591, 590, 589, 588, 587, 586,
- 585, 584, 583, 582, 581, 576, 574, 573, 572, 568,
- 567, 566, 565, 564, 563, 562, 561, 560, 558, 557,
- 553, 552, 550, 549, 547, 546, 545, 544, 543, 542,
- 541, 537, 536, 535, 533, 531, 530, 529, 528, 527,
- 526, 525, 524, 523, 522, 520, 519, 514, 513, 512,
- 511, 509, 508, 506, 505, 504, 503, 502, 500, 499,
- 497, 496, 495, 494, 493, 492, 491, 490, 488, 487,
+ 624, 622, 621, 620, 618, 617, 616, 615, 614, 613,
+ 612, 611, 610, 609, 608, 606, 605, 604, 603, 602,
+ 601, 599, 598, 597, 596, 594, 593, 592, 591, 590,
+ 589, 588, 587, 586, 585, 584, 583, 578, 576, 575,
+ 574, 570, 569, 568, 567, 566, 565, 564, 563, 562,
+ 560, 559, 555, 554, 552, 551, 549, 548, 547, 546,
+ 545, 544, 543, 539, 538, 537, 535, 533, 532, 531,
+ 530, 529, 528, 527, 526, 525, 524, 522, 521, 516,
+ 515, 514, 513, 511, 510, 508, 507, 506, 505, 504,
+ 502, 501, 499, 498, 497, 496, 495, 494, 493, 492,
- 486, 485, 484, 480, 479, 478, 477, 476, 475, 472,
- 471, 470, 469, 468, 467, 466, 465, 464, 463, 462,
- 460, 459, 456, 451, 449, 448, 447, 445, 444, 441,
- 440, 439, 438, 437, 436, 435, 433, 432, 431, 430,
- 429, 426, 424, 423, 422, 420, 419, 418, 417, 415,
- 413, 412, 410, 409, 407, 406, 405, 404, 403, 402,
- 401, 400, 399, 398, 397, 395, 394, 393, 392, 391,
- 390, 389, 387, 386, 385, 384, 383, 382, 381, 377,
- 376, 375, 372, 370, 360, 358, 354, 353, 352, 351,
- 349, 348, 346, 341, 340, 339, 338, 337, 336, 331,
+ 490, 489, 488, 487, 486, 482, 481, 480, 479, 478,
+ 477, 474, 473, 472, 471, 470, 469, 468, 467, 466,
+ 465, 464, 462, 461, 458, 453, 451, 450, 449, 447,
+ 446, 443, 442, 441, 440, 439, 438, 437, 435, 434,
+ 433, 432, 431, 428, 426, 425, 424, 422, 421, 420,
+ 419, 417, 415, 414, 412, 411, 409, 408, 407, 406,
+ 405, 404, 403, 402, 401, 400, 399, 397, 396, 395,
+ 394, 393, 392, 391, 389, 388, 387, 386, 385, 384,
+ 383, 379, 378, 377, 374, 372, 362, 360, 356, 355,
+ 354, 353, 351, 350, 348, 343, 342, 341, 340, 339,
- 330, 329, 328, 327, 326, 325, 324, 321, 320, 319,
- 318, 317, 316, 315, 314, 313, 312, 311, 310, 309,
- 308, 307, 306, 305, 304, 303, 302, 301, 300, 299,
- 298, 291, 290, 289, 288, 287, 286, 285, 284, 282,
- 278, 276, 275, 274, 273, 269, 268, 267, 266, 265,
- 264, 263, 262, 261, 257, 255, 254, 253, 248, 247,
- 246, 245, 243, 242, 241, 240, 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,
+ 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, 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,
- 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, 148, 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, 758, 758,
- 758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
+ 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,
+ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
- 758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
- 758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
- 758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
- 758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
- 758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
- 758, 758, 758, 758, 758, 758, 758, 758, 758, 758
+ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
+ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
+ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
+ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
+ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
+ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
+ 760, 760
} ;
/* Table of booleans, true if rule could match eol. */
-static yyconst flex_int32_t yy_rule_can_match_eol[215] =
+static yyconst flex_int32_t yy_rule_can_match_eol[216] =
{ 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 @@
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, };
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, };
/* The intent behind this definition is that it'll catch
* any uses of REJECT which flex missed.
@@ -1005,6 +1007,7 @@
static int reserved_word(yyscan_t yyscanner);
static int ES2_reserved_ES3_keyword(TParseContext *context, int token);
static int ES2_keyword_ES3_reserved(TParseContext *context, int token);
+static int ES2_identifier_ES3_keyword(TParseContext *context, int token);
#define INITIAL 0
#define COMMENT 1
@@ -1295,13 +1298,13 @@
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 >= 759 )
+ if ( yy_current_state >= 761 )
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 != 758 );
+ while ( yy_current_state != 760 );
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
@@ -1462,106 +1465,109 @@
YY_BREAK
case 33:
YY_RULE_SETUP
-{ context->lexAfterType = true; return(VOID_TYPE); }
+{ return ES2_identifier_ES3_keyword(context, UINT_TYPE); }
YY_BREAK
case 34:
YY_RULE_SETUP
-{ context->lexAfterType = true; return(BOOL_TYPE); }
+{ context->lexAfterType = true; return(VOID_TYPE); }
YY_BREAK
case 35:
YY_RULE_SETUP
-{ yylval->lex.b = true; return(BOOLCONSTANT); }
+{ context->lexAfterType = true; return(BOOL_TYPE); }
YY_BREAK
case 36:
YY_RULE_SETUP
-{ yylval->lex.b = false; return(BOOLCONSTANT); }
+{ yylval->lex.b = true; return(BOOLCONSTANT); }
YY_BREAK
case 37:
YY_RULE_SETUP
-{ return(DISCARD); }
+{ yylval->lex.b = false; return(BOOLCONSTANT); }
YY_BREAK
case 38:
YY_RULE_SETUP
-{ return(RETURN); }
+{ return(DISCARD); }
YY_BREAK
case 39:
YY_RULE_SETUP
-{ context->lexAfterType = true; return(MATRIX2); }
+{ return(RETURN); }
YY_BREAK
case 40:
YY_RULE_SETUP
-{ context->lexAfterType = true; return(MATRIX3); }
+{ context->lexAfterType = true; return(MATRIX2); }
YY_BREAK
case 41:
YY_RULE_SETUP
-{ context->lexAfterType = true; return(MATRIX4); }
+{ context->lexAfterType = true; return(MATRIX3); }
YY_BREAK
case 42:
YY_RULE_SETUP
-{ context->lexAfterType = true; return (VEC2); }
+{ context->lexAfterType = true; return(MATRIX4); }
YY_BREAK
case 43:
YY_RULE_SETUP
-{ context->lexAfterType = true; return (VEC3); }
+{ context->lexAfterType = true; return (VEC2); }
YY_BREAK
case 44:
YY_RULE_SETUP
-{ context->lexAfterType = true; return (VEC4); }
+{ context->lexAfterType = true; return (VEC3); }
YY_BREAK
case 45:
YY_RULE_SETUP
-{ context->lexAfterType = true; return (IVEC2); }
+{ context->lexAfterType = true; return (VEC4); }
YY_BREAK
case 46:
YY_RULE_SETUP
-{ context->lexAfterType = true; return (IVEC3); }
+{ context->lexAfterType = true; return (IVEC2); }
YY_BREAK
case 47:
YY_RULE_SETUP
-{ context->lexAfterType = true; return (IVEC4); }
+{ context->lexAfterType = true; return (IVEC3); }
YY_BREAK
case 48:
YY_RULE_SETUP
-{ context->lexAfterType = true; return (BVEC2); }
+{ context->lexAfterType = true; return (IVEC4); }
YY_BREAK
case 49:
YY_RULE_SETUP
-{ context->lexAfterType = true; return (BVEC3); }
+{ context->lexAfterType = true; return (BVEC2); }
YY_BREAK
case 50:
YY_RULE_SETUP
-{ context->lexAfterType = true; return (BVEC4); }
+{ context->lexAfterType = true; return (BVEC3); }
YY_BREAK
case 51:
YY_RULE_SETUP
-{ context->lexAfterType = true; return SAMPLER2D; }
+{ context->lexAfterType = true; return (BVEC4); }
YY_BREAK
case 52:
YY_RULE_SETUP
-{ context->lexAfterType = true; return SAMPLERCUBE; }
+{ context->lexAfterType = true; return SAMPLER2D; }
YY_BREAK
case 53:
YY_RULE_SETUP
-{ context->lexAfterType = true; return SAMPLER_EXTERNAL_OES; }
+{ context->lexAfterType = true; return SAMPLERCUBE; }
YY_BREAK
case 54:
YY_RULE_SETUP
-{ context->lexAfterType = true; return SAMPLER3D; }
+{ context->lexAfterType = true; return SAMPLER_EXTERNAL_OES; }
YY_BREAK
case 55:
YY_RULE_SETUP
-{ return ES2_reserved_ES3_keyword(context, SAMPLER3DRECT); }
+{ context->lexAfterType = true; return SAMPLER3D; }
YY_BREAK
case 56:
YY_RULE_SETUP
-{ return ES2_reserved_ES3_keyword(context, SAMPLER2DSHADOW); }
+{ return ES2_reserved_ES3_keyword(context, SAMPLER3DRECT); }
YY_BREAK
case 57:
YY_RULE_SETUP
+{ return ES2_reserved_ES3_keyword(context, SAMPLER2DSHADOW); }
+ YY_BREAK
+case 58:
+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 58:
case 59:
case 60:
case 61:
@@ -1617,6 +1623,7 @@
case 111:
case 112:
case 113:
+case 114:
YY_RULE_SETUP
{
if (context->shaderVersion < 300) {
@@ -1627,7 +1634,6 @@
}
YY_BREAK
/* Reserved keywords */
-case 114:
case 115:
case 116:
case 117:
@@ -1670,35 +1676,32 @@
case 154:
case 155:
case 156:
+case 157:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
-case 157:
+case 158:
YY_RULE_SETUP
{
yylval->lex.string = NewPoolTString(yytext);
return check_type(yyscanner);
}
YY_BREAK
-case 158:
-YY_RULE_SETUP
-{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
- YY_BREAK
case 159:
YY_RULE_SETUP
{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
YY_BREAK
case 160:
YY_RULE_SETUP
-{ context->error(yylineno, "Invalid Octal number.", yytext); context->recover(); return 0;}
+{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
YY_BREAK
case 161:
YY_RULE_SETUP
-{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
+{ context->error(yylineno, "Invalid Octal number.", yytext); context->recover(); return 0;}
YY_BREAK
case 162:
YY_RULE_SETUP
-{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
+{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
YY_BREAK
case 163:
YY_RULE_SETUP
@@ -1710,198 +1713,202 @@
YY_BREAK
case 165:
YY_RULE_SETUP
-{ return(ADD_ASSIGN); }
+{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK
case 166:
YY_RULE_SETUP
-{ return(SUB_ASSIGN); }
+{ return(ADD_ASSIGN); }
YY_BREAK
case 167:
YY_RULE_SETUP
-{ return(MUL_ASSIGN); }
+{ return(SUB_ASSIGN); }
YY_BREAK
case 168:
YY_RULE_SETUP
-{ return(DIV_ASSIGN); }
+{ return(MUL_ASSIGN); }
YY_BREAK
case 169:
YY_RULE_SETUP
-{ return(MOD_ASSIGN); }
+{ return(DIV_ASSIGN); }
YY_BREAK
case 170:
YY_RULE_SETUP
-{ return(LEFT_ASSIGN); }
+{ return(MOD_ASSIGN); }
YY_BREAK
case 171:
YY_RULE_SETUP
-{ return(RIGHT_ASSIGN); }
+{ return(LEFT_ASSIGN); }
YY_BREAK
case 172:
YY_RULE_SETUP
-{ return(AND_ASSIGN); }
+{ return(RIGHT_ASSIGN); }
YY_BREAK
case 173:
YY_RULE_SETUP
-{ return(XOR_ASSIGN); }
+{ return(AND_ASSIGN); }
YY_BREAK
case 174:
YY_RULE_SETUP
-{ return(OR_ASSIGN); }
+{ return(XOR_ASSIGN); }
YY_BREAK
case 175:
YY_RULE_SETUP
-{ return(INC_OP); }
+{ return(OR_ASSIGN); }
YY_BREAK
case 176:
YY_RULE_SETUP
-{ return(DEC_OP); }
+{ return(INC_OP); }
YY_BREAK
case 177:
YY_RULE_SETUP
-{ return(AND_OP); }
+{ return(DEC_OP); }
YY_BREAK
case 178:
YY_RULE_SETUP
-{ return(OR_OP); }
+{ return(AND_OP); }
YY_BREAK
case 179:
YY_RULE_SETUP
-{ return(XOR_OP); }
+{ return(OR_OP); }
YY_BREAK
case 180:
YY_RULE_SETUP
-{ return(LE_OP); }
+{ return(XOR_OP); }
YY_BREAK
case 181:
YY_RULE_SETUP
-{ return(GE_OP); }
+{ return(LE_OP); }
YY_BREAK
case 182:
YY_RULE_SETUP
-{ return(EQ_OP); }
+{ return(GE_OP); }
YY_BREAK
case 183:
YY_RULE_SETUP
-{ return(NE_OP); }
+{ return(EQ_OP); }
YY_BREAK
case 184:
YY_RULE_SETUP
-{ return(LEFT_OP); }
+{ return(NE_OP); }
YY_BREAK
case 185:
YY_RULE_SETUP
-{ return(RIGHT_OP); }
+{ return(LEFT_OP); }
YY_BREAK
case 186:
YY_RULE_SETUP
-{ context->lexAfterType = false; return(SEMICOLON); }
+{ return(RIGHT_OP); }
YY_BREAK
case 187:
YY_RULE_SETUP
-{ context->lexAfterType = false; return(LEFT_BRACE); }
+{ context->lexAfterType = false; return(SEMICOLON); }
YY_BREAK
case 188:
YY_RULE_SETUP
-{ return(RIGHT_BRACE); }
+{ context->lexAfterType = false; return(LEFT_BRACE); }
YY_BREAK
case 189:
YY_RULE_SETUP
-{ if (context->inTypeParen) context->lexAfterType = false; return(COMMA); }
+{ return(RIGHT_BRACE); }
YY_BREAK
case 190:
YY_RULE_SETUP
-{ return(COLON); }
+{ if (context->inTypeParen) context->lexAfterType = false; return(COMMA); }
YY_BREAK
case 191:
YY_RULE_SETUP
-{ context->lexAfterType = false; return(EQUAL); }
+{ return(COLON); }
YY_BREAK
case 192:
YY_RULE_SETUP
-{ context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); }
+{ context->lexAfterType = false; return(EQUAL); }
YY_BREAK
case 193:
YY_RULE_SETUP
-{ context->inTypeParen = false; return(RIGHT_PAREN); }
+{ context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); }
YY_BREAK
case 194:
YY_RULE_SETUP
-{ return(LEFT_BRACKET); }
+{ context->inTypeParen = false; return(RIGHT_PAREN); }
YY_BREAK
case 195:
YY_RULE_SETUP
-{ return(RIGHT_BRACKET); }
+{ return(LEFT_BRACKET); }
YY_BREAK
case 196:
YY_RULE_SETUP
-{ BEGIN(FIELDS); return(DOT); }
+{ return(RIGHT_BRACKET); }
YY_BREAK
case 197:
YY_RULE_SETUP
-{ return(BANG); }
+{ BEGIN(FIELDS); return(DOT); }
YY_BREAK
case 198:
YY_RULE_SETUP
-{ return(DASH); }
+{ return(BANG); }
YY_BREAK
case 199:
YY_RULE_SETUP
-{ return(TILDE); }
+{ return(DASH); }
YY_BREAK
case 200:
YY_RULE_SETUP
-{ return(PLUS); }
+{ return(TILDE); }
YY_BREAK
case 201:
YY_RULE_SETUP
-{ return(STAR); }
+{ return(PLUS); }
YY_BREAK
case 202:
YY_RULE_SETUP
-{ return(SLASH); }
+{ return(STAR); }
YY_BREAK
case 203:
YY_RULE_SETUP
-{ return(PERCENT); }
+{ return(SLASH); }
YY_BREAK
case 204:
YY_RULE_SETUP
-{ return(LEFT_ANGLE); }
+{ return(PERCENT); }
YY_BREAK
case 205:
YY_RULE_SETUP
-{ return(RIGHT_ANGLE); }
+{ return(LEFT_ANGLE); }
YY_BREAK
case 206:
YY_RULE_SETUP
-{ return(VERTICAL_BAR); }
+{ return(RIGHT_ANGLE); }
YY_BREAK
case 207:
YY_RULE_SETUP
-{ return(CARET); }
+{ return(VERTICAL_BAR); }
YY_BREAK
case 208:
YY_RULE_SETUP
-{ return(AMPERSAND); }
+{ return(CARET); }
YY_BREAK
case 209:
YY_RULE_SETUP
-{ return(QUESTION); }
+{ return(AMPERSAND); }
YY_BREAK
case 210:
YY_RULE_SETUP
+{ return(QUESTION); }
+ YY_BREAK
+case 211:
+YY_RULE_SETUP
{
BEGIN(INITIAL);
yylval->lex.string = NewPoolTString(yytext);
return FIELD_SELECTION;
}
YY_BREAK
-case 211:
+case 212:
YY_RULE_SETUP
{}
YY_BREAK
-case 212:
-/* rule 212 can match eol */
+case 213:
+/* rule 213 can match eol */
YY_RULE_SETUP
{ }
YY_BREAK
@@ -1910,11 +1917,11 @@
case YY_STATE_EOF(FIELDS):
{ context->AfterEOF = true; yyterminate(); }
YY_BREAK
-case 213:
+case 214:
YY_RULE_SETUP
{ context->warning(yylineno, "Unknown char", yytext, ""); return 0; }
YY_BREAK
-case 214:
+case 215:
YY_RULE_SETUP
ECHO;
YY_BREAK
@@ -2210,7 +2217,7 @@
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 >= 759 )
+ if ( yy_current_state >= 761 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2239,11 +2246,11 @@
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 >= 759 )
+ if ( yy_current_state >= 761 )
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 == 758);
+ yy_is_jam = (yy_current_state == 760);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -3154,6 +3161,21 @@
return token;
}
+int ES2_identifier_ES3_keyword(TParseContext *context, int token)
+{
+ struct yyguts_t* yyg = (struct yyguts_t*) context->scanner;
+ yyscan_t yyscanner = (yyscan_t) context->scanner;
+
+ // not a reserved word in GLSL ES 1.00, so could be used as an identifier/type name
+ if (context->shaderVersion < 300)
+ {
+ yylval->lex.string = NewPoolTString(yytext);
+ return check_type(yyscanner);
+ }
+
+ return token;
+}
+
void yyerror(TParseContext* context, const char* reason) {
struct yyguts_t* yyg = (struct yyguts_t*) context->scanner;
diff --git a/src/OpenGL/compiler/glslang_tab.cpp b/src/OpenGL/compiler/glslang_tab.cpp
index 0553c00..dbda52d 100644
--- a/src/OpenGL/compiler/glslang_tab.cpp
+++ b/src/OpenGL/compiler/glslang_tab.cpp
@@ -133,98 +133,99 @@
BOOL_TYPE = 265,
FLOAT_TYPE = 266,
INT_TYPE = 267,
- BREAK = 268,
- CONTINUE = 269,
- DO = 270,
- ELSE = 271,
- FOR = 272,
- IF = 273,
- DISCARD = 274,
- RETURN = 275,
- SWITCH = 276,
- CASE = 277,
- DEFAULT = 278,
- BVEC2 = 279,
- BVEC3 = 280,
- BVEC4 = 281,
- IVEC2 = 282,
- IVEC3 = 283,
- IVEC4 = 284,
- VEC2 = 285,
- VEC3 = 286,
- VEC4 = 287,
- MATRIX2 = 288,
- MATRIX3 = 289,
- MATRIX4 = 290,
- IN_QUAL = 291,
- OUT_QUAL = 292,
- INOUT_QUAL = 293,
- UNIFORM = 294,
- VARYING = 295,
- CENTROID = 296,
- FLAT = 297,
- SMOOTH = 298,
- STRUCT = 299,
- VOID_TYPE = 300,
- WHILE = 301,
- SAMPLER2D = 302,
- SAMPLERCUBE = 303,
- SAMPLER_EXTERNAL_OES = 304,
- SAMPLER2DRECT = 305,
- SAMPLER3D = 306,
- SAMPLER3DRECT = 307,
- SAMPLER2DSHADOW = 308,
- IDENTIFIER = 309,
- TYPE_NAME = 310,
- FLOATCONSTANT = 311,
- INTCONSTANT = 312,
- BOOLCONSTANT = 313,
- FIELD_SELECTION = 314,
- LEFT_OP = 315,
- RIGHT_OP = 316,
- INC_OP = 317,
- DEC_OP = 318,
- LE_OP = 319,
- GE_OP = 320,
- EQ_OP = 321,
- NE_OP = 322,
- AND_OP = 323,
- OR_OP = 324,
- XOR_OP = 325,
- MUL_ASSIGN = 326,
- DIV_ASSIGN = 327,
- ADD_ASSIGN = 328,
- MOD_ASSIGN = 329,
- LEFT_ASSIGN = 330,
- RIGHT_ASSIGN = 331,
- AND_ASSIGN = 332,
- XOR_ASSIGN = 333,
- OR_ASSIGN = 334,
- SUB_ASSIGN = 335,
- LEFT_PAREN = 336,
- RIGHT_PAREN = 337,
- LEFT_BRACKET = 338,
- RIGHT_BRACKET = 339,
- LEFT_BRACE = 340,
- RIGHT_BRACE = 341,
- DOT = 342,
- COMMA = 343,
- COLON = 344,
- EQUAL = 345,
- SEMICOLON = 346,
- BANG = 347,
- DASH = 348,
- TILDE = 349,
- PLUS = 350,
- STAR = 351,
- SLASH = 352,
- PERCENT = 353,
- LEFT_ANGLE = 354,
- RIGHT_ANGLE = 355,
- VERTICAL_BAR = 356,
- CARET = 357,
- AMPERSAND = 358,
- QUESTION = 359
+ UINT_TYPE = 268,
+ BREAK = 269,
+ CONTINUE = 270,
+ DO = 271,
+ ELSE = 272,
+ FOR = 273,
+ IF = 274,
+ DISCARD = 275,
+ RETURN = 276,
+ SWITCH = 277,
+ CASE = 278,
+ DEFAULT = 279,
+ BVEC2 = 280,
+ BVEC3 = 281,
+ BVEC4 = 282,
+ IVEC2 = 283,
+ IVEC3 = 284,
+ IVEC4 = 285,
+ 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,
+ CENTROID = 297,
+ FLAT = 298,
+ SMOOTH = 299,
+ STRUCT = 300,
+ VOID_TYPE = 301,
+ WHILE = 302,
+ SAMPLER2D = 303,
+ SAMPLERCUBE = 304,
+ SAMPLER_EXTERNAL_OES = 305,
+ SAMPLER2DRECT = 306,
+ SAMPLER3D = 307,
+ SAMPLER3DRECT = 308,
+ SAMPLER2DSHADOW = 309,
+ IDENTIFIER = 310,
+ TYPE_NAME = 311,
+ FLOATCONSTANT = 312,
+ INTCONSTANT = 313,
+ BOOLCONSTANT = 314,
+ FIELD_SELECTION = 315,
+ LEFT_OP = 316,
+ RIGHT_OP = 317,
+ INC_OP = 318,
+ DEC_OP = 319,
+ LE_OP = 320,
+ GE_OP = 321,
+ EQ_OP = 322,
+ NE_OP = 323,
+ AND_OP = 324,
+ OR_OP = 325,
+ XOR_OP = 326,
+ MUL_ASSIGN = 327,
+ DIV_ASSIGN = 328,
+ ADD_ASSIGN = 329,
+ MOD_ASSIGN = 330,
+ LEFT_ASSIGN = 331,
+ RIGHT_ASSIGN = 332,
+ AND_ASSIGN = 333,
+ XOR_ASSIGN = 334,
+ OR_ASSIGN = 335,
+ SUB_ASSIGN = 336,
+ LEFT_PAREN = 337,
+ RIGHT_PAREN = 338,
+ LEFT_BRACKET = 339,
+ RIGHT_BRACKET = 340,
+ LEFT_BRACE = 341,
+ RIGHT_BRACE = 342,
+ DOT = 343,
+ COMMA = 344,
+ COLON = 345,
+ EQUAL = 346,
+ SEMICOLON = 347,
+ BANG = 348,
+ DASH = 349,
+ TILDE = 350,
+ PLUS = 351,
+ STAR = 352,
+ SLASH = 353,
+ PERCENT = 354,
+ LEFT_ANGLE = 355,
+ RIGHT_ANGLE = 356,
+ VERTICAL_BAR = 357,
+ CARET = 358,
+ AMPERSAND = 359,
+ QUESTION = 360
};
#endif
@@ -529,22 +530,22 @@
#endif
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 77
+#define YYFINAL 78
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1554
+#define YYLAST 1562
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 105
+#define YYNTOKENS 106
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 85
/* YYNRULES -- Number of rules. */
-#define YYNRULES 207
+#define YYNRULES 208
/* YYNRULES -- Number of states. */
-#define YYNSTATES 311
+#define YYNSTATES 312
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 359
+#define YYMAXUTOK 360
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -587,7 +588,8 @@
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104
+ 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
+ 105
};
#if YYDEBUG
@@ -609,103 +611,103 @@
324, 326, 328, 331, 334, 336, 338, 341, 343, 345,
347, 349, 354, 356, 358, 360, 362, 364, 366, 368,
370, 372, 374, 376, 378, 380, 382, 384, 386, 388,
- 390, 392, 394, 396, 398, 399, 406, 407, 413, 415,
- 418, 422, 424, 428, 430, 435, 437, 439, 441, 443,
- 445, 447, 449, 451, 453, 456, 457, 458, 464, 466,
- 468, 469, 472, 473, 476, 479, 483, 485, 488, 490,
- 493, 499, 503, 505, 507, 512, 513, 520, 521, 530,
- 531, 539, 541, 543, 545, 546, 549, 553, 556, 559,
- 562, 566, 569, 571, 574, 576, 578, 579
+ 390, 392, 394, 396, 398, 400, 401, 408, 409, 415,
+ 417, 420, 424, 426, 430, 432, 437, 439, 441, 443,
+ 445, 447, 449, 451, 453, 455, 458, 459, 460, 466,
+ 468, 470, 471, 474, 475, 478, 481, 485, 487, 490,
+ 492, 495, 501, 505, 507, 509, 514, 515, 522, 523,
+ 532, 533, 541, 543, 545, 547, 548, 551, 555, 558,
+ 561, 564, 568, 571, 573, 576, 578, 580, 581
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 186, 0, -1, 54, -1, 106, -1, 57, -1, 56,
- -1, 58, -1, 81, 133, 82, -1, 107, -1, 108,
- 83, 109, 84, -1, 110, -1, 108, 87, 59, -1,
- 108, 62, -1, 108, 63, -1, 133, -1, 111, -1,
- 112, -1, 108, 87, 112, -1, 114, 82, -1, 113,
- 82, -1, 115, 45, -1, 115, -1, 115, 131, -1,
- 114, 88, 131, -1, 116, 81, -1, 153, -1, 54,
- -1, 59, -1, 108, -1, 62, 117, -1, 63, 117,
- -1, 118, 117, -1, 95, -1, 93, -1, 92, -1,
- 117, -1, 119, 96, 117, -1, 119, 97, 117, -1,
- 119, -1, 120, 95, 119, -1, 120, 93, 119, -1,
- 120, -1, 121, -1, 122, 99, 121, -1, 122, 100,
- 121, -1, 122, 64, 121, -1, 122, 65, 121, -1,
- 122, -1, 123, 66, 122, -1, 123, 67, 122, -1,
- 123, -1, 124, -1, 125, -1, 126, -1, 127, 68,
- 126, -1, 127, -1, 128, 70, 127, -1, 128, -1,
- 129, 69, 128, -1, 129, -1, 129, 104, 133, 89,
- 131, -1, 130, -1, 117, 132, 131, -1, 90, -1,
- 71, -1, 72, -1, 73, -1, 80, -1, 131, -1,
- 133, 88, 131, -1, 130, -1, 136, 91, -1, 144,
- 91, -1, 7, 151, 152, 91, -1, 137, 82, -1,
- 139, -1, 138, -1, 139, 141, -1, 138, 88, 141,
- -1, 146, 54, 81, -1, 150, 54, -1, 150, 54,
- 83, 134, 84, -1, 147, 142, 140, -1, 142, 140,
- -1, 147, 142, 143, -1, 142, 143, -1, -1, 36,
- -1, 37, -1, 38, -1, 150, -1, 145, -1, 144,
- 88, 54, -1, 144, 88, 54, 83, 84, -1, 144,
- 88, 54, 83, 134, 84, -1, 144, 88, 54, 90,
- 161, -1, 146, -1, 146, 54, -1, 146, 54, 83,
- 84, -1, 146, 54, 83, 134, 84, -1, 146, 54,
- 90, 161, -1, 3, 54, -1, 150, -1, 148, 150,
- -1, 9, -1, 8, -1, 40, -1, 3, 40, -1,
- 149, -1, 9, -1, 36, -1, 37, -1, 41, 36,
- -1, 41, 37, -1, 39, -1, 152, -1, 151, 152,
- -1, 4, -1, 5, -1, 6, -1, 153, -1, 153,
- 83, 134, 84, -1, 45, -1, 11, -1, 12, -1,
- 10, -1, 30, -1, 31, -1, 32, -1, 24, -1,
+ 187, 0, -1, 55, -1, 107, -1, 58, -1, 57,
+ -1, 59, -1, 82, 134, 83, -1, 108, -1, 109,
+ 84, 110, 85, -1, 111, -1, 109, 88, 60, -1,
+ 109, 63, -1, 109, 64, -1, 134, -1, 112, -1,
+ 113, -1, 109, 88, 113, -1, 115, 83, -1, 114,
+ 83, -1, 116, 46, -1, 116, -1, 116, 132, -1,
+ 115, 89, 132, -1, 117, 82, -1, 154, -1, 55,
+ -1, 60, -1, 109, -1, 63, 118, -1, 64, 118,
+ -1, 119, 118, -1, 96, -1, 94, -1, 93, -1,
+ 118, -1, 120, 97, 118, -1, 120, 98, 118, -1,
+ 120, -1, 121, 96, 120, -1, 121, 94, 120, -1,
+ 121, -1, 122, -1, 123, 100, 122, -1, 123, 101,
+ 122, -1, 123, 65, 122, -1, 123, 66, 122, -1,
+ 123, -1, 124, 67, 123, -1, 124, 68, 123, -1,
+ 124, -1, 125, -1, 126, -1, 127, -1, 128, 69,
+ 127, -1, 128, -1, 129, 71, 128, -1, 129, -1,
+ 130, 70, 129, -1, 130, -1, 130, 105, 134, 90,
+ 132, -1, 131, -1, 118, 133, 132, -1, 91, -1,
+ 72, -1, 73, -1, 74, -1, 81, -1, 132, -1,
+ 134, 89, 132, -1, 131, -1, 137, 92, -1, 145,
+ 92, -1, 7, 152, 153, 92, -1, 138, 83, -1,
+ 140, -1, 139, -1, 140, 142, -1, 139, 89, 142,
+ -1, 147, 55, 82, -1, 151, 55, -1, 151, 55,
+ 84, 135, 85, -1, 148, 143, 141, -1, 143, 141,
+ -1, 148, 143, 144, -1, 143, 144, -1, -1, 37,
+ -1, 38, -1, 39, -1, 151, -1, 146, -1, 145,
+ 89, 55, -1, 145, 89, 55, 84, 85, -1, 145,
+ 89, 55, 84, 135, 85, -1, 145, 89, 55, 91,
+ 162, -1, 147, -1, 147, 55, -1, 147, 55, 84,
+ 85, -1, 147, 55, 84, 135, 85, -1, 147, 55,
+ 91, 162, -1, 3, 55, -1, 151, -1, 149, 151,
+ -1, 9, -1, 8, -1, 41, -1, 3, 41, -1,
+ 150, -1, 9, -1, 37, -1, 38, -1, 42, 37,
+ -1, 42, 38, -1, 40, -1, 153, -1, 152, 153,
+ -1, 4, -1, 5, -1, 6, -1, 154, -1, 154,
+ 84, 135, 85, -1, 46, -1, 11, -1, 12, -1,
+ 13, -1, 10, -1, 31, -1, 32, -1, 33, -1,
25, -1, 26, -1, 27, -1, 28, -1, 29, -1,
- 33, -1, 34, -1, 35, -1, 47, -1, 48, -1,
- 49, -1, 51, -1, 154, -1, 55, -1, -1, 44,
- 54, 85, 155, 157, 86, -1, -1, 44, 85, 156,
- 157, 86, -1, 158, -1, 157, 158, -1, 150, 159,
- 91, -1, 160, -1, 159, 88, 160, -1, 54, -1,
- 54, 83, 134, 84, -1, 131, -1, 135, -1, 165,
- -1, 164, -1, 162, -1, 174, -1, 175, -1, 178,
- -1, 185, -1, 85, 86, -1, -1, -1, 85, 166,
- 173, 167, 86, -1, 172, -1, 164, -1, -1, 170,
- 172, -1, -1, 171, 164, -1, 85, 86, -1, 85,
- 173, 86, -1, 163, -1, 173, 163, -1, 91, -1,
- 133, 91, -1, 18, 81, 133, 82, 176, -1, 169,
- 16, 169, -1, 169, -1, 133, -1, 146, 54, 90,
- 161, -1, -1, 46, 81, 179, 177, 82, 168, -1,
- -1, 15, 180, 169, 46, 81, 133, 82, 91, -1,
- -1, 17, 81, 181, 182, 184, 82, 168, -1, 174,
- -1, 162, -1, 177, -1, -1, 183, 91, -1, 183,
- 91, 133, -1, 14, 91, -1, 13, 91, -1, 20,
- 91, -1, 20, 133, 91, -1, 19, 91, -1, 187,
- -1, 186, 187, -1, 188, -1, 135, -1, -1, 136,
- 189, 172, -1
+ 30, -1, 34, -1, 35, -1, 36, -1, 48, -1,
+ 49, -1, 50, -1, 52, -1, 155, -1, 56, -1,
+ -1, 45, 55, 86, 156, 158, 87, -1, -1, 45,
+ 86, 157, 158, 87, -1, 159, -1, 158, 159, -1,
+ 151, 160, 92, -1, 161, -1, 160, 89, 161, -1,
+ 55, -1, 55, 84, 135, 85, -1, 132, -1, 136,
+ -1, 166, -1, 165, -1, 163, -1, 175, -1, 176,
+ -1, 179, -1, 186, -1, 86, 87, -1, -1, -1,
+ 86, 167, 174, 168, 87, -1, 173, -1, 165, -1,
+ -1, 171, 173, -1, -1, 172, 165, -1, 86, 87,
+ -1, 86, 174, 87, -1, 164, -1, 174, 164, -1,
+ 92, -1, 134, 92, -1, 19, 82, 134, 83, 177,
+ -1, 170, 17, 170, -1, 170, -1, 134, -1, 147,
+ 55, 91, 162, -1, -1, 47, 82, 180, 178, 83,
+ 169, -1, -1, 16, 181, 170, 47, 82, 134, 83,
+ 92, -1, -1, 18, 82, 182, 183, 185, 83, 169,
+ -1, 175, -1, 163, -1, 178, -1, -1, 184, 92,
+ -1, 184, 92, 134, -1, 15, 92, -1, 14, 92,
+ -1, 21, 92, -1, 21, 134, 92, -1, 20, 92,
+ -1, 188, -1, 187, 188, -1, 189, -1, 136, -1,
+ -1, 137, 190, 173, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 183, 183, 218, 221, 234, 239, 244, 250, 253,
- 332, 335, 436, 446, 459, 467, 567, 570, 578, 582,
- 589, 593, 600, 606, 615, 623, 678, 685, 695, 698,
- 708, 718, 739, 740, 741, 746, 747, 756, 768, 769,
- 777, 788, 792, 793, 803, 813, 823, 836, 837, 847,
- 860, 864, 868, 872, 873, 886, 887, 900, 901, 914,
- 915, 932, 933, 946, 947, 948, 949, 950, 954, 957,
- 968, 976, 1003, 1008, 1018, 1056, 1059, 1066, 1074, 1095,
- 1116, 1127, 1156, 1161, 1171, 1176, 1186, 1189, 1192, 1195,
- 1201, 1208, 1211, 1233, 1251, 1275, 1298, 1302, 1320, 1328,
- 1360, 1380, 1468, 1477, 1500, 1506, 1513, 1522, 1531, 1537,
- 1541, 1546, 1551, 1557, 1563, 1572, 1582, 1589, 1592, 1595,
- 1601, 1604, 1619, 1623, 1627, 1631, 1640, 1645, 1650, 1655,
- 1660, 1665, 1670, 1675, 1680, 1685, 1691, 1697, 1703, 1708,
- 1713, 1722, 1727, 1732, 1745, 1745, 1759, 1759, 1768, 1771,
- 1786, 1818, 1822, 1828, 1836, 1852, 1856, 1860, 1861, 1867,
- 1868, 1869, 1870, 1871, 1875, 1876, 1876, 1876, 1886, 1887,
- 1891, 1891, 1892, 1892, 1897, 1900, 1910, 1913, 1919, 1920,
- 1924, 1932, 1936, 1946, 1951, 1968, 1968, 1973, 1973, 1980,
- 1980, 1988, 1991, 1997, 2000, 2006, 2010, 2017, 2024, 2031,
- 2038, 2049, 2058, 2062, 2069, 2072, 2078, 2078
+ 0, 183, 183, 218, 221, 226, 231, 236, 242, 245,
+ 324, 327, 428, 438, 451, 459, 559, 562, 570, 574,
+ 581, 585, 592, 598, 607, 615, 670, 677, 687, 690,
+ 700, 710, 731, 732, 733, 738, 739, 748, 760, 761,
+ 769, 780, 784, 785, 795, 805, 815, 828, 829, 839,
+ 852, 856, 860, 864, 865, 878, 879, 892, 893, 906,
+ 907, 924, 925, 938, 939, 940, 941, 942, 946, 949,
+ 960, 968, 995, 1000, 1010, 1048, 1051, 1058, 1066, 1087,
+ 1108, 1119, 1148, 1153, 1163, 1168, 1178, 1181, 1184, 1187,
+ 1193, 1200, 1203, 1225, 1243, 1267, 1290, 1294, 1312, 1320,
+ 1352, 1372, 1460, 1469, 1492, 1498, 1505, 1514, 1523, 1529,
+ 1533, 1538, 1543, 1549, 1555, 1564, 1574, 1581, 1584, 1587,
+ 1593, 1596, 1611, 1615, 1619, 1623, 1627, 1631, 1636, 1641,
+ 1646, 1651, 1656, 1661, 1666, 1671, 1676, 1682, 1688, 1694,
+ 1699, 1704, 1713, 1718, 1723, 1736, 1736, 1750, 1750, 1759,
+ 1762, 1777, 1809, 1813, 1819, 1827, 1843, 1847, 1851, 1852,
+ 1858, 1859, 1860, 1861, 1862, 1866, 1867, 1867, 1867, 1877,
+ 1878, 1882, 1882, 1883, 1883, 1888, 1891, 1901, 1904, 1910,
+ 1911, 1915, 1923, 1927, 1937, 1942, 1959, 1959, 1964, 1964,
+ 1971, 1971, 1979, 1982, 1988, 1991, 1997, 2001, 2008, 2015,
+ 2022, 2029, 2040, 2049, 2053, 2060, 2063, 2069, 2069
};
#endif
@@ -716,23 +718,23 @@
{
"$end", "error", "$undefined", "INVARIANT", "HIGH_PRECISION",
"MEDIUM_PRECISION", "LOW_PRECISION", "PRECISION", "ATTRIBUTE",
- "CONST_QUAL", "BOOL_TYPE", "FLOAT_TYPE", "INT_TYPE", "BREAK", "CONTINUE",
- "DO", "ELSE", "FOR", "IF", "DISCARD", "RETURN", "SWITCH", "CASE",
- "DEFAULT", "BVEC2", "BVEC3", "BVEC4", "IVEC2", "IVEC3", "IVEC4", "VEC2",
- "VEC3", "VEC4", "MATRIX2", "MATRIX3", "MATRIX4", "IN_QUAL", "OUT_QUAL",
- "INOUT_QUAL", "UNIFORM", "VARYING", "CENTROID", "FLAT", "SMOOTH",
- "STRUCT", "VOID_TYPE", "WHILE", "SAMPLER2D", "SAMPLERCUBE",
- "SAMPLER_EXTERNAL_OES", "SAMPLER2DRECT", "SAMPLER3D", "SAMPLER3DRECT",
- "SAMPLER2DSHADOW", "IDENTIFIER", "TYPE_NAME", "FLOATCONSTANT",
- "INTCONSTANT", "BOOLCONSTANT", "FIELD_SELECTION", "LEFT_OP", "RIGHT_OP",
- "INC_OP", "DEC_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP",
- "OR_OP", "XOR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "ADD_ASSIGN",
- "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN",
- "OR_ASSIGN", "SUB_ASSIGN", "LEFT_PAREN", "RIGHT_PAREN", "LEFT_BRACKET",
- "RIGHT_BRACKET", "LEFT_BRACE", "RIGHT_BRACE", "DOT", "COMMA", "COLON",
- "EQUAL", "SEMICOLON", "BANG", "DASH", "TILDE", "PLUS", "STAR", "SLASH",
- "PERCENT", "LEFT_ANGLE", "RIGHT_ANGLE", "VERTICAL_BAR", "CARET",
- "AMPERSAND", "QUESTION", "$accept", "variable_identifier",
+ "CONST_QUAL", "BOOL_TYPE", "FLOAT_TYPE", "INT_TYPE", "UINT_TYPE",
+ "BREAK", "CONTINUE", "DO", "ELSE", "FOR", "IF", "DISCARD", "RETURN",
+ "SWITCH", "CASE", "DEFAULT", "BVEC2", "BVEC3", "BVEC4", "IVEC2", "IVEC3",
+ "IVEC4", "VEC2", "VEC3", "VEC4", "MATRIX2", "MATRIX3", "MATRIX4",
+ "IN_QUAL", "OUT_QUAL", "INOUT_QUAL", "UNIFORM", "VARYING", "CENTROID",
+ "FLAT", "SMOOTH", "STRUCT", "VOID_TYPE", "WHILE", "SAMPLER2D",
+ "SAMPLERCUBE", "SAMPLER_EXTERNAL_OES", "SAMPLER2DRECT", "SAMPLER3D",
+ "SAMPLER3DRECT", "SAMPLER2DSHADOW", "IDENTIFIER", "TYPE_NAME",
+ "FLOATCONSTANT", "INTCONSTANT", "BOOLCONSTANT", "FIELD_SELECTION",
+ "LEFT_OP", "RIGHT_OP", "INC_OP", "DEC_OP", "LE_OP", "GE_OP", "EQ_OP",
+ "NE_OP", "AND_OP", "OR_OP", "XOR_OP", "MUL_ASSIGN", "DIV_ASSIGN",
+ "ADD_ASSIGN", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN",
+ "XOR_ASSIGN", "OR_ASSIGN", "SUB_ASSIGN", "LEFT_PAREN", "RIGHT_PAREN",
+ "LEFT_BRACKET", "RIGHT_BRACKET", "LEFT_BRACE", "RIGHT_BRACE", "DOT",
+ "COMMA", "COLON", "EQUAL", "SEMICOLON", "BANG", "DASH", "TILDE", "PLUS",
+ "STAR", "SLASH", "PERCENT", "LEFT_ANGLE", "RIGHT_ANGLE", "VERTICAL_BAR",
+ "CARET", "AMPERSAND", "QUESTION", "$accept", "variable_identifier",
"primary_expression", "postfix_expression", "integer_expression",
"function_call", "function_call_or_method", "function_call_generic",
"function_call_header_no_parameters",
@@ -780,34 +782,34 @@
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 357, 358, 359
+ 355, 356, 357, 358, 359, 360
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 105, 106, 107, 107, 107, 107, 107, 108, 108,
- 108, 108, 108, 108, 109, 110, 111, 111, 112, 112,
- 113, 113, 114, 114, 115, 116, 116, 116, 117, 117,
- 117, 117, 118, 118, 118, 119, 119, 119, 120, 120,
- 120, 121, 122, 122, 122, 122, 122, 123, 123, 123,
- 124, 125, 126, 127, 127, 128, 128, 129, 129, 130,
- 130, 131, 131, 132, 132, 132, 132, 132, 133, 133,
- 134, 135, 135, 135, 136, 137, 137, 138, 138, 139,
- 140, 140, 141, 141, 141, 141, 142, 142, 142, 142,
- 143, 144, 144, 144, 144, 144, 145, 145, 145, 145,
- 145, 145, 146, 146, 147, 148, 148, 148, 148, 149,
- 149, 149, 149, 149, 149, 150, 150, 151, 151, 151,
- 152, 152, 153, 153, 153, 153, 153, 153, 153, 153,
- 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
- 153, 153, 153, 153, 155, 154, 156, 154, 157, 157,
- 158, 159, 159, 160, 160, 161, 162, 163, 163, 164,
- 164, 164, 164, 164, 165, 166, 167, 165, 168, 168,
- 170, 169, 171, 169, 172, 172, 173, 173, 174, 174,
- 175, 176, 176, 177, 177, 179, 178, 180, 178, 181,
- 178, 182, 182, 183, 183, 184, 184, 185, 185, 185,
- 185, 185, 186, 186, 187, 187, 189, 188
+ 0, 106, 107, 108, 108, 108, 108, 108, 109, 109,
+ 109, 109, 109, 109, 110, 111, 112, 112, 113, 113,
+ 114, 114, 115, 115, 116, 117, 117, 117, 118, 118,
+ 118, 118, 119, 119, 119, 120, 120, 120, 121, 121,
+ 121, 122, 123, 123, 123, 123, 123, 124, 124, 124,
+ 125, 126, 127, 128, 128, 129, 129, 130, 130, 131,
+ 131, 132, 132, 133, 133, 133, 133, 133, 134, 134,
+ 135, 136, 136, 136, 137, 138, 138, 139, 139, 140,
+ 141, 141, 142, 142, 142, 142, 143, 143, 143, 143,
+ 144, 145, 145, 145, 145, 145, 146, 146, 146, 146,
+ 146, 146, 147, 147, 148, 149, 149, 149, 149, 150,
+ 150, 150, 150, 150, 150, 151, 151, 152, 152, 152,
+ 153, 153, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 156, 155, 157, 155, 158,
+ 158, 159, 160, 160, 161, 161, 162, 163, 164, 164,
+ 165, 165, 165, 165, 165, 166, 167, 168, 166, 169,
+ 169, 171, 170, 172, 170, 173, 173, 174, 174, 175,
+ 175, 176, 177, 177, 178, 178, 180, 179, 181, 179,
+ 182, 179, 183, 183, 184, 184, 185, 185, 186, 186,
+ 186, 186, 186, 187, 187, 188, 188, 190, 189
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -827,13 +829,13 @@
1, 1, 2, 2, 1, 1, 2, 1, 1, 1,
1, 4, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 0, 6, 0, 5, 1, 2,
- 3, 1, 3, 1, 4, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 2, 0, 0, 5, 1, 1,
- 0, 2, 0, 2, 2, 3, 1, 2, 1, 2,
- 5, 3, 1, 1, 4, 0, 6, 0, 8, 0,
- 7, 1, 1, 1, 0, 2, 3, 2, 2, 2,
- 3, 2, 1, 2, 1, 1, 0, 3
+ 1, 1, 1, 1, 1, 0, 6, 0, 5, 1,
+ 2, 3, 1, 3, 1, 4, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 2, 0, 0, 5, 1,
+ 1, 0, 2, 0, 2, 2, 3, 1, 2, 1,
+ 2, 5, 3, 1, 1, 4, 0, 6, 0, 8,
+ 0, 7, 1, 1, 1, 0, 2, 3, 2, 2,
+ 2, 3, 2, 1, 2, 1, 1, 0, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -841,430 +843,432 @@
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 0, 0, 117, 118, 119, 0, 105, 109, 125, 123,
- 124, 129, 130, 131, 132, 133, 134, 126, 127, 128,
- 135, 136, 137, 110, 111, 114, 106, 0, 0, 122,
- 138, 139, 140, 141, 143, 205, 206, 0, 76, 86,
- 0, 91, 96, 0, 108, 102, 0, 115, 120, 142,
- 0, 202, 204, 107, 101, 0, 112, 113, 0, 146,
- 71, 0, 74, 86, 104, 87, 88, 89, 77, 0,
- 86, 0, 72, 97, 103, 116, 0, 1, 203, 0,
- 144, 0, 0, 207, 78, 83, 85, 90, 0, 92,
- 79, 0, 0, 2, 5, 4, 6, 27, 0, 0,
- 0, 34, 33, 32, 3, 8, 28, 10, 15, 16,
- 0, 0, 21, 0, 35, 0, 38, 41, 42, 47,
- 50, 51, 52, 53, 55, 57, 59, 70, 0, 25,
- 73, 0, 0, 0, 148, 0, 0, 187, 0, 0,
- 0, 0, 0, 165, 174, 178, 35, 61, 68, 0,
- 156, 0, 120, 159, 176, 158, 157, 0, 160, 161,
- 162, 163, 80, 82, 84, 0, 0, 98, 0, 155,
- 100, 29, 30, 0, 12, 13, 0, 0, 19, 18,
- 0, 20, 22, 24, 31, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 121,
- 0, 153, 0, 151, 147, 149, 198, 197, 172, 189,
- 0, 201, 199, 0, 185, 164, 0, 64, 65, 66,
- 67, 63, 0, 0, 179, 175, 177, 0, 93, 0,
- 95, 99, 7, 0, 14, 26, 11, 17, 23, 36,
- 37, 40, 39, 45, 46, 43, 44, 48, 49, 54,
- 56, 58, 0, 145, 0, 0, 150, 0, 0, 0,
- 0, 0, 200, 0, 166, 62, 69, 0, 94, 9,
- 0, 0, 152, 0, 171, 173, 192, 191, 194, 172,
- 0, 183, 0, 0, 0, 81, 60, 154, 0, 193,
- 0, 0, 182, 180, 0, 0, 167, 0, 195, 0,
- 172, 0, 169, 186, 168, 0, 196, 190, 181, 184,
- 188
+ 0, 0, 117, 118, 119, 0, 105, 109, 126, 123,
+ 124, 125, 130, 131, 132, 133, 134, 135, 127, 128,
+ 129, 136, 137, 138, 110, 111, 114, 106, 0, 0,
+ 122, 139, 140, 141, 142, 144, 206, 207, 0, 76,
+ 86, 0, 91, 96, 0, 108, 102, 0, 115, 120,
+ 143, 0, 203, 205, 107, 101, 0, 112, 113, 0,
+ 147, 71, 0, 74, 86, 104, 87, 88, 89, 77,
+ 0, 86, 0, 72, 97, 103, 116, 0, 1, 204,
+ 0, 145, 0, 0, 208, 78, 83, 85, 90, 0,
+ 92, 79, 0, 0, 2, 5, 4, 6, 27, 0,
+ 0, 0, 34, 33, 32, 3, 8, 28, 10, 15,
+ 16, 0, 0, 21, 0, 35, 0, 38, 41, 42,
+ 47, 50, 51, 52, 53, 55, 57, 59, 70, 0,
+ 25, 73, 0, 0, 0, 149, 0, 0, 188, 0,
+ 0, 0, 0, 0, 166, 175, 179, 35, 61, 68,
+ 0, 157, 0, 120, 160, 177, 159, 158, 0, 161,
+ 162, 163, 164, 80, 82, 84, 0, 0, 98, 0,
+ 156, 100, 29, 30, 0, 12, 13, 0, 0, 19,
+ 18, 0, 20, 22, 24, 31, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 121, 0, 154, 0, 152, 148, 150, 199, 198, 173,
+ 190, 0, 202, 200, 0, 186, 165, 0, 64, 65,
+ 66, 67, 63, 0, 0, 180, 176, 178, 0, 93,
+ 0, 95, 99, 7, 0, 14, 26, 11, 17, 23,
+ 36, 37, 40, 39, 45, 46, 43, 44, 48, 49,
+ 54, 56, 58, 0, 146, 0, 0, 151, 0, 0,
+ 0, 0, 0, 201, 0, 167, 62, 69, 0, 94,
+ 9, 0, 0, 153, 0, 172, 174, 193, 192, 195,
+ 173, 0, 184, 0, 0, 0, 81, 60, 155, 0,
+ 194, 0, 0, 183, 181, 0, 0, 168, 0, 196,
+ 0, 173, 0, 170, 187, 169, 0, 197, 191, 182,
+ 185, 189
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 104, 105, 106, 233, 107, 108, 109, 110, 111,
- 112, 113, 146, 115, 116, 117, 118, 119, 120, 121,
- 122, 123, 124, 125, 126, 147, 148, 222, 149, 128,
- 150, 151, 37, 38, 39, 85, 68, 69, 86, 40,
- 41, 42, 70, 43, 44, 45, 46, 47, 129, 49,
- 131, 81, 133, 134, 202, 203, 170, 153, 154, 155,
- 156, 216, 284, 303, 257, 258, 259, 304, 157, 158,
- 159, 293, 283, 160, 263, 208, 260, 278, 290, 291,
- 161, 50, 51, 52, 61
+ -1, 105, 106, 107, 234, 108, 109, 110, 111, 112,
+ 113, 114, 147, 116, 117, 118, 119, 120, 121, 122,
+ 123, 124, 125, 126, 127, 148, 149, 223, 150, 129,
+ 151, 152, 38, 39, 40, 86, 69, 70, 87, 41,
+ 42, 43, 71, 44, 45, 46, 47, 48, 130, 50,
+ 132, 82, 134, 135, 203, 204, 171, 154, 155, 156,
+ 157, 217, 285, 304, 258, 259, 260, 305, 158, 159,
+ 160, 294, 284, 161, 264, 209, 261, 279, 291, 292,
+ 162, 51, 52, 53, 62
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -268
+#define YYPACT_NINF -265
static const yytype_int16 yypact[] =
{
- 1363, -6, -268, -268, -268, 135, -268, -268, -268, -268,
- -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
- -268, -268, -268, -268, -268, -268, -268, -21, -26, -268,
- -268, -268, -268, -268, -268, -268, -51, -47, 6, 16,
- -20, -268, 46, 1411, -268, -268, 1499, -268, 29, -268,
- 1310, -268, -268, -268, -268, 1499, -268, -268, 31, -268,
- -268, 67, -268, 27, -268, -268, -268, -268, -268, 1411,
- 111, 102, -268, -11, -268, -268, 1055, -268, -268, 69,
- -268, 1411, 297, -268, -268, -268, -268, 104, 1411, -45,
- -268, 193, 1055, 80, -268, -268, -268, -268, 1055, 1055,
- 1055, -268, -268, -268, -268, -268, 21, -268, -268, -268,
- 81, -15, 1127, 84, -268, 1055, -22, 20, -268, -43,
- 70, -268, -268, -268, 94, 96, -55, -268, 83, -268,
- -268, 1411, 114, 1199, -268, 82, 85, -268, 90, 91,
- 86, 908, 93, 89, -268, -268, -53, -268, -268, 14,
- -268, -51, 49, -268, -268, -268, -268, 390, -268, -268,
- -268, -268, 95, -268, -268, 980, 1055, -268, 97, -268,
- -268, -268, -268, 5, -268, -268, 1055, 1453, -268, -268,
- 1055, 103, -268, -268, -268, 1055, 1055, 1055, 1055, 1055,
- 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, -268,
- 1247, 100, 18, -268, -268, -268, -268, -268, 105, -268,
- 1055, -268, -268, 19, -268, -268, 483, -268, -268, -268,
- -268, -268, 1055, 1055, -268, -268, -268, 1055, -268, 101,
- -268, -268, -268, 107, 99, -268, 112, -268, -268, -268,
- -268, -22, -22, -268, -268, -268, -268, -43, -43, -268,
- 94, 96, -3, -268, 1055, 114, -268, 142, 67, 669,
- 762, 7, -268, 836, 483, -268, -268, 108, -268, -268,
- 1055, 110, -268, 115, -268, -268, -268, -268, 836, 105,
- 155, 99, 143, 116, 120, -268, -268, -268, 1055, -268,
- 117, 119, 191, -268, 121, 576, -268, 8, 1055, 576,
- 105, 1055, -268, -268, -268, 118, 99, -268, -268, -268,
- -268
+ 1359, -22, -265, -265, -265, 108, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -6, -37,
+ -265, -265, -265, -265, -265, -265, -265, -40, -9, -11,
+ 1, -32, -265, 31, 1408, -265, -265, 1506, -265, 20,
+ -265, 1305, -265, -265, -265, -265, 1506, -265, -265, 15,
+ -265, -265, 59, -265, 27, -265, -265, -265, -265, -265,
+ 1408, 103, 101, -265, 3, -265, -265, 1047, -265, -265,
+ 67, -265, 1408, 298, -265, -265, -265, -265, 105, 1408,
+ -64, -265, 822, 1047, 79, -265, -265, -265, -265, 1047,
+ 1047, 1047, -265, -265, -265, -265, -265, 4, -265, -265,
+ -265, 83, -28, 1120, 81, -265, 1047, 40, -53, -265,
+ -42, 80, -265, -265, -265, 93, 96, -57, -265, 84,
+ -265, -265, 1408, 113, 1193, -265, 82, 85, -265, 89,
+ 90, 86, 898, 91, 88, -265, -265, -1, -265, -265,
+ 13, -265, -40, 62, -265, -265, -265, -265, 392, -265,
+ -265, -265, -265, 92, -265, -265, 971, 1047, -265, 97,
+ -265, -265, -265, -265, -14, -265, -265, 1047, 1455, -265,
+ -265, 1047, 99, -265, -265, -265, 1047, 1047, 1047, 1047,
+ 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047,
+ -265, 1242, 102, 39, -265, -265, -265, -265, -265, 104,
+ -265, 1047, -265, -265, 41, -265, -265, 486, -265, -265,
+ -265, -265, -265, 1047, 1047, -265, -265, -265, 1047, -265,
+ 100, -265, -265, -265, 106, 98, -265, 110, -265, -265,
+ -265, -265, 40, 40, -265, -265, -265, -265, -42, -42,
+ -265, 93, 96, 60, -265, 1047, 113, -265, 141, 59,
+ 674, 199, 14, -265, 749, 486, -265, -265, 109, -265,
+ -265, 1047, 111, -265, 115, -265, -265, -265, -265, 749,
+ 104, 152, 98, 140, 130, 128, -265, -265, -265, 1047,
+ -265, 124, 135, 181, -265, 129, 580, -265, 17, 1047,
+ 580, 104, 1047, -265, -265, -265, 127, 98, -265, -265,
+ -265, -265
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -268, -268, -268, -268, -268, -268, -268, 33, -268, -268,
- -268, -268, -68, -268, -37, -268, -46, -39, -268, -268,
- -268, 17, 34, 32, -268, -74, -88, -268, -99, -85,
- 10, 11, -268, -268, -268, 126, 152, 161, 144, -268,
- -268, -234, -268, -268, -268, -30, 228, -14, 0, -268,
- -268, -268, 122, -124, -268, -19, -163, -25, -150, -233,
- -268, -268, -268, -65, -267, -268, -268, -56, 23, -17,
- -268, -268, -33, -268, -268, -268, -268, -268, -268, -268,
- -268, -268, 196, -268, -268
+ -265, -265, -265, -265, -265, -265, -265, 43, -265, -265,
+ -265, -265, -71, -265, -34, -265, -83, -43, -265, -265,
+ -265, 26, 45, 25, -265, -75, -88, -265, -100, -85,
+ 11, 12, -265, -265, -265, 149, 179, 175, 161, -265,
+ -265, -249, -265, -265, -265, -36, 247, -21, 0, -265,
+ -265, -265, 121, -125, -265, 10, -163, 6, -136, -246,
+ -265, -265, -265, -31, -264, -265, -265, -59, 51, 9,
+ -265, -265, -8, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, 221, -265, -265
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -171
+#define YYTABLE_NINF -172
static const yytype_int16 yytable[] =
{
- 48, 173, 127, 230, 169, 83, 168, 226, 114, 205,
- 35, 36, 292, 74, 197, 56, 57, 127, 217, 218,
- 219, 189, 190, 114, 182, 64, 275, 220, 58, 282,
- 171, 172, 75, 308, 53, 62, 64, 221, 165, 87,
- 60, 79, 213, 48, 282, 166, 48, 184, 54, 198,
- 48, 132, 65, 66, 67, 48, 191, 192, 87, 59,
- 35, 36, 302, 65, 66, 67, 302, 179, 71, 48,
- 90, 72, 91, 180, 185, 186, 205, 234, 169, 92,
- 229, 48, 152, 174, 175, 223, 270, 232, 48, 279,
- 305, 127, 238, 223, 63, 223, 223, 114, -75, 252,
- 73, 132, 223, 132, 176, 224, 255, 223, 177, 256,
- 262, 261, 76, 187, 226, 188, 80, 239, 240, 114,
- 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
- -25, 48, 76, 48, 265, 266, 193, 194, 309, 2,
- 3, 4, 267, 243, 244, 245, 246, 65, 66, 67,
- 241, 242, 82, 127, 247, 248, 89, 152, 162, 114,
- 130, -26, 195, 178, 281, 183, 196, 199, 201, 271,
- 132, 209, 210, 206, 214, 215, 207, 211, 227, 281,
- 127, 231, 286, 254, -122, 268, 114, 223, 273, 297,
- -170, 269, 285, -27, 287, 53, 288, 294, 295, 306,
- 48, 299, 274, 8, 9, 10, 296, 300, 298, 310,
- 237, 301, 249, 169, 163, 84, 152, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 251,
- 250, 88, 164, 55, 307, 276, 272, 28, 29, 264,
- 30, 31, 32, 277, 33, 289, 78, 93, 34, 94,
- 95, 96, 97, 200, 0, 98, 99, 0, 0, 152,
- 152, 0, 0, 152, 152, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 100, 0, 0, 167, 152, 0,
- 0, 0, 0, 0, 0, 101, 102, 0, 103, 0,
- 0, 0, 0, 0, 0, 152, 0, 0, 0, 152,
- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
- 135, 136, 137, 0, 138, 139, 140, 141, 0, 0,
- 0, 11, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 0, 25, 26, 27, 0,
- 0, 28, 29, 142, 30, 31, 32, 0, 33, 0,
- 0, 93, 34, 94, 95, 96, 97, 0, 0, 98,
- 99, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 100, 0,
- 0, 0, 143, 144, 0, 0, 0, 0, 145, 101,
- 102, 0, 103, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, 10, 135, 136, 137, 0, 138, 139, 140,
- 141, 0, 0, 0, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 0, 25,
- 26, 27, 0, 0, 28, 29, 142, 30, 31, 32,
- 0, 33, 0, 0, 93, 34, 94, 95, 96, 97,
- 0, 0, 98, 99, 0, 0, 0, 0, 0, 0,
+ 49, 174, 128, 84, 231, 170, 115, 169, 75, 206,
+ 65, 36, 37, 198, 276, 283, 293, 128, 59, 54,
+ 166, 115, 227, 190, 191, 183, 76, 167, 172, 173,
+ 283, 57, 58, 55, 88, 80, 65, 309, 66, 67,
+ 68, 188, 214, 189, 49, 185, 133, 49, 199, 60,
+ 303, 49, 61, 88, 303, 180, 49, 72, 192, 193,
+ 73, 181, 36, 37, 66, 67, 68, 175, 176, 233,
+ 49, 218, 219, 220, 63, 224, 206, 235, 64, 170,
+ 221, 230, 49, 153, -75, 91, 74, 92, 177, 49,
+ 222, 128, 178, 239, 93, 115, 133, 280, 133, 253,
+ 306, 81, 224, 224, 77, 225, 224, 244, 245, 246,
+ 247, 262, 2, 3, 4, 240, 241, 115, 115, 115,
+ 115, 115, 115, 115, 115, 115, 115, 115, 256, 227,
+ 224, 257, 49, 263, 49, 266, 267, 186, 187, 310,
+ 66, 67, 68, 268, -25, 83, 77, 194, 195, 224,
+ 271, 248, 249, 128, 242, 243, 90, 115, 153, 131,
+ 163, -26, 196, 184, 282, 133, 179, 197, 202, 200,
+ 272, 210, 211, 215, 207, 216, 228, 208, 212, 282,
+ 128, -122, 232, 287, 115, 269, 255, 224, 274, 298,
+ -171, 270, -27, 54, 286, 295, 288, 289, 301, 307,
+ 275, 49, 1, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 296, 170, 297, 299, 153, 300, 311,
+ 302, 238, 250, 252, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 164, 26,
+ 27, 28, 251, 85, 29, 30, 89, 31, 32, 33,
+ 165, 34, 56, 201, 94, 35, 95, 96, 97, 98,
+ 153, 153, 99, 100, 153, 153, 273, 277, 265, 308,
+ 278, 290, 79, 0, 0, 0, 0, 0, 0, 153,
+ 0, 101, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 146, 102, 103, 0, 104, 153, 0, 0, 0,
+ 153, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 136, 137, 138, 0, 139, 140, 141, 142,
+ 0, 0, 0, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 0, 26, 27,
+ 28, 0, 0, 29, 30, 143, 31, 32, 33, 0,
+ 34, 0, 0, 94, 35, 95, 96, 97, 98, 0,
+ 0, 99, 100, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 100, 0, 0, 0, 143, 225, 0, 0, 0,
- 0, 145, 101, 102, 0, 103, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 135, 136, 137, 0,
- 138, 139, 140, 141, 0, 0, 0, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 0, 25, 26, 27, 0, 0, 28, 29, 142,
- 30, 31, 32, 0, 33, 0, 0, 93, 34, 94,
- 95, 96, 97, 0, 0, 98, 99, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 100, 0, 0, 0, 143, 0,
- 0, 0, 0, 0, 145, 101, 102, 0, 103, 1,
- 2, 3, 4, 5, 6, 7, 8, 9, 10, 135,
- 136, 137, 0, 138, 139, 140, 141, 0, 0, 0,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 0, 25, 26, 27, 0, 0,
- 28, 29, 142, 30, 31, 32, 0, 33, 0, 0,
- 93, 34, 94, 95, 96, 97, 0, 0, 98, 99,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 100, 0, 0,
- 0, 82, 0, 0, 0, 0, 0, 145, 101, 102,
- 0, 103, 1, 2, 3, 4, 5, 6, 7, 8,
- 9, 10, 135, 136, 137, 0, 138, 139, 140, 141,
- 0, 0, 0, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 0, 25, 26,
- 27, 0, 0, 28, 29, 142, 30, 31, 32, 0,
- 33, 0, 0, 93, 34, 94, 95, 96, 97, 0,
- 0, 98, 99, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 145, 101, 102, 0, 103, 1, 2, 3, 4, 5,
- 6, 7, 8, 9, 10, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 11, 12, 13, 14,
+ 101, 0, 0, 0, 144, 145, 0, 0, 0, 0,
+ 146, 102, 103, 0, 104, 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 136, 137, 138, 0,
+ 139, 140, 141, 142, 0, 0, 0, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 0, 25, 26, 27, 0, 0, 28, 29, 0, 30,
- 31, 32, 0, 33, 0, 0, 93, 34, 94, 95,
- 96, 97, 0, 0, 98, 99, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 280,
- 2, 3, 4, 100, 6, 7, 8, 9, 10, 0,
- 0, 0, 0, 145, 101, 102, 0, 103, 0, 0,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 0, 25, 26, 27, 0, 0,
- 28, 29, 0, 30, 31, 32, 0, 33, 0, 0,
- 93, 34, 94, 95, 96, 97, 0, 0, 98, 99,
+ 25, 0, 26, 27, 28, 0, 0, 29, 30, 143,
+ 31, 32, 33, 0, 34, 0, 0, 94, 35, 95,
+ 96, 97, 98, 0, 0, 99, 100, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 100, 8, 9,
- 10, 0, 0, 0, 0, 0, 0, 0, 101, 102,
- 0, 103, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 0, 0, 0, 0, 0, 0,
- 0, 0, 28, 29, 0, 30, 31, 32, 0, 33,
- 0, 0, 93, 34, 94, 95, 96, 97, 0, 0,
- 98, 99, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 100,
- 8, 9, 10, 0, 0, 0, 0, 0, 0, 212,
- 101, 102, 0, 103, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 0, 0, 0, 0,
- 0, 0, 0, 0, 28, 29, 0, 30, 31, 32,
- 0, 33, 0, 0, 93, 34, 94, 95, 96, 97,
- 0, 0, 98, 99, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 101, 0, 0, 0, 144, 226,
+ 0, 0, 0, 0, 146, 102, 103, 0, 104, 1,
+ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 136, 137, 138, 0, 139, 140, 141, 142, 0, 0,
+ 0, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 0, 26, 27, 28, 0,
+ 0, 29, 30, 143, 31, 32, 33, 0, 34, 0,
+ 0, 94, 35, 95, 96, 97, 98, 0, 0, 99,
+ 100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 101, 0,
+ 0, 0, 144, 0, 0, 0, 0, 0, 146, 102,
+ 103, 0, 104, 1, 2, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 136, 137, 138, 0, 139, 140,
+ 141, 142, 0, 0, 0, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 0,
+ 26, 27, 28, 0, 0, 29, 30, 143, 31, 32,
+ 33, 0, 34, 0, 0, 94, 35, 95, 96, 97,
+ 98, 0, 0, 99, 100, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 100, 0, 0, 228, 8, 9, 10, 0, 0,
- 0, 0, 101, 102, 0, 103, 0, 0, 0, 11,
- 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 0, 0, 0, 0, 0, 0, 0, 0, 28,
- 29, 0, 30, 31, 32, 0, 33, 0, 0, 93,
- 34, 94, 95, 96, 97, 0, 0, 98, 99, 0,
+ 0, 0, 101, 0, 0, 0, 83, 0, 0, 0,
+ 0, 0, 146, 102, 103, 0, 104, 1, 2, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 136, 137,
+ 138, 0, 139, 140, 141, 142, 0, 0, 0, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 0, 26, 27, 28, 0, 0, 29,
+ 30, 143, 31, 32, 33, 0, 34, 0, 0, 94,
+ 35, 95, 96, 97, 98, 0, 0, 99, 100, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 100, 8, 9, 10,
- 0, 0, 0, 0, 0, 0, 0, 101, 102, 0,
- 103, 11, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 0, 0, 0, 0, 0, 0, 0,
- 0, 28, 181, 0, 30, 31, 32, 0, 33, 0,
- 0, 93, 34, 94, 95, 96, 97, 0, 0, 98,
- 99, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2, 3, 4, 0, 0, 100, 8,
- 9, 10, 0, 0, 0, 0, 0, 0, 0, 101,
- 102, 0, 103, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 0, 0, 0, 0, 0,
- 0, 0, 0, 28, 29, 0, 30, 31, 32, 0,
- 33, 2, 3, 4, 34, 0, 0, 8, 9, 10,
+ 0, 0, 281, 2, 3, 4, 101, 6, 7, 8,
+ 9, 10, 11, 0, 0, 0, 146, 102, 103, 0,
+ 104, 0, 0, 0, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 0, 26,
+ 27, 28, 0, 0, 29, 30, 0, 31, 32, 33,
+ 0, 34, 0, 0, 94, 35, 95, 96, 97, 98,
+ 0, 0, 99, 100, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 11, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 0, 0, 204, 0, 0, 0, 0,
- 0, 28, 29, 0, 30, 31, 32, 0, 33, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 0, 0,
- 77, 0, 0, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, 10, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 253, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 0, 25,
- 26, 27, 0, 0, 28, 29, 0, 30, 31, 32,
- 0, 33, 0, 0, 0, 34, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 11, 12, 13,
+ 0, 101, 8, 9, 10, 11, 0, 0, 0, 0,
+ 0, 0, 102, 103, 0, 104, 0, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 0,
+ 0, 0, 0, 0, 0, 0, 0, 29, 30, 0,
+ 31, 32, 33, 0, 34, 0, 0, 94, 35, 95,
+ 96, 97, 98, 0, 0, 99, 100, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 101, 0, 0, 168, 8, 9,
+ 10, 11, 0, 0, 0, 102, 103, 0, 104, 0,
+ 0, 0, 0, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 0, 0, 0, 0, 0,
+ 0, 0, 0, 29, 30, 0, 31, 32, 33, 0,
+ 34, 0, 0, 94, 35, 95, 96, 97, 98, 0,
+ 0, 99, 100, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 101, 8, 9, 10, 11, 0, 0, 0, 0, 0,
+ 213, 102, 103, 0, 104, 0, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 0, 0,
+ 0, 0, 0, 0, 0, 0, 29, 30, 0, 31,
+ 32, 33, 0, 34, 0, 0, 94, 35, 95, 96,
+ 97, 98, 0, 0, 99, 100, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 101, 0, 0, 229, 8, 9, 10,
+ 11, 0, 0, 0, 102, 103, 0, 104, 0, 0,
+ 0, 0, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 0, 0, 0, 0, 0, 0,
+ 0, 0, 29, 30, 0, 31, 32, 33, 0, 34,
+ 0, 0, 94, 35, 95, 96, 97, 98, 0, 0,
+ 99, 100, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 101,
+ 8, 9, 10, 11, 0, 0, 0, 0, 0, 0,
+ 102, 103, 0, 104, 0, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 0, 0, 0,
+ 0, 0, 0, 0, 0, 29, 182, 0, 31, 32,
+ 33, 0, 34, 0, 0, 94, 35, 95, 96, 97,
+ 98, 0, 0, 99, 100, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2, 3, 4,
+ 0, 0, 101, 8, 9, 10, 11, 0, 0, 0,
+ 0, 0, 0, 102, 103, 0, 104, 0, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 0, 25, 26, 27, 0, 0, 28, 29, 0,
- 30, 31, 32, 0, 33, 2, 3, 4, 34, 0,
- 0, 8, 9, 10, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 0, 0, 0,
- 0, 0, 0, 0, 0, 28, 29, 0, 30, 31,
- 32, 0, 33, 8, 9, 10, 34, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 0,
- 0, 0, 0, 0, 0, 0, 0, 28, 29, 0,
- 30, 31, 32, 0, 33, 0, 0, 235, 34, 8,
- 9, 10, 236, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 0, 0, 0, 0, 0,
- 0, 0, 0, 28, 29, 0, 30, 31, 32, 0,
- 33, 0, 0, 0, 34
+ 0, 0, 0, 0, 0, 0, 0, 0, 29, 30,
+ 0, 31, 32, 33, 0, 34, 2, 3, 4, 35,
+ 0, 0, 8, 9, 10, 11, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 0,
+ 205, 0, 0, 0, 0, 0, 0, 29, 30, 0,
+ 31, 32, 33, 0, 34, 0, 0, 0, 35, 0,
+ 0, 0, 0, 0, 0, 78, 0, 0, 1, 2,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 254,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 0, 26, 27, 28, 0, 0,
+ 29, 30, 0, 31, 32, 33, 0, 34, 0, 0,
+ 0, 35, 1, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 0, 26,
+ 27, 28, 0, 0, 29, 30, 0, 31, 32, 33,
+ 0, 34, 2, 3, 4, 35, 0, 0, 8, 9,
+ 10, 11, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 0, 0, 0, 0, 0,
+ 0, 0, 0, 29, 30, 0, 31, 32, 33, 0,
+ 34, 0, 0, 0, 35, 8, 9, 10, 11, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 0, 0, 0, 0, 0, 0, 0, 0,
+ 29, 30, 0, 31, 32, 33, 0, 34, 0, 0,
+ 236, 35, 0, 0, 0, 237, 8, 9, 10, 11,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 0, 0, 0, 0, 0, 0, 0,
+ 0, 29, 30, 0, 31, 32, 33, 0, 34, 0,
+ 0, 0, 35
};
static const yytype_int16 yycheck[] =
{
- 0, 100, 76, 166, 92, 61, 91, 157, 76, 133,
- 0, 0, 279, 43, 69, 36, 37, 91, 71, 72,
- 73, 64, 65, 91, 112, 9, 259, 80, 54, 263,
- 98, 99, 46, 300, 40, 82, 9, 90, 83, 69,
- 91, 55, 141, 43, 278, 90, 46, 115, 54, 104,
- 50, 81, 36, 37, 38, 55, 99, 100, 88, 85,
- 50, 50, 295, 36, 37, 38, 299, 82, 88, 69,
- 81, 91, 83, 88, 96, 97, 200, 176, 166, 90,
- 165, 81, 82, 62, 63, 88, 89, 82, 88, 82,
- 82, 165, 180, 88, 88, 88, 88, 165, 82, 198,
- 54, 131, 88, 133, 83, 91, 88, 88, 87, 91,
- 91, 210, 83, 93, 264, 95, 85, 185, 186, 187,
- 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 81, 131, 83, 133, 222, 223, 66, 67, 301, 4,
- 5, 6, 227, 189, 190, 191, 192, 36, 37, 38,
- 187, 188, 85, 227, 193, 194, 54, 157, 54, 227,
- 91, 81, 68, 82, 263, 81, 70, 84, 54, 254,
- 200, 81, 81, 91, 81, 86, 91, 91, 83, 278,
- 254, 84, 270, 83, 81, 84, 254, 88, 46, 288,
- 85, 84, 84, 81, 84, 40, 81, 54, 82, 298,
- 200, 82, 258, 10, 11, 12, 86, 16, 91, 91,
- 177, 90, 195, 301, 88, 63, 216, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 197,
- 196, 70, 88, 5, 299, 260, 255, 44, 45, 216,
- 47, 48, 49, 260, 51, 278, 50, 54, 55, 56,
- 57, 58, 59, 131, -1, 62, 63, -1, -1, 259,
- 260, -1, -1, 263, 264, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 81, -1, -1, 84, 278, -1,
- -1, -1, -1, -1, -1, 92, 93, -1, 95, -1,
- -1, -1, -1, -1, -1, 295, -1, -1, -1, 299,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, -1, 17, 18, 19, 20, -1, -1,
- -1, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, -1, 39, 40, 41, -1,
- -1, 44, 45, 46, 47, 48, 49, -1, 51, -1,
- -1, 54, 55, 56, 57, 58, 59, -1, -1, 62,
- 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 81, -1,
- -1, -1, 85, 86, -1, -1, -1, -1, 91, 92,
- 93, -1, 95, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 14, 15, -1, 17, 18, 19,
- 20, -1, -1, -1, 24, 25, 26, 27, 28, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, -1, 39,
- 40, 41, -1, -1, 44, 45, 46, 47, 48, 49,
- -1, 51, -1, -1, 54, 55, 56, 57, 58, 59,
- -1, -1, 62, 63, -1, -1, -1, -1, -1, -1,
+ 0, 101, 77, 62, 167, 93, 77, 92, 44, 134,
+ 9, 0, 0, 70, 260, 264, 280, 92, 55, 41,
+ 84, 92, 158, 65, 66, 113, 47, 91, 99, 100,
+ 279, 37, 38, 55, 70, 56, 9, 301, 37, 38,
+ 39, 94, 142, 96, 44, 116, 82, 47, 105, 86,
+ 296, 51, 92, 89, 300, 83, 56, 89, 100, 101,
+ 92, 89, 51, 51, 37, 38, 39, 63, 64, 83,
+ 70, 72, 73, 74, 83, 89, 201, 177, 89, 167,
+ 81, 166, 82, 83, 83, 82, 55, 84, 84, 89,
+ 91, 166, 88, 181, 91, 166, 132, 83, 134, 199,
+ 83, 86, 89, 89, 84, 92, 89, 190, 191, 192,
+ 193, 211, 4, 5, 6, 186, 187, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, 198, 89, 265,
+ 89, 92, 132, 92, 134, 223, 224, 97, 98, 302,
+ 37, 38, 39, 228, 82, 86, 84, 67, 68, 89,
+ 90, 194, 195, 228, 188, 189, 55, 228, 158, 92,
+ 55, 82, 69, 82, 264, 201, 83, 71, 55, 85,
+ 255, 82, 82, 82, 92, 87, 84, 92, 92, 279,
+ 255, 82, 85, 271, 255, 85, 84, 89, 47, 289,
+ 86, 85, 82, 41, 85, 55, 85, 82, 17, 299,
+ 259, 201, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 83, 302, 87, 92, 217, 83, 92,
+ 91, 178, 196, 198, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 89, 40,
+ 41, 42, 197, 64, 45, 46, 71, 48, 49, 50,
+ 89, 52, 5, 132, 55, 56, 57, 58, 59, 60,
+ 260, 261, 63, 64, 264, 265, 256, 261, 217, 300,
+ 261, 279, 51, -1, -1, -1, -1, -1, -1, 279,
+ -1, 82, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 92, 93, 94, -1, 96, 296, -1, -1, -1,
+ 300, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, -1, 18, 19, 20, 21,
+ -1, -1, -1, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, -1, 40, 41,
+ 42, -1, -1, 45, 46, 47, 48, 49, 50, -1,
+ 52, -1, -1, 55, 56, 57, 58, 59, 60, -1,
+ -1, 63, 64, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 81, -1, -1, -1, 85, 86, -1, -1, -1,
- -1, 91, 92, 93, -1, 95, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, -1,
- 17, 18, 19, 20, -1, -1, -1, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, -1, 39, 40, 41, -1, -1, 44, 45, 46,
- 47, 48, 49, -1, 51, -1, -1, 54, 55, 56,
- 57, 58, 59, -1, -1, 62, 63, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 81, -1, -1, -1, 85, -1,
- -1, -1, -1, -1, 91, 92, 93, -1, 95, 3,
- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- 14, 15, -1, 17, 18, 19, 20, -1, -1, -1,
- 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
- 34, 35, 36, 37, -1, 39, 40, 41, -1, -1,
- 44, 45, 46, 47, 48, 49, -1, 51, -1, -1,
- 54, 55, 56, 57, 58, 59, -1, -1, 62, 63,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 81, -1, -1,
- -1, 85, -1, -1, -1, -1, -1, 91, 92, 93,
- -1, 95, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, -1, 17, 18, 19, 20,
- -1, -1, -1, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, -1, 39, 40,
- 41, -1, -1, 44, 45, 46, 47, 48, 49, -1,
- 51, -1, -1, 54, 55, 56, 57, 58, 59, -1,
- -1, 62, 63, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 81, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 91, 92, 93, -1, 95, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 24, 25, 26, 27,
+ 82, -1, -1, -1, 86, 87, -1, -1, -1, -1,
+ 92, 93, 94, -1, 96, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, -1,
+ 18, 19, 20, 21, -1, -1, -1, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- -1, 39, 40, 41, -1, -1, 44, 45, -1, 47,
- 48, 49, -1, 51, -1, -1, 54, 55, 56, 57,
- 58, 59, -1, -1, 62, 63, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 3,
- 4, 5, 6, 81, 8, 9, 10, 11, 12, -1,
- -1, -1, -1, 91, 92, 93, -1, 95, -1, -1,
- 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
- 34, 35, 36, 37, -1, 39, 40, 41, -1, -1,
- 44, 45, -1, 47, 48, 49, -1, 51, -1, -1,
- 54, 55, 56, 57, 58, 59, -1, -1, 62, 63,
+ 38, -1, 40, 41, 42, -1, -1, 45, 46, 47,
+ 48, 49, 50, -1, 52, -1, -1, 55, 56, 57,
+ 58, 59, 60, -1, -1, 63, 64, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 81, 10, 11,
- 12, -1, -1, -1, -1, -1, -1, -1, 92, 93,
- -1, 95, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, -1, -1, -1, -1, -1, -1,
- -1, -1, 44, 45, -1, 47, 48, 49, -1, 51,
- -1, -1, 54, 55, 56, 57, 58, 59, -1, -1,
- 62, 63, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 81,
- 10, 11, 12, -1, -1, -1, -1, -1, -1, 91,
- 92, 93, -1, 95, 24, 25, 26, 27, 28, 29,
- 30, 31, 32, 33, 34, 35, -1, -1, -1, -1,
- -1, -1, -1, -1, 44, 45, -1, 47, 48, 49,
- -1, 51, -1, -1, 54, 55, 56, 57, 58, 59,
- -1, -1, 62, 63, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 82, -1, -1, -1, 86, 87,
+ -1, -1, -1, -1, 92, 93, 94, -1, 96, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, -1, 18, 19, 20, 21, -1, -1,
+ -1, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, -1, 40, 41, 42, -1,
+ -1, 45, 46, 47, 48, 49, 50, -1, 52, -1,
+ -1, 55, 56, 57, 58, 59, 60, -1, -1, 63,
+ 64, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 82, -1,
+ -1, -1, 86, -1, -1, -1, -1, -1, 92, 93,
+ 94, -1, 96, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, -1, 18, 19,
+ 20, 21, -1, -1, -1, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, -1,
+ 40, 41, 42, -1, -1, 45, 46, 47, 48, 49,
+ 50, -1, 52, -1, -1, 55, 56, 57, 58, 59,
+ 60, -1, -1, 63, 64, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 81, -1, -1, 84, 10, 11, 12, -1, -1,
- -1, -1, 92, 93, -1, 95, -1, -1, -1, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, -1, -1, -1, -1, -1, -1, -1, -1, 44,
- 45, -1, 47, 48, 49, -1, 51, -1, -1, 54,
- 55, 56, 57, 58, 59, -1, -1, 62, 63, -1,
+ -1, -1, 82, -1, -1, -1, 86, -1, -1, -1,
+ -1, -1, 92, 93, 94, -1, 96, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, -1, 18, 19, 20, 21, -1, -1, -1, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, -1, 40, 41, 42, -1, -1, 45,
+ 46, 47, 48, 49, 50, -1, 52, -1, -1, 55,
+ 56, 57, 58, 59, 60, -1, -1, 63, 64, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 81, 10, 11, 12,
- -1, -1, -1, -1, -1, -1, -1, 92, 93, -1,
- 95, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, -1, -1, -1, -1, -1, -1, -1,
- -1, 44, 45, -1, 47, 48, 49, -1, 51, -1,
- -1, 54, 55, 56, 57, 58, 59, -1, -1, 62,
- 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 4, 5, 6, -1, -1, 81, 10,
- 11, 12, -1, -1, -1, -1, -1, -1, -1, 92,
- 93, -1, 95, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, -1, -1, -1, -1, -1,
- -1, -1, -1, 44, 45, -1, 47, 48, 49, -1,
- 51, 4, 5, 6, 55, -1, -1, 10, 11, 12,
+ -1, -1, 3, 4, 5, 6, 82, 8, 9, 10,
+ 11, 12, 13, -1, -1, -1, 92, 93, 94, -1,
+ 96, -1, -1, -1, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, -1, 40,
+ 41, 42, -1, -1, 45, 46, -1, 48, 49, 50,
+ -1, 52, -1, -1, 55, 56, 57, 58, 59, 60,
+ -1, -1, 63, 64, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, -1, -1, 86, -1, -1, -1, -1,
- -1, 44, 45, -1, 47, 48, 49, -1, 51, -1,
- -1, -1, 55, -1, -1, -1, -1, -1, -1, -1,
- 0, -1, -1, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 86, 24, 25, 26, 27, 28, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, -1, 39,
- 40, 41, -1, -1, 44, 45, -1, 47, 48, 49,
- -1, 51, -1, -1, -1, 55, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 24, 25, 26,
+ -1, 82, 10, 11, 12, 13, -1, -1, -1, -1,
+ -1, -1, 93, 94, -1, 96, -1, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, -1,
+ -1, -1, -1, -1, -1, -1, -1, 45, 46, -1,
+ 48, 49, 50, -1, 52, -1, -1, 55, 56, 57,
+ 58, 59, 60, -1, -1, 63, 64, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 82, -1, -1, 85, 10, 11,
+ 12, 13, -1, -1, -1, 93, 94, -1, 96, -1,
+ -1, -1, -1, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, -1, -1, -1, -1, -1,
+ -1, -1, -1, 45, 46, -1, 48, 49, 50, -1,
+ 52, -1, -1, 55, 56, 57, 58, 59, 60, -1,
+ -1, 63, 64, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 82, 10, 11, 12, 13, -1, -1, -1, -1, -1,
+ 92, 93, 94, -1, 96, -1, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, -1, -1,
+ -1, -1, -1, -1, -1, -1, 45, 46, -1, 48,
+ 49, 50, -1, 52, -1, -1, 55, 56, 57, 58,
+ 59, 60, -1, -1, 63, 64, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 82, -1, -1, 85, 10, 11, 12,
+ 13, -1, -1, -1, 93, 94, -1, 96, -1, -1,
+ -1, -1, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, -1, -1, -1, -1, -1, -1,
+ -1, -1, 45, 46, -1, 48, 49, 50, -1, 52,
+ -1, -1, 55, 56, 57, 58, 59, 60, -1, -1,
+ 63, 64, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 82,
+ 10, 11, 12, 13, -1, -1, -1, -1, -1, -1,
+ 93, 94, -1, 96, -1, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, -1, -1, -1,
+ -1, -1, -1, -1, -1, 45, 46, -1, 48, 49,
+ 50, -1, 52, -1, -1, 55, 56, 57, 58, 59,
+ 60, -1, -1, 63, 64, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 4, 5, 6,
+ -1, -1, 82, 10, 11, 12, 13, -1, -1, -1,
+ -1, -1, -1, 93, 94, -1, 96, -1, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, -1, 39, 40, 41, -1, -1, 44, 45, -1,
- 47, 48, 49, -1, 51, 4, 5, 6, 55, -1,
- -1, 10, 11, 12, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, -1, -1, -1,
- -1, -1, -1, -1, -1, 44, 45, -1, 47, 48,
- 49, -1, 51, 10, 11, 12, 55, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, -1,
- -1, -1, -1, -1, -1, -1, -1, 44, 45, -1,
- 47, 48, 49, -1, 51, -1, -1, 54, 55, 10,
- 11, 12, 59, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, -1, -1, -1, -1, -1,
- -1, -1, -1, 44, 45, -1, 47, 48, 49, -1,
- 51, -1, -1, -1, 55
+ -1, -1, -1, -1, -1, -1, -1, -1, 45, 46,
+ -1, 48, 49, 50, -1, 52, 4, 5, 6, 56,
+ -1, -1, 10, 11, 12, 13, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, -1,
+ 87, -1, -1, -1, -1, -1, -1, 45, 46, -1,
+ 48, 49, 50, -1, 52, -1, -1, -1, 56, -1,
+ -1, -1, -1, -1, -1, 0, -1, -1, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 87,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, -1, 40, 41, 42, -1, -1,
+ 45, 46, -1, 48, 49, 50, -1, 52, -1, -1,
+ -1, 56, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, -1, 40,
+ 41, 42, -1, -1, 45, 46, -1, 48, 49, 50,
+ -1, 52, 4, 5, 6, 56, -1, -1, 10, 11,
+ 12, 13, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, -1, -1, -1, -1, -1,
+ -1, -1, -1, 45, 46, -1, 48, 49, 50, -1,
+ 52, -1, -1, -1, 56, 10, 11, 12, 13, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, -1, -1, -1, -1, -1, -1, -1, -1,
+ 45, 46, -1, 48, 49, 50, -1, 52, -1, -1,
+ 55, 56, -1, -1, -1, 60, 10, 11, 12, 13,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, -1, -1, -1, -1, -1, -1, -1,
+ -1, 45, 46, -1, 48, 49, 50, -1, 52, -1,
+ -1, -1, 56
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1272,37 +1276,37 @@
static const yytype_uint8 yystos[] =
{
0, 3, 4, 5, 6, 7, 8, 9, 10, 11,
- 12, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 39, 40, 41, 44, 45,
- 47, 48, 49, 51, 55, 135, 136, 137, 138, 139,
- 144, 145, 146, 148, 149, 150, 151, 152, 153, 154,
- 186, 187, 188, 40, 54, 151, 36, 37, 54, 85,
- 91, 189, 82, 88, 9, 36, 37, 38, 141, 142,
- 147, 88, 91, 54, 150, 152, 83, 0, 187, 152,
- 85, 156, 85, 172, 141, 140, 143, 150, 142, 54,
- 81, 83, 90, 54, 56, 57, 58, 59, 62, 63,
- 81, 92, 93, 95, 106, 107, 108, 110, 111, 112,
+ 12, 13, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 40, 41, 42, 45,
+ 46, 48, 49, 50, 52, 56, 136, 137, 138, 139,
+ 140, 145, 146, 147, 149, 150, 151, 152, 153, 154,
+ 155, 187, 188, 189, 41, 55, 152, 37, 38, 55,
+ 86, 92, 190, 83, 89, 9, 37, 38, 39, 142,
+ 143, 148, 89, 92, 55, 151, 153, 84, 0, 188,
+ 153, 86, 157, 86, 173, 142, 141, 144, 151, 143,
+ 55, 82, 84, 91, 55, 57, 58, 59, 60, 63,
+ 64, 82, 93, 94, 96, 107, 108, 109, 111, 112,
113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 134, 153,
- 91, 155, 150, 157, 158, 13, 14, 15, 17, 18,
- 19, 20, 46, 85, 86, 91, 117, 130, 131, 133,
- 135, 136, 153, 162, 163, 164, 165, 173, 174, 175,
- 178, 185, 54, 140, 143, 83, 90, 84, 134, 131,
- 161, 117, 117, 133, 62, 63, 83, 87, 82, 82,
- 88, 45, 131, 81, 117, 96, 97, 93, 95, 64,
- 65, 99, 100, 66, 67, 68, 70, 69, 104, 84,
- 157, 54, 159, 160, 86, 158, 91, 91, 180, 81,
- 81, 91, 91, 133, 81, 86, 166, 71, 72, 73,
- 80, 90, 132, 88, 91, 86, 163, 83, 84, 134,
- 161, 84, 82, 109, 133, 54, 59, 112, 131, 117,
- 117, 119, 119, 121, 121, 121, 121, 122, 122, 126,
- 127, 128, 133, 86, 83, 88, 91, 169, 170, 171,
- 181, 133, 91, 179, 173, 131, 131, 134, 84, 84,
- 89, 134, 160, 46, 172, 164, 162, 174, 182, 82,
- 3, 133, 146, 177, 167, 84, 131, 84, 81, 177,
- 183, 184, 169, 176, 54, 82, 86, 133, 91, 82,
- 16, 90, 164, 168, 172, 82, 133, 168, 169, 161,
- 91
+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 135,
+ 154, 92, 156, 151, 158, 159, 14, 15, 16, 18,
+ 19, 20, 21, 47, 86, 87, 92, 118, 131, 132,
+ 134, 136, 137, 154, 163, 164, 165, 166, 174, 175,
+ 176, 179, 186, 55, 141, 144, 84, 91, 85, 135,
+ 132, 162, 118, 118, 134, 63, 64, 84, 88, 83,
+ 83, 89, 46, 132, 82, 118, 97, 98, 94, 96,
+ 65, 66, 100, 101, 67, 68, 69, 71, 70, 105,
+ 85, 158, 55, 160, 161, 87, 159, 92, 92, 181,
+ 82, 82, 92, 92, 134, 82, 87, 167, 72, 73,
+ 74, 81, 91, 133, 89, 92, 87, 164, 84, 85,
+ 135, 162, 85, 83, 110, 134, 55, 60, 113, 132,
+ 118, 118, 120, 120, 122, 122, 122, 122, 123, 123,
+ 127, 128, 129, 134, 87, 84, 89, 92, 170, 171,
+ 172, 182, 134, 92, 180, 174, 132, 132, 135, 85,
+ 85, 90, 135, 161, 47, 173, 165, 163, 175, 183,
+ 83, 3, 134, 147, 178, 168, 85, 132, 85, 82,
+ 178, 184, 185, 170, 177, 55, 83, 87, 134, 92,
+ 83, 17, 91, 165, 169, 173, 83, 134, 169, 170,
+ 162, 92
};
#define yyerrok (yyerrstatus = 0)
@@ -2164,14 +2168,6 @@
case 4:
{
- //
- // INT_TYPE is only 16-bit plus sign bit for vertex/fragment shaders,
- // check for overflow for constants
- //
- if (abs((yyvsp[(1) - (1)].lex).i) >= (1 << 16)) {
- context->error((yyvsp[(1) - (1)].lex).line, " integer constant overflow", "");
- context->recover();
- }
ConstantUnion *unionArray = new ConstantUnion[1];
unionArray->setIConst((yyvsp[(1) - (1)].lex).i);
(yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtInt, EbpUndefined, EvqConst), (yyvsp[(1) - (1)].lex).line);
@@ -3836,7 +3832,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setBasic(EbtUInt, qual, (yyvsp[(1) - (1)].lex).line);
}
break;
@@ -3844,8 +3840,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(2);
+ (yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
}
break;
@@ -3854,7 +3849,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(3);
+ (yyval.interm.type).setAggregate(2);
}
break;
@@ -3863,7 +3858,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(4);
+ (yyval.interm.type).setAggregate(3);
}
break;
@@ -3871,8 +3866,8 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(2);
+ (yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setAggregate(4);
}
break;
@@ -3881,7 +3876,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(3);
+ (yyval.interm.type).setAggregate(2);
}
break;
@@ -3890,7 +3885,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(4);
+ (yyval.interm.type).setAggregate(3);
}
break;
@@ -3898,8 +3893,8 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtInt, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(2);
+ (yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setAggregate(4);
}
break;
@@ -3908,7 +3903,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtInt, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(3);
+ (yyval.interm.type).setAggregate(2);
}
break;
@@ -3917,13 +3912,22 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtInt, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(4);
+ (yyval.interm.type).setAggregate(3);
}
break;
case 135:
{
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtInt, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setAggregate(4);
+ }
+ break;
+
+ case 136:
+
+ {
FRAG_VERT_ONLY("mat2", (yyvsp[(1) - (1)].lex).line);
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
@@ -3931,7 +3935,7 @@
}
break;
- case 136:
+ case 137:
{
FRAG_VERT_ONLY("mat3", (yyvsp[(1) - (1)].lex).line);
@@ -3941,7 +3945,7 @@
}
break;
- case 137:
+ case 138:
{
FRAG_VERT_ONLY("mat4", (yyvsp[(1) - (1)].lex).line);
@@ -3951,7 +3955,7 @@
}
break;
- case 138:
+ case 139:
{
FRAG_VERT_ONLY("sampler2D", (yyvsp[(1) - (1)].lex).line);
@@ -3960,7 +3964,7 @@
}
break;
- case 139:
+ case 140:
{
FRAG_VERT_ONLY("samplerCube", (yyvsp[(1) - (1)].lex).line);
@@ -3969,7 +3973,7 @@
}
break;
- case 140:
+ case 141:
{
if (!context->supportsExtension("GL_OES_EGL_image_external")) {
@@ -3982,7 +3986,7 @@
}
break;
- case 141:
+ case 142:
{
FRAG_VERT_ONLY("sampler3D", (yyvsp[(1) - (1)].lex).line);
@@ -3991,7 +3995,7 @@
}
break;
- case 142:
+ case 143:
{
FRAG_VERT_ONLY("struct", (yyvsp[(1) - (1)].interm.type).line);
@@ -4000,7 +4004,7 @@
}
break;
- case 143:
+ case 144:
{
//
@@ -4014,12 +4018,12 @@
}
break;
- case 144:
+ case 145:
{ if (context->enterStructDeclaration((yyvsp[(2) - (3)].lex).line, *(yyvsp[(2) - (3)].lex).string)) context->recover(); }
break;
- case 145:
+ case 146:
{
if (context->reservedErrorCheck((yyvsp[(2) - (6)].lex).line, *(yyvsp[(2) - (6)].lex).string))
@@ -4037,12 +4041,12 @@
}
break;
- case 146:
+ case 147:
{ if (context->enterStructDeclaration((yyvsp[(2) - (2)].lex).line, *(yyvsp[(2) - (2)].lex).string)) context->recover(); }
break;
- case 147:
+ case 148:
{
TType* structure = new TType((yyvsp[(4) - (5)].interm.typeList), TString(""));
@@ -4052,14 +4056,14 @@
}
break;
- case 148:
+ case 149:
{
(yyval.interm.typeList) = (yyvsp[(1) - (1)].interm.typeList);
}
break;
- case 149:
+ case 150:
{
(yyval.interm.typeList) = (yyvsp[(1) - (2)].interm.typeList);
@@ -4075,7 +4079,7 @@
}
break;
- case 150:
+ case 151:
{
(yyval.interm.typeList) = (yyvsp[(2) - (3)].interm.typeList);
@@ -4108,7 +4112,7 @@
}
break;
- case 151:
+ case 152:
{
(yyval.interm.typeList) = NewPoolTTypeList();
@@ -4116,14 +4120,14 @@
}
break;
- case 152:
+ case 153:
{
(yyval.interm.typeList)->push_back((yyvsp[(3) - (3)].interm.typeLine));
}
break;
- case 153:
+ case 154:
{
if (context->reservedErrorCheck((yyvsp[(1) - (1)].lex).line, *(yyvsp[(1) - (1)].lex).string))
@@ -4135,7 +4139,7 @@
}
break;
- case 154:
+ case 155:
{
if (context->reservedErrorCheck((yyvsp[(1) - (4)].lex).line, *(yyvsp[(1) - (4)].lex).string))
@@ -4152,24 +4156,19 @@
}
break;
- case 155:
+ case 156:
{ (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
- case 156:
-
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
- break;
-
case 157:
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermAggregate); }
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 158:
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermAggregate); }
break;
case 159:
@@ -4199,21 +4198,26 @@
case 164:
- { (yyval.interm.intermAggregate) = 0; }
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 165:
- { context->symbolTable.push(); }
+ { (yyval.interm.intermAggregate) = 0; }
break;
case 166:
- { context->symbolTable.pop(); }
+ { context->symbolTable.push(); }
break;
case 167:
+ { context->symbolTable.pop(); }
+ break;
+
+ case 168:
+
{
if ((yyvsp[(3) - (5)].interm.intermAggregate) != 0) {
(yyvsp[(3) - (5)].interm.intermAggregate)->setOp(EOpSequence);
@@ -4223,11 +4227,6 @@
}
break;
- case 168:
-
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
- break;
-
case 169:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
@@ -4235,32 +4234,37 @@
case 170:
- { context->symbolTable.push(); }
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 171:
- { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
+ { context->symbolTable.push(); }
break;
case 172:
- { context->symbolTable.push(); }
+ { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
break;
case 173:
- { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
+ { context->symbolTable.push(); }
break;
case 174:
+ { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
+ break;
+
+ case 175:
+
{
(yyval.interm.intermNode) = 0;
}
break;
- case 175:
+ case 176:
{
if ((yyvsp[(2) - (3)].interm.intermAggregate)) {
@@ -4271,31 +4275,31 @@
}
break;
- case 176:
+ case 177:
{
(yyval.interm.intermAggregate) = context->intermediate.makeAggregate((yyvsp[(1) - (1)].interm.intermNode), 0);
}
break;
- case 177:
+ case 178:
{
(yyval.interm.intermAggregate) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermAggregate), (yyvsp[(2) - (2)].interm.intermNode), 0);
}
break;
- case 178:
+ case 179:
{ (yyval.interm.intermNode) = 0; }
break;
- case 179:
+ case 180:
{ (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[(1) - (2)].interm.intermTypedNode)); }
break;
- case 180:
+ case 181:
{
if (context->boolErrorCheck((yyvsp[(1) - (5)].lex).line, (yyvsp[(3) - (5)].interm.intermTypedNode)))
@@ -4304,7 +4308,7 @@
}
break;
- case 181:
+ case 182:
{
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermNode);
@@ -4312,7 +4316,7 @@
}
break;
- case 182:
+ case 183:
{
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (1)].interm.intermNode);
@@ -4320,7 +4324,7 @@
}
break;
- case 183:
+ case 184:
{
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
@@ -4329,7 +4333,7 @@
}
break;
- case 184:
+ case 185:
{
TIntermNode* intermNode;
@@ -4347,12 +4351,12 @@
}
break;
- case 185:
+ case 186:
{ context->symbolTable.push(); ++context->loopNestingLevel; }
break;
- case 186:
+ case 187:
{
context->symbolTable.pop();
@@ -4361,12 +4365,12 @@
}
break;
- case 187:
+ case 188:
{ ++context->loopNestingLevel; }
break;
- case 188:
+ case 189:
{
if (context->boolErrorCheck((yyvsp[(8) - (8)].lex).line, (yyvsp[(6) - (8)].interm.intermTypedNode)))
@@ -4377,24 +4381,17 @@
}
break;
- case 189:
-
- { context->symbolTable.push(); ++context->loopNestingLevel; }
- break;
-
case 190:
- {
- context->symbolTable.pop();
- (yyval.interm.intermNode) = context->intermediate.addLoop(ELoopFor, (yyvsp[(4) - (7)].interm.intermNode), reinterpret_cast<TIntermTyped*>((yyvsp[(5) - (7)].interm.nodePair).node1), reinterpret_cast<TIntermTyped*>((yyvsp[(5) - (7)].interm.nodePair).node2), (yyvsp[(7) - (7)].interm.intermNode), (yyvsp[(1) - (7)].lex).line);
- --context->loopNestingLevel;
- }
+ { context->symbolTable.push(); ++context->loopNestingLevel; }
break;
case 191:
{
- (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
+ context->symbolTable.pop();
+ (yyval.interm.intermNode) = context->intermediate.addLoop(ELoopFor, (yyvsp[(4) - (7)].interm.intermNode), reinterpret_cast<TIntermTyped*>((yyvsp[(5) - (7)].interm.nodePair).node1), reinterpret_cast<TIntermTyped*>((yyvsp[(5) - (7)].interm.nodePair).node2), (yyvsp[(7) - (7)].interm.intermNode), (yyvsp[(1) - (7)].lex).line);
+ --context->loopNestingLevel;
}
break;
@@ -4408,26 +4405,33 @@
case 193:
{
- (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
+ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
}
break;
case 194:
{
- (yyval.interm.intermTypedNode) = 0;
+ (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
}
break;
case 195:
{
+ (yyval.interm.intermTypedNode) = 0;
+ }
+ break;
+
+ case 196:
+
+ {
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (2)].interm.intermTypedNode);
(yyval.interm.nodePair).node2 = 0;
}
break;
- case 196:
+ case 197:
{
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermTypedNode);
@@ -4435,7 +4439,7 @@
}
break;
- case 197:
+ case 198:
{
if (context->loopNestingLevel <= 0) {
@@ -4446,7 +4450,7 @@
}
break;
- case 198:
+ case 199:
{
if (context->loopNestingLevel <= 0) {
@@ -4457,7 +4461,7 @@
}
break;
- case 199:
+ case 200:
{
(yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(1) - (2)].lex).line);
@@ -4468,7 +4472,7 @@
}
break;
- case 200:
+ case 201:
{
(yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(2) - (3)].interm.intermTypedNode), (yyvsp[(1) - (3)].lex).line);
@@ -4483,7 +4487,7 @@
}
break;
- case 201:
+ case 202:
{
FRAG_ONLY("discard", (yyvsp[(1) - (2)].lex).line);
@@ -4491,18 +4495,10 @@
}
break;
- case 202:
-
- {
- (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
- context->treeRoot = (yyval.interm.intermNode);
- }
- break;
-
case 203:
{
- (yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermNode), (yyvsp[(2) - (2)].interm.intermNode), 0);
+ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
context->treeRoot = (yyval.interm.intermNode);
}
break;
@@ -4510,7 +4506,8 @@
case 204:
{
- (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
+ (yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermNode), (yyvsp[(2) - (2)].interm.intermNode), 0);
+ context->treeRoot = (yyval.interm.intermNode);
}
break;
@@ -4524,6 +4521,13 @@
case 206:
{
+ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
+ }
+ break;
+
+ case 207:
+
+ {
TFunction* function = (yyvsp[(1) - (1)].interm).function;
const TSymbol *builtIn = context->symbolTable.findBuiltIn(function->getMangledName());
@@ -4610,7 +4614,7 @@
}
break;
- case 207:
+ case 208:
{
//?? Check that all paths return a value if return type != void ?
@@ -4855,4 +4859,3 @@
return yyparse(context);
}
-
diff --git a/src/OpenGL/compiler/glslang_tab.h b/src/OpenGL/compiler/glslang_tab.h
index 0ae6d96..f74bc36 100644
--- a/src/OpenGL/compiler/glslang_tab.h
+++ b/src/OpenGL/compiler/glslang_tab.h
@@ -49,98 +49,99 @@
BOOL_TYPE = 265,
FLOAT_TYPE = 266,
INT_TYPE = 267,
- BREAK = 268,
- CONTINUE = 269,
- DO = 270,
- ELSE = 271,
- FOR = 272,
- IF = 273,
- DISCARD = 274,
- RETURN = 275,
- SWITCH = 276,
- CASE = 277,
- DEFAULT = 278,
- BVEC2 = 279,
- BVEC3 = 280,
- BVEC4 = 281,
- IVEC2 = 282,
- IVEC3 = 283,
- IVEC4 = 284,
- VEC2 = 285,
- VEC3 = 286,
- VEC4 = 287,
- MATRIX2 = 288,
- MATRIX3 = 289,
- MATRIX4 = 290,
- IN_QUAL = 291,
- OUT_QUAL = 292,
- INOUT_QUAL = 293,
- UNIFORM = 294,
- VARYING = 295,
- CENTROID = 296,
- FLAT = 297,
- SMOOTH = 298,
- STRUCT = 299,
- VOID_TYPE = 300,
- WHILE = 301,
- SAMPLER2D = 302,
- SAMPLERCUBE = 303,
- SAMPLER_EXTERNAL_OES = 304,
- SAMPLER2DRECT = 305,
- SAMPLER3D = 306,
- SAMPLER3DRECT = 307,
- SAMPLER2DSHADOW = 308,
- IDENTIFIER = 309,
- TYPE_NAME = 310,
- FLOATCONSTANT = 311,
- INTCONSTANT = 312,
- BOOLCONSTANT = 313,
- FIELD_SELECTION = 314,
- LEFT_OP = 315,
- RIGHT_OP = 316,
- INC_OP = 317,
- DEC_OP = 318,
- LE_OP = 319,
- GE_OP = 320,
- EQ_OP = 321,
- NE_OP = 322,
- AND_OP = 323,
- OR_OP = 324,
- XOR_OP = 325,
- MUL_ASSIGN = 326,
- DIV_ASSIGN = 327,
- ADD_ASSIGN = 328,
- MOD_ASSIGN = 329,
- LEFT_ASSIGN = 330,
- RIGHT_ASSIGN = 331,
- AND_ASSIGN = 332,
- XOR_ASSIGN = 333,
- OR_ASSIGN = 334,
- SUB_ASSIGN = 335,
- LEFT_PAREN = 336,
- RIGHT_PAREN = 337,
- LEFT_BRACKET = 338,
- RIGHT_BRACKET = 339,
- LEFT_BRACE = 340,
- RIGHT_BRACE = 341,
- DOT = 342,
- COMMA = 343,
- COLON = 344,
- EQUAL = 345,
- SEMICOLON = 346,
- BANG = 347,
- DASH = 348,
- TILDE = 349,
- PLUS = 350,
- STAR = 351,
- SLASH = 352,
- PERCENT = 353,
- LEFT_ANGLE = 354,
- RIGHT_ANGLE = 355,
- VERTICAL_BAR = 356,
- CARET = 357,
- AMPERSAND = 358,
- QUESTION = 359
+ UINT_TYPE = 268,
+ BREAK = 269,
+ CONTINUE = 270,
+ DO = 271,
+ ELSE = 272,
+ FOR = 273,
+ IF = 274,
+ DISCARD = 275,
+ RETURN = 276,
+ SWITCH = 277,
+ CASE = 278,
+ DEFAULT = 279,
+ BVEC2 = 280,
+ BVEC3 = 281,
+ BVEC4 = 282,
+ IVEC2 = 283,
+ IVEC3 = 284,
+ IVEC4 = 285,
+ 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,
+ CENTROID = 297,
+ FLAT = 298,
+ SMOOTH = 299,
+ STRUCT = 300,
+ VOID_TYPE = 301,
+ WHILE = 302,
+ SAMPLER2D = 303,
+ SAMPLERCUBE = 304,
+ SAMPLER_EXTERNAL_OES = 305,
+ SAMPLER2DRECT = 306,
+ SAMPLER3D = 307,
+ SAMPLER3DRECT = 308,
+ SAMPLER2DSHADOW = 309,
+ IDENTIFIER = 310,
+ TYPE_NAME = 311,
+ FLOATCONSTANT = 312,
+ INTCONSTANT = 313,
+ BOOLCONSTANT = 314,
+ FIELD_SELECTION = 315,
+ LEFT_OP = 316,
+ RIGHT_OP = 317,
+ INC_OP = 318,
+ DEC_OP = 319,
+ LE_OP = 320,
+ GE_OP = 321,
+ EQ_OP = 322,
+ NE_OP = 323,
+ AND_OP = 324,
+ OR_OP = 325,
+ XOR_OP = 326,
+ MUL_ASSIGN = 327,
+ DIV_ASSIGN = 328,
+ ADD_ASSIGN = 329,
+ MOD_ASSIGN = 330,
+ LEFT_ASSIGN = 331,
+ RIGHT_ASSIGN = 332,
+ AND_ASSIGN = 333,
+ XOR_ASSIGN = 334,
+ OR_ASSIGN = 335,
+ SUB_ASSIGN = 336,
+ LEFT_PAREN = 337,
+ RIGHT_PAREN = 338,
+ LEFT_BRACKET = 339,
+ RIGHT_BRACKET = 340,
+ LEFT_BRACE = 341,
+ RIGHT_BRACE = 342,
+ DOT = 343,
+ COMMA = 344,
+ COLON = 345,
+ EQUAL = 346,
+ SEMICOLON = 347,
+ BANG = 348,
+ DASH = 349,
+ TILDE = 350,
+ PLUS = 351,
+ STAR = 352,
+ SLASH = 353,
+ PERCENT = 354,
+ LEFT_ANGLE = 355,
+ RIGHT_ANGLE = 356,
+ VERTICAL_BAR = 357,
+ CARET = 358,
+ AMPERSAND = 359,
+ QUESTION = 360
};
#endif
diff --git a/src/OpenGL/compiler/intermOut.cpp b/src/OpenGL/compiler/intermOut.cpp
index c88564b..2892830 100644
--- a/src/OpenGL/compiler/intermOut.cpp
+++ b/src/OpenGL/compiler/intermOut.cpp
@@ -223,6 +223,7 @@
case EOpConstructIVec2: out << "Construct ivec2"; break;
case EOpConstructIVec3: out << "Construct ivec3"; break;
case EOpConstructIVec4: out << "Construct ivec4"; break;
+ case EOpConstructUInt: out << "Construct uint"; break;
case EOpConstructMat2: out << "Construct mat2"; break;
case EOpConstructMat3: out << "Construct mat3"; break;
case EOpConstructMat4: out << "Construct mat4"; break;
@@ -325,6 +326,10 @@
out << node->getUnionArrayPointer()[i].getIConst();
out << " (const int)\n";
break;
+ case EbtUInt:
+ out << node->getUnionArrayPointer()[i].getUConst();
+ out << " (const uint)\n";
+ break;
default:
out.message(EPrefixInternalError, "Unknown constant", node->getLine());
break;
diff --git a/src/OpenGL/compiler/intermediate.h b/src/OpenGL/compiler/intermediate.h
index e20676a..926ae25 100644
--- a/src/OpenGL/compiler/intermediate.h
+++ b/src/OpenGL/compiler/intermediate.h
@@ -145,6 +145,7 @@
//
EOpConstructInt,
+ EOpConstructUInt,
EOpConstructBool,
EOpConstructFloat,
EOpConstructVec2,
@@ -248,6 +249,7 @@
bool isArray() const { return type.isArray(); }
bool isVector() const { return type.isVector(); }
bool isScalar() const { return type.isScalar(); }
+ bool isScalarInt() const { return type.isScalarInt(); }
bool isRegister() const { return type.isRegister(); } // Fits in a 4-element register
bool isStruct() const { return type.isStruct(); }
const char* getBasicString() const { return type.getBasicString(); }
@@ -356,6 +358,7 @@
ConstantUnion* getUnionArrayPointer() const { return unionArrayPointer; }
int getIConst(int index) const { return unionArrayPointer ? unionArrayPointer[index].getIConst() : 0; }
+ int getUConst(int index) const { return unionArrayPointer ? unionArrayPointer[index].getUConst() : 0; }
float getFConst(int index) const { return unionArrayPointer ? unionArrayPointer[index].getFConst() : 0.0f; }
bool getBConst(int index) const { return unionArrayPointer ? unionArrayPointer[index].getBConst() : false; }