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[],
(PaParseStrings(numStrings - firstSource, &shaderStrings[firstSource], NULL, &parseContext) == 0) &&
(parseContext.treeRoot != NULL);
shaderVersion = parseContext.shaderVersion();
shaderVersion = parseContext.getShaderVersion();
if (success) {
TIntermNode* root = parseContext.treeRoot;
......
......@@ -11,7 +11,6 @@
#include "compiler/preprocessor/SourceLocation.h"
TDiagnostics::TDiagnostics(TInfoSink& infoSink) :
mShaderVersion(100),
mInfoSink(infoSink),
mNumErrors(0),
mNumWarnings(0)
......@@ -22,11 +21,6 @@ TDiagnostics::~TDiagnostics()
{
}
void TDiagnostics::setShaderVersion(int version)
{
mShaderVersion = version;
}
void TDiagnostics::writeInfo(Severity severity,
const pp::SourceLocation& loc,
const std::string& reason,
......
......@@ -17,7 +17,6 @@ class TDiagnostics : public pp::Diagnostics
TDiagnostics(TInfoSink& infoSink);
virtual ~TDiagnostics();
int shaderVersion() const { return mShaderVersion; }
TInfoSink& infoSink() { return mInfoSink; }
int numErrors() const { return mNumErrors; }
......@@ -39,8 +38,6 @@ class TDiagnostics : public pp::Diagnostics
const std::string& text);
private:
int mShaderVersion;
TInfoSink& mInfoSink;
int mNumErrors;
int mNumWarnings;
......
......@@ -26,9 +26,11 @@ static TBehavior getBehavior(const std::string& str)
}
TDirectiveHandler::TDirectiveHandler(TExtensionBehavior& extBehavior,
TDiagnostics& diagnostics)
TDiagnostics& diagnostics,
int& shaderVersion)
: mExtensionBehavior(extBehavior),
mDiagnostics(diagnostics)
mDiagnostics(diagnostics),
mShaderVersion(shaderVersion)
{
}
......@@ -151,7 +153,7 @@ void TDirectiveHandler::handleVersion(const pp::SourceLocation& loc,
if (version == 100 ||
version == 300)
{
mDiagnostics.setShaderVersion(version);
mShaderVersion = version;
}
else
{
......
......@@ -17,7 +17,8 @@ class TDirectiveHandler : public pp::DirectiveHandler
{
public:
TDirectiveHandler(TExtensionBehavior& extBehavior,
TDiagnostics& diagnostics);
TDiagnostics& diagnostics,
int& shaderVersion);
virtual ~TDirectiveHandler();
const TPragma& pragma() const { return mPragma; }
......@@ -41,6 +42,7 @@ class TDirectiveHandler : public pp::DirectiveHandler
TPragma mPragma;
TExtensionBehavior& mExtensionBehavior;
TDiagnostics& mDiagnostics;
int& mShaderVersion;
};
#endif // COMPILER_DIRECTIVE_HANDLER_H_
......@@ -41,13 +41,15 @@ struct TParseContext {
functionReturnsValue(false),
checksPrecisionErrors(checksPrecErrors),
diagnostics(is),
directiveHandler(ext, diagnostics),
shaderVersion(100),
directiveHandler(ext, diagnostics, shaderVersion),
preprocessor(&diagnostics, &directiveHandler),
scanner(NULL) { }
TIntermediate& intermediate; // to hold and build a parse tree
TSymbolTable& symbolTable; // symbol table that goes with the language currently being parsed
ShShaderType shaderType; // vertex or fragment language (future: pack or unpack)
ShShaderSpec shaderSpec; // The language specification compiler conforms to - GLES2 or WebGL.
int shaderVersion;
int compileOptions;
const char* sourcePath; // Path of source file or NULL.
TIntermNode* treeRoot; // root of parse tree being created
......@@ -66,7 +68,7 @@ struct TParseContext {
pp::Preprocessor preprocessor;
void* scanner;
int shaderVersion() const { return diagnostics.shaderVersion(); }
int getShaderVersion() const { return shaderVersion; }
int numErrors() const { return diagnostics.numErrors(); }
TInfoSink& infoSink() { return diagnostics.infoSink(); }
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
// found in the LICENSE file.
//
......@@ -15,7 +15,7 @@ WHICH GENERATES THE GLSL ES LEXER (glslang_lex.cpp).
%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
// found in the LICENSE file.
//
......@@ -89,10 +89,10 @@ O [0-7]
"lowp" { return(LOW_PRECISION); }
"precision" { return(PRECISION); }
"attribute" { return(ATTRIBUTE); }
"attribute" { if (context->shaderVersion < 300) return(ATTRIBUTE); return reserved_word(yyscanner); }
"const" { return(CONST_QUAL); }
"uniform" { return(UNIFORM); }
"varying" { return(VARYING); }
"varying" { if (context->shaderVersion < 300) return(VARYING); return reserved_word(yyscanner); }
"break" { return(BREAK); }
"continue" { return(CONTINUE); }
......@@ -102,6 +102,13 @@ O [0-7]
"if" { return(IF); }
"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); }
"out" { return(OUT_QUAL); }
......@@ -131,71 +138,133 @@ O [0-7]
"bvec3" { context->lexAfterType = true; return (BVEC3); }
"bvec4" { context->lexAfterType = true; return (BVEC4); }
"sampler2D" { context->lexAfterType = true; return SAMPLER2D; }
"samplerCube" { context->lexAfterType = true; return SAMPLERCUBE; }
"sampler2D" { context->lexAfterType = true; return SAMPLER2D; }
"samplerCube" { context->lexAfterType = true; return SAMPLERCUBE; }
"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); }
"asm" { return reserved_word(yyscanner); }
"class" { return reserved_word(yyscanner); }
"union" { return reserved_word(yyscanner); }
"enum" { return reserved_word(yyscanner); }
"typedef" { return reserved_word(yyscanner); }
"template" { return reserved_word(yyscanner); }
"this" { return reserved_word(yyscanner); }
"packed" { return reserved_word(yyscanner); }
"goto" { return reserved_word(yyscanner); }
"switch" { return reserved_word(yyscanner); }
"default" { return reserved_word(yyscanner); }
"inline" { return reserved_word(yyscanner); }
"noinline" { return reserved_word(yyscanner); }
"volatile" { return reserved_word(yyscanner); }
"public" { return reserved_word(yyscanner); }
"static" { return reserved_word(yyscanner); }
"extern" { return reserved_word(yyscanner); }
"external" { return reserved_word(yyscanner); }
"interface" { return reserved_word(yyscanner); }
"flat" { return reserved_word(yyscanner); }
"long" { return reserved_word(yyscanner); }
"short" { return reserved_word(yyscanner); }
"double" { return reserved_word(yyscanner); }
"half" { return reserved_word(yyscanner); }
"fixed" { return reserved_word(yyscanner); }
"unsigned" { return reserved_word(yyscanner); }
"superp" { return reserved_word(yyscanner); }
"input" { return reserved_word(yyscanner); }
"output" { return reserved_word(yyscanner); }
"hvec2" { return reserved_word(yyscanner); }
"hvec3" { return reserved_word(yyscanner); }
"hvec4" { return reserved_word(yyscanner); }
"dvec2" { return reserved_word(yyscanner); }
"dvec3" { return reserved_word(yyscanner); }
"dvec4" { return reserved_word(yyscanner); }
"fvec2" { return reserved_word(yyscanner); }
"fvec3" { return reserved_word(yyscanner); }
"fvec4" { return reserved_word(yyscanner); }
"sampler1D" { return reserved_word(yyscanner); }
"sampler3D" { return reserved_word(yyscanner); }
"sampler1DShadow" { return reserved_word(yyscanner); }
"sampler2DShadow" { return reserved_word(yyscanner); }
"sampler3DRect" { return reserved_word(yyscanner); }
"sampler2DRectShadow" { return reserved_word(yyscanner); }
"sizeof" { return reserved_word(yyscanner); }
"cast" { return reserved_word(yyscanner); }
"namespace" { return reserved_word(yyscanner); }
/* Reserved keywords for GLSL ES 3.00 that are not reserved for GLSL ES 1.00 */
"coherent" |
"restrict" |
"readonly" |
"writeonly" |
"resource" |
"atomic_uint" |
"noperspective" |
"patch" |
"sample" |
"subroutine" |
"common" |
"partition" |
"active" |
"filter" |
"image1D" |
"image2D" |
"image3D" |
"imageCube" |
"iimage1D" |
"iimage2D" |
"iimage3D" |
"iimageCube" |
"uimage1D" |
"uimage2D" |
"uimage3D" |
"uimageCube" |
"image1DArray" |
"image2DArray" |
"iimage1DArray" |
"iimage2DArray" |
"uimage1DArray" |
"uimage2DArray" |
"image1DShadow" |
"image2DShadow" |
"image1DArrayShadow" |
"image2DArrayShadow" |
"imageBuffer" |
"iimageBuffer" |
"uimageBuffer" |
"sampler1DArray" |
"sampler1DArrayShadow" |
"isampler1D" |
"isampler1DArray" |
"usampler1D" |
"usampler1DArray" |
"isampler2DRect" |
"usampler2DRect" |
"samplerBuffer" |
"isamplerBuffer" |
"usamplerBuffer" |
"sampler2DMS" |
"isampler2DMS" |
"usampler2DMS" |
"sampler2DMSArray" |
"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); }
{L}({L}|{D})* {
......@@ -237,27 +306,27 @@ O [0-7]
";" { context->lexAfterType = false; return(SEMICOLON); }
("{"|"<%") { context->lexAfterType = false; return(LEFT_BRACE); }
("}"|"%>") { return(RIGHT_BRACE); }
"," { if (context->inTypeParen) context->lexAfterType = false; return(COMMA); }
":" { return(COLON); }
"=" { context->lexAfterType = false; return(EQUAL); }
"(" { context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); }
")" { context->inTypeParen = false; return(RIGHT_PAREN); }
"," { if (context->inTypeParen) context->lexAfterType = false; return(COMMA); }
":" { return(COLON); }
"=" { context->lexAfterType = false; return(EQUAL); }
"(" { context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); }
")" { context->inTypeParen = false; return(RIGHT_PAREN); }
("["|"<:") { return(LEFT_BRACKET); }
("]"|":>") { return(RIGHT_BRACKET); }
"." { BEGIN(FIELDS); return(DOT); }
"!" { return(BANG); }
"-" { return(DASH); }
"~" { return(TILDE); }
"+" { return(PLUS); }
"*" { return(STAR); }
"/" { return(SLASH); }
"%" { return(PERCENT); }
"<" { return(LEFT_ANGLE); }
">" { return(RIGHT_ANGLE); }
"|" { return(VERTICAL_BAR); }
"^" { return(CARET); }
"&" { return(AMPERSAND); }
"?" { return(QUESTION); }
"." { BEGIN(FIELDS); return(DOT); }
"!" { return(BANG); }
"-" { return(DASH); }
"~" { return(TILDE); }
"+" { return(PLUS); }
"*" { return(STAR); }
"/" { return(SLASH); }
"%" { return(PERCENT); }
"<" { return(LEFT_ANGLE); }
">" { return(RIGHT_ANGLE); }
"|" { return(VERTICAL_BAR); }
"^" { return(CARET); }
"&" { return(AMPERSAND); }
"?" { return(QUESTION); }
<FIELDS>{L}({L}|{D})* {
BEGIN(INITIAL);
......
......@@ -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
// found in the LICENSE file.
//
......@@ -105,15 +105,31 @@ extern void yyerror(TParseContext* context, const char* reason);
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> 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> MATRIX2 MATRIX3 MATRIX4 IN_QUAL OUT_QUAL INOUT_QUAL UNIFORM VARYING
%token <lex> CENTROID FLAT SMOOTH
%token <lex> STRUCT VOID_TYPE WHILE
%token <lex> SAMPLER2D SAMPLERCUBE SAMPLER_EXTERNAL_OES SAMPLER2DRECT
%token <lex> SAMPLER3D SAMPLER3DRECT SAMPLER2DSHADOW
%token <lex> IDENTIFIER TYPE_NAME FLOATCONSTANT INTCONSTANT BOOLCONSTANT
%token <lex> FIELD_SELECTION
......@@ -1492,11 +1508,13 @@ type_qualifier
}
| ATTRIBUTE {
VERTEX_ONLY("attribute", $1.line);
ES2_ONLY("attribute", $1.line);
if (context->globalErrorCheck($1.line, context->symbolTable.atGlobalLevel(), "attribute"))
context->recover();
$$.setBasic(EbtVoid, EvqAttribute, $1.line);
}
| VARYING {
ES2_ONLY("varying", $1.line);
if (context->globalErrorCheck($1.line, context->symbolTable.atGlobalLevel(), "varying"))
context->recover();
if (context->shaderType == SH_VERTEX_SHADER)
......@@ -1505,6 +1523,7 @@ type_qualifier
$$.setBasic(EbtVoid, EvqVaryingIn, $1.line);
}
| INVARIANT VARYING {
ES2_ONLY("varying", $1.line);
if (context->globalErrorCheck($1.line, context->symbolTable.atGlobalLevel(), "invariant varying"))
context->recover();
if (context->shaderType == SH_VERTEX_SHADER)
......
#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
// found in the LICENSE file.
//
......@@ -68,7 +68,6 @@ typedef int16_t flex_int16_t;
typedef uint16_t flex_uint16_t;
typedef int32_t flex_int32_t;
typedef uint32_t flex_uint32_t;
typedef uint64_t flex_uint64_t;
#else
typedef signed char flex_int8_t;
typedef short int flex_int16_t;
......@@ -192,11 +191,6 @@ typedef void* yyscan_t;
typedef struct yy_buffer_state *YY_BUFFER_STATE;
#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_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2
......@@ -210,7 +204,7 @@ typedef size_t yy_size_t;
*/
#define YY_LESS_LINENO(n) \
do { \
yy_size_t yyl;\
int yyl;\
for ( yyl = n; yyl < yyleng; ++yyl )\
if ( yytext[yyl] == '\n' )\
--yylineno;\
......@@ -232,6 +226,11 @@ typedef size_t yy_size_t;
#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
#define YY_STRUCT_YY_BUFFER_STATE
struct yy_buffer_state
......@@ -249,7 +248,7 @@ struct yy_buffer_state
/* Number of characters read into yy_ch_buf, not including EOB
* characters.
*/
yy_size_t yy_n_chars;
int yy_n_chars;
/* Whether we "own" the buffer - i.e., we know we created it,
* 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 );
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_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 *yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
......@@ -379,13 +378,13 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
*/
#define YY_DO_BEFORE_ACTION \
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; \
*yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp;
#define YY_NUM_RULES 155
#define YY_END_OF_BUFFER 156
#define YY_NUM_RULES 214
#define YY_END_OF_BUFFER 215
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
......@@ -393,58 +392,91 @@ struct yy_trans_info
flex_int32_t yy_verify;
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, 156, 154, 153, 153,
138, 144, 149, 133, 134, 142, 141, 130, 139, 137,
143, 102, 102, 131, 127, 145, 132, 146, 150, 98,
135, 136, 148, 98, 98, 98, 98, 98, 98, 98,
98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
98, 98, 98, 128, 147, 129, 140, 3, 4, 3,
152, 155, 151, 124, 110, 129, 118, 113, 108, 116,
106, 117, 107, 105, 2, 1, 109, 104, 100, 101,
0, 0, 102, 136, 128, 135, 125, 121, 123, 122,
126, 98, 114, 120, 98, 98, 98, 98, 98, 98,
98, 98, 98, 98, 17, 98, 98, 98, 98, 98,
98, 98, 98, 98, 98, 98, 98, 98, 20, 22,
98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
98, 98, 98, 98, 98, 98, 98, 115, 119, 5,
151, 0, 1, 104, 0, 0, 103, 99, 111, 112,
50, 98, 98, 98, 98, 98, 98, 98, 98, 98,
98, 98, 98, 98, 98, 98, 98, 98, 98, 18,
98, 98, 98, 98, 98, 98, 98, 98, 26, 98,
98, 98, 98, 98, 98, 98, 98, 23, 98, 98,
98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
98, 0, 105, 0, 104, 98, 28, 98, 98, 95,
98, 98, 98, 98, 98, 98, 98, 21, 53, 98,
98, 98, 69, 98, 98, 58, 73, 98, 98, 98,
98, 98, 98, 98, 98, 70, 9, 33, 34, 35,
98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
98, 98, 98, 98, 98, 98, 56, 29, 98, 98,
98, 98, 98, 98, 36, 37, 38, 27, 98, 98,
98, 15, 42, 43, 44, 51, 12, 98, 98, 98,
98, 82, 83, 84, 98, 30, 74, 25, 85, 86,
87, 7, 79, 80, 81, 98, 24, 77, 98, 98,
39, 40, 41, 98, 98, 98, 98, 98, 98, 98,
98, 98, 71, 98, 98, 98, 98, 98, 98, 98,
98, 52, 98, 97, 98, 98, 19, 98, 98, 98,
98, 72, 66, 61, 98, 98, 98, 98, 98, 78,
57, 98, 64, 32, 98, 94, 65, 49, 76, 59,
98, 98, 98, 98, 98, 98, 98, 98, 60, 31,
98, 98, 98, 8, 98, 98, 98, 98, 98, 54,
13, 98, 14, 98, 98, 16, 67, 98, 98, 98,
62, 98, 98, 98, 98, 98, 98, 55, 75, 63,
11, 68, 6, 96, 10, 88, 45, 89, 98, 98,
98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
46, 98, 98, 98, 98, 98, 98, 98, 48, 98,
92, 98, 98, 98, 98, 98, 90, 98, 91, 98,
98, 98, 98, 98, 98, 47, 93, 0
0, 0, 0, 0, 0, 0, 215, 213, 212, 212,
197, 203, 208, 192, 193, 201, 200, 189, 198, 196,
202, 161, 161, 190, 186, 204, 191, 205, 209, 157,
194, 195, 207, 157, 157, 157, 157, 157, 157, 157,
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
157, 157, 157, 187, 206, 188, 199, 3, 4, 3,
211, 214, 210, 183, 169, 188, 177, 172, 167, 175,
165, 176, 166, 164, 2, 1, 168, 163, 159, 160,
0, 0, 161, 195, 187, 194, 184, 180, 182, 181,
185, 157, 173, 179, 157, 157, 157, 157, 157, 157,
157, 157, 157, 157, 157, 157, 17, 157, 157, 157,
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
20, 157, 157, 28, 157, 157, 157, 157, 157, 157,
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
157, 157, 157, 157, 157, 174, 178, 5, 210, 0,
1, 163, 0, 0, 162, 158, 170, 171, 157, 115,
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
157, 157, 157, 18, 157, 157, 157, 157, 157, 157,
157, 157, 157, 157, 32, 157, 157, 157, 157, 157,
157, 157, 157, 157, 157, 29, 157, 157, 157, 157,
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
157, 157, 157, 157, 157, 157, 157, 157, 0, 164,
0, 163, 157, 157, 157, 34, 157, 157, 23, 154,
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
21, 118, 157, 157, 157, 157, 26, 157, 157, 123,
135, 157, 157, 157, 157, 157, 157, 157, 157, 157,
157, 157, 132, 9, 39, 40, 41, 157, 157, 157,
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
157, 121, 35, 157, 157, 157, 157, 157, 157, 157,
157, 42, 43, 44, 33, 157, 157, 157, 157, 157,
157, 15, 48, 49, 50, 157, 116, 157, 157, 12,
157, 157, 157, 157, 144, 145, 146, 157, 36, 157,
136, 31, 147, 148, 149, 7, 141, 142, 143, 157,
157, 157, 30, 139, 157, 157, 157, 45, 46, 47,
157, 157, 157, 157, 157, 157, 157, 66, 157, 157,
157, 157, 157, 157, 157, 133, 157, 157, 157, 157,
157, 157, 157, 157, 157, 157, 157, 117, 157, 157,
156, 157, 157, 19, 157, 71, 157, 157, 157, 157,
69, 157, 157, 157, 134, 129, 72, 157, 157, 157,
157, 157, 157, 124, 157, 157, 157, 157, 157, 157,
157, 140, 122, 157, 157, 127, 157, 157, 157, 38,
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] =
......@@ -455,14 +487,14 @@ static yyconst flex_int32_t yy_ec[256] =
1, 2, 4, 1, 1, 1, 5, 6, 1, 7,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 20, 20, 21, 21, 22, 23, 24,
25, 26, 27, 1, 28, 28, 29, 30, 31, 28,
32, 32, 32, 32, 32, 32, 32, 32, 33, 32,
32, 34, 35, 32, 32, 32, 32, 36, 32, 32,
37, 1, 38, 39, 32, 1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 32, 49, 50, 51, 52,
53, 54, 32, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, 66, 67, 1, 1, 1, 1,
25, 26, 27, 1, 28, 29, 30, 31, 32, 33,
34, 34, 34, 34, 34, 34, 35, 34, 36, 34,
34, 37, 38, 34, 34, 34, 34, 39, 34, 34,
40, 1, 41, 42, 43, 1, 44, 45, 46, 47,
48, 49, 50, 51, 52, 34, 53, 54, 55, 56,
57, 58, 34, 59, 60, 61, 62, 63, 64, 65,
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,
......@@ -479,214 +511,315 @@ static yyconst flex_int32_t yy_ec[256] =
1, 1, 1, 1, 1
} ;
static yyconst flex_int32_t yy_meta[68] =
static yyconst flex_int32_t yy_meta[72] =
{ 0,
1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 3, 3, 3, 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, 3, 3, 4, 4, 4, 4, 4,
3, 3, 3, 4, 4, 4, 4, 4, 4, 1,
1, 1, 4, 3, 3, 3, 3, 3, 3, 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, 65, 66, 75, 0, 680, 681, 681, 681,
654, 45, 137, 681, 681, 653, 134, 681, 133, 131,
146, 159, 168, 651, 681, 186, 651, 47, 681, 0,
681, 681, 128, 100, 110, 152, 156, 146, 166, 622,
173, 109, 621, 126, 177, 615, 178, 628, 187, 184,
141, 197, 624, 681, 157, 681, 681, 681, 681, 656,
681, 681, 0, 681, 681, 681, 681, 681, 681, 681,
681, 681, 681, 236, 681, 0, 681, 243, 273, 282,
304, 0, 314, 681, 681, 681, 644, 681, 681, 681,
643, 0, 681, 681, 616, 609, 612, 620, 619, 606,
621, 608, 614, 602, 599, 612, 599, 596, 596, 602,
590, 189, 595, 605, 591, 597, 600, 601, 0, 216,
600, 188, 586, 599, 590, 592, 582, 596, 593, 595,
578, 583, 580, 569, 183, 577, 582, 578, 580, 569,
572, 220, 577, 569, 581, 176, 574, 681, 681, 681,
0, 331, 0, 344, 361, 290, 374, 0, 681, 681,
0, 566, 570, 579, 576, 560, 560, 215, 575, 572,
572, 570, 567, 559, 565, 552, 563, 549, 565, 0,
562, 550, 557, 554, 558, 551, 540, 539, 552, 555,
552, 547, 538, 260, 543, 546, 537, 534, 538, 544,
535, 526, 529, 527, 537, 523, 521, 534, 520, 522,
519, 530, 529, 283, 524, 519, 508, 264, 526, 528,
517, 381, 388, 395, 402, 518, 0, 516, 320, 0,
508, 506, 514, 503, 520, 509, 336, 0, 0, 503,
513, 513, 0, 498, 349, 0, 0, 500, 366, 501,
495, 494, 495, 494, 407, 0, 0, 0, 0, 0,
490, 491, 496, 487, 500, 495, 494, 486, 490, 482,
485, 489, 494, 480, 492, 483, 0, 0, 489, 478,
478, 483, 482, 479, 0, 0, 0, 0, 469, 481,
483, 0, 0, 0, 0, 0, 0, 471, 472, 466,
476, 0, 0, 0, 467, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 474, 0, 0, 472, 468,
0, 0, 0, 464, 460, 465, 455, 468, 454, 467,
456, 463, 0, 461, 463, 447, 449, 455, 461, 456,
444, 0, 446, 0, 445, 448, 0, 437, 436, 436,
449, 0, 451, 0, 450, 449, 434, 447, 434, 0,
0, 437, 0, 0, 429, 0, 0, 0, 0, 0,
426, 437, 430, 436, 433, 428, 420, 432, 0, 0,
425, 432, 421, 0, 430, 427, 417, 411, 425, 0,
0, 425, 0, 423, 422, 0, 0, 421, 407, 419,
0, 410, 431, 430, 429, 400, 396, 0, 0, 0,
0, 0, 0, 0, 0, 421, 250, 421, 411, 384,
392, 394, 390, 392, 391, 390, 393, 390, 391, 388,
0, 332, 343, 317, 329, 313, 317, 304, 321, 291,
0, 302, 280, 271, 255, 262, 0, 256, 0, 232,
206, 212, 148, 159, 113, 0, 0, 681, 442, 444,
446, 450, 161
0, 0, 69, 70, 79, 0, 988, 989, 989, 989,
962, 49, 145, 989, 989, 961, 142, 989, 141, 139,
154, 167, 176, 959, 989, 176, 959, 51, 989, 0,
989, 989, 136, 116, 112, 159, 157, 156, 173, 926,
174, 179, 925, 175, 189, 919, 185, 932, 197, 203,
204, 209, 113, 989, 186, 989, 989, 989, 989, 965,
989, 989, 0, 989, 989, 989, 989, 989, 989, 989,
989, 989, 989, 255, 989, 0, 989, 262, 280, 298,
317, 0, 332, 989, 989, 989, 953, 989, 989, 989,
952, 0, 989, 989, 915, 920, 206, 917, 925, 924,
911, 914, 925, 233, 919, 907, 904, 917, 904, 901,
901, 907, 237, 248, 901, 911, 897, 903, 906, 907,
0, 899, 909, 300, 908, 903, 109, 889, 902, 893,
268, 886, 262, 898, 900, 246, 889, 886, 875, 884,
206, 264, 888, 884, 886, 875, 878, 880, 279, 315,
875, 887, 150, 880, 879, 989, 989, 989, 0, 356,
0, 366, 384, 391, 400, 0, 989, 989, 878, 0,
874, 869, 873, 882, 879, 294, 863, 863, 874, 866,
225, 876, 873, 873, 871, 868, 860, 866, 853, 851,
863, 849, 865, 0, 862, 850, 857, 854, 858, 859,
852, 849, 838, 837, 850, 853, 841, 849, 844, 835,
371, 840, 843, 834, 841, 830, 834, 825, 839, 838,
829, 835, 283, 819, 822, 820, 830, 820, 815, 813,
815, 825, 811, 813, 810, 821, 820, 823, 313, 814,
810, 808, 797, 374, 815, 817, 806, 798, 407, 414,
421, 428, 795, 805, 804, 0, 802, 433, 0, 0,
795, 793, 793, 794, 789, 797, 786, 803, 792, 436,
0, 0, 786, 796, 795, 795, 0, 780, 439, 0,
0, 782, 442, 789, 790, 781, 775, 774, 775, 774,
774, 445, 0, 0, 0, 0, 0, 769, 770, 775,
769, 765, 778, 773, 773, 771, 770, 764, 758, 760,
759, 763, 755, 758, 753, 761, 766, 754, 751, 763,
754, 0, 0, 760, 756, 748, 748, 753, 744, 751,
748, 0, 0, 0, 0, 738, 750, 749, 748, 749,
749, 0, 0, 0, 0, 736, 0, 744, 735, 0,
734, 735, 729, 739, 0, 0, 0, 730, 0, 726,
0, 0, 0, 0, 0, 0, 0, 0, 0, 736,
449, 735, 0, 0, 733, 729, 726, 0, 0, 0,
724, 720, 725, 716, 714, 727, 712, 0, 712, 725,
714, 710, 716, 711, 718, 0, 716, 713, 717, 701,
699, 702, 708, 714, 709, 708, 696, 0, 698, 699,
0, 696, 699, 0, 693, 0, 706, 686, 695, 690,
0, 683, 683, 696, 0, 698, 0, 452, 710, 709,
708, 676, 675, 0, 692, 691, 686, 675, 688, 675,
672, 0, 0, 677, 676, 0, 673, 680, 679, 0,
665, 0, 0, 0, 0, 662, 0, 0, 661, 672,
455, 665, 671, 670, 667, 662, 659, 652, 652, 665,
650, 662, 0, 0, 655, 677, 676, 675, 643, 642,
341, 448, 0, 654, 657, 655, 644, 640, 0, 652,
649, 648, 638, 637, 627, 644, 630, 471, 638, 641,
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,
458, 1, 459, 459, 458, 5, 458, 458, 458, 458,
458, 458, 458, 458, 458, 458, 458, 458, 458, 458,
458, 458, 458, 458, 458, 458, 458, 458, 458, 460,
458, 458, 458, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 458, 458, 458, 458, 458, 458, 458,
458, 458, 461, 458, 458, 458, 458, 458, 458, 458,
458, 458, 458, 458, 458, 462, 458, 458, 458, 458,
458, 463, 458, 458, 458, 458, 458, 458, 458, 458,
458, 460, 458, 458, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 458, 458, 458,
461, 458, 462, 458, 458, 458, 458, 463, 458, 458,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 458, 458, 458, 458, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 0, 458, 458,
458, 458, 458
758, 1, 759, 759, 758, 5, 758, 758, 758, 758,
758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
758, 758, 758, 758, 758, 758, 758, 758, 758, 760,
758, 758, 758, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 758, 758, 758, 758, 758, 758, 758,
758, 758, 761, 758, 758, 758, 758, 758, 758, 758,
758, 758, 758, 758, 758, 762, 758, 758, 758, 758,
758, 763, 758, 758, 758, 758, 758, 758, 758, 758,
758, 760, 758, 758, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 758, 758, 758, 761, 758,
762, 758, 758, 758, 758, 763, 758, 758, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 758, 758,
758, 758, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 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,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 23, 23, 23, 23,
23, 24, 25, 26, 27, 28, 29, 30, 30, 30,
30, 30, 30, 30, 30, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 30, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
30, 30, 30, 54, 55, 56, 57, 59, 59, 65,
66, 90, 91, 60, 60, 8, 61, 62, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
30, 30, 30, 30, 30, 30, 30, 30, 30, 31,
32, 33, 30, 34, 35, 36, 37, 38, 39, 40,
41, 42, 30, 43, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 30, 30, 30, 54, 55, 56,
57, 59, 59, 65, 66, 90, 91, 60, 60, 8,
61, 62, 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,
63, 8, 8, 8, 63, 63, 63, 63, 63, 63,
63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
8, 8, 8, 8, 8, 8, 63, 63, 63, 63,
63, 63, 63, 63, 63, 63, 63, 63, 8, 8,
8, 8, 67, 70, 72, 74, 74, 74, 74, 74,
74, 74, 93, 119, 75, 95, 96, 73, 71, 76,
120, 68, 97, 158, 98, 123, 94, 121, 99, 124,
77, 78, 457, 79, 79, 79, 79, 79, 79, 80,
78, 148, 83, 83, 83, 83, 83, 83, 83, 81,
85, 100, 142, 456, 82, 107, 143, 108, 81, 103,
455, 101, 81, 104, 102, 110, 109, 86, 105, 87,
88, 81, 116, 111, 106, 112, 125, 128, 113, 82,
117, 149, 206, 219, 114, 220, 132, 138, 178, 126,
139, 118, 129, 133, 134, 130, 144, 207, 140, 192,
145, 179, 454, 135, 136, 141, 137, 193, 453, 146,
74, 74, 74, 74, 74, 74, 74, 154, 154, 154,
154, 154, 154, 154, 452, 186, 152, 214, 187, 188,
232, 233, 189, 155, 190, 215, 258, 259, 260, 152,
285, 286, 287, 422, 423, 78, 155, 79, 79, 79,
79, 79, 79, 80, 78, 451, 80, 80, 80, 80,
80, 80, 80, 81, 157, 157, 157, 157, 157, 157,
157, 450, 81, 156, 449, 156, 81, 448, 157, 157,
157, 157, 157, 157, 157, 81, 78, 280, 83, 83,
83, 83, 83, 83, 83, 281, 293, 294, 295, 447,
222, 446, 222, 445, 81, 223, 223, 223, 223, 223,
223, 223, 302, 303, 304, 444, 443, 81, 154, 154,
154, 154, 154, 154, 154, 309, 310, 311, 442, 441,
224, 440, 224, 439, 155, 225, 225, 225, 225, 225,
225, 225, 313, 314, 315, 438, 437, 155, 157, 157,
157, 157, 157, 157, 157, 223, 223, 223, 223, 223,
223, 223, 223, 223, 223, 223, 223, 223, 223, 225,
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
225, 225, 225, 321, 322, 323, 403, 404, 405, 436,
435, 434, 433, 432, 431, 430, 429, 428, 427, 406,
426, 407, 58, 58, 58, 58, 92, 92, 151, 151,
153, 425, 153, 153, 424, 421, 420, 419, 418, 417,
416, 415, 414, 413, 412, 411, 410, 409, 408, 402,
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, 63, 8, 8, 8, 8,
67, 70, 72, 74, 74, 74, 74, 74, 74, 74,
93, 95, 75, 154, 209, 73, 71, 76, 98, 68,
99, 155, 210, 166, 100, 96, 97, 94, 77, 78,
85, 79, 79, 79, 79, 79, 79, 80, 78, 757,
83, 83, 83, 83, 83, 83, 83, 86, 81, 87,
88, 245, 101, 246, 105, 82, 102, 81, 106, 109,
156, 110, 103, 107, 81, 104, 112, 118, 128, 108,
111, 756, 129, 81, 113, 119, 114, 121, 133, 115,
122, 82, 130, 123, 124, 116, 120, 635, 125, 636,
137, 126, 652, 134, 653, 131, 135, 138, 139, 229,
144, 140, 151, 145, 157, 148, 152, 141, 142, 149,
143, 146, 171, 150, 230, 153, 172, 755, 147, 74,
74, 74, 74, 74, 74, 74, 162, 162, 162, 162,
162, 162, 162, 179, 265, 266, 160, 180, 181, 222,
190, 192, 78, 163, 79, 79, 79, 79, 79, 79,
80, 191, 160, 754, 193, 223, 224, 217, 231, 163,
78, 81, 80, 80, 80, 80, 80, 80, 80, 214,
218, 232, 219, 753, 752, 215, 164, 81, 164, 81,
239, 165, 165, 165, 165, 165, 165, 165, 240, 309,
751, 259, 750, 310, 78, 81, 83, 83, 83, 83,
83, 83, 83, 202, 260, 749, 203, 204, 241, 748,
205, 326, 206, 81, 747, 249, 242, 249, 524, 327,
250, 250, 250, 250, 250, 250, 250, 746, 525, 81,
162, 162, 162, 162, 162, 162, 162, 295, 296, 297,
332, 333, 334, 251, 745, 251, 744, 163, 252, 252,
252, 252, 252, 252, 252, 165, 165, 165, 165, 165,
165, 165, 743, 163, 165, 165, 165, 165, 165, 165,
165, 250, 250, 250, 250, 250, 250, 250, 250, 250,
250, 250, 250, 250, 250, 252, 252, 252, 252, 252,
252, 252, 252, 252, 252, 252, 252, 252, 252, 343,
344, 345, 355, 356, 357, 363, 364, 365, 367, 368,
369, 378, 379, 380, 429, 430, 431, 476, 477, 478,
502, 503, 504, 742, 741, 526, 740, 432, 433, 608,
479, 480, 739, 505, 506, 527, 541, 542, 543, 609,
572, 573, 590, 591, 610, 738, 611, 612, 737, 544,
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,
391, 390, 389, 388, 387, 386, 385, 384, 383, 382,
381, 380, 379, 378, 377, 376, 375, 374, 373, 372,
371, 370, 369, 368, 367, 366, 365, 364, 363, 362,
361, 360, 359, 358, 357, 356, 355, 354, 353, 352,
351, 350, 349, 348, 347, 346, 345, 344, 343, 342,
341, 340, 339, 338, 337, 336, 335, 334, 333, 332,
331, 330, 329, 328, 327, 326, 325, 324, 320, 319,
318, 317, 316, 312, 308, 307, 306, 305, 301, 300,
299, 298, 297, 296, 292, 291, 290, 289, 288, 284,
283, 282, 279, 278, 277, 276, 275, 274, 273, 272,
271, 270, 269, 268, 267, 266, 265, 264, 263, 262,
261, 257, 256, 255, 254, 253, 252, 251, 250, 249,
248, 247, 246, 245, 244, 243, 242, 241, 240, 239,
238, 237, 236, 235, 234, 231, 230, 229, 228, 227,
226, 221, 218, 217, 216, 213, 212, 211, 210, 209,
208, 205, 204, 203, 202, 201, 200, 199, 198, 197,
196, 195, 194, 191, 185, 184, 183, 182, 181, 180,
177, 176, 175, 174, 173, 172, 171, 170, 169, 168,
167, 166, 165, 164, 163, 162, 161, 160, 159, 150,
147, 131, 127, 122, 115, 89, 84, 69, 64, 458,
7, 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, 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
381, 377, 376, 375, 374, 373, 372, 371, 370, 366,
362, 361, 360, 359, 358, 354, 353, 352, 351, 350,
349, 348, 347, 346, 342, 341, 340, 339, 338, 337,
336, 335, 331, 330, 329, 328, 325, 324, 323, 322,
321, 320, 319, 318, 317, 316, 315, 314, 313, 312,
311, 308, 307, 306, 305, 304, 303, 302, 301, 300,
299, 298, 294, 293, 292, 291, 290, 289, 288, 287,
286, 285, 284, 283, 282, 281, 280, 279, 278, 277,
276, 275, 274, 273, 272, 271, 270, 269, 268, 267,
264, 263, 262, 261, 258, 257, 256, 255, 254, 253,
248, 247, 244, 243, 238, 237, 236, 235, 234, 233,
228, 227, 226, 225, 221, 220, 216, 213, 212, 211,
208, 207, 201, 200, 199, 198, 197, 196, 195, 194,
189, 188, 187, 186, 185, 184, 183, 182, 178, 177,
176, 175, 174, 173, 170, 169, 168, 167, 158, 136,
132, 127, 117, 89, 84, 69, 64, 758, 7, 758,
758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
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
} ;
static yyconst flex_int16_t yy_chk[749] =
static yyconst flex_int16_t yy_chk[1061] =
{ 0,
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] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 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,
12, 28, 28, 3, 4, 5, 5, 5, 5, 5,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
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,
......@@ -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, 13, 17, 19, 20, 20, 20, 20, 20,
20, 20, 33, 42, 21, 34, 34, 19, 17, 21,
42, 13, 35, 463, 35, 44, 33, 42, 35, 44,
21, 22, 455, 22, 22, 22, 22, 22, 22, 22,
23, 55, 23, 23, 23, 23, 23, 23, 23, 22,
26, 36, 51, 454, 22, 38, 51, 38, 23, 37,
453, 36, 22, 37, 36, 39, 38, 26, 37, 26,
26, 23, 41, 39, 37, 39, 45, 47, 39, 22,
41, 55, 135, 146, 39, 146, 49, 50, 112, 45,
50, 41, 47, 49, 49, 47, 52, 135, 50, 122,
52, 112, 452, 49, 49, 50, 49, 122, 451, 52,
74, 74, 74, 74, 74, 74, 74, 78, 78, 78,
78, 78, 78, 78, 450, 120, 74, 142, 120, 120,
168, 168, 120, 78, 120, 142, 194, 194, 194, 74,
218, 218, 218, 417, 417, 79, 78, 79, 79, 79,
79, 79, 79, 79, 80, 448, 80, 80, 80, 80,
80, 80, 80, 79, 156, 156, 156, 156, 156, 156,
156, 446, 80, 81, 445, 81, 79, 444, 81, 81,
81, 81, 81, 81, 81, 80, 83, 214, 83, 83,
83, 83, 83, 83, 83, 214, 229, 229, 229, 443,
152, 442, 152, 440, 83, 152, 152, 152, 152, 152,
152, 152, 237, 237, 237, 439, 438, 83, 154, 154,
154, 154, 154, 154, 154, 245, 245, 245, 437, 436,
155, 435, 155, 434, 154, 155, 155, 155, 155, 155,
155, 155, 249, 249, 249, 433, 432, 154, 157, 157,
157, 157, 157, 157, 157, 222, 222, 222, 222, 222,
222, 222, 223, 223, 223, 223, 223, 223, 223, 224,
224, 224, 224, 224, 224, 224, 225, 225, 225, 225,
225, 225, 225, 255, 255, 255, 388, 388, 388, 430,
429, 428, 427, 426, 425, 424, 423, 422, 421, 388,
420, 388, 459, 459, 459, 459, 460, 460, 461, 461,
462, 419, 462, 462, 418, 416, 407, 406, 405, 404,
403, 402, 400, 399, 398, 395, 394, 392, 389, 387,
386, 385, 383, 382, 381, 378, 377, 376, 375, 374,
373, 372, 371, 365, 362, 359, 358, 357, 356, 355,
353, 351, 350, 349, 348, 346, 345, 343, 341, 340,
339, 338, 337, 336, 335, 334, 332, 331, 330, 329,
328, 327, 326, 325, 324, 320, 319, 316, 305, 301,
300, 299, 298, 291, 290, 289, 284, 283, 282, 281,
280, 279, 276, 275, 274, 273, 272, 271, 270, 269,
268, 267, 266, 265, 264, 263, 262, 261, 254, 253,
252, 251, 250, 248, 244, 242, 241, 240, 236, 235,
234, 233, 232, 231, 228, 226, 221, 220, 219, 217,
216, 215, 213, 212, 211, 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, 181, 179, 178, 177, 176, 175, 174,
173, 172, 171, 170, 169, 167, 166, 165, 164, 163,
162, 147, 145, 144, 143, 141, 140, 139, 138, 137,
136, 134, 133, 132, 131, 130, 129, 128, 127, 126,
125, 124, 123, 121, 118, 117, 116, 115, 114, 113,
111, 110, 109, 108, 107, 106, 105, 104, 103, 102,
101, 100, 99, 98, 97, 96, 95, 91, 87, 60,
53, 48, 46, 43, 40, 27, 24, 16, 11, 7,
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, 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
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
13, 17, 19, 20, 20, 20, 20, 20, 20, 20,
33, 34, 21, 53, 127, 19, 17, 21, 35, 13,
35, 53, 127, 763, 35, 34, 34, 33, 21, 22,
26, 22, 22, 22, 22, 22, 22, 22, 23, 755,
23, 23, 23, 23, 23, 23, 23, 26, 22, 26,
26, 153, 36, 153, 37, 22, 36, 23, 37, 38,
55, 38, 36, 37, 22, 36, 39, 41, 44, 37,
38, 753, 44, 23, 39, 41, 39, 42, 47, 39,
42, 22, 45, 42, 42, 39, 41, 605, 42, 605,
49, 42, 623, 47, 623, 45, 47, 49, 49, 141,
50, 49, 52, 50, 55, 51, 52, 49, 49, 51,
49, 50, 97, 51, 141, 52, 97, 752, 50, 74,
74, 74, 74, 74, 74, 74, 78, 78, 78, 78,
78, 78, 78, 104, 181, 181, 74, 104, 104, 136,
113, 114, 79, 78, 79, 79, 79, 79, 79, 79,
79, 113, 74, 748, 114, 136, 136, 133, 142, 78,
80, 79, 80, 80, 80, 80, 80, 80, 80, 131,
133, 142, 133, 747, 746, 131, 81, 79, 81, 80,
149, 81, 81, 81, 81, 81, 81, 81, 149, 223,
744, 176, 743, 223, 83, 80, 83, 83, 83, 83,
83, 83, 83, 124, 176, 742, 124, 124, 150, 741,
124, 239, 124, 83, 740, 160, 150, 160, 481, 239,
160, 160, 160, 160, 160, 160, 160, 738, 481, 83,
162, 162, 162, 162, 162, 162, 162, 211, 211, 211,
244, 244, 244, 163, 737, 163, 736, 162, 163, 163,
163, 163, 163, 163, 163, 164, 164, 164, 164, 164,
164, 164, 735, 162, 165, 165, 165, 165, 165, 165,
165, 249, 249, 249, 249, 249, 249, 249, 250, 250,
250, 250, 250, 250, 250, 251, 251, 251, 251, 251,
251, 251, 252, 252, 252, 252, 252, 252, 252, 258,
258, 258, 270, 270, 270, 279, 279, 279, 283, 283,
283, 292, 292, 292, 371, 371, 371, 428, 428, 428,
461, 461, 461, 734, 732, 482, 730, 371, 371, 579,
428, 428, 729, 461, 461, 482, 498, 498, 498, 579,
532, 532, 555, 555, 580, 727, 580, 580, 726, 498,
498, 724, 498, 532, 723, 555, 759, 759, 759, 759,
760, 760, 761, 761, 762, 720, 762, 762, 719, 718,
717, 716, 715, 714, 713, 710, 709, 708, 707, 706,
705, 704, 703, 700, 697, 696, 695, 694, 693, 691,
690, 689, 688, 686, 684, 681, 680, 679, 678, 676,
675, 674, 673, 672, 671, 670, 669, 668, 667, 666,
665, 664, 663, 662, 661, 660, 659, 658, 656, 655,
654, 653, 652, 651, 650, 649, 648, 647, 645, 644,
643, 642, 641, 640, 639, 638, 637, 636, 635, 634,
632, 631, 630, 629, 628, 627, 626, 624, 622, 620,
619, 618, 616, 615, 614, 613, 612, 611, 610, 609,
608, 607, 606, 604, 603, 602, 601, 600, 599, 597,
596, 595, 594, 592, 591, 590, 589, 588, 587, 586,
585, 584, 583, 582, 581, 576, 574, 573, 572, 568,
567, 566, 565, 564, 563, 562, 561, 560, 558, 557,
553, 552, 550, 549, 547, 546, 545, 544, 543, 542,
541, 537, 536, 535, 533, 531, 530, 529, 528, 527,
526, 525, 524, 523, 522, 520, 519, 514, 513, 512,
511, 509, 508, 506, 505, 504, 503, 502, 500, 499,
497, 496, 495, 494, 493, 492, 491, 490, 488, 487,
486, 485, 484, 480, 479, 478, 477, 476, 475, 472,
471, 470, 469, 468, 467, 466, 465, 464, 463, 462,
460, 459, 456, 451, 449, 448, 447, 445, 444, 441,
440, 439, 438, 437, 436, 435, 433, 432, 431, 430,
429, 426, 424, 423, 422, 420, 419, 418, 417, 415,
413, 412, 410, 409, 407, 406, 405, 404, 403, 402,
401, 400, 399, 398, 397, 395, 394, 393, 392, 391,
390, 389, 387, 386, 385, 384, 383, 382, 381, 377,
376, 375, 372, 370, 360, 358, 354, 353, 352, 351,
349, 348, 346, 341, 340, 339, 338, 337, 336, 331,
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. */
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, 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,
......@@ -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, 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
* any uses of REJECT which flex missed.
......@@ -793,7 +963,7 @@ static yyconst flex_int32_t yy_rule_can_match_eol[156] =
#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
// found in the LICENSE file.
//
......@@ -844,8 +1014,8 @@ struct yyguts_t
size_t yy_buffer_stack_max; /**< capacity of stack. */
YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
char yy_hold_char;
yy_size_t yy_n_chars;
yy_size_t yyleng_r;
int yy_n_chars;
int yyleng_r;
char *yy_c_buf_p;
int yy_init;
int yy_start;
......@@ -898,7 +1068,7 @@ FILE *yyget_out (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 );
......@@ -967,7 +1137,7 @@ static int input (yyscan_t yyscanner );
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
int c = '*'; \
yy_size_t n; \
int n; \
for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
......@@ -1109,13 +1279,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 459 )
if ( yy_current_state >= 759 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
while ( yy_current_state != 458 );
while ( yy_current_state != 758 );
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
......@@ -1126,7 +1296,7 @@ yy_find_action:
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 )
if ( yytext[yyl] == '\n' )
......@@ -1188,7 +1358,7 @@ YY_RULE_SETUP
YY_BREAK
case 11:
YY_RULE_SETUP
{ return(ATTRIBUTE); }
{ if (context->shaderVersion < 300) return(ATTRIBUTE); return reserved_word(yyscanner); }
YY_BREAK
case 12:
YY_RULE_SETUP
......@@ -1200,7 +1370,7 @@ YY_RULE_SETUP
YY_BREAK
case 14:
YY_RULE_SETUP
{ return(VARYING); }
{ if (context->shaderVersion < 300) return(VARYING); return reserved_word(yyscanner); }
YY_BREAK
case 15:
YY_RULE_SETUP
......@@ -1232,524 +1402,480 @@ YY_RULE_SETUP
YY_BREAK
case 22:
YY_RULE_SETUP
{ return(IN_QUAL); }
{ if (context->shaderVersion < 300) return reserved_word(yyscanner); return(SWITCH); }
YY_BREAK
case 23:
YY_RULE_SETUP
{ return(OUT_QUAL); }
{ if (context->shaderVersion < 300) return reserved_word(yyscanner); return(CASE); }
YY_BREAK
case 24:
YY_RULE_SETUP
{ return(INOUT_QUAL); }
{ if (context->shaderVersion < 300) return reserved_word(yyscanner); return(DEFAULT); }
YY_BREAK
case 25:
YY_RULE_SETUP
{ context->lexAfterType = true; return(FLOAT_TYPE); }
{ if (context->shaderVersion < 300) return reserved_word(yyscanner); return(CENTROID); }
YY_BREAK
case 26:
YY_RULE_SETUP
{ context->lexAfterType = true; return(INT_TYPE); }
{ if (context->shaderVersion < 300) return reserved_word(yyscanner); return(FLAT); }
YY_BREAK
case 27:
YY_RULE_SETUP
{ context->lexAfterType = true; return(VOID_TYPE); }
{ if (context->shaderVersion < 300) return reserved_word(yyscanner); return(SMOOTH); }
YY_BREAK
case 28:
YY_RULE_SETUP
{ context->lexAfterType = true; return(BOOL_TYPE); }
{ return(IN_QUAL); }
YY_BREAK
case 29:
YY_RULE_SETUP
{ yylval->lex.b = true; return(BOOLCONSTANT); }
{ return(OUT_QUAL); }
YY_BREAK
case 30:
YY_RULE_SETUP
{ yylval->lex.b = false; return(BOOLCONSTANT); }
{ return(INOUT_QUAL); }
YY_BREAK
case 31:
YY_RULE_SETUP
{ return(DISCARD); }
{ context->lexAfterType = true; return(FLOAT_TYPE); }
YY_BREAK
case 32:
YY_RULE_SETUP
{ return(RETURN); }
{ context->lexAfterType = true; return(INT_TYPE); }
YY_BREAK
case 33:
YY_RULE_SETUP
{ context->lexAfterType = true; return(MATRIX2); }
{ context->lexAfterType = true; return(VOID_TYPE); }
YY_BREAK
case 34:
YY_RULE_SETUP
{ context->lexAfterType = true; return(MATRIX3); }
{ context->lexAfterType = true; return(BOOL_TYPE); }
YY_BREAK
case 35:
YY_RULE_SETUP
{ context->lexAfterType = true; return(MATRIX4); }
{ yylval->lex.b = true; return(BOOLCONSTANT); }
YY_BREAK
case 36:
YY_RULE_SETUP
{ context->lexAfterType = true; return (VEC2); }
{ yylval->lex.b = false; return(BOOLCONSTANT); }
YY_BREAK
case 37:
YY_RULE_SETUP
{ context->lexAfterType = true; return (VEC3); }
{ return(DISCARD); }
YY_BREAK
case 38:
YY_RULE_SETUP
{ context->lexAfterType = true; return (VEC4); }
{ return(RETURN); }
YY_BREAK
case 39:
YY_RULE_SETUP
{ context->lexAfterType = true; return (IVEC2); }
{ context->lexAfterType = true; return(MATRIX2); }
YY_BREAK
case 40:
YY_RULE_SETUP
{ context->lexAfterType = true; return (IVEC3); }
{ context->lexAfterType = true; return(MATRIX3); }
YY_BREAK
case 41:
YY_RULE_SETUP
{ context->lexAfterType = true; return (IVEC4); }
{ context->lexAfterType = true; return(MATRIX4); }
YY_BREAK
case 42:
YY_RULE_SETUP
{ context->lexAfterType = true; return (BVEC2); }
{ context->lexAfterType = true; return (VEC2); }
YY_BREAK
case 43:
YY_RULE_SETUP
{ context->lexAfterType = true; return (BVEC3); }
{ context->lexAfterType = true; return (VEC3); }
YY_BREAK
case 44:
YY_RULE_SETUP
{ context->lexAfterType = true; return (BVEC4); }
{ context->lexAfterType = true; return (VEC4); }
YY_BREAK
case 45:
YY_RULE_SETUP
{ context->lexAfterType = true; return SAMPLER2D; }
{ context->lexAfterType = true; return (IVEC2); }
YY_BREAK
case 46:
YY_RULE_SETUP
{ context->lexAfterType = true; return SAMPLERCUBE; }
{ context->lexAfterType = true; return (IVEC3); }
YY_BREAK
case 47:
YY_RULE_SETUP
{ context->lexAfterType = true; return SAMPLER_EXTERNAL_OES; }
{ context->lexAfterType = true; return (IVEC4); }
YY_BREAK
case 48:
YY_RULE_SETUP
{ context->lexAfterType = true; return SAMPLER2DRECT; }
{ context->lexAfterType = true; return (BVEC2); }
YY_BREAK
case 49:
YY_RULE_SETUP
{ context->lexAfterType = true; return(STRUCT); }
{ context->lexAfterType = true; return (BVEC3); }
YY_BREAK
case 50:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
{ context->lexAfterType = true; return (BVEC4); }
YY_BREAK
case 51:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
{ context->lexAfterType = true; return SAMPLER2D; }
YY_BREAK
case 52:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
{ context->lexAfterType = true; return SAMPLERCUBE; }
YY_BREAK
case 53:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
{ context->lexAfterType = true; return SAMPLER_EXTERNAL_OES; }
YY_BREAK
case 54:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
{ if (context->shaderVersion < 300) return reserved_word(yyscanner); context->lexAfterType = true; return SAMPLER3D; }
YY_BREAK
case 55:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
{ if (context->shaderVersion < 300) return reserved_word(yyscanner); context->lexAfterType = true; return SAMPLER3DRECT; }
YY_BREAK
case 56:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
{ if (context->shaderVersion < 300) return reserved_word(yyscanner); context->lexAfterType = true; return SAMPLER2DSHADOW; }
YY_BREAK
case 57:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
{ context->lexAfterType = true; return SAMPLER2DRECT; }
YY_BREAK
case 58:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
{ context->lexAfterType = true; return(STRUCT); }
YY_BREAK
/* Reserved keywords for GLSL ES 3.00 that are not reserved for GLSL ES 1.00 */
case 59:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 60:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 61:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 62:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 63:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 64:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 65:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 66:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 67:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 68:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 69:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 70:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 71:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 72:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 73:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 74:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 75:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 76:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 77:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 78:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 79:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 80:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 81:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 82:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 83:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 84:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 85:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 86:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 87:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 88:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 89:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 90:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 91:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 92:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 93:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 94:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
case 95:
YY_RULE_SETUP
{ return reserved_word(yyscanner); }
YY_BREAK
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
{ return reserved_word(yyscanner); }
{
if (context->shaderVersion < 300) {
yylval->lex.string = NewPoolTString(yytext);
return check_type(yyscanner);
}
return reserved_word(yyscanner);
}
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
{ return reserved_word(yyscanner); }
YY_BREAK
case 98:
case 157:
YY_RULE_SETUP
{
yylval->lex.string = NewPoolTString(yytext);
return check_type(yyscanner);
}
YY_BREAK
case 99:
case 158:
YY_RULE_SETUP
{ yylval->lex.i = static_cast<int>(strtol(yytext, 0, 0)); return(INTCONSTANT); }
YY_BREAK
case 100:
case 159:
YY_RULE_SETUP
{ yylval->lex.i = static_cast<int>(strtol(yytext, 0, 0)); return(INTCONSTANT); }
YY_BREAK
case 101:
case 160:
YY_RULE_SETUP
{ context->error(yylineno, "Invalid Octal number.", yytext); context->recover(); return 0;}
YY_BREAK
case 102:
case 161:
YY_RULE_SETUP
{ yylval->lex.i = static_cast<int>(strtol(yytext, 0, 0)); return(INTCONSTANT); }
YY_BREAK
case 103:
case 162:
YY_RULE_SETUP
{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK
case 104:
case 163:
YY_RULE_SETUP
{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK
case 105:
case 164:
YY_RULE_SETUP
{ yylval->lex.f = static_cast<float>(atof_dot(yytext)); return(FLOATCONSTANT); }
YY_BREAK
case 106:
case 165:
YY_RULE_SETUP
{ return(ADD_ASSIGN); }
YY_BREAK
case 107:
case 166:
YY_RULE_SETUP
{ return(SUB_ASSIGN); }
YY_BREAK
case 108:
case 167:
YY_RULE_SETUP
{ return(MUL_ASSIGN); }
YY_BREAK
case 109:
case 168:
YY_RULE_SETUP
{ return(DIV_ASSIGN); }
YY_BREAK
case 110:
case 169:
YY_RULE_SETUP
{ return(MOD_ASSIGN); }
YY_BREAK
case 111:
case 170:
YY_RULE_SETUP
{ return(LEFT_ASSIGN); }
YY_BREAK
case 112:
case 171:
YY_RULE_SETUP
{ return(RIGHT_ASSIGN); }
YY_BREAK
case 113:
case 172:
YY_RULE_SETUP
{ return(AND_ASSIGN); }
YY_BREAK
case 114:
case 173:
YY_RULE_SETUP
{ return(XOR_ASSIGN); }
YY_BREAK
case 115:
case 174:
YY_RULE_SETUP
{ return(OR_ASSIGN); }
YY_BREAK
case 116:
case 175:
YY_RULE_SETUP
{ return(INC_OP); }
YY_BREAK
case 117:
case 176:
YY_RULE_SETUP
{ return(DEC_OP); }
YY_BREAK
case 118:
case 177:
YY_RULE_SETUP
{ return(AND_OP); }
YY_BREAK
case 119:
case 178:
YY_RULE_SETUP
{ return(OR_OP); }
YY_BREAK
case 120:
case 179:
YY_RULE_SETUP
{ return(XOR_OP); }
YY_BREAK
case 121:
case 180:
YY_RULE_SETUP
{ return(LE_OP); }
YY_BREAK
case 122:
case 181:
YY_RULE_SETUP
{ return(GE_OP); }
YY_BREAK
case 123:
case 182:
YY_RULE_SETUP
{ return(EQ_OP); }
YY_BREAK
case 124:
case 183:
YY_RULE_SETUP
{ return(NE_OP); }
YY_BREAK
case 125:
case 184:
YY_RULE_SETUP
{ return(LEFT_OP); }
YY_BREAK
case 126:
case 185:
YY_RULE_SETUP
{ return(RIGHT_OP); }
YY_BREAK
case 127:
case 186:
YY_RULE_SETUP
{ context->lexAfterType = false; return(SEMICOLON); }
YY_BREAK
case 128:
case 187:
YY_RULE_SETUP
{ context->lexAfterType = false; return(LEFT_BRACE); }
YY_BREAK
case 129:
case 188:
YY_RULE_SETUP
{ return(RIGHT_BRACE); }
YY_BREAK
case 130:
case 189:
YY_RULE_SETUP
{ if (context->inTypeParen) context->lexAfterType = false; return(COMMA); }
YY_BREAK
case 131:
case 190:
YY_RULE_SETUP
{ return(COLON); }
YY_BREAK
case 132:
case 191:
YY_RULE_SETUP
{ context->lexAfterType = false; return(EQUAL); }
YY_BREAK
case 133:
case 192:
YY_RULE_SETUP
{ context->lexAfterType = false; context->inTypeParen = true; return(LEFT_PAREN); }
YY_BREAK
case 134:
case 193:
YY_RULE_SETUP
{ context->inTypeParen = false; return(RIGHT_PAREN); }
YY_BREAK
case 135:
case 194:
YY_RULE_SETUP
{ return(LEFT_BRACKET); }
YY_BREAK
case 136:
case 195:
YY_RULE_SETUP
{ return(RIGHT_BRACKET); }
YY_BREAK
case 137:
case 196:
YY_RULE_SETUP
{ BEGIN(FIELDS); return(DOT); }
YY_BREAK
case 138:
case 197:
YY_RULE_SETUP
{ return(BANG); }
YY_BREAK
case 139:
case 198:
YY_RULE_SETUP
{ return(DASH); }
YY_BREAK
case 140:
case 199:
YY_RULE_SETUP
{ return(TILDE); }
YY_BREAK
case 141:
case 200:
YY_RULE_SETUP
{ return(PLUS); }
YY_BREAK
case 142:
case 201:
YY_RULE_SETUP
{ return(STAR); }
YY_BREAK
case 143:
case 202:
YY_RULE_SETUP
{ return(SLASH); }
YY_BREAK
case 144:
case 203:
YY_RULE_SETUP
{ return(PERCENT); }
YY_BREAK
case 145:
case 204:
YY_RULE_SETUP
{ return(LEFT_ANGLE); }
YY_BREAK
case 146:
case 205:
YY_RULE_SETUP
{ return(RIGHT_ANGLE); }
YY_BREAK
case 147:
case 206:
YY_RULE_SETUP
{ return(VERTICAL_BAR); }
YY_BREAK
case 148:
case 207:
YY_RULE_SETUP
{ return(CARET); }
YY_BREAK
case 149:
case 208:
YY_RULE_SETUP
{ return(AMPERSAND); }
YY_BREAK
case 150:
case 209:
YY_RULE_SETUP
{ return(QUESTION); }
YY_BREAK
case 151:
case 210:
YY_RULE_SETUP
{
BEGIN(INITIAL);
......@@ -1757,12 +1883,12 @@ YY_RULE_SETUP
return FIELD_SELECTION;
}
YY_BREAK
case 152:
case 211:
YY_RULE_SETUP
{}
YY_BREAK
case 153:
/* rule 153 can match eol */
case 212:
/* rule 212 can match eol */
YY_RULE_SETUP
{ }
YY_BREAK
......@@ -1771,11 +1897,11 @@ case YY_STATE_EOF(COMMENT):
case YY_STATE_EOF(FIELDS):
{ context->AfterEOF = true; yyterminate(); }
YY_BREAK
case 154:
case 213:
YY_RULE_SETUP
{ context->warning(yylineno, "Unknown char", yytext, ""); return 0; }
YY_BREAK
case 155:
case 214:
YY_RULE_SETUP
ECHO;
YY_BREAK
......@@ -1964,7 +2090,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
else
{
yy_size_t num_to_read =
int num_to_read =
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
......@@ -1978,7 +2104,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
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 )
b->yy_buf_size += b->yy_buf_size / 8;
......@@ -2009,7 +2135,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
/* Read in more data. */
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;
}
......@@ -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 )
{
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_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)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 459 )
if ( yy_current_state >= 759 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
yy_is_jam = (yy_current_state == 458);
yy_is_jam = (yy_current_state == 758);
return yy_is_jam ? 0 : yy_current_state;
}
......@@ -2134,7 +2260,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
else
{ /* 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;
switch ( yy_get_next_buffer( yyscanner ) )
......@@ -2158,7 +2284,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
case EOB_ACT_END_OF_FILE:
{
if ( yywrap(yyscanner ) )
return 0;
return EOF;
if ( ! yyg->yy_did_buffer_switch_on_eof )
YY_NEW_FILE;
......@@ -2421,7 +2547,7 @@ void yypop_buffer_state (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;
if (!yyg->yy_buffer_stack) {
......@@ -2519,11 +2645,12 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr , yyscan_t yyscanner)
* @param yyscanner The scanner 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;
char *buf;
yy_size_t n, i;
yy_size_t n;
int i;
/* Get memory for full buffer, including space for trailing EOB's. */
n = _yybytes_len + 2;
......@@ -2673,7 +2800,7 @@ FILE *yyget_out (yyscan_t yyscanner)
/** Get the length of the current token.
* @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;
return yyleng;
......
......@@ -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
// found in the LICENSE file.
//
......@@ -141,81 +141,90 @@
IF = 273,
DISCARD = 274,
RETURN = 275,
BVEC2 = 276,
BVEC3 = 277,
BVEC4 = 278,
IVEC2 = 279,
IVEC3 = 280,
IVEC4 = 281,
VEC2 = 282,
VEC3 = 283,
VEC4 = 284,
MATRIX2 = 285,
MATRIX3 = 286,
MATRIX4 = 287,
IN_QUAL = 288,
OUT_QUAL = 289,
INOUT_QUAL = 290,
UNIFORM = 291,
VARYING = 292,
STRUCT = 293,
VOID_TYPE = 294,
WHILE = 295,
SAMPLER2D = 296,
SAMPLERCUBE = 297,
SAMPLER_EXTERNAL_OES = 298,
SAMPLER2DRECT = 299,
IDENTIFIER = 300,
TYPE_NAME = 301,
FLOATCONSTANT = 302,
INTCONSTANT = 303,
BOOLCONSTANT = 304,
FIELD_SELECTION = 305,
LEFT_OP = 306,
RIGHT_OP = 307,
INC_OP = 308,
DEC_OP = 309,
LE_OP = 310,
GE_OP = 311,
EQ_OP = 312,
NE_OP = 313,
AND_OP = 314,
OR_OP = 315,
XOR_OP = 316,
MUL_ASSIGN = 317,
DIV_ASSIGN = 318,
ADD_ASSIGN = 319,
MOD_ASSIGN = 320,
LEFT_ASSIGN = 321,
RIGHT_ASSIGN = 322,
AND_ASSIGN = 323,
XOR_ASSIGN = 324,
OR_ASSIGN = 325,
SUB_ASSIGN = 326,
LEFT_PAREN = 327,
RIGHT_PAREN = 328,
LEFT_BRACKET = 329,
RIGHT_BRACKET = 330,
LEFT_BRACE = 331,
RIGHT_BRACE = 332,
DOT = 333,
COMMA = 334,
COLON = 335,
EQUAL = 336,
SEMICOLON = 337,
BANG = 338,
DASH = 339,
TILDE = 340,
PLUS = 341,
STAR = 342,
SLASH = 343,
PERCENT = 344,
LEFT_ANGLE = 345,
RIGHT_ANGLE = 346,
VERTICAL_BAR = 347,
CARET = 348,
AMPERSAND = 349,
QUESTION = 350
SWITCH = 276,
CASE = 277,
DEFAULT = 278,
BVEC2 = 279,
BVEC3 = 280,
BVEC4 = 281,
IVEC2 = 282,
IVEC3 = 283,
IVEC4 = 284,
VEC2 = 285,
VEC3 = 286,
VEC4 = 287,
MATRIX2 = 288,
MATRIX3 = 289,
MATRIX4 = 290,
IN_QUAL = 291,
OUT_QUAL = 292,
INOUT_QUAL = 293,
UNIFORM = 294,
VARYING = 295,
CENTROID = 296,
FLAT = 297,
SMOOTH = 298,
STRUCT = 299,
VOID_TYPE = 300,
WHILE = 301,
SAMPLER2D = 302,
SAMPLERCUBE = 303,
SAMPLER_EXTERNAL_OES = 304,
SAMPLER2DRECT = 305,
SAMPLER3D = 306,
SAMPLER3DRECT = 307,
SAMPLER2DSHADOW = 308,
IDENTIFIER = 309,
TYPE_NAME = 310,
FLOATCONSTANT = 311,
INTCONSTANT = 312,
BOOLCONSTANT = 313,
FIELD_SELECTION = 314,
LEFT_OP = 315,
RIGHT_OP = 316,
INC_OP = 317,
DEC_OP = 318,
LE_OP = 319,
GE_OP = 320,
EQ_OP = 321,
NE_OP = 322,
AND_OP = 323,
OR_OP = 324,
XOR_OP = 325,
MUL_ASSIGN = 326,
DIV_ASSIGN = 327,
ADD_ASSIGN = 328,
MOD_ASSIGN = 329,
LEFT_ASSIGN = 330,
RIGHT_ASSIGN = 331,
AND_ASSIGN = 332,
XOR_ASSIGN = 333,
OR_ASSIGN = 334,
SUB_ASSIGN = 335,
LEFT_PAREN = 336,
RIGHT_PAREN = 337,
LEFT_BRACKET = 338,
RIGHT_BRACKET = 339,
LEFT_BRACE = 340,
RIGHT_BRACE = 341,
DOT = 342,
COMMA = 343,
COLON = 344,
EQUAL = 345,
SEMICOLON = 346,
BANG = 347,
DASH = 348,
TILDE = 349,
PLUS = 350,
STAR = 351,
SLASH = 352,
PERCENT = 353,
LEFT_ANGLE = 354,
RIGHT_ANGLE = 355,
VERTICAL_BAR = 356,
CARET = 357,
AMPERSAND = 358,
QUESTION = 359
};
#endif
......@@ -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
......@@ -508,10 +531,10 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 71
/* YYLAST -- Last index in YYTABLE. */
#define YYLAST 1416
#define YYLAST 1567
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 96
#define YYNTOKENS 105
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 83
/* YYNRULES -- Number of rules. */
......@@ -521,7 +544,7 @@ union yyalloc
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 350
#define YYMAXUTOK 359
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
......@@ -564,7 +587,7 @@ static const yytype_uint8 yytranslate[] =
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
95
95, 96, 97, 98, 99, 100, 101, 102, 103, 104
};
#if YYDEBUG
......@@ -598,89 +621,89 @@ static const yytype_uint16 yyprhs[] =
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
175, 0, -1, 45, -1, 97, -1, 48, -1, 47,
-1, 49, -1, 72, 124, 73, -1, 98, -1, 99,
74, 100, 75, -1, 101, -1, 99, 78, 50, -1,
99, 53, -1, 99, 54, -1, 124, -1, 102, -1,
103, -1, 99, 78, 103, -1, 105, 73, -1, 104,
73, -1, 106, 39, -1, 106, -1, 106, 122, -1,
105, 79, 122, -1, 107, 72, -1, 142, -1, 45,
-1, 50, -1, 99, -1, 53, 108, -1, 54, 108,
-1, 109, 108, -1, 86, -1, 84, -1, 83, -1,
108, -1, 110, 87, 108, -1, 110, 88, 108, -1,
110, -1, 111, 86, 110, -1, 111, 84, 110, -1,
111, -1, 112, -1, 113, 90, 112, -1, 113, 91,
112, -1, 113, 55, 112, -1, 113, 56, 112, -1,
113, -1, 114, 57, 113, -1, 114, 58, 113, -1,
114, -1, 115, -1, 116, -1, 117, -1, 118, 59,
117, -1, 118, -1, 119, 61, 118, -1, 119, -1,
120, 60, 119, -1, 120, -1, 120, 95, 124, 80,
122, -1, 121, -1, 108, 123, 122, -1, 81, -1,
62, -1, 63, -1, 64, -1, 71, -1, 122, -1,
124, 79, 122, -1, 121, -1, 127, 82, -1, 135,
82, -1, 7, 140, 141, 82, -1, 128, 73, -1,
130, -1, 129, -1, 130, 132, -1, 129, 79, 132,
-1, 137, 45, 72, -1, 139, 45, -1, 139, 45,
74, 125, 75, -1, 138, 133, 131, -1, 133, 131,
-1, 138, 133, 134, -1, 133, 134, -1, -1, 33,
-1, 34, -1, 35, -1, 139, -1, 136, -1, 135,
79, 45, -1, 135, 79, 45, 74, 75, -1, 135,
79, 45, 74, 125, 75, -1, 135, 79, 45, 81,
150, -1, 137, -1, 137, 45, -1, 137, 45, 74,
75, -1, 137, 45, 74, 125, 75, -1, 137, 45,
81, 150, -1, 3, 45, -1, 139, -1, 138, 139,
-1, 9, -1, 8, -1, 37, -1, 3, 37, -1,
36, -1, 141, -1, 140, 141, -1, 4, -1, 5,
-1, 6, -1, 142, -1, 142, 74, 125, 75, -1,
39, -1, 11, -1, 12, -1, 10, -1, 27, -1,
28, -1, 29, -1, 21, -1, 22, -1, 23, -1,
24, -1, 25, -1, 26, -1, 30, -1, 31, -1,
32, -1, 41, -1, 42, -1, 43, -1, 44, -1,
143, -1, 46, -1, -1, 38, 45, 76, 144, 146,
77, -1, -1, 38, 76, 145, 146, 77, -1, 147,
-1, 146, 147, -1, 139, 148, 82, -1, 149, -1,
148, 79, 149, -1, 45, -1, 45, 74, 125, 75,
-1, 122, -1, 126, -1, 154, -1, 153, -1, 151,
-1, 163, -1, 164, -1, 167, -1, 174, -1, 76,
77, -1, -1, -1, 76, 155, 162, 156, 77, -1,
161, -1, 153, -1, -1, 159, 161, -1, -1, 160,
153, -1, 76, 77, -1, 76, 162, 77, -1, 152,
-1, 162, 152, -1, 82, -1, 124, 82, -1, 18,
72, 124, 73, 165, -1, 158, 16, 158, -1, 158,
-1, 124, -1, 137, 45, 81, 150, -1, -1, 40,
72, 168, 166, 73, 157, -1, -1, 15, 169, 158,
40, 72, 124, 73, 82, -1, -1, 17, 72, 170,
171, 173, 73, 157, -1, 163, -1, 151, -1, 166,
-1, -1, 172, 82, -1, 172, 82, 124, -1, 14,
82, -1, 13, 82, -1, 20, 82, -1, 20, 124,
82, -1, 19, 82, -1, 176, -1, 175, 176, -1,
177, -1, 126, -1, -1, 127, 178, 161, -1
184, 0, -1, 54, -1, 106, -1, 57, -1, 56,
-1, 58, -1, 81, 133, 82, -1, 107, -1, 108,
83, 109, 84, -1, 110, -1, 108, 87, 59, -1,
108, 62, -1, 108, 63, -1, 133, -1, 111, -1,
112, -1, 108, 87, 112, -1, 114, 82, -1, 113,
82, -1, 115, 45, -1, 115, -1, 115, 131, -1,
114, 88, 131, -1, 116, 81, -1, 151, -1, 54,
-1, 59, -1, 108, -1, 62, 117, -1, 63, 117,
-1, 118, 117, -1, 95, -1, 93, -1, 92, -1,
117, -1, 119, 96, 117, -1, 119, 97, 117, -1,
119, -1, 120, 95, 119, -1, 120, 93, 119, -1,
120, -1, 121, -1, 122, 99, 121, -1, 122, 100,
121, -1, 122, 64, 121, -1, 122, 65, 121, -1,
122, -1, 123, 66, 122, -1, 123, 67, 122, -1,
123, -1, 124, -1, 125, -1, 126, -1, 127, 68,
126, -1, 127, -1, 128, 70, 127, -1, 128, -1,
129, 69, 128, -1, 129, -1, 129, 104, 133, 89,
131, -1, 130, -1, 117, 132, 131, -1, 90, -1,
71, -1, 72, -1, 73, -1, 80, -1, 131, -1,
133, 88, 131, -1, 130, -1, 136, 91, -1, 144,
91, -1, 7, 149, 150, 91, -1, 137, 82, -1,
139, -1, 138, -1, 139, 141, -1, 138, 88, 141,
-1, 146, 54, 81, -1, 148, 54, -1, 148, 54,
83, 134, 84, -1, 147, 142, 140, -1, 142, 140,
-1, 147, 142, 143, -1, 142, 143, -1, -1, 36,
-1, 37, -1, 38, -1, 148, -1, 145, -1, 144,
88, 54, -1, 144, 88, 54, 83, 84, -1, 144,
88, 54, 83, 134, 84, -1, 144, 88, 54, 90,
159, -1, 146, -1, 146, 54, -1, 146, 54, 83,
84, -1, 146, 54, 83, 134, 84, -1, 146, 54,
90, 159, -1, 3, 54, -1, 148, -1, 147, 148,
-1, 9, -1, 8, -1, 40, -1, 3, 40, -1,
39, -1, 150, -1, 149, 150, -1, 4, -1, 5,
-1, 6, -1, 151, -1, 151, 83, 134, 84, -1,
45, -1, 11, -1, 12, -1, 10, -1, 30, -1,
31, -1, 32, -1, 24, -1, 25, -1, 26, -1,
27, -1, 28, -1, 29, -1, 33, -1, 34, -1,
35, -1, 47, -1, 48, -1, 49, -1, 50, -1,
152, -1, 55, -1, -1, 44, 54, 85, 153, 155,
86, -1, -1, 44, 85, 154, 155, 86, -1, 156,
-1, 155, 156, -1, 148, 157, 91, -1, 158, -1,
157, 88, 158, -1, 54, -1, 54, 83, 134, 84,
-1, 131, -1, 135, -1, 163, -1, 162, -1, 160,
-1, 172, -1, 173, -1, 176, -1, 183, -1, 85,
86, -1, -1, -1, 85, 164, 171, 165, 86, -1,
170, -1, 162, -1, -1, 168, 170, -1, -1, 169,
162, -1, 85, 86, -1, 85, 171, 86, -1, 161,
-1, 171, 161, -1, 91, -1, 133, 91, -1, 18,
81, 133, 82, 174, -1, 167, 16, 167, -1, 167,
-1, 133, -1, 146, 54, 90, 159, -1, -1, 46,
81, 177, 175, 82, 166, -1, -1, 15, 178, 167,
46, 81, 133, 82, 91, -1, -1, 17, 81, 179,
180, 182, 82, 166, -1, 172, -1, 160, -1, 175,
-1, -1, 181, 91, -1, 181, 91, 133, -1, 14,
91, -1, 13, 91, -1, 20, 91, -1, 20, 133,
91, -1, 19, 91, -1, 185, -1, 184, 185, -1,
186, -1, 135, -1, -1, 136, 187, 170, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
0, 168, 168, 203, 206, 219, 224, 229, 235, 238,
317, 320, 421, 431, 444, 452, 552, 555, 563, 567,
574, 578, 585, 591, 600, 608, 663, 670, 680, 683,
693, 703, 724, 725, 726, 731, 732, 741, 753, 754,
762, 773, 777, 778, 788, 798, 808, 821, 822, 832,
845, 849, 853, 857, 858, 871, 872, 885, 886, 899,
900, 917, 918, 931, 932, 933, 934, 935, 939, 942,
953, 961, 988, 993, 1007, 1045, 1048, 1055, 1063, 1084,
1105, 1116, 1145, 1150, 1160, 1165, 1175, 1178, 1181, 1184,
1190, 1197, 1200, 1222, 1240, 1264, 1287, 1291, 1309, 1317,
1349, 1369, 1458, 1467, 1490, 1493, 1499, 1507, 1515, 1523,
1533, 1540, 1543, 1546, 1552, 1555, 1570, 1574, 1578, 1582,
1591, 1596, 1601, 1606, 1611, 1616, 1621, 1626, 1631, 1636,
1642, 1648, 1654, 1659, 1664, 1673, 1682, 1687, 1700, 1700,
1714, 1714, 1723, 1726, 1741, 1777, 1781, 1787, 1795, 1811,
1815, 1819, 1820, 1826, 1827, 1828, 1829, 1830, 1834, 1835,
1835, 1835, 1845, 1846, 1850, 1850, 1851, 1851, 1856, 1859,
1869, 1872, 1878, 1879, 1883, 1891, 1895, 1905, 1910, 1927,
1927, 1932, 1932, 1939, 1939, 1947, 1950, 1956, 1959, 1965,
1969, 1976, 1983, 1990, 1997, 2008, 2017, 2021, 2028, 2031,
2037, 2037
0, 184, 184, 219, 222, 235, 240, 245, 251, 254,
333, 336, 437, 447, 460, 468, 568, 571, 579, 583,
590, 594, 601, 607, 616, 624, 679, 686, 696, 699,
709, 719, 740, 741, 742, 747, 748, 757, 769, 770,
778, 789, 793, 794, 804, 814, 824, 837, 838, 848,
861, 865, 869, 873, 874, 887, 888, 901, 902, 915,
916, 933, 934, 947, 948, 949, 950, 951, 955, 958,
969, 977, 1004, 1009, 1023, 1061, 1064, 1071, 1079, 1100,
1121, 1132, 1161, 1166, 1176, 1181, 1191, 1194, 1197, 1200,
1206, 1213, 1216, 1238, 1256, 1280, 1303, 1307, 1325, 1333,
1365, 1385, 1474, 1483, 1506, 1509, 1516, 1525, 1534, 1542,
1552, 1559, 1562, 1565, 1571, 1574, 1589, 1593, 1597, 1601,
1610, 1615, 1620, 1625, 1630, 1635, 1640, 1645, 1650, 1655,
1661, 1667, 1673, 1678, 1683, 1692, 1701, 1706, 1719, 1719,
1733, 1733, 1742, 1745, 1760, 1796, 1800, 1806, 1814, 1830,
1834, 1838, 1839, 1845, 1846, 1847, 1848, 1849, 1853, 1854,
1854, 1854, 1864, 1865, 1869, 1869, 1870, 1870, 1875, 1878,
1888, 1891, 1897, 1898, 1902, 1910, 1914, 1924, 1929, 1946,
1946, 1951, 1951, 1958, 1958, 1966, 1969, 1975, 1978, 1984,
1988, 1995, 2002, 2009, 2016, 2027, 2036, 2040, 2047, 2050,
2056, 2056
};
#endif
......@@ -692,20 +715,22 @@ static const char *const yytname[] =
"$end", "error", "$undefined", "INVARIANT", "HIGH_PRECISION",
"MEDIUM_PRECISION", "LOW_PRECISION", "PRECISION", "ATTRIBUTE",
"CONST_QUAL", "BOOL_TYPE", "FLOAT_TYPE", "INT_TYPE", "BREAK", "CONTINUE",
"DO", "ELSE", "FOR", "IF", "DISCARD", "RETURN", "BVEC2", "BVEC3",
"BVEC4", "IVEC2", "IVEC3", "IVEC4", "VEC2", "VEC3", "VEC4", "MATRIX2",
"MATRIX3", "MATRIX4", "IN_QUAL", "OUT_QUAL", "INOUT_QUAL", "UNIFORM",
"VARYING", "STRUCT", "VOID_TYPE", "WHILE", "SAMPLER2D", "SAMPLERCUBE",
"SAMPLER_EXTERNAL_OES", "SAMPLER2DRECT", "IDENTIFIER", "TYPE_NAME",
"FLOATCONSTANT", "INTCONSTANT", "BOOLCONSTANT", "FIELD_SELECTION",
"LEFT_OP", "RIGHT_OP", "INC_OP", "DEC_OP", "LE_OP", "GE_OP", "EQ_OP",
"NE_OP", "AND_OP", "OR_OP", "XOR_OP", "MUL_ASSIGN", "DIV_ASSIGN",
"ADD_ASSIGN", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN",
"XOR_ASSIGN", "OR_ASSIGN", "SUB_ASSIGN", "LEFT_PAREN", "RIGHT_PAREN",
"LEFT_BRACKET", "RIGHT_BRACKET", "LEFT_BRACE", "RIGHT_BRACE", "DOT",
"COMMA", "COLON", "EQUAL", "SEMICOLON", "BANG", "DASH", "TILDE", "PLUS",
"STAR", "SLASH", "PERCENT", "LEFT_ANGLE", "RIGHT_ANGLE", "VERTICAL_BAR",
"CARET", "AMPERSAND", "QUESTION", "$accept", "variable_identifier",
"DO", "ELSE", "FOR", "IF", "DISCARD", "RETURN", "SWITCH", "CASE",
"DEFAULT", "BVEC2", "BVEC3", "BVEC4", "IVEC2", "IVEC3", "IVEC4", "VEC2",
"VEC3", "VEC4", "MATRIX2", "MATRIX3", "MATRIX4", "IN_QUAL", "OUT_QUAL",
"INOUT_QUAL", "UNIFORM", "VARYING", "CENTROID", "FLAT", "SMOOTH",
"STRUCT", "VOID_TYPE", "WHILE", "SAMPLER2D", "SAMPLERCUBE",
"SAMPLER_EXTERNAL_OES", "SAMPLER2DRECT", "SAMPLER3D", "SAMPLER3DRECT",
"SAMPLER2DSHADOW", "IDENTIFIER", "TYPE_NAME", "FLOATCONSTANT",
"INTCONSTANT", "BOOLCONSTANT", "FIELD_SELECTION", "LEFT_OP", "RIGHT_OP",
"INC_OP", "DEC_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP",
"OR_OP", "XOR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "ADD_ASSIGN",
"MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN",
"OR_ASSIGN", "SUB_ASSIGN", "LEFT_PAREN", "RIGHT_PAREN", "LEFT_BRACKET",
"RIGHT_BRACKET", "LEFT_BRACE", "RIGHT_BRACE", "DOT", "COMMA", "COLON",
"EQUAL", "SEMICOLON", "BANG", "DASH", "TILDE", "PLUS", "STAR", "SLASH",
"PERCENT", "LEFT_ANGLE", "RIGHT_ANGLE", "VERTICAL_BAR", "CARET",
"AMPERSAND", "QUESTION", "$accept", "variable_identifier",
"primary_expression", "postfix_expression", "integer_expression",
"function_call", "function_call_or_method", "function_call_generic",
"function_call_header_no_parameters",
......@@ -751,34 +776,35 @@ static const yytype_uint16 yytoknum[] =
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
0, 96, 97, 98, 98, 98, 98, 98, 99, 99,
99, 99, 99, 99, 100, 101, 102, 102, 103, 103,
104, 104, 105, 105, 106, 107, 107, 107, 108, 108,
108, 108, 109, 109, 109, 110, 110, 110, 111, 111,
111, 112, 113, 113, 113, 113, 113, 114, 114, 114,
115, 116, 117, 118, 118, 119, 119, 120, 120, 121,
121, 122, 122, 123, 123, 123, 123, 123, 124, 124,
125, 126, 126, 126, 127, 128, 128, 129, 129, 130,
131, 131, 132, 132, 132, 132, 133, 133, 133, 133,
134, 135, 135, 135, 135, 135, 136, 136, 136, 136,
136, 136, 137, 137, 138, 138, 138, 138, 138, 139,
139, 140, 140, 140, 141, 141, 142, 142, 142, 142,
142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
142, 142, 142, 142, 142, 142, 142, 142, 144, 143,
145, 143, 146, 146, 147, 148, 148, 149, 149, 150,
151, 152, 152, 153, 153, 153, 153, 153, 154, 155,
156, 154, 157, 157, 159, 158, 160, 158, 161, 161,
162, 162, 163, 163, 164, 165, 165, 166, 166, 168,
167, 169, 167, 170, 167, 171, 171, 172, 172, 173,
173, 174, 174, 174, 174, 174, 175, 175, 176, 176,
178, 177
0, 105, 106, 107, 107, 107, 107, 107, 108, 108,
108, 108, 108, 108, 109, 110, 111, 111, 112, 112,
113, 113, 114, 114, 115, 116, 116, 116, 117, 117,
117, 117, 118, 118, 118, 119, 119, 119, 120, 120,
120, 121, 122, 122, 122, 122, 122, 123, 123, 123,
124, 125, 126, 127, 127, 128, 128, 129, 129, 130,
130, 131, 131, 132, 132, 132, 132, 132, 133, 133,
134, 135, 135, 135, 136, 137, 137, 138, 138, 139,
140, 140, 141, 141, 141, 141, 142, 142, 142, 142,
143, 144, 144, 144, 144, 144, 145, 145, 145, 145,
145, 145, 146, 146, 147, 147, 147, 147, 147, 148,
148, 149, 149, 149, 150, 150, 151, 151, 151, 151,
151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
151, 151, 151, 151, 151, 151, 151, 151, 153, 152,
154, 152, 155, 155, 156, 157, 157, 158, 158, 159,
160, 161, 161, 162, 162, 162, 162, 162, 163, 164,
165, 163, 166, 166, 168, 167, 169, 167, 170, 170,
171, 171, 172, 172, 173, 174, 174, 175, 175, 177,
176, 178, 176, 179, 176, 180, 180, 181, 181, 182,
182, 183, 183, 183, 183, 183, 184, 184, 185, 185,
187, 186
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
......@@ -861,54 +887,54 @@ static const yytype_int16 yydefgoto[] =
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
#define YYPACT_NINF -266
#define YYPACT_NINF -258
static const yytype_int16 yypact[] =
{
1253, -20, -266, -266, -266, 148, -266, -266, -266, -266,
-266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
-266, -266, -266, -266, -266, -39, -266, -266, -266, -266,
-266, -266, -266, -18, -2, 6, 21, -61, -266, 51,
1296, -266, 1370, -266, 25, -266, 1209, -266, -266, -266,
-266, 1370, 42, -266, -266, 50, -266, 71, 95, -266,
-266, -266, -266, 1296, 123, 105, -266, 9, -266, -266,
974, -266, -266, 81, -266, 1296, 290, -266, -266, -266,
-266, 125, 1296, -13, -266, 776, 974, 99, -266, -266,
-266, -266, 974, 974, 974, -266, -266, -266, -266, -266,
35, -266, -266, -266, 100, -6, 1040, 104, -266, 974,
36, -64, -266, -21, 102, -266, -266, -266, 113, 117,
-51, -266, 108, -266, -266, 1296, 129, 1109, -266, 97,
103, -266, 112, 114, 106, 842, 115, 116, -266, -266,
39, -266, -266, -43, -266, -18, 47, -266, -266, -266,
-266, 374, -266, -266, -266, -266, 118, -266, -266, 908,
974, -266, 120, -266, -266, -266, -266, 19, -266, -266,
974, 1333, -266, -266, 974, 119, -266, -266, -266, 974,
974, 974, 974, 974, 974, 974, 974, 974, 974, 974,
974, 974, 974, -266, 1152, 122, -29, -266, -266, -266,
-266, -266, 121, -266, 974, -266, -266, 5, -266, -266,
458, -266, -266, -266, -266, -266, 974, 974, -266, -266,
-266, 974, -266, 137, -266, -266, -266, 138, 111, -266,
142, -266, -266, -266, -266, 36, 36, -266, -266, -266,
-266, -21, -21, -266, 113, 117, 82, -266, 974, 129,
-266, 175, 50, 626, 710, 38, -266, 197, 458, -266,
-266, 141, -266, -266, 974, 155, -266, 145, -266, -266,
-266, -266, 197, 121, 111, 186, 159, 160, -266, -266,
-266, 974, -266, 166, 176, 236, -266, 174, 542, -266,
43, 974, 542, 121, 974, -266, -266, -266, 177, 111,
-266, -266, -266, -266
1383, -29, -258, -258, -258, 126, -258, -258, -258, -258,
-258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
-258, -258, -258, -258, -258, -48, -258, -258, -258, -258,
-258, -258, -258, -74, -32, 25, 19, 15, -258, 68,
1430, -258, 1512, -258, 45, -258, 1330, -258, -258, -258,
-258, 1512, 65, -258, -258, 74, -258, 71, 117, -258,
-258, -258, -258, 1430, 116, 112, -258, 6, -258, -258,
1123, -258, -258, 78, -258, 1430, 290, -258, -258, -258,
-258, 118, 1430, -2, -258, 901, 1123, 89, -258, -258,
-258, -258, 1123, 1123, 1123, -258, -258, -258, -258, -258,
7, -258, -258, -258, 91, -64, 1195, 90, -258, 1123,
-58, -22, -258, -33, -5, -258, -258, -258, 106, 108,
-60, -258, 92, -258, -258, 1430, 125, 191, -258, 93,
94, -258, 102, 105, 96, 976, 107, 104, -258, -258,
12, -258, -258, 32, -258, -74, 75, -258, -258, -258,
-258, 383, -258, -258, -258, -258, 109, -258, -258, 1048,
1123, -258, 121, -258, -258, -258, -258, -35, -258, -258,
1123, 1471, -258, -258, 1123, 110, -258, -258, -258, 1123,
1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1123, 1123, 1123, -258, 1267, 123, 33, -258, -258, -258,
-258, -258, 115, -258, 1123, -258, -258, 38, -258, -258,
476, -258, -258, -258, -258, -258, 1123, 1123, -258, -258,
-258, 1123, -258, 124, -258, -258, -258, 128, 119, -258,
132, -258, -258, -258, -258, -58, -58, -258, -258, -258,
-258, -33, -33, -258, 106, 108, 72, -258, 1123, 125,
-258, 147, 74, 662, 755, 16, -258, 829, 476, -258,
-258, 130, -258, -258, 1123, 143, -258, 148, -258, -258,
-258, -258, 829, 115, 119, 155, 146, 144, -258, -258,
-258, 1123, -258, 140, 150, 217, -258, 152, 569, -258,
17, 1123, 569, 115, 1123, -258, -258, -258, 153, 119,
-258, -258, -258, -258
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
-266, -266, -266, -266, -266, -266, -266, 85, -266, -266,
-266, -266, -44, -266, -15, -266, -55, -19, -266, -266,
-266, 72, 70, 73, -266, -66, -83, -266, -92, -73,
13, 14, -266, -266, -266, 180, 206, 201, 184, -266,
-266, -241, -25, -30, 262, -4, 0, -266, -266, -266,
143, -122, -266, 22, -145, 16, -144, -226, -266, -266,
-266, -17, -265, -266, -266, -54, 63, 20, -266, -266,
4, -266, -266, -266, -266, -266, -266, -266, -266, -266,
231, -266, -266
-258, -258, -258, -258, -258, -258, -258, 63, -258, -258,
-258, -258, -44, -258, -19, -258, -67, -20, -258, -258,
-258, 48, 53, 54, -258, -66, -83, -258, -92, -73,
8, 14, -258, -258, -258, 165, 192, 184, 168, -258,
-258, -237, -23, -30, 246, -21, 0, -258, -258, -258,
127, -122, -258, 10, -145, 1, -144, -224, -258, -258,
-258, -36, -257, -258, -258, -54, 50, 9, -258, -258,
-11, -258, -258, -258, -258, -258, -258, -258, -258, -258,
216, -258, -258
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
......@@ -918,294 +944,324 @@ static const yytype_int16 yypgoto[] =
#define YYTABLE_NINF -165
static const yytype_int16 yytable[] =
{
44, 77, 167, 163, 121, 199, 52, 220, 285, 191,
68, 64, 162, 32, 33, 224, 275, 49, 65, 121,
181, 66, 182, 176, 58, 50, 108, 269, 301, 6,
7, 275, 64, 81, 183, 184, 217, 53, 69, 218,
44, 108, 44, 207, 192, 126, 44, 73, 165, 166,
249, 44, 81, 250, 59, 60, 61, 23, 24, 32,
33, 159, 295, 44, 54, 178, 295, 173, 160, 185,
186, 56, 199, 174, 58, 44, 146, 163, 228, 6,
7, 84, 44, 85, 217, 57, 223, 256, 168, 169,
86, 232, 226, 121, -75, 126, 67, 126, 217, 70,
246, 211, 212, 213, 59, 60, 61, 23, 24, 170,
214, 273, 255, 171, 220, 108, 298, 217, 74, -25,
215, 70, 217, 179, 180, 44, 76, 44, 237, 238,
239, 240, 49, 259, 260, 233, 234, 108, 108, 108,
44, 77, 167, 163, 121, 199, 52, 220, 32, 191,
68, 49, 162, 64, 33, 224, 285, 54, 173, 121,
275, 69, 58, 176, 174, 50, 108, 6, 7, 269,
73, 183, 184, 81, 64, 275, 301, 53, 179, 180,
44, 108, 44, 207, 192, 126, 44, 226, 165, 166,
56, 44, 81, 217, 32, 59, 60, 61, 23, 24,
33, 187, 188, 44, 295, 178, 185, 186, 295, 168,
169, 181, 199, 182, 58, 44, 146, 163, 228, 6,
7, 159, 44, 211, 212, 213, 223, 84, 160, 85,
170, 232, 214, 121, 171, 126, 86, 126, 273, 298,
246, -75, 215, 65, 217, 217, 66, 59, 60, 61,
23, 24, 255, 57, 220, 108, 237, 238, 239, 240,
217, 249, 67, 218, 250, 44, 217, 44, 70, 256,
2, 3, 4, 259, 260, 233, 234, 108, 108, 108,
108, 108, 108, 108, 108, 108, 108, 108, 261, 302,
83, 146, 2, 3, 4, 121, 59, 60, 61, 187,
188, 217, 264, 124, 126, 274, 235, 236, 241, 242,
156, -26, 189, 172, 195, 265, 177, 108, 190, 200,
274, 279, 121, 193, 203, 201, 204, 208, 205, 290,
217, -116, 221, 209, 44, 225, 248, -164, 268, 299,
58, 2, 3, 4, 108, 6, 7, 8, 9, 10,
146, 163, 262, 263, -27, 267, 278, 281, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
280, 287, 288, 23, 24, 25, 26, 289, 27, 28,
29, 30, 87, 31, 88, 89, 90, 91, 291, 292,
92, 93, 293, 146, 146, 294, 231, 146, 146, 303,
244, 243, 157, 78, 245, 82, 158, 51, 194, 94,
270, 266, 146, 258, 271, 300, 282, 72, 0, 0,
95, 96, 0, 97, 0, 0, 0, 0, 146, 0,
74, 146, 59, 60, 61, 121, -25, 49, 70, 76,
217, 264, 235, 236, 126, 274, 83, 241, 242, 124,
-26, 177, 156, 172, 189, 265, 193, 108, 190, 195,
274, 279, 121, 203, 200, 201, 204, 205, 208, 290,
209, -116, 221, 267, 44, 2, 3, 4, 268, 299,
-164, 8, 9, 10, 108, 225, 248, 217, 262, 287,
146, 163, 263, -27, 278, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 280, 288, 281,
289, 291, 292, 293, 231, 25, 26, 243, 27, 28,
29, 30, 294, 244, 303, 245, 31, 157, 82, 78,
158, 51, 194, 146, 146, 270, 300, 146, 146, 266,
258, 282, 72, 271, 0, 0, 0, 0, 0, 0,
0, 0, 146, 0, 0, 0, 0, 198, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 146, 0,
0, 0, 146, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 129, 130, 131, 0, 132, 133, 134,
135, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 0, 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,
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, 0, 94, 0, 0, 0, 137, 138, 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, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 0, 0, 0,
23, 24, 25, 26, 136, 27, 28, 29, 30, 87,
31, 88, 89, 90, 91, 0, 0, 92, 93, 0,
0, 94, 0, 0, 0, 137, 138, 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, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 94, 0, 0, 0,
137, 219, 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, 11,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 0, 0, 0, 23, 24, 25, 26, 136, 27,
28, 29, 30, 87, 31, 88, 89, 90, 91, 0,
0, 0, 0, 0, 94, 0, 0, 0, 137, 219,
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, 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, 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,
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,
25, 26, 136, 27, 28, 29, 30, 87, 31, 88,
89, 90, 91, 0, 0, 92, 93, 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,
0, 0, 0, 0, 94, 0, 0, 0, 76, 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, 11, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21, 22, 0,
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,
94, 8, 9, 10, 0, 0, 0, 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, 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, 0, 8, 9, 10, 0,
0, 0, 139, 95, 96, 0, 97, 11, 12, 13,
0, 0, 94, 0, 0, 161, 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, 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,
0, 0, 0, 0, 25, 26, 0, 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, 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,
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, 0, 8, 9,
10, 0, 0, 0, 206, 95, 96, 0, 97, 11,
0, 0, 0, 0, 94, 8, 9, 10, 0, 0,
0, 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, 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,
22, 0, 0, 0, 0, 0, 0, 0, 0, 25,
175, 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, 0,
8, 9, 10, 0, 0, 0, 0, 95, 96, 0,
0, 2, 3, 4, 0, 0, 94, 8, 9, 10,
0, 0, 0, 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, 175,
0, 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, 2, 3, 4, 0, 0, 0, 8,
9, 10, 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, 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,
20, 21, 22, 0, 0, 0, 0, 0, 0, 0,
0, 25, 26, 0, 27, 28, 29, 30, 0, 0,
0, 0, 31, 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,
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,
2, 3, 4, 0, 0, 0, 8, 9, 10, 0,
24, 0, 0, 0, 25, 26, 0, 27, 28, 29,
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,
14, 15, 16, 17, 18, 19, 20, 21, 22, 0,
0, 0, 0, 0, 25, 26, 0, 27, 28, 29,
30, 0, 31, 8, 9, 10, 0, 0, 0, 0,
0, 0, 23, 24, 0, 0, 0, 25, 26, 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,
17, 18, 19, 20, 21, 22, 0, 0, 0, 0,
0, 25, 26, 0, 27, 28, 29, 30, 229, 31,
8, 9, 10, 230, 0, 0, 0, 0, 0, 0,
0, 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
0, 0, 0, 0, 25, 26, 0, 27, 28, 29,
30, 8, 9, 10, 0, 31, 0, 0, 0, 0,
0, 0, 0, 0, 0, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 0, 0, 0,
0, 0, 0, 0, 0, 25, 26, 0, 27, 28,
29, 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[] =
{
0, 55, 94, 86, 70, 127, 45, 151, 273, 60,
40, 36, 85, 0, 0, 160, 257, 37, 79, 85,
84, 82, 86, 106, 3, 45, 70, 253, 293, 8,
9, 272, 57, 63, 55, 56, 79, 76, 42, 82,
40, 85, 42, 135, 95, 75, 46, 51, 92, 93,
79, 51, 82, 82, 33, 34, 35, 36, 37, 46,
46, 74, 288, 63, 82, 109, 292, 73, 81, 90,
91, 73, 194, 79, 3, 75, 76, 160, 170, 8,
9, 72, 82, 74, 79, 79, 159, 82, 53, 54,
81, 174, 73, 159, 73, 125, 45, 127, 79, 74,
192, 62, 63, 64, 33, 34, 35, 36, 37, 74,
71, 73, 204, 78, 258, 159, 73, 79, 76, 72,
81, 74, 79, 87, 88, 125, 76, 127, 183, 184,
185, 186, 37, 216, 217, 179, 180, 181, 182, 183,
0, 55, 94, 86, 70, 127, 54, 151, 0, 69,
40, 40, 85, 36, 0, 160, 273, 91, 82, 85,
257, 42, 3, 106, 88, 54, 70, 8, 9, 253,
51, 64, 65, 63, 57, 272, 293, 85, 96, 97,
40, 85, 42, 135, 104, 75, 46, 82, 92, 93,
82, 51, 82, 88, 46, 36, 37, 38, 39, 40,
46, 66, 67, 63, 288, 109, 99, 100, 292, 62,
63, 93, 194, 95, 3, 75, 76, 160, 170, 8,
9, 83, 82, 71, 72, 73, 159, 81, 90, 83,
83, 174, 80, 159, 87, 125, 90, 127, 82, 82,
192, 82, 90, 88, 88, 88, 91, 36, 37, 38,
39, 40, 204, 88, 258, 159, 183, 184, 185, 186,
88, 88, 54, 91, 91, 125, 88, 127, 83, 91,
4, 5, 6, 216, 217, 179, 180, 181, 182, 183,
184, 185, 186, 187, 188, 189, 190, 191, 221, 294,
45, 151, 4, 5, 6, 221, 33, 34, 35, 57,
58, 79, 80, 82, 194, 257, 181, 182, 187, 188,
45, 72, 59, 73, 45, 248, 72, 221, 61, 82,
272, 264, 248, 75, 72, 82, 72, 72, 82, 281,
79, 72, 74, 77, 194, 75, 74, 76, 252, 291,
3, 4, 5, 6, 248, 8, 9, 10, 11, 12,
210, 294, 75, 75, 72, 40, 75, 72, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
75, 45, 73, 36, 37, 38, 39, 77, 41, 42,
43, 44, 45, 46, 47, 48, 49, 50, 82, 73,
53, 54, 16, 253, 254, 81, 171, 257, 258, 82,
190, 189, 82, 57, 191, 64, 82, 5, 125, 72,
254, 249, 272, 210, 254, 292, 272, 46, -1, -1,
83, 84, -1, 86, -1, -1, -1, -1, 288, -1,
85, 151, 36, 37, 38, 221, 81, 40, 83, 85,
88, 89, 181, 182, 194, 257, 54, 187, 188, 91,
81, 81, 54, 82, 68, 248, 84, 221, 70, 54,
272, 264, 248, 81, 91, 91, 81, 91, 81, 281,
86, 81, 83, 46, 194, 4, 5, 6, 252, 291,
85, 10, 11, 12, 248, 84, 83, 88, 84, 54,
210, 294, 84, 81, 84, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 84, 82, 81,
86, 91, 82, 16, 171, 44, 45, 189, 47, 48,
49, 50, 90, 190, 91, 191, 55, 82, 64, 57,
82, 5, 125, 253, 254, 254, 292, 257, 258, 249,
210, 272, 46, 254, -1, -1, -1, -1, -1, -1,
-1, -1, 272, -1, -1, -1, -1, 86, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 288, -1,
-1, -1, 292, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, -1, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, -1, -1, -1, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, -1, -1, 53, 54, -1, -1, -1, -1, -1,
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, 72, -1, -1, -1, 76, 77, -1, -1,
-1, -1, 82, 83, 84, -1, 86, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
-1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, -1, -1, -1,
36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, -1, -1, 53, 54, -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, 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, 72, -1, -1, -1,
76, 77, -1, -1, -1, -1, 82, 83, 84, -1,
86, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 14, 15, -1, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, -1, -1, -1, 36, 37, 38, 39, 40, 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, 81, -1, -1,
-1, 85, -1, -1, -1, -1, -1, 91, 92, 93,
-1, 95, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, -1, 17, 18, 19, 20,
-1, -1, -1, 24, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, -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,
72, -1, -1, -1, 76, -1, -1, -1, -1, -1,
82, 83, 84, -1, 86, 3, 4, 5, 6, 7,
81, -1, -1, -1, 85, -1, -1, -1, -1, -1,
91, 92, 93, -1, 95, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15, -1, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29, 30, 31, 32, -1, -1, -1, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, -1, -1, 53, 54, -1, -1, -1,
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, 72, -1, -1, -1, 76, -1,
-1, -1, -1, -1, 82, 83, 84, -1, 86, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
-1, -1, 36, 37, 38, 39, 40, 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, 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, 81, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 91, 92, 93, -1, 95, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 24,
25, 26, 27, 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, 54,
55, 56, 57, 58, 59, -1, -1, 62, 63, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 72, -1, -1, -1, 10, 11, 12, -1,
-1, -1, 82, 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, 72, -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, 3, 4, 5, 6, 81, 8, 9, 10,
11, 12, -1, -1, -1, -1, 91, 92, 93, -1,
95, -1, -1, 24, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, -1, -1, -1, 39, 40,
-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, 72, -1, -1, -1, 10, 11,
12, -1, -1, -1, 82, 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,
81, 10, 11, 12, -1, -1, -1, -1, -1, -1,
-1, 92, 93, -1, 95, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, -1, -1, -1,
-1, -1, -1, -1, -1, 44, 45, -1, 47, 48,
49, 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,
72, -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, 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, 72, -1, -1, -1,
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, 81, 10, 11,
12, -1, -1, -1, -1, -1, -1, 91, 92, 93,
-1, 95, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, -1, -1, -1, -1, -1, -1,
-1, -1, 44, 45, -1, 47, 48, 49, 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, 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, 72, 4, 5, 6, -1, -1, -1, 10,
11, 12, -1, 83, 84, -1, 86, -1, -1, -1,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
31, 32, -1, -1, -1, -1, -1, 38, 39, -1,
41, 42, 43, 44, -1, 46, 4, 5, 6, -1,
-1, -1, 10, 11, 12, -1, -1, -1, -1, -1,
-1, -1, -1, 21, 22, 23, 24, 25, 26, 27,
28, 29, 30, 31, 32, -1, 77, -1, -1, -1,
38, 39, -1, 41, 42, 43, 44, -1, 46, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
-1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, -1, -1, -1, -1, -1, -1, -1, 77,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
31, 32, -1, -1, -1, 36, 37, 38, 39, -1,
41, 42, 43, 44, -1, 46, 3, 4, 5, 6,
-1, -1, -1, -1, 81, 10, 11, 12, -1, -1,
-1, -1, -1, -1, -1, 92, 93, -1, 95, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, -1, -1, -1, -1, -1, -1, -1, -1, 44,
45, -1, 47, 48, 49, 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, 4, 5, 6, -1, -1, 81, 10, 11, 12,
-1, -1, -1, -1, -1, -1, -1, 92, 93, -1,
95, 24, 25, 26, 27, 28, 29, 30, 31, 32,
33, 34, 35, -1, -1, -1, -1, -1, -1, -1,
-1, 44, 45, -1, 47, 48, 49, 50, -1, -1,
-1, -1, 55, -1, -1, -1, -1, -1, -1, -1,
0, -1, -1, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 86, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, -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,
-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, -1, 46,
4, 5, 6, -1, -1, -1, 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, -1, -1, 38, 39, -1, 41, 42, 43,
44, -1, 46, 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, -1,
-1, 38, 39, -1, 41, 42, 43, 44, 45, 46,
10, 11, 12, 50, -1, -1, -1, -1, -1, -1,
-1, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, -1, -1, -1, -1, -1, 38, 39,
-1, 41, 42, 43, 44, -1, 46
-1, -1, -1, -1, -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, -1,
47, 48, 49, 50, 4, 5, 6, -1, 55, -1,
10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, -1, -1, -1, -1,
-1, -1, -1, -1, 44, 45, -1, 47, 48, 49,
50, 10, 11, 12, -1, 55, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, -1, -1, -1,
-1, -1, -1, -1, -1, 44, 45, -1, 47, 48,
49, 50, 10, 11, 12, 54, 55, -1, -1, -1,
59, -1, -1, -1, -1, -1, 24, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, -1, -1,
-1, -1, -1, -1, -1, -1, 44, 45, -1, 47,
48, 49, 50, -1, -1, -1, -1, 55
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
......@@ -1213,36 +1269,36 @@ static const yytype_int16 yycheck[] =
static const yytype_uint8 yystos[] =
{
0, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 36, 37, 38, 39, 41, 42, 43,
44, 46, 126, 127, 128, 129, 130, 135, 136, 137,
138, 139, 140, 141, 142, 143, 175, 176, 177, 37,
45, 140, 45, 76, 82, 178, 73, 79, 3, 33,
34, 35, 132, 133, 138, 79, 82, 45, 139, 141,
74, 0, 176, 141, 76, 145, 76, 161, 132, 131,
134, 139, 133, 45, 72, 74, 81, 45, 47, 48,
49, 50, 53, 54, 72, 83, 84, 86, 97, 98,
99, 101, 102, 103, 104, 105, 106, 107, 108, 109,
110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
120, 121, 125, 142, 82, 144, 139, 146, 147, 13,
14, 15, 17, 18, 19, 20, 40, 76, 77, 82,
108, 121, 122, 124, 126, 127, 142, 151, 152, 153,
154, 162, 163, 164, 167, 174, 45, 131, 134, 74,
81, 75, 125, 122, 150, 108, 108, 124, 53, 54,
74, 78, 73, 73, 79, 39, 122, 72, 108, 87,
88, 84, 86, 55, 56, 90, 91, 57, 58, 59,
61, 60, 95, 75, 146, 45, 148, 149, 77, 147,
82, 82, 169, 72, 72, 82, 82, 124, 72, 77,
155, 62, 63, 64, 71, 81, 123, 79, 82, 77,
152, 74, 75, 125, 150, 75, 73, 100, 124, 45,
50, 103, 122, 108, 108, 110, 110, 112, 112, 112,
112, 113, 113, 117, 118, 119, 124, 77, 74, 79,
82, 158, 159, 160, 170, 124, 82, 168, 162, 122,
122, 125, 75, 75, 80, 125, 149, 40, 161, 153,
151, 163, 171, 73, 124, 137, 166, 156, 75, 122,
75, 72, 166, 172, 173, 158, 165, 45, 73, 77,
124, 82, 73, 16, 81, 153, 157, 161, 73, 124,
157, 158, 150, 82
12, 24, 25, 26, 27, 28, 29, 30, 31, 32,
33, 34, 35, 39, 40, 44, 45, 47, 48, 49,
50, 55, 135, 136, 137, 138, 139, 144, 145, 146,
147, 148, 149, 150, 151, 152, 184, 185, 186, 40,
54, 149, 54, 85, 91, 187, 82, 88, 3, 36,
37, 38, 141, 142, 147, 88, 91, 54, 148, 150,
83, 0, 185, 150, 85, 154, 85, 170, 141, 140,
143, 148, 142, 54, 81, 83, 90, 54, 56, 57,
58, 59, 62, 63, 81, 92, 93, 95, 106, 107,
108, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
129, 130, 134, 151, 91, 153, 148, 155, 156, 13,
14, 15, 17, 18, 19, 20, 46, 85, 86, 91,
117, 130, 131, 133, 135, 136, 151, 160, 161, 162,
163, 171, 172, 173, 176, 183, 54, 140, 143, 83,
90, 84, 134, 131, 159, 117, 117, 133, 62, 63,
83, 87, 82, 82, 88, 45, 131, 81, 117, 96,
97, 93, 95, 64, 65, 99, 100, 66, 67, 68,
70, 69, 104, 84, 155, 54, 157, 158, 86, 156,
91, 91, 178, 81, 81, 91, 91, 133, 81, 86,
164, 71, 72, 73, 80, 90, 132, 88, 91, 86,
161, 83, 84, 134, 159, 84, 82, 109, 133, 54,
59, 112, 131, 117, 117, 119, 119, 121, 121, 121,
121, 122, 122, 126, 127, 128, 133, 86, 83, 88,
91, 167, 168, 169, 179, 133, 91, 177, 171, 131,
131, 134, 84, 84, 89, 134, 158, 46, 170, 162,
160, 172, 180, 82, 133, 146, 175, 165, 84, 131,
84, 81, 175, 181, 182, 167, 174, 54, 82, 86,
133, 91, 82, 16, 90, 162, 166, 170, 82, 133,
166, 167, 159, 91
};
#define yyerrok (yyerrstatus = 0)
......@@ -3600,6 +3656,7 @@ yyreduce:
{
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"))
context->recover();
(yyval.interm.type).setBasic(EbtVoid, EvqAttribute, (yyvsp[(1) - (1)].lex).line);
......@@ -3609,6 +3666,7 @@ yyreduce:
case 106:
{
ES2_ONLY("varying", (yyvsp[(1) - (1)].lex).line);
if (context->globalErrorCheck((yyvsp[(1) - (1)].lex).line, context->symbolTable.atGlobalLevel(), "varying"))
context->recover();
if (context->shaderType == SH_VERTEX_SHADER)
......@@ -3621,6 +3679,7 @@ yyreduce:
case 107:
{
ES2_ONLY("varying", (yyvsp[(1) - (2)].lex).line);
if (context->globalErrorCheck((yyvsp[(1) - (2)].lex).line, context->symbolTable.atGlobalLevel(), "invariant varying"))
context->recover();
if (context->shaderType == SH_VERTEX_SHADER)
......
......@@ -56,81 +56,90 @@
IF = 273,
DISCARD = 274,
RETURN = 275,
BVEC2 = 276,
BVEC3 = 277,
BVEC4 = 278,
IVEC2 = 279,
IVEC3 = 280,
IVEC4 = 281,
VEC2 = 282,
VEC3 = 283,
VEC4 = 284,
MATRIX2 = 285,
MATRIX3 = 286,
MATRIX4 = 287,
IN_QUAL = 288,
OUT_QUAL = 289,
INOUT_QUAL = 290,
UNIFORM = 291,
VARYING = 292,
STRUCT = 293,
VOID_TYPE = 294,
WHILE = 295,
SAMPLER2D = 296,
SAMPLERCUBE = 297,
SAMPLER_EXTERNAL_OES = 298,
SAMPLER2DRECT = 299,
IDENTIFIER = 300,
TYPE_NAME = 301,
FLOATCONSTANT = 302,
INTCONSTANT = 303,
BOOLCONSTANT = 304,
FIELD_SELECTION = 305,
LEFT_OP = 306,
RIGHT_OP = 307,
INC_OP = 308,
DEC_OP = 309,
LE_OP = 310,
GE_OP = 311,
EQ_OP = 312,
NE_OP = 313,
AND_OP = 314,
OR_OP = 315,
XOR_OP = 316,
MUL_ASSIGN = 317,
DIV_ASSIGN = 318,
ADD_ASSIGN = 319,
MOD_ASSIGN = 320,
LEFT_ASSIGN = 321,
RIGHT_ASSIGN = 322,
AND_ASSIGN = 323,
XOR_ASSIGN = 324,
OR_ASSIGN = 325,
SUB_ASSIGN = 326,
LEFT_PAREN = 327,
RIGHT_PAREN = 328,
LEFT_BRACKET = 329,
RIGHT_BRACKET = 330,
LEFT_BRACE = 331,
RIGHT_BRACE = 332,
DOT = 333,
COMMA = 334,
COLON = 335,
EQUAL = 336,
SEMICOLON = 337,
BANG = 338,
DASH = 339,
TILDE = 340,
PLUS = 341,
STAR = 342,
SLASH = 343,
PERCENT = 344,
LEFT_ANGLE = 345,
RIGHT_ANGLE = 346,
VERTICAL_BAR = 347,
CARET = 348,
AMPERSAND = 349,
QUESTION = 350
SWITCH = 276,
CASE = 277,
DEFAULT = 278,
BVEC2 = 279,
BVEC3 = 280,
BVEC4 = 281,
IVEC2 = 282,
IVEC3 = 283,
IVEC4 = 284,
VEC2 = 285,
VEC3 = 286,
VEC4 = 287,
MATRIX2 = 288,
MATRIX3 = 289,
MATRIX4 = 290,
IN_QUAL = 291,
OUT_QUAL = 292,
INOUT_QUAL = 293,
UNIFORM = 294,
VARYING = 295,
CENTROID = 296,
FLAT = 297,
SMOOTH = 298,
STRUCT = 299,
VOID_TYPE = 300,
WHILE = 301,
SAMPLER2D = 302,
SAMPLERCUBE = 303,
SAMPLER_EXTERNAL_OES = 304,
SAMPLER2DRECT = 305,
SAMPLER3D = 306,
SAMPLER3DRECT = 307,
SAMPLER2DSHADOW = 308,
IDENTIFIER = 309,
TYPE_NAME = 310,
FLOATCONSTANT = 311,
INTCONSTANT = 312,
BOOLCONSTANT = 313,
FIELD_SELECTION = 314,
LEFT_OP = 315,
RIGHT_OP = 316,
INC_OP = 317,
DEC_OP = 318,
LE_OP = 319,
GE_OP = 320,
EQ_OP = 321,
NE_OP = 322,
AND_OP = 323,
OR_OP = 324,
XOR_OP = 325,
MUL_ASSIGN = 326,
DIV_ASSIGN = 327,
ADD_ASSIGN = 328,
MOD_ASSIGN = 329,
LEFT_ASSIGN = 330,
RIGHT_ASSIGN = 331,
AND_ASSIGN = 332,
XOR_ASSIGN = 333,
OR_ASSIGN = 334,
SUB_ASSIGN = 335,
LEFT_PAREN = 336,
RIGHT_PAREN = 337,
LEFT_BRACKET = 338,
RIGHT_BRACKET = 339,
LEFT_BRACE = 340,
RIGHT_BRACE = 341,
DOT = 342,
COMMA = 343,
COLON = 344,
EQUAL = 345,
SEMICOLON = 346,
BANG = 347,
DASH = 348,
TILDE = 349,
PLUS = 350,
STAR = 351,
SLASH = 352,
PERCENT = 353,
LEFT_ANGLE = 354,
RIGHT_ANGLE = 355,
VERTICAL_BAR = 356,
CARET = 357,
AMPERSAND = 358,
QUESTION = 359
};
#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