Add support for new ESSL 3.00 keywords.

TRAC #22715 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2122 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent 0bbed38f
...@@ -179,7 +179,7 @@ bool TCompiler::compile(const char* const shaderStrings[], ...@@ -179,7 +179,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;
......
...@@ -11,7 +11,6 @@ ...@@ -11,7 +11,6 @@
#include "compiler/preprocessor/SourceLocation.h" #include "compiler/preprocessor/SourceLocation.h"
TDiagnostics::TDiagnostics(TInfoSink& infoSink) : TDiagnostics::TDiagnostics(TInfoSink& infoSink) :
mShaderVersion(100),
mInfoSink(infoSink), mInfoSink(infoSink),
mNumErrors(0), mNumErrors(0),
mNumWarnings(0) mNumWarnings(0)
...@@ -22,11 +21,6 @@ TDiagnostics::~TDiagnostics() ...@@ -22,11 +21,6 @@ TDiagnostics::~TDiagnostics()
{ {
} }
void TDiagnostics::setShaderVersion(int version)
{
mShaderVersion = version;
}
void TDiagnostics::writeInfo(Severity severity, void TDiagnostics::writeInfo(Severity severity,
const pp::SourceLocation& loc, const pp::SourceLocation& loc,
const std::string& reason, const std::string& reason,
......
...@@ -17,7 +17,6 @@ class TDiagnostics : public pp::Diagnostics ...@@ -17,7 +17,6 @@ class TDiagnostics : public pp::Diagnostics
TDiagnostics(TInfoSink& infoSink); TDiagnostics(TInfoSink& infoSink);
virtual ~TDiagnostics(); virtual ~TDiagnostics();
int shaderVersion() const { return mShaderVersion; }
TInfoSink& infoSink() { return mInfoSink; } TInfoSink& infoSink() { return mInfoSink; }
int numErrors() const { return mNumErrors; } int numErrors() const { return mNumErrors; }
...@@ -39,8 +38,6 @@ class TDiagnostics : public pp::Diagnostics ...@@ -39,8 +38,6 @@ class TDiagnostics : public pp::Diagnostics
const std::string& text); const std::string& text);
private: private:
int mShaderVersion;
TInfoSink& mInfoSink; TInfoSink& mInfoSink;
int mNumErrors; int mNumErrors;
int mNumWarnings; int mNumWarnings;
......
...@@ -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
{ {
......
...@@ -17,7 +17,8 @@ class TDirectiveHandler : public pp::DirectiveHandler ...@@ -17,7 +17,8 @@ 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; }
...@@ -41,6 +42,7 @@ class TDirectiveHandler : public pp::DirectiveHandler ...@@ -41,6 +42,7 @@ class TDirectiveHandler : public pp::DirectiveHandler
TPragma mPragma; TPragma mPragma;
TExtensionBehavior& mExtensionBehavior; TExtensionBehavior& mExtensionBehavior;
TDiagnostics& mDiagnostics; TDiagnostics& mDiagnostics;
int& mShaderVersion;
}; };
#endif // COMPILER_DIRECTIVE_HANDLER_H_ #endif // COMPILER_DIRECTIVE_HANDLER_H_
...@@ -41,13 +41,15 @@ struct TParseContext { ...@@ -41,13 +41,15 @@ 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
ShShaderType shaderType; // vertex or fragment language (future: pack or unpack) ShShaderType shaderType; // vertex or fragment language (future: pack or unpack)
ShShaderSpec shaderSpec; // The language specification compiler conforms to - GLES2 or WebGL. ShShaderSpec shaderSpec; // The language specification compiler conforms to - GLES2 or WebGL.
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
...@@ -66,7 +68,7 @@ struct TParseContext { ...@@ -66,7 +68,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,
......
/* /*
// //
// Copyright (c) 2002-2012 The ANGLE Project Authors. All rights reserved. // Copyright (c) 2002-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.
// //
...@@ -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); }
...@@ -131,71 +138,133 @@ O [0-7] ...@@ -131,71 +138,133 @@ O [0-7]
"bvec3" { context->lexAfterType = true; return (BVEC3); } "bvec3" { context->lexAfterType = true; return (BVEC3); }
"bvec4" { context->lexAfterType = true; return (BVEC4); } "bvec4" { context->lexAfterType = true; return (BVEC4); }
"sampler2D" { context->lexAfterType = true; return SAMPLER2D; } "sampler2D" { context->lexAfterType = true; return SAMPLER2D; }
"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; }
"sampler2DRect" { context->lexAfterType = true; return SAMPLER2DRECT; } "sampler3D" { if (context->shaderVersion < 300) return reserved_word(yyscanner); 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; }
"sampler2DRect" { context->lexAfterType = true; return SAMPLER2DRECT; }
"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" |
"sampler3D" { return reserved_word(yyscanner); } "usampler1D" |
"usampler1DArray" |
"sampler1DShadow" { return reserved_word(yyscanner); } "isampler2DRect" |
"sampler2DShadow" { return reserved_word(yyscanner); } "usampler2DRect" |
"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" |
"sampler2DRectShadow" |
"sizeof" |
"cast" |
"namespace" |
"using" { return reserved_word(yyscanner); } "using" { return reserved_word(yyscanner); }
{L}({L}|{D})* { {L}({L}|{D})* {
...@@ -237,27 +306,27 @@ O [0-7] ...@@ -237,27 +306,27 @@ O [0-7]
";" { context->lexAfterType = false; return(SEMICOLON); } ";" { context->lexAfterType = false; return(SEMICOLON); }
("{"|"<%") { context->lexAfterType = false; return(LEFT_BRACE); } ("{"|"<%") { context->lexAfterType = false; return(LEFT_BRACE); }
("}"|"%>") { return(RIGHT_BRACE); } ("}"|"%>") { return(RIGHT_BRACE); }
"," { if (context->inTypeParen) context->lexAfterType = false; return(COMMA); } "," { if (context->inTypeParen) context->lexAfterType = false; return(COMMA); }
":" { return(COLON); } ":" { return(COLON); }
"=" { context->lexAfterType = false; return(EQUAL); } "=" { context->lexAfterType = false; return(EQUAL); }
"(" { context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); } "(" { context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); }
")" { context->inTypeParen = false; return(RIGHT_PAREN); } ")" { context->inTypeParen = false; return(RIGHT_PAREN); }
("["|"<:") { return(LEFT_BRACKET); } ("["|"<:") { return(LEFT_BRACKET); }
("]"|":>") { return(RIGHT_BRACKET); } ("]"|":>") { return(RIGHT_BRACKET); }
"." { BEGIN(FIELDS); return(DOT); } "." { BEGIN(FIELDS); return(DOT); }
"!" { return(BANG); } "!" { return(BANG); }
"-" { return(DASH); } "-" { return(DASH); }
"~" { return(TILDE); } "~" { return(TILDE); }
"+" { return(PLUS); } "+" { return(PLUS); }
"*" { return(STAR); } "*" { return(STAR); }
"/" { return(SLASH); } "/" { return(SLASH); }
"%" { return(PERCENT); } "%" { return(PERCENT); }
"<" { return(LEFT_ANGLE); } "<" { return(LEFT_ANGLE); }
">" { return(RIGHT_ANGLE); } ">" { return(RIGHT_ANGLE); }
"|" { return(VERTICAL_BAR); } "|" { return(VERTICAL_BAR); }
"^" { return(CARET); } "^" { return(CARET); }
"&" { return(AMPERSAND); } "&" { return(AMPERSAND); }
"?" { return(QUESTION); } "?" { return(QUESTION); }
<FIELDS>{L}({L}|{D})* { <FIELDS>{L}({L}|{D})* {
BEGIN(INITIAL); BEGIN(INITIAL);
......
...@@ -15,7 +15,7 @@ WHICH GENERATES THE GLSL ES PARSER (glslang_tab.cpp AND glslang_tab.h). ...@@ -15,7 +15,7 @@ WHICH GENERATES THE GLSL ES PARSER (glslang_tab.cpp AND glslang_tab.h).
%{ %{
// //
// Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved. // Copyright (c) 2002-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.
// //
...@@ -105,15 +105,31 @@ extern void yyerror(TParseContext* context, const char* reason); ...@@ -105,15 +105,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 SAMPLER2DRECT %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
...@@ -1492,11 +1508,13 @@ type_qualifier ...@@ -1492,11 +1508,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 == SH_VERTEX_SHADER) if (context->shaderType == SH_VERTEX_SHADER)
...@@ -1505,6 +1523,7 @@ type_qualifier ...@@ -1505,6 +1523,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 == SH_VERTEX_SHADER) if (context->shaderType == SH_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.
// //
...@@ -68,7 +68,6 @@ typedef int16_t flex_int16_t; ...@@ -68,7 +68,6 @@ typedef int16_t flex_int16_t;
typedef uint16_t flex_uint16_t; typedef uint16_t flex_uint16_t;
typedef int32_t flex_int32_t; typedef int32_t flex_int32_t;
typedef uint32_t flex_uint32_t; typedef uint32_t flex_uint32_t;
typedef uint64_t flex_uint64_t;
#else #else
typedef signed char flex_int8_t; typedef signed char flex_int8_t;
typedef short int flex_int16_t; typedef short int flex_int16_t;
...@@ -192,11 +191,6 @@ typedef void* yyscan_t; ...@@ -192,11 +191,6 @@ typedef void* yyscan_t;
typedef struct yy_buffer_state *YY_BUFFER_STATE; typedef struct yy_buffer_state *YY_BUFFER_STATE;
#endif #endif
#ifndef YY_TYPEDEF_YY_SIZE_T
#define YY_TYPEDEF_YY_SIZE_T
typedef size_t yy_size_t;
#endif
#define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_CONTINUE_SCAN 0
#define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2 #define EOB_ACT_LAST_MATCH 2
...@@ -210,7 +204,7 @@ typedef size_t yy_size_t; ...@@ -210,7 +204,7 @@ typedef size_t yy_size_t;
*/ */
#define YY_LESS_LINENO(n) \ #define YY_LESS_LINENO(n) \
do { \ do { \
yy_size_t yyl;\ int yyl;\
for ( yyl = n; yyl < yyleng; ++yyl )\ for ( yyl = n; yyl < yyleng; ++yyl )\
if ( yytext[yyl] == '\n' )\ if ( yytext[yyl] == '\n' )\
--yylineno;\ --yylineno;\
...@@ -232,6 +226,11 @@ typedef size_t yy_size_t; ...@@ -232,6 +226,11 @@ typedef size_t yy_size_t;
#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner ) #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
#ifndef YY_TYPEDEF_YY_SIZE_T
#define YY_TYPEDEF_YY_SIZE_T
typedef size_t yy_size_t;
#endif
#ifndef YY_STRUCT_YY_BUFFER_STATE #ifndef YY_STRUCT_YY_BUFFER_STATE
#define YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE
struct yy_buffer_state struct yy_buffer_state
...@@ -249,7 +248,7 @@ struct yy_buffer_state ...@@ -249,7 +248,7 @@ struct yy_buffer_state
/* Number of characters read into yy_ch_buf, not including EOB /* Number of characters read into yy_ch_buf, not including EOB
* characters. * characters.
*/ */
yy_size_t yy_n_chars; int yy_n_chars;
/* Whether we "own" the buffer - i.e., we know we created it, /* Whether we "own" the buffer - i.e., we know we created it,
* and can realloc() it to grow it, and should free() it to * and can realloc() it to grow it, and should free() it to
...@@ -328,7 +327,7 @@ static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner ); ...@@ -328,7 +327,7 @@ static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner ); YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
void *yyalloc (yy_size_t ,yyscan_t yyscanner ); void *yyalloc (yy_size_t ,yyscan_t yyscanner );
void *yyrealloc (void *,yy_size_t ,yyscan_t yyscanner ); void *yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
...@@ -379,13 +378,13 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); ...@@ -379,13 +378,13 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
*/ */
#define YY_DO_BEFORE_ACTION \ #define YY_DO_BEFORE_ACTION \
yyg->yytext_ptr = yy_bp; \ yyg->yytext_ptr = yy_bp; \
yyleng = (yy_size_t) (yy_cp - yy_bp); \ yyleng = (size_t) (yy_cp - yy_bp); \
yyg->yy_hold_char = *yy_cp; \ yyg->yy_hold_char = *yy_cp; \
*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
...@@ -393,58 +392,91 @@ struct yy_trans_info ...@@ -393,58 +392,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, 115,
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, 118, 157, 157, 157, 157, 26, 157, 157, 123,
98, 98, 98, 98, 36, 37, 38, 27, 98, 98, 135, 157, 157, 157, 157, 157, 157, 157, 157, 157,
98, 15, 42, 43, 44, 51, 12, 98, 98, 98, 157, 157, 132, 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, 121, 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, 116, 157, 157, 12,
98, 72, 66, 61, 98, 98, 98, 98, 98, 78, 157, 157, 157, 157, 144, 145, 146, 157, 36, 157,
57, 98, 64, 32, 98, 94, 65, 49, 76, 59, 136, 31, 147, 148, 149, 7, 141, 142, 143, 157,
98, 98, 98, 98, 98, 98, 98, 98, 60, 31, 157, 157, 30, 139, 157, 157, 157, 45, 46, 47,
98, 98, 98, 8, 98, 98, 98, 98, 98, 54, 157, 157, 157, 157, 157, 157, 157, 66, 157, 157,
13, 98, 14, 98, 98, 16, 67, 98, 98, 98, 157, 157, 157, 157, 157, 133, 157, 157, 157, 157,
62, 98, 98, 98, 98, 98, 98, 55, 75, 63, 157, 157, 157, 157, 157, 157, 157, 117, 157, 157,
11, 68, 6, 96, 10, 88, 45, 89, 98, 98, 156, 157, 157, 19, 157, 71, 157, 157, 157, 157,
98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 69, 157, 157, 157, 134, 129, 72, 157, 157, 157,
46, 98, 98, 98, 98, 98, 98, 98, 48, 98, 157, 157, 157, 124, 157, 157, 157, 157, 157, 157,
92, 98, 98, 98, 98, 98, 90, 98, 91, 98, 157, 140, 122, 157, 157, 127, 157, 157, 157, 38,
98, 98, 98, 98, 98, 47, 93, 0 67, 153, 27, 128, 58, 157, 138, 22, 157, 157,
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
157, 157, 24, 37, 157, 157, 157, 157, 157, 157,
73, 74, 75, 157, 157, 157, 157, 157, 8, 157,
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
119, 157, 157, 157, 157, 157, 13, 157, 157, 14,
157, 157, 157, 157, 25, 59, 16, 130, 77, 78,
79, 157, 157, 157, 157, 157, 157, 157, 157, 157,
157, 157, 157, 125, 157, 157, 157, 61, 63, 60,
157, 157, 157, 157, 157, 157, 157, 120, 81, 82,
83, 157, 157, 137, 157, 126, 157, 157, 11, 157,
157, 157, 157, 157, 157, 157, 157, 157, 76, 131,
6, 157, 157, 157, 155, 157, 70, 10, 150, 51,
54, 157, 157, 157, 157, 157, 157, 157, 157, 157,
157, 157, 62, 157, 157, 157, 157, 80, 157, 157,
157, 157, 157, 100, 157, 157, 157, 157, 157, 157,
157, 157, 157, 157, 157, 157, 68, 157, 157, 157,
84, 102, 157, 157, 64, 157, 157, 157, 157, 157,
157, 157, 95, 157, 157, 157, 157, 157, 157, 157,
109, 157, 157, 157, 157, 52, 157, 157, 157, 157,
157, 157, 157, 157, 157, 157, 96, 85, 157, 86,
157, 157, 110, 157, 157, 157, 157, 157, 157, 157,
157, 157, 157, 157, 157, 157, 97, 157, 111, 157,
157, 87, 88, 157, 91, 157, 92, 157, 157, 157,
157, 65, 157, 157, 157, 57, 157, 55, 106, 157,
89, 90, 157, 157, 157, 157, 157, 157, 157, 157,
104, 107, 98, 157, 157, 157, 157, 157, 157, 157,
105, 108, 157, 157, 101, 157, 157, 151, 157, 157,
56, 157, 103, 157, 157, 157, 157, 157, 112, 157,
157, 157, 157, 157, 113, 157, 157, 157, 114, 93,
94, 157, 157, 53, 157, 152, 99, 0
} ; } ;
static yyconst flex_int32_t yy_ec[256] = static yyconst flex_int32_t yy_ec[256] =
...@@ -455,14 +487,14 @@ static yyconst flex_int32_t yy_ec[256] = ...@@ -455,14 +487,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,
...@@ -479,214 +511,315 @@ static yyconst flex_int32_t yy_ec[256] = ...@@ -479,214 +511,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,
...@@ -694,8 +827,8 @@ static yyconst flex_int16_t yy_chk[749] = ...@@ -694,8 +827,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,
...@@ -703,77 +836,111 @@ static yyconst flex_int16_t yy_chk[749] = ...@@ -703,77 +836,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,
...@@ -782,7 +949,10 @@ static yyconst flex_int32_t yy_rule_can_match_eol[156] = ...@@ -782,7 +949,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.
...@@ -793,7 +963,7 @@ static yyconst flex_int32_t yy_rule_can_match_eol[156] = ...@@ -793,7 +963,7 @@ static yyconst flex_int32_t yy_rule_can_match_eol[156] =
#define YY_RESTORE_YY_MORE_OFFSET #define YY_RESTORE_YY_MORE_OFFSET
/* /*
// //
// Copyright (c) 2002-2012 The ANGLE Project Authors. All rights reserved. // Copyright (c) 2002-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.
// //
...@@ -844,8 +1014,8 @@ struct yyguts_t ...@@ -844,8 +1014,8 @@ struct yyguts_t
size_t yy_buffer_stack_max; /**< capacity of stack. */ size_t yy_buffer_stack_max; /**< capacity of stack. */
YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */ YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
char yy_hold_char; char yy_hold_char;
yy_size_t yy_n_chars; int yy_n_chars;
yy_size_t yyleng_r; int yyleng_r;
char *yy_c_buf_p; char *yy_c_buf_p;
int yy_init; int yy_init;
int yy_start; int yy_start;
...@@ -898,7 +1068,7 @@ FILE *yyget_out (yyscan_t yyscanner ); ...@@ -898,7 +1068,7 @@ FILE *yyget_out (yyscan_t yyscanner );
void yyset_out (FILE * out_str ,yyscan_t yyscanner ); void yyset_out (FILE * out_str ,yyscan_t yyscanner );
yy_size_t yyget_leng (yyscan_t yyscanner ); int yyget_leng (yyscan_t yyscanner );
char *yyget_text (yyscan_t yyscanner ); char *yyget_text (yyscan_t yyscanner );
...@@ -967,7 +1137,7 @@ static int input (yyscan_t yyscanner ); ...@@ -967,7 +1137,7 @@ static int input (yyscan_t yyscanner );
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \ { \
int c = '*'; \ int c = '*'; \
yy_size_t n; \ int n; \
for ( n = 0; n < max_size && \ for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \ buf[n] = (char) c; \
...@@ -1109,13 +1279,13 @@ yy_match: ...@@ -1109,13 +1279,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;
...@@ -1126,7 +1296,7 @@ yy_find_action: ...@@ -1126,7 +1296,7 @@ yy_find_action:
if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] ) if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
{ {
yy_size_t yyl; int yyl;
for ( yyl = 0; yyl < yyleng; ++yyl ) for ( yyl = 0; yyl < yyleng; ++yyl )
if ( yytext[yyl] == '\n' ) if ( yytext[yyl] == '\n' )
...@@ -1188,7 +1358,7 @@ YY_RULE_SETUP ...@@ -1188,7 +1358,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
...@@ -1200,7 +1370,7 @@ YY_RULE_SETUP ...@@ -1200,7 +1370,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
...@@ -1232,524 +1402,480 @@ YY_RULE_SETUP ...@@ -1232,524 +1402,480 @@ 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 SAMPLER2DRECT; } { 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); } { if (context->shaderVersion < 300) 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 SAMPLER2DRECT; }
YY_BREAK YY_BREAK
case 58: case 58:
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 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:
case 114:
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 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 = static_cast<int>(strtol(yytext, 0, 0)); return(INTCONSTANT); } { yylval->lex.i = static_cast<int>(strtol(yytext, 0, 0)); return(INTCONSTANT); }
YY_BREAK YY_BREAK
case 100: case 159:
YY_RULE_SETUP YY_RULE_SETUP
{ yylval->lex.i = static_cast<int>(strtol(yytext, 0, 0)); return(INTCONSTANT); } { yylval->lex.i = static_cast<int>(strtol(yytext, 0, 0)); return(INTCONSTANT); }
YY_BREAK YY_BREAK
case 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 = static_cast<int>(strtol(yytext, 0, 0)); return(INTCONSTANT); } { yylval->lex.i = static_cast<int>(strtol(yytext, 0, 0)); return(INTCONSTANT); }
YY_BREAK YY_BREAK
case 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);
...@@ -1757,12 +1883,12 @@ YY_RULE_SETUP ...@@ -1757,12 +1883,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
...@@ -1771,11 +1897,11 @@ case YY_STATE_EOF(COMMENT): ...@@ -1771,11 +1897,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
...@@ -1964,7 +2090,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) ...@@ -1964,7 +2090,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
else else
{ {
yy_size_t num_to_read = int num_to_read =
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 ) while ( num_to_read <= 0 )
...@@ -1978,7 +2104,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) ...@@ -1978,7 +2104,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
if ( b->yy_is_our_buffer ) if ( b->yy_is_our_buffer )
{ {
yy_size_t new_size = b->yy_buf_size * 2; int new_size = b->yy_buf_size * 2;
if ( new_size <= 0 ) if ( new_size <= 0 )
b->yy_buf_size += b->yy_buf_size / 8; b->yy_buf_size += b->yy_buf_size / 8;
...@@ -2009,7 +2135,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) ...@@ -2009,7 +2135,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
/* Read in more data. */ /* Read in more data. */
YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
yyg->yy_n_chars, num_to_read ); yyg->yy_n_chars, (size_t) num_to_read );
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
} }
...@@ -2071,7 +2197,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) ...@@ -2071,7 +2197,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];
...@@ -2100,11 +2226,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) ...@@ -2100,11 +2226,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;
} }
...@@ -2134,7 +2260,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) ...@@ -2134,7 +2260,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
else else
{ /* need more input */ { /* need more input */
yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr; int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
++yyg->yy_c_buf_p; ++yyg->yy_c_buf_p;
switch ( yy_get_next_buffer( yyscanner ) ) switch ( yy_get_next_buffer( yyscanner ) )
...@@ -2158,7 +2284,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) ...@@ -2158,7 +2284,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
case EOB_ACT_END_OF_FILE: case EOB_ACT_END_OF_FILE:
{ {
if ( yywrap(yyscanner ) ) if ( yywrap(yyscanner ) )
return 0; return EOF;
if ( ! yyg->yy_did_buffer_switch_on_eof ) if ( ! yyg->yy_did_buffer_switch_on_eof )
YY_NEW_FILE; YY_NEW_FILE;
...@@ -2421,7 +2547,7 @@ void yypop_buffer_state (yyscan_t yyscanner) ...@@ -2421,7 +2547,7 @@ void yypop_buffer_state (yyscan_t yyscanner)
*/ */
static void yyensure_buffer_stack (yyscan_t yyscanner) static void yyensure_buffer_stack (yyscan_t yyscanner)
{ {
yy_size_t num_to_alloc; int num_to_alloc;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
if (!yyg->yy_buffer_stack) { if (!yyg->yy_buffer_stack) {
...@@ -2519,11 +2645,12 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr , yyscan_t yyscanner) ...@@ -2519,11 +2645,12 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr , yyscan_t yyscanner)
* @param yyscanner The scanner object. * @param yyscanner The scanner object.
* @return the newly allocated buffer state object. * @return the newly allocated buffer state object.
*/ */
YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner) YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner)
{ {
YY_BUFFER_STATE b; YY_BUFFER_STATE b;
char *buf; char *buf;
yy_size_t n, i; yy_size_t n;
int i;
/* Get memory for full buffer, including space for trailing EOB's. */ /* Get memory for full buffer, including space for trailing EOB's. */
n = _yybytes_len + 2; n = _yybytes_len + 2;
...@@ -2673,7 +2800,7 @@ FILE *yyget_out (yyscan_t yyscanner) ...@@ -2673,7 +2800,7 @@ FILE *yyget_out (yyscan_t yyscanner)
/** Get the length of the current token. /** Get the length of the current token.
* @param yyscanner The scanner object. * @param yyscanner The scanner object.
*/ */
yy_size_t yyget_leng (yyscan_t yyscanner) int yyget_leng (yyscan_t yyscanner)
{ {
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
return yyleng; return yyleng;
......
...@@ -68,7 +68,7 @@ ...@@ -68,7 +68,7 @@
// //
// Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved. // Copyright (c) 2002-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.
// //
...@@ -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,
SAMPLER2DRECT = 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 1567
/* 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, 50, -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, 168, 168, 203, 206, 219, 224, 229, 235, 238, 0, 184, 184, 219, 222, 235, 240, 245, 251, 254,
317, 320, 421, 431, 444, 452, 552, 555, 563, 567, 333, 336, 437, 447, 460, 468, 568, 571, 579, 583,
574, 578, 585, 591, 600, 608, 663, 670, 680, 683, 590, 594, 601, 607, 616, 624, 679, 686, 696, 699,
693, 703, 724, 725, 726, 731, 732, 741, 753, 754, 709, 719, 740, 741, 742, 747, 748, 757, 769, 770,
762, 773, 777, 778, 788, 798, 808, 821, 822, 832, 778, 789, 793, 794, 804, 814, 824, 837, 838, 848,
845, 849, 853, 857, 858, 871, 872, 885, 886, 899, 861, 865, 869, 873, 874, 887, 888, 901, 902, 915,
900, 917, 918, 931, 932, 933, 934, 935, 939, 942, 916, 933, 934, 947, 948, 949, 950, 951, 955, 958,
953, 961, 988, 993, 1007, 1045, 1048, 1055, 1063, 1084, 969, 977, 1004, 1009, 1023, 1061, 1064, 1071, 1079, 1100,
1105, 1116, 1145, 1150, 1160, 1165, 1175, 1178, 1181, 1184, 1121, 1132, 1161, 1166, 1176, 1181, 1191, 1194, 1197, 1200,
1190, 1197, 1200, 1222, 1240, 1264, 1287, 1291, 1309, 1317, 1206, 1213, 1216, 1238, 1256, 1280, 1303, 1307, 1325, 1333,
1349, 1369, 1458, 1467, 1490, 1493, 1499, 1507, 1515, 1523, 1365, 1385, 1474, 1483, 1506, 1509, 1516, 1525, 1534, 1542,
1533, 1540, 1543, 1546, 1552, 1555, 1570, 1574, 1578, 1582, 1552, 1559, 1562, 1565, 1571, 1574, 1589, 1593, 1597, 1601,
1591, 1596, 1601, 1606, 1611, 1616, 1621, 1626, 1631, 1636, 1610, 1615, 1620, 1625, 1630, 1635, 1640, 1645, 1650, 1655,
1642, 1648, 1654, 1659, 1664, 1673, 1682, 1687, 1700, 1700, 1661, 1667, 1673, 1678, 1683, 1692, 1701, 1706, 1719, 1719,
1714, 1714, 1723, 1726, 1741, 1777, 1781, 1787, 1795, 1811, 1733, 1733, 1742, 1745, 1760, 1796, 1800, 1806, 1814, 1830,
1815, 1819, 1820, 1826, 1827, 1828, 1829, 1830, 1834, 1835, 1834, 1838, 1839, 1845, 1846, 1847, 1848, 1849, 1853, 1854,
1835, 1835, 1845, 1846, 1850, 1850, 1851, 1851, 1856, 1859, 1854, 1854, 1864, 1865, 1869, 1869, 1870, 1870, 1875, 1878,
1869, 1872, 1878, 1879, 1883, 1891, 1895, 1905, 1910, 1927, 1888, 1891, 1897, 1898, 1902, 1910, 1914, 1924, 1929, 1946,
1927, 1932, 1932, 1939, 1939, 1947, 1950, 1956, 1959, 1965, 1946, 1951, 1951, 1958, 1958, 1966, 1969, 1975, 1978, 1984,
1969, 1976, 1983, 1990, 1997, 2008, 2017, 2021, 2028, 2031, 1988, 1995, 2002, 2009, 2016, 2027, 2036, 2040, 2047, 2050,
2037, 2037 2056, 2056
}; };
#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", "SAMPLER2DRECT", "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, 1430, -258, 1512, -258, 45, -258, 1330, -258, -258, -258,
-266, 1370, 42, -266, -266, 50, -266, 71, 95, -266, -258, 1512, 65, -258, -258, 74, -258, 71, 117, -258,
-266, -266, -266, 1296, 123, 105, -266, 9, -266, -266, -258, -258, -258, 1430, 116, 112, -258, 6, -258, -258,
974, -266, -266, 81, -266, 1296, 290, -266, -266, -266, 1123, -258, -258, 78, -258, 1430, 290, -258, -258, -258,
-266, 125, 1296, -13, -266, 776, 974, 99, -266, -266, -258, 118, 1430, -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, 1430, 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, 1471, -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, 152, 569, -258,
43, 974, 542, 121, 974, -266, -266, -266, 177, 111, 17, 1123, 569, 115, 1123, -258, -258, -258, 153, 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, 53, 54, -258, -66, -83, -258, -92, -73,
13, 14, -266, -266, -266, 180, 206, 201, 184, -266, 8, 14, -258, -258, -258, 165, 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,324 @@ static const yytype_int16 yypgoto[] = ...@@ -918,294 +944,324 @@ 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, 30, 294, 244, 303, 245, 31, 157, 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, 30, 0, 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, 30, 0, 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, 30, 0, 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, 30,
0, 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, 30, 0, 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, 30, 0, 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, 30,
89, 90, 91, 0, 0, 92, 93, 0, 0, 0, 0, 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, 30, 0, 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, 30, 0, 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, 30, 0,
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, 30, 0, 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, 30, 0, 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, 30, 0, 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, 30, 0, 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, 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, 23, 24, 0, 0, 0, 25, 26, 0,
30, 0, 31, 8, 9, 10, 0, 0, 0, 0, 27, 28, 29, 30, 2, 3, 4, 0, 31, 0,
8, 9, 10, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 11, 12, 13, 14, 15, 16, 0, 0, 0, 0, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 0, 0, 0, 0, 17, 18, 19, 20, 21, 22, 0, 0, 0, 0,
0, 25, 26, 0, 27, 28, 29, 30, 229, 31, 0, 0, 0, 0, 25, 26, 0, 27, 28, 29,
8, 9, 10, 230, 0, 0, 0, 0, 0, 0, 30, 8, 9, 10, 0, 31, 0, 0, 0, 0,
0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 0, 0, 0, 0, 11, 12, 13, 14, 15,
20, 21, 22, 0, 0, 0, 0, 0, 25, 26, 16, 17, 18, 19, 20, 21, 22, 0, 0, 0,
0, 27, 28, 29, 30, 0, 31 0, 0, 0, 0, 0, 25, 26, 0, 27, 28,
29, 30, 8, 9, 10, 229, 31, 0, 0, 0,
230, 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, 30, 0, 0, 0, 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, 50, 90, 190, 91, 191, 55, 82, 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, 50, -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, -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, 50, -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, -1, 85, 86,
-1, -1, -1, -1, 91, 92, 93, -1, 95, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
14, 15, -1, 17, 18, 19, 20, -1, -1, -1,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, -1, -1, -1, 39, 40, -1, -1, -1,
44, 45, 46, 47, 48, 49, 50, -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,
-1, -1, -1, -1, -1, -1, 72, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1,
76, 77, -1, -1, -1, -1, 82, 83, 84, -1, -1, 85, -1, -1, -1, -1, -1, 91, 92, 93,
86, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, 95, 3, 4, 5, 6, 7, 8, 9, 10,
12, 13, 14, 15, -1, 17, 18, 19, 20, 21, 11, 12, 13, 14, 15, -1, 17, 18, 19, 20,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, 24, 25, 26, 27, 28, 29, 30,
32, -1, -1, -1, 36, 37, 38, 39, 40, 41, 31, 32, 33, 34, 35, -1, -1, -1, 39, 40,
42, 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, 44, 45, 46, 47, 48, 49, 50,
-1, 53, 54, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1,
72, -1, -1, -1, 76, -1, -1, -1, -1, -1, 81, -1, -1, -1, 85, -1, -1, -1, -1, -1,
82, 83, 84, -1, 86, 3, 4, 5, 6, 7, 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, 50, -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, -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, 50, -1, -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, 50,
54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 50, -1, -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, 50, -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,
-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, 50, -1,
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, 50, -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, -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, 50, -1, -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, 50, -1, -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,
50, -1, -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, 50, 4, 5, 6, -1, 55, -1,
-1, -1, -1, -1, -1, -1, -1, 21, 22, 23, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, -1, -1, -1, 24, 25, 26, 27, 28, 29,
-1, -1, -1, -1, 38, 39, -1, 41, 42, 43, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1,
44, -1, 46, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, 44, 45, -1, 47, 48, 49,
-1, -1, -1, -1, 21, 22, 23, 24, 25, 26, 50, 10, 11, 12, -1, 55, -1, -1, -1, -1,
27, 28, 29, 30, 31, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, 26, 27, 28,
-1, 38, 39, -1, 41, 42, 43, 44, 45, 46, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1,
10, 11, 12, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 44, 45, -1, 47, 48,
-1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 49, 50, 10, 11, 12, 54, 55, -1, -1, -1,
30, 31, 32, -1, -1, -1, -1, -1, 38, 39, 59, -1, -1, -1, -1, -1, 24, 25, 26, 27,
-1, 41, 42, 43, 44, -1, 46 28, 29, 30, 31, 32, 33, 34, 35, -1, -1,
-1, -1, -1, -1, -1, -1, 44, 45, -1, 47,
48, 49, 50, -1, -1, -1, -1, 55
}; };
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
...@@ -1213,36 +1269,36 @@ static const yytype_int16 yycheck[] = ...@@ -1213,36 +1269,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, 50, 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)
...@@ -3600,6 +3656,7 @@ yyreduce: ...@@ -3600,6 +3656,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);
...@@ -3609,6 +3666,7 @@ yyreduce: ...@@ -3609,6 +3666,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 == SH_VERTEX_SHADER) if (context->shaderType == SH_VERTEX_SHADER)
...@@ -3621,6 +3679,7 @@ yyreduce: ...@@ -3621,6 +3679,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 == SH_VERTEX_SHADER) if (context->shaderType == SH_VERTEX_SHADER)
......
...@@ -56,81 +56,90 @@ ...@@ -56,81 +56,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,
SAMPLER2DRECT = 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