Robust distinction between IDENTIFIER and TYPE_NAME tokens.
To distinguish the tokens we used to track the lexer context,
which is fragile. This patch implements a better way -
combine the two tokens into a common parser rule and let
the parser context decide if the declaration is valid,
which it already does by checking the naming conflicts.
TEST=WebGL conformance tests.
Review URL: https://codereview.appspot.com/8797044
Conflicts:
src/compiler/glslang_tab.cpp
src/compiler/glslang_tab.h
git-svn-id: http://angleproject.googlecode.com/svn/branches/dx11proto@2229 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/compiler/ParseHelper.h b/src/compiler/ParseHelper.h
index fc58153..3521ee6 100644
--- a/src/compiler/ParseHelper.h
+++ b/src/compiler/ParseHelper.h
@@ -33,10 +33,8 @@
compileOptions(options),
sourcePath(sourcePath),
treeRoot(0),
- lexAfterType(false),
loopNestingLevel(0),
structNestingLevel(0),
- inTypeParen(false),
currentFunctionType(NULL),
functionReturnsValue(false),
checksPrecisionErrors(checksPrecErrors),
@@ -51,10 +49,8 @@
int compileOptions;
const char* sourcePath; // Path of source file or NULL.
TIntermNode* treeRoot; // root of parse tree being created
- bool lexAfterType; // true if we've recognized a type, so can only be looking for an identifier
int loopNestingLevel; // 0 if outside all loops
int structNestingLevel; // incremented while parsing a struct declaration
- bool inTypeParen; // true if in parentheses, looking only for an identifier
const TType* currentFunctionType; // the return type of the function that's currently being parsed
bool functionReturnsValue; // true if a non-void function has a return
bool checksPrecisionErrors; // true if an error will be generated when a variable is declared without precision, explicit or implicit.
diff --git a/src/compiler/glslang.l b/src/compiler/glslang.l
index a74a207..a926cdf 100644
--- a/src/compiler/glslang.l
+++ b/src/compiler/glslang.l
@@ -98,36 +98,36 @@
"out" { return OUT_QUAL; }
"inout" { return INOUT_QUAL; }
-"float" { context->lexAfterType = true; return FLOAT_TYPE; }
-"int" { context->lexAfterType = true; return INT_TYPE; }
-"void" { context->lexAfterType = true; return VOID_TYPE; }
-"bool" { context->lexAfterType = true; return BOOL_TYPE; }
+"float" { return FLOAT_TYPE; }
+"int" { return INT_TYPE; }
+"void" { return VOID_TYPE; }
+"bool" { return BOOL_TYPE; }
"true" { yylval->lex.b = true; return BOOLCONSTANT; }
"false" { yylval->lex.b = false; return BOOLCONSTANT; }
"discard" { return DISCARD; }
"return" { return RETURN; }
-"mat2" { context->lexAfterType = true; return MATRIX2; }
-"mat3" { context->lexAfterType = true; return MATRIX3; }
-"mat4" { context->lexAfterType = true; return MATRIX4; }
+"mat2" { return MATRIX2; }
+"mat3" { return MATRIX3; }
+"mat4" { return MATRIX4; }
-"vec2" { context->lexAfterType = true; return VEC2; }
-"vec3" { context->lexAfterType = true; return VEC3; }
-"vec4" { context->lexAfterType = true; return VEC4; }
-"ivec2" { context->lexAfterType = true; return IVEC2; }
-"ivec3" { context->lexAfterType = true; return IVEC3; }
-"ivec4" { context->lexAfterType = true; return IVEC4; }
-"bvec2" { context->lexAfterType = true; return BVEC2; }
-"bvec3" { context->lexAfterType = true; return BVEC3; }
-"bvec4" { context->lexAfterType = true; return BVEC4; }
+"vec2" { return VEC2; }
+"vec3" { return VEC3; }
+"vec4" { return VEC4; }
+"ivec2" { return IVEC2; }
+"ivec3" { return IVEC3; }
+"ivec4" { return IVEC4; }
+"bvec2" { return BVEC2; }
+"bvec3" { return BVEC3; }
+"bvec4" { return BVEC4; }
-"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; }
+"sampler2D" { return SAMPLER2D; }
+"samplerCube" { return SAMPLERCUBE; }
+"samplerExternalOES" { return SAMPLER_EXTERNAL_OES; }
+"sampler2DRect" { return SAMPLER2DRECT; }
-"struct" { context->lexAfterType = true; return STRUCT; }
+"struct" { return STRUCT; }
"asm" { return reserved_word(yyscanner); }
@@ -222,14 +222,14 @@
"!=" { return NE_OP; }
"<<" { return LEFT_OP; }
">>" { return RIGHT_OP; }
-";" { context->lexAfterType = false; return SEMICOLON; }
-("{"|"<%") { context->lexAfterType = false; return LEFT_BRACE; }
+";" { return SEMICOLON; }
+("{"|"<%") { return LEFT_BRACE; }
("}"|"%>") { return RIGHT_BRACE; }
-"," { if (context->inTypeParen) context->lexAfterType = false; return COMMA; }
+"," { 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 EQUAL; }
+"(" { return LEFT_PAREN; }
+")" { return RIGHT_PAREN; }
("["|"<:") { return LEFT_BRACKET; }
("]"|":>") { return RIGHT_BRACKET; }
"." { BEGIN(FIELDS); return DOT; }
@@ -280,12 +280,10 @@
int token = IDENTIFIER;
TSymbol* symbol = yyextra->symbolTable.find(yytext);
- if (yyextra->lexAfterType == false && symbol && symbol->isVariable()) {
+ if (symbol && symbol->isVariable()) {
TVariable* variable = static_cast<TVariable*>(symbol);
- if (variable->isUserType()) {
- yyextra->lexAfterType = true;
+ if (variable->isUserType())
token = TYPE_NAME;
- }
}
yylval->lex.symbol = symbol;
return token;
diff --git a/src/compiler/glslang.y b/src/compiler/glslang.y
index 8dbcee3..b7e2bd6 100644
--- a/src/compiler/glslang.y
+++ b/src/compiler/glslang.y
@@ -127,6 +127,7 @@
%token <lex> COMMA COLON EQUAL SEMICOLON BANG DASH TILDE PLUS STAR SLASH PERCENT
%token <lex> LEFT_ANGLE RIGHT_ANGLE VERTICAL_BAR CARET AMPERSAND QUESTION
+%type <lex> identifier
%type <interm> assignment_operator unary_operator
%type <interm.intermTypedNode> variable_identifier primary_expression postfix_expression
%type <interm.intermTypedNode> expression integer_expression assignment_expression
@@ -164,6 +165,10 @@
%start translation_unit
%%
+identifier
+ : IDENTIFIER
+ | TYPE_NAME
+
variable_identifier
: IDENTIFIER {
// The symbol table search was done in the lexical phase
@@ -1102,7 +1107,7 @@
parameter_declarator
// Type + name
- : type_specifier IDENTIFIER {
+ : type_specifier identifier {
if ($1.type == EbtVoid) {
context->error($2.line, "illegal use of type 'void'", $2.string->c_str());
context->recover();
@@ -1113,7 +1118,7 @@
$$.line = $2.line;
$$.param = param;
}
- | type_specifier IDENTIFIER LEFT_BRACKET constant_expression RIGHT_BRACKET {
+ | type_specifier identifier LEFT_BRACKET constant_expression RIGHT_BRACKET {
// Check that we can make an array out of this type
if (context->arrayTypeErrorCheck($3.line, $1))
context->recover();
@@ -1197,7 +1202,7 @@
: single_declaration {
$$ = $1;
}
- | init_declarator_list COMMA IDENTIFIER {
+ | init_declarator_list COMMA identifier {
if ($1.type.type == EbtInvariant && !$3.symbol)
{
context->error($3.line, "undeclared identifier declared as invariant", $3.string->c_str());
@@ -1219,7 +1224,7 @@
if (symbol && variable)
symbol->setId(variable->getUniqueId());
}
- | init_declarator_list COMMA IDENTIFIER LEFT_BRACKET RIGHT_BRACKET {
+ | init_declarator_list COMMA identifier LEFT_BRACKET RIGHT_BRACKET {
if (context->structQualifierErrorCheck($3.line, $1.type))
context->recover();
@@ -1237,7 +1242,7 @@
context->recover();
}
}
- | init_declarator_list COMMA IDENTIFIER LEFT_BRACKET constant_expression RIGHT_BRACKET {
+ | init_declarator_list COMMA identifier LEFT_BRACKET constant_expression RIGHT_BRACKET {
if (context->structQualifierErrorCheck($3.line, $1.type))
context->recover();
@@ -1261,7 +1266,7 @@
$$.intermAggregate = context->intermediate.growAggregate($1.intermNode, context->intermediate.addSymbol(variable ? variable->getUniqueId() : 0, *$3.string, type, $3.line), $3.line);
}
}
- | init_declarator_list COMMA IDENTIFIER EQUAL initializer {
+ | init_declarator_list COMMA identifier EQUAL initializer {
if (context->structQualifierErrorCheck($3.line, $1.type))
context->recover();
@@ -1288,7 +1293,7 @@
$$.type = $1;
$$.intermAggregate = context->intermediate.makeAggregate(context->intermediate.addSymbol(0, "", TType($1), $1.line), $1.line);
}
- | fully_specified_type IDENTIFIER {
+ | fully_specified_type identifier {
TIntermSymbol* symbol = context->intermediate.addSymbol(0, *$2.string, TType($1), $2.line);
$$.intermAggregate = context->intermediate.makeAggregate(symbol, $2.line);
@@ -1306,7 +1311,7 @@
if (variable && symbol)
symbol->setId(variable->getUniqueId());
}
- | fully_specified_type IDENTIFIER LEFT_BRACKET RIGHT_BRACKET {
+ | fully_specified_type identifier LEFT_BRACKET RIGHT_BRACKET {
context->error($2.line, "unsized array declarations not supported", $2.string->c_str());
context->recover();
@@ -1314,7 +1319,7 @@
$$.intermAggregate = context->intermediate.makeAggregate(symbol, $2.line);
$$.type = $1;
}
- | fully_specified_type IDENTIFIER LEFT_BRACKET constant_expression RIGHT_BRACKET {
+ | fully_specified_type identifier LEFT_BRACKET constant_expression RIGHT_BRACKET {
TType type = TType($1);
int size;
if (context->arraySizeErrorCheck($2.line, $4, size))
@@ -1346,7 +1351,7 @@
symbol->setId(variable->getUniqueId());
}
}
- | fully_specified_type IDENTIFIER EQUAL initializer {
+ | fully_specified_type identifier EQUAL initializer {
if (context->structQualifierErrorCheck($2.line, $1))
context->recover();
@@ -1697,7 +1702,7 @@
;
struct_specifier
- : STRUCT IDENTIFIER LEFT_BRACE { if (context->enterStructDeclaration($2.line, *$2.string)) context->recover(); } struct_declaration_list RIGHT_BRACE {
+ : STRUCT identifier LEFT_BRACE { if (context->enterStructDeclaration($2.line, *$2.string)) context->recover(); } struct_declaration_list RIGHT_BRACE {
if (context->reservedErrorCheck($2.line, *$2.string))
context->recover();
@@ -1784,7 +1789,7 @@
;
struct_declarator
- : IDENTIFIER {
+ : identifier {
if (context->reservedErrorCheck($1.line, *$1.string))
context->recover();
@@ -1792,7 +1797,7 @@
$$.line = $1.line;
$$.type->setFieldName(*$1.string);
}
- | IDENTIFIER LEFT_BRACKET constant_expression RIGHT_BRACKET {
+ | identifier LEFT_BRACKET constant_expression RIGHT_BRACKET {
if (context->reservedErrorCheck($1.line, *$1.string))
context->recover();
@@ -1907,7 +1912,7 @@
if (context->boolErrorCheck($1->getLine(), $1))
context->recover();
}
- | fully_specified_type IDENTIFIER EQUAL initializer {
+ | fully_specified_type identifier EQUAL initializer {
TIntermNode* intermNode;
if (context->structQualifierErrorCheck($2.line, $1))
context->recover();
diff --git a/src/compiler/glslang_lex.cpp b/src/compiler/glslang_lex.cpp
index 46ed3ac..79892cf 100644
--- a/src/compiler/glslang_lex.cpp
+++ b/src/compiler/glslang_lex.cpp
@@ -1214,19 +1214,19 @@
YY_BREAK
case 20:
YY_RULE_SETUP
-{ context->lexAfterType = true; return FLOAT_TYPE; }
+{ return FLOAT_TYPE; }
YY_BREAK
case 21:
YY_RULE_SETUP
-{ context->lexAfterType = true; return INT_TYPE; }
+{ return INT_TYPE; }
YY_BREAK
case 22:
YY_RULE_SETUP
-{ context->lexAfterType = true; return VOID_TYPE; }
+{ return VOID_TYPE; }
YY_BREAK
case 23:
YY_RULE_SETUP
-{ context->lexAfterType = true; return BOOL_TYPE; }
+{ return BOOL_TYPE; }
YY_BREAK
case 24:
YY_RULE_SETUP
@@ -1246,71 +1246,71 @@
YY_BREAK
case 28:
YY_RULE_SETUP
-{ context->lexAfterType = true; return MATRIX2; }
+{ return MATRIX2; }
YY_BREAK
case 29:
YY_RULE_SETUP
-{ context->lexAfterType = true; return MATRIX3; }
+{ return MATRIX3; }
YY_BREAK
case 30:
YY_RULE_SETUP
-{ context->lexAfterType = true; return MATRIX4; }
+{ return MATRIX4; }
YY_BREAK
case 31:
YY_RULE_SETUP
-{ context->lexAfterType = true; return VEC2; }
+{ return VEC2; }
YY_BREAK
case 32:
YY_RULE_SETUP
-{ context->lexAfterType = true; return VEC3; }
+{ return VEC3; }
YY_BREAK
case 33:
YY_RULE_SETUP
-{ context->lexAfterType = true; return VEC4; }
+{ return VEC4; }
YY_BREAK
case 34:
YY_RULE_SETUP
-{ context->lexAfterType = true; return IVEC2; }
+{ return IVEC2; }
YY_BREAK
case 35:
YY_RULE_SETUP
-{ context->lexAfterType = true; return IVEC3; }
+{ return IVEC3; }
YY_BREAK
case 36:
YY_RULE_SETUP
-{ context->lexAfterType = true; return IVEC4; }
+{ return IVEC4; }
YY_BREAK
case 37:
YY_RULE_SETUP
-{ context->lexAfterType = true; return BVEC2; }
+{ return BVEC2; }
YY_BREAK
case 38:
YY_RULE_SETUP
-{ context->lexAfterType = true; return BVEC3; }
+{ return BVEC3; }
YY_BREAK
case 39:
YY_RULE_SETUP
-{ context->lexAfterType = true; return BVEC4; }
+{ return BVEC4; }
YY_BREAK
case 40:
YY_RULE_SETUP
-{ context->lexAfterType = true; return SAMPLER2D; }
+{ return SAMPLER2D; }
YY_BREAK
case 41:
YY_RULE_SETUP
-{ context->lexAfterType = true; return SAMPLERCUBE; }
+{ return SAMPLERCUBE; }
YY_BREAK
case 42:
YY_RULE_SETUP
-{ context->lexAfterType = true; return SAMPLER_EXTERNAL_OES; }
+{ return SAMPLER_EXTERNAL_OES; }
YY_BREAK
case 43:
YY_RULE_SETUP
-{ context->lexAfterType = true; return SAMPLER2DRECT; }
+{ return SAMPLER2DRECT; }
YY_BREAK
case 44:
YY_RULE_SETUP
-{ context->lexAfterType = true; return STRUCT; }
+{ return STRUCT; }
YY_BREAK
case 45:
YY_RULE_SETUP
@@ -1621,11 +1621,11 @@
YY_BREAK
case 121:
YY_RULE_SETUP
-{ context->lexAfterType = false; return SEMICOLON; }
+{ return SEMICOLON; }
YY_BREAK
case 122:
YY_RULE_SETUP
-{ context->lexAfterType = false; return LEFT_BRACE; }
+{ return LEFT_BRACE; }
YY_BREAK
case 123:
YY_RULE_SETUP
@@ -1633,7 +1633,7 @@
YY_BREAK
case 124:
YY_RULE_SETUP
-{ if (context->inTypeParen) context->lexAfterType = false; return COMMA; }
+{ return COMMA; }
YY_BREAK
case 125:
YY_RULE_SETUP
@@ -1641,15 +1641,15 @@
YY_BREAK
case 126:
YY_RULE_SETUP
-{ context->lexAfterType = false; return EQUAL; }
+{ return EQUAL; }
YY_BREAK
case 127:
YY_RULE_SETUP
-{ context->lexAfterType = false; context->inTypeParen = true; return LEFT_PAREN; }
+{ return LEFT_PAREN; }
YY_BREAK
case 128:
YY_RULE_SETUP
-{ context->inTypeParen = false; return RIGHT_PAREN; }
+{ return RIGHT_PAREN; }
YY_BREAK
case 129:
YY_RULE_SETUP
@@ -2934,12 +2934,10 @@
int token = IDENTIFIER;
TSymbol* symbol = yyextra->symbolTable.find(yytext);
- if (yyextra->lexAfterType == false && symbol && symbol->isVariable()) {
+ if (symbol && symbol->isVariable()) {
TVariable* variable = static_cast<TVariable*>(symbol);
- if (variable->isUserType()) {
- yyextra->lexAfterType = true;
+ if (variable->isUserType())
token = TYPE_NAME;
- }
}
yylval->lex.symbol = symbol;
return token;
diff --git a/src/compiler/glslang_tab.cpp b/src/compiler/glslang_tab.cpp
index afc92a0..779b911 100644
--- a/src/compiler/glslang_tab.cpp
+++ b/src/compiler/glslang_tab.cpp
@@ -532,18 +532,18 @@
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 71
+#define YYFINAL 74
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1416
+#define YYLAST 1437
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 96
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 83
+#define YYNNTS 84
/* YYNRULES -- Number of rules. */
-#define YYNRULES 201
+#define YYNRULES 203
/* YYNRULES -- Number of states. */
-#define YYNSTATES 304
+#define YYNSTATES 307
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -598,115 +598,116 @@
YYRHS. */
static const yytype_uint16 yyprhs[] =
{
- 0, 0, 3, 5, 7, 9, 11, 13, 17, 19,
- 24, 26, 30, 33, 36, 38, 40, 42, 46, 49,
- 52, 55, 57, 60, 64, 67, 69, 71, 73, 75,
- 78, 81, 84, 86, 88, 90, 92, 96, 100, 102,
- 106, 110, 112, 114, 118, 122, 126, 130, 132, 136,
- 140, 142, 144, 146, 148, 152, 154, 158, 160, 164,
- 166, 172, 174, 178, 180, 182, 184, 186, 188, 190,
- 194, 196, 199, 202, 207, 210, 212, 214, 217, 221,
- 225, 228, 234, 238, 241, 245, 248, 249, 251, 253,
- 255, 257, 259, 263, 269, 276, 282, 284, 287, 292,
- 298, 303, 306, 308, 311, 313, 315, 317, 320, 322,
- 324, 327, 329, 331, 333, 335, 340, 342, 344, 346,
+ 0, 0, 3, 5, 7, 9, 11, 13, 15, 17,
+ 21, 23, 28, 30, 34, 37, 40, 42, 44, 46,
+ 50, 53, 56, 59, 61, 64, 68, 71, 73, 75,
+ 77, 79, 82, 85, 88, 90, 92, 94, 96, 100,
+ 104, 106, 110, 114, 116, 118, 122, 126, 130, 134,
+ 136, 140, 144, 146, 148, 150, 152, 156, 158, 162,
+ 164, 168, 170, 176, 178, 182, 184, 186, 188, 190,
+ 192, 194, 198, 200, 203, 206, 211, 214, 216, 218,
+ 221, 225, 229, 232, 238, 242, 245, 249, 252, 253,
+ 255, 257, 259, 261, 263, 267, 273, 280, 286, 288,
+ 291, 296, 302, 307, 310, 312, 315, 317, 319, 321,
+ 324, 326, 328, 331, 333, 335, 337, 339, 344, 346,
348, 350, 352, 354, 356, 358, 360, 362, 364, 366,
- 368, 370, 372, 374, 376, 378, 380, 382, 384, 385,
- 392, 393, 399, 401, 404, 408, 410, 414, 416, 421,
- 423, 425, 427, 429, 431, 433, 435, 437, 439, 442,
- 443, 444, 450, 452, 454, 455, 458, 459, 462, 465,
- 469, 471, 474, 476, 479, 485, 489, 491, 493, 498,
- 499, 506, 507, 516, 517, 525, 527, 529, 531, 532,
- 535, 539, 542, 545, 548, 552, 555, 557, 560, 562,
- 564, 565
+ 368, 370, 372, 374, 376, 378, 380, 382, 384, 386,
+ 388, 389, 396, 397, 403, 405, 408, 412, 414, 418,
+ 420, 425, 427, 429, 431, 433, 435, 437, 439, 441,
+ 443, 446, 447, 448, 454, 456, 458, 459, 462, 463,
+ 466, 469, 473, 475, 478, 480, 483, 489, 493, 495,
+ 497, 502, 503, 510, 511, 520, 521, 529, 531, 533,
+ 535, 536, 539, 543, 546, 549, 552, 556, 559, 561,
+ 564, 566, 568, 569
};
/* 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
+ 176, 0, -1, 45, -1, 46, -1, 45, -1, 98,
+ -1, 48, -1, 47, -1, 49, -1, 72, 125, 73,
+ -1, 99, -1, 100, 74, 101, 75, -1, 102, -1,
+ 100, 78, 50, -1, 100, 53, -1, 100, 54, -1,
+ 125, -1, 103, -1, 104, -1, 100, 78, 104, -1,
+ 106, 73, -1, 105, 73, -1, 107, 39, -1, 107,
+ -1, 107, 123, -1, 106, 79, 123, -1, 108, 72,
+ -1, 143, -1, 45, -1, 50, -1, 100, -1, 53,
+ 109, -1, 54, 109, -1, 110, 109, -1, 86, -1,
+ 84, -1, 83, -1, 109, -1, 111, 87, 109, -1,
+ 111, 88, 109, -1, 111, -1, 112, 86, 111, -1,
+ 112, 84, 111, -1, 112, -1, 113, -1, 114, 90,
+ 113, -1, 114, 91, 113, -1, 114, 55, 113, -1,
+ 114, 56, 113, -1, 114, -1, 115, 57, 114, -1,
+ 115, 58, 114, -1, 115, -1, 116, -1, 117, -1,
+ 118, -1, 119, 59, 118, -1, 119, -1, 120, 61,
+ 119, -1, 120, -1, 121, 60, 120, -1, 121, -1,
+ 121, 95, 125, 80, 123, -1, 122, -1, 109, 124,
+ 123, -1, 81, -1, 62, -1, 63, -1, 64, -1,
+ 71, -1, 123, -1, 125, 79, 123, -1, 122, -1,
+ 128, 82, -1, 136, 82, -1, 7, 141, 142, 82,
+ -1, 129, 73, -1, 131, -1, 130, -1, 131, 133,
+ -1, 130, 79, 133, -1, 138, 45, 72, -1, 140,
+ 97, -1, 140, 97, 74, 126, 75, -1, 139, 134,
+ 132, -1, 134, 132, -1, 139, 134, 135, -1, 134,
+ 135, -1, -1, 33, -1, 34, -1, 35, -1, 140,
+ -1, 137, -1, 136, 79, 97, -1, 136, 79, 97,
+ 74, 75, -1, 136, 79, 97, 74, 126, 75, -1,
+ 136, 79, 97, 81, 151, -1, 138, -1, 138, 97,
+ -1, 138, 97, 74, 75, -1, 138, 97, 74, 126,
+ 75, -1, 138, 97, 81, 151, -1, 3, 45, -1,
+ 140, -1, 139, 140, -1, 9, -1, 8, -1, 37,
+ -1, 3, 37, -1, 36, -1, 142, -1, 141, 142,
+ -1, 4, -1, 5, -1, 6, -1, 143, -1, 143,
+ 74, 126, 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, 144, -1, 46, -1, -1, 38,
+ 97, 76, 145, 147, 77, -1, -1, 38, 76, 146,
+ 147, 77, -1, 148, -1, 147, 148, -1, 140, 149,
+ 82, -1, 150, -1, 149, 79, 150, -1, 97, -1,
+ 97, 74, 126, 75, -1, 123, -1, 127, -1, 155,
+ -1, 154, -1, 152, -1, 164, -1, 165, -1, 168,
+ -1, 175, -1, 76, 77, -1, -1, -1, 76, 156,
+ 163, 157, 77, -1, 162, -1, 154, -1, -1, 160,
+ 162, -1, -1, 161, 154, -1, 76, 77, -1, 76,
+ 163, 77, -1, 153, -1, 163, 153, -1, 82, -1,
+ 125, 82, -1, 18, 72, 125, 73, 166, -1, 159,
+ 16, 159, -1, 159, -1, 125, -1, 138, 97, 81,
+ 151, -1, -1, 40, 72, 169, 167, 73, 158, -1,
+ -1, 15, 170, 159, 40, 72, 125, 73, 82, -1,
+ -1, 17, 72, 171, 172, 174, 73, 158, -1, 164,
+ -1, 152, -1, 167, -1, -1, 173, 82, -1, 173,
+ 82, 125, -1, 14, 82, -1, 13, 82, -1, 20,
+ 82, -1, 20, 125, 82, -1, 19, 82, -1, 177,
+ -1, 176, 177, -1, 178, -1, 127, -1, -1, 128,
+ 179, 162, -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, 169, 169, 170, 173, 208, 211, 224, 229, 234,
+ 240, 243, 322, 325, 426, 436, 449, 457, 557, 560,
+ 568, 572, 579, 583, 590, 596, 605, 613, 668, 675,
+ 685, 688, 698, 708, 729, 730, 731, 736, 737, 746,
+ 758, 759, 767, 778, 782, 783, 793, 803, 813, 826,
+ 827, 837, 850, 854, 858, 862, 863, 876, 877, 890,
+ 891, 904, 905, 922, 923, 936, 937, 938, 939, 940,
+ 944, 947, 958, 966, 993, 998, 1012, 1050, 1053, 1060,
+ 1068, 1089, 1110, 1121, 1150, 1155, 1165, 1170, 1180, 1183,
+ 1186, 1189, 1195, 1202, 1205, 1227, 1245, 1269, 1292, 1296,
+ 1314, 1322, 1354, 1374, 1463, 1472, 1495, 1498, 1504, 1512,
+ 1520, 1528, 1538, 1545, 1548, 1551, 1557, 1560, 1575, 1579,
+ 1583, 1587, 1596, 1601, 1606, 1611, 1616, 1621, 1626, 1631,
+ 1636, 1641, 1647, 1653, 1659, 1664, 1669, 1678, 1687, 1692,
+ 1705, 1705, 1719, 1719, 1728, 1731, 1746, 1782, 1786, 1792,
+ 1800, 1816, 1820, 1824, 1825, 1831, 1832, 1833, 1834, 1835,
+ 1839, 1840, 1840, 1840, 1850, 1851, 1855, 1855, 1856, 1856,
+ 1861, 1864, 1874, 1877, 1883, 1884, 1888, 1896, 1900, 1910,
+ 1915, 1932, 1932, 1937, 1937, 1944, 1944, 1952, 1955, 1961,
+ 1964, 1970, 1974, 1981, 1988, 1995, 2002, 2013, 2022, 2026,
+ 2033, 2036, 2042, 2042
};
#endif
@@ -731,10 +732,10 @@
"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",
+ "CARET", "AMPERSAND", "QUESTION", "$accept", "identifier",
+ "variable_identifier", "primary_expression", "postfix_expression",
+ "integer_expression", "function_call", "function_call_or_method",
+ "function_call_generic", "function_call_header_no_parameters",
"function_call_header_with_parameters", "function_call_header",
"function_identifier", "unary_expression", "unary_operator",
"multiplicative_expression", "additive_expression", "shift_expression",
@@ -784,53 +785,53 @@
/* 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, 96, 97, 97, 98, 99, 99, 99, 99, 99,
+ 100, 100, 100, 100, 100, 100, 101, 102, 103, 103,
+ 104, 104, 105, 105, 106, 106, 107, 108, 108, 108,
+ 109, 109, 109, 109, 110, 110, 110, 111, 111, 111,
+ 112, 112, 112, 113, 114, 114, 114, 114, 114, 115,
+ 115, 115, 116, 117, 118, 119, 119, 120, 120, 121,
+ 121, 122, 122, 123, 123, 124, 124, 124, 124, 124,
+ 125, 125, 126, 127, 127, 127, 128, 129, 129, 130,
+ 130, 131, 132, 132, 133, 133, 133, 133, 134, 134,
+ 134, 134, 135, 136, 136, 136, 136, 136, 137, 137,
+ 137, 137, 137, 137, 138, 138, 139, 139, 139, 139,
+ 139, 140, 140, 141, 141, 141, 142, 142, 143, 143,
+ 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
+ 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
+ 145, 144, 146, 144, 147, 147, 148, 149, 149, 150,
+ 150, 151, 152, 153, 153, 154, 154, 154, 154, 154,
+ 155, 156, 157, 155, 158, 158, 160, 159, 161, 159,
+ 162, 162, 163, 163, 164, 164, 165, 166, 166, 167,
+ 167, 169, 168, 170, 168, 171, 168, 172, 172, 173,
+ 173, 174, 174, 175, 175, 175, 175, 175, 176, 176,
+ 177, 177, 179, 178
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
static const yytype_uint8 yyr2[] =
{
- 0, 2, 1, 1, 1, 1, 1, 3, 1, 4,
- 1, 3, 2, 2, 1, 1, 1, 3, 2, 2,
- 2, 1, 2, 3, 2, 1, 1, 1, 1, 2,
- 2, 2, 1, 1, 1, 1, 3, 3, 1, 3,
- 3, 1, 1, 3, 3, 3, 3, 1, 3, 3,
- 1, 1, 1, 1, 3, 1, 3, 1, 3, 1,
- 5, 1, 3, 1, 1, 1, 1, 1, 1, 3,
- 1, 2, 2, 4, 2, 1, 1, 2, 3, 3,
- 2, 5, 3, 2, 3, 2, 0, 1, 1, 1,
- 1, 1, 3, 5, 6, 5, 1, 2, 4, 5,
- 4, 2, 1, 2, 1, 1, 1, 2, 1, 1,
- 2, 1, 1, 1, 1, 4, 1, 1, 1, 1,
+ 0, 2, 1, 1, 1, 1, 1, 1, 1, 3,
+ 1, 4, 1, 3, 2, 2, 1, 1, 1, 3,
+ 2, 2, 2, 1, 2, 3, 2, 1, 1, 1,
+ 1, 2, 2, 2, 1, 1, 1, 1, 3, 3,
+ 1, 3, 3, 1, 1, 3, 3, 3, 3, 1,
+ 3, 3, 1, 1, 1, 1, 3, 1, 3, 1,
+ 3, 1, 5, 1, 3, 1, 1, 1, 1, 1,
+ 1, 3, 1, 2, 2, 4, 2, 1, 1, 2,
+ 3, 3, 2, 5, 3, 2, 3, 2, 0, 1,
+ 1, 1, 1, 1, 3, 5, 6, 5, 1, 2,
+ 4, 5, 4, 2, 1, 2, 1, 1, 1, 2,
+ 1, 1, 2, 1, 1, 1, 1, 4, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 0, 6,
- 0, 5, 1, 2, 3, 1, 3, 1, 4, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 2, 0,
- 0, 5, 1, 1, 0, 2, 0, 2, 2, 3,
- 1, 2, 1, 2, 5, 3, 1, 1, 4, 0,
- 6, 0, 8, 0, 7, 1, 1, 1, 0, 2,
- 3, 2, 2, 2, 3, 2, 1, 2, 1, 1,
- 0, 3
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 0, 6, 0, 5, 1, 2, 3, 1, 3, 1,
+ 4, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 2, 0, 0, 5, 1, 1, 0, 2, 0, 2,
+ 2, 3, 1, 2, 1, 2, 5, 3, 1, 1,
+ 4, 0, 6, 0, 8, 0, 7, 1, 1, 1,
+ 0, 2, 3, 2, 2, 2, 3, 2, 1, 2,
+ 1, 1, 0, 3
};
/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
@@ -838,405 +839,409 @@
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 0, 0, 111, 112, 113, 0, 105, 104, 119, 117,
- 118, 123, 124, 125, 126, 127, 128, 120, 121, 122,
- 129, 130, 131, 108, 106, 0, 116, 132, 133, 134,
- 135, 137, 199, 200, 0, 76, 86, 0, 91, 96,
- 0, 102, 0, 109, 114, 136, 0, 196, 198, 107,
- 101, 0, 0, 140, 71, 0, 74, 86, 0, 87,
- 88, 89, 77, 0, 86, 0, 72, 97, 103, 110,
- 0, 1, 197, 0, 138, 0, 0, 201, 78, 83,
- 85, 90, 0, 92, 79, 0, 0, 2, 5, 4,
- 6, 27, 0, 0, 0, 34, 33, 32, 3, 8,
- 28, 10, 15, 16, 0, 0, 21, 0, 35, 0,
- 38, 41, 42, 47, 50, 51, 52, 53, 55, 57,
- 59, 70, 0, 25, 73, 0, 0, 0, 142, 0,
- 0, 181, 0, 0, 0, 0, 0, 159, 168, 172,
- 35, 61, 68, 0, 150, 0, 114, 153, 170, 152,
- 151, 0, 154, 155, 156, 157, 80, 82, 84, 0,
- 0, 98, 0, 149, 100, 29, 30, 0, 12, 13,
- 0, 0, 19, 18, 0, 20, 22, 24, 31, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 115, 0, 147, 0, 145, 141, 143,
- 192, 191, 166, 183, 0, 195, 193, 0, 179, 158,
- 0, 64, 65, 66, 67, 63, 0, 0, 173, 169,
- 171, 0, 93, 0, 95, 99, 7, 0, 14, 26,
- 11, 17, 23, 36, 37, 40, 39, 45, 46, 43,
- 44, 48, 49, 54, 56, 58, 0, 139, 0, 0,
- 144, 0, 0, 0, 0, 0, 194, 0, 160, 62,
- 69, 0, 94, 9, 0, 0, 146, 0, 165, 167,
- 186, 185, 188, 166, 177, 0, 0, 0, 81, 60,
- 148, 0, 187, 0, 0, 176, 174, 0, 0, 161,
- 0, 189, 0, 166, 0, 163, 180, 162, 0, 190,
- 184, 175, 178, 182
+ 0, 0, 113, 114, 115, 0, 107, 106, 121, 119,
+ 120, 125, 126, 127, 128, 129, 130, 122, 123, 124,
+ 131, 132, 133, 110, 108, 0, 118, 134, 135, 136,
+ 137, 139, 201, 202, 0, 78, 88, 0, 93, 98,
+ 0, 104, 0, 111, 116, 138, 0, 198, 200, 109,
+ 103, 0, 2, 3, 142, 0, 73, 0, 76, 88,
+ 0, 89, 90, 91, 79, 0, 88, 0, 74, 2,
+ 99, 105, 112, 0, 1, 199, 0, 0, 140, 0,
+ 203, 80, 85, 87, 92, 0, 94, 81, 0, 0,
+ 4, 7, 6, 8, 29, 0, 0, 0, 36, 35,
+ 34, 5, 10, 30, 12, 17, 18, 0, 0, 23,
+ 0, 37, 0, 40, 43, 44, 49, 52, 53, 54,
+ 55, 57, 59, 61, 72, 0, 27, 75, 0, 0,
+ 144, 0, 0, 0, 183, 0, 0, 0, 0, 0,
+ 161, 170, 174, 37, 63, 70, 0, 152, 0, 116,
+ 155, 172, 154, 153, 0, 156, 157, 158, 159, 82,
+ 84, 86, 0, 0, 100, 0, 151, 102, 31, 32,
+ 0, 14, 15, 0, 0, 21, 20, 0, 22, 24,
+ 26, 33, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 117, 149, 0, 147,
+ 143, 145, 0, 194, 193, 168, 185, 0, 197, 195,
+ 0, 181, 160, 0, 66, 67, 68, 69, 65, 0,
+ 0, 175, 171, 173, 0, 95, 0, 97, 101, 9,
+ 0, 16, 28, 13, 19, 25, 38, 39, 42, 41,
+ 47, 48, 45, 46, 50, 51, 56, 58, 60, 0,
+ 0, 0, 146, 141, 0, 0, 0, 0, 0, 196,
+ 0, 162, 64, 71, 0, 96, 11, 0, 0, 148,
+ 0, 167, 169, 188, 187, 190, 168, 179, 0, 0,
+ 0, 83, 62, 150, 0, 189, 0, 0, 178, 176,
+ 0, 0, 163, 0, 191, 0, 168, 0, 165, 182,
+ 164, 0, 192, 186, 177, 180, 184
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 98, 99, 100, 227, 101, 102, 103, 104, 105,
- 106, 107, 140, 109, 110, 111, 112, 113, 114, 115,
- 116, 117, 118, 119, 120, 141, 142, 216, 143, 122,
- 144, 145, 34, 35, 36, 79, 62, 63, 80, 37,
- 38, 39, 40, 41, 42, 43, 123, 45, 125, 75,
- 127, 128, 196, 197, 164, 147, 148, 149, 150, 210,
- 277, 296, 251, 252, 253, 297, 151, 152, 153, 286,
- 276, 154, 257, 202, 254, 272, 283, 284, 155, 46,
- 47, 48, 55
+ -1, 197, 101, 102, 103, 230, 104, 105, 106, 107,
+ 108, 109, 110, 143, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 144, 145, 219, 146,
+ 125, 147, 148, 34, 35, 36, 82, 64, 65, 83,
+ 37, 38, 39, 40, 41, 42, 43, 126, 45, 131,
+ 77, 129, 130, 198, 199, 167, 150, 151, 152, 153,
+ 213, 280, 299, 254, 255, 256, 300, 154, 155, 156,
+ 289, 279, 157, 260, 205, 257, 275, 286, 287, 158,
+ 46, 47, 48, 57
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -266
+#define YYPACT_NINF -261
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
+ 1274, -14, -261, -261, -261, 122, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -13, -261, -261, -261, -261,
+ -261, -261, -261, -57, -59, -41, 63, 7, -261, 89,
+ 1317, -261, 1391, -261, -1, -261, 1230, -261, -261, -261,
+ -261, 1391, -261, -261, -261, -26, -261, 11, -261, 75,
+ 76, -261, -261, -261, -261, 1317, 128, 92, -261, 3,
+ -46, -261, -261, 995, -261, -261, 36, 1317, -261, 293,
+ -261, -261, -261, -261, 92, 1317, -37, -261, 194, 995,
+ 58, -261, -261, -261, -261, 995, 995, 995, -261, -261,
+ -261, -261, -261, 14, -261, -261, -261, 95, -9, 1061,
+ 104, -261, 995, 77, -27, -261, -29, 113, -261, -261,
+ -261, 119, 126, -47, -261, 108, -261, -261, 92, 1130,
+ -261, 1317, 106, 107, -261, 118, 120, 109, 863, 123,
+ 117, -261, -261, 96, -261, -261, 23, -261, -57, 83,
+ -261, -261, -261, -261, 377, -261, -261, -261, -261, 124,
+ -261, -261, 929, 995, -261, 121, -261, -261, -261, -261,
+ 1, -261, -261, 995, 1354, -261, -261, 995, 125, -261,
+ -261, -261, 995, 995, 995, 995, 995, 995, 995, 995,
+ 995, 995, 995, 995, 995, 995, -261, 134, 24, -261,
+ -261, -261, 1173, -261, -261, 133, -261, 995, -261, -261,
+ 38, -261, -261, 461, -261, -261, -261, -261, -261, 995,
+ 995, -261, -261, -261, 995, -261, 136, -261, -261, -261,
+ 137, 135, -261, 127, -261, -261, -261, -261, 77, 77,
+ -261, -261, -261, -261, -29, -29, -261, 119, 126, 93,
+ 995, 92, -261, -261, 160, 11, 629, 713, 28, -261,
+ 797, 461, -261, -261, 152, -261, -261, 995, 153, -261,
+ 157, -261, -261, -261, -261, 797, 133, 135, 92, 158,
+ 168, -261, -261, -261, 995, -261, 148, 161, 230, -261,
+ 169, 545, -261, 42, 995, 545, 133, 995, -261, -261,
+ -261, 167, 135, -261, -261, -261, -261
};
/* 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
+ -261, -24, -261, -261, -261, -261, -261, -261, 78, -261,
+ -261, -261, -261, -43, -261, -10, -261, -64, -5, -261,
+ -261, -261, 59, 60, 61, -261, -68, -87, -261, -91,
+ -71, 9, 10, -261, -261, -261, 173, 200, 196, 178,
+ -261, -261, -236, -25, -36, 259, -30, 0, -261, -261,
+ -261, 139, -121, -261, 16, -145, 8, -147, -237, -261,
+ -261, -261, -23, -260, -261, -261, -54, 55, 17, -261,
+ -261, -4, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, 227, -261, -261
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -165
+#define YYTABLE_NINF -167
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,
- 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,
+ 44, 55, 166, 80, 71, 124, 170, 223, 201, 32,
+ 33, 66, 72, 194, 58, 70, 288, 165, 227, 272,
+ 124, 76, 179, 49, 278, 56, 186, 187, 88, 84,
+ 111, 50, 52, 53, 66, 89, 304, 162, 59, 278,
+ 44, 128, 44, 86, 163, 111, 44, 210, 195, 84,
+ 78, 44, 168, 169, 298, 32, 33, 184, 298, 185,
+ 159, 188, 189, 54, 176, 44, 60, 171, 172, 181,
+ 177, 6, 7, 73, 229, 87, 166, 44, 60, 149,
+ 220, 201, 231, 6, 7, 44, 67, 79, 173, 68,
+ 235, 226, 174, 128, 124, 128, 61, 62, 63, 23,
+ 24, 276, 220, 251, 249, 221, 252, 220, 61, 62,
+ 63, 23, 24, 49, 223, 301, 258, 220, 127, 111,
+ 259, 220, 240, 241, 242, 243, 2, 3, 4, 44,
+ -28, 44, 262, 263, 69, 53, -77, 52, 53, 236,
+ 237, 111, 111, 111, 111, 111, 111, 111, 111, 111,
+ 111, 111, 305, 264, 149, -27, 124, 73, 214, 215,
+ 216, 61, 62, 63, 182, 183, 128, 217, 175, 277,
+ 190, 191, 220, 267, 238, 239, 180, 218, 192, 268,
+ 282, 111, 124, 196, 277, 244, 245, 193, 203, 204,
+ 206, 208, 207, 293, 212, 211, 228, -118, 224, -29,
+ 270, 271, 44, 302, 8, 9, 10, 111, 250, -166,
+ 166, 265, 266, 149, 220, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 281, 283, 284,
+ 294, 291, 25, 26, 295, 27, 28, 29, 30, 90,
+ 31, 91, 92, 93, 94, 292, 296, 95, 96, 306,
+ 297, 246, 234, 247, 290, 248, 149, 149, 160, 81,
+ 149, 149, 85, 161, 51, 273, 97, 269, 261, 164,
+ 202, 285, 303, 75, 274, 149, 0, 98, 99, 0,
+ 100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 149, 0, 0, 0, 149, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 132, 133, 134, 0,
+ 135, 136, 137, 138, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 0, 0, 0, 23,
+ 24, 25, 26, 139, 27, 28, 29, 30, 90, 31,
+ 91, 92, 93, 94, 0, 0, 95, 96, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 97, 0, 0, 0, 140,
+ 141, 0, 0, 0, 0, 142, 98, 99, 0, 100,
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
+ 132, 133, 134, 0, 135, 136, 137, 138, 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,
- 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,
+ 0, 0, 0, 23, 24, 25, 26, 139, 27, 28,
+ 29, 30, 90, 31, 91, 92, 93, 94, 0, 0,
+ 95, 96, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 97,
+ 0, 0, 0, 140, 222, 0, 0, 0, 0, 142,
+ 98, 99, 0, 100, 1, 2, 3, 4, 5, 6,
+ 7, 8, 9, 10, 132, 133, 134, 0, 135, 136,
+ 137, 138, 11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 0, 0, 0, 23, 24, 25,
+ 26, 139, 27, 28, 29, 30, 90, 31, 91, 92,
+ 93, 94, 0, 0, 95, 96, 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, 0, 0, 97, 0, 0, 0, 140, 0, 0,
+ 0, 0, 0, 142, 98, 99, 0, 100, 1, 2,
+ 3, 4, 5, 6, 7, 8, 9, 10, 132, 133,
+ 134, 0, 135, 136, 137, 138, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 0, 0,
+ 0, 23, 24, 25, 26, 139, 27, 28, 29, 30,
+ 90, 31, 91, 92, 93, 94, 0, 0, 95, 96,
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, 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, 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, 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,
- 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,
- 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,
- 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,
- 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,
- 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,
- 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,
+ 0, 0, 0, 0, 0, 0, 0, 97, 0, 0,
+ 0, 79, 0, 0, 0, 0, 0, 142, 98, 99,
+ 0, 100, 1, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 132, 133, 134, 0, 135, 136, 137, 138,
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,
+ 21, 22, 0, 0, 0, 23, 24, 25, 26, 139,
+ 27, 28, 29, 30, 90, 31, 91, 92, 93, 94,
+ 0, 0, 95, 96, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 97, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 142, 98, 99, 0, 100, 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, 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,
- 0, 0, 0, 0, 25, 26, 0, 27, 28, 29,
- 30, 0, 31, 8, 9, 10, 0, 0, 0, 0,
- 0, 0, 0, 0, 11, 12, 13, 14, 15, 16,
+ 24, 25, 26, 0, 27, 28, 29, 30, 90, 31,
+ 91, 92, 93, 94, 0, 0, 95, 96, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 97, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 142, 98, 99, 0, 100,
+ 60, 2, 3, 4, 0, 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, 90, 31, 91, 92, 93, 94, 0, 0,
+ 95, 96, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 97,
+ 0, 0, 0, 8, 9, 10, 0, 0, 0, 0,
+ 98, 99, 0, 100, 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, 25, 26, 0, 27, 28, 29, 30, 90, 31,
+ 91, 92, 93, 94, 0, 0, 95, 96, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 97, 0, 0, 0, 8,
+ 9, 10, 0, 0, 0, 209, 98, 99, 0, 100,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 0, 0, 0, 0, 0, 25, 26, 0,
+ 27, 28, 29, 30, 90, 31, 91, 92, 93, 94,
+ 0, 0, 95, 96, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 97, 0, 0, 225, 8, 9, 10, 0, 0,
+ 0, 0, 98, 99, 0, 100, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 0, 0,
+ 0, 0, 0, 25, 26, 0, 27, 28, 29, 30,
+ 90, 31, 91, 92, 93, 94, 0, 0, 95, 96,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 97, 0, 0,
+ 0, 8, 9, 10, 0, 0, 0, 0, 98, 99,
+ 0, 100, 11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 0, 0, 0, 0, 0, 25,
+ 178, 0, 27, 28, 29, 30, 90, 31, 91, 92,
+ 93, 94, 0, 0, 95, 96, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 97, 2, 3, 4, 0, 0, 0,
+ 8, 9, 10, 0, 98, 99, 0, 100, 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, 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, 200, 0, 0,
+ 0, 25, 26, 0, 27, 28, 29, 30, 0, 31,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 74, 0, 0, 1, 2, 3, 4, 5, 6, 7,
+ 8, 9, 10, 0, 0, 0, 0, 0, 0, 0,
+ 253, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 0, 0, 0, 23, 24, 25, 26,
+ 0, 27, 28, 29, 30, 0, 31, 1, 2, 3,
+ 4, 5, 6, 7, 8, 9, 10, 0, 0, 0,
+ 0, 0, 0, 0, 0, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 0, 0, 0,
+ 23, 24, 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, 0, 0, 0, 0, 25, 26, 0, 27, 28,
+ 29, 30, 0, 31, 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,
+ 0, 0, 25, 26, 0, 27, 28, 29, 30, 232,
+ 31, 8, 9, 10, 233, 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
};
#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-266)))
+ (!!((Yystate) == (-261)))
#define yytable_value_is_error(Yytable_value) \
YYID (0)
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,
- 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,
+ 0, 25, 89, 57, 40, 73, 97, 154, 129, 0,
+ 0, 36, 42, 60, 73, 39, 276, 88, 163, 256,
+ 88, 51, 109, 37, 260, 82, 55, 56, 74, 65,
+ 73, 45, 45, 46, 59, 81, 296, 74, 79, 275,
+ 40, 77, 42, 67, 81, 88, 46, 138, 95, 85,
+ 76, 51, 95, 96, 291, 46, 46, 84, 295, 86,
+ 84, 90, 91, 76, 73, 65, 3, 53, 54, 112,
+ 79, 8, 9, 74, 73, 72, 163, 77, 3, 79,
+ 79, 202, 173, 8, 9, 85, 79, 76, 74, 82,
+ 177, 162, 78, 129, 162, 131, 33, 34, 35, 36,
+ 37, 73, 79, 79, 195, 82, 82, 79, 33, 34,
+ 35, 36, 37, 37, 261, 73, 207, 79, 82, 162,
+ 82, 79, 186, 187, 188, 189, 4, 5, 6, 129,
+ 72, 131, 219, 220, 45, 46, 73, 45, 46, 182,
+ 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
+ 193, 194, 297, 224, 154, 72, 224, 74, 62, 63,
+ 64, 33, 34, 35, 87, 88, 202, 71, 73, 260,
+ 57, 58, 79, 80, 184, 185, 72, 81, 59, 250,
+ 267, 224, 250, 75, 275, 190, 191, 61, 82, 82,
+ 72, 82, 72, 284, 77, 72, 75, 72, 74, 72,
+ 40, 255, 202, 294, 10, 11, 12, 250, 74, 76,
+ 297, 75, 75, 213, 79, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 75, 75, 72,
+ 82, 73, 38, 39, 73, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 77, 16, 53, 54, 82,
+ 81, 192, 174, 193, 278, 194, 256, 257, 85, 59,
+ 260, 261, 66, 85, 5, 257, 72, 251, 213, 75,
+ 131, 275, 295, 46, 257, 275, -1, 83, 84, -1,
+ 86, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 291, -1, -1, -1, 295, 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, 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,
- 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,
- -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,
+ -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, 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,
- -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, 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, 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, -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, 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, -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, -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, -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, -1, -1, -1,
- -1, -1, 72, 4, 5, 6, -1, -1, -1, 10,
- 11, 12, -1, 83, 84, -1, 86, -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, -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,
+ 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, -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,
+ 37, 38, 39, -1, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, -1, -1, 53, 54, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 72, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 82, 83, 84, -1, 86,
+ 3, 4, 5, 6, -1, 8, 9, 10, 11, 12,
+ -1, -1, -1, -1, -1, -1, -1, -1, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ -1, -1, -1, 36, 37, 38, 39, -1, 41, 42,
+ 43, 44, 45, 46, 47, 48, 49, 50, -1, -1,
+ 53, 54, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 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,
- 10, 11, 12, 50, -1, -1, -1, -1, -1, -1,
+ 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, 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, -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, -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
+ -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, 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
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1246,34 +1251,34 @@
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
+ 44, 46, 127, 128, 129, 130, 131, 136, 137, 138,
+ 139, 140, 141, 142, 143, 144, 176, 177, 178, 37,
+ 45, 141, 45, 46, 76, 97, 82, 179, 73, 79,
+ 3, 33, 34, 35, 133, 134, 139, 79, 82, 45,
+ 97, 140, 142, 74, 0, 177, 142, 146, 76, 76,
+ 162, 133, 132, 135, 140, 134, 97, 72, 74, 81,
+ 45, 47, 48, 49, 50, 53, 54, 72, 83, 84,
+ 86, 98, 99, 100, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 126, 143, 82, 140, 147,
+ 148, 145, 13, 14, 15, 17, 18, 19, 20, 40,
+ 76, 77, 82, 109, 122, 123, 125, 127, 128, 143,
+ 152, 153, 154, 155, 163, 164, 165, 168, 175, 97,
+ 132, 135, 74, 81, 75, 126, 123, 151, 109, 109,
+ 125, 53, 54, 74, 78, 73, 73, 79, 39, 123,
+ 72, 109, 87, 88, 84, 86, 55, 56, 90, 91,
+ 57, 58, 59, 61, 60, 95, 75, 97, 149, 150,
+ 77, 148, 147, 82, 82, 170, 72, 72, 82, 82,
+ 125, 72, 77, 156, 62, 63, 64, 71, 81, 124,
+ 79, 82, 77, 153, 74, 75, 126, 151, 75, 73,
+ 101, 125, 45, 50, 104, 123, 109, 109, 111, 111,
+ 113, 113, 113, 113, 114, 114, 118, 119, 120, 125,
+ 74, 79, 82, 77, 159, 160, 161, 171, 125, 82,
+ 169, 163, 123, 123, 126, 75, 75, 80, 126, 150,
+ 40, 162, 154, 152, 164, 172, 73, 125, 138, 167,
+ 157, 75, 123, 75, 72, 167, 173, 174, 159, 166,
+ 97, 73, 77, 125, 82, 73, 16, 81, 154, 158,
+ 162, 73, 125, 158, 159, 151, 82
};
#define yyerrok (yyerrstatus = 0)
@@ -2092,7 +2097,7 @@
YY_REDUCE_PRINT (yyn);
switch (yyn)
{
- case 2:
+ case 4:
{
// The symbol table search was done in the lexical phase
@@ -2128,14 +2133,14 @@
}
break;
- case 3:
+ case 5:
{
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
}
break;
- case 4:
+ case 6:
{
//
@@ -2152,7 +2157,7 @@
}
break;
- case 5:
+ case 7:
{
ConstantUnion *unionArray = new ConstantUnion[1];
@@ -2161,7 +2166,7 @@
}
break;
- case 6:
+ case 8:
{
ConstantUnion *unionArray = new ConstantUnion[1];
@@ -2170,21 +2175,21 @@
}
break;
- case 7:
+ case 9:
{
(yyval.interm.intermTypedNode) = (yyvsp[(2) - (3)].interm.intermTypedNode);
}
break;
- case 8:
+ case 10:
{
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
}
break;
- case 9:
+ case 11:
{
if (!(yyvsp[(1) - (4)].interm.intermTypedNode)->isArray() && !(yyvsp[(1) - (4)].interm.intermTypedNode)->isMatrix() && !(yyvsp[(1) - (4)].interm.intermTypedNode)->isVector()) {
@@ -2267,14 +2272,14 @@
}
break;
- case 10:
+ case 12:
{
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
}
break;
- case 11:
+ case 13:
{
if ((yyvsp[(1) - (3)].interm.intermTypedNode)->isArray()) {
@@ -2379,7 +2384,7 @@
}
break;
- case 12:
+ case 14:
{
if (context->lValueErrorCheck((yyvsp[(2) - (2)].lex).line, "++", (yyvsp[(1) - (2)].interm.intermTypedNode)))
@@ -2393,7 +2398,7 @@
}
break;
- case 13:
+ case 15:
{
if (context->lValueErrorCheck((yyvsp[(2) - (2)].lex).line, "--", (yyvsp[(1) - (2)].interm.intermTypedNode)))
@@ -2407,7 +2412,7 @@
}
break;
- case 14:
+ case 16:
{
if (context->integerErrorCheck((yyvsp[(1) - (1)].interm.intermTypedNode), "[]"))
@@ -2416,7 +2421,7 @@
}
break;
- case 15:
+ case 17:
{
TFunction* fnCall = (yyvsp[(1) - (1)].interm).function;
@@ -2517,14 +2522,14 @@
}
break;
- case 16:
+ case 18:
{
(yyval.interm) = (yyvsp[(1) - (1)].interm);
}
break;
- case 17:
+ case 19:
{
context->error((yyvsp[(3) - (3)].interm).line, "methods are not supported", "");
@@ -2533,31 +2538,31 @@
}
break;
- case 18:
-
- {
- (yyval.interm) = (yyvsp[(1) - (2)].interm);
- (yyval.interm).line = (yyvsp[(2) - (2)].lex).line;
- }
- break;
-
- case 19:
-
- {
- (yyval.interm) = (yyvsp[(1) - (2)].interm);
- (yyval.interm).line = (yyvsp[(2) - (2)].lex).line;
- }
- break;
-
case 20:
{
+ (yyval.interm) = (yyvsp[(1) - (2)].interm);
+ (yyval.interm).line = (yyvsp[(2) - (2)].lex).line;
+ }
+ break;
+
+ case 21:
+
+ {
+ (yyval.interm) = (yyvsp[(1) - (2)].interm);
+ (yyval.interm).line = (yyvsp[(2) - (2)].lex).line;
+ }
+ break;
+
+ case 22:
+
+ {
(yyval.interm).function = (yyvsp[(1) - (2)].interm.function);
(yyval.interm).intermNode = 0;
}
break;
- case 21:
+ case 23:
{
(yyval.interm).function = (yyvsp[(1) - (1)].interm.function);
@@ -2565,7 +2570,7 @@
}
break;
- case 22:
+ case 24:
{
TParameter param = { 0, new TType((yyvsp[(2) - (2)].interm.intermTypedNode)->getType()) };
@@ -2575,7 +2580,7 @@
}
break;
- case 23:
+ case 25:
{
TParameter param = { 0, new TType((yyvsp[(3) - (3)].interm.intermTypedNode)->getType()) };
@@ -2585,14 +2590,14 @@
}
break;
- case 24:
+ case 26:
{
(yyval.interm.function) = (yyvsp[(1) - (2)].interm.function);
}
break;
- case 25:
+ case 27:
{
//
@@ -2651,36 +2656,36 @@
}
break;
- case 26:
-
- {
- if (context->reservedErrorCheck((yyvsp[(1) - (1)].lex).line, *(yyvsp[(1) - (1)].lex).string))
- context->recover();
- TType type(EbtVoid, EbpUndefined);
- TFunction *function = new TFunction((yyvsp[(1) - (1)].lex).string, type);
- (yyval.interm.function) = function;
- }
- break;
-
- case 27:
-
- {
- if (context->reservedErrorCheck((yyvsp[(1) - (1)].lex).line, *(yyvsp[(1) - (1)].lex).string))
- context->recover();
- TType type(EbtVoid, EbpUndefined);
- TFunction *function = new TFunction((yyvsp[(1) - (1)].lex).string, type);
- (yyval.interm.function) = function;
- }
- break;
-
case 28:
{
+ if (context->reservedErrorCheck((yyvsp[(1) - (1)].lex).line, *(yyvsp[(1) - (1)].lex).string))
+ context->recover();
+ TType type(EbtVoid, EbpUndefined);
+ TFunction *function = new TFunction((yyvsp[(1) - (1)].lex).string, type);
+ (yyval.interm.function) = function;
+ }
+ break;
+
+ case 29:
+
+ {
+ if (context->reservedErrorCheck((yyvsp[(1) - (1)].lex).line, *(yyvsp[(1) - (1)].lex).string))
+ context->recover();
+ TType type(EbtVoid, EbpUndefined);
+ TFunction *function = new TFunction((yyvsp[(1) - (1)].lex).string, type);
+ (yyval.interm.function) = function;
+ }
+ break;
+
+ case 30:
+
+ {
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
}
break;
- case 29:
+ case 31:
{
if (context->lValueErrorCheck((yyvsp[(1) - (2)].lex).line, "++", (yyvsp[(2) - (2)].interm.intermTypedNode)))
@@ -2694,7 +2699,7 @@
}
break;
- case 30:
+ case 32:
{
if (context->lValueErrorCheck((yyvsp[(1) - (2)].lex).line, "--", (yyvsp[(2) - (2)].interm.intermTypedNode)))
@@ -2708,7 +2713,7 @@
}
break;
- case 31:
+ case 33:
{
if ((yyvsp[(1) - (2)].interm).op != EOpNull) {
@@ -2729,27 +2734,27 @@
}
break;
- case 32:
+ case 34:
{ (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpNull; }
break;
- case 33:
+ case 35:
{ (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpNegative; }
break;
- case 34:
+ case 36:
{ (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpLogicalNot; }
break;
- case 35:
+ case 37:
{ (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
- case 36:
+ case 38:
{
FRAG_VERT_ONLY("*", (yyvsp[(2) - (3)].lex).line);
@@ -2762,7 +2767,7 @@
}
break;
- case 37:
+ case 39:
{
FRAG_VERT_ONLY("/", (yyvsp[(2) - (3)].lex).line);
@@ -2775,12 +2780,12 @@
}
break;
- case 38:
+ case 40:
{ (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
- case 39:
+ case 41:
{
(yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpAdd, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yyvsp[(2) - (3)].lex).line, context->symbolTable);
@@ -2792,7 +2797,7 @@
}
break;
- case 40:
+ case 42:
{
(yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpSub, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yyvsp[(2) - (3)].lex).line, context->symbolTable);
@@ -2804,18 +2809,18 @@
}
break;
- case 41:
-
- { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
- break;
-
- case 42:
-
- { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
- break;
-
case 43:
+ { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
+ break;
+
+ case 44:
+
+ { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
+ break;
+
+ case 45:
+
{
(yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpLessThan, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yyvsp[(2) - (3)].lex).line, context->symbolTable);
if ((yyval.interm.intermTypedNode) == 0) {
@@ -2828,7 +2833,7 @@
}
break;
- case 44:
+ case 46:
{
(yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpGreaterThan, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yyvsp[(2) - (3)].lex).line, context->symbolTable);
@@ -2842,7 +2847,7 @@
}
break;
- case 45:
+ case 47:
{
(yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpLessThanEqual, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yyvsp[(2) - (3)].lex).line, context->symbolTable);
@@ -2856,7 +2861,7 @@
}
break;
- case 46:
+ case 48:
{
(yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpGreaterThanEqual, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yyvsp[(2) - (3)].lex).line, context->symbolTable);
@@ -2870,12 +2875,12 @@
}
break;
- case 47:
+ case 49:
{ (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
- case 48:
+ case 50:
{
(yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpEqual, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yyvsp[(2) - (3)].lex).line, context->symbolTable);
@@ -2889,7 +2894,7 @@
}
break;
- case 49:
+ case 51:
{
(yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpNotEqual, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yyvsp[(2) - (3)].lex).line, context->symbolTable);
@@ -2903,16 +2908,6 @@
}
break;
- case 50:
-
- { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
- break;
-
- case 51:
-
- { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
- break;
-
case 52:
{ (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
@@ -2925,16 +2920,7 @@
case 54:
- {
- (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpLogicalAnd, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yyvsp[(2) - (3)].lex).line, context->symbolTable);
- if ((yyval.interm.intermTypedNode) == 0) {
- context->binaryOpError((yyvsp[(2) - (3)].lex).line, "&&", (yyvsp[(1) - (3)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(3) - (3)].interm.intermTypedNode)->getCompleteString());
- context->recover();
- ConstantUnion *unionArray = new ConstantUnion[1];
- unionArray->setBConst(false);
- (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yyvsp[(2) - (3)].lex).line);
- }
- }
+ { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
case 55:
@@ -2945,9 +2931,9 @@
case 56:
{
- (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpLogicalXor, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yyvsp[(2) - (3)].lex).line, context->symbolTable);
+ (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpLogicalAnd, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yyvsp[(2) - (3)].lex).line, context->symbolTable);
if ((yyval.interm.intermTypedNode) == 0) {
- context->binaryOpError((yyvsp[(2) - (3)].lex).line, "^^", (yyvsp[(1) - (3)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(3) - (3)].interm.intermTypedNode)->getCompleteString());
+ context->binaryOpError((yyvsp[(2) - (3)].lex).line, "&&", (yyvsp[(1) - (3)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(3) - (3)].interm.intermTypedNode)->getCompleteString());
context->recover();
ConstantUnion *unionArray = new ConstantUnion[1];
unionArray->setBConst(false);
@@ -2964,9 +2950,9 @@
case 58:
{
- (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpLogicalOr, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yyvsp[(2) - (3)].lex).line, context->symbolTable);
+ (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpLogicalXor, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yyvsp[(2) - (3)].lex).line, context->symbolTable);
if ((yyval.interm.intermTypedNode) == 0) {
- context->binaryOpError((yyvsp[(2) - (3)].lex).line, "||", (yyvsp[(1) - (3)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(3) - (3)].interm.intermTypedNode)->getCompleteString());
+ context->binaryOpError((yyvsp[(2) - (3)].lex).line, "^^", (yyvsp[(1) - (3)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(3) - (3)].interm.intermTypedNode)->getCompleteString());
context->recover();
ConstantUnion *unionArray = new ConstantUnion[1];
unionArray->setBConst(false);
@@ -2983,6 +2969,25 @@
case 60:
{
+ (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpLogicalOr, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yyvsp[(2) - (3)].lex).line, context->symbolTable);
+ if ((yyval.interm.intermTypedNode) == 0) {
+ context->binaryOpError((yyvsp[(2) - (3)].lex).line, "||", (yyvsp[(1) - (3)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(3) - (3)].interm.intermTypedNode)->getCompleteString());
+ context->recover();
+ ConstantUnion *unionArray = new ConstantUnion[1];
+ unionArray->setBConst(false);
+ (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yyvsp[(2) - (3)].lex).line);
+ }
+ }
+ break;
+
+ case 61:
+
+ { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
+ break;
+
+ case 62:
+
+ {
if (context->boolErrorCheck((yyvsp[(2) - (5)].lex).line, (yyvsp[(1) - (5)].interm.intermTypedNode)))
context->recover();
@@ -2998,12 +3003,12 @@
}
break;
- case 61:
+ case 63:
{ (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
- case 62:
+ case 64:
{
if (context->lValueErrorCheck((yyvsp[(2) - (3)].interm).line, "assign", (yyvsp[(1) - (3)].interm.intermTypedNode)))
@@ -3017,39 +3022,39 @@
}
break;
- case 63:
+ case 65:
{ (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpAssign; }
break;
- case 64:
+ case 66:
{ FRAG_VERT_ONLY("*=", (yyvsp[(1) - (1)].lex).line); (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpMulAssign; }
break;
- case 65:
+ case 67:
{ FRAG_VERT_ONLY("/=", (yyvsp[(1) - (1)].lex).line); (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpDivAssign; }
break;
- case 66:
+ case 68:
{ (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpAddAssign; }
break;
- case 67:
+ case 69:
{ (yyval.interm).line = (yyvsp[(1) - (1)].lex).line; (yyval.interm).op = EOpSubAssign; }
break;
- case 68:
+ case 70:
{
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
}
break;
- case 69:
+ case 71:
{
(yyval.interm.intermTypedNode) = context->intermediate.addComma((yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yyvsp[(2) - (3)].lex).line);
@@ -3061,7 +3066,7 @@
}
break;
- case 70:
+ case 72:
{
if (context->constErrorCheck((yyvsp[(1) - (1)].interm.intermTypedNode)))
@@ -3070,7 +3075,7 @@
}
break;
- case 71:
+ case 73:
{
TFunction &function = *((yyvsp[(1) - (2)].interm).function);
@@ -3101,7 +3106,7 @@
}
break;
- case 72:
+ case 74:
{
if ((yyvsp[(1) - (2)].interm).intermAggregate)
@@ -3110,7 +3115,7 @@
}
break;
- case 73:
+ case 75:
{
if (((yyvsp[(2) - (4)].interm.precision) == EbpHigh) && (context->shaderType == SH_FRAGMENT_SHADER) && !context->fragmentPrecisionHigh) {
@@ -3125,7 +3130,7 @@
}
break;
- case 74:
+ case 76:
{
//
@@ -3164,23 +3169,23 @@
}
break;
- case 75:
-
- {
- (yyval.interm.function) = (yyvsp[(1) - (1)].interm.function);
- }
- break;
-
- case 76:
-
- {
- (yyval.interm.function) = (yyvsp[(1) - (1)].interm.function);
- }
- break;
-
case 77:
{
+ (yyval.interm.function) = (yyvsp[(1) - (1)].interm.function);
+ }
+ break;
+
+ case 78:
+
+ {
+ (yyval.interm.function) = (yyvsp[(1) - (1)].interm.function);
+ }
+ break;
+
+ case 79:
+
+ {
// Add the parameter
(yyval.interm.function) = (yyvsp[(1) - (2)].interm.function);
if ((yyvsp[(2) - (2)].interm).param.type->getBasicType() != EbtVoid)
@@ -3190,7 +3195,7 @@
}
break;
- case 78:
+ case 80:
{
//
@@ -3212,7 +3217,7 @@
}
break;
- case 79:
+ case 81:
{
if ((yyvsp[(1) - (3)].interm.type).qualifier != EvqGlobal && (yyvsp[(1) - (3)].interm.type).qualifier != EvqTemporary) {
@@ -3233,7 +3238,7 @@
}
break;
- case 80:
+ case 82:
{
if ((yyvsp[(1) - (2)].interm.type).type == EbtVoid) {
@@ -3248,7 +3253,7 @@
}
break;
- case 81:
+ case 83:
{
// Check that we can make an array out of this type
@@ -3270,26 +3275,6 @@
}
break;
- case 82:
-
- {
- (yyval.interm) = (yyvsp[(3) - (3)].interm);
- if (context->paramErrorCheck((yyvsp[(3) - (3)].interm).line, (yyvsp[(1) - (3)].interm.type).qualifier, (yyvsp[(2) - (3)].interm.qualifier), (yyval.interm).param.type))
- context->recover();
- }
- break;
-
- case 83:
-
- {
- (yyval.interm) = (yyvsp[(2) - (2)].interm);
- if (context->parameterSamplerErrorCheck((yyvsp[(2) - (2)].interm).line, (yyvsp[(1) - (2)].interm.qualifier), *(yyvsp[(2) - (2)].interm).param.type))
- context->recover();
- if (context->paramErrorCheck((yyvsp[(2) - (2)].interm).line, EvqTemporary, (yyvsp[(1) - (2)].interm.qualifier), (yyval.interm).param.type))
- context->recover();
- }
- break;
-
case 84:
{
@@ -3313,47 +3298,67 @@
case 86:
{
- (yyval.interm.qualifier) = EvqIn;
+ (yyval.interm) = (yyvsp[(3) - (3)].interm);
+ if (context->paramErrorCheck((yyvsp[(3) - (3)].interm).line, (yyvsp[(1) - (3)].interm.type).qualifier, (yyvsp[(2) - (3)].interm.qualifier), (yyval.interm).param.type))
+ context->recover();
}
break;
case 87:
{
- (yyval.interm.qualifier) = EvqIn;
+ (yyval.interm) = (yyvsp[(2) - (2)].interm);
+ if (context->parameterSamplerErrorCheck((yyvsp[(2) - (2)].interm).line, (yyvsp[(1) - (2)].interm.qualifier), *(yyvsp[(2) - (2)].interm).param.type))
+ context->recover();
+ if (context->paramErrorCheck((yyvsp[(2) - (2)].interm).line, EvqTemporary, (yyvsp[(1) - (2)].interm.qualifier), (yyval.interm).param.type))
+ context->recover();
}
break;
case 88:
{
- (yyval.interm.qualifier) = EvqOut;
+ (yyval.interm.qualifier) = EvqIn;
}
break;
case 89:
{
- (yyval.interm.qualifier) = EvqInOut;
+ (yyval.interm.qualifier) = EvqIn;
}
break;
case 90:
{
+ (yyval.interm.qualifier) = EvqOut;
+ }
+ break;
+
+ case 91:
+
+ {
+ (yyval.interm.qualifier) = EvqInOut;
+ }
+ break;
+
+ case 92:
+
+ {
TParameter param = { 0, new TType((yyvsp[(1) - (1)].interm.type)) };
(yyval.interm).param = param;
}
break;
- case 91:
+ case 93:
{
(yyval.interm) = (yyvsp[(1) - (1)].interm);
}
break;
- case 92:
+ case 94:
{
if ((yyvsp[(1) - (3)].interm).type.type == EbtInvariant && !(yyvsp[(3) - (3)].lex).symbol)
@@ -3379,7 +3384,7 @@
}
break;
- case 93:
+ case 95:
{
if (context->structQualifierErrorCheck((yyvsp[(3) - (5)].lex).line, (yyvsp[(1) - (5)].interm).type))
@@ -3401,7 +3406,7 @@
}
break;
- case 94:
+ case 96:
{
if (context->structQualifierErrorCheck((yyvsp[(3) - (6)].lex).line, (yyvsp[(1) - (6)].interm).type))
@@ -3429,7 +3434,7 @@
}
break;
- case 95:
+ case 97:
{
if (context->structQualifierErrorCheck((yyvsp[(3) - (5)].lex).line, (yyvsp[(1) - (5)].interm).type))
@@ -3453,7 +3458,7 @@
}
break;
- case 96:
+ case 98:
{
(yyval.interm).type = (yyvsp[(1) - (1)].interm.type);
@@ -3461,7 +3466,7 @@
}
break;
- case 97:
+ case 99:
{
TIntermSymbol* symbol = context->intermediate.addSymbol(0, *(yyvsp[(2) - (2)].lex).string, TType((yyvsp[(1) - (2)].interm.type)), (yyvsp[(2) - (2)].lex).line);
@@ -3483,7 +3488,7 @@
}
break;
- case 98:
+ case 100:
{
context->error((yyvsp[(2) - (4)].lex).line, "unsized array declarations not supported", (yyvsp[(2) - (4)].lex).string->c_str());
@@ -3495,7 +3500,7 @@
}
break;
- case 99:
+ case 101:
{
TType type = TType((yyvsp[(1) - (5)].interm.type));
@@ -3531,7 +3536,7 @@
}
break;
- case 100:
+ case 102:
{
if (context->structQualifierErrorCheck((yyvsp[(2) - (4)].lex).line, (yyvsp[(1) - (4)].interm.type)))
@@ -3555,7 +3560,7 @@
}
break;
- case 101:
+ case 103:
{
VERTEX_ONLY("invariant declaration", (yyvsp[(1) - (2)].lex).line);
@@ -3577,7 +3582,7 @@
}
break;
- case 102:
+ case 104:
{
(yyval.interm.type) = (yyvsp[(1) - (1)].interm.type);
@@ -3590,7 +3595,7 @@
}
break;
- case 103:
+ case 105:
{
if ((yyvsp[(2) - (2)].interm.type).array) {
@@ -3614,14 +3619,14 @@
}
break;
- case 104:
+ case 106:
{
(yyval.interm.type).setBasic(EbtVoid, EvqConst, (yyvsp[(1) - (1)].lex).line);
}
break;
- case 105:
+ case 107:
{
VERTEX_ONLY("attribute", (yyvsp[(1) - (1)].lex).line);
@@ -3631,7 +3636,7 @@
}
break;
- case 106:
+ case 108:
{
if (context->globalErrorCheck((yyvsp[(1) - (1)].lex).line, context->symbolTable.atGlobalLevel(), "varying"))
@@ -3643,7 +3648,7 @@
}
break;
- case 107:
+ case 109:
{
if (context->globalErrorCheck((yyvsp[(1) - (2)].lex).line, context->symbolTable.atGlobalLevel(), "invariant varying"))
@@ -3655,7 +3660,7 @@
}
break;
- case 108:
+ case 110:
{
if (context->globalErrorCheck((yyvsp[(1) - (1)].lex).line, context->symbolTable.atGlobalLevel(), "uniform"))
@@ -3664,7 +3669,7 @@
}
break;
- case 109:
+ case 111:
{
(yyval.interm.type) = (yyvsp[(1) - (1)].interm.type);
@@ -3678,7 +3683,7 @@
}
break;
- case 110:
+ case 112:
{
(yyval.interm.type) = (yyvsp[(2) - (2)].interm.type);
@@ -3686,35 +3691,35 @@
}
break;
- case 111:
+ case 113:
{
(yyval.interm.precision) = EbpHigh;
}
break;
- case 112:
+ case 114:
{
(yyval.interm.precision) = EbpMedium;
}
break;
- case 113:
+ case 115:
{
(yyval.interm.precision) = EbpLow;
}
break;
- case 114:
+ case 116:
{
(yyval.interm.type) = (yyvsp[(1) - (1)].interm.type);
}
break;
- case 115:
+ case 117:
{
(yyval.interm.type) = (yyvsp[(1) - (4)].interm.type);
@@ -3730,7 +3735,7 @@
}
break;
- case 116:
+ case 118:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
@@ -3738,27 +3743,11 @@
}
break;
- case 117:
-
- {
- TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
- }
- break;
-
- case 118:
-
- {
- TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtInt, qual, (yyvsp[(1) - (1)].lex).line);
- }
- break;
-
case 119:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
}
break;
@@ -3766,8 +3755,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(2);
+ (yyval.interm.type).setBasic(EbtInt, qual, (yyvsp[(1) - (1)].lex).line);
}
break;
@@ -3775,8 +3763,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(3);
+ (yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
}
break;
@@ -3785,7 +3772,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(4);
+ (yyval.interm.type).setAggregate(2);
}
break;
@@ -3793,8 +3780,8 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(2);
+ (yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setAggregate(3);
}
break;
@@ -3802,8 +3789,8 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(3);
+ (yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setAggregate(4);
}
break;
@@ -3812,7 +3799,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(4);
+ (yyval.interm.type).setAggregate(2);
}
break;
@@ -3820,8 +3807,8 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtInt, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(2);
+ (yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setAggregate(3);
}
break;
@@ -3829,8 +3816,8 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtInt, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(3);
+ (yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setAggregate(4);
}
break;
@@ -3839,13 +3826,31 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtInt, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(4);
+ (yyval.interm.type).setAggregate(2);
}
break;
case 129:
{
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtInt, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setAggregate(3);
+ }
+ break;
+
+ case 130:
+
+ {
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtInt, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setAggregate(4);
+ }
+ break;
+
+ case 131:
+
+ {
FRAG_VERT_ONLY("mat2", (yyvsp[(1) - (1)].lex).line);
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
@@ -3853,7 +3858,7 @@
}
break;
- case 130:
+ case 132:
{
FRAG_VERT_ONLY("mat3", (yyvsp[(1) - (1)].lex).line);
@@ -3863,7 +3868,7 @@
}
break;
- case 131:
+ case 133:
{
FRAG_VERT_ONLY("mat4", (yyvsp[(1) - (1)].lex).line);
@@ -3873,7 +3878,7 @@
}
break;
- case 132:
+ case 134:
{
FRAG_VERT_ONLY("sampler2D", (yyvsp[(1) - (1)].lex).line);
@@ -3882,7 +3887,7 @@
}
break;
- case 133:
+ case 135:
{
FRAG_VERT_ONLY("samplerCube", (yyvsp[(1) - (1)].lex).line);
@@ -3891,7 +3896,7 @@
}
break;
- case 134:
+ case 136:
{
if (!context->supportsExtension("GL_OES_EGL_image_external")) {
@@ -3904,7 +3909,7 @@
}
break;
- case 135:
+ case 137:
{
if (!context->supportsExtension("GL_ARB_texture_rectangle")) {
@@ -3917,7 +3922,7 @@
}
break;
- case 136:
+ case 138:
{
FRAG_VERT_ONLY("struct", (yyvsp[(1) - (1)].interm.type).line);
@@ -3926,7 +3931,7 @@
}
break;
- case 137:
+ case 139:
{
//
@@ -3940,12 +3945,12 @@
}
break;
- case 138:
+ case 140:
{ if (context->enterStructDeclaration((yyvsp[(2) - (3)].lex).line, *(yyvsp[(2) - (3)].lex).string)) context->recover(); }
break;
- case 139:
+ case 141:
{
if (context->reservedErrorCheck((yyvsp[(2) - (6)].lex).line, *(yyvsp[(2) - (6)].lex).string))
@@ -3963,12 +3968,12 @@
}
break;
- case 140:
+ case 142:
{ if (context->enterStructDeclaration((yyvsp[(2) - (2)].lex).line, *(yyvsp[(2) - (2)].lex).string)) context->recover(); }
break;
- case 141:
+ case 143:
{
TType* structure = new TType((yyvsp[(4) - (5)].interm.typeList), TString(""));
@@ -3978,14 +3983,14 @@
}
break;
- case 142:
+ case 144:
{
(yyval.interm.typeList) = (yyvsp[(1) - (1)].interm.typeList);
}
break;
- case 143:
+ case 145:
{
(yyval.interm.typeList) = (yyvsp[(1) - (2)].interm.typeList);
@@ -4001,7 +4006,7 @@
}
break;
- case 144:
+ case 146:
{
(yyval.interm.typeList) = (yyvsp[(2) - (3)].interm.typeList);
@@ -4038,7 +4043,7 @@
}
break;
- case 145:
+ case 147:
{
(yyval.interm.typeList) = NewPoolTTypeList();
@@ -4046,14 +4051,14 @@
}
break;
- case 146:
+ case 148:
{
(yyval.interm.typeList)->push_back((yyvsp[(3) - (3)].interm.typeLine));
}
break;
- case 147:
+ case 149:
{
if (context->reservedErrorCheck((yyvsp[(1) - (1)].lex).line, *(yyvsp[(1) - (1)].lex).string))
@@ -4065,7 +4070,7 @@
}
break;
- case 148:
+ case 150:
{
if (context->reservedErrorCheck((yyvsp[(1) - (4)].lex).line, *(yyvsp[(1) - (4)].lex).string))
@@ -4082,19 +4087,9 @@
}
break;
- case 149:
-
- { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
- break;
-
- case 150:
-
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
- break;
-
case 151:
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermAggregate); }
+ { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
case 152:
@@ -4104,7 +4099,7 @@
case 153:
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermAggregate); }
break;
case 154:
@@ -4129,21 +4124,31 @@
case 158:
- { (yyval.interm.intermAggregate) = 0; }
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 159:
- { context->symbolTable.push(); }
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 160:
- { context->symbolTable.pop(); }
+ { (yyval.interm.intermAggregate) = 0; }
break;
case 161:
+ { context->symbolTable.push(); }
+ break;
+
+ case 162:
+
+ { context->symbolTable.pop(); }
+ break;
+
+ case 163:
+
{
if ((yyvsp[(3) - (5)].interm.intermAggregate) != 0) {
(yyvsp[(3) - (5)].interm.intermAggregate)->setOp(EOpSequence);
@@ -4153,24 +4158,14 @@
}
break;
- case 162:
-
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
- break;
-
- case 163:
-
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
- break;
-
case 164:
- { context->symbolTable.push(); }
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 165:
- { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 166:
@@ -4185,12 +4180,22 @@
case 168:
+ { context->symbolTable.push(); }
+ break;
+
+ case 169:
+
+ { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
+ break;
+
+ case 170:
+
{
(yyval.interm.intermNode) = 0;
}
break;
- case 169:
+ case 171:
{
if ((yyvsp[(2) - (3)].interm.intermAggregate)) {
@@ -4201,31 +4206,31 @@
}
break;
- case 170:
+ case 172:
{
(yyval.interm.intermAggregate) = context->intermediate.makeAggregate((yyvsp[(1) - (1)].interm.intermNode), 0);
}
break;
- case 171:
+ case 173:
{
(yyval.interm.intermAggregate) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermAggregate), (yyvsp[(2) - (2)].interm.intermNode), 0);
}
break;
- case 172:
+ case 174:
{ (yyval.interm.intermNode) = 0; }
break;
- case 173:
+ case 175:
{ (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[(1) - (2)].interm.intermTypedNode)); }
break;
- case 174:
+ case 176:
{
if (context->boolErrorCheck((yyvsp[(1) - (5)].lex).line, (yyvsp[(3) - (5)].interm.intermTypedNode)))
@@ -4234,7 +4239,7 @@
}
break;
- case 175:
+ case 177:
{
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermNode);
@@ -4242,7 +4247,7 @@
}
break;
- case 176:
+ case 178:
{
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (1)].interm.intermNode);
@@ -4250,7 +4255,7 @@
}
break;
- case 177:
+ case 179:
{
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
@@ -4259,7 +4264,7 @@
}
break;
- case 178:
+ case 180:
{
TIntermNode* intermNode;
@@ -4277,12 +4282,12 @@
}
break;
- case 179:
+ case 181:
{ context->symbolTable.push(); ++context->loopNestingLevel; }
break;
- case 180:
+ case 182:
{
context->symbolTable.pop();
@@ -4291,12 +4296,12 @@
}
break;
- case 181:
+ case 183:
{ ++context->loopNestingLevel; }
break;
- case 182:
+ case 184:
{
if (context->boolErrorCheck((yyvsp[(8) - (8)].lex).line, (yyvsp[(6) - (8)].interm.intermTypedNode)))
@@ -4307,12 +4312,12 @@
}
break;
- case 183:
+ case 185:
{ context->symbolTable.push(); ++context->loopNestingLevel; }
break;
- case 184:
+ case 186:
{
context->symbolTable.pop();
@@ -4321,43 +4326,43 @@
}
break;
- case 185:
-
- {
- (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
- }
- break;
-
- case 186:
-
- {
- (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
- }
- break;
-
case 187:
{
- (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
+ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
}
break;
case 188:
{
- (yyval.interm.intermTypedNode) = 0;
+ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
}
break;
case 189:
{
+ (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
+ }
+ break;
+
+ case 190:
+
+ {
+ (yyval.interm.intermTypedNode) = 0;
+ }
+ break;
+
+ case 191:
+
+ {
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (2)].interm.intermTypedNode);
(yyval.interm.nodePair).node2 = 0;
}
break;
- case 190:
+ case 192:
{
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermTypedNode);
@@ -4365,7 +4370,7 @@
}
break;
- case 191:
+ case 193:
{
if (context->loopNestingLevel <= 0) {
@@ -4376,7 +4381,7 @@
}
break;
- case 192:
+ case 194:
{
if (context->loopNestingLevel <= 0) {
@@ -4387,7 +4392,7 @@
}
break;
- case 193:
+ case 195:
{
(yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(1) - (2)].lex).line);
@@ -4398,7 +4403,7 @@
}
break;
- case 194:
+ case 196:
{
(yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(2) - (3)].interm.intermTypedNode), (yyvsp[(1) - (3)].lex).line);
@@ -4413,7 +4418,7 @@
}
break;
- case 195:
+ case 197:
{
FRAG_ONLY("discard", (yyvsp[(1) - (2)].lex).line);
@@ -4421,7 +4426,7 @@
}
break;
- case 196:
+ case 198:
{
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
@@ -4429,7 +4434,7 @@
}
break;
- case 197:
+ case 199:
{
(yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermNode), (yyvsp[(2) - (2)].interm.intermNode), 0);
@@ -4437,23 +4442,23 @@
}
break;
- case 198:
-
- {
- (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
- }
- break;
-
- case 199:
-
- {
- (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
- }
- break;
-
case 200:
{
+ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
+ }
+ break;
+
+ case 201:
+
+ {
+ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
+ }
+ break;
+
+ case 202:
+
+ {
TFunction* function = (yyvsp[(1) - (1)].interm).function;
const TSymbol *builtIn = context->symbolTable.findBuiltIn(function->getMangledName());
@@ -4540,7 +4545,7 @@
}
break;
- case 201:
+ case 203:
{
//?? Check that all paths return a value if return type != void ?