Commit c6841851 by Nicolas Capens

Add support for new ESSL 3.00 keywords.

Bug 19331817 Change-Id: I3315de44d1976219fada3013af13146433aa6eaa Reviewed-on: https://swiftshader-review.googlesource.com/2100Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <capn@google.com> Tested-by: 's avatarNicolas Capens <capn@google.com>
parent 996314b4
...@@ -120,7 +120,7 @@ bool TCompiler::compile(const char* const shaderStrings[], ...@@ -120,7 +120,7 @@ bool TCompiler::compile(const char* const shaderStrings[],
(PaParseStrings(numStrings - firstSource, &shaderStrings[firstSource], NULL, &parseContext) == 0) && (PaParseStrings(numStrings - firstSource, &shaderStrings[firstSource], NULL, &parseContext) == 0) &&
(parseContext.treeRoot != NULL); (parseContext.treeRoot != NULL);
shaderVersion = parseContext.shaderVersion(); shaderVersion = parseContext.getShaderVersion();
if (success) { if (success) {
TIntermNode* root = parseContext.treeRoot; TIntermNode* root = parseContext.treeRoot;
......
...@@ -297,6 +297,9 @@ ...@@ -297,6 +297,9 @@
<ClInclude Include="ConstantUnion.h" /> <ClInclude Include="ConstantUnion.h" />
<ClInclude Include="debug.h" /> <ClInclude Include="debug.h" />
<ClInclude Include="Diagnostics.h" /> <ClInclude Include="Diagnostics.h" />
<ClInclude Include="DirectiveHandler.h" />
<ClInclude Include="ExtensionBehavior.h" />
<ClInclude Include="glslang.h" />
<ClInclude Include="InfoSink.h" /> <ClInclude Include="InfoSink.h" />
<ClInclude Include="Initialize.h" /> <ClInclude Include="Initialize.h" />
<ClInclude Include="InitializeGlobals.h" /> <ClInclude Include="InitializeGlobals.h" />
......
...@@ -160,6 +160,15 @@ ...@@ -160,6 +160,15 @@
<ClInclude Include="Compiler.h"> <ClInclude Include="Compiler.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="DirectiveHandler.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ExtensionBehavior.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="glslang.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<CustomBuild Include="glslang.l"> <CustomBuild Include="glslang.l">
......
...@@ -26,9 +26,11 @@ static TBehavior getBehavior(const std::string& str) ...@@ -26,9 +26,11 @@ static TBehavior getBehavior(const std::string& str)
} }
TDirectiveHandler::TDirectiveHandler(TExtensionBehavior& extBehavior, TDirectiveHandler::TDirectiveHandler(TExtensionBehavior& extBehavior,
TDiagnostics& diagnostics) TDiagnostics& diagnostics,
int& shaderVersion)
: mExtensionBehavior(extBehavior), : mExtensionBehavior(extBehavior),
mDiagnostics(diagnostics) mDiagnostics(diagnostics),
mShaderVersion(shaderVersion)
{ {
} }
...@@ -151,7 +153,7 @@ void TDirectiveHandler::handleVersion(const pp::SourceLocation& loc, ...@@ -151,7 +153,7 @@ void TDirectiveHandler::handleVersion(const pp::SourceLocation& loc,
if (version == 100 || if (version == 100 ||
version == 300) version == 300)
{ {
mDiagnostics.setShaderVersion(version); mShaderVersion = version;
} }
else else
{ {
......
...@@ -15,9 +15,10 @@ class TDiagnostics; ...@@ -15,9 +15,10 @@ class TDiagnostics;
class TDirectiveHandler : public pp::DirectiveHandler class TDirectiveHandler : public pp::DirectiveHandler
{ {
public: public:
TDirectiveHandler(TExtensionBehavior& extBehavior, TDirectiveHandler(TExtensionBehavior& extBehavior,
TDiagnostics& diagnostics); TDiagnostics& diagnostics,
int& shaderVersion);
virtual ~TDirectiveHandler(); virtual ~TDirectiveHandler();
const TPragma& pragma() const { return mPragma; } const TPragma& pragma() const { return mPragma; }
...@@ -37,10 +38,11 @@ class TDirectiveHandler : public pp::DirectiveHandler ...@@ -37,10 +38,11 @@ class TDirectiveHandler : public pp::DirectiveHandler
virtual void handleVersion(const pp::SourceLocation& loc, virtual void handleVersion(const pp::SourceLocation& loc,
int version); int version);
private: private:
TPragma mPragma; TPragma mPragma;
TExtensionBehavior& mExtensionBehavior; TExtensionBehavior& mExtensionBehavior;
TDiagnostics& mDiagnostics; TDiagnostics& mDiagnostics;
int& mShaderVersion;
}; };
#endif // COMPILER_DIRECTIVE_HANDLER_H_ #endif // COMPILER_DIRECTIVE_HANDLER_H_
...@@ -40,12 +40,14 @@ struct TParseContext { ...@@ -40,12 +40,14 @@ struct TParseContext {
functionReturnsValue(false), functionReturnsValue(false),
checksPrecisionErrors(checksPrecErrors), checksPrecisionErrors(checksPrecErrors),
diagnostics(is), diagnostics(is),
directiveHandler(ext, diagnostics), shaderVersion(100),
directiveHandler(ext, diagnostics, shaderVersion),
preprocessor(&diagnostics, &directiveHandler), preprocessor(&diagnostics, &directiveHandler),
scanner(NULL) { } scanner(NULL) { }
TIntermediate& intermediate; // to hold and build a parse tree TIntermediate& intermediate; // to hold and build a parse tree
TSymbolTable& symbolTable; // symbol table that goes with the language currently being parsed TSymbolTable& symbolTable; // symbol table that goes with the language currently being parsed
GLenum shaderType; // vertex or fragment language (future: pack or unpack) GLenum shaderType; // vertex or fragment language (future: pack or unpack)
int shaderVersion;
int compileOptions; int compileOptions;
const char* sourcePath; // Path of source file or NULL. const char* sourcePath; // Path of source file or NULL.
TIntermNode* treeRoot; // root of parse tree being created TIntermNode* treeRoot; // root of parse tree being created
...@@ -63,7 +65,7 @@ struct TParseContext { ...@@ -63,7 +65,7 @@ struct TParseContext {
pp::Preprocessor preprocessor; pp::Preprocessor preprocessor;
void* scanner; void* scanner;
int shaderVersion() const { return diagnostics.shaderVersion(); } int getShaderVersion() const { return shaderVersion; }
int numErrors() const { return diagnostics.numErrors(); } int numErrors() const { return diagnostics.numErrors(); }
TInfoSink& infoSink() { return diagnostics.infoSink(); } TInfoSink& infoSink() { return diagnostics.infoSink(); }
void error(TSourceLoc loc, const char *reason, const char* token, void error(TSourceLoc loc, const char *reason, const char* token,
......
...@@ -15,7 +15,7 @@ WHICH GENERATES THE GLSL ES LEXER (glslang_lex.cpp). ...@@ -15,7 +15,7 @@ WHICH GENERATES THE GLSL ES LEXER (glslang_lex.cpp).
%top{ %top{
// //
// Copyright (c) 2012 The ANGLE Project Authors. All rights reserved. // Copyright (c) 2012-2013 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// //
...@@ -89,10 +89,10 @@ O [0-7] ...@@ -89,10 +89,10 @@ O [0-7]
"lowp" { return(LOW_PRECISION); } "lowp" { return(LOW_PRECISION); }
"precision" { return(PRECISION); } "precision" { return(PRECISION); }
"attribute" { return(ATTRIBUTE); } "attribute" { if (context->shaderVersion < 300) return(ATTRIBUTE); return reserved_word(yyscanner); }
"const" { return(CONST_QUAL); } "const" { return(CONST_QUAL); }
"uniform" { return(UNIFORM); } "uniform" { return(UNIFORM); }
"varying" { return(VARYING); } "varying" { if (context->shaderVersion < 300) return(VARYING); return reserved_word(yyscanner); }
"break" { return(BREAK); } "break" { return(BREAK); }
"continue" { return(CONTINUE); } "continue" { return(CONTINUE); }
...@@ -102,6 +102,13 @@ O [0-7] ...@@ -102,6 +102,13 @@ O [0-7]
"if" { return(IF); } "if" { return(IF); }
"else" { return(ELSE); } "else" { return(ELSE); }
"switch" { if (context->shaderVersion < 300) return reserved_word(yyscanner); return(SWITCH); }
"case" { if (context->shaderVersion < 300) return reserved_word(yyscanner); return(CASE); }
"default" { if (context->shaderVersion < 300) return reserved_word(yyscanner); return(DEFAULT); }
"centroid" { if (context->shaderVersion < 300) return reserved_word(yyscanner); return(CENTROID); }
"flat" { if (context->shaderVersion < 300) return reserved_word(yyscanner); return(FLAT); }
"smooth" { if (context->shaderVersion < 300) return reserved_word(yyscanner); return(SMOOTH); }
"in" { return(IN_QUAL); } "in" { return(IN_QUAL); }
"out" { return(OUT_QUAL); } "out" { return(OUT_QUAL); }
...@@ -135,67 +142,129 @@ O [0-7] ...@@ -135,67 +142,129 @@ O [0-7]
"samplerCube" { context->lexAfterType = true; return SAMPLERCUBE; } "samplerCube" { context->lexAfterType = true; return SAMPLERCUBE; }
"samplerExternalOES" { context->lexAfterType = true; return SAMPLER_EXTERNAL_OES; } "samplerExternalOES" { context->lexAfterType = true; return SAMPLER_EXTERNAL_OES; }
"sampler3D" { context->lexAfterType = true; return SAMPLER3D; } "sampler3D" { context->lexAfterType = true; return SAMPLER3D; }
"sampler3DRect" { if (context->shaderVersion < 300) return reserved_word(yyscanner); context->lexAfterType = true; return SAMPLER3DRECT; }
"sampler2DShadow" { if (context->shaderVersion < 300) return reserved_word(yyscanner); context->lexAfterType = true; return SAMPLER2DSHADOW; }
"struct" { context->lexAfterType = true; return(STRUCT); } "struct" { context->lexAfterType = true; return(STRUCT); }
"asm" { return reserved_word(yyscanner); } /* Reserved keywords for GLSL ES 3.00 that are not reserved for GLSL ES 1.00 */
"coherent" |
"class" { return reserved_word(yyscanner); } "restrict" |
"union" { return reserved_word(yyscanner); } "readonly" |
"enum" { return reserved_word(yyscanner); } "writeonly" |
"typedef" { return reserved_word(yyscanner); } "resource" |
"template" { return reserved_word(yyscanner); } "atomic_uint" |
"this" { return reserved_word(yyscanner); } "noperspective" |
"packed" { return reserved_word(yyscanner); } "patch" |
"sample" |
"goto" { return reserved_word(yyscanner); } "subroutine" |
"switch" { return reserved_word(yyscanner); } "common" |
"default" { return reserved_word(yyscanner); } "partition" |
"active" |
"inline" { return reserved_word(yyscanner); }
"noinline" { return reserved_word(yyscanner); } "filter" |
"volatile" { return reserved_word(yyscanner); } "image1D" |
"public" { return reserved_word(yyscanner); } "image2D" |
"static" { return reserved_word(yyscanner); } "image3D" |
"extern" { return reserved_word(yyscanner); } "imageCube" |
"external" { return reserved_word(yyscanner); } "iimage1D" |
"interface" { return reserved_word(yyscanner); } "iimage2D" |
"flat" { return reserved_word(yyscanner); } "iimage3D" |
"iimageCube" |
"long" { return reserved_word(yyscanner); } "uimage1D" |
"short" { return reserved_word(yyscanner); } "uimage2D" |
"double" { return reserved_word(yyscanner); } "uimage3D" |
"half" { return reserved_word(yyscanner); } "uimageCube" |
"fixed" { return reserved_word(yyscanner); } "image1DArray" |
"unsigned" { return reserved_word(yyscanner); } "image2DArray" |
"superp" { return reserved_word(yyscanner); } "iimage1DArray" |
"iimage2DArray" |
"input" { return reserved_word(yyscanner); } "uimage1DArray" |
"output" { return reserved_word(yyscanner); } "uimage2DArray" |
"image1DShadow" |
"hvec2" { return reserved_word(yyscanner); } "image2DShadow" |
"hvec3" { return reserved_word(yyscanner); } "image1DArrayShadow" |
"hvec4" { return reserved_word(yyscanner); } "image2DArrayShadow" |
"dvec2" { return reserved_word(yyscanner); } "imageBuffer" |
"dvec3" { return reserved_word(yyscanner); } "iimageBuffer" |
"dvec4" { return reserved_word(yyscanner); } "uimageBuffer" |
"fvec2" { return reserved_word(yyscanner); }
"fvec3" { return reserved_word(yyscanner); } "sampler1DArray" |
"fvec4" { return reserved_word(yyscanner); } "sampler1DArrayShadow" |
"isampler1D" |
"sampler1D" { return reserved_word(yyscanner); } "isampler1DArray" |
"usampler1D" |
"sampler1DShadow" { return reserved_word(yyscanner); } "usampler1DArray" |
"sampler2DShadow" { return reserved_word(yyscanner); } "isampler2DRect" |
"usampler2DRect" |
"sampler2DRect" { return reserved_word(yyscanner); } "samplerBuffer" |
"sampler3DRect" { return reserved_word(yyscanner); } "isamplerBuffer" |
"sampler2DRectShadow" { return reserved_word(yyscanner); } "usamplerBuffer" |
"sampler2DMS" |
"sizeof" { return reserved_word(yyscanner); } "isampler2DMS" |
"cast" { return reserved_word(yyscanner); } "usampler2DMS" |
"sampler2DMSArray" |
"namespace" { return reserved_word(yyscanner); } "isampler2DMSArray" |
"usampler2DMSArray" {
if (context->shaderVersion < 300) {
yylval->lex.string = NewPoolTString(yytext);
return check_type(yyscanner);
}
return reserved_word(yyscanner);
}
/* Reserved keywords */
"asm" |
"class" |
"union" |
"enum" |
"typedef" |
"template" |
"this" |
"packed" |
"goto" |
"inline" |
"noinline" |
"volatile" |
"public" |
"static" |
"extern" |
"external" |
"interface" |
"long" |
"short" |
"double" |
"half" |
"fixed" |
"unsigned" |
"superp" |
"input" |
"output" |
"hvec2" |
"hvec3" |
"hvec4" |
"dvec2" |
"dvec3" |
"dvec4" |
"fvec2" |
"fvec3" |
"fvec4" |
"sampler1D" |
"sampler1DShadow" |
"sampler2DRect" |
"sampler2DRectShadow" |
"sizeof" |
"cast" |
"namespace" |
"using" { return reserved_word(yyscanner); } "using" { return reserved_word(yyscanner); }
{L}({L}|{D})* { {L}({L}|{D})* {
......
...@@ -104,15 +104,31 @@ extern void yyerror(TParseContext* context, const char* reason); ...@@ -104,15 +104,31 @@ extern void yyerror(TParseContext* context, const char* reason);
context->recover(); \ context->recover(); \
} \ } \
} }
#define ES2_ONLY(S, L) { \
if (context->shaderVersion != 100) { \
context->error(L, " supported in GLSL ES 1.00 only ", S); \
context->recover(); \
} \
}
#define ES3_ONLY(S, L) { \
if (context->shaderVersion != 300) { \
context->error(L, " supported in GLSL ES 3.00 only ", S); \
context->recover(); \
} \
}
%} %}
%token <lex> INVARIANT HIGH_PRECISION MEDIUM_PRECISION LOW_PRECISION PRECISION %token <lex> INVARIANT HIGH_PRECISION MEDIUM_PRECISION LOW_PRECISION PRECISION
%token <lex> ATTRIBUTE CONST_QUAL BOOL_TYPE FLOAT_TYPE INT_TYPE %token <lex> ATTRIBUTE CONST_QUAL BOOL_TYPE FLOAT_TYPE INT_TYPE
%token <lex> BREAK CONTINUE DO ELSE FOR IF DISCARD RETURN %token <lex> BREAK CONTINUE DO ELSE FOR IF DISCARD RETURN SWITCH CASE DEFAULT
%token <lex> BVEC2 BVEC3 BVEC4 IVEC2 IVEC3 IVEC4 VEC2 VEC3 VEC4 %token <lex> BVEC2 BVEC3 BVEC4 IVEC2 IVEC3 IVEC4 VEC2 VEC3 VEC4
%token <lex> MATRIX2 MATRIX3 MATRIX4 IN_QUAL OUT_QUAL INOUT_QUAL UNIFORM VARYING %token <lex> MATRIX2 MATRIX3 MATRIX4 IN_QUAL OUT_QUAL INOUT_QUAL UNIFORM VARYING
%token <lex> CENTROID FLAT SMOOTH
%token <lex> STRUCT VOID_TYPE WHILE %token <lex> STRUCT VOID_TYPE WHILE
%token <lex> SAMPLER2D SAMPLERCUBE SAMPLER_EXTERNAL_OES SAMPLER3D %token <lex> SAMPLER2D SAMPLERCUBE SAMPLER_EXTERNAL_OES SAMPLER2DRECT
%token <lex> SAMPLER3D SAMPLER3DRECT SAMPLER2DSHADOW
%token <lex> IDENTIFIER TYPE_NAME FLOATCONSTANT INTCONSTANT BOOLCONSTANT %token <lex> IDENTIFIER TYPE_NAME FLOATCONSTANT INTCONSTANT BOOLCONSTANT
%token <lex> FIELD_SELECTION %token <lex> FIELD_SELECTION
...@@ -1486,11 +1502,13 @@ type_qualifier ...@@ -1486,11 +1502,13 @@ type_qualifier
} }
| ATTRIBUTE { | ATTRIBUTE {
VERTEX_ONLY("attribute", $1.line); VERTEX_ONLY("attribute", $1.line);
ES2_ONLY("attribute", $1.line);
if (context->globalErrorCheck($1.line, context->symbolTable.atGlobalLevel(), "attribute")) if (context->globalErrorCheck($1.line, context->symbolTable.atGlobalLevel(), "attribute"))
context->recover(); context->recover();
$$.setBasic(EbtVoid, EvqAttribute, $1.line); $$.setBasic(EbtVoid, EvqAttribute, $1.line);
} }
| VARYING { | VARYING {
ES2_ONLY("varying", $1.line);
if (context->globalErrorCheck($1.line, context->symbolTable.atGlobalLevel(), "varying")) if (context->globalErrorCheck($1.line, context->symbolTable.atGlobalLevel(), "varying"))
context->recover(); context->recover();
if (context->shaderType == GL_VERTEX_SHADER) if (context->shaderType == GL_VERTEX_SHADER)
...@@ -1499,6 +1517,7 @@ type_qualifier ...@@ -1499,6 +1517,7 @@ type_qualifier
$$.setBasic(EbtVoid, EvqVaryingIn, $1.line); $$.setBasic(EbtVoid, EvqVaryingIn, $1.line);
} }
| INVARIANT VARYING { | INVARIANT VARYING {
ES2_ONLY("varying", $1.line);
if (context->globalErrorCheck($1.line, context->symbolTable.atGlobalLevel(), "invariant varying")) if (context->globalErrorCheck($1.line, context->symbolTable.atGlobalLevel(), "invariant varying"))
context->recover(); context->recover();
if (context->shaderType == GL_VERTEX_SHADER) if (context->shaderType == GL_VERTEX_SHADER)
......
#line 17 "./glslang.l" #line 17 "./glslang.l"
// //
// Copyright (c) 2012 The ANGLE Project Authors. All rights reserved. // Copyright (c) 2012-2013 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// //
...@@ -392,8 +392,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); ...@@ -392,8 +392,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
*yy_cp = '\0'; \ *yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp; yyg->yy_c_buf_p = yy_cp;
#define YY_NUM_RULES 155 #define YY_NUM_RULES 214
#define YY_END_OF_BUFFER 156 #define YY_END_OF_BUFFER 215
/* This struct is not used in this scanner, /* This struct is not used in this scanner,
but its presence is necessary. */ but its presence is necessary. */
struct yy_trans_info struct yy_trans_info
...@@ -401,58 +401,91 @@ struct yy_trans_info ...@@ -401,58 +401,91 @@ struct yy_trans_info
flex_int32_t yy_verify; flex_int32_t yy_verify;
flex_int32_t yy_nxt; flex_int32_t yy_nxt;
}; };
static yyconst flex_int16_t yy_accept[459] = static yyconst flex_int16_t yy_accept[759] =
{ 0, { 0,
0, 0, 0, 0, 0, 0, 156, 154, 153, 153, 0, 0, 0, 0, 0, 0, 215, 213, 212, 212,
138, 144, 149, 133, 134, 142, 141, 130, 139, 137, 197, 203, 208, 192, 193, 201, 200, 189, 198, 196,
143, 102, 102, 131, 127, 145, 132, 146, 150, 98, 202, 161, 161, 190, 186, 204, 191, 205, 209, 157,
135, 136, 148, 98, 98, 98, 98, 98, 98, 98, 194, 195, 207, 157, 157, 157, 157, 157, 157, 157,
98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
98, 98, 98, 128, 147, 129, 140, 3, 4, 3, 157, 157, 157, 187, 206, 188, 199, 3, 4, 3,
152, 155, 151, 124, 110, 129, 118, 113, 108, 116, 211, 214, 210, 183, 169, 188, 177, 172, 167, 175,
106, 117, 107, 105, 2, 1, 109, 104, 100, 101, 165, 176, 166, 164, 2, 1, 168, 163, 159, 160,
0, 0, 102, 136, 128, 135, 125, 121, 123, 122, 0, 0, 161, 195, 187, 194, 184, 180, 182, 181,
126, 98, 114, 120, 98, 98, 98, 98, 98, 98, 185, 157, 173, 179, 157, 157, 157, 157, 157, 157,
98, 98, 98, 98, 17, 98, 98, 98, 98, 98, 157, 157, 157, 157, 157, 157, 17, 157, 157, 157,
98, 98, 98, 98, 98, 98, 98, 98, 20, 22, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 20, 157, 157, 28, 157, 157, 157, 157, 157, 157,
98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
98, 98, 98, 98, 98, 98, 98, 115, 119, 5, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
151, 0, 1, 104, 0, 0, 103, 99, 111, 112, 157, 157, 157, 157, 157, 174, 178, 5, 210, 0,
50, 98, 98, 98, 98, 98, 98, 98, 98, 98, 1, 163, 0, 0, 162, 158, 170, 171, 157, 114,
98, 98, 98, 98, 98, 98, 98, 98, 98, 18, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
98, 98, 98, 98, 98, 98, 98, 98, 26, 98, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
98, 98, 98, 98, 98, 98, 98, 23, 98, 98, 157, 157, 157, 18, 157, 157, 157, 157, 157, 157,
98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 157, 157, 157, 157, 32, 157, 157, 157, 157, 157,
98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 157, 157, 157, 157, 157, 29, 157, 157, 157, 157,
98, 0, 105, 0, 104, 98, 28, 98, 98, 95, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
98, 98, 98, 98, 98, 98, 98, 21, 53, 98, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
98, 98, 69, 98, 98, 58, 73, 98, 98, 98, 157, 157, 157, 157, 157, 157, 157, 157, 0, 164,
98, 98, 98, 98, 98, 70, 9, 33, 34, 35, 0, 163, 157, 157, 157, 34, 157, 157, 23, 154,
98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
98, 98, 98, 98, 98, 98, 56, 29, 98, 98, 21, 117, 157, 157, 157, 157, 26, 157, 157, 122,
98, 98, 98, 98, 36, 37, 38, 27, 98, 98, 134, 157, 157, 157, 157, 157, 157, 157, 157, 157,
98, 15, 42, 43, 44, 51, 12, 98, 98, 98, 157, 157, 131, 9, 39, 40, 41, 157, 157, 157,
98, 82, 83, 84, 98, 30, 74, 25, 85, 86, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
87, 7, 79, 80, 81, 98, 24, 77, 98, 98, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
39, 40, 41, 98, 98, 98, 98, 98, 98, 98, 157, 120, 35, 157, 157, 157, 157, 157, 157, 157,
98, 98, 71, 98, 98, 98, 98, 98, 98, 98, 157, 42, 43, 44, 33, 157, 157, 157, 157, 157,
98, 52, 98, 97, 98, 98, 19, 98, 98, 98, 157, 15, 48, 49, 50, 157, 115, 157, 157, 12,
98, 72, 66, 61, 98, 98, 98, 98, 98, 78, 157, 157, 157, 157, 143, 144, 145, 157, 36, 157,
57, 98, 64, 32, 98, 94, 65, 49, 76, 59, 135, 31, 146, 147, 148, 7, 140, 141, 142, 157,
98, 98, 98, 98, 98, 98, 98, 98, 60, 31, 157, 157, 30, 138, 157, 157, 157, 45, 46, 47,
98, 98, 98, 8, 98, 98, 98, 98, 98, 54, 157, 157, 157, 157, 157, 157, 157, 65, 157, 157,
13, 98, 14, 98, 98, 16, 67, 98, 98, 98, 157, 157, 157, 157, 157, 132, 157, 157, 157, 157,
62, 98, 98, 98, 98, 98, 98, 55, 75, 63, 157, 157, 157, 157, 157, 157, 157, 116, 157, 157,
11, 68, 6, 96, 10, 88, 45, 48, 98, 98, 156, 157, 157, 19, 157, 70, 157, 157, 157, 157,
98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 68, 157, 157, 157, 133, 128, 71, 157, 157, 157,
46, 98, 98, 98, 98, 98, 98, 98, 91, 98, 157, 157, 157, 123, 157, 157, 157, 157, 157, 157,
92, 98, 98, 98, 98, 98, 89, 98, 90, 98, 157, 139, 121, 157, 157, 126, 157, 157, 157, 38,
98, 98, 98, 98, 98, 47, 93, 0 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,
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,
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,
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
} ; } ;
static yyconst flex_int32_t yy_ec[256] = static yyconst flex_int32_t yy_ec[256] =
...@@ -463,14 +496,14 @@ static yyconst flex_int32_t yy_ec[256] = ...@@ -463,14 +496,14 @@ static yyconst flex_int32_t yy_ec[256] =
1, 2, 4, 1, 1, 1, 5, 6, 1, 7, 1, 2, 4, 1, 1, 1, 5, 6, 1, 7,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 20, 20, 21, 21, 22, 23, 24, 18, 19, 20, 20, 20, 21, 21, 22, 23, 24,
25, 26, 27, 1, 28, 28, 29, 30, 31, 28, 25, 26, 27, 1, 28, 29, 30, 31, 32, 33,
32, 32, 32, 32, 32, 32, 32, 32, 33, 32, 34, 34, 34, 34, 34, 34, 35, 34, 36, 34,
32, 34, 35, 32, 32, 32, 32, 36, 32, 32, 34, 37, 38, 34, 34, 34, 34, 39, 34, 34,
37, 1, 38, 39, 32, 1, 40, 41, 42, 43, 40, 1, 41, 42, 43, 1, 44, 45, 46, 47,
44, 45, 46, 47, 48, 32, 49, 50, 51, 52, 48, 49, 50, 51, 52, 34, 53, 54, 55, 56,
53, 54, 32, 55, 56, 57, 58, 59, 60, 61, 57, 58, 34, 59, 60, 61, 62, 63, 64, 65,
62, 63, 64, 65, 66, 67, 1, 1, 1, 1, 66, 67, 68, 69, 70, 71, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
...@@ -487,214 +520,315 @@ static yyconst flex_int32_t yy_ec[256] = ...@@ -487,214 +520,315 @@ static yyconst flex_int32_t yy_ec[256] =
1, 1, 1, 1, 1 1, 1, 1, 1, 1
} ; } ;
static yyconst flex_int32_t yy_meta[68] = static yyconst flex_int32_t yy_meta[72] =
{ 0, { 0,
1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3,
3, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 3, 3, 3,
3, 4, 4, 4, 4, 4, 1, 1, 1, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 1,
3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 1, 1, 4, 3, 3, 3, 3, 3, 3, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 1, 1, 1, 1 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
1
} ; } ;
static yyconst flex_int16_t yy_base[464] = static yyconst flex_int16_t yy_base[764] =
{ 0, { 0,
0, 0, 65, 66, 75, 0, 680, 681, 681, 681, 0, 0, 69, 70, 79, 0, 988, 989, 989, 989,
654, 45, 137, 681, 681, 653, 134, 681, 133, 131, 962, 49, 145, 989, 989, 961, 142, 989, 141, 139,
146, 159, 168, 651, 681, 186, 651, 47, 681, 0, 154, 167, 176, 959, 989, 176, 959, 51, 989, 0,
681, 681, 128, 100, 110, 152, 156, 146, 166, 622, 989, 989, 136, 116, 112, 159, 157, 156, 173, 926,
173, 109, 621, 126, 177, 615, 178, 628, 187, 184, 174, 179, 925, 175, 189, 919, 185, 932, 197, 203,
141, 197, 624, 681, 157, 681, 681, 681, 681, 656, 204, 209, 113, 989, 186, 989, 989, 989, 989, 965,
681, 681, 0, 681, 681, 681, 681, 681, 681, 681, 989, 989, 0, 989, 989, 989, 989, 989, 989, 989,
681, 681, 681, 236, 681, 0, 681, 243, 273, 282, 989, 989, 989, 255, 989, 0, 989, 262, 280, 298,
304, 0, 314, 681, 681, 681, 644, 681, 681, 681, 317, 0, 332, 989, 989, 989, 953, 989, 989, 989,
643, 0, 681, 681, 616, 609, 612, 620, 619, 606, 952, 0, 989, 989, 915, 920, 206, 917, 925, 924,
621, 608, 614, 602, 599, 612, 599, 596, 596, 602, 911, 914, 925, 233, 919, 907, 904, 917, 904, 901,
590, 189, 595, 605, 591, 597, 600, 601, 0, 216, 901, 907, 237, 248, 901, 911, 897, 903, 906, 907,
600, 188, 586, 599, 590, 592, 582, 596, 593, 595, 0, 899, 909, 300, 908, 903, 109, 889, 902, 893,
578, 583, 580, 569, 183, 577, 582, 578, 580, 569, 268, 886, 262, 898, 900, 246, 889, 886, 875, 884,
572, 220, 577, 569, 581, 176, 574, 681, 681, 681, 206, 264, 888, 884, 886, 875, 878, 880, 279, 315,
0, 331, 0, 344, 361, 290, 374, 0, 681, 681, 875, 887, 150, 880, 879, 989, 989, 989, 0, 356,
0, 566, 570, 579, 576, 560, 560, 215, 575, 572, 0, 366, 384, 391, 400, 0, 989, 989, 878, 0,
572, 570, 567, 559, 565, 552, 563, 549, 565, 0, 874, 869, 873, 882, 879, 294, 863, 863, 874, 866,
562, 550, 557, 554, 558, 551, 540, 539, 552, 555, 225, 876, 873, 873, 871, 868, 860, 866, 853, 851,
552, 547, 538, 260, 543, 546, 537, 534, 538, 544, 863, 849, 865, 0, 862, 850, 857, 854, 858, 859,
535, 526, 529, 527, 537, 523, 521, 534, 520, 522, 852, 849, 838, 837, 850, 853, 841, 849, 844, 835,
519, 530, 529, 283, 524, 519, 508, 264, 526, 528, 371, 840, 843, 834, 841, 830, 834, 825, 839, 838,
517, 381, 388, 395, 402, 518, 0, 516, 320, 0, 829, 835, 283, 819, 822, 820, 830, 820, 815, 813,
508, 506, 514, 503, 520, 509, 336, 0, 0, 503, 815, 825, 811, 813, 810, 821, 820, 823, 313, 814,
513, 513, 0, 498, 349, 0, 0, 500, 366, 501, 810, 808, 797, 374, 815, 817, 806, 798, 407, 414,
495, 494, 495, 494, 407, 0, 0, 0, 0, 0, 421, 428, 795, 805, 804, 0, 802, 433, 0, 0,
490, 491, 496, 487, 500, 495, 494, 486, 490, 482, 795, 793, 793, 794, 789, 797, 786, 803, 792, 436,
485, 489, 494, 480, 492, 483, 0, 0, 489, 478, 0, 0, 786, 796, 795, 795, 0, 780, 439, 0,
478, 483, 482, 479, 0, 0, 0, 0, 469, 481, 0, 782, 442, 789, 790, 781, 775, 774, 775, 774,
483, 0, 0, 0, 0, 0, 0, 471, 472, 466, 774, 445, 0, 0, 0, 0, 0, 769, 770, 775,
476, 0, 0, 0, 467, 0, 0, 0, 0, 0, 769, 765, 778, 773, 773, 771, 770, 764, 758, 760,
0, 0, 0, 0, 0, 474, 0, 0, 472, 468, 759, 763, 755, 758, 753, 761, 766, 754, 751, 763,
0, 0, 0, 464, 460, 465, 455, 468, 454, 467, 754, 0, 0, 760, 756, 748, 748, 753, 744, 751,
456, 463, 0, 461, 463, 447, 449, 455, 461, 456, 748, 0, 0, 0, 0, 738, 750, 749, 748, 749,
444, 0, 446, 0, 445, 448, 0, 437, 436, 436, 749, 0, 0, 0, 0, 736, 0, 744, 735, 0,
449, 0, 451, 0, 450, 449, 434, 447, 434, 0, 734, 735, 729, 739, 0, 0, 0, 730, 0, 726,
0, 437, 0, 0, 429, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 736,
426, 437, 430, 436, 433, 428, 420, 432, 0, 0, 449, 735, 0, 0, 733, 729, 726, 0, 0, 0,
425, 432, 421, 0, 430, 427, 417, 411, 425, 0, 724, 720, 725, 716, 714, 727, 712, 0, 712, 725,
0, 425, 0, 423, 422, 0, 0, 421, 407, 419, 714, 710, 716, 711, 718, 0, 716, 713, 717, 701,
0, 410, 431, 430, 429, 400, 396, 0, 0, 0, 699, 702, 708, 714, 709, 708, 696, 0, 698, 699,
0, 0, 0, 0, 0, 421, 250, 421, 411, 384, 0, 696, 699, 0, 693, 0, 706, 686, 695, 690,
392, 394, 390, 392, 391, 390, 393, 390, 391, 388, 0, 683, 683, 696, 0, 698, 0, 452, 710, 709,
0, 332, 343, 317, 329, 313, 317, 304, 321, 291, 708, 676, 675, 0, 692, 691, 686, 675, 688, 675,
0, 302, 280, 271, 255, 262, 0, 256, 0, 232, 672, 0, 0, 677, 676, 0, 673, 680, 679, 0,
206, 212, 148, 159, 113, 0, 0, 681, 442, 444, 665, 0, 0, 0, 0, 662, 0, 0, 661, 672,
446, 450, 161 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,
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,
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,
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
} ; } ;
static yyconst flex_int16_t yy_def[464] = static yyconst flex_int16_t yy_def[764] =
{ 0, { 0,
458, 1, 459, 459, 458, 5, 458, 458, 458, 458, 758, 1, 759, 759, 758, 5, 758, 758, 758, 758,
458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
458, 458, 458, 458, 458, 458, 458, 458, 458, 460, 758, 758, 758, 758, 758, 758, 758, 758, 758, 760,
458, 458, 458, 460, 460, 460, 460, 460, 460, 460, 758, 758, 758, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 458, 458, 458, 458, 458, 458, 458, 760, 760, 760, 758, 758, 758, 758, 758, 758, 758,
458, 458, 461, 458, 458, 458, 458, 458, 458, 458, 758, 758, 761, 758, 758, 758, 758, 758, 758, 758,
458, 458, 458, 458, 458, 462, 458, 458, 458, 458, 758, 758, 758, 758, 758, 762, 758, 758, 758, 758,
458, 463, 458, 458, 458, 458, 458, 458, 458, 458, 758, 763, 758, 758, 758, 758, 758, 758, 758, 758,
458, 460, 458, 458, 460, 460, 460, 460, 460, 460, 758, 760, 758, 758, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 458, 458, 458, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
461, 458, 462, 458, 458, 458, 458, 463, 458, 458, 760, 760, 760, 760, 760, 758, 758, 758, 761, 758,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 762, 758, 758, 758, 758, 763, 758, 758, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 458, 458, 458, 458, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 758, 758,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 758, 758, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
460, 460, 460, 460, 460, 460, 460, 0, 458, 458, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
458, 458, 458 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 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
} ; } ;
static yyconst flex_int16_t yy_nxt[749] = static yyconst flex_int16_t yy_nxt[1061] =
{ 0, { 0,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 23, 23, 23, 23, 18, 19, 20, 21, 22, 23, 23, 23, 23, 23,
23, 24, 25, 26, 27, 28, 29, 30, 30, 30, 23, 24, 25, 26, 27, 28, 29, 30, 30, 30,
30, 30, 30, 30, 30, 30, 31, 32, 33, 34, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31,
35, 36, 37, 38, 39, 40, 41, 42, 30, 43, 32, 33, 30, 34, 35, 36, 37, 38, 39, 40,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 41, 42, 30, 43, 44, 45, 46, 47, 48, 49,
30, 30, 30, 54, 55, 56, 57, 59, 59, 65, 50, 51, 52, 53, 30, 30, 30, 54, 55, 56,
66, 90, 91, 60, 60, 8, 61, 62, 8, 8, 57, 59, 59, 65, 66, 90, 91, 60, 60, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 61, 62, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 63, 63, 63, 63, 63, 63, 63, 63, 8, 8, 8, 8, 8, 8, 63, 63, 63, 63,
63, 8, 8, 8, 63, 63, 63, 63, 63, 63,
63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
63, 63, 63, 63, 63, 63, 63, 63, 8, 8, 63, 63, 63, 63, 63, 63, 63, 63, 8, 8,
8, 8, 67, 70, 72, 74, 74, 74, 74, 74, 8, 63, 63, 63, 63, 63, 63, 63, 63, 63,
74, 74, 93, 119, 75, 95, 96, 73, 71, 76, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
120, 68, 97, 158, 98, 123, 94, 121, 99, 124, 63, 63, 63, 63, 63, 63, 8, 8, 8, 8,
77, 78, 457, 79, 79, 79, 79, 79, 79, 80, 67, 70, 72, 74, 74, 74, 74, 74, 74, 74,
78, 148, 83, 83, 83, 83, 83, 83, 83, 81, 93, 95, 75, 154, 209, 73, 71, 76, 98, 68,
85, 100, 142, 456, 82, 107, 143, 108, 81, 103, 99, 155, 210, 166, 100, 96, 97, 94, 77, 78,
85, 79, 79, 79, 79, 79, 79, 80, 78, 757,
455, 101, 81, 104, 102, 110, 109, 86, 105, 87, 83, 83, 83, 83, 83, 83, 83, 86, 81, 87,
88, 81, 116, 111, 106, 112, 125, 128, 113, 82,
117, 149, 206, 219, 114, 220, 132, 138, 178, 126, 88, 245, 101, 246, 105, 82, 102, 81, 106, 109,
139, 118, 129, 133, 134, 130, 144, 207, 140, 192, 156, 110, 103, 107, 81, 104, 112, 118, 128, 108,
145, 179, 454, 135, 136, 141, 137, 193, 453, 146, 111, 756, 129, 81, 113, 119, 114, 121, 133, 115,
74, 74, 74, 74, 74, 74, 74, 154, 154, 154, 122, 82, 130, 123, 124, 116, 120, 635, 125, 636,
154, 154, 154, 154, 452, 186, 152, 214, 187, 188, 137, 126, 652, 134, 653, 131, 135, 138, 139, 229,
232, 233, 189, 155, 190, 215, 258, 259, 260, 152, 144, 140, 151, 145, 157, 148, 152, 141, 142, 149,
285, 286, 287, 422, 423, 78, 155, 79, 79, 79, 143, 146, 171, 150, 230, 153, 172, 755, 147, 74,
79, 79, 79, 80, 78, 451, 80, 80, 80, 80, 74, 74, 74, 74, 74, 74, 162, 162, 162, 162,
162, 162, 162, 179, 265, 266, 160, 180, 181, 222,
80, 80, 80, 81, 157, 157, 157, 157, 157, 157, 190, 192, 78, 163, 79, 79, 79, 79, 79, 79,
157, 450, 81, 156, 449, 156, 81, 448, 157, 157,
157, 157, 157, 157, 157, 81, 78, 280, 83, 83, 80, 191, 160, 754, 193, 223, 224, 217, 231, 163,
83, 83, 83, 83, 83, 281, 293, 294, 295, 447, 78, 81, 80, 80, 80, 80, 80, 80, 80, 214,
222, 446, 222, 445, 81, 223, 223, 223, 223, 223, 218, 232, 219, 753, 752, 215, 164, 81, 164, 81,
223, 223, 302, 303, 304, 444, 443, 81, 154, 154, 239, 165, 165, 165, 165, 165, 165, 165, 240, 309,
154, 154, 154, 154, 154, 309, 310, 311, 442, 441, 751, 259, 750, 310, 78, 81, 83, 83, 83, 83,
224, 440, 224, 439, 155, 225, 225, 225, 225, 225, 83, 83, 83, 202, 260, 749, 203, 204, 241, 748,
225, 225, 313, 314, 315, 438, 437, 155, 157, 157, 205, 326, 206, 81, 747, 249, 242, 249, 524, 327,
157, 157, 157, 157, 157, 223, 223, 223, 223, 223, 250, 250, 250, 250, 250, 250, 250, 746, 525, 81,
162, 162, 162, 162, 162, 162, 162, 295, 296, 297,
223, 223, 223, 223, 223, 223, 223, 223, 223, 225, 332, 333, 334, 251, 745, 251, 744, 163, 252, 252,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 321, 322, 323, 403, 404, 405, 436, 252, 252, 252, 252, 252, 165, 165, 165, 165, 165,
435, 434, 433, 432, 431, 430, 429, 428, 427, 406, 165, 165, 743, 163, 165, 165, 165, 165, 165, 165,
426, 407, 58, 58, 58, 58, 92, 92, 151, 151, 165, 250, 250, 250, 250, 250, 250, 250, 250, 250,
153, 425, 153, 153, 424, 421, 420, 419, 418, 417, 250, 250, 250, 250, 250, 252, 252, 252, 252, 252,
416, 415, 414, 413, 412, 411, 410, 409, 408, 402, 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,
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,
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,
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,
411, 410, 409, 408, 407, 406, 405, 404, 403, 402,
401, 400, 399, 398, 397, 396, 395, 394, 393, 392, 401, 400, 399, 398, 397, 396, 395, 394, 393, 392,
391, 390, 389, 388, 387, 386, 385, 384, 383, 382, 391, 390, 389, 388, 387, 386, 385, 384, 383, 382,
381, 380, 379, 378, 377, 376, 375, 374, 373, 372, 381, 377, 376, 375, 374, 373, 372, 371, 370, 366,
362, 361, 360, 359, 358, 354, 353, 352, 351, 350,
371, 370, 369, 368, 367, 366, 365, 364, 363, 362, 349, 348, 347, 346, 342, 341, 340, 339, 338, 337,
361, 360, 359, 358, 357, 356, 355, 354, 353, 352, 336, 335, 331, 330, 329, 328, 325, 324, 323, 322,
351, 350, 349, 348, 347, 346, 345, 344, 343, 342, 321, 320, 319, 318, 317, 316, 315, 314, 313, 312,
341, 340, 339, 338, 337, 336, 335, 334, 333, 332, 311, 308, 307, 306, 305, 304, 303, 302, 301, 300,
331, 330, 329, 328, 327, 326, 325, 324, 320, 319, 299, 298, 294, 293, 292, 291, 290, 289, 288, 287,
318, 317, 316, 312, 308, 307, 306, 305, 301, 300,
299, 298, 297, 296, 292, 291, 290, 289, 288, 284, 286, 285, 284, 283, 282, 281, 280, 279, 278, 277,
283, 282, 279, 278, 277, 276, 275, 274, 273, 272, 276, 275, 274, 273, 272, 271, 270, 269, 268, 267,
271, 270, 269, 268, 267, 266, 265, 264, 263, 262, 264, 263, 262, 261, 258, 257, 256, 255, 254, 253,
261, 257, 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, 244, 243, 238, 237, 236, 235, 234, 233,
228, 227, 226, 225, 221, 220, 216, 213, 212, 211,
248, 247, 246, 245, 244, 243, 242, 241, 240, 239, 208, 207, 201, 200, 199, 198, 197, 196, 195, 194,
238, 237, 236, 235, 234, 231, 230, 229, 228, 227, 189, 188, 187, 186, 185, 184, 183, 182, 178, 177,
226, 221, 218, 217, 216, 213, 212, 211, 210, 209, 176, 175, 174, 173, 170, 169, 168, 167, 158, 136,
208, 205, 204, 203, 202, 201, 200, 199, 198, 197, 132, 127, 117, 89, 84, 69, 64, 758, 7, 758,
196, 195, 194, 191, 185, 184, 183, 182, 181, 180, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
177, 176, 175, 174, 173, 172, 171, 170, 169, 168,
167, 166, 165, 164, 163, 162, 161, 160, 159, 150, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
147, 131, 127, 122, 115, 89, 84, 69, 64, 458, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
7, 458, 458, 458, 458, 458, 458, 458, 458, 458, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 758, 758, 758, 758, 758, 758, 758, 758, 758, 758
458, 458, 458, 458, 458, 458, 458, 458, 458, 458,
458, 458, 458, 458, 458, 458, 458, 458, 458, 458,
458, 458, 458, 458, 458, 458, 458, 458, 458, 458,
458, 458, 458, 458, 458, 458, 458, 458
} ; } ;
static yyconst flex_int16_t yy_chk[749] = static yyconst flex_int16_t yy_chk[1061] =
{ 0, { 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
...@@ -702,8 +836,8 @@ static yyconst flex_int16_t yy_chk[749] = ...@@ -702,8 +836,8 @@ static yyconst flex_int16_t yy_chk[749] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 3, 4, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
12, 28, 28, 3, 4, 5, 5, 5, 5, 5, 1, 3, 4, 12, 12, 28, 28, 3, 4, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
...@@ -711,77 +845,111 @@ static yyconst flex_int16_t yy_chk[749] = ...@@ -711,77 +845,111 @@ static yyconst flex_int16_t yy_chk[749] =
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 13, 17, 19, 20, 20, 20, 20, 20, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
20, 20, 33, 42, 21, 34, 34, 19, 17, 21, 13, 17, 19, 20, 20, 20, 20, 20, 20, 20,
42, 13, 35, 463, 35, 44, 33, 42, 35, 44, 33, 34, 21, 53, 127, 19, 17, 21, 35, 13,
21, 22, 455, 22, 22, 22, 22, 22, 22, 22, 35, 53, 127, 763, 35, 34, 34, 33, 21, 22,
23, 55, 23, 23, 23, 23, 23, 23, 23, 22, 26, 22, 22, 22, 22, 22, 22, 22, 23, 755,
26, 36, 51, 454, 22, 38, 51, 38, 23, 37, 23, 23, 23, 23, 23, 23, 23, 26, 22, 26,
453, 36, 22, 37, 36, 39, 38, 26, 37, 26, 26, 153, 36, 153, 37, 22, 36, 23, 37, 38,
26, 23, 41, 39, 37, 39, 45, 47, 39, 22, 55, 38, 36, 37, 22, 36, 39, 41, 44, 37,
41, 55, 135, 146, 39, 146, 49, 50, 112, 45, 38, 753, 44, 23, 39, 41, 39, 42, 47, 39,
50, 41, 47, 49, 49, 47, 52, 135, 50, 122, 42, 22, 45, 42, 42, 39, 41, 605, 42, 605,
52, 112, 452, 49, 49, 50, 49, 122, 451, 52, 49, 42, 623, 47, 623, 45, 47, 49, 49, 141,
74, 74, 74, 74, 74, 74, 74, 78, 78, 78, 50, 49, 52, 50, 55, 51, 52, 49, 49, 51,
78, 78, 78, 78, 450, 120, 74, 142, 120, 120, 49, 50, 97, 51, 141, 52, 97, 752, 50, 74,
168, 168, 120, 78, 120, 142, 194, 194, 194, 74, 74, 74, 74, 74, 74, 74, 78, 78, 78, 78,
218, 218, 218, 417, 417, 79, 78, 79, 79, 79, 78, 78, 78, 104, 181, 181, 74, 104, 104, 136,
79, 79, 79, 79, 80, 448, 80, 80, 80, 80, 113, 114, 79, 78, 79, 79, 79, 79, 79, 79,
80, 80, 80, 79, 156, 156, 156, 156, 156, 156, 79, 113, 74, 748, 114, 136, 136, 133, 142, 78,
156, 446, 80, 81, 445, 81, 79, 444, 81, 81, 80, 79, 80, 80, 80, 80, 80, 80, 80, 131,
81, 81, 81, 81, 81, 80, 83, 214, 83, 83, 133, 142, 133, 747, 746, 131, 81, 79, 81, 80,
83, 83, 83, 83, 83, 214, 229, 229, 229, 443, 149, 81, 81, 81, 81, 81, 81, 81, 149, 223,
152, 442, 152, 440, 83, 152, 152, 152, 152, 152, 744, 176, 743, 223, 83, 80, 83, 83, 83, 83,
152, 152, 237, 237, 237, 439, 438, 83, 154, 154, 83, 83, 83, 124, 176, 742, 124, 124, 150, 741,
154, 154, 154, 154, 154, 245, 245, 245, 437, 436, 124, 239, 124, 83, 740, 160, 150, 160, 481, 239,
155, 435, 155, 434, 154, 155, 155, 155, 155, 155, 160, 160, 160, 160, 160, 160, 160, 738, 481, 83,
155, 155, 249, 249, 249, 433, 432, 154, 157, 157, 162, 162, 162, 162, 162, 162, 162, 211, 211, 211,
157, 157, 157, 157, 157, 222, 222, 222, 222, 222, 244, 244, 244, 163, 737, 163, 736, 162, 163, 163,
222, 222, 223, 223, 223, 223, 223, 223, 223, 224, 163, 163, 163, 163, 163, 164, 164, 164, 164, 164,
224, 224, 224, 224, 224, 224, 225, 225, 225, 225, 164, 164, 735, 162, 165, 165, 165, 165, 165, 165,
225, 225, 225, 255, 255, 255, 388, 388, 388, 430, 165, 249, 249, 249, 249, 249, 249, 249, 250, 250,
429, 428, 427, 426, 425, 424, 423, 422, 421, 388, 250, 250, 250, 250, 250, 251, 251, 251, 251, 251,
420, 388, 459, 459, 459, 459, 460, 460, 461, 461, 251, 251, 252, 252, 252, 252, 252, 252, 252, 258,
462, 419, 462, 462, 418, 416, 407, 406, 405, 404, 258, 258, 270, 270, 270, 279, 279, 279, 283, 283,
403, 402, 400, 399, 398, 395, 394, 392, 389, 387, 283, 292, 292, 292, 371, 371, 371, 428, 428, 428,
386, 385, 383, 382, 381, 378, 377, 376, 375, 374, 461, 461, 461, 734, 732, 482, 730, 371, 371, 579,
373, 372, 371, 365, 362, 359, 358, 357, 356, 355, 428, 428, 729, 461, 461, 482, 498, 498, 498, 579,
353, 351, 350, 349, 348, 346, 345, 343, 341, 340, 532, 532, 555, 555, 580, 727, 580, 580, 726, 498,
339, 338, 337, 336, 335, 334, 332, 331, 330, 329, 498, 724, 498, 532, 723, 555, 759, 759, 759, 759,
328, 327, 326, 325, 324, 320, 319, 316, 305, 301, 760, 760, 761, 761, 762, 720, 762, 762, 719, 718,
300, 299, 298, 291, 290, 289, 284, 283, 282, 281, 717, 716, 715, 714, 713, 710, 709, 708, 707, 706,
280, 279, 276, 275, 274, 273, 272, 271, 270, 269, 705, 704, 703, 700, 697, 696, 695, 694, 693, 691,
268, 267, 266, 265, 264, 263, 262, 261, 254, 253, 690, 689, 688, 686, 684, 681, 680, 679, 678, 676,
252, 251, 250, 248, 244, 242, 241, 240, 236, 235, 675, 674, 673, 672, 671, 670, 669, 668, 667, 666,
234, 233, 232, 231, 228, 226, 221, 220, 219, 217, 665, 664, 663, 662, 661, 660, 659, 658, 656, 655,
216, 215, 213, 212, 211, 210, 209, 208, 207, 206, 654, 653, 652, 651, 650, 649, 648, 647, 645, 644,
205, 204, 203, 202, 201, 200, 199, 198, 197, 196, 643, 642, 641, 640, 639, 638, 637, 636, 635, 634,
195, 193, 192, 191, 190, 189, 188, 187, 186, 185, 632, 631, 630, 629, 628, 627, 626, 624, 622, 620,
184, 183, 182, 181, 179, 178, 177, 176, 175, 174, 619, 618, 616, 615, 614, 613, 612, 611, 610, 609,
173, 172, 171, 170, 169, 167, 166, 165, 164, 163, 608, 607, 606, 604, 603, 602, 601, 600, 599, 597,
162, 147, 145, 144, 143, 141, 140, 139, 138, 137, 596, 595, 594, 592, 591, 590, 589, 588, 587, 586,
136, 134, 133, 132, 131, 130, 129, 128, 127, 126, 585, 584, 583, 582, 581, 576, 574, 573, 572, 568,
125, 124, 123, 121, 118, 117, 116, 115, 114, 113, 567, 566, 565, 564, 563, 562, 561, 560, 558, 557,
111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 553, 552, 550, 549, 547, 546, 545, 544, 543, 542,
101, 100, 99, 98, 97, 96, 95, 91, 87, 60, 541, 537, 536, 535, 533, 531, 530, 529, 528, 527,
53, 48, 46, 43, 40, 27, 24, 16, 11, 7, 526, 525, 524, 523, 522, 520, 519, 514, 513, 512,
458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 511, 509, 508, 506, 505, 504, 503, 502, 500, 499,
458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 497, 496, 495, 494, 493, 492, 491, 490, 488, 487,
458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 486, 485, 484, 480, 479, 478, 477, 476, 475, 472,
458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 471, 470, 469, 468, 467, 466, 465, 464, 463, 462,
458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 460, 459, 456, 451, 449, 448, 447, 445, 444, 441,
458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 440, 439, 438, 437, 436, 435, 433, 432, 431, 430,
458, 458, 458, 458, 458, 458, 458, 458 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,
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,
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,
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
} ; } ;
/* Table of booleans, true if rule could match eol. */ /* Table of booleans, true if rule could match eol. */
static yyconst flex_int32_t yy_rule_can_match_eol[156] = static yyconst flex_int32_t yy_rule_can_match_eol[215] =
{ 0, { 0,
0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
...@@ -790,7 +958,10 @@ static yyconst flex_int32_t yy_rule_can_match_eol[156] = ...@@ -790,7 +958,10 @@ static yyconst flex_int32_t yy_rule_can_match_eol[156] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, }; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, };
/* The intent behind this definition is that it'll catch /* The intent behind this definition is that it'll catch
* any uses of REJECT which flex missed. * any uses of REJECT which flex missed.
...@@ -1122,13 +1293,13 @@ yy_match: ...@@ -1122,13 +1293,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{ {
yy_current_state = (int) yy_def[yy_current_state]; yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 459 ) if ( yy_current_state >= 759 )
yy_c = yy_meta[(unsigned int) yy_c]; yy_c = yy_meta[(unsigned int) yy_c];
} }
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp; ++yy_cp;
} }
while ( yy_current_state != 458 ); while ( yy_current_state != 758 );
yy_cp = yyg->yy_last_accepting_cpos; yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state; yy_current_state = yyg->yy_last_accepting_state;
...@@ -1201,7 +1372,7 @@ YY_RULE_SETUP ...@@ -1201,7 +1372,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 11: case 11:
YY_RULE_SETUP YY_RULE_SETUP
{ return(ATTRIBUTE); } { if (context->shaderVersion < 300) return(ATTRIBUTE); return reserved_word(yyscanner); }
YY_BREAK YY_BREAK
case 12: case 12:
YY_RULE_SETUP YY_RULE_SETUP
...@@ -1213,7 +1384,7 @@ YY_RULE_SETUP ...@@ -1213,7 +1384,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 14: case 14:
YY_RULE_SETUP YY_RULE_SETUP
{ return(VARYING); } { if (context->shaderVersion < 300) return(VARYING); return reserved_word(yyscanner); }
YY_BREAK YY_BREAK
case 15: case 15:
YY_RULE_SETUP YY_RULE_SETUP
...@@ -1245,524 +1416,477 @@ YY_RULE_SETUP ...@@ -1245,524 +1416,477 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 22: case 22:
YY_RULE_SETUP YY_RULE_SETUP
{ return(IN_QUAL); } { if (context->shaderVersion < 300) return reserved_word(yyscanner); return(SWITCH); }
YY_BREAK YY_BREAK
case 23: case 23:
YY_RULE_SETUP YY_RULE_SETUP
{ return(OUT_QUAL); } { if (context->shaderVersion < 300) return reserved_word(yyscanner); return(CASE); }
YY_BREAK YY_BREAK
case 24: case 24:
YY_RULE_SETUP YY_RULE_SETUP
{ return(INOUT_QUAL); } { if (context->shaderVersion < 300) return reserved_word(yyscanner); return(DEFAULT); }
YY_BREAK YY_BREAK
case 25: case 25:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return(FLOAT_TYPE); } { if (context->shaderVersion < 300) return reserved_word(yyscanner); return(CENTROID); }
YY_BREAK YY_BREAK
case 26: case 26:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return(INT_TYPE); } { if (context->shaderVersion < 300) return reserved_word(yyscanner); return(FLAT); }
YY_BREAK YY_BREAK
case 27: case 27:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return(VOID_TYPE); } { if (context->shaderVersion < 300) return reserved_word(yyscanner); return(SMOOTH); }
YY_BREAK YY_BREAK
case 28: case 28:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return(BOOL_TYPE); } { return(IN_QUAL); }
YY_BREAK YY_BREAK
case 29: case 29:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.b = true; return(BOOLCONSTANT); } { return(OUT_QUAL); }
YY_BREAK YY_BREAK
case 30: case 30:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.b = false; return(BOOLCONSTANT); } { return(INOUT_QUAL); }
YY_BREAK YY_BREAK
case 31: case 31:
YY_RULE_SETUP YY_RULE_SETUP
{ return(DISCARD); } { context->lexAfterType = true; return(FLOAT_TYPE); }
YY_BREAK YY_BREAK
case 32: case 32:
YY_RULE_SETUP YY_RULE_SETUP
{ return(RETURN); } { context->lexAfterType = true; return(INT_TYPE); }
YY_BREAK YY_BREAK
case 33: case 33:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return(MATRIX2); } { context->lexAfterType = true; return(VOID_TYPE); }
YY_BREAK YY_BREAK
case 34: case 34:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return(MATRIX3); } { context->lexAfterType = true; return(BOOL_TYPE); }
YY_BREAK YY_BREAK
case 35: case 35:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return(MATRIX4); } { yylval->lex.b = true; return(BOOLCONSTANT); }
YY_BREAK YY_BREAK
case 36: case 36:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return (VEC2); } { yylval->lex.b = false; return(BOOLCONSTANT); }
YY_BREAK YY_BREAK
case 37: case 37:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return (VEC3); } { return(DISCARD); }
YY_BREAK YY_BREAK
case 38: case 38:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return (VEC4); } { return(RETURN); }
YY_BREAK YY_BREAK
case 39: case 39:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return (IVEC2); } { context->lexAfterType = true; return(MATRIX2); }
YY_BREAK YY_BREAK
case 40: case 40:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return (IVEC3); } { context->lexAfterType = true; return(MATRIX3); }
YY_BREAK YY_BREAK
case 41: case 41:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return (IVEC4); } { context->lexAfterType = true; return(MATRIX4); }
YY_BREAK YY_BREAK
case 42: case 42:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return (BVEC2); } { context->lexAfterType = true; return (VEC2); }
YY_BREAK YY_BREAK
case 43: case 43:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return (BVEC3); } { context->lexAfterType = true; return (VEC3); }
YY_BREAK YY_BREAK
case 44: case 44:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return (BVEC4); } { context->lexAfterType = true; return (VEC4); }
YY_BREAK YY_BREAK
case 45: case 45:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return SAMPLER2D; } { context->lexAfterType = true; return (IVEC2); }
YY_BREAK YY_BREAK
case 46: case 46:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return SAMPLERCUBE; } { context->lexAfterType = true; return (IVEC3); }
YY_BREAK YY_BREAK
case 47: case 47:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return SAMPLER_EXTERNAL_OES; } { context->lexAfterType = true; return (IVEC4); }
YY_BREAK YY_BREAK
case 48: case 48:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return SAMPLER3D; } { context->lexAfterType = true; return (BVEC2); }
YY_BREAK YY_BREAK
case 49: case 49:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = true; return(STRUCT); } { context->lexAfterType = true; return (BVEC3); }
YY_BREAK YY_BREAK
case 50: case 50:
YY_RULE_SETUP YY_RULE_SETUP
{ return reserved_word(yyscanner); } { context->lexAfterType = true; return (BVEC4); }
YY_BREAK YY_BREAK
case 51: case 51:
YY_RULE_SETUP YY_RULE_SETUP
{ return reserved_word(yyscanner); } { context->lexAfterType = true; return SAMPLER2D; }
YY_BREAK YY_BREAK
case 52: case 52:
YY_RULE_SETUP YY_RULE_SETUP
{ return reserved_word(yyscanner); } { context->lexAfterType = true; return SAMPLERCUBE; }
YY_BREAK YY_BREAK
case 53: case 53:
YY_RULE_SETUP YY_RULE_SETUP
{ return reserved_word(yyscanner); } { context->lexAfterType = true; return SAMPLER_EXTERNAL_OES; }
YY_BREAK YY_BREAK
case 54: case 54:
YY_RULE_SETUP YY_RULE_SETUP
{ return reserved_word(yyscanner); } { context->lexAfterType = true; return SAMPLER3D; }
YY_BREAK YY_BREAK
case 55: case 55:
YY_RULE_SETUP YY_RULE_SETUP
{ return reserved_word(yyscanner); } { if (context->shaderVersion < 300) return reserved_word(yyscanner); context->lexAfterType = true; return SAMPLER3DRECT; }
YY_BREAK YY_BREAK
case 56: case 56:
YY_RULE_SETUP YY_RULE_SETUP
{ return reserved_word(yyscanner); } { if (context->shaderVersion < 300) return reserved_word(yyscanner); context->lexAfterType = true; return SAMPLER2DSHADOW; }
YY_BREAK YY_BREAK
case 57: case 57:
YY_RULE_SETUP YY_RULE_SETUP
{ return reserved_word(yyscanner); } { context->lexAfterType = true; return(STRUCT); }
YY_BREAK YY_BREAK
/* Reserved keywords for GLSL ES 3.00 that are not reserved for GLSL ES 1.00 */
case 58: case 58:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 59: case 59:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 60: case 60:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 61: case 61:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 62: case 62:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 63: case 63:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 64: case 64:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 65: case 65:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 66: case 66:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 67: case 67:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 68: case 68:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 69: case 69:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 70: case 70:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 71: case 71:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 72: case 72:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 73: case 73:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 74: case 74:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 75: case 75:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 76: case 76:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 77: case 77:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 78: case 78:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 79: case 79:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 80: case 80:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 81: case 81:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 82: case 82:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 83: case 83:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 84: case 84:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 85: case 85:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 86: case 86:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 87: case 87:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 88: case 88:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 89: case 89:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 90: case 90:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 91: case 91:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 92: case 92:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 93: case 93:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 94: case 94:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 95: case 95:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 96: case 96:
case 97:
case 98:
case 99:
case 100:
case 101:
case 102:
case 103:
case 104:
case 105:
case 106:
case 107:
case 108:
case 109:
case 110:
case 111:
case 112:
case 113:
YY_RULE_SETUP YY_RULE_SETUP
{ return reserved_word(yyscanner); } {
if (context->shaderVersion < 300) {
yylval->lex.string = NewPoolTString(yytext);
return check_type(yyscanner);
}
return reserved_word(yyscanner);
}
YY_BREAK YY_BREAK
case 97: /* Reserved keywords */
case 114:
case 115:
case 116:
case 117:
case 118:
case 119:
case 120:
case 121:
case 122:
case 123:
case 124:
case 125:
case 126:
case 127:
case 128:
case 129:
case 130:
case 131:
case 132:
case 133:
case 134:
case 135:
case 136:
case 137:
case 138:
case 139:
case 140:
case 141:
case 142:
case 143:
case 144:
case 145:
case 146:
case 147:
case 148:
case 149:
case 150:
case 151:
case 152:
case 153:
case 154:
case 155:
case 156:
YY_RULE_SETUP YY_RULE_SETUP
{ return reserved_word(yyscanner); } { return reserved_word(yyscanner); }
YY_BREAK YY_BREAK
case 98: case 157:
YY_RULE_SETUP YY_RULE_SETUP
{ {
yylval->lex.string = NewPoolTString(yytext); yylval->lex.string = NewPoolTString(yytext);
return check_type(yyscanner); return check_type(yyscanner);
} }
YY_BREAK YY_BREAK
case 99: case 158:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); } { yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
YY_BREAK YY_BREAK
case 100: case 159:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); } { yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
YY_BREAK YY_BREAK
case 101: case 160:
YY_RULE_SETUP YY_RULE_SETUP
{ context->error(yylineno, "Invalid Octal number.", yytext); context->recover(); return 0;} { context->error(yylineno, "Invalid Octal number.", yytext); context->recover(); return 0;}
YY_BREAK YY_BREAK
case 102: case 161:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); } { yylval->lex.i = strtol(yytext, 0, 0); return(INTCONSTANT); }
YY_BREAK YY_BREAK
case 103: case 162:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); } { yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK YY_BREAK
case 104: case 163:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); } { yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK YY_BREAK
case 105: case 164:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); } { yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK YY_BREAK
case 106: case 165:
YY_RULE_SETUP YY_RULE_SETUP
{ return(ADD_ASSIGN); } { return(ADD_ASSIGN); }
YY_BREAK YY_BREAK
case 107: case 166:
YY_RULE_SETUP YY_RULE_SETUP
{ return(SUB_ASSIGN); } { return(SUB_ASSIGN); }
YY_BREAK YY_BREAK
case 108: case 167:
YY_RULE_SETUP YY_RULE_SETUP
{ return(MUL_ASSIGN); } { return(MUL_ASSIGN); }
YY_BREAK YY_BREAK
case 109: case 168:
YY_RULE_SETUP YY_RULE_SETUP
{ return(DIV_ASSIGN); } { return(DIV_ASSIGN); }
YY_BREAK YY_BREAK
case 110: case 169:
YY_RULE_SETUP YY_RULE_SETUP
{ return(MOD_ASSIGN); } { return(MOD_ASSIGN); }
YY_BREAK YY_BREAK
case 111: case 170:
YY_RULE_SETUP YY_RULE_SETUP
{ return(LEFT_ASSIGN); } { return(LEFT_ASSIGN); }
YY_BREAK YY_BREAK
case 112: case 171:
YY_RULE_SETUP YY_RULE_SETUP
{ return(RIGHT_ASSIGN); } { return(RIGHT_ASSIGN); }
YY_BREAK YY_BREAK
case 113: case 172:
YY_RULE_SETUP YY_RULE_SETUP
{ return(AND_ASSIGN); } { return(AND_ASSIGN); }
YY_BREAK YY_BREAK
case 114: case 173:
YY_RULE_SETUP YY_RULE_SETUP
{ return(XOR_ASSIGN); } { return(XOR_ASSIGN); }
YY_BREAK YY_BREAK
case 115: case 174:
YY_RULE_SETUP YY_RULE_SETUP
{ return(OR_ASSIGN); } { return(OR_ASSIGN); }
YY_BREAK YY_BREAK
case 116: case 175:
YY_RULE_SETUP YY_RULE_SETUP
{ return(INC_OP); } { return(INC_OP); }
YY_BREAK YY_BREAK
case 117: case 176:
YY_RULE_SETUP YY_RULE_SETUP
{ return(DEC_OP); } { return(DEC_OP); }
YY_BREAK YY_BREAK
case 118: case 177:
YY_RULE_SETUP YY_RULE_SETUP
{ return(AND_OP); } { return(AND_OP); }
YY_BREAK YY_BREAK
case 119: case 178:
YY_RULE_SETUP YY_RULE_SETUP
{ return(OR_OP); } { return(OR_OP); }
YY_BREAK YY_BREAK
case 120: case 179:
YY_RULE_SETUP YY_RULE_SETUP
{ return(XOR_OP); } { return(XOR_OP); }
YY_BREAK YY_BREAK
case 121: case 180:
YY_RULE_SETUP YY_RULE_SETUP
{ return(LE_OP); } { return(LE_OP); }
YY_BREAK YY_BREAK
case 122: case 181:
YY_RULE_SETUP YY_RULE_SETUP
{ return(GE_OP); } { return(GE_OP); }
YY_BREAK YY_BREAK
case 123: case 182:
YY_RULE_SETUP YY_RULE_SETUP
{ return(EQ_OP); } { return(EQ_OP); }
YY_BREAK YY_BREAK
case 124: case 183:
YY_RULE_SETUP YY_RULE_SETUP
{ return(NE_OP); } { return(NE_OP); }
YY_BREAK YY_BREAK
case 125: case 184:
YY_RULE_SETUP YY_RULE_SETUP
{ return(LEFT_OP); } { return(LEFT_OP); }
YY_BREAK YY_BREAK
case 126: case 185:
YY_RULE_SETUP YY_RULE_SETUP
{ return(RIGHT_OP); } { return(RIGHT_OP); }
YY_BREAK YY_BREAK
case 127: case 186:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = false; return(SEMICOLON); } { context->lexAfterType = false; return(SEMICOLON); }
YY_BREAK YY_BREAK
case 128: case 187:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = false; return(LEFT_BRACE); } { context->lexAfterType = false; return(LEFT_BRACE); }
YY_BREAK YY_BREAK
case 129: case 188:
YY_RULE_SETUP YY_RULE_SETUP
{ return(RIGHT_BRACE); } { return(RIGHT_BRACE); }
YY_BREAK YY_BREAK
case 130: case 189:
YY_RULE_SETUP YY_RULE_SETUP
{ if (context->inTypeParen) context->lexAfterType = false; return(COMMA); } { if (context->inTypeParen) context->lexAfterType = false; return(COMMA); }
YY_BREAK YY_BREAK
case 131: case 190:
YY_RULE_SETUP YY_RULE_SETUP
{ return(COLON); } { return(COLON); }
YY_BREAK YY_BREAK
case 132: case 191:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = false; return(EQUAL); } { context->lexAfterType = false; return(EQUAL); }
YY_BREAK YY_BREAK
case 133: case 192:
YY_RULE_SETUP YY_RULE_SETUP
{ context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); } { context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); }
YY_BREAK YY_BREAK
case 134: case 193:
YY_RULE_SETUP YY_RULE_SETUP
{ context->inTypeParen = false; return(RIGHT_PAREN); } { context->inTypeParen = false; return(RIGHT_PAREN); }
YY_BREAK YY_BREAK
case 135: case 194:
YY_RULE_SETUP YY_RULE_SETUP
{ return(LEFT_BRACKET); } { return(LEFT_BRACKET); }
YY_BREAK YY_BREAK
case 136: case 195:
YY_RULE_SETUP YY_RULE_SETUP
{ return(RIGHT_BRACKET); } { return(RIGHT_BRACKET); }
YY_BREAK YY_BREAK
case 137: case 196:
YY_RULE_SETUP YY_RULE_SETUP
{ BEGIN(FIELDS); return(DOT); } { BEGIN(FIELDS); return(DOT); }
YY_BREAK YY_BREAK
case 138: case 197:
YY_RULE_SETUP YY_RULE_SETUP
{ return(BANG); } { return(BANG); }
YY_BREAK YY_BREAK
case 139: case 198:
YY_RULE_SETUP YY_RULE_SETUP
{ return(DASH); } { return(DASH); }
YY_BREAK YY_BREAK
case 140: case 199:
YY_RULE_SETUP YY_RULE_SETUP
{ return(TILDE); } { return(TILDE); }
YY_BREAK YY_BREAK
case 141: case 200:
YY_RULE_SETUP YY_RULE_SETUP
{ return(PLUS); } { return(PLUS); }
YY_BREAK YY_BREAK
case 142: case 201:
YY_RULE_SETUP YY_RULE_SETUP
{ return(STAR); } { return(STAR); }
YY_BREAK YY_BREAK
case 143: case 202:
YY_RULE_SETUP YY_RULE_SETUP
{ return(SLASH); } { return(SLASH); }
YY_BREAK YY_BREAK
case 144: case 203:
YY_RULE_SETUP YY_RULE_SETUP
{ return(PERCENT); } { return(PERCENT); }
YY_BREAK YY_BREAK
case 145: case 204:
YY_RULE_SETUP YY_RULE_SETUP
{ return(LEFT_ANGLE); } { return(LEFT_ANGLE); }
YY_BREAK YY_BREAK
case 146: case 205:
YY_RULE_SETUP YY_RULE_SETUP
{ return(RIGHT_ANGLE); } { return(RIGHT_ANGLE); }
YY_BREAK YY_BREAK
case 147: case 206:
YY_RULE_SETUP YY_RULE_SETUP
{ return(VERTICAL_BAR); } { return(VERTICAL_BAR); }
YY_BREAK YY_BREAK
case 148: case 207:
YY_RULE_SETUP YY_RULE_SETUP
{ return(CARET); } { return(CARET); }
YY_BREAK YY_BREAK
case 149: case 208:
YY_RULE_SETUP YY_RULE_SETUP
{ return(AMPERSAND); } { return(AMPERSAND); }
YY_BREAK YY_BREAK
case 150: case 209:
YY_RULE_SETUP YY_RULE_SETUP
{ return(QUESTION); } { return(QUESTION); }
YY_BREAK YY_BREAK
case 151: case 210:
YY_RULE_SETUP YY_RULE_SETUP
{ {
BEGIN(INITIAL); BEGIN(INITIAL);
...@@ -1770,12 +1894,12 @@ YY_RULE_SETUP ...@@ -1770,12 +1894,12 @@ YY_RULE_SETUP
return FIELD_SELECTION; return FIELD_SELECTION;
} }
YY_BREAK YY_BREAK
case 152: case 211:
YY_RULE_SETUP YY_RULE_SETUP
{} {}
YY_BREAK YY_BREAK
case 153: case 212:
/* rule 153 can match eol */ /* rule 212 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
{ } { }
YY_BREAK YY_BREAK
...@@ -1784,11 +1908,11 @@ case YY_STATE_EOF(COMMENT): ...@@ -1784,11 +1908,11 @@ case YY_STATE_EOF(COMMENT):
case YY_STATE_EOF(FIELDS): case YY_STATE_EOF(FIELDS):
{ context->AfterEOF = true; yyterminate(); } { context->AfterEOF = true; yyterminate(); }
YY_BREAK YY_BREAK
case 154: case 213:
YY_RULE_SETUP YY_RULE_SETUP
{ context->warning(yylineno, "Unknown char", yytext, ""); return 0; } { context->warning(yylineno, "Unknown char", yytext, ""); return 0; }
YY_BREAK YY_BREAK
case 155: case 214:
YY_RULE_SETUP YY_RULE_SETUP
ECHO; ECHO;
YY_BREAK YY_BREAK
...@@ -2084,7 +2208,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) ...@@ -2084,7 +2208,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{ {
yy_current_state = (int) yy_def[yy_current_state]; yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 459 ) if ( yy_current_state >= 759 )
yy_c = yy_meta[(unsigned int) yy_c]; yy_c = yy_meta[(unsigned int) yy_c];
} }
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
...@@ -2113,11 +2237,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) ...@@ -2113,11 +2237,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{ {
yy_current_state = (int) yy_def[yy_current_state]; yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 459 ) if ( yy_current_state >= 759 )
yy_c = yy_meta[(unsigned int) yy_c]; yy_c = yy_meta[(unsigned int) yy_c];
} }
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
yy_is_jam = (yy_current_state == 458); yy_is_jam = (yy_current_state == 758);
return yy_is_jam ? 0 : yy_current_state; return yy_is_jam ? 0 : yy_current_state;
} }
......
...@@ -141,81 +141,90 @@ ...@@ -141,81 +141,90 @@
IF = 273, IF = 273,
DISCARD = 274, DISCARD = 274,
RETURN = 275, RETURN = 275,
BVEC2 = 276, SWITCH = 276,
BVEC3 = 277, CASE = 277,
BVEC4 = 278, DEFAULT = 278,
IVEC2 = 279, BVEC2 = 279,
IVEC3 = 280, BVEC3 = 280,
IVEC4 = 281, BVEC4 = 281,
VEC2 = 282, IVEC2 = 282,
VEC3 = 283, IVEC3 = 283,
VEC4 = 284, IVEC4 = 284,
MATRIX2 = 285, VEC2 = 285,
MATRIX3 = 286, VEC3 = 286,
MATRIX4 = 287, VEC4 = 287,
IN_QUAL = 288, MATRIX2 = 288,
OUT_QUAL = 289, MATRIX3 = 289,
INOUT_QUAL = 290, MATRIX4 = 290,
UNIFORM = 291, IN_QUAL = 291,
VARYING = 292, OUT_QUAL = 292,
STRUCT = 293, INOUT_QUAL = 293,
VOID_TYPE = 294, UNIFORM = 294,
WHILE = 295, VARYING = 295,
SAMPLER2D = 296, CENTROID = 296,
SAMPLERCUBE = 297, FLAT = 297,
SAMPLER_EXTERNAL_OES = 298, SMOOTH = 298,
SAMPLER3D = 299, STRUCT = 299,
IDENTIFIER = 300, VOID_TYPE = 300,
TYPE_NAME = 301, WHILE = 301,
FLOATCONSTANT = 302, SAMPLER2D = 302,
INTCONSTANT = 303, SAMPLERCUBE = 303,
BOOLCONSTANT = 304, SAMPLER_EXTERNAL_OES = 304,
FIELD_SELECTION = 305, SAMPLER2DRECT = 305,
LEFT_OP = 306, SAMPLER3D = 306,
RIGHT_OP = 307, SAMPLER3DRECT = 307,
INC_OP = 308, SAMPLER2DSHADOW = 308,
DEC_OP = 309, IDENTIFIER = 309,
LE_OP = 310, TYPE_NAME = 310,
GE_OP = 311, FLOATCONSTANT = 311,
EQ_OP = 312, INTCONSTANT = 312,
NE_OP = 313, BOOLCONSTANT = 313,
AND_OP = 314, FIELD_SELECTION = 314,
OR_OP = 315, LEFT_OP = 315,
XOR_OP = 316, RIGHT_OP = 316,
MUL_ASSIGN = 317, INC_OP = 317,
DIV_ASSIGN = 318, DEC_OP = 318,
ADD_ASSIGN = 319, LE_OP = 319,
MOD_ASSIGN = 320, GE_OP = 320,
LEFT_ASSIGN = 321, EQ_OP = 321,
RIGHT_ASSIGN = 322, NE_OP = 322,
AND_ASSIGN = 323, AND_OP = 323,
XOR_ASSIGN = 324, OR_OP = 324,
OR_ASSIGN = 325, XOR_OP = 325,
SUB_ASSIGN = 326, MUL_ASSIGN = 326,
LEFT_PAREN = 327, DIV_ASSIGN = 327,
RIGHT_PAREN = 328, ADD_ASSIGN = 328,
LEFT_BRACKET = 329, MOD_ASSIGN = 329,
RIGHT_BRACKET = 330, LEFT_ASSIGN = 330,
LEFT_BRACE = 331, RIGHT_ASSIGN = 331,
RIGHT_BRACE = 332, AND_ASSIGN = 332,
DOT = 333, XOR_ASSIGN = 333,
COMMA = 334, OR_ASSIGN = 334,
COLON = 335, SUB_ASSIGN = 335,
EQUAL = 336, LEFT_PAREN = 336,
SEMICOLON = 337, RIGHT_PAREN = 337,
BANG = 338, LEFT_BRACKET = 338,
DASH = 339, RIGHT_BRACKET = 339,
TILDE = 340, LEFT_BRACE = 340,
PLUS = 341, RIGHT_BRACE = 341,
STAR = 342, DOT = 342,
SLASH = 343, COMMA = 343,
PERCENT = 344, COLON = 344,
LEFT_ANGLE = 345, EQUAL = 345,
RIGHT_ANGLE = 346, SEMICOLON = 346,
VERTICAL_BAR = 347, BANG = 347,
CARET = 348, DASH = 348,
AMPERSAND = 349, TILDE = 349,
QUESTION = 350 PLUS = 350,
STAR = 351,
SLASH = 352,
PERCENT = 353,
LEFT_ANGLE = 354,
RIGHT_ANGLE = 355,
VERTICAL_BAR = 356,
CARET = 357,
AMPERSAND = 358,
QUESTION = 359
}; };
#endif #endif
...@@ -293,6 +302,20 @@ extern void yyerror(TParseContext* context, const char* reason); ...@@ -293,6 +302,20 @@ extern void yyerror(TParseContext* context, const char* reason);
} \ } \
} }
#define ES2_ONLY(S, L) { \
if (context->shaderVersion != 100) { \
context->error(L, " supported in GLSL ES 1.00 only ", S); \
context->recover(); \
} \
}
#define ES3_ONLY(S, L) { \
if (context->shaderVersion != 300) { \
context->error(L, " supported in GLSL ES 3.00 only ", S); \
context->recover(); \
} \
}
#ifdef short #ifdef short
...@@ -508,10 +531,10 @@ union yyalloc ...@@ -508,10 +531,10 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */ /* YYFINAL -- State number of the termination state. */
#define YYFINAL 71 #define YYFINAL 71
/* YYLAST -- Last index in YYTABLE. */ /* YYLAST -- Last index in YYTABLE. */
#define YYLAST 1416 #define YYLAST 1574
/* YYNTOKENS -- Number of terminals. */ /* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 96 #define YYNTOKENS 105
/* YYNNTS -- Number of nonterminals. */ /* YYNNTS -- Number of nonterminals. */
#define YYNNTS 83 #define YYNNTS 83
/* YYNRULES -- Number of rules. */ /* YYNRULES -- Number of rules. */
...@@ -521,7 +544,7 @@ union yyalloc ...@@ -521,7 +544,7 @@ union yyalloc
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2 #define YYUNDEFTOK 2
#define YYMAXUTOK 350 #define YYMAXUTOK 359
#define YYTRANSLATE(YYX) \ #define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
...@@ -564,7 +587,7 @@ static const yytype_uint8 yytranslate[] = ...@@ -564,7 +587,7 @@ static const yytype_uint8 yytranslate[] =
65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
95 95, 96, 97, 98, 99, 100, 101, 102, 103, 104
}; };
#if YYDEBUG #if YYDEBUG
...@@ -598,89 +621,89 @@ static const yytype_uint16 yyprhs[] = ...@@ -598,89 +621,89 @@ static const yytype_uint16 yyprhs[] =
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ /* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] = static const yytype_int16 yyrhs[] =
{ {
175, 0, -1, 45, -1, 97, -1, 48, -1, 47, 184, 0, -1, 54, -1, 106, -1, 57, -1, 56,
-1, 49, -1, 72, 124, 73, -1, 98, -1, 99, -1, 58, -1, 81, 133, 82, -1, 107, -1, 108,
74, 100, 75, -1, 101, -1, 99, 78, 50, -1, 83, 109, 84, -1, 110, -1, 108, 87, 59, -1,
99, 53, -1, 99, 54, -1, 124, -1, 102, -1, 108, 62, -1, 108, 63, -1, 133, -1, 111, -1,
103, -1, 99, 78, 103, -1, 105, 73, -1, 104, 112, -1, 108, 87, 112, -1, 114, 82, -1, 113,
73, -1, 106, 39, -1, 106, -1, 106, 122, -1, 82, -1, 115, 45, -1, 115, -1, 115, 131, -1,
105, 79, 122, -1, 107, 72, -1, 142, -1, 45, 114, 88, 131, -1, 116, 81, -1, 151, -1, 54,
-1, 50, -1, 99, -1, 53, 108, -1, 54, 108, -1, 59, -1, 108, -1, 62, 117, -1, 63, 117,
-1, 109, 108, -1, 86, -1, 84, -1, 83, -1, -1, 118, 117, -1, 95, -1, 93, -1, 92, -1,
108, -1, 110, 87, 108, -1, 110, 88, 108, -1, 117, -1, 119, 96, 117, -1, 119, 97, 117, -1,
110, -1, 111, 86, 110, -1, 111, 84, 110, -1, 119, -1, 120, 95, 119, -1, 120, 93, 119, -1,
111, -1, 112, -1, 113, 90, 112, -1, 113, 91, 120, -1, 121, -1, 122, 99, 121, -1, 122, 100,
112, -1, 113, 55, 112, -1, 113, 56, 112, -1, 121, -1, 122, 64, 121, -1, 122, 65, 121, -1,
113, -1, 114, 57, 113, -1, 114, 58, 113, -1, 122, -1, 123, 66, 122, -1, 123, 67, 122, -1,
114, -1, 115, -1, 116, -1, 117, -1, 118, 59, 123, -1, 124, -1, 125, -1, 126, -1, 127, 68,
117, -1, 118, -1, 119, 61, 118, -1, 119, -1, 126, -1, 127, -1, 128, 70, 127, -1, 128, -1,
120, 60, 119, -1, 120, -1, 120, 95, 124, 80, 129, 69, 128, -1, 129, -1, 129, 104, 133, 89,
122, -1, 121, -1, 108, 123, 122, -1, 81, -1, 131, -1, 130, -1, 117, 132, 131, -1, 90, -1,
62, -1, 63, -1, 64, -1, 71, -1, 122, -1, 71, -1, 72, -1, 73, -1, 80, -1, 131, -1,
124, 79, 122, -1, 121, -1, 127, 82, -1, 135, 133, 88, 131, -1, 130, -1, 136, 91, -1, 144,
82, -1, 7, 140, 141, 82, -1, 128, 73, -1, 91, -1, 7, 149, 150, 91, -1, 137, 82, -1,
130, -1, 129, -1, 130, 132, -1, 129, 79, 132, 139, -1, 138, -1, 139, 141, -1, 138, 88, 141,
-1, 137, 45, 72, -1, 139, 45, -1, 139, 45, -1, 146, 54, 81, -1, 148, 54, -1, 148, 54,
74, 125, 75, -1, 138, 133, 131, -1, 133, 131, 83, 134, 84, -1, 147, 142, 140, -1, 142, 140,
-1, 138, 133, 134, -1, 133, 134, -1, -1, 33, -1, 147, 142, 143, -1, 142, 143, -1, -1, 36,
-1, 34, -1, 35, -1, 139, -1, 136, -1, 135, -1, 37, -1, 38, -1, 148, -1, 145, -1, 144,
79, 45, -1, 135, 79, 45, 74, 75, -1, 135, 88, 54, -1, 144, 88, 54, 83, 84, -1, 144,
79, 45, 74, 125, 75, -1, 135, 79, 45, 81, 88, 54, 83, 134, 84, -1, 144, 88, 54, 90,
150, -1, 137, -1, 137, 45, -1, 137, 45, 74, 159, -1, 146, -1, 146, 54, -1, 146, 54, 83,
75, -1, 137, 45, 74, 125, 75, -1, 137, 45, 84, -1, 146, 54, 83, 134, 84, -1, 146, 54,
81, 150, -1, 3, 45, -1, 139, -1, 138, 139, 90, 159, -1, 3, 54, -1, 148, -1, 147, 148,
-1, 9, -1, 8, -1, 37, -1, 3, 37, -1, -1, 9, -1, 8, -1, 40, -1, 3, 40, -1,
36, -1, 141, -1, 140, 141, -1, 4, -1, 5, 39, -1, 150, -1, 149, 150, -1, 4, -1, 5,
-1, 6, -1, 142, -1, 142, 74, 125, 75, -1, -1, 6, -1, 151, -1, 151, 83, 134, 84, -1,
39, -1, 11, -1, 12, -1, 10, -1, 27, -1, 45, -1, 11, -1, 12, -1, 10, -1, 30, -1,
28, -1, 29, -1, 21, -1, 22, -1, 23, -1, 31, -1, 32, -1, 24, -1, 25, -1, 26, -1,
24, -1, 25, -1, 26, -1, 30, -1, 31, -1, 27, -1, 28, -1, 29, -1, 33, -1, 34, -1,
32, -1, 41, -1, 42, -1, 43, -1, 44, -1, 35, -1, 47, -1, 48, -1, 49, -1, 51, -1,
143, -1, 46, -1, -1, 38, 45, 76, 144, 146, 152, -1, 55, -1, -1, 44, 54, 85, 153, 155,
77, -1, -1, 38, 76, 145, 146, 77, -1, 147, 86, -1, -1, 44, 85, 154, 155, 86, -1, 156,
-1, 146, 147, -1, 139, 148, 82, -1, 149, -1, -1, 155, 156, -1, 148, 157, 91, -1, 158, -1,
148, 79, 149, -1, 45, -1, 45, 74, 125, 75, 157, 88, 158, -1, 54, -1, 54, 83, 134, 84,
-1, 122, -1, 126, -1, 154, -1, 153, -1, 151, -1, 131, -1, 135, -1, 163, -1, 162, -1, 160,
-1, 163, -1, 164, -1, 167, -1, 174, -1, 76, -1, 172, -1, 173, -1, 176, -1, 183, -1, 85,
77, -1, -1, -1, 76, 155, 162, 156, 77, -1, 86, -1, -1, -1, 85, 164, 171, 165, 86, -1,
161, -1, 153, -1, -1, 159, 161, -1, -1, 160, 170, -1, 162, -1, -1, 168, 170, -1, -1, 169,
153, -1, 76, 77, -1, 76, 162, 77, -1, 152, 162, -1, 85, 86, -1, 85, 171, 86, -1, 161,
-1, 162, 152, -1, 82, -1, 124, 82, -1, 18, -1, 171, 161, -1, 91, -1, 133, 91, -1, 18,
72, 124, 73, 165, -1, 158, 16, 158, -1, 158, 81, 133, 82, 174, -1, 167, 16, 167, -1, 167,
-1, 124, -1, 137, 45, 81, 150, -1, -1, 40, -1, 133, -1, 146, 54, 90, 159, -1, -1, 46,
72, 168, 166, 73, 157, -1, -1, 15, 169, 158, 81, 177, 175, 82, 166, -1, -1, 15, 178, 167,
40, 72, 124, 73, 82, -1, -1, 17, 72, 170, 46, 81, 133, 82, 91, -1, -1, 17, 81, 179,
171, 173, 73, 157, -1, 163, -1, 151, -1, 166, 180, 182, 82, 166, -1, 172, -1, 160, -1, 175,
-1, -1, 172, 82, -1, 172, 82, 124, -1, 14, -1, -1, 181, 91, -1, 181, 91, 133, -1, 14,
82, -1, 13, 82, -1, 20, 82, -1, 20, 124, 91, -1, 13, 91, -1, 20, 91, -1, 20, 133,
82, -1, 19, 82, -1, 176, -1, 175, 176, -1, 91, -1, 19, 91, -1, 185, -1, 184, 185, -1,
177, -1, 126, -1, -1, 127, 178, 161, -1 186, -1, 135, -1, -1, 136, 187, 170, -1
}; };
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] = static const yytype_uint16 yyrline[] =
{ {
0, 167, 167, 202, 205, 218, 223, 228, 234, 237, 0, 183, 183, 218, 221, 234, 239, 244, 250, 253,
316, 319, 420, 430, 443, 451, 551, 554, 562, 566, 332, 335, 436, 446, 459, 467, 567, 570, 578, 582,
573, 577, 584, 590, 599, 607, 662, 669, 679, 682, 589, 593, 600, 606, 615, 623, 678, 685, 695, 698,
692, 702, 723, 724, 725, 730, 731, 740, 752, 753, 708, 718, 739, 740, 741, 746, 747, 756, 768, 769,
761, 772, 776, 777, 787, 797, 807, 820, 821, 831, 777, 788, 792, 793, 803, 813, 823, 836, 837, 847,
844, 848, 852, 856, 857, 870, 871, 884, 885, 898, 860, 864, 868, 872, 873, 886, 887, 900, 901, 914,
899, 916, 917, 930, 931, 932, 933, 934, 938, 941, 915, 932, 933, 946, 947, 948, 949, 950, 954, 957,
952, 960, 987, 992, 1002, 1040, 1043, 1050, 1058, 1079, 968, 976, 1003, 1008, 1018, 1056, 1059, 1066, 1074, 1095,
1100, 1111, 1140, 1145, 1155, 1160, 1170, 1173, 1176, 1179, 1116, 1127, 1156, 1161, 1171, 1176, 1186, 1189, 1192, 1195,
1185, 1192, 1195, 1217, 1235, 1259, 1282, 1286, 1304, 1312, 1201, 1208, 1211, 1233, 1251, 1275, 1298, 1302, 1320, 1328,
1344, 1364, 1452, 1461, 1484, 1487, 1493, 1501, 1509, 1517, 1360, 1380, 1468, 1477, 1500, 1503, 1510, 1519, 1528, 1536,
1527, 1534, 1537, 1540, 1546, 1549, 1564, 1568, 1572, 1576, 1546, 1553, 1556, 1559, 1565, 1568, 1583, 1587, 1591, 1595,
1585, 1590, 1595, 1600, 1605, 1610, 1615, 1620, 1625, 1630, 1604, 1609, 1614, 1619, 1624, 1629, 1634, 1639, 1644, 1649,
1636, 1642, 1648, 1653, 1658, 1667, 1672, 1677, 1690, 1690, 1655, 1661, 1667, 1672, 1677, 1686, 1691, 1696, 1709, 1709,
1704, 1704, 1713, 1716, 1731, 1763, 1767, 1773, 1781, 1797, 1723, 1723, 1732, 1735, 1750, 1782, 1786, 1792, 1800, 1816,
1801, 1805, 1806, 1812, 1813, 1814, 1815, 1816, 1820, 1821, 1820, 1824, 1825, 1831, 1832, 1833, 1834, 1835, 1839, 1840,
1821, 1821, 1831, 1832, 1836, 1836, 1837, 1837, 1842, 1845, 1840, 1840, 1850, 1851, 1855, 1855, 1856, 1856, 1861, 1864,
1855, 1858, 1864, 1865, 1869, 1877, 1881, 1891, 1896, 1913, 1874, 1877, 1883, 1884, 1888, 1896, 1900, 1910, 1915, 1932,
1913, 1918, 1918, 1925, 1925, 1933, 1936, 1942, 1945, 1951, 1932, 1937, 1937, 1944, 1944, 1952, 1955, 1961, 1964, 1970,
1955, 1962, 1969, 1976, 1983, 1994, 2003, 2007, 2014, 2017, 1974, 1981, 1988, 1995, 2002, 2013, 2022, 2026, 2033, 2036,
2023, 2023 2042, 2042
}; };
#endif #endif
...@@ -692,20 +715,22 @@ static const char *const yytname[] = ...@@ -692,20 +715,22 @@ static const char *const yytname[] =
"$end", "error", "$undefined", "INVARIANT", "HIGH_PRECISION", "$end", "error", "$undefined", "INVARIANT", "HIGH_PRECISION",
"MEDIUM_PRECISION", "LOW_PRECISION", "PRECISION", "ATTRIBUTE", "MEDIUM_PRECISION", "LOW_PRECISION", "PRECISION", "ATTRIBUTE",
"CONST_QUAL", "BOOL_TYPE", "FLOAT_TYPE", "INT_TYPE", "BREAK", "CONTINUE", "CONST_QUAL", "BOOL_TYPE", "FLOAT_TYPE", "INT_TYPE", "BREAK", "CONTINUE",
"DO", "ELSE", "FOR", "IF", "DISCARD", "RETURN", "BVEC2", "BVEC3", "DO", "ELSE", "FOR", "IF", "DISCARD", "RETURN", "SWITCH", "CASE",
"BVEC4", "IVEC2", "IVEC3", "IVEC4", "VEC2", "VEC3", "VEC4", "MATRIX2", "DEFAULT", "BVEC2", "BVEC3", "BVEC4", "IVEC2", "IVEC3", "IVEC4", "VEC2",
"MATRIX3", "MATRIX4", "IN_QUAL", "OUT_QUAL", "INOUT_QUAL", "UNIFORM", "VEC3", "VEC4", "MATRIX2", "MATRIX3", "MATRIX4", "IN_QUAL", "OUT_QUAL",
"VARYING", "STRUCT", "VOID_TYPE", "WHILE", "SAMPLER2D", "SAMPLERCUBE", "INOUT_QUAL", "UNIFORM", "VARYING", "CENTROID", "FLAT", "SMOOTH",
"SAMPLER_EXTERNAL_OES", "SAMPLER3D", "IDENTIFIER", "TYPE_NAME", "STRUCT", "VOID_TYPE", "WHILE", "SAMPLER2D", "SAMPLERCUBE",
"FLOATCONSTANT", "INTCONSTANT", "BOOLCONSTANT", "FIELD_SELECTION", "SAMPLER_EXTERNAL_OES", "SAMPLER2DRECT", "SAMPLER3D", "SAMPLER3DRECT",
"LEFT_OP", "RIGHT_OP", "INC_OP", "DEC_OP", "LE_OP", "GE_OP", "EQ_OP", "SAMPLER2DSHADOW", "IDENTIFIER", "TYPE_NAME", "FLOATCONSTANT",
"NE_OP", "AND_OP", "OR_OP", "XOR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "INTCONSTANT", "BOOLCONSTANT", "FIELD_SELECTION", "LEFT_OP", "RIGHT_OP",
"ADD_ASSIGN", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "INC_OP", "DEC_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP",
"XOR_ASSIGN", "OR_ASSIGN", "SUB_ASSIGN", "LEFT_PAREN", "RIGHT_PAREN", "OR_OP", "XOR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "ADD_ASSIGN",
"LEFT_BRACKET", "RIGHT_BRACKET", "LEFT_BRACE", "RIGHT_BRACE", "DOT", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN",
"COMMA", "COLON", "EQUAL", "SEMICOLON", "BANG", "DASH", "TILDE", "PLUS", "OR_ASSIGN", "SUB_ASSIGN", "LEFT_PAREN", "RIGHT_PAREN", "LEFT_BRACKET",
"STAR", "SLASH", "PERCENT", "LEFT_ANGLE", "RIGHT_ANGLE", "VERTICAL_BAR", "RIGHT_BRACKET", "LEFT_BRACE", "RIGHT_BRACE", "DOT", "COMMA", "COLON",
"CARET", "AMPERSAND", "QUESTION", "$accept", "variable_identifier", "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", "primary_expression", "postfix_expression", "integer_expression",
"function_call", "function_call_or_method", "function_call_generic", "function_call", "function_call_or_method", "function_call_generic",
"function_call_header_no_parameters", "function_call_header_no_parameters",
...@@ -751,34 +776,35 @@ static const yytype_uint16 yytoknum[] = ...@@ -751,34 +776,35 @@ static const yytype_uint16 yytoknum[] =
315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359
}; };
# endif # endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] = static const yytype_uint8 yyr1[] =
{ {
0, 96, 97, 98, 98, 98, 98, 98, 99, 99, 0, 105, 106, 107, 107, 107, 107, 107, 108, 108,
99, 99, 99, 99, 100, 101, 102, 102, 103, 103, 108, 108, 108, 108, 109, 110, 111, 111, 112, 112,
104, 104, 105, 105, 106, 107, 107, 107, 108, 108, 113, 113, 114, 114, 115, 116, 116, 116, 117, 117,
108, 108, 109, 109, 109, 110, 110, 110, 111, 111, 117, 117, 118, 118, 118, 119, 119, 119, 120, 120,
111, 112, 113, 113, 113, 113, 113, 114, 114, 114, 120, 121, 122, 122, 122, 122, 122, 123, 123, 123,
115, 116, 117, 118, 118, 119, 119, 120, 120, 121, 124, 125, 126, 127, 127, 128, 128, 129, 129, 130,
121, 122, 122, 123, 123, 123, 123, 123, 124, 124, 130, 131, 131, 132, 132, 132, 132, 132, 133, 133,
125, 126, 126, 126, 127, 128, 128, 129, 129, 130, 134, 135, 135, 135, 136, 137, 137, 138, 138, 139,
131, 131, 132, 132, 132, 132, 133, 133, 133, 133, 140, 140, 141, 141, 141, 141, 142, 142, 142, 142,
134, 135, 135, 135, 135, 135, 136, 136, 136, 136, 143, 144, 144, 144, 144, 144, 145, 145, 145, 145,
136, 136, 137, 137, 138, 138, 138, 138, 138, 139, 145, 145, 146, 146, 147, 147, 147, 147, 147, 148,
139, 140, 140, 140, 141, 141, 142, 142, 142, 142, 148, 149, 149, 149, 150, 150, 151, 151, 151, 151,
142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
142, 142, 142, 142, 142, 142, 142, 142, 144, 143, 151, 151, 151, 151, 151, 151, 151, 151, 153, 152,
145, 143, 146, 146, 147, 148, 148, 149, 149, 150, 154, 152, 155, 155, 156, 157, 157, 158, 158, 159,
151, 152, 152, 153, 153, 153, 153, 153, 154, 155, 160, 161, 161, 162, 162, 162, 162, 162, 163, 164,
156, 154, 157, 157, 159, 158, 160, 158, 161, 161, 165, 163, 166, 166, 168, 167, 169, 167, 170, 170,
162, 162, 163, 163, 164, 165, 165, 166, 166, 168, 171, 171, 172, 172, 173, 174, 174, 175, 175, 177,
167, 169, 167, 170, 167, 171, 171, 172, 172, 173, 176, 178, 176, 179, 176, 180, 180, 181, 181, 182,
173, 174, 174, 174, 174, 174, 175, 175, 176, 176, 182, 183, 183, 183, 183, 183, 184, 184, 185, 185,
178, 177 187, 186
}; };
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
...@@ -861,54 +887,54 @@ static const yytype_int16 yydefgoto[] = ...@@ -861,54 +887,54 @@ static const yytype_int16 yydefgoto[] =
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */ STATE-NUM. */
#define YYPACT_NINF -266 #define YYPACT_NINF -258
static const yytype_int16 yypact[] = static const yytype_int16 yypact[] =
{ {
1253, -20, -266, -266, -266, 148, -266, -266, -266, -266, 1383, -29, -258, -258, -258, 126, -258, -258, -258, -258,
-266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
-266, -266, -266, -266, -266, -39, -266, -266, -266, -266, -258, -258, -258, -258, -258, -48, -258, -258, -258, -258,
-266, -266, -266, -18, -2, 6, 21, -61, -266, 51, -258, -258, -258, -74, -32, 25, 19, 15, -258, 68,
1296, -266, 1370, -266, 25, -266, 1209, -266, -266, -266, 1431, -258, 1519, -258, 45, -258, 1330, -258, -258, -258,
-266, 1370, 42, -266, -266, 50, -266, 71, 95, -266, -258, 1519, 65, -258, -258, 74, -258, 71, 117, -258,
-266, -266, -266, 1296, 123, 105, -266, 9, -266, -266, -258, -258, -258, 1431, 116, 112, -258, 6, -258, -258,
974, -266, -266, 81, -266, 1296, 290, -266, -266, -266, 1123, -258, -258, 78, -258, 1431, 290, -258, -258, -258,
-266, 125, 1296, -13, -266, 776, 974, 99, -266, -266, -258, 118, 1431, -2, -258, 901, 1123, 89, -258, -258,
-266, -266, 974, 974, 974, -266, -266, -266, -266, -266, -258, -258, 1123, 1123, 1123, -258, -258, -258, -258, -258,
35, -266, -266, -266, 100, -6, 1040, 104, -266, 974, 7, -258, -258, -258, 91, -64, 1195, 90, -258, 1123,
36, -64, -266, -21, 102, -266, -266, -266, 113, 117, -58, -22, -258, -33, -5, -258, -258, -258, 106, 108,
-51, -266, 108, -266, -266, 1296, 129, 1109, -266, 97, -60, -258, 92, -258, -258, 1431, 125, 191, -258, 93,
103, -266, 112, 114, 106, 842, 115, 116, -266, -266, 94, -258, 102, 105, 96, 976, 107, 104, -258, -258,
39, -266, -266, -43, -266, -18, 47, -266, -266, -266, 12, -258, -258, 32, -258, -74, 75, -258, -258, -258,
-266, 374, -266, -266, -266, -266, 118, -266, -266, 908, -258, 383, -258, -258, -258, -258, 109, -258, -258, 1048,
974, -266, 120, -266, -266, -266, -266, 19, -266, -266, 1123, -258, 121, -258, -258, -258, -258, -35, -258, -258,
974, 1333, -266, -266, 974, 119, -266, -266, -266, 974, 1123, 1473, -258, -258, 1123, 110, -258, -258, -258, 1123,
974, 974, 974, 974, 974, 974, 974, 974, 974, 974, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
974, 974, 974, -266, 1152, 122, -29, -266, -266, -266, 1123, 1123, 1123, -258, 1267, 123, 33, -258, -258, -258,
-266, -266, 121, -266, 974, -266, -266, 5, -266, -266, -258, -258, 115, -258, 1123, -258, -258, 38, -258, -258,
458, -266, -266, -266, -266, -266, 974, 974, -266, -266, 476, -258, -258, -258, -258, -258, 1123, 1123, -258, -258,
-266, 974, -266, 137, -266, -266, -266, 138, 111, -266, -258, 1123, -258, 124, -258, -258, -258, 128, 119, -258,
142, -266, -266, -266, -266, 36, 36, -266, -266, -266, 132, -258, -258, -258, -258, -58, -58, -258, -258, -258,
-266, -21, -21, -266, 113, 117, 82, -266, 974, 129, -258, -33, -33, -258, 106, 108, 72, -258, 1123, 125,
-266, 175, 50, 626, 710, 38, -266, 197, 458, -266, -258, 147, 74, 662, 755, 16, -258, 829, 476, -258,
-266, 141, -266, -266, 974, 155, -266, 145, -266, -266, -258, 130, -258, -258, 1123, 143, -258, 148, -258, -258,
-266, -266, 197, 121, 111, 186, 159, 160, -266, -266, -258, -258, 829, 115, 119, 155, 146, 144, -258, -258,
-266, 974, -266, 166, 176, 236, -266, 174, 542, -266, -258, 1123, -258, 140, 150, 217, -258, 151, 569, -258,
43, 974, 542, 121, 974, -266, -266, -266, 177, 111, 17, 1123, 569, 115, 1123, -258, -258, -258, 152, 119,
-266, -266, -266, -266 -258, -258, -258, -258
}; };
/* YYPGOTO[NTERM-NUM]. */ /* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] = static const yytype_int16 yypgoto[] =
{ {
-266, -266, -266, -266, -266, -266, -266, 85, -266, -266, -258, -258, -258, -258, -258, -258, -258, 63, -258, -258,
-266, -266, -44, -266, -15, -266, -55, -19, -266, -266, -258, -258, -44, -258, -19, -258, -67, -20, -258, -258,
-266, 72, 70, 73, -266, -66, -83, -266, -92, -73, -258, 48, 54, 56, -258, -66, -83, -258, -92, -73,
13, 14, -266, -266, -266, 180, 206, 201, 184, -266, 8, 14, -258, -258, -258, 163, 192, 184, 168, -258,
-266, -241, -25, -30, 262, -4, 0, -266, -266, -266, -258, -237, -23, -30, 246, -21, 0, -258, -258, -258,
143, -122, -266, 22, -145, 16, -144, -226, -266, -266, 127, -122, -258, 10, -145, 1, -144, -224, -258, -258,
-266, -17, -265, -266, -266, -54, 63, 20, -266, -266, -258, -36, -257, -258, -258, -54, 50, 9, -258, -258,
4, -266, -266, -266, -266, -266, -266, -266, -266, -266, -11, -258, -258, -258, -258, -258, -258, -258, -258, -258,
231, -266, -266 216, -258, -258
}; };
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
...@@ -918,294 +944,326 @@ static const yytype_int16 yypgoto[] = ...@@ -918,294 +944,326 @@ static const yytype_int16 yypgoto[] =
#define YYTABLE_NINF -165 #define YYTABLE_NINF -165
static const yytype_int16 yytable[] = static const yytype_int16 yytable[] =
{ {
44, 77, 167, 163, 121, 199, 52, 220, 285, 191, 44, 77, 167, 163, 121, 199, 52, 220, 32, 191,
68, 64, 162, 32, 33, 224, 275, 49, 65, 121, 68, 49, 162, 64, 33, 224, 285, 54, 173, 121,
181, 66, 182, 176, 58, 50, 108, 269, 301, 6, 275, 69, 58, 176, 174, 50, 108, 6, 7, 269,
7, 275, 64, 81, 183, 184, 217, 53, 69, 218, 73, 183, 184, 81, 64, 275, 301, 53, 179, 180,
44, 108, 44, 207, 192, 126, 44, 73, 165, 166, 44, 108, 44, 207, 192, 126, 44, 226, 165, 166,
249, 44, 81, 250, 59, 60, 61, 23, 24, 32, 56, 44, 81, 217, 32, 59, 60, 61, 23, 24,
33, 159, 295, 44, 54, 178, 295, 173, 160, 185, 33, 187, 188, 44, 295, 178, 185, 186, 295, 168,
186, 56, 199, 174, 58, 44, 146, 163, 228, 6, 169, 181, 199, 182, 58, 44, 146, 163, 228, 6,
7, 84, 44, 85, 217, 57, 223, 256, 168, 169, 7, 159, 44, 211, 212, 213, 223, 84, 160, 85,
86, 232, 226, 121, -75, 126, 67, 126, 217, 70, 170, 232, 214, 121, 171, 126, 86, 126, 273, 298,
246, 211, 212, 213, 59, 60, 61, 23, 24, 170, 246, -75, 215, 65, 217, 217, 66, 59, 60, 61,
214, 273, 255, 171, 220, 108, 298, 217, 74, -25, 23, 24, 255, 57, 220, 108, 237, 238, 239, 240,
215, 70, 217, 179, 180, 44, 76, 44, 237, 238, 217, 249, 67, 218, 250, 44, 217, 44, 70, 256,
239, 240, 49, 259, 260, 233, 234, 108, 108, 108, 2, 3, 4, 259, 260, 233, 234, 108, 108, 108,
108, 108, 108, 108, 108, 108, 108, 108, 261, 302, 108, 108, 108, 108, 108, 108, 108, 108, 261, 302,
83, 146, 2, 3, 4, 121, 59, 60, 61, 187, 74, 146, 59, 60, 61, 121, -25, 49, 70, 76,
188, 217, 264, 124, 126, 274, 235, 236, 241, 242, 217, 264, 235, 236, 126, 274, 83, 241, 242, 124,
156, -26, 189, 172, 195, 265, 177, 108, 190, 200, -26, 177, 156, 172, 189, 265, 193, 108, 190, 195,
274, 279, 121, 193, 203, 201, 204, 208, 205, 290, 274, 279, 121, 203, 200, 201, 204, 205, 208, 290,
217, -116, 221, 209, 44, 225, 248, -164, 268, 299, 209, -116, 221, 267, 44, 2, 3, 4, 268, 299,
58, 2, 3, 4, 108, 6, 7, 8, 9, 10, -164, 8, 9, 10, 108, 225, 248, 217, 262, 287,
146, 163, 262, 263, -27, 267, 278, 281, 11, 12, 146, 163, 263, -27, 278, 11, 12, 13, 14, 15,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 16, 17, 18, 19, 20, 21, 22, 280, 288, 281,
280, 287, 288, 23, 24, 25, 26, 289, 27, 28, 289, 291, 292, 293, 231, 25, 26, 243, 27, 28,
29, 30, 87, 31, 88, 89, 90, 91, 291, 292, 29, 294, 30, 303, 244, 157, 31, 245, 82, 78,
92, 93, 293, 146, 146, 294, 231, 146, 146, 303, 158, 51, 194, 146, 146, 270, 300, 146, 146, 266,
244, 243, 157, 78, 245, 82, 158, 51, 194, 94, 258, 282, 72, 271, 0, 0, 0, 0, 0, 0,
270, 266, 146, 258, 271, 300, 282, 72, 0, 0, 0, 0, 146, 0, 0, 0, 0, 198, 0, 0,
95, 96, 0, 97, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 0,
0, 0, 146, 1, 2, 3, 4, 5, 6, 7, 0, 0, 146, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 129, 130, 131, 0, 132, 133, 134, 8, 9, 10, 129, 130, 131, 0, 132, 133, 134,
135, 11, 12, 13, 14, 15, 16, 17, 18, 19, 135, 0, 0, 0, 11, 12, 13, 14, 15, 16,
20, 21, 22, 0, 0, 0, 23, 24, 25, 26, 17, 18, 19, 20, 21, 22, 0, 0, 0, 23,
136, 27, 28, 29, 30, 87, 31, 88, 89, 90, 24, 0, 0, 0, 25, 26, 136, 27, 28, 29,
91, 0, 0, 92, 93, 0, 0, 0, 0, 0, 0, 30, 0, 0, 87, 31, 88, 89, 90, 91,
0, 0, 92, 93, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 94, 0, 0, 0, 137, 138, 0, 0, 0, 94, 0, 0, 0, 137, 138, 0, 0, 0,
0, 0, 139, 95, 96, 0, 97, 1, 2, 3, 0, 139, 95, 96, 0, 97, 1, 2, 3, 4,
4, 5, 6, 7, 8, 9, 10, 129, 130, 131, 5, 6, 7, 8, 9, 10, 129, 130, 131, 0,
0, 132, 133, 134, 135, 11, 12, 13, 14, 15, 132, 133, 134, 135, 0, 0, 0, 11, 12, 13,
16, 17, 18, 19, 20, 21, 22, 0, 0, 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, 0,
23, 24, 25, 26, 136, 27, 28, 29, 30, 87, 0, 0, 23, 24, 0, 0, 0, 25, 26, 136,
31, 88, 89, 90, 91, 0, 0, 92, 93, 0, 27, 28, 29, 0, 30, 0, 0, 87, 31, 88,
89, 90, 91, 0, 0, 92, 93, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 137, 219,
137, 219, 0, 0, 0, 0, 139, 95, 96, 0, 0, 0, 0, 0, 139, 95, 96, 0, 97, 1,
97, 1, 2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5, 6, 7, 8, 9, 10, 129,
10, 129, 130, 131, 0, 132, 133, 134, 135, 11, 130, 131, 0, 132, 133, 134, 135, 0, 0, 0,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
22, 0, 0, 0, 23, 24, 25, 26, 136, 27, 21, 22, 0, 0, 0, 23, 24, 0, 0, 0,
28, 29, 30, 87, 31, 88, 89, 90, 91, 0, 25, 26, 136, 27, 28, 29, 0, 30, 0, 0,
87, 31, 88, 89, 90, 91, 0, 0, 92, 93,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 94, 0, 0,
0, 137, 0, 0, 0, 0, 0, 139, 95, 96,
0, 97, 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 129, 130, 131, 0, 132, 133, 134, 135,
0, 0, 0, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 0, 0, 0, 23, 24,
0, 0, 0, 25, 26, 136, 27, 28, 29, 0,
30, 0, 0, 87, 31, 88, 89, 90, 91, 0,
0, 92, 93, 0, 0, 0, 0, 0, 0, 0, 0, 92, 93, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
94, 0, 0, 0, 137, 0, 0, 0, 0, 0, 94, 0, 0, 0, 76, 0, 0, 0, 0, 0,
139, 95, 96, 0, 97, 1, 2, 3, 4, 5, 139, 95, 96, 0, 97, 1, 2, 3, 4, 5,
6, 7, 8, 9, 10, 129, 130, 131, 0, 132, 6, 7, 8, 9, 10, 129, 130, 131, 0, 132,
133, 134, 135, 11, 12, 13, 14, 15, 16, 17, 133, 134, 135, 0, 0, 0, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 0, 0,
0, 23, 24, 0, 0, 0, 25, 26, 136, 27,
28, 29, 0, 30, 0, 0, 87, 31, 88, 89,
90, 91, 0, 0, 92, 93, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 94, 0, 0, 0, 0, 0, 0,
0, 0, 0, 139, 95, 96, 0, 97, 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, 15, 16, 17, 18, 19, 20, 21,
22, 0, 0, 0, 23, 24, 0, 0, 0, 25,
26, 0, 27, 28, 29, 0, 30, 0, 0, 87,
31, 88, 89, 90, 91, 0, 0, 92, 93, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 58, 2, 3, 4, 94, 6, 7, 8,
9, 10, 0, 0, 0, 0, 139, 95, 96, 0,
97, 0, 0, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 0, 0, 0, 23, 24, 18, 19, 20, 21, 22, 0, 0, 0, 23, 24,
25, 26, 136, 27, 28, 29, 30, 87, 31, 88, 0, 0, 0, 25, 26, 0, 27, 28, 29, 0,
89, 90, 91, 0, 0, 92, 93, 0, 0, 0, 30, 0, 0, 87, 31, 88, 89, 90, 91, 0,
0, 92, 93, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 94, 0, 0, 0, 76, 0, 94, 8, 9, 10, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 139, 95, 96, 0, 97, 1, 0, 95, 96, 0, 97, 11, 12, 13, 14, 15,
2, 3, 4, 5, 6, 7, 8, 9, 10, 129, 16, 17, 18, 19, 20, 21, 22, 0, 0, 0,
130, 131, 0, 132, 133, 134, 135, 11, 12, 13, 0, 0, 0, 0, 0, 25, 26, 0, 27, 28,
14, 15, 16, 17, 18, 19, 20, 21, 22, 0, 29, 0, 30, 0, 0, 87, 31, 88, 89, 90,
0, 0, 23, 24, 25, 26, 136, 27, 28, 29,
30, 87, 31, 88, 89, 90, 91, 0, 0, 92,
93, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 94, 0,
0, 0, 0, 0, 0, 0, 0, 0, 139, 95,
96, 0, 97, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 0, 0, 0, 0, 0, 0, 0,
0, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 0, 0, 0, 23, 24, 25, 26,
0, 27, 28, 29, 30, 87, 31, 88, 89, 90,
91, 0, 0, 92, 93, 0, 0, 0, 0, 0, 91, 0, 0, 92, 93, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 94, 0, 0, 0, 8, 9, 10, 0, 0, 0, 94, 0, 0, 161, 8, 9, 10, 0,
0, 0, 139, 95, 96, 0, 97, 11, 12, 13, 0, 0, 0, 95, 96, 0, 97, 0, 0, 0,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 0, 0, 0, 0, 0, 0, 0, 0,
25, 26, 0, 27, 28, 29, 0, 30, 0, 0,
87, 31, 88, 89, 90, 91, 0, 0, 92, 93,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 94, 8, 9,
10, 0, 0, 0, 0, 0, 0, 206, 95, 96,
0, 97, 11, 12, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 0, 0, 0, 0, 0, 0,
0, 0, 25, 26, 0, 27, 28, 29, 0, 30,
0, 0, 87, 31, 88, 89, 90, 91, 0, 0,
92, 93, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 94,
0, 0, 222, 8, 9, 10, 0, 0, 0, 0,
95, 96, 0, 97, 0, 0, 0, 11, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21, 22, 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, 0,
0, 0, 0, 0, 25, 26, 0, 27, 28, 29, 0, 0, 0, 0, 0, 0, 0, 25, 26, 0,
30, 87, 31, 88, 89, 90, 91, 0, 0, 92, 27, 28, 29, 0, 30, 0, 0, 87, 31, 88,
93, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 94, 0,
0, 161, 8, 9, 10, 0, 0, 0, 0, 95,
96, 0, 97, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 0, 0, 0, 0, 0,
25, 26, 0, 27, 28, 29, 30, 87, 31, 88,
89, 90, 91, 0, 0, 92, 93, 0, 0, 0, 89, 90, 91, 0, 0, 92, 93, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 94, 0, 0, 0, 8, 9, 0, 0, 0, 0, 94, 8, 9, 10, 0, 0,
10, 0, 0, 0, 206, 95, 96, 0, 97, 11, 0, 0, 0, 0, 0, 95, 96, 0, 97, 11,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 0, 0, 0, 0, 0, 25, 26, 0, 27, 22, 0, 0, 0, 0, 0, 0, 0, 0, 25,
28, 29, 30, 87, 31, 88, 89, 90, 91, 0, 175, 0, 27, 28, 29, 0, 30, 0, 0, 87,
0, 92, 93, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
94, 0, 0, 222, 8, 9, 10, 0, 0, 0,
0, 95, 96, 0, 97, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 0, 0, 0,
0, 0, 25, 26, 0, 27, 28, 29, 30, 87,
31, 88, 89, 90, 91, 0, 0, 92, 93, 0, 31, 88, 89, 90, 91, 0, 0, 92, 93, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 2, 3, 4, 0, 0, 94, 8, 9, 10,
8, 9, 10, 0, 0, 0, 0, 95, 96, 0, 0, 0, 0, 0, 0, 0, 0, 95, 96, 0,
97, 11, 12, 13, 14, 15, 16, 17, 18, 19, 97, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 0, 0, 0, 0, 0, 25, 175, 20, 21, 22, 0, 0, 0, 0, 0, 0, 0,
0, 27, 28, 29, 30, 87, 31, 88, 89, 90, 0, 25, 26, 0, 27, 28, 29, 0, 30, 0,
91, 0, 0, 92, 93, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 1, 2, 3, 4, 5, 6, 7,
0, 0, 94, 2, 3, 4, 0, 0, 0, 8, 8, 9, 10, 0, 0, 0, 0, 0, 0, 0,
9, 10, 0, 95, 96, 0, 97, 0, 0, 0, 0, 0, 0, 247, 11, 12, 13, 14, 15, 16,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 0, 0, 0, 0, 0, 25, 26, 0,
27, 28, 29, 30, 0, 31, 2, 3, 4, 0,
0, 0, 8, 9, 10, 0, 0, 0, 0, 0,
0, 0, 0, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 0, 198, 0, 0, 0,
25, 26, 0, 27, 28, 29, 30, 0, 31, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 71,
0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 0, 0, 0, 0, 0, 0, 0, 247,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 0, 0, 0, 23, 24, 25, 26, 0,
27, 28, 29, 30, 0, 31, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 0, 0, 0, 0,
0, 0, 0, 0, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 0, 0, 0, 23, 17, 18, 19, 20, 21, 22, 0, 0, 0, 23,
24, 25, 26, 0, 27, 28, 29, 30, 0, 31, 24, 0, 0, 0, 25, 26, 0, 27, 28, 29,
2, 3, 4, 0, 0, 0, 8, 9, 10, 0, 0, 30, 0, 0, 0, 31, 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, 15, 16, 17, 18, 19, 20, 21, 22, 0,
0, 0, 23, 24, 0, 0, 0, 25, 26, 0,
27, 28, 29, 0, 30, 2, 3, 4, 31, 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, 25, 26, 0, 27, 28,
29, 0, 30, 8, 9, 10, 31, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, 11, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21, 22, 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, 0,
0, 0, 0, 0, 25, 26, 0, 27, 28, 29, 0, 0, 0, 0, 0, 0, 0, 25, 26, 0,
30, 0, 31, 8, 9, 10, 0, 0, 0, 0, 27, 28, 29, 0, 30, 0, 0, 229, 31, 8,
0, 0, 0, 0, 11, 12, 13, 14, 15, 16, 9, 10, 230, 0, 0, 0, 0, 0, 0, 0,
17, 18, 19, 20, 21, 22, 0, 0, 0, 0, 0, 0, 0, 11, 12, 13, 14, 15, 16, 17,
0, 25, 26, 0, 27, 28, 29, 30, 229, 31, 18, 19, 20, 21, 22, 0, 0, 0, 0, 0,
8, 9, 10, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 26, 0, 27, 28, 29, 0,
0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 30, 0, 0, 0, 31
20, 21, 22, 0, 0, 0, 0, 0, 25, 26,
0, 27, 28, 29, 30, 0, 31
}; };
static const yytype_int16 yycheck[] = static const yytype_int16 yycheck[] =
{ {
0, 55, 94, 86, 70, 127, 45, 151, 273, 60, 0, 55, 94, 86, 70, 127, 54, 151, 0, 69,
40, 36, 85, 0, 0, 160, 257, 37, 79, 85, 40, 40, 85, 36, 0, 160, 273, 91, 82, 85,
84, 82, 86, 106, 3, 45, 70, 253, 293, 8, 257, 42, 3, 106, 88, 54, 70, 8, 9, 253,
9, 272, 57, 63, 55, 56, 79, 76, 42, 82, 51, 64, 65, 63, 57, 272, 293, 85, 96, 97,
40, 85, 42, 135, 95, 75, 46, 51, 92, 93, 40, 85, 42, 135, 104, 75, 46, 82, 92, 93,
79, 51, 82, 82, 33, 34, 35, 36, 37, 46, 82, 51, 82, 88, 46, 36, 37, 38, 39, 40,
46, 74, 288, 63, 82, 109, 292, 73, 81, 90, 46, 66, 67, 63, 288, 109, 99, 100, 292, 62,
91, 73, 194, 79, 3, 75, 76, 160, 170, 8, 63, 93, 194, 95, 3, 75, 76, 160, 170, 8,
9, 72, 82, 74, 79, 79, 159, 82, 53, 54, 9, 83, 82, 71, 72, 73, 159, 81, 90, 83,
81, 174, 73, 159, 73, 125, 45, 127, 79, 74, 83, 174, 80, 159, 87, 125, 90, 127, 82, 82,
192, 62, 63, 64, 33, 34, 35, 36, 37, 74, 192, 82, 90, 88, 88, 88, 91, 36, 37, 38,
71, 73, 204, 78, 258, 159, 73, 79, 76, 72, 39, 40, 204, 88, 258, 159, 183, 184, 185, 186,
81, 74, 79, 87, 88, 125, 76, 127, 183, 184, 88, 88, 54, 91, 91, 125, 88, 127, 83, 91,
185, 186, 37, 216, 217, 179, 180, 181, 182, 183, 4, 5, 6, 216, 217, 179, 180, 181, 182, 183,
184, 185, 186, 187, 188, 189, 190, 191, 221, 294, 184, 185, 186, 187, 188, 189, 190, 191, 221, 294,
45, 151, 4, 5, 6, 221, 33, 34, 35, 57, 85, 151, 36, 37, 38, 221, 81, 40, 83, 85,
58, 79, 80, 82, 194, 257, 181, 182, 187, 188, 88, 89, 181, 182, 194, 257, 54, 187, 188, 91,
45, 72, 59, 73, 45, 248, 72, 221, 61, 82, 81, 81, 54, 82, 68, 248, 84, 221, 70, 54,
272, 264, 248, 75, 72, 82, 72, 72, 82, 281, 272, 264, 248, 81, 91, 91, 81, 91, 81, 281,
79, 72, 74, 77, 194, 75, 74, 76, 252, 291, 86, 81, 83, 46, 194, 4, 5, 6, 252, 291,
3, 4, 5, 6, 248, 8, 9, 10, 11, 12, 85, 10, 11, 12, 248, 84, 83, 88, 84, 54,
210, 294, 75, 75, 72, 40, 75, 72, 21, 22, 210, 294, 84, 81, 84, 24, 25, 26, 27, 28,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 29, 30, 31, 32, 33, 34, 35, 84, 82, 81,
75, 45, 73, 36, 37, 38, 39, 77, 41, 42, 86, 91, 82, 16, 171, 44, 45, 189, 47, 48,
43, 44, 45, 46, 47, 48, 49, 50, 82, 73, 49, 90, 51, 91, 190, 82, 55, 191, 64, 57,
53, 54, 16, 253, 254, 81, 171, 257, 258, 82, 82, 5, 125, 253, 254, 254, 292, 257, 258, 249,
190, 189, 82, 57, 191, 64, 82, 5, 125, 72, 210, 272, 46, 254, -1, -1, -1, -1, -1, -1,
254, 249, 272, 210, 254, 292, 272, 46, -1, -1, -1, -1, 272, -1, -1, -1, -1, 86, -1, -1,
83, 84, -1, 86, -1, -1, -1, -1, 288, -1, -1, -1, -1, -1, -1, -1, -1, -1, 288, -1,
-1, -1, 292, 3, 4, 5, 6, 7, 8, 9, -1, -1, 292, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, -1, 17, 18, 19, 10, 11, 12, 13, 14, 15, -1, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 20, -1, -1, -1, 24, 25, 26, 27, 28, 29,
30, 31, 32, -1, -1, -1, 36, 37, 38, 39, 30, 31, 32, 33, 34, 35, -1, -1, -1, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 40, -1, -1, -1, 44, 45, 46, 47, 48, 49,
50, -1, -1, 53, 54, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 72, -1, -1, -1, 76, 77, -1, -1, -1, 81, -1, -1, -1, 85, 86, -1, -1, -1,
-1, -1, 82, 83, 84, -1, 86, 3, 4, 5, -1, 91, 92, 93, -1, 95, 3, 4, 5, 6,
6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 8, 9, 10, 11, 12, 13, 14, 15, -1,
-1, 17, 18, 19, 20, 21, 22, 23, 24, 25, 17, 18, 19, 20, -1, -1, -1, 24, 25, 26,
26, 27, 28, 29, 30, 31, 32, -1, -1, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1,
36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -1, -1, 39, 40, -1, -1, -1, 44, 45, 46,
46, 47, 48, 49, 50, -1, -1, 53, 54, -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, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 72, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, 85, 86,
76, 77, -1, -1, -1, -1, 82, 83, 84, -1, -1, -1, -1, -1, 91, 92, 93, -1, 95, 3,
86, 3, 4, 5, 6, 7, 8, 9, 10, 11, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
12, 13, 14, 15, -1, 17, 18, 19, 20, 21, 14, 15, -1, 17, 18, 19, 20, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
32, -1, -1, -1, 36, 37, 38, 39, 40, 41, 34, 35, -1, -1, -1, 39, 40, -1, -1, -1,
42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 44, 45, 46, 47, 48, 49, -1, 51, -1, -1,
-1, 53, 54, -1, -1, -1, -1, -1, -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, -1, -1, -1,
72, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1,
82, 83, 84, -1, 86, 3, 4, 5, 6, 7, -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, -1, -1, -1, 39, 40,
-1, -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, 8, 9, 10, 11, 12, 13, 14, 15, -1, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 18, 19, 20, -1, -1, -1, 24, 25, 26, 27,
28, 29, 30, 31, 32, -1, -1, -1, 36, 37, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1,
38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 39, 40, -1, -1, -1, 44, 45, 46, 47,
48, 49, 50, -1, -1, 53, 54, -1, -1, -1, 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, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 72, -1, -1, -1, 76, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 82, 83, 84, -1, 86, 3, -1, -1, -1, 91, 92, 93, -1, 95, 3, 4,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1,
14, 15, -1, 17, 18, 19, 20, 21, 22, 23, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24,
24, 25, 26, 27, 28, 29, 30, 31, 32, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
-1, -1, 36, 37, 38, 39, 40, 41, 42, 43, 35, -1, -1, -1, 39, 40, -1, -1, -1, 44,
44, 45, 46, 47, 48, 49, 50, -1, -1, 53, 45, -1, 47, 48, 49, -1, 51, -1, -1, 54,
54, -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, 56, 57, 58, 59, -1, -1, 62, 63, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 72, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 82, 83,
84, -1, 86, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
-1, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, -1, -1, -1, 36, 37, 38, 39,
-1, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, -1, -1, 53, 54, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 72, -1, -1, -1, 10, 11, 12, -1, -1, -1, 3, 4, 5, 6, 81, 8, 9, 10,
-1, -1, 82, 83, 84, -1, 86, 21, 22, 23, 11, 12, -1, -1, -1, -1, 91, 92, 93, -1,
24, 25, 26, 27, 28, 29, 30, 31, 32, -1, 95, -1, -1, 24, 25, 26, 27, 28, 29, 30,
-1, -1, -1, -1, 38, 39, -1, 41, 42, 43, 31, 32, 33, 34, 35, -1, -1, -1, 39, 40,
44, 45, 46, 47, 48, 49, 50, -1, -1, 53, -1, -1, -1, 44, 45, -1, 47, 48, 49, -1,
54, -1, -1, -1, -1, -1, -1, -1, -1, -1, 51, -1, -1, 54, 55, 56, 57, 58, 59, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 72, -1, -1, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, 75, 10, 11, 12, -1, -1, -1, -1, 83,
84, -1, 86, 21, 22, 23, 24, 25, 26, 27,
28, 29, 30, 31, 32, -1, -1, -1, -1, -1,
38, 39, -1, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, -1, -1, 53, 54, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 72, -1, -1, -1, 10, 11, 81, 10, 11, 12, -1, -1, -1, -1, -1, -1,
12, -1, -1, -1, 82, 83, 84, -1, 86, 21, -1, 92, 93, -1, 95, 24, 25, 26, 27, 28,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1,
32, -1, -1, -1, -1, -1, 38, 39, -1, 41, -1, -1, -1, -1, -1, 44, 45, -1, 47, 48,
42, 43, 44, 45, 46, 47, 48, 49, 50, -1, 49, -1, 51, -1, -1, 54, 55, 56, 57, 58,
-1, 53, 54, -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, 62, 63, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
72, -1, -1, 75, 10, 11, 12, -1, -1, -1, -1, -1, 81, -1, -1, 84, 10, 11, 12, -1,
-1, 83, 84, -1, 86, 21, 22, 23, 24, 25, -1, -1, -1, 92, 93, -1, 95, -1, -1, -1,
26, 27, 28, 29, 30, 31, 32, -1, -1, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
-1, -1, 38, 39, -1, 41, 42, 43, 44, 45, 34, 35, -1, -1, -1, -1, -1, -1, -1, -1,
46, 47, 48, 49, 50, -1, -1, 53, 54, -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, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 72, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, 10, 11,
10, 11, 12, -1, -1, -1, -1, 83, 84, -1, 12, -1, -1, -1, -1, -1, -1, 91, 92, 93,
86, 21, 22, 23, 24, 25, 26, 27, 28, 29, -1, 95, 24, 25, 26, 27, 28, 29, 30, 31,
30, 31, 32, -1, -1, -1, -1, -1, 38, 39, 32, 33, 34, 35, -1, -1, -1, -1, -1, -1,
-1, 41, 42, 43, 44, 45, 46, 47, 48, 49, -1, -1, 44, 45, -1, 47, 48, 49, -1, 51,
50, -1, -1, 53, 54, -1, -1, -1, -1, -1, -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, 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,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 72, 4, 5, 6, -1, -1, -1, 10, -1, -1, -1, -1, 81, 10, 11, 12, -1, -1,
11, 12, -1, 83, 84, -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, 92, 93, -1, 95, 24,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
31, 32, -1, -1, -1, -1, -1, 38, 39, -1, 35, -1, -1, -1, -1, -1, -1, -1, -1, 44,
41, 42, 43, 44, -1, 46, 4, 5, 6, -1, 45, -1, 47, 48, 49, -1, 51, -1, -1, 54,
-1, -1, 10, 11, 12, -1, -1, -1, -1, -1, 55, 56, 57, 58, 59, -1, -1, 62, 63, -1,
-1, -1, -1, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
28, 29, 30, 31, 32, -1, 77, -1, -1, -1, -1, 4, 5, 6, -1, -1, 81, 10, 11, 12,
38, 39, -1, 41, 42, 43, 44, -1, 46, -1, -1, -1, -1, -1, -1, -1, -1, 92, 93, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 95, 24, 25, 26, 27, 28, 29, 30, 31, 32,
-1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 33, 34, 35, -1, -1, -1, -1, -1, -1, -1,
11, 12, -1, -1, -1, -1, -1, -1, -1, 77, -1, 44, 45, -1, 47, 48, 49, -1, 51, -1,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, -1, 55, -1, -1, -1, -1, -1, -1, -1,
31, 32, -1, -1, -1, 36, 37, 38, 39, -1, 0, -1, -1, 3, 4, 5, 6, 7, 8, 9,
41, 42, 43, 44, -1, 46, 3, 4, 5, 6, 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, -1, -1, -1, 39,
40, -1, -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, 7, 8, 9, 10, 11, 12, -1, -1, -1, -1,
-1, -1, -1, -1, 21, 22, 23, 24, 25, 26, -1, -1, -1, -1, -1, -1, -1, 24, 25, 26,
27, 28, 29, 30, 31, 32, -1, -1, -1, 36, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1,
37, 38, 39, -1, 41, 42, 43, 44, -1, 46, -1, -1, 39, 40, -1, -1, -1, 44, 45, -1,
4, 5, 6, -1, -1, -1, 10, 11, 12, -1, 47, 48, 49, -1, 51, 4, 5, 6, 55, -1,
-1, -1, -1, -1, -1, -1, -1, 21, 22, 23, -1, 10, 11, 12, -1, -1, -1, -1, -1, -1,
24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, -1, -1, -1, -1, 24, 25, 26, 27, 28,
-1, -1, -1, -1, 38, 39, -1, 41, 42, 43, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1,
44, -1, 46, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, 44, 45, -1, 47, 48,
-1, -1, -1, -1, 21, 22, 23, 24, 25, 26, 49, -1, 51, 10, 11, 12, 55, -1, -1, -1,
27, 28, 29, 30, 31, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, 26,
-1, 38, 39, -1, 41, 42, 43, 44, 45, 46, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1,
10, 11, 12, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 44, 45, -1,
-1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 47, 48, 49, -1, 51, -1, -1, 54, 55, 10,
30, 31, 32, -1, -1, -1, -1, -1, 38, 39, 11, 12, 59, -1, -1, -1, -1, -1, -1, -1,
-1, 41, 42, 43, 44, -1, 46 -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
}; };
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
...@@ -1213,36 +1271,36 @@ static const yytype_int16 yycheck[] = ...@@ -1213,36 +1271,36 @@ static const yytype_int16 yycheck[] =
static const yytype_uint8 yystos[] = static const yytype_uint8 yystos[] =
{ {
0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 21, 22, 23, 24, 25, 26, 27, 28, 29, 12, 24, 25, 26, 27, 28, 29, 30, 31, 32,
30, 31, 32, 36, 37, 38, 39, 41, 42, 43, 33, 34, 35, 39, 40, 44, 45, 47, 48, 49,
44, 46, 126, 127, 128, 129, 130, 135, 136, 137, 51, 55, 135, 136, 137, 138, 139, 144, 145, 146,
138, 139, 140, 141, 142, 143, 175, 176, 177, 37, 147, 148, 149, 150, 151, 152, 184, 185, 186, 40,
45, 140, 45, 76, 82, 178, 73, 79, 3, 33, 54, 149, 54, 85, 91, 187, 82, 88, 3, 36,
34, 35, 132, 133, 138, 79, 82, 45, 139, 141, 37, 38, 141, 142, 147, 88, 91, 54, 148, 150,
74, 0, 176, 141, 76, 145, 76, 161, 132, 131, 83, 0, 185, 150, 85, 154, 85, 170, 141, 140,
134, 139, 133, 45, 72, 74, 81, 45, 47, 48, 143, 148, 142, 54, 81, 83, 90, 54, 56, 57,
49, 50, 53, 54, 72, 83, 84, 86, 97, 98, 58, 59, 62, 63, 81, 92, 93, 95, 106, 107,
99, 101, 102, 103, 104, 105, 106, 107, 108, 109, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118,
110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
120, 121, 125, 142, 82, 144, 139, 146, 147, 13, 129, 130, 134, 151, 91, 153, 148, 155, 156, 13,
14, 15, 17, 18, 19, 20, 40, 76, 77, 82, 14, 15, 17, 18, 19, 20, 46, 85, 86, 91,
108, 121, 122, 124, 126, 127, 142, 151, 152, 153, 117, 130, 131, 133, 135, 136, 151, 160, 161, 162,
154, 162, 163, 164, 167, 174, 45, 131, 134, 74, 163, 171, 172, 173, 176, 183, 54, 140, 143, 83,
81, 75, 125, 122, 150, 108, 108, 124, 53, 54, 90, 84, 134, 131, 159, 117, 117, 133, 62, 63,
74, 78, 73, 73, 79, 39, 122, 72, 108, 87, 83, 87, 82, 82, 88, 45, 131, 81, 117, 96,
88, 84, 86, 55, 56, 90, 91, 57, 58, 59, 97, 93, 95, 64, 65, 99, 100, 66, 67, 68,
61, 60, 95, 75, 146, 45, 148, 149, 77, 147, 70, 69, 104, 84, 155, 54, 157, 158, 86, 156,
82, 82, 169, 72, 72, 82, 82, 124, 72, 77, 91, 91, 178, 81, 81, 91, 91, 133, 81, 86,
155, 62, 63, 64, 71, 81, 123, 79, 82, 77, 164, 71, 72, 73, 80, 90, 132, 88, 91, 86,
152, 74, 75, 125, 150, 75, 73, 100, 124, 45, 161, 83, 84, 134, 159, 84, 82, 109, 133, 54,
50, 103, 122, 108, 108, 110, 110, 112, 112, 112, 59, 112, 131, 117, 117, 119, 119, 121, 121, 121,
112, 113, 113, 117, 118, 119, 124, 77, 74, 79, 121, 122, 122, 126, 127, 128, 133, 86, 83, 88,
82, 158, 159, 160, 170, 124, 82, 168, 162, 122, 91, 167, 168, 169, 179, 133, 91, 177, 171, 131,
122, 125, 75, 75, 80, 125, 149, 40, 161, 153, 131, 134, 84, 84, 89, 134, 158, 46, 170, 162,
151, 163, 171, 73, 124, 137, 166, 156, 75, 122, 160, 172, 180, 82, 133, 146, 175, 165, 84, 131,
75, 72, 166, 172, 173, 158, 165, 45, 73, 77, 84, 81, 175, 181, 182, 167, 174, 54, 82, 86,
124, 82, 73, 16, 81, 153, 157, 161, 73, 124, 133, 91, 82, 16, 90, 162, 166, 170, 82, 133,
157, 158, 150, 82 166, 167, 159, 91
}; };
#define yyerrok (yyerrstatus = 0) #define yyerrok (yyerrstatus = 0)
...@@ -3586,6 +3644,7 @@ yyreduce: ...@@ -3586,6 +3644,7 @@ yyreduce:
{ {
VERTEX_ONLY("attribute", (yyvsp[(1) - (1)].lex).line); VERTEX_ONLY("attribute", (yyvsp[(1) - (1)].lex).line);
ES2_ONLY("attribute", (yyvsp[(1) - (1)].lex).line);
if (context->globalErrorCheck((yyvsp[(1) - (1)].lex).line, context->symbolTable.atGlobalLevel(), "attribute")) if (context->globalErrorCheck((yyvsp[(1) - (1)].lex).line, context->symbolTable.atGlobalLevel(), "attribute"))
context->recover(); context->recover();
(yyval.interm.type).setBasic(EbtVoid, EvqAttribute, (yyvsp[(1) - (1)].lex).line); (yyval.interm.type).setBasic(EbtVoid, EvqAttribute, (yyvsp[(1) - (1)].lex).line);
...@@ -3595,6 +3654,7 @@ yyreduce: ...@@ -3595,6 +3654,7 @@ yyreduce:
case 106: case 106:
{ {
ES2_ONLY("varying", (yyvsp[(1) - (1)].lex).line);
if (context->globalErrorCheck((yyvsp[(1) - (1)].lex).line, context->symbolTable.atGlobalLevel(), "varying")) if (context->globalErrorCheck((yyvsp[(1) - (1)].lex).line, context->symbolTable.atGlobalLevel(), "varying"))
context->recover(); context->recover();
if (context->shaderType == GL_VERTEX_SHADER) if (context->shaderType == GL_VERTEX_SHADER)
...@@ -3607,6 +3667,7 @@ yyreduce: ...@@ -3607,6 +3667,7 @@ yyreduce:
case 107: case 107:
{ {
ES2_ONLY("varying", (yyvsp[(1) - (2)].lex).line);
if (context->globalErrorCheck((yyvsp[(1) - (2)].lex).line, context->symbolTable.atGlobalLevel(), "invariant varying")) if (context->globalErrorCheck((yyvsp[(1) - (2)].lex).line, context->symbolTable.atGlobalLevel(), "invariant varying"))
context->recover(); context->recover();
if (context->shaderType == GL_VERTEX_SHADER) if (context->shaderType == GL_VERTEX_SHADER)
......
...@@ -57,81 +57,90 @@ ...@@ -57,81 +57,90 @@
IF = 273, IF = 273,
DISCARD = 274, DISCARD = 274,
RETURN = 275, RETURN = 275,
BVEC2 = 276, SWITCH = 276,
BVEC3 = 277, CASE = 277,
BVEC4 = 278, DEFAULT = 278,
IVEC2 = 279, BVEC2 = 279,
IVEC3 = 280, BVEC3 = 280,
IVEC4 = 281, BVEC4 = 281,
VEC2 = 282, IVEC2 = 282,
VEC3 = 283, IVEC3 = 283,
VEC4 = 284, IVEC4 = 284,
MATRIX2 = 285, VEC2 = 285,
MATRIX3 = 286, VEC3 = 286,
MATRIX4 = 287, VEC4 = 287,
IN_QUAL = 288, MATRIX2 = 288,
OUT_QUAL = 289, MATRIX3 = 289,
INOUT_QUAL = 290, MATRIX4 = 290,
UNIFORM = 291, IN_QUAL = 291,
VARYING = 292, OUT_QUAL = 292,
STRUCT = 293, INOUT_QUAL = 293,
VOID_TYPE = 294, UNIFORM = 294,
WHILE = 295, VARYING = 295,
SAMPLER2D = 296, CENTROID = 296,
SAMPLERCUBE = 297, FLAT = 297,
SAMPLER_EXTERNAL_OES = 298, SMOOTH = 298,
SAMPLER3D = 299, STRUCT = 299,
IDENTIFIER = 300, VOID_TYPE = 300,
TYPE_NAME = 301, WHILE = 301,
FLOATCONSTANT = 302, SAMPLER2D = 302,
INTCONSTANT = 303, SAMPLERCUBE = 303,
BOOLCONSTANT = 304, SAMPLER_EXTERNAL_OES = 304,
FIELD_SELECTION = 305, SAMPLER2DRECT = 305,
LEFT_OP = 306, SAMPLER3D = 306,
RIGHT_OP = 307, SAMPLER3DRECT = 307,
INC_OP = 308, SAMPLER2DSHADOW = 308,
DEC_OP = 309, IDENTIFIER = 309,
LE_OP = 310, TYPE_NAME = 310,
GE_OP = 311, FLOATCONSTANT = 311,
EQ_OP = 312, INTCONSTANT = 312,
NE_OP = 313, BOOLCONSTANT = 313,
AND_OP = 314, FIELD_SELECTION = 314,
OR_OP = 315, LEFT_OP = 315,
XOR_OP = 316, RIGHT_OP = 316,
MUL_ASSIGN = 317, INC_OP = 317,
DIV_ASSIGN = 318, DEC_OP = 318,
ADD_ASSIGN = 319, LE_OP = 319,
MOD_ASSIGN = 320, GE_OP = 320,
LEFT_ASSIGN = 321, EQ_OP = 321,
RIGHT_ASSIGN = 322, NE_OP = 322,
AND_ASSIGN = 323, AND_OP = 323,
XOR_ASSIGN = 324, OR_OP = 324,
OR_ASSIGN = 325, XOR_OP = 325,
SUB_ASSIGN = 326, MUL_ASSIGN = 326,
LEFT_PAREN = 327, DIV_ASSIGN = 327,
RIGHT_PAREN = 328, ADD_ASSIGN = 328,
LEFT_BRACKET = 329, MOD_ASSIGN = 329,
RIGHT_BRACKET = 330, LEFT_ASSIGN = 330,
LEFT_BRACE = 331, RIGHT_ASSIGN = 331,
RIGHT_BRACE = 332, AND_ASSIGN = 332,
DOT = 333, XOR_ASSIGN = 333,
COMMA = 334, OR_ASSIGN = 334,
COLON = 335, SUB_ASSIGN = 335,
EQUAL = 336, LEFT_PAREN = 336,
SEMICOLON = 337, RIGHT_PAREN = 337,
BANG = 338, LEFT_BRACKET = 338,
DASH = 339, RIGHT_BRACKET = 339,
TILDE = 340, LEFT_BRACE = 340,
PLUS = 341, RIGHT_BRACE = 341,
STAR = 342, DOT = 342,
SLASH = 343, COMMA = 343,
PERCENT = 344, COLON = 344,
LEFT_ANGLE = 345, EQUAL = 345,
RIGHT_ANGLE = 346, SEMICOLON = 346,
VERTICAL_BAR = 347, BANG = 347,
CARET = 348, DASH = 348,
AMPERSAND = 349, TILDE = 349,
QUESTION = 350 PLUS = 350,
STAR = 351,
SLASH = 352,
PERCENT = 353,
LEFT_ANGLE = 354,
RIGHT_ANGLE = 355,
VERTICAL_BAR = 356,
CARET = 357,
AMPERSAND = 358,
QUESTION = 359
}; };
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment