summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/glsl/glsl_lexer.cpp447
-rw-r--r--src/glsl/glsl_parser.cpp3012
-rw-r--r--src/glsl/glsl_parser.h238
3 files changed, 1899 insertions, 1798 deletions
diff --git a/src/glsl/glsl_lexer.cpp b/src/glsl/glsl_lexer.cpp
index 04927950f4a..40d2294ef8c 100644
--- a/src/glsl/glsl_lexer.cpp
+++ b/src/glsl/glsl_lexer.cpp
@@ -1018,6 +1018,8 @@ static yyconst flex_int16_t yy_chk[1283] =
#include "glsl_parser_extras.h"
#include "glsl_parser.h"
+static int classify_identifier(struct _mesa_glsl_parse_state *, const char *);
+
#define YY_USER_ACTION \
do { \
yylloc->source = 0; \
@@ -1053,7 +1055,7 @@ static yyconst flex_int16_t yy_chk[1283] =
return ERROR_TOK; \
} else { \
yylval->identifier = strdup(yytext); \
- return IDENTIFIER; \
+ return classify_identifier(yyextra, yytext); \
} \
} while (0)
@@ -1067,7 +1069,7 @@ static yyconst flex_int16_t yy_chk[1283] =
*/
#define ES yyextra->es_shader
-#line 1071 "glsl_lexer.cpp"
+#line 1073 "glsl_lexer.cpp"
#define INITIAL 0
#define PP 1
@@ -1305,10 +1307,10 @@ YY_DECL
register int yy_act;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-#line 95 "glsl_lexer.lpp"
+#line 97 "glsl_lexer.lpp"
-#line 1312 "glsl_lexer.cpp"
+#line 1314 "glsl_lexer.cpp"
yylval = yylval_param;
@@ -1394,7 +1396,7 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
-#line 97 "glsl_lexer.lpp"
+#line 99 "glsl_lexer.lpp"
;
YY_BREAK
/* Preprocessor tokens. */
@@ -1403,17 +1405,17 @@ case 2:
yyg->yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 100 "glsl_lexer.lpp"
+#line 102 "glsl_lexer.lpp"
;
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 101 "glsl_lexer.lpp"
+#line 103 "glsl_lexer.lpp"
{ BEGIN PP; return VERSION; }
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 102 "glsl_lexer.lpp"
+#line 104 "glsl_lexer.lpp"
{ BEGIN PP; return EXTENSION; }
YY_BREAK
case 5:
@@ -1421,7 +1423,7 @@ case 5:
yyg->yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 103 "glsl_lexer.lpp"
+#line 105 "glsl_lexer.lpp"
{
/* Eat characters until the first digit is
* encountered
@@ -1443,7 +1445,7 @@ case 6:
yyg->yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 118 "glsl_lexer.lpp"
+#line 120 "glsl_lexer.lpp"
{
/* Eat characters until the first digit is
* encountered
@@ -1461,7 +1463,7 @@ YY_RULE_SETUP
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 132 "glsl_lexer.lpp"
+#line 134 "glsl_lexer.lpp"
{
BEGIN PP;
return PRAGMA_DEBUG_ON;
@@ -1469,7 +1471,7 @@ YY_RULE_SETUP
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 136 "glsl_lexer.lpp"
+#line 138 "glsl_lexer.lpp"
{
BEGIN PP;
return PRAGMA_DEBUG_OFF;
@@ -1477,7 +1479,7 @@ YY_RULE_SETUP
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 140 "glsl_lexer.lpp"
+#line 142 "glsl_lexer.lpp"
{
BEGIN PP;
return PRAGMA_OPTIMIZE_ON;
@@ -1485,7 +1487,7 @@ YY_RULE_SETUP
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 144 "glsl_lexer.lpp"
+#line 146 "glsl_lexer.lpp"
{
BEGIN PP;
return PRAGMA_OPTIMIZE_OFF;
@@ -1493,7 +1495,7 @@ YY_RULE_SETUP
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 148 "glsl_lexer.lpp"
+#line 150 "glsl_lexer.lpp"
{
BEGIN PP;
return PRAGMA_INVARIANT_ALL;
@@ -1501,38 +1503,38 @@ YY_RULE_SETUP
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 152 "glsl_lexer.lpp"
+#line 154 "glsl_lexer.lpp"
{ BEGIN PRAGMA; }
YY_BREAK
case 13:
/* rule 13 can match eol */
YY_RULE_SETUP
-#line 154 "glsl_lexer.lpp"
+#line 156 "glsl_lexer.lpp"
{ BEGIN 0; yylineno++; yycolumn = 0; }
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 155 "glsl_lexer.lpp"
+#line 157 "glsl_lexer.lpp"
{ }
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 157 "glsl_lexer.lpp"
+#line 159 "glsl_lexer.lpp"
{ }
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 158 "glsl_lexer.lpp"
+#line 160 "glsl_lexer.lpp"
{ }
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 159 "glsl_lexer.lpp"
+#line 161 "glsl_lexer.lpp"
return COLON;
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 160 "glsl_lexer.lpp"
+#line 162 "glsl_lexer.lpp"
{
yylval->identifier = strdup(yytext);
return IDENTIFIER;
@@ -1540,7 +1542,7 @@ YY_RULE_SETUP
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 164 "glsl_lexer.lpp"
+#line 166 "glsl_lexer.lpp"
{
yylval->n = strtol(yytext, NULL, 10);
return INTCONSTANT;
@@ -1549,388 +1551,388 @@ YY_RULE_SETUP
case 20:
/* rule 20 can match eol */
YY_RULE_SETUP
-#line 168 "glsl_lexer.lpp"
+#line 170 "glsl_lexer.lpp"
{ BEGIN 0; yylineno++; yycolumn = 0; return EOL; }
YY_BREAK
case 21:
/* rule 21 can match eol */
YY_RULE_SETUP
-#line 170 "glsl_lexer.lpp"
+#line 172 "glsl_lexer.lpp"
{ yylineno++; yycolumn = 0; }
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 172 "glsl_lexer.lpp"
+#line 174 "glsl_lexer.lpp"
return ATTRIBUTE;
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 173 "glsl_lexer.lpp"
+#line 175 "glsl_lexer.lpp"
return CONST_TOK;
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 174 "glsl_lexer.lpp"
+#line 176 "glsl_lexer.lpp"
return BOOL_TOK;
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 175 "glsl_lexer.lpp"
+#line 177 "glsl_lexer.lpp"
return FLOAT_TOK;
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 176 "glsl_lexer.lpp"
+#line 178 "glsl_lexer.lpp"
return INT_TOK;
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 177 "glsl_lexer.lpp"
+#line 179 "glsl_lexer.lpp"
KEYWORD(130, 130, UINT_TOK);
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 179 "glsl_lexer.lpp"
+#line 181 "glsl_lexer.lpp"
return BREAK;
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 180 "glsl_lexer.lpp"
+#line 182 "glsl_lexer.lpp"
return CONTINUE;
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 181 "glsl_lexer.lpp"
+#line 183 "glsl_lexer.lpp"
return DO;
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 182 "glsl_lexer.lpp"
+#line 184 "glsl_lexer.lpp"
return WHILE;
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 183 "glsl_lexer.lpp"
+#line 185 "glsl_lexer.lpp"
return ELSE;
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 184 "glsl_lexer.lpp"
+#line 186 "glsl_lexer.lpp"
return FOR;
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 185 "glsl_lexer.lpp"
+#line 187 "glsl_lexer.lpp"
return IF;
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 186 "glsl_lexer.lpp"
+#line 188 "glsl_lexer.lpp"
return DISCARD;
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 187 "glsl_lexer.lpp"
+#line 189 "glsl_lexer.lpp"
return RETURN;
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 189 "glsl_lexer.lpp"
+#line 191 "glsl_lexer.lpp"
return BVEC2;
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 190 "glsl_lexer.lpp"
+#line 192 "glsl_lexer.lpp"
return BVEC3;
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 191 "glsl_lexer.lpp"
+#line 193 "glsl_lexer.lpp"
return BVEC4;
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 192 "glsl_lexer.lpp"
+#line 194 "glsl_lexer.lpp"
return IVEC2;
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 193 "glsl_lexer.lpp"
+#line 195 "glsl_lexer.lpp"
return IVEC3;
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 194 "glsl_lexer.lpp"
+#line 196 "glsl_lexer.lpp"
return IVEC4;
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 195 "glsl_lexer.lpp"
+#line 197 "glsl_lexer.lpp"
KEYWORD(130, 130, UVEC2);
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 196 "glsl_lexer.lpp"
+#line 198 "glsl_lexer.lpp"
KEYWORD(130, 130, UVEC3);
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 197 "glsl_lexer.lpp"
+#line 199 "glsl_lexer.lpp"
KEYWORD(130, 130, UVEC4);
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 198 "glsl_lexer.lpp"
+#line 200 "glsl_lexer.lpp"
return VEC2;
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 199 "glsl_lexer.lpp"
+#line 201 "glsl_lexer.lpp"
return VEC3;
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 200 "glsl_lexer.lpp"
+#line 202 "glsl_lexer.lpp"
return VEC4;
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 201 "glsl_lexer.lpp"
+#line 203 "glsl_lexer.lpp"
return MAT2X2;
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 202 "glsl_lexer.lpp"
+#line 204 "glsl_lexer.lpp"
return MAT3X3;
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 203 "glsl_lexer.lpp"
+#line 205 "glsl_lexer.lpp"
return MAT4X4;
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 204 "glsl_lexer.lpp"
+#line 206 "glsl_lexer.lpp"
KEYWORD(120, 120, MAT2X2);
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 205 "glsl_lexer.lpp"
+#line 207 "glsl_lexer.lpp"
KEYWORD(120, 120, MAT2X3);
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 206 "glsl_lexer.lpp"
+#line 208 "glsl_lexer.lpp"
KEYWORD(120, 120, MAT2X4);
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 207 "glsl_lexer.lpp"
+#line 209 "glsl_lexer.lpp"
KEYWORD(120, 120, MAT3X2);
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 208 "glsl_lexer.lpp"
+#line 210 "glsl_lexer.lpp"
KEYWORD(120, 120, MAT3X3);
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 209 "glsl_lexer.lpp"
+#line 211 "glsl_lexer.lpp"
KEYWORD(120, 120, MAT3X4);
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 210 "glsl_lexer.lpp"
+#line 212 "glsl_lexer.lpp"
KEYWORD(120, 120, MAT4X2);
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 211 "glsl_lexer.lpp"
+#line 213 "glsl_lexer.lpp"
KEYWORD(120, 120, MAT4X3);
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 212 "glsl_lexer.lpp"
+#line 214 "glsl_lexer.lpp"
KEYWORD(120, 120, MAT4X4);
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 214 "glsl_lexer.lpp"
+#line 216 "glsl_lexer.lpp"
return IN_TOK;
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 215 "glsl_lexer.lpp"
+#line 217 "glsl_lexer.lpp"
return OUT_TOK;
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 216 "glsl_lexer.lpp"
+#line 218 "glsl_lexer.lpp"
return INOUT_TOK;
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 217 "glsl_lexer.lpp"
+#line 219 "glsl_lexer.lpp"
return UNIFORM;
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 218 "glsl_lexer.lpp"
+#line 220 "glsl_lexer.lpp"
return VARYING;
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 219 "glsl_lexer.lpp"
+#line 221 "glsl_lexer.lpp"
KEYWORD(120, 120, CENTROID);
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 220 "glsl_lexer.lpp"
+#line 222 "glsl_lexer.lpp"
KEYWORD(120 || ES, 120 || ES, INVARIANT);
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 221 "glsl_lexer.lpp"
+#line 223 "glsl_lexer.lpp"
KEYWORD(130 || ES, 130, FLAT);
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 222 "glsl_lexer.lpp"
+#line 224 "glsl_lexer.lpp"
KEYWORD(130, 130, SMOOTH);
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 223 "glsl_lexer.lpp"
+#line 225 "glsl_lexer.lpp"
KEYWORD(130, 130, NOPERSPECTIVE);
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 225 "glsl_lexer.lpp"
+#line 227 "glsl_lexer.lpp"
return SAMPLER1D;
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 226 "glsl_lexer.lpp"
+#line 228 "glsl_lexer.lpp"
return SAMPLER2D;
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 227 "glsl_lexer.lpp"
+#line 229 "glsl_lexer.lpp"
return SAMPLER3D;
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 228 "glsl_lexer.lpp"
+#line 230 "glsl_lexer.lpp"
return SAMPLERCUBE;
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 229 "glsl_lexer.lpp"
+#line 231 "glsl_lexer.lpp"
KEYWORD(130, 130, SAMPLER1DARRAY);
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 230 "glsl_lexer.lpp"
+#line 232 "glsl_lexer.lpp"
KEYWORD(130, 130, SAMPLER2DARRAY);
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 231 "glsl_lexer.lpp"
+#line 233 "glsl_lexer.lpp"
return SAMPLER1DSHADOW;
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 232 "glsl_lexer.lpp"
+#line 234 "glsl_lexer.lpp"
return SAMPLER2DSHADOW;
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 233 "glsl_lexer.lpp"
+#line 235 "glsl_lexer.lpp"
KEYWORD(130, 130, SAMPLERCUBESHADOW);
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 234 "glsl_lexer.lpp"
+#line 236 "glsl_lexer.lpp"
KEYWORD(130, 130, SAMPLER1DARRAYSHADOW);
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 235 "glsl_lexer.lpp"
+#line 237 "glsl_lexer.lpp"
KEYWORD(130, 130, SAMPLER2DARRAYSHADOW);
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 236 "glsl_lexer.lpp"
+#line 238 "glsl_lexer.lpp"
KEYWORD(130, 130, ISAMPLER1D);
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 237 "glsl_lexer.lpp"
+#line 239 "glsl_lexer.lpp"
KEYWORD(130, 130, ISAMPLER2D);
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 238 "glsl_lexer.lpp"
+#line 240 "glsl_lexer.lpp"
KEYWORD(130, 130, ISAMPLER3D);
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 239 "glsl_lexer.lpp"
+#line 241 "glsl_lexer.lpp"
KEYWORD(130, 130, ISAMPLERCUBE);
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 240 "glsl_lexer.lpp"
+#line 242 "glsl_lexer.lpp"
KEYWORD(130, 130, ISAMPLER1DARRAY);
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 241 "glsl_lexer.lpp"
+#line 243 "glsl_lexer.lpp"
KEYWORD(130, 130, ISAMPLER2DARRAY);
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 242 "glsl_lexer.lpp"
+#line 244 "glsl_lexer.lpp"
KEYWORD(130, 130, USAMPLER1D);
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 243 "glsl_lexer.lpp"
+#line 245 "glsl_lexer.lpp"
KEYWORD(130, 130, USAMPLER2D);
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 244 "glsl_lexer.lpp"
+#line 246 "glsl_lexer.lpp"
KEYWORD(130, 130, USAMPLER3D);
YY_BREAK
case 91:
YY_RULE_SETUP
-#line 245 "glsl_lexer.lpp"
+#line 247 "glsl_lexer.lpp"
KEYWORD(130, 130, USAMPLERCUBE);
YY_BREAK
case 92:
YY_RULE_SETUP
-#line 246 "glsl_lexer.lpp"
+#line 248 "glsl_lexer.lpp"
KEYWORD(130, 130, USAMPLER1DARRAY);
YY_BREAK
case 93:
YY_RULE_SETUP
-#line 247 "glsl_lexer.lpp"
+#line 249 "glsl_lexer.lpp"
KEYWORD(130, 130, USAMPLER2DARRAY);
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 250 "glsl_lexer.lpp"
+#line 252 "glsl_lexer.lpp"
return STRUCT;
YY_BREAK
case 95:
YY_RULE_SETUP
-#line 251 "glsl_lexer.lpp"
+#line 253 "glsl_lexer.lpp"
return VOID_TOK;
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 253 "glsl_lexer.lpp"
+#line 255 "glsl_lexer.lpp"
{
if ((yyextra->language_version >= 140)
|| yyextra->AMD_conservative_depth_enable
@@ -1945,112 +1947,112 @@ YY_RULE_SETUP
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 265 "glsl_lexer.lpp"
+#line 267 "glsl_lexer.lpp"
return INC_OP;
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 266 "glsl_lexer.lpp"
+#line 268 "glsl_lexer.lpp"
return DEC_OP;
YY_BREAK
case 99:
YY_RULE_SETUP
-#line 267 "glsl_lexer.lpp"
+#line 269 "glsl_lexer.lpp"
return LE_OP;
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 268 "glsl_lexer.lpp"
+#line 270 "glsl_lexer.lpp"
return GE_OP;
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 269 "glsl_lexer.lpp"
+#line 271 "glsl_lexer.lpp"
return EQ_OP;
YY_BREAK
case 102:
YY_RULE_SETUP
-#line 270 "glsl_lexer.lpp"
+#line 272 "glsl_lexer.lpp"
return NE_OP;
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 271 "glsl_lexer.lpp"
+#line 273 "glsl_lexer.lpp"
return AND_OP;
YY_BREAK
case 104:
YY_RULE_SETUP
-#line 272 "glsl_lexer.lpp"
+#line 274 "glsl_lexer.lpp"
return OR_OP;
YY_BREAK
case 105:
YY_RULE_SETUP
-#line 273 "glsl_lexer.lpp"
+#line 275 "glsl_lexer.lpp"
return XOR_OP;
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 274 "glsl_lexer.lpp"
+#line 276 "glsl_lexer.lpp"
return LEFT_OP;
YY_BREAK
case 107:
YY_RULE_SETUP
-#line 275 "glsl_lexer.lpp"
+#line 277 "glsl_lexer.lpp"
return RIGHT_OP;
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 277 "glsl_lexer.lpp"
+#line 279 "glsl_lexer.lpp"
return MUL_ASSIGN;
YY_BREAK
case 109:
YY_RULE_SETUP
-#line 278 "glsl_lexer.lpp"
+#line 280 "glsl_lexer.lpp"
return DIV_ASSIGN;
YY_BREAK
case 110:
YY_RULE_SETUP
-#line 279 "glsl_lexer.lpp"
+#line 281 "glsl_lexer.lpp"
return ADD_ASSIGN;
YY_BREAK
case 111:
YY_RULE_SETUP
-#line 280 "glsl_lexer.lpp"
+#line 282 "glsl_lexer.lpp"
return MOD_ASSIGN;
YY_BREAK
case 112:
YY_RULE_SETUP
-#line 281 "glsl_lexer.lpp"
+#line 283 "glsl_lexer.lpp"
return LEFT_ASSIGN;
YY_BREAK
case 113:
YY_RULE_SETUP
-#line 282 "glsl_lexer.lpp"
+#line 284 "glsl_lexer.lpp"
return RIGHT_ASSIGN;
YY_BREAK
case 114:
YY_RULE_SETUP
-#line 283 "glsl_lexer.lpp"
+#line 285 "glsl_lexer.lpp"
return AND_ASSIGN;
YY_BREAK
case 115:
YY_RULE_SETUP
-#line 284 "glsl_lexer.lpp"
+#line 286 "glsl_lexer.lpp"
return XOR_ASSIGN;
YY_BREAK
case 116:
YY_RULE_SETUP
-#line 285 "glsl_lexer.lpp"
+#line 287 "glsl_lexer.lpp"
return OR_ASSIGN;
YY_BREAK
case 117:
YY_RULE_SETUP
-#line 286 "glsl_lexer.lpp"
+#line 288 "glsl_lexer.lpp"
return SUB_ASSIGN;
YY_BREAK
case 118:
YY_RULE_SETUP
-#line 288 "glsl_lexer.lpp"
+#line 290 "glsl_lexer.lpp"
{
yylval->n = strtol(yytext, NULL, 10);
return IS_UINT ? UINTCONSTANT : INTCONSTANT;
@@ -2058,7 +2060,7 @@ YY_RULE_SETUP
YY_BREAK
case 119:
YY_RULE_SETUP
-#line 292 "glsl_lexer.lpp"
+#line 294 "glsl_lexer.lpp"
{
yylval->n = strtol(yytext + 2, NULL, 16);
return IS_UINT ? UINTCONSTANT : INTCONSTANT;
@@ -2066,7 +2068,7 @@ YY_RULE_SETUP
YY_BREAK
case 120:
YY_RULE_SETUP
-#line 296 "glsl_lexer.lpp"
+#line 298 "glsl_lexer.lpp"
{
yylval->n = strtol(yytext, NULL, 8);
return IS_UINT ? UINTCONSTANT : INTCONSTANT;
@@ -2074,7 +2076,7 @@ YY_RULE_SETUP
YY_BREAK
case 121:
YY_RULE_SETUP
-#line 301 "glsl_lexer.lpp"
+#line 303 "glsl_lexer.lpp"
{
yylval->real = glsl_strtod(yytext, NULL);
return FLOATCONSTANT;
@@ -2082,7 +2084,7 @@ YY_RULE_SETUP
YY_BREAK
case 122:
YY_RULE_SETUP
-#line 305 "glsl_lexer.lpp"
+#line 307 "glsl_lexer.lpp"
{
yylval->real = glsl_strtod(yytext, NULL);
return FLOATCONSTANT;
@@ -2090,7 +2092,7 @@ YY_RULE_SETUP
YY_BREAK
case 123:
YY_RULE_SETUP
-#line 309 "glsl_lexer.lpp"
+#line 311 "glsl_lexer.lpp"
{
yylval->real = glsl_strtod(yytext, NULL);
return FLOATCONSTANT;
@@ -2098,7 +2100,7 @@ YY_RULE_SETUP
YY_BREAK
case 124:
YY_RULE_SETUP
-#line 313 "glsl_lexer.lpp"
+#line 315 "glsl_lexer.lpp"
{
yylval->real = glsl_strtod(yytext, NULL);
return FLOATCONSTANT;
@@ -2106,7 +2108,7 @@ YY_RULE_SETUP
YY_BREAK
case 125:
YY_RULE_SETUP
-#line 317 "glsl_lexer.lpp"
+#line 319 "glsl_lexer.lpp"
{
yylval->real = glsl_strtod(yytext, NULL);
return FLOATCONSTANT;
@@ -2114,7 +2116,7 @@ YY_RULE_SETUP
YY_BREAK
case 126:
YY_RULE_SETUP
-#line 322 "glsl_lexer.lpp"
+#line 324 "glsl_lexer.lpp"
{
yylval->n = 1;
return BOOLCONSTANT;
@@ -2122,7 +2124,7 @@ YY_RULE_SETUP
YY_BREAK
case 127:
YY_RULE_SETUP
-#line 326 "glsl_lexer.lpp"
+#line 328 "glsl_lexer.lpp"
{
yylval->n = 0;
return BOOLCONSTANT;
@@ -2131,427 +2133,427 @@ YY_RULE_SETUP
/* Reserved words in GLSL 1.10. */
case 128:
YY_RULE_SETUP
-#line 333 "glsl_lexer.lpp"
+#line 335 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, ASM);
YY_BREAK
case 129:
YY_RULE_SETUP
-#line 334 "glsl_lexer.lpp"
+#line 336 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, CLASS);
YY_BREAK
case 130:
YY_RULE_SETUP
-#line 335 "glsl_lexer.lpp"
+#line 337 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, UNION);
YY_BREAK
case 131:
YY_RULE_SETUP
-#line 336 "glsl_lexer.lpp"
+#line 338 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, ENUM);
YY_BREAK
case 132:
YY_RULE_SETUP
-#line 337 "glsl_lexer.lpp"
+#line 339 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, TYPEDEF);
YY_BREAK
case 133:
YY_RULE_SETUP
-#line 338 "glsl_lexer.lpp"
+#line 340 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, TEMPLATE);
YY_BREAK
case 134:
YY_RULE_SETUP
-#line 339 "glsl_lexer.lpp"
+#line 341 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, THIS);
YY_BREAK
case 135:
YY_RULE_SETUP
-#line 340 "glsl_lexer.lpp"
+#line 342 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, PACKED_TOK);
YY_BREAK
case 136:
YY_RULE_SETUP
-#line 341 "glsl_lexer.lpp"
+#line 343 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, GOTO);
YY_BREAK
case 137:
YY_RULE_SETUP
-#line 342 "glsl_lexer.lpp"
+#line 344 "glsl_lexer.lpp"
KEYWORD(110 || ES, 130, SWITCH);
YY_BREAK
case 138:
YY_RULE_SETUP
-#line 343 "glsl_lexer.lpp"
+#line 345 "glsl_lexer.lpp"
KEYWORD(110 || ES, 130, DEFAULT);
YY_BREAK
case 139:
YY_RULE_SETUP
-#line 344 "glsl_lexer.lpp"
+#line 346 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, INLINE_TOK);
YY_BREAK
case 140:
YY_RULE_SETUP
-#line 345 "glsl_lexer.lpp"
+#line 347 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, NOINLINE);
YY_BREAK
case 141:
YY_RULE_SETUP
-#line 346 "glsl_lexer.lpp"
+#line 348 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, VOLATILE);
YY_BREAK
case 142:
YY_RULE_SETUP
-#line 347 "glsl_lexer.lpp"
+#line 349 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, PUBLIC_TOK);
YY_BREAK
case 143:
YY_RULE_SETUP
-#line 348 "glsl_lexer.lpp"
+#line 350 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, STATIC);
YY_BREAK
case 144:
YY_RULE_SETUP
-#line 349 "glsl_lexer.lpp"
+#line 351 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, EXTERN);
YY_BREAK
case 145:
YY_RULE_SETUP
-#line 350 "glsl_lexer.lpp"
+#line 352 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, EXTERNAL);
YY_BREAK
case 146:
YY_RULE_SETUP
-#line 351 "glsl_lexer.lpp"
+#line 353 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, INTERFACE);
YY_BREAK
case 147:
YY_RULE_SETUP
-#line 352 "glsl_lexer.lpp"
+#line 354 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, LONG_TOK);
YY_BREAK
case 148:
YY_RULE_SETUP
-#line 353 "glsl_lexer.lpp"
+#line 355 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, SHORT_TOK);
YY_BREAK
case 149:
YY_RULE_SETUP
-#line 354 "glsl_lexer.lpp"
+#line 356 "glsl_lexer.lpp"
KEYWORD(110 || ES, 400, DOUBLE_TOK);
YY_BREAK
case 150:
YY_RULE_SETUP
-#line 355 "glsl_lexer.lpp"
+#line 357 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, HALF);
YY_BREAK
case 151:
YY_RULE_SETUP
-#line 356 "glsl_lexer.lpp"
+#line 358 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, FIXED_TOK);
YY_BREAK
case 152:
YY_RULE_SETUP
-#line 357 "glsl_lexer.lpp"
+#line 359 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, UNSIGNED);
YY_BREAK
case 153:
YY_RULE_SETUP
-#line 358 "glsl_lexer.lpp"
+#line 360 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, INPUT_TOK);
YY_BREAK
case 154:
YY_RULE_SETUP
-#line 359 "glsl_lexer.lpp"
+#line 361 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, OUTPUT);
YY_BREAK
case 155:
YY_RULE_SETUP
-#line 360 "glsl_lexer.lpp"
+#line 362 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, HVEC2);
YY_BREAK
case 156:
YY_RULE_SETUP
-#line 361 "glsl_lexer.lpp"
+#line 363 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, HVEC3);
YY_BREAK
case 157:
YY_RULE_SETUP
-#line 362 "glsl_lexer.lpp"
+#line 364 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, HVEC4);
YY_BREAK
case 158:
YY_RULE_SETUP
-#line 363 "glsl_lexer.lpp"
+#line 365 "glsl_lexer.lpp"
KEYWORD(110 || ES, 400, DVEC2);
YY_BREAK
case 159:
YY_RULE_SETUP
-#line 364 "glsl_lexer.lpp"
+#line 366 "glsl_lexer.lpp"
KEYWORD(110 || ES, 400, DVEC3);
YY_BREAK
case 160:
YY_RULE_SETUP
-#line 365 "glsl_lexer.lpp"
+#line 367 "glsl_lexer.lpp"
KEYWORD(110 || ES, 400, DVEC4);
YY_BREAK
case 161:
YY_RULE_SETUP
-#line 366 "glsl_lexer.lpp"
+#line 368 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, FVEC2);
YY_BREAK
case 162:
YY_RULE_SETUP
-#line 367 "glsl_lexer.lpp"
+#line 369 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, FVEC3);
YY_BREAK
case 163:
YY_RULE_SETUP
-#line 368 "glsl_lexer.lpp"
+#line 370 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, FVEC4);
YY_BREAK
case 164:
YY_RULE_SETUP
-#line 369 "glsl_lexer.lpp"
+#line 371 "glsl_lexer.lpp"
return SAMPLER2DRECT;
YY_BREAK
case 165:
YY_RULE_SETUP
-#line 370 "glsl_lexer.lpp"
+#line 372 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, SAMPLER3DRECT);
YY_BREAK
case 166:
YY_RULE_SETUP
-#line 371 "glsl_lexer.lpp"
+#line 373 "glsl_lexer.lpp"
return SAMPLER2DRECTSHADOW;
YY_BREAK
case 167:
YY_RULE_SETUP
-#line 372 "glsl_lexer.lpp"
+#line 374 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, SIZEOF);
YY_BREAK
case 168:
YY_RULE_SETUP
-#line 373 "glsl_lexer.lpp"
+#line 375 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, CAST);
YY_BREAK
case 169:
YY_RULE_SETUP
-#line 374 "glsl_lexer.lpp"
+#line 376 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, NAMESPACE);
YY_BREAK
case 170:
YY_RULE_SETUP
-#line 375 "glsl_lexer.lpp"
+#line 377 "glsl_lexer.lpp"
KEYWORD(110 || ES, 999, USING);
YY_BREAK
/* Additional reserved words in GLSL 1.20. */
case 171:
YY_RULE_SETUP
-#line 378 "glsl_lexer.lpp"
+#line 380 "glsl_lexer.lpp"
KEYWORD(120, 130 || ES, LOWP);
YY_BREAK
case 172:
YY_RULE_SETUP
-#line 379 "glsl_lexer.lpp"
+#line 381 "glsl_lexer.lpp"
KEYWORD(120, 130 || ES, MEDIUMP);
YY_BREAK
case 173:
YY_RULE_SETUP
-#line 380 "glsl_lexer.lpp"
+#line 382 "glsl_lexer.lpp"
KEYWORD(120, 130 || ES, HIGHP);
YY_BREAK
case 174:
YY_RULE_SETUP
-#line 381 "glsl_lexer.lpp"
+#line 383 "glsl_lexer.lpp"
KEYWORD(120, 130 || ES, PRECISION);
YY_BREAK
/* Additional reserved words in GLSL 1.30. */
case 175:
YY_RULE_SETUP
-#line 384 "glsl_lexer.lpp"
+#line 386 "glsl_lexer.lpp"
KEYWORD(130, 130, CASE);
YY_BREAK
case 176:
YY_RULE_SETUP
-#line 385 "glsl_lexer.lpp"
+#line 387 "glsl_lexer.lpp"
KEYWORD(130, 999, COMMON);
YY_BREAK
case 177:
YY_RULE_SETUP
-#line 386 "glsl_lexer.lpp"
+#line 388 "glsl_lexer.lpp"
KEYWORD(130, 999, PARTITION);
YY_BREAK
case 178:
YY_RULE_SETUP
-#line 387 "glsl_lexer.lpp"
+#line 389 "glsl_lexer.lpp"
KEYWORD(130, 999, ACTIVE);
YY_BREAK
case 179:
YY_RULE_SETUP
-#line 388 "glsl_lexer.lpp"
+#line 390 "glsl_lexer.lpp"
KEYWORD(130 || ES, 999, SUPERP);
YY_BREAK
case 180:
YY_RULE_SETUP
-#line 389 "glsl_lexer.lpp"
+#line 391 "glsl_lexer.lpp"
KEYWORD(130, 140, SAMPLERBUFFER);
YY_BREAK
case 181:
YY_RULE_SETUP
-#line 390 "glsl_lexer.lpp"
+#line 392 "glsl_lexer.lpp"
KEYWORD(130, 999, FILTER);
YY_BREAK
case 182:
YY_RULE_SETUP
-#line 391 "glsl_lexer.lpp"
+#line 393 "glsl_lexer.lpp"
KEYWORD(130, 999, IMAGE1D);
YY_BREAK
case 183:
YY_RULE_SETUP
-#line 392 "glsl_lexer.lpp"
+#line 394 "glsl_lexer.lpp"
KEYWORD(130, 999, IMAGE2D);
YY_BREAK
case 184:
YY_RULE_SETUP
-#line 393 "glsl_lexer.lpp"
+#line 395 "glsl_lexer.lpp"
KEYWORD(130, 999, IMAGE3D);
YY_BREAK
case 185:
YY_RULE_SETUP
-#line 394 "glsl_lexer.lpp"
+#line 396 "glsl_lexer.lpp"
KEYWORD(130, 999, IMAGECUBE);
YY_BREAK
case 186:
YY_RULE_SETUP
-#line 395 "glsl_lexer.lpp"
+#line 397 "glsl_lexer.lpp"
KEYWORD(130, 999, IIMAGE1D);
YY_BREAK
case 187:
YY_RULE_SETUP
-#line 396 "glsl_lexer.lpp"
+#line 398 "glsl_lexer.lpp"
KEYWORD(130, 999, IIMAGE2D);
YY_BREAK
case 188:
YY_RULE_SETUP
-#line 397 "glsl_lexer.lpp"
+#line 399 "glsl_lexer.lpp"
KEYWORD(130, 999, IIMAGE3D);
YY_BREAK
case 189:
YY_RULE_SETUP
-#line 398 "glsl_lexer.lpp"
+#line 400 "glsl_lexer.lpp"
KEYWORD(130, 999, IIMAGECUBE);
YY_BREAK
case 190:
YY_RULE_SETUP
-#line 399 "glsl_lexer.lpp"
+#line 401 "glsl_lexer.lpp"
KEYWORD(130, 999, UIMAGE1D);
YY_BREAK
case 191:
YY_RULE_SETUP
-#line 400 "glsl_lexer.lpp"
+#line 402 "glsl_lexer.lpp"
KEYWORD(130, 999, UIMAGE2D);
YY_BREAK
case 192:
YY_RULE_SETUP
-#line 401 "glsl_lexer.lpp"
+#line 403 "glsl_lexer.lpp"
KEYWORD(130, 999, UIMAGE3D);
YY_BREAK
case 193:
YY_RULE_SETUP
-#line 402 "glsl_lexer.lpp"
+#line 404 "glsl_lexer.lpp"
KEYWORD(130, 999, UIMAGECUBE);
YY_BREAK
case 194:
YY_RULE_SETUP
-#line 403 "glsl_lexer.lpp"
+#line 405 "glsl_lexer.lpp"
KEYWORD(130, 999, IMAGE1DARRAY);
YY_BREAK
case 195:
YY_RULE_SETUP
-#line 404 "glsl_lexer.lpp"
+#line 406 "glsl_lexer.lpp"
KEYWORD(130, 999, IMAGE2DARRAY);
YY_BREAK
case 196:
YY_RULE_SETUP
-#line 405 "glsl_lexer.lpp"
+#line 407 "glsl_lexer.lpp"
KEYWORD(130, 999, IIMAGE1DARRAY);
YY_BREAK
case 197:
YY_RULE_SETUP
-#line 406 "glsl_lexer.lpp"
+#line 408 "glsl_lexer.lpp"
KEYWORD(130, 999, IIMAGE2DARRAY);
YY_BREAK
case 198:
YY_RULE_SETUP
-#line 407 "glsl_lexer.lpp"
+#line 409 "glsl_lexer.lpp"
KEYWORD(130, 999, UIMAGE1DARRAY);
YY_BREAK
case 199:
YY_RULE_SETUP
-#line 408 "glsl_lexer.lpp"
+#line 410 "glsl_lexer.lpp"
KEYWORD(130, 999, UIMAGE2DARRAY);
YY_BREAK
case 200:
YY_RULE_SETUP
-#line 409 "glsl_lexer.lpp"
+#line 411 "glsl_lexer.lpp"
KEYWORD(130, 999, IMAGE1DSHADOW);
YY_BREAK
case 201:
YY_RULE_SETUP
-#line 410 "glsl_lexer.lpp"
+#line 412 "glsl_lexer.lpp"
KEYWORD(130, 999, IMAGE2DSHADOW);
YY_BREAK
case 202:
YY_RULE_SETUP
-#line 411 "glsl_lexer.lpp"
+#line 413 "glsl_lexer.lpp"
KEYWORD(130, 999, IMAGE1DARRAYSHADOW);
YY_BREAK
case 203:
YY_RULE_SETUP
-#line 412 "glsl_lexer.lpp"
+#line 414 "glsl_lexer.lpp"
KEYWORD(130, 999, IMAGE2DARRAYSHADOW);
YY_BREAK
case 204:
YY_RULE_SETUP
-#line 413 "glsl_lexer.lpp"
+#line 415 "glsl_lexer.lpp"
KEYWORD(130, 999, IMAGEBUFFER);
YY_BREAK
case 205:
YY_RULE_SETUP
-#line 414 "glsl_lexer.lpp"
+#line 416 "glsl_lexer.lpp"
KEYWORD(130, 999, IIMAGEBUFFER);
YY_BREAK
case 206:
YY_RULE_SETUP
-#line 415 "glsl_lexer.lpp"
+#line 417 "glsl_lexer.lpp"
KEYWORD(130, 999, UIMAGEBUFFER);
YY_BREAK
case 207:
YY_RULE_SETUP
-#line 416 "glsl_lexer.lpp"
+#line 418 "glsl_lexer.lpp"
KEYWORD(130, 999, ROW_MAJOR);
YY_BREAK
case 208:
YY_RULE_SETUP
-#line 418 "glsl_lexer.lpp"
+#line 420 "glsl_lexer.lpp"
{
struct _mesa_glsl_parse_state *state = yyextra;
void *ctx = state;
yylval->identifier = ralloc_strdup(ctx, yytext);
- return IDENTIFIER;
+ return classify_identifier(state, yytext);
}
YY_BREAK
case 209:
YY_RULE_SETUP
-#line 425 "glsl_lexer.lpp"
+#line 427 "glsl_lexer.lpp"
{ return yytext[0]; }
YY_BREAK
case 210:
YY_RULE_SETUP
-#line 427 "glsl_lexer.lpp"
+#line 429 "glsl_lexer.lpp"
ECHO;
YY_BREAK
-#line 2555 "glsl_lexer.cpp"
+#line 2557 "glsl_lexer.cpp"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(PP):
case YY_STATE_EOF(PRAGMA):
@@ -3694,9 +3696,20 @@ void _mesa_glsl_free (void * ptr , yyscan_t yyscanner)
#define YYTABLES_NAME "yytables"
-#line 427 "glsl_lexer.lpp"
+#line 429 "glsl_lexer.lpp"
+
+int
+classify_identifier(struct _mesa_glsl_parse_state *state, const char *name)
+{
+ if (state->symbols->get_variable(name) || state->symbols->get_function(name))
+ return IDENTIFIER;
+ else if (state->symbols->get_type(name))
+ return TYPE_IDENTIFIER;
+ else
+ return NEW_IDENTIFIER;
+}
void
_mesa_glsl_lexer_ctor(struct _mesa_glsl_parse_state *state, const char *string)
diff --git a/src/glsl/glsl_parser.cpp b/src/glsl/glsl_parser.cpp
index 69435997a70..1db7e901a96 100644
--- a/src/glsl/glsl_parser.cpp
+++ b/src/glsl/glsl_parser.cpp
@@ -214,123 +214,125 @@
VOID_TOK = 329,
WHILE = 330,
IDENTIFIER = 331,
- FLOATCONSTANT = 332,
- INTCONSTANT = 333,
- UINTCONSTANT = 334,
- BOOLCONSTANT = 335,
- FIELD_SELECTION = 336,
- LEFT_OP = 337,
- RIGHT_OP = 338,
- INC_OP = 339,
- DEC_OP = 340,
- LE_OP = 341,
- GE_OP = 342,
- EQ_OP = 343,
- NE_OP = 344,
- AND_OP = 345,
- OR_OP = 346,
- XOR_OP = 347,
- MUL_ASSIGN = 348,
- DIV_ASSIGN = 349,
- ADD_ASSIGN = 350,
- MOD_ASSIGN = 351,
- LEFT_ASSIGN = 352,
- RIGHT_ASSIGN = 353,
- AND_ASSIGN = 354,
- XOR_ASSIGN = 355,
- OR_ASSIGN = 356,
- SUB_ASSIGN = 357,
- INVARIANT = 358,
- LOWP = 359,
- MEDIUMP = 360,
- HIGHP = 361,
- SUPERP = 362,
- PRECISION = 363,
- VERSION = 364,
- EXTENSION = 365,
- LINE = 366,
- COLON = 367,
- EOL = 368,
- INTERFACE = 369,
- OUTPUT = 370,
- PRAGMA_DEBUG_ON = 371,
- PRAGMA_DEBUG_OFF = 372,
- PRAGMA_OPTIMIZE_ON = 373,
- PRAGMA_OPTIMIZE_OFF = 374,
- PRAGMA_INVARIANT_ALL = 375,
- LAYOUT_TOK = 376,
- ASM = 377,
- CLASS = 378,
- UNION = 379,
- ENUM = 380,
- TYPEDEF = 381,
- TEMPLATE = 382,
- THIS = 383,
- PACKED_TOK = 384,
- GOTO = 385,
- INLINE_TOK = 386,
- NOINLINE = 387,
- VOLATILE = 388,
- PUBLIC_TOK = 389,
- STATIC = 390,
- EXTERN = 391,
- EXTERNAL = 392,
- LONG_TOK = 393,
- SHORT_TOK = 394,
- DOUBLE_TOK = 395,
- HALF = 396,
- FIXED_TOK = 397,
- UNSIGNED = 398,
- INPUT_TOK = 399,
- OUPTUT = 400,
- HVEC2 = 401,
- HVEC3 = 402,
- HVEC4 = 403,
- DVEC2 = 404,
- DVEC3 = 405,
- DVEC4 = 406,
- FVEC2 = 407,
- FVEC3 = 408,
- FVEC4 = 409,
- SAMPLER2DRECT = 410,
- SAMPLER3DRECT = 411,
- SAMPLER2DRECTSHADOW = 412,
- SIZEOF = 413,
- CAST = 414,
- NAMESPACE = 415,
- USING = 416,
- ERROR_TOK = 417,
- COMMON = 418,
- PARTITION = 419,
- ACTIVE = 420,
- SAMPLERBUFFER = 421,
- FILTER = 422,
- IMAGE1D = 423,
- IMAGE2D = 424,
- IMAGE3D = 425,
- IMAGECUBE = 426,
- IMAGE1DARRAY = 427,
- IMAGE2DARRAY = 428,
- IIMAGE1D = 429,
- IIMAGE2D = 430,
- IIMAGE3D = 431,
- IIMAGECUBE = 432,
- IIMAGE1DARRAY = 433,
- IIMAGE2DARRAY = 434,
- UIMAGE1D = 435,
- UIMAGE2D = 436,
- UIMAGE3D = 437,
- UIMAGECUBE = 438,
- UIMAGE1DARRAY = 439,
- UIMAGE2DARRAY = 440,
- IMAGE1DSHADOW = 441,
- IMAGE2DSHADOW = 442,
- IMAGEBUFFER = 443,
- IIMAGEBUFFER = 444,
- UIMAGEBUFFER = 445,
- IMAGE1DARRAYSHADOW = 446,
- IMAGE2DARRAYSHADOW = 447,
- ROW_MAJOR = 448
+ TYPE_IDENTIFIER = 332,
+ NEW_IDENTIFIER = 333,
+ FLOATCONSTANT = 334,
+ INTCONSTANT = 335,
+ UINTCONSTANT = 336,
+ BOOLCONSTANT = 337,
+ FIELD_SELECTION = 338,
+ LEFT_OP = 339,
+ RIGHT_OP = 340,
+ INC_OP = 341,
+ DEC_OP = 342,
+ LE_OP = 343,
+ GE_OP = 344,
+ EQ_OP = 345,
+ NE_OP = 346,
+ AND_OP = 347,
+ OR_OP = 348,
+ XOR_OP = 349,
+ MUL_ASSIGN = 350,
+ DIV_ASSIGN = 351,
+ ADD_ASSIGN = 352,
+ MOD_ASSIGN = 353,
+ LEFT_ASSIGN = 354,
+ RIGHT_ASSIGN = 355,
+ AND_ASSIGN = 356,
+ XOR_ASSIGN = 357,
+ OR_ASSIGN = 358,
+ SUB_ASSIGN = 359,
+ INVARIANT = 360,
+ LOWP = 361,
+ MEDIUMP = 362,
+ HIGHP = 363,
+ SUPERP = 364,
+ PRECISION = 365,
+ VERSION = 366,
+ EXTENSION = 367,
+ LINE = 368,
+ COLON = 369,
+ EOL = 370,
+ INTERFACE = 371,
+ OUTPUT = 372,
+ PRAGMA_DEBUG_ON = 373,
+ PRAGMA_DEBUG_OFF = 374,
+ PRAGMA_OPTIMIZE_ON = 375,
+ PRAGMA_OPTIMIZE_OFF = 376,
+ PRAGMA_INVARIANT_ALL = 377,
+ LAYOUT_TOK = 378,
+ ASM = 379,
+ CLASS = 380,
+ UNION = 381,
+ ENUM = 382,
+ TYPEDEF = 383,
+ TEMPLATE = 384,
+ THIS = 385,
+ PACKED_TOK = 386,
+ GOTO = 387,
+ INLINE_TOK = 388,
+ NOINLINE = 389,
+ VOLATILE = 390,
+ PUBLIC_TOK = 391,
+ STATIC = 392,
+ EXTERN = 393,
+ EXTERNAL = 394,
+ LONG_TOK = 395,
+ SHORT_TOK = 396,
+ DOUBLE_TOK = 397,
+ HALF = 398,
+ FIXED_TOK = 399,
+ UNSIGNED = 400,
+ INPUT_TOK = 401,
+ OUPTUT = 402,
+ HVEC2 = 403,
+ HVEC3 = 404,
+ HVEC4 = 405,
+ DVEC2 = 406,
+ DVEC3 = 407,
+ DVEC4 = 408,
+ FVEC2 = 409,
+ FVEC3 = 410,
+ FVEC4 = 411,
+ SAMPLER2DRECT = 412,
+ SAMPLER3DRECT = 413,
+ SAMPLER2DRECTSHADOW = 414,
+ SIZEOF = 415,
+ CAST = 416,
+ NAMESPACE = 417,
+ USING = 418,
+ ERROR_TOK = 419,
+ COMMON = 420,
+ PARTITION = 421,
+ ACTIVE = 422,
+ SAMPLERBUFFER = 423,
+ FILTER = 424,
+ IMAGE1D = 425,
+ IMAGE2D = 426,
+ IMAGE3D = 427,
+ IMAGECUBE = 428,
+ IMAGE1DARRAY = 429,
+ IMAGE2DARRAY = 430,
+ IIMAGE1D = 431,
+ IIMAGE2D = 432,
+ IIMAGE3D = 433,
+ IIMAGECUBE = 434,
+ IIMAGE1DARRAY = 435,
+ IIMAGE2DARRAY = 436,
+ UIMAGE1D = 437,
+ UIMAGE2D = 438,
+ UIMAGE3D = 439,
+ UIMAGECUBE = 440,
+ UIMAGE1DARRAY = 441,
+ UIMAGE2DARRAY = 442,
+ IMAGE1DSHADOW = 443,
+ IMAGE2DSHADOW = 444,
+ IMAGEBUFFER = 445,
+ IIMAGEBUFFER = 446,
+ UIMAGEBUFFER = 447,
+ IMAGE1DARRAYSHADOW = 448,
+ IMAGE2DARRAYSHADOW = 449,
+ ROW_MAJOR = 450
};
#endif
@@ -374,7 +376,7 @@ typedef union YYSTYPE
/* Line 214 of yacc.c */
-#line 378 "glsl_parser.cpp"
+#line 380 "glsl_parser.cpp"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -399,7 +401,7 @@ typedef struct YYLTYPE
/* Line 264 of yacc.c */
-#line 403 "glsl_parser.cpp"
+#line 405 "glsl_parser.cpp"
#ifdef short
# undef short
@@ -616,20 +618,20 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 5
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 3738
+#define YYLAST 3692
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 218
+#define YYNTOKENS 220
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 87
+#define YYNNTS 93
/* YYNRULES -- Number of rules. */
-#define YYNRULES 279
+#define YYNRULES 291
/* YYNRULES -- Number of states. */
-#define YYNSTATES 415
+#define YYNSTATES 434
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 448
+#define YYMAXUTOK 450
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -640,16 +642,16 @@ static const yytype_uint8 yytranslate[] =
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 202, 2, 2, 2, 206, 209, 2,
- 194, 195, 204, 200, 199, 201, 198, 205, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 213, 215,
- 207, 214, 208, 212, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 204, 2, 2, 2, 208, 211, 2,
+ 196, 197, 206, 202, 201, 203, 200, 207, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 215, 217,
+ 209, 216, 210, 214, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 196, 2, 197, 210, 2, 2, 2, 2, 2,
+ 2, 198, 2, 199, 212, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 216, 211, 217, 203, 2, 2, 2,
+ 2, 2, 2, 218, 213, 219, 205, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -681,7 +683,8 @@ static const yytype_uint8 yytranslate[] =
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 191, 192, 193
+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
+ 195
};
#if YYDEBUG
@@ -690,151 +693,158 @@ static const yytype_uint8 yytranslate[] =
static const yytype_uint16 yyprhs[] =
{
0, 0, 3, 4, 9, 10, 14, 17, 20, 23,
- 26, 29, 30, 33, 39, 41, 44, 46, 48, 50,
- 52, 54, 56, 60, 62, 67, 69, 73, 76, 79,
- 81, 83, 85, 89, 92, 95, 98, 100, 103, 107,
- 110, 112, 114, 116, 118, 121, 124, 127, 129, 131,
- 133, 135, 137, 141, 145, 149, 151, 155, 159, 161,
- 165, 169, 171, 175, 179, 183, 187, 189, 193, 197,
- 199, 203, 205, 209, 211, 215, 217, 221, 223, 227,
- 229, 233, 235, 241, 243, 247, 249, 251, 253, 255,
- 257, 259, 261, 263, 265, 267, 269, 271, 275, 277,
- 280, 283, 288, 291, 293, 295, 298, 302, 306, 309,
- 315, 319, 322, 326, 329, 330, 332, 334, 336, 338,
- 340, 344, 350, 357, 365, 374, 380, 382, 385, 390,
- 396, 403, 411, 416, 419, 421, 424, 429, 431, 435,
- 437, 441, 443, 445, 447, 449, 451, 453, 456, 458,
- 461, 464, 468, 470, 472, 474, 476, 479, 481, 483,
- 486, 489, 491, 493, 496, 498, 502, 507, 509, 511,
- 513, 515, 517, 519, 521, 523, 525, 527, 529, 531,
- 533, 535, 537, 539, 541, 543, 545, 547, 549, 551,
- 553, 555, 557, 559, 561, 563, 565, 567, 569, 571,
- 573, 575, 577, 579, 581, 583, 585, 587, 589, 591,
- 593, 595, 597, 599, 601, 603, 605, 607, 609, 611,
- 613, 615, 617, 619, 621, 627, 632, 634, 637, 641,
- 643, 647, 649, 654, 656, 658, 660, 662, 664, 666,
- 668, 670, 672, 674, 676, 679, 683, 685, 687, 690,
- 694, 696, 699, 701, 704, 710, 714, 716, 718, 723,
- 729, 733, 736, 742, 750, 757, 759, 761, 763, 764,
- 767, 771, 774, 777, 780, 784, 787, 789, 791, 793
+ 26, 29, 30, 33, 35, 37, 39, 45, 47, 50,
+ 52, 54, 56, 58, 60, 62, 64, 68, 70, 75,
+ 77, 81, 84, 87, 89, 91, 93, 97, 100, 103,
+ 106, 108, 111, 115, 118, 120, 122, 124, 127, 130,
+ 133, 135, 138, 142, 145, 147, 150, 153, 156, 158,
+ 160, 162, 164, 166, 170, 174, 178, 180, 184, 188,
+ 190, 194, 198, 200, 204, 208, 212, 216, 218, 222,
+ 226, 228, 232, 234, 238, 240, 244, 246, 250, 252,
+ 256, 258, 262, 264, 270, 272, 276, 278, 280, 282,
+ 284, 286, 288, 290, 292, 294, 296, 298, 300, 304,
+ 306, 309, 312, 317, 320, 322, 324, 327, 331, 335,
+ 338, 344, 348, 351, 355, 358, 359, 361, 363, 365,
+ 367, 369, 373, 379, 386, 394, 403, 409, 411, 414,
+ 419, 425, 432, 440, 445, 448, 450, 453, 458, 460,
+ 464, 466, 470, 472, 474, 476, 478, 480, 482, 485,
+ 487, 490, 493, 497, 499, 501, 503, 505, 508, 510,
+ 512, 515, 518, 520, 522, 525, 527, 531, 536, 538,
+ 540, 542, 544, 546, 548, 550, 552, 554, 556, 558,
+ 560, 562, 564, 566, 568, 570, 572, 574, 576, 578,
+ 580, 582, 584, 586, 588, 590, 592, 594, 596, 598,
+ 600, 602, 604, 606, 608, 610, 612, 614, 616, 618,
+ 620, 622, 624, 626, 628, 630, 632, 634, 636, 638,
+ 640, 642, 644, 646, 648, 650, 656, 661, 663, 666,
+ 670, 672, 676, 678, 683, 685, 687, 689, 691, 693,
+ 695, 697, 699, 701, 703, 705, 708, 709, 714, 716,
+ 718, 721, 725, 727, 730, 732, 735, 741, 745, 747,
+ 749, 754, 760, 764, 767, 773, 781, 788, 790, 792,
+ 794, 795, 798, 802, 805, 808, 811, 815, 818, 820,
+ 822, 824
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 219, 0, -1, -1, 221, 223, 220, 225, -1, -1,
- 109, 78, 113, -1, 116, 113, -1, 117, 113, -1,
- 118, 113, -1, 119, 113, -1, 120, 113, -1, -1,
- 223, 224, -1, 110, 76, 112, 76, 113, -1, 303,
- -1, 225, 303, -1, 76, -1, 226, -1, 78, -1,
- 79, -1, 77, -1, 80, -1, 194, 253, 195, -1,
- 227, -1, 228, 196, 229, 197, -1, 230, -1, 228,
- 198, 76, -1, 228, 84, -1, 228, 85, -1, 253,
- -1, 231, -1, 232, -1, 228, 198, 232, -1, 234,
- 195, -1, 233, 195, -1, 235, 74, -1, 235, -1,
- 235, 251, -1, 234, 199, 251, -1, 236, 194, -1,
- 274, -1, 76, -1, 81, -1, 228, -1, 84, 237,
- -1, 85, 237, -1, 238, 237, -1, 200, -1, 201,
- -1, 202, -1, 203, -1, 237, -1, 239, 204, 237,
- -1, 239, 205, 237, -1, 239, 206, 237, -1, 239,
- -1, 240, 200, 239, -1, 240, 201, 239, -1, 240,
- -1, 241, 82, 240, -1, 241, 83, 240, -1, 241,
- -1, 242, 207, 241, -1, 242, 208, 241, -1, 242,
- 86, 241, -1, 242, 87, 241, -1, 242, -1, 243,
- 88, 242, -1, 243, 89, 242, -1, 243, -1, 244,
- 209, 243, -1, 244, -1, 245, 210, 244, -1, 245,
- -1, 246, 211, 245, -1, 246, -1, 247, 90, 246,
- -1, 247, -1, 248, 92, 247, -1, 248, -1, 249,
- 91, 248, -1, 249, -1, 249, 212, 253, 213, 251,
- -1, 250, -1, 237, 252, 251, -1, 214, -1, 93,
- -1, 94, -1, 96, -1, 95, -1, 102, -1, 97,
- -1, 98, -1, 99, -1, 100, -1, 101, -1, 251,
- -1, 253, 199, 251, -1, 250, -1, 256, 215, -1,
- 264, 215, -1, 108, 278, 275, 215, -1, 257, 195,
- -1, 259, -1, 258, -1, 259, 261, -1, 258, 199,
- 261, -1, 266, 76, 194, -1, 274, 76, -1, 274,
- 76, 196, 254, 197, -1, 271, 262, 260, -1, 262,
- 260, -1, 271, 262, 263, -1, 262, 263, -1, -1,
- 33, -1, 34, -1, 35, -1, 274, -1, 265, -1,
- 264, 199, 76, -1, 264, 199, 76, 196, 197, -1,
- 264, 199, 76, 196, 254, 197, -1, 264, 199, 76,
- 196, 197, 214, 284, -1, 264, 199, 76, 196, 254,
- 197, 214, 284, -1, 264, 199, 76, 214, 284, -1,
- 266, -1, 266, 76, -1, 266, 76, 196, 197, -1,
- 266, 76, 196, 254, 197, -1, 266, 76, 196, 197,
- 214, 284, -1, 266, 76, 196, 254, 197, 214, 284,
- -1, 266, 76, 214, 284, -1, 103, 76, -1, 274,
- -1, 272, 274, -1, 121, 194, 268, 195, -1, 269,
- -1, 268, 199, 269, -1, 76, -1, 76, 214, 78,
- -1, 40, -1, 39, -1, 38, -1, 4, -1, 273,
- -1, 267, -1, 267, 273, -1, 270, -1, 270, 273,
- -1, 103, 273, -1, 103, 270, 273, -1, 103, -1,
- 4, -1, 3, -1, 37, -1, 32, 37, -1, 33,
- -1, 34, -1, 32, 33, -1, 32, 34, -1, 36,
- -1, 275, -1, 278, 275, -1, 276, -1, 276, 196,
- 197, -1, 276, 196, 254, 197, -1, 277, -1, 279,
- -1, 76, -1, 74, -1, 6, -1, 7, -1, 8,
- -1, 5, -1, 29, -1, 30, -1, 31, -1, 20,
- -1, 21, -1, 22, -1, 23, -1, 24, -1, 25,
- -1, 26, -1, 27, -1, 28, -1, 41, -1, 42,
- -1, 43, -1, 44, -1, 45, -1, 46, -1, 47,
- -1, 48, -1, 49, -1, 50, -1, 51, -1, 155,
- -1, 52, -1, 53, -1, 54, -1, 55, -1, 157,
- -1, 56, -1, 57, -1, 58, -1, 59, -1, 60,
- -1, 61, -1, 62, -1, 63, -1, 64, -1, 65,
- -1, 66, -1, 67, -1, 68, -1, 69, -1, 70,
- -1, 71, -1, 72, -1, 106, -1, 105, -1, 104,
- -1, 73, 76, 216, 280, 217, -1, 73, 216, 280,
- 217, -1, 281, -1, 280, 281, -1, 274, 282, 215,
- -1, 283, -1, 282, 199, 283, -1, 76, -1, 76,
- 196, 254, 197, -1, 251, -1, 255, -1, 288, -1,
- 287, -1, 285, -1, 292, -1, 293, -1, 296, -1,
- 297, -1, 298, -1, 302, -1, 216, 217, -1, 216,
- 291, 217, -1, 290, -1, 287, -1, 216, 217, -1,
- 216, 291, 217, -1, 286, -1, 291, 286, -1, 215,
- -1, 253, 215, -1, 14, 194, 253, 195, 294, -1,
- 286, 12, 286, -1, 286, -1, 253, -1, 266, 76,
- 214, 284, -1, 17, 194, 253, 195, 288, -1, 18,
- 253, 213, -1, 19, 213, -1, 75, 194, 295, 195,
- 289, -1, 11, 286, 75, 194, 253, 195, 215, -1,
- 13, 194, 299, 301, 195, 289, -1, 292, -1, 285,
- -1, 295, -1, -1, 300, 215, -1, 300, 215, 253,
- -1, 10, 215, -1, 9, 215, -1, 16, 215, -1,
- 16, 253, 215, -1, 15, 215, -1, 304, -1, 255,
- -1, 222, -1, 256, 290, -1
+ 221, 0, -1, -1, 223, 225, 222, 228, -1, -1,
+ 111, 80, 115, -1, 118, 115, -1, 119, 115, -1,
+ 120, 115, -1, 121, 115, -1, 122, 115, -1, -1,
+ 225, 227, -1, 76, -1, 77, -1, 78, -1, 112,
+ 226, 114, 226, 115, -1, 311, -1, 228, 311, -1,
+ 76, -1, 78, -1, 229, -1, 80, -1, 81, -1,
+ 79, -1, 82, -1, 196, 260, 197, -1, 230, -1,
+ 231, 198, 232, 199, -1, 233, -1, 231, 200, 226,
+ -1, 231, 86, -1, 231, 87, -1, 260, -1, 234,
+ -1, 235, -1, 231, 200, 240, -1, 237, 197, -1,
+ 236, 197, -1, 238, 74, -1, 238, -1, 238, 258,
+ -1, 237, 201, 258, -1, 239, 196, -1, 281, -1,
+ 229, -1, 83, -1, 242, 197, -1, 241, 197, -1,
+ 243, 74, -1, 243, -1, 243, 258, -1, 242, 201,
+ 258, -1, 229, 196, -1, 231, -1, 86, 244, -1,
+ 87, 244, -1, 245, 244, -1, 202, -1, 203, -1,
+ 204, -1, 205, -1, 244, -1, 246, 206, 244, -1,
+ 246, 207, 244, -1, 246, 208, 244, -1, 246, -1,
+ 247, 202, 246, -1, 247, 203, 246, -1, 247, -1,
+ 248, 84, 247, -1, 248, 85, 247, -1, 248, -1,
+ 249, 209, 248, -1, 249, 210, 248, -1, 249, 88,
+ 248, -1, 249, 89, 248, -1, 249, -1, 250, 90,
+ 249, -1, 250, 91, 249, -1, 250, -1, 251, 211,
+ 250, -1, 251, -1, 252, 212, 251, -1, 252, -1,
+ 253, 213, 252, -1, 253, -1, 254, 92, 253, -1,
+ 254, -1, 255, 94, 254, -1, 255, -1, 256, 93,
+ 255, -1, 256, -1, 256, 214, 260, 215, 258, -1,
+ 257, -1, 244, 259, 258, -1, 216, -1, 95, -1,
+ 96, -1, 98, -1, 97, -1, 104, -1, 99, -1,
+ 100, -1, 101, -1, 102, -1, 103, -1, 258, -1,
+ 260, 201, 258, -1, 257, -1, 263, 217, -1, 271,
+ 217, -1, 110, 285, 282, 217, -1, 264, 197, -1,
+ 266, -1, 265, -1, 266, 268, -1, 265, 201, 268,
+ -1, 273, 229, 196, -1, 281, 226, -1, 281, 226,
+ 198, 261, 199, -1, 278, 269, 267, -1, 269, 267,
+ -1, 278, 269, 270, -1, 269, 270, -1, -1, 33,
+ -1, 34, -1, 35, -1, 281, -1, 272, -1, 271,
+ 201, 226, -1, 271, 201, 226, 198, 199, -1, 271,
+ 201, 226, 198, 261, 199, -1, 271, 201, 226, 198,
+ 199, 216, 291, -1, 271, 201, 226, 198, 261, 199,
+ 216, 291, -1, 271, 201, 226, 216, 291, -1, 273,
+ -1, 273, 226, -1, 273, 226, 198, 199, -1, 273,
+ 226, 198, 261, 199, -1, 273, 226, 198, 199, 216,
+ 291, -1, 273, 226, 198, 261, 199, 216, 291, -1,
+ 273, 226, 216, 291, -1, 105, 229, -1, 281, -1,
+ 279, 281, -1, 123, 196, 275, 197, -1, 276, -1,
+ 275, 201, 276, -1, 226, -1, 226, 216, 80, -1,
+ 40, -1, 39, -1, 38, -1, 4, -1, 280, -1,
+ 274, -1, 274, 280, -1, 277, -1, 277, 280, -1,
+ 105, 280, -1, 105, 277, 280, -1, 105, -1, 4,
+ -1, 3, -1, 37, -1, 32, 37, -1, 33, -1,
+ 34, -1, 32, 33, -1, 32, 34, -1, 36, -1,
+ 282, -1, 285, 282, -1, 283, -1, 283, 198, 199,
+ -1, 283, 198, 261, 199, -1, 284, -1, 286, -1,
+ 77, -1, 74, -1, 6, -1, 7, -1, 8, -1,
+ 5, -1, 29, -1, 30, -1, 31, -1, 20, -1,
+ 21, -1, 22, -1, 23, -1, 24, -1, 25, -1,
+ 26, -1, 27, -1, 28, -1, 41, -1, 42, -1,
+ 43, -1, 44, -1, 45, -1, 46, -1, 47, -1,
+ 48, -1, 49, -1, 50, -1, 51, -1, 157, -1,
+ 52, -1, 53, -1, 54, -1, 55, -1, 159, -1,
+ 56, -1, 57, -1, 58, -1, 59, -1, 60, -1,
+ 61, -1, 62, -1, 63, -1, 64, -1, 65, -1,
+ 66, -1, 67, -1, 68, -1, 69, -1, 70, -1,
+ 71, -1, 72, -1, 108, -1, 107, -1, 106, -1,
+ 73, 226, 218, 287, 219, -1, 73, 218, 287, 219,
+ -1, 288, -1, 287, 288, -1, 281, 289, 217, -1,
+ 290, -1, 289, 201, 290, -1, 226, -1, 226, 198,
+ 261, 199, -1, 258, -1, 262, -1, 295, -1, 294,
+ -1, 292, -1, 300, -1, 301, -1, 304, -1, 305,
+ -1, 306, -1, 310, -1, 218, 219, -1, -1, 218,
+ 296, 299, 219, -1, 298, -1, 294, -1, 218, 219,
+ -1, 218, 299, 219, -1, 293, -1, 299, 293, -1,
+ 217, -1, 260, 217, -1, 14, 196, 260, 197, 302,
+ -1, 293, 12, 293, -1, 293, -1, 260, -1, 273,
+ 226, 216, 291, -1, 17, 196, 260, 197, 295, -1,
+ 18, 260, 215, -1, 19, 215, -1, 75, 196, 303,
+ 197, 297, -1, 11, 293, 75, 196, 260, 197, 217,
+ -1, 13, 196, 307, 309, 197, 297, -1, 300, -1,
+ 292, -1, 303, -1, -1, 308, 217, -1, 308, 217,
+ 260, -1, 10, 217, -1, 9, 217, -1, 16, 217,
+ -1, 16, 260, 217, -1, 15, 217, -1, 312, -1,
+ 262, -1, 224, -1, 263, 298, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 213, 213, 212, 219, 221, 261, 262, 263, 264,
- 265, 277, 279, 283, 292, 300, 311, 315, 322, 329,
- 336, 343, 350, 357, 358, 364, 368, 375, 381, 390,
- 394, 398, 399, 408, 409, 413, 414, 418, 424, 436,
- 440, 446, 453, 464, 465, 471, 477, 487, 488, 489,
- 490, 494, 495, 501, 507, 516, 517, 523, 532, 533,
- 539, 548, 549, 555, 561, 567, 576, 577, 583, 592,
- 593, 602, 603, 612, 613, 622, 623, 632, 633, 642,
- 643, 652, 653, 662, 663, 672, 673, 674, 675, 676,
- 677, 678, 679, 680, 681, 682, 686, 690, 706, 710,
- 714, 718, 727, 731, 732, 736, 741, 749, 760, 770,
- 785, 792, 797, 808, 821, 824, 829, 834, 843, 847,
- 848, 857, 866, 875, 884, 893, 906, 917, 926, 935,
- 944, 953, 962, 971, 985, 992, 1003, 1010, 1011, 1030,
- 1082, 1123, 1128, 1133, 1141, 1149, 1150, 1151, 1156, 1157,
- 1162, 1167, 1173, 1181, 1186, 1191, 1196, 1202, 1207, 1212,
- 1217, 1222, 1230, 1234, 1242, 1243, 1249, 1258, 1264, 1270,
- 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288,
- 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298,
- 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308,
- 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318,
- 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328,
- 1329, 1333, 1343, 1353, 1366, 1372, 1381, 1386, 1394, 1409,
- 1414, 1422, 1428, 1437, 1441, 1447, 1448, 1452, 1453, 1454,
- 1455, 1456, 1457, 1458, 1462, 1468, 1477, 1478, 1482, 1488,
- 1497, 1507, 1519, 1525, 1534, 1543, 1548, 1556, 1560, 1574,
- 1578, 1579, 1583, 1590, 1597, 1607, 1608, 1612, 1614, 1620,
- 1625, 1634, 1640, 1646, 1652, 1658, 1667, 1668, 1669, 1673
+ 0, 218, 218, 217, 229, 231, 271, 272, 273, 274,
+ 275, 287, 289, 293, 294, 295, 299, 308, 316, 327,
+ 328, 332, 339, 346, 353, 360, 367, 374, 375, 381,
+ 385, 392, 398, 407, 411, 415, 416, 425, 426, 430,
+ 431, 435, 441, 453, 457, 463, 470, 480, 481, 485,
+ 486, 490, 496, 508, 519, 520, 526, 532, 542, 543,
+ 544, 545, 549, 550, 556, 562, 571, 572, 578, 587,
+ 588, 594, 603, 604, 610, 616, 622, 631, 632, 638,
+ 647, 648, 657, 658, 667, 668, 677, 678, 687, 688,
+ 697, 698, 707, 708, 717, 718, 727, 728, 729, 730,
+ 731, 732, 733, 734, 735, 736, 737, 741, 745, 761,
+ 765, 770, 774, 783, 787, 788, 792, 797, 805, 819,
+ 829, 844, 851, 856, 867, 880, 883, 888, 893, 902,
+ 906, 907, 917, 927, 937, 947, 957, 971, 982, 991,
+ 1000, 1009, 1018, 1027, 1036, 1050, 1057, 1068, 1075, 1076,
+ 1095, 1147, 1188, 1193, 1198, 1206, 1214, 1215, 1216, 1221,
+ 1222, 1227, 1232, 1238, 1246, 1251, 1256, 1261, 1267, 1272,
+ 1277, 1282, 1287, 1295, 1299, 1307, 1308, 1314, 1323, 1329,
+ 1335, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352,
+ 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362,
+ 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372,
+ 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382,
+ 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392,
+ 1393, 1394, 1398, 1408, 1418, 1431, 1438, 1447, 1452, 1460,
+ 1475, 1480, 1488, 1495, 1504, 1508, 1514, 1515, 1519, 1520,
+ 1521, 1522, 1523, 1524, 1525, 1529, 1536, 1535, 1549, 1550,
+ 1554, 1560, 1569, 1579, 1591, 1597, 1606, 1615, 1620, 1628,
+ 1632, 1646, 1650, 1651, 1655, 1662, 1669, 1679, 1680, 1684,
+ 1686, 1692, 1697, 1706, 1712, 1718, 1724, 1730, 1739, 1740,
+ 1741, 1745
};
#endif
@@ -857,38 +867,41 @@ static const char *const yytname[] =
"ISAMPLERCUBE", "ISAMPLER1DARRAY", "ISAMPLER2DARRAY", "USAMPLER1D",
"USAMPLER2D", "USAMPLER3D", "USAMPLERCUBE", "USAMPLER1DARRAY",
"USAMPLER2DARRAY", "STRUCT", "VOID_TOK", "WHILE", "IDENTIFIER",
- "FLOATCONSTANT", "INTCONSTANT", "UINTCONSTANT", "BOOLCONSTANT",
- "FIELD_SELECTION", "LEFT_OP", "RIGHT_OP", "INC_OP", "DEC_OP", "LE_OP",
- "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP", "XOR_OP", "MUL_ASSIGN",
- "DIV_ASSIGN", "ADD_ASSIGN", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN",
- "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", "SUB_ASSIGN", "INVARIANT",
- "LOWP", "MEDIUMP", "HIGHP", "SUPERP", "PRECISION", "VERSION",
- "EXTENSION", "LINE", "COLON", "EOL", "INTERFACE", "OUTPUT",
- "PRAGMA_DEBUG_ON", "PRAGMA_DEBUG_OFF", "PRAGMA_OPTIMIZE_ON",
- "PRAGMA_OPTIMIZE_OFF", "PRAGMA_INVARIANT_ALL", "LAYOUT_TOK", "ASM",
- "CLASS", "UNION", "ENUM", "TYPEDEF", "TEMPLATE", "THIS", "PACKED_TOK",
- "GOTO", "INLINE_TOK", "NOINLINE", "VOLATILE", "PUBLIC_TOK", "STATIC",
- "EXTERN", "EXTERNAL", "LONG_TOK", "SHORT_TOK", "DOUBLE_TOK", "HALF",
- "FIXED_TOK", "UNSIGNED", "INPUT_TOK", "OUPTUT", "HVEC2", "HVEC3",
- "HVEC4", "DVEC2", "DVEC3", "DVEC4", "FVEC2", "FVEC3", "FVEC4",
- "SAMPLER2DRECT", "SAMPLER3DRECT", "SAMPLER2DRECTSHADOW", "SIZEOF",
- "CAST", "NAMESPACE", "USING", "ERROR_TOK", "COMMON", "PARTITION",
- "ACTIVE", "SAMPLERBUFFER", "FILTER", "IMAGE1D", "IMAGE2D", "IMAGE3D",
- "IMAGECUBE", "IMAGE1DARRAY", "IMAGE2DARRAY", "IIMAGE1D", "IIMAGE2D",
- "IIMAGE3D", "IIMAGECUBE", "IIMAGE1DARRAY", "IIMAGE2DARRAY", "UIMAGE1D",
- "UIMAGE2D", "UIMAGE3D", "UIMAGECUBE", "UIMAGE1DARRAY", "UIMAGE2DARRAY",
- "IMAGE1DSHADOW", "IMAGE2DSHADOW", "IMAGEBUFFER", "IIMAGEBUFFER",
- "UIMAGEBUFFER", "IMAGE1DARRAYSHADOW", "IMAGE2DARRAYSHADOW", "ROW_MAJOR",
- "'('", "')'", "'['", "']'", "'.'", "','", "'+'", "'-'", "'!'", "'~'",
- "'*'", "'/'", "'%'", "'<'", "'>'", "'&'", "'^'", "'|'", "'?'", "':'",
- "'='", "';'", "'{'", "'}'", "$accept", "translation_unit", "$@1",
- "version_statement", "pragma_statement", "extension_statement_list",
- "extension_statement", "external_declaration_list",
- "variable_identifier", "primary_expression", "postfix_expression",
- "integer_expression", "function_call", "function_call_or_method",
- "function_call_generic", "function_call_header_no_parameters",
+ "TYPE_IDENTIFIER", "NEW_IDENTIFIER", "FLOATCONSTANT", "INTCONSTANT",
+ "UINTCONSTANT", "BOOLCONSTANT", "FIELD_SELECTION", "LEFT_OP", "RIGHT_OP",
+ "INC_OP", "DEC_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP",
+ "OR_OP", "XOR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "ADD_ASSIGN",
+ "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN",
+ "OR_ASSIGN", "SUB_ASSIGN", "INVARIANT", "LOWP", "MEDIUMP", "HIGHP",
+ "SUPERP", "PRECISION", "VERSION", "EXTENSION", "LINE", "COLON", "EOL",
+ "INTERFACE", "OUTPUT", "PRAGMA_DEBUG_ON", "PRAGMA_DEBUG_OFF",
+ "PRAGMA_OPTIMIZE_ON", "PRAGMA_OPTIMIZE_OFF", "PRAGMA_INVARIANT_ALL",
+ "LAYOUT_TOK", "ASM", "CLASS", "UNION", "ENUM", "TYPEDEF", "TEMPLATE",
+ "THIS", "PACKED_TOK", "GOTO", "INLINE_TOK", "NOINLINE", "VOLATILE",
+ "PUBLIC_TOK", "STATIC", "EXTERN", "EXTERNAL", "LONG_TOK", "SHORT_TOK",
+ "DOUBLE_TOK", "HALF", "FIXED_TOK", "UNSIGNED", "INPUT_TOK", "OUPTUT",
+ "HVEC2", "HVEC3", "HVEC4", "DVEC2", "DVEC3", "DVEC4", "FVEC2", "FVEC3",
+ "FVEC4", "SAMPLER2DRECT", "SAMPLER3DRECT", "SAMPLER2DRECTSHADOW",
+ "SIZEOF", "CAST", "NAMESPACE", "USING", "ERROR_TOK", "COMMON",
+ "PARTITION", "ACTIVE", "SAMPLERBUFFER", "FILTER", "IMAGE1D", "IMAGE2D",
+ "IMAGE3D", "IMAGECUBE", "IMAGE1DARRAY", "IMAGE2DARRAY", "IIMAGE1D",
+ "IIMAGE2D", "IIMAGE3D", "IIMAGECUBE", "IIMAGE1DARRAY", "IIMAGE2DARRAY",
+ "UIMAGE1D", "UIMAGE2D", "UIMAGE3D", "UIMAGECUBE", "UIMAGE1DARRAY",
+ "UIMAGE2DARRAY", "IMAGE1DSHADOW", "IMAGE2DSHADOW", "IMAGEBUFFER",
+ "IIMAGEBUFFER", "UIMAGEBUFFER", "IMAGE1DARRAYSHADOW",
+ "IMAGE2DARRAYSHADOW", "ROW_MAJOR", "'('", "')'", "'['", "']'", "'.'",
+ "','", "'+'", "'-'", "'!'", "'~'", "'*'", "'/'", "'%'", "'<'", "'>'",
+ "'&'", "'^'", "'|'", "'?'", "':'", "'='", "';'", "'{'", "'}'", "$accept",
+ "translation_unit", "$@1", "version_statement", "pragma_statement",
+ "extension_statement_list", "any_identifier", "extension_statement",
+ "external_declaration_list", "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",
+ "function_identifier", "method_call_generic",
+ "method_call_header_no_parameters", "method_call_header_with_parameters",
+ "method_call_header", "unary_expression", "unary_operator",
"multiplicative_expression", "additive_expression", "shift_expression",
"relational_expression", "equality_expression", "and_expression",
"exclusive_or_expression", "inclusive_or_expression",
@@ -907,7 +920,7 @@ static const char *const yytname[] =
"precision_qualifier", "struct_specifier", "struct_declaration_list",
"struct_declaration", "struct_declarator_list", "struct_declarator",
"initializer", "declaration_statement", "statement", "simple_statement",
- "compound_statement", "statement_no_new_scope",
+ "compound_statement", "$@2", "statement_no_new_scope",
"compound_statement_no_new_scope", "statement_list",
"expression_statement", "selection_statement",
"selection_rest_statement", "condition", "switch_statement",
@@ -941,76 +954,80 @@ static const yytype_uint16 yytoknum[] =
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 40, 41, 91, 93, 46, 44,
- 43, 45, 33, 126, 42, 47, 37, 60, 62, 38,
- 94, 124, 63, 58, 61, 59, 123, 125
+ 445, 446, 447, 448, 449, 450, 40, 41, 91, 93,
+ 46, 44, 43, 45, 33, 126, 42, 47, 37, 60,
+ 62, 38, 94, 124, 63, 58, 61, 59, 123, 125
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint16 yyr1[] =
{
- 0, 218, 220, 219, 221, 221, 222, 222, 222, 222,
- 222, 223, 223, 224, 225, 225, 226, 227, 227, 227,
- 227, 227, 227, 228, 228, 228, 228, 228, 228, 229,
- 230, 231, 231, 232, 232, 233, 233, 234, 234, 235,
- 236, 236, 236, 237, 237, 237, 237, 238, 238, 238,
- 238, 239, 239, 239, 239, 240, 240, 240, 241, 241,
- 241, 242, 242, 242, 242, 242, 243, 243, 243, 244,
- 244, 245, 245, 246, 246, 247, 247, 248, 248, 249,
- 249, 250, 250, 251, 251, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 253, 253, 254, 255,
- 255, 255, 256, 257, 257, 258, 258, 259, 260, 260,
- 261, 261, 261, 261, 262, 262, 262, 262, 263, 264,
- 264, 264, 264, 264, 264, 264, 265, 265, 265, 265,
- 265, 265, 265, 265, 266, 266, 267, 268, 268, 269,
- 269, 270, 270, 270, 271, 272, 272, 272, 272, 272,
- 272, 272, 272, 273, 273, 273, 273, 273, 273, 273,
- 273, 273, 274, 274, 275, 275, 275, 276, 276, 276,
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 278, 278, 278, 279, 279, 280, 280, 281, 282,
- 282, 283, 283, 284, 285, 286, 286, 287, 287, 287,
- 287, 287, 287, 287, 288, 288, 289, 289, 290, 290,
- 291, 291, 292, 292, 293, 294, 294, 295, 295, 296,
- 297, 297, 298, 298, 298, 299, 299, 300, 300, 301,
- 301, 302, 302, 302, 302, 302, 303, 303, 303, 304
+ 0, 220, 222, 221, 223, 223, 224, 224, 224, 224,
+ 224, 225, 225, 226, 226, 226, 227, 228, 228, 229,
+ 229, 230, 230, 230, 230, 230, 230, 231, 231, 231,
+ 231, 231, 231, 232, 233, 234, 234, 235, 235, 236,
+ 236, 237, 237, 238, 239, 239, 239, 240, 240, 241,
+ 241, 242, 242, 243, 244, 244, 244, 244, 245, 245,
+ 245, 245, 246, 246, 246, 246, 247, 247, 247, 248,
+ 248, 248, 249, 249, 249, 249, 249, 250, 250, 250,
+ 251, 251, 252, 252, 253, 253, 254, 254, 255, 255,
+ 256, 256, 257, 257, 258, 258, 259, 259, 259, 259,
+ 259, 259, 259, 259, 259, 259, 259, 260, 260, 261,
+ 262, 262, 262, 263, 264, 264, 265, 265, 266, 267,
+ 267, 268, 268, 268, 268, 269, 269, 269, 269, 270,
+ 271, 271, 271, 271, 271, 271, 271, 272, 272, 272,
+ 272, 272, 272, 272, 272, 273, 273, 274, 275, 275,
+ 276, 276, 277, 277, 277, 278, 279, 279, 279, 279,
+ 279, 279, 279, 279, 280, 280, 280, 280, 280, 280,
+ 280, 280, 280, 281, 281, 282, 282, 282, 283, 283,
+ 283, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 285, 285, 285, 286, 286, 287, 287, 288,
+ 289, 289, 290, 290, 291, 292, 293, 293, 294, 294,
+ 294, 294, 294, 294, 294, 295, 296, 295, 297, 297,
+ 298, 298, 299, 299, 300, 300, 301, 302, 302, 303,
+ 303, 304, 305, 305, 306, 306, 306, 307, 307, 308,
+ 308, 309, 309, 310, 310, 310, 310, 310, 311, 311,
+ 311, 312
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
static const yytype_uint8 yyr2[] =
{
0, 2, 0, 4, 0, 3, 2, 2, 2, 2,
- 2, 0, 2, 5, 1, 2, 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, 1, 3, 3, 3, 1, 3, 3, 1, 3,
- 3, 1, 3, 3, 3, 3, 1, 3, 3, 1,
- 3, 1, 3, 1, 3, 1, 3, 1, 3, 1,
- 3, 1, 5, 1, 3, 1, 1, 1, 1, 1,
- 1, 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, 7, 8, 5, 1, 2, 4, 5,
- 6, 7, 4, 2, 1, 2, 4, 1, 3, 1,
- 3, 1, 1, 1, 1, 1, 1, 2, 1, 2,
- 2, 3, 1, 1, 1, 1, 2, 1, 1, 2,
- 2, 1, 1, 2, 1, 3, 4, 1, 1, 1,
+ 2, 0, 2, 1, 1, 1, 5, 1, 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, 2, 2, 2,
+ 1, 2, 3, 2, 1, 2, 2, 2, 1, 1,
+ 1, 1, 1, 3, 3, 3, 1, 3, 3, 1,
+ 3, 3, 1, 3, 3, 3, 3, 1, 3, 3,
+ 1, 3, 1, 3, 1, 3, 1, 3, 1, 3,
+ 1, 3, 1, 5, 1, 3, 1, 1, 1, 1,
+ 1, 1, 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, 7, 8, 5, 1, 2, 4,
+ 5, 6, 7, 4, 2, 1, 2, 4, 1, 3,
+ 1, 3, 1, 1, 1, 1, 1, 1, 2, 1,
+ 2, 2, 3, 1, 1, 1, 1, 2, 1, 1,
+ 2, 2, 1, 1, 2, 1, 3, 4, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 5, 4, 1, 2, 3, 1,
- 3, 1, 4, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 2, 3, 1, 1, 2, 3,
- 1, 2, 1, 2, 5, 3, 1, 1, 4, 5,
- 3, 2, 5, 7, 6, 1, 1, 1, 0, 2,
- 3, 2, 2, 2, 3, 2, 1, 1, 1, 2
+ 1, 1, 1, 1, 1, 5, 4, 1, 2, 3,
+ 1, 3, 1, 4, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 2, 0, 4, 1, 1,
+ 2, 3, 1, 2, 1, 2, 5, 3, 1, 1,
+ 4, 5, 3, 2, 5, 7, 6, 1, 1, 1,
+ 0, 2, 3, 2, 2, 2, 3, 2, 1, 1,
+ 1, 2
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -1019,637 +1036,620 @@ static const yytype_uint8 yyr2[] =
static const yytype_uint16 yydefact[] =
{
4, 0, 0, 11, 0, 1, 2, 5, 0, 0,
- 12, 0, 154, 153, 174, 171, 172, 173, 178, 179,
- 180, 181, 182, 183, 184, 185, 186, 175, 176, 177,
- 0, 157, 158, 161, 155, 143, 142, 141, 187, 188,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 199,
- 200, 201, 202, 204, 205, 206, 207, 208, 209, 210,
- 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 0, 170, 169, 152, 223, 222, 221, 0, 0, 0,
- 0, 0, 0, 0, 198, 203, 278, 3, 277, 0,
- 0, 104, 114, 0, 119, 126, 146, 148, 0, 145,
- 134, 162, 164, 167, 0, 168, 14, 276, 0, 159,
- 160, 156, 0, 0, 133, 0, 150, 0, 6, 7,
- 8, 9, 10, 0, 15, 99, 0, 279, 102, 114,
- 144, 115, 116, 117, 105, 0, 114, 0, 100, 127,
- 147, 149, 135, 0, 163, 0, 0, 0, 0, 226,
- 151, 0, 139, 0, 137, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 20, 18, 19,
- 21, 42, 0, 0, 0, 47, 48, 49, 50, 252,
- 0, 248, 17, 23, 43, 25, 30, 31, 0, 0,
- 36, 0, 51, 0, 55, 58, 61, 66, 69, 71,
- 73, 75, 77, 79, 81, 83, 96, 0, 234, 0,
- 134, 237, 250, 236, 235, 0, 238, 239, 240, 241,
- 242, 243, 106, 111, 113, 118, 0, 120, 107, 0,
- 0, 165, 51, 98, 0, 40, 13, 0, 231, 0,
- 229, 225, 227, 101, 0, 136, 0, 272, 271, 0,
- 0, 0, 275, 273, 0, 0, 0, 261, 0, 44,
- 45, 0, 244, 0, 27, 28, 0, 0, 34, 33,
- 0, 170, 37, 39, 86, 87, 89, 88, 91, 92,
- 93, 94, 95, 90, 85, 0, 46, 0, 0, 0,
+ 12, 13, 14, 15, 0, 165, 164, 185, 182, 183,
+ 184, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 186, 187, 188, 0, 168, 169, 172, 166, 154, 153,
+ 152, 198, 199, 200, 201, 202, 203, 204, 205, 206,
+ 207, 208, 210, 211, 212, 213, 215, 216, 217, 218,
+ 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, 231, 0, 181, 180, 163, 234, 233, 232,
+ 0, 0, 0, 0, 0, 0, 0, 209, 214, 290,
+ 3, 289, 0, 0, 115, 125, 0, 130, 137, 157,
+ 159, 0, 156, 145, 173, 175, 178, 0, 179, 17,
+ 288, 0, 170, 171, 167, 0, 0, 19, 20, 144,
+ 0, 161, 0, 6, 7, 8, 9, 10, 0, 18,
+ 110, 0, 291, 113, 125, 155, 126, 127, 128, 116,
+ 0, 125, 0, 111, 13, 15, 138, 0, 158, 160,
+ 146, 0, 174, 0, 0, 0, 237, 0, 162, 0,
+ 150, 0, 148, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 24, 22, 23, 25, 46, 0,
+ 0, 0, 58, 59, 60, 61, 264, 256, 260, 21,
+ 27, 54, 29, 34, 35, 0, 0, 40, 0, 62,
+ 0, 66, 69, 72, 77, 80, 82, 84, 86, 88,
+ 90, 92, 94, 107, 0, 245, 0, 145, 248, 262,
+ 247, 246, 0, 249, 250, 251, 252, 253, 254, 117,
+ 122, 124, 129, 0, 131, 0, 0, 118, 176, 62,
+ 109, 0, 44, 16, 242, 0, 240, 236, 238, 0,
+ 112, 0, 147, 0, 284, 283, 0, 0, 0, 287,
+ 285, 0, 0, 0, 273, 0, 55, 56, 0, 255,
+ 0, 31, 32, 0, 0, 38, 37, 0, 181, 41,
+ 43, 97, 98, 100, 99, 102, 103, 104, 105, 106,
+ 101, 96, 0, 57, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 253, 249,
- 251, 108, 110, 112, 0, 0, 128, 0, 233, 132,
- 166, 224, 0, 0, 228, 140, 138, 0, 266, 265,
- 268, 0, 274, 0, 260, 152, 257, 0, 0, 22,
- 245, 0, 29, 26, 32, 38, 84, 52, 53, 54,
- 56, 57, 59, 60, 64, 65, 62, 63, 67, 68,
- 70, 72, 74, 76, 78, 80, 0, 97, 0, 121,
- 0, 125, 0, 129, 0, 230, 0, 267, 0, 0,
- 0, 0, 0, 0, 24, 0, 0, 0, 122, 130,
- 0, 232, 0, 269, 0, 256, 254, 259, 0, 247,
- 262, 246, 82, 109, 123, 0, 131, 0, 270, 264,
- 0, 258, 124, 263, 255
+ 0, 0, 0, 0, 0, 265, 261, 263, 119, 121,
+ 123, 0, 0, 139, 0, 244, 143, 177, 0, 0,
+ 239, 235, 151, 149, 0, 278, 277, 280, 0, 286,
+ 0, 272, 163, 269, 0, 0, 26, 0, 0, 33,
+ 30, 0, 36, 0, 0, 50, 42, 95, 63, 64,
+ 65, 67, 68, 70, 71, 75, 76, 73, 74, 78,
+ 79, 81, 83, 85, 87, 89, 91, 0, 108, 0,
+ 132, 0, 136, 0, 140, 0, 241, 0, 279, 0,
+ 0, 0, 0, 0, 0, 257, 28, 53, 48, 47,
+ 0, 181, 51, 0, 0, 0, 133, 141, 0, 243,
+ 0, 281, 0, 268, 266, 271, 0, 259, 274, 258,
+ 52, 93, 120, 134, 0, 142, 0, 282, 276, 0,
+ 270, 135, 275, 267
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 2, 9, 3, 86, 6, 10, 87, 182, 183,
- 184, 341, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 285, 207, 234, 208, 209, 90,
- 91, 92, 223, 134, 135, 224, 93, 94, 95, 96,
- 153, 154, 97, 136, 98, 99, 235, 101, 102, 103,
- 104, 105, 148, 149, 239, 240, 319, 211, 212, 213,
- 214, 400, 401, 215, 216, 217, 396, 338, 218, 219,
- 220, 330, 378, 379, 221, 106, 107
+ -1, 2, 9, 3, 89, 6, 160, 10, 90, 189,
+ 190, 191, 348, 192, 193, 194, 195, 196, 197, 198,
+ 352, 353, 354, 355, 199, 200, 201, 202, 203, 204,
+ 205, 206, 207, 208, 209, 210, 211, 212, 213, 292,
+ 214, 241, 215, 216, 93, 94, 95, 230, 139, 140,
+ 231, 96, 97, 98, 99, 161, 162, 100, 141, 101,
+ 102, 242, 104, 105, 106, 107, 108, 155, 156, 245,
+ 246, 326, 218, 219, 220, 221, 270, 418, 419, 222,
+ 223, 224, 414, 345, 225, 226, 227, 337, 389, 390,
+ 228, 109, 110
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -321
+#define YYPACT_NINF -366
static const yytype_int16 yypact[] =
{
- -86, -57, 45, -321, -56, -321, -50, -321, -10, 3320,
- -321, -26, -321, -321, -321, -321, -321, -321, -321, -321,
- -321, -321, -321, -321, -321, -321, -321, -321, -321, -321,
- 79, -321, -321, -321, -321, -321, -321, -321, -321, -321,
- -321, -321, -321, -321, -321, -321, -321, -321, -321, -321,
- -321, -321, -321, -321, -321, -321, -321, -321, -321, -321,
- -321, -321, -321, -321, -321, -321, -321, -321, -321, -321,
- -70, -321, -321, 43, -321, -321, -321, 18, -22, -12,
- -5, 2, 25, -101, -321, -321, -321, 3320, -321, -43,
- -55, -54, 6, -148, -321, 52, 211, 211, 3509, -321,
- -321, -321, -47, -321, 3581, -321, -321, -321, 110, -321,
- -321, -321, -14, 3509, -321, 211, -321, 3581, -321, -321,
- -321, -321, -321, 131, -321, -321, 389, -321, -321, 15,
- -321, -321, -321, -321, -321, 3509, 109, 136, -321, -152,
- -321, -321, -321, 2400, -321, 105, 3509, 143, 1781, -321,
- -321, 7, 9, -107, -321, 10, 12, 1249, 27, 36,
- 17, 2015, 40, 2952, 22, 42, -65, -321, -321, -321,
- -321, -321, 2952, 2952, 2952, -321, -321, -321, -321, -321,
- 604, -321, -321, -321, -20, -321, -321, -321, 47, -92,
- 3136, 46, -67, 2952, -24, -16, 111, -73, 108, 37,
- 41, 39, 162, 161, -82, -321, -321, -147, -321, 44,
- 61, -321, -321, -321, -321, 819, -321, -321, -321, -321,
- -321, -321, -321, -321, -321, 181, 3509, -160, -321, 2584,
- 2952, -321, -321, -321, 63, -321, -321, 1898, 62, -146,
- -321, -321, -321, -321, 183, -321, 131, -321, -321, 187,
- 1664, 2952, -321, -321, -144, 2952, -140, -321, 2216, -321,
- -321, -81, -321, 1034, -321, -321, 2952, 3437, -321, -321,
- 2952, 70, -321, -321, -321, -321, -321, -321, -321, -321,
- -321, -321, -321, -321, -321, 2952, -321, 2952, 2952, 2952,
- 2952, 2952, 2952, 2952, 2952, 2952, 2952, 2952, 2952, 2952,
- 2952, 2952, 2952, 2952, 2952, 2952, 2952, 2952, -321, -321,
- -321, 74, -321, -321, 2768, 2952, 64, 69, -321, -321,
- -321, -321, 2952, 143, -321, -321, -321, 82, -321, -321,
- 2216, -74, -321, -68, -321, 235, 78, 203, 85, -321,
- -321, 84, 78, 88, -321, -321, -321, -321, -321, -321,
- -24, -24, -16, -16, 111, 111, 111, 111, -73, -73,
- 108, 37, 41, 39, 162, 161, -129, -321, 2952, 71,
- 86, -321, 2952, 72, 87, -321, 2952, -321, 73, 92,
- 1249, 75, 76, 1463, -321, 2952, 95, 2952, 80, -321,
- 2952, -321, -63, 2952, 1463, 277, -321, -321, 2952, -321,
- -321, -321, -321, -321, -321, 2952, -321, 81, 78, -321,
- 1249, -321, -321, -321, -321
+ -57, -43, 62, -366, -50, -366, -30, -366, 67, 3341,
+ -366, -366, -366, -366, -6, -366, -366, -366, -366, -366,
+ -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
+ -366, -366, -366, 8, -366, -366, -366, -366, -366, -366,
+ -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
+ -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
+ -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
+ -366, -366, -366, -65, -366, -366, 226, -366, -366, -366,
+ 51, -31, -28, 6, 13, 15, -44, -366, -366, -366,
+ 3341, -366, -183, -47, -29, 18, -169, -366, 140, 24,
+ 24, 3460, -366, -366, -366, -24, -366, 3533, -366, -366,
+ -366, 67, -366, -366, -366, 3460, -48, -366, -366, -366,
+ 24, -366, 3533, -366, -366, -366, -366, -366, 67, -366,
+ -366, 408, -366, -366, 55, -366, -366, -366, -366, -366,
+ 3460, 200, 67, -366, -20, -18, -178, 23, -366, -366,
+ -366, 2225, -366, 72, 67, 1598, -366, 3460, -366, 4,
+ 10, -84, -366, 11, 14, 1059, 40, 42, 29, 1836,
+ 43, 2783, 34, 54, -366, -366, -366, -366, -366, 2783,
+ 2783, 2783, -366, -366, -366, -366, -366, 32, -366, 56,
+ -366, -71, -366, -366, -366, 57, -81, 2969, 61, -27,
+ 2783, 35, -88, -41, -70, 33, 60, 41, 59, 181,
+ 180, -89, -366, -366, -168, -366, 58, 80, -366, -366,
+ -366, -366, 625, -366, -366, -366, -366, -366, -366, -366,
+ -366, -366, 67, 3460, -177, 2411, 2783, -366, -366, -366,
+ -366, 78, -366, -366, 81, -137, -366, -366, -366, 1717,
+ -366, 201, -366, 67, -366, -366, 205, 1478, 2783, -366,
+ -366, -134, 2783, -115, -366, 2039, -366, -366, -60, -366,
+ 1059, -366, -366, 2783, 140, -366, -366, 2783, 85, -366,
+ -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
+ -366, -366, 2783, -366, 2783, 2783, 2783, 2783, 2783, 2783,
+ 2783, 2783, 2783, 2783, 2783, 2783, 2783, 2783, 2783, 2783,
+ 2783, 2783, 2783, 2783, 2783, -366, -366, -366, 86, -366,
+ -366, 2597, 2783, 69, 87, -366, -366, -366, 2783, 67,
+ -366, -366, -366, -366, 91, -366, -366, 2039, -59, -366,
+ -46, -366, 129, 88, 67, 93, -366, 842, 89, 88,
+ -366, 95, -366, 96, -37, 3155, -366, -366, -366, -366,
+ -366, 35, 35, -88, -88, -41, -41, -41, -41, -70,
+ -70, 33, 60, 41, 59, 181, 180, -96, -366, 2783,
+ 76, 97, -366, 2783, 79, 98, -366, 2783, -366, 77,
+ 101, 1059, 83, 90, 1275, -366, -366, -366, -366, -366,
+ 2783, 102, -366, 2783, 108, 2783, 94, -366, 2783, -366,
+ -26, 2783, 1275, 297, -366, -366, 2783, -366, -366, -366,
+ -366, -366, -366, -366, 2783, -366, 100, 88, -366, 1059,
+ -366, -366, -366, -366
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -321, -321, -321, -321, -321, -321, -321, -321, -321, -321,
- -321, -321, -321, -321, 26, -321, -321, -321, -321, -135,
- -321, -91, -88, -106, -90, -3, -6, -4, -2, -1,
- 0, -321, -139, -174, -321, -156, -217, 11, 13, -321,
- -321, -321, 83, 170, 164, 89, -321, -321, -243, -321,
- -321, 56, -71, -321, -321, -72, -9, -32, -321, -321,
- 227, -321, 160, -131, -321, -15, -195, 57, -154, -320,
- -69, -84, 222, 133, 66, -321, -321, -13, -321, -321,
- -321, -321, -321, -321, -321, 231, -321
+ -366, -366, -366, -366, -366, -366, -7, -366, -366, -62,
+ -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
+ -366, -366, -366, -366, -101, -366, -113, -109, -121, -61,
+ 5, 3, 9, 16, 2, 7, -366, -142, -100, -366,
+ -164, -225, 21, 22, -366, -366, -366, 82, 186, 173,
+ 92, -366, -366, -242, -366, -366, 68, -73, -366, -366,
+ -74, -9, -67, -366, -366, 243, -366, 170, -147, -366,
+ 0, -298, 73, -159, -365, -58, -366, -80, 239, 63,
+ 84, -366, -366, -2, -366, -366, -366, -366, -366, -366,
+ -366, 246, -366
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -170
+#define YYTABLE_NINF -115
static const yytype_int16 yytable[] =
{
- 100, 116, 115, 249, 233, 254, 112, 256, 232, 305,
- 130, -169, 317, 294, 295, 337, 272, 242, 261, 130,
- 88, 4, 89, 1, 140, 141, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 314, 259, 260, 131,
- 132, 133, 228, 150, 229, 5, 12, 13, 131, 132,
- 133, 137, 307, 323, 315, 307, 318, 7, 286, 307,
- 8, 310, 230, 399, 264, 265, 11, 138, 308, 324,
- 307, 332, 144, 334, 399, 30, 31, 32, 100, 33,
- 34, 35, 36, 37, 385, 151, 108, 337, 245, 142,
- 233, 118, 246, 123, 232, 331, 345, 370, 88, 333,
- 89, 119, 336, 269, 147, 374, 242, 270, 120, 310,
- 342, 346, 109, 110, 339, 121, 111, 210, 307, 114,
- 371, 380, 74, 75, 76, 307, 225, 381, 139, -41,
- 306, 307, 407, 367, 296, 297, 307, 147, 122, 147,
- 128, 318, 131, 132, 133, 129, 113, 284, 210, 143,
- 366, 386, 347, 348, 349, 232, 232, 232, 232, 232,
- 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
- 232, 210, 125, 126, 336, 233, 266, 389, 267, 232,
- 287, 288, 289, 233, 290, 291, 145, 232, 354, 355,
- 356, 357, 404, 292, 293, 406, 298, 299, 318, 350,
- 351, -103, 146, 411, 352, 353, 210, 152, 358, 359,
- 412, 402, 227, 318, 12, 13, 318, 225, 236, 238,
- 392, 250, 243, 244, 318, 247, 395, 248, 147, 233,
- 251, 318, 252, 232, 255, 257, 258, 408, 12, 13,
- 273, 210, 268, 30, 31, 32, 300, 33, 34, 210,
- 302, 301, 303, 304, 210, -40, 414, 311, 322, 125,
- 320, 325, 327, 116, 115, -35, 373, 30, 31, 32,
- 368, 33, 34, 35, 36, 37, 376, 307, 372, 382,
- 383, 384, -41, 388, 391, 387, 390, 394, 393, 410,
- 398, 180, 403, 344, 405, 361, 413, 360, 362, 222,
- 226, 363, 326, 364, 117, 365, 237, 328, 375, 312,
- 409, 127, 397, 263, 0, 313, 329, 377, 124, 0,
- 0, 210, 0, 0, 0, 0, 0, 0, 0, 0,
+ 103, 14, 121, 120, 312, 261, 256, 263, 248, 240,
+ 324, 11, 12, 13, 119, 271, 272, 268, 301, 302,
+ 235, 321, 135, 344, 382, 148, 149, 15, 16, 417,
+ 91, 92, 142, 314, 130, 131, 147, 4, 236, 322,
+ 152, 112, 113, 299, 300, 114, 158, 417, 143, 315,
+ 239, 136, 137, 138, 1, 159, 33, 34, 35, 135,
+ 36, 37, 5, 317, 329, 7, 116, 314, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 266, 267,
+ 330, 103, 8, 339, 123, 407, 314, 124, 136, 137,
+ 138, 146, 150, 240, 338, 344, 381, 279, 340, 293,
+ 341, 343, 248, 385, 153, 314, 154, 423, 111, 349,
+ 425, 91, 92, 252, 297, 298, 276, 253, 430, 403,
+ 277, 125, 217, 305, 306, 313, 431, 273, 126, 274,
+ 127, 232, 15, 16, 239, 234, 325, 346, 391, 303,
+ 304, 314, 314, 11, 12, 13, 154, 244, 154, 377,
+ 133, 392, 128, 115, 404, 314, 217, 77, 78, 79,
+ 399, 33, 34, 35, 400, 36, 37, 38, 39, 40,
+ 157, 426, 134, 343, 151, 314, -19, 356, -20, 240,
+ 365, 366, 367, 368, 361, 362, 240, 243, 317, 291,
+ 363, 364, 357, 358, 359, 360, 239, 239, 239, 239,
+ 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 351, 217, 378, -114, 144, 12, 145, 237,
+ 239, 250, 325, 410, 232, 318, 251, 239, 254, 15,
+ 16, 255, 413, 136, 137, 138, 257, 240, 258, 262,
+ 154, 294, 295, 296, 369, 370, 259, 427, 217, 264,
+ 265, 269, -45, 308, 275, 402, 217, 280, 33, 34,
+ 35, 217, 36, 37, 38, 39, 40, 350, 121, 120,
+ 433, 307, 309, 310, 311, 130, -44, 327, 239, 328,
+ 334, 332, -39, 325, 379, 383, 384, 387, 396, 314,
+ 394, 397, 405, 398, 411, 408, 406, 409, 412, -49,
+ 420, 187, 117, 421, 118, 325, 416, 422, 325, 429,
+ 424, 372, 371, 375, 233, 319, 325, 432, 373, 376,
+ 229, 333, 244, 122, 325, 320, 374, 249, 217, 386,
+ 335, 132, 428, 347, 415, 388, 129, 393, 217, 0,
+ 0, 336, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 217, 0, 0, 217, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 210, 0, 0, 210, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 210, 0, 0, 0, 0,
- 0, 0, 12, 13, 14, 15, 16, 17, 155, 156,
- 157, 210, 158, 159, 160, 161, 162, 163, 164, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 0, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 165, 166, 167, 168, 169, 170,
- 171, 0, 0, 172, 173, 0, 0, 0, 0, 0,
+ 0, 0, 0, 217, 0, 0, 0, 0, 0, 0,
+ 0, 15, 16, 17, 18, 19, 20, 163, 164, 165,
+ 217, 166, 167, 168, 169, 170, 171, 172, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 0, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 173, 117, 75, 118, 174, 175, 176,
+ 177, 178, 0, 0, 179, 180, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 73, 74, 75, 76, 0, 77, 0, 0,
+ 0, 0, 0, 76, 77, 78, 79, 0, 80, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 83, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 86, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 84, 0, 85, 0, 0, 0,
+ 0, 0, 0, 0, 0, 87, 0, 88, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 174, 0, 0, 0, 0, 0, 175,
- 176, 177, 178, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 179, 180, 181, 12, 13, 14,
- 15, 16, 17, 155, 156, 157, 0, 158, 159, 160,
- 161, 162, 163, 164, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31, 32, 0,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 165,
- 166, 167, 168, 169, 170, 171, 0, 0, 172, 173,
+ 0, 0, 0, 0, 181, 0, 0, 0, 0, 0,
+ 182, 183, 184, 185, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 186, 187, 188, 15, 16,
+ 17, 18, 19, 20, 163, 164, 165, 0, 166, 167,
+ 168, 169, 170, 171, 172, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 0, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 173, 117, 75, 118, 174, 175, 176, 177, 178, 0,
+ 0, 179, 180, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 76, 77, 78, 79, 0, 80, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 86, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 73, 74, 75,
- 76, 0, 77, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 83, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 87, 0, 88, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,
- 0, 85, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 174, 0,
- 0, 0, 0, 0, 175, 176, 177, 178, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 179,
- 180, 262, 12, 13, 14, 15, 16, 17, 155, 156,
- 157, 0, 158, 159, 160, 161, 162, 163, 164, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 0, 33, 34, 35, 36, 37,
+ 0, 181, 0, 0, 0, 0, 0, 182, 183, 184,
+ 185, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 186, 187, 316, 15, 16, 17, 18, 19,
+ 20, 163, 164, 165, 0, 166, 167, 168, 169, 170,
+ 171, 172, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 0, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 165, 166, 167, 168, 169, 170,
- 171, 0, 0, 172, 173, 0, 0, 0, 0, 0,
+ 68, 69, 70, 71, 72, 73, 74, 173, 117, 75,
+ 118, 174, 175, 176, 177, 178, 0, 0, 179, 180,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 73, 74, 75, 76, 0, 77, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 76, 77, 78,
+ 79, 0, 80, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 86, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 83, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
+ 0, 88, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 84, 0, 85, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 181, 0,
+ 0, 0, 0, 0, 182, 183, 184, 185, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 186,
+ 187, 395, 15, 16, 17, 18, 19, 20, 163, 164,
+ 165, 0, 166, 167, 168, 169, 170, 171, 172, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 0, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, 173, 117, 75, 118, 174, 175,
+ 176, 177, 178, 0, 0, 179, 180, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 76, 77, 78, 79, 0, 80,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 174, 0, 0, 0, 0, 0, 175,
- 176, 177, 178, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 179, 180, 309, 12, 13, 14,
- 15, 16, 17, 155, 156, 157, 0, 158, 159, 160,
- 161, 162, 163, 164, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31, 32, 0,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 165,
- 166, 167, 168, 169, 170, 171, 0, 0, 172, 173,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 73, 74, 75,
- 76, 0, 77, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 83, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,
- 0, 85, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 87, 0, 88, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 174, 0,
- 0, 0, 0, 0, 175, 176, 177, 178, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 179,
- 180, 340, 12, 13, 14, 15, 16, 17, 155, 156,
- 157, 0, 158, 159, 160, 161, 162, 163, 164, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 0, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 165, 166, 167, 168, 169, 170,
- 171, 0, 0, 172, 173, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 73, 74, 75, 76, 0, 77, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 83, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 181, 0, 0, 0, 0,
+ 0, 182, 183, 184, 185, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 186, 187, 15, 16,
+ 17, 18, 19, 20, 163, 164, 165, 0, 166, 167,
+ 168, 169, 170, 171, 172, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 0, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 173, 117, 75, 118, 174, 175, 176, 177, 178, 0,
+ 0, 179, 180, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 76, 77, 78, 79, 0, 80, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 86, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 84, 0, 85, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 87, 0, 88, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 174, 0, 0, 0, 0, 0, 175,
- 176, 177, 178, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 179, 180, 12, 13, 14, 15,
- 16, 17, 155, 156, 157, 0, 158, 159, 160, 161,
- 162, 163, 164, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 0, 33,
- 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
- 64, 65, 66, 67, 68, 69, 70, 71, 165, 166,
- 167, 168, 169, 170, 171, 0, 0, 172, 173, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 73, 74, 75, 76,
- 0, 77, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 83, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 181, 0, 0, 0, 0, 0, 182, 183, 184,
+ 185, 15, 16, 17, 18, 19, 20, 0, 0, 0,
+ 0, 0, 186, 131, 0, 0, 0, 0, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 0, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 0, 117, 75, 118, 174, 175, 176,
+ 177, 178, 0, 0, 179, 180, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 0,
- 85, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 76, 77, 78, 79, 0, 80, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 86, 0, 17, 18, 19, 20, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 0, 0, 0, 0, 0, 87, 0, 88, 0, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 0, 181, 75, 0, 0, 0, 0,
+ 182, 183, 184, 185, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 186, 0, 0, 0, 0,
+ 0, 0, 0, 0, 77, 78, 79, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 174, 0, 0,
- 0, 0, 0, 175, 176, 177, 178, 12, 13, 14,
- 15, 16, 17, 0, 0, 0, 0, 0, 179, 126,
- 0, 0, 0, 0, 18, 19, 20, 21, 22, 23,
+ 0, 0, 17, 18, 19, 20, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 0,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
+ 0, 0, 0, 0, 0, 87, 0, 88, 41, 42,
43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 0,
- 166, 167, 168, 169, 170, 171, 0, 0, 172, 173,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 73, 74, 75,
- 76, 0, 77, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 83, 14, 15, 16, 17,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 0, 0, 0, 0, 0, 0, 84,
- 0, 85, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 0, 72, 174, 0,
- 0, 0, 0, 0, 175, 176, 177, 178, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 179,
- 0, 0, 0, 0, 0, 74, 75, 76, 0, 0,
+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
+ 73, 74, 0, 0, 75, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 14, 15, 16, 17, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
- 0, 0, 0, 0, 0, 0, 84, 0, 85, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 0, 72, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 247, 0, 0,
+ 0, 0, 0, 77, 78, 79, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 241, 0,
- 0, 0, 74, 75, 76, 0, 0, 0, 0, 0,
+ 0, 17, 18, 19, 20, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 0, 0,
+ 0, 0, 0, 0, 87, 0, 88, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 0, 117, 75, 118, 174, 175, 176, 177, 178,
+ 0, 0, 179, 180, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 331, 0, 0, 0,
+ 0, 0, 77, 78, 79, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 14, 15, 16, 17, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 0, 0, 0,
- 0, 0, 0, 84, 0, 85, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
- 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
- 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
- 0, 166, 167, 168, 169, 170, 171, 0, 0, 172,
- 173, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 321, 0, 0, 0, 74,
- 75, 76, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 87, 0, 88, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 84, 0, 85, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 174,
- 0, 0, 0, 0, 0, 175, 176, 177, 178, 12,
- 13, 14, 15, 16, 17, 0, 0, 0, 0, 0,
- 253, 0, 0, 0, 0, 0, 18, 19, 20, 21,
+ 0, 0, 181, 0, 0, 0, 0, 0, 182, 183,
+ 184, 185, 15, 16, 17, 18, 19, 20, 0, 0,
+ 0, 0, 0, 260, 0, 0, 0, 0, 0, 21,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 0, 33, 34, 35, 36, 37, 38, 39, 40,
+ 32, 33, 34, 35, 0, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 0, 166, 167, 168, 169, 170, 171, 0, 0,
- 172, 173, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 335,
- 74, 75, 76, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 83, 0, 0,
+ 71, 72, 73, 74, 0, 117, 75, 118, 174, 175,
+ 176, 177, 178, 0, 0, 179, 180, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 342, 77, 78, 79, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 86, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 84, 0, 85, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 87, 0, 88, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 14, 15, 16, 17, 0,
- 174, 0, 0, 0, 0, 0, 175, 176, 177, 178,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
- 28, 29, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 0, 166, 167, 168, 169,
- 170, 171, 0, 0, 172, 173, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 74, 75, 76, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 17, 18, 19, 20, 0, 181, 0, 0, 0, 0,
+ 0, 182, 183, 184, 185, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 0, 117, 75, 118, 174, 175, 176, 177, 178, 0,
+ 0, 179, 180, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 77, 78, 79, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 84, 0, 85, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 14,
- 15, 16, 17, 0, 174, 0, 0, 231, 0, 0,
- 175, 176, 177, 178, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 0,
- 166, 167, 168, 169, 170, 171, 0, 0, 172, 173,
+ 0, 0, 87, 0, 88, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 74, 75,
- 76, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 17, 18, 19, 20,
+ 0, 181, 0, 0, 238, 0, 0, 182, 183, 184,
+ 185, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 0, 117, 75, 118,
+ 174, 175, 176, 177, 178, 0, 0, 179, 180, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 77, 78, 79,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,
- 0, 85, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 14, 15, 16, 17, 0, 174, 0,
- 0, 316, 0, 0, 175, 176, 177, 178, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 0, 166, 167, 168, 169, 170, 171,
- 0, 0, 172, 173, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 74, 75, 76, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 87, 0,
+ 88, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 17, 18, 19, 20, 0, 181, 0, 0,
+ 323, 0, 0, 182, 183, 184, 185, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 41, 42,
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
+ 73, 74, 0, 117, 75, 118, 174, 175, 176, 177,
+ 178, 0, 0, 179, 180, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 77, 78, 79, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 84, 0, 85, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 14, 15, 16,
- 17, 0, 174, 0, 0, 369, 0, 0, 175, 176,
- 177, 178, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 27, 28, 29, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 0, 166, 167,
- 168, 169, 170, 171, 0, 0, 172, 173, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 74, 75, 76, 0,
+ 0, 0, 0, 0, 87, 0, 88, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 17, 18,
+ 19, 20, 0, 181, 0, 0, 380, 0, 0, 182,
+ 183, 184, 185, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 0, 117,
+ 75, 118, 174, 175, 176, 177, 178, 0, 0, 179,
+ 180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,
+ 78, 79, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 84, 0, 85,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 87, 0, 88, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 14, 15, 16, 17, 0, 174, 0, 0, 0,
- 0, 0, 175, 176, 177, 178, 18, 19, 20, 21,
- 22, 23, 24, 25, 26, 27, 28, 29, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 38, 39, 40,
+ 0, 0, 0, 0, 17, 18, 19, 20, 0, 181,
+ 0, 0, 0, 0, 0, 182, 183, 184, 185, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 0, 0, 0, 0, 0, 0, 0, 0, 0,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 271, 0, 166, 167, 168, 169, 170, 171, 0, 0,
- 172, 173, 0, 0, 0, 0, 0, 0, 0, 0,
+ 71, 72, 73, 278, 0, 117, 75, 118, 174, 175,
+ 176, 177, 178, 0, 0, 179, 180, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 74, 75, 76, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 77, 78, 79, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 84, 0, 85, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 87, 0, 88, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 12, 13, 14, 15, 16, 17, 0,
- 174, 0, 0, 0, 0, 0, 175, 176, 177, 178,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
- 28, 29, 30, 31, 32, 0, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 0, 72, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 17, 18, 19, 20, 0, 181, 0, 0, 0, 0,
+ 0, 182, 183, 184, 185, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 401,
+ 0, 117, 75, 118, 174, 175, 176, 177, 178, 0,
+ 0, 179, 180, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 73, 74, 75, 76, 0, 77, 0,
- 0, 0, 0, 0, 0, 0, 78, 79, 80, 81,
- 82, 83, 14, 15, 16, 17, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 0,
- 0, 0, 0, 0, 0, 84, 0, 85, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 0, 77, 78, 79, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 87, 0, 88, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 15, 16, 17, 18, 19, 20,
+ 0, 181, 0, 0, 0, 0, 0, 182, 183, 184,
+ 185, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 0, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 0, 0, 75, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 76, 77, 78, 79,
+ 0, 80, 0, 0, 0, 0, 0, 0, 0, 81,
+ 82, 83, 84, 85, 86, 17, 18, 19, 20, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 0, 0, 0, 0, 0, 0, 87, 0,
+ 88, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
- 70, 71, 0, 343, 14, 15, 16, 17, 171, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 74, 75, 76, 0, 0, 0, 0, 0, 0,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 0, 72, 14, 15, 16, 17,
- 0, 0, 84, 0, 85, 0, 0, 0, 0, 0,
- 0, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 74, 75, 76, 0, 0, 0, 0,
- 0, 0, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 0, 72, 0, 0,
- 0, 0, 0, 0, 84, 0, 85, 0, 0, 0,
+ 70, 71, 72, 73, 74, 0, 0, 75, 17, 18,
+ 19, 20, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 0, 77, 78, 79, 0,
+ 0, 0, 0, 0, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 0, 0,
+ 75, 0, 0, 0, 0, 0, 0, 87, 0, 88,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 84, 0, 85
+ 87, 0, 88
};
static const yytype_int16 yycheck[] =
{
- 9, 73, 73, 157, 143, 161, 76, 163, 143, 91,
- 4, 76, 229, 86, 87, 258, 190, 148, 174, 4,
- 9, 78, 9, 109, 96, 97, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 196, 172, 173, 33,
- 34, 35, 194, 115, 196, 0, 3, 4, 33, 34,
- 35, 199, 199, 199, 214, 199, 230, 113, 193, 199,
- 110, 215, 214, 383, 84, 85, 76, 215, 215, 215,
- 199, 215, 104, 213, 394, 32, 33, 34, 87, 36,
- 37, 38, 39, 40, 213, 117, 112, 330, 195, 98,
- 229, 113, 199, 194, 229, 251, 270, 314, 87, 255,
- 87, 113, 258, 195, 113, 322, 237, 199, 113, 263,
- 266, 285, 33, 34, 195, 113, 37, 126, 199, 76,
- 315, 195, 104, 105, 106, 199, 135, 195, 76, 194,
- 212, 199, 195, 307, 207, 208, 199, 146, 113, 148,
- 195, 315, 33, 34, 35, 199, 216, 214, 157, 196,
- 306, 368, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 180, 215, 216, 330, 314, 196, 372, 198, 314,
- 204, 205, 206, 322, 200, 201, 76, 322, 294, 295,
- 296, 297, 387, 82, 83, 390, 88, 89, 372, 290,
- 291, 195, 216, 398, 292, 293, 215, 76, 298, 299,
- 405, 385, 76, 387, 3, 4, 390, 226, 113, 76,
- 376, 194, 215, 214, 398, 215, 380, 215, 237, 368,
- 194, 405, 215, 368, 194, 213, 194, 393, 3, 4,
- 194, 250, 195, 32, 33, 34, 209, 36, 37, 258,
- 211, 210, 90, 92, 263, 194, 410, 76, 196, 215,
- 197, 78, 75, 335, 335, 195, 197, 32, 33, 34,
- 196, 36, 37, 38, 39, 40, 194, 199, 214, 76,
- 195, 197, 194, 197, 197, 214, 214, 195, 215, 12,
- 214, 216, 197, 267, 214, 301, 215, 300, 302, 129,
- 136, 303, 246, 304, 77, 305, 146, 250, 323, 226,
- 394, 89, 381, 180, -1, 226, 250, 330, 87, -1,
- -1, 330, -1, -1, -1, -1, -1, -1, -1, -1,
+ 9, 8, 76, 76, 93, 169, 165, 171, 155, 151,
+ 235, 76, 77, 78, 76, 86, 87, 181, 88, 89,
+ 198, 198, 4, 265, 322, 99, 100, 3, 4, 394,
+ 9, 9, 201, 201, 217, 218, 98, 80, 216, 216,
+ 107, 33, 34, 84, 85, 37, 120, 412, 217, 217,
+ 151, 33, 34, 35, 111, 122, 32, 33, 34, 4,
+ 36, 37, 0, 222, 201, 115, 73, 201, 95, 96,
+ 97, 98, 99, 100, 101, 102, 103, 104, 179, 180,
+ 217, 90, 112, 217, 115, 383, 201, 115, 33, 34,
+ 35, 98, 101, 235, 258, 337, 321, 197, 262, 200,
+ 215, 265, 249, 328, 111, 201, 115, 405, 114, 273,
+ 408, 90, 90, 197, 202, 203, 197, 201, 416, 215,
+ 201, 115, 131, 90, 91, 214, 424, 198, 115, 200,
+ 115, 140, 3, 4, 235, 142, 236, 197, 197, 209,
+ 210, 201, 201, 76, 77, 78, 155, 154, 157, 313,
+ 197, 197, 196, 218, 379, 201, 165, 106, 107, 108,
+ 197, 32, 33, 34, 201, 36, 37, 38, 39, 40,
+ 218, 197, 201, 337, 198, 201, 196, 277, 196, 321,
+ 301, 302, 303, 304, 297, 298, 328, 115, 347, 216,
+ 299, 300, 292, 294, 295, 296, 297, 298, 299, 300,
+ 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 274, 222, 314, 197, 76, 77, 78, 196,
+ 321, 217, 322, 387, 233, 232, 216, 328, 217, 3,
+ 4, 217, 391, 33, 34, 35, 196, 379, 196, 196,
+ 249, 206, 207, 208, 305, 306, 217, 411, 257, 215,
+ 196, 219, 196, 212, 197, 355, 265, 196, 32, 33,
+ 34, 270, 36, 37, 38, 39, 40, 274, 342, 342,
+ 429, 211, 213, 92, 94, 217, 196, 199, 379, 198,
+ 75, 80, 197, 383, 198, 216, 199, 196, 199, 201,
+ 197, 196, 216, 197, 217, 216, 199, 199, 197, 197,
+ 400, 218, 76, 403, 78, 405, 216, 199, 408, 12,
+ 216, 308, 307, 311, 141, 233, 416, 217, 309, 312,
+ 134, 253, 329, 80, 424, 233, 310, 157, 337, 329,
+ 257, 92, 412, 270, 392, 337, 90, 344, 347, -1,
+ -1, 257, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 391, -1, -1, 394, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 380, -1, -1, 383, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 394, -1, -1, -1, -1,
- -1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 410, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, -1, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, -1, -1, 84, 85, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 103, 104, 105, 106, -1, 108, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 121, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 155, -1, 157, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 412, -1, -1, -1, -1, -1, -1,
+ -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 429, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, -1, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, -1, -1, 86, 87, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 105, 106, 107, 108, -1, 110, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 194, -1, -1, -1, -1, -1, 200,
- 201, 202, 203, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 215, 216, 217, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, -1,
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, -1, -1, 84, 85,
+ -1, 123, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 103, 104, 105,
- 106, -1, 108, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 121, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 157, -1, 159, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 155,
- -1, 157, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 194, -1,
- -1, -1, -1, -1, 200, 201, 202, 203, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 215,
- 216, 217, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, -1, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, -1, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, -1, -1, 84, 85, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 196, -1, -1, -1, -1, -1,
+ 202, 203, 204, 205, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 217, 218, 219, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ -1, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, -1,
+ -1, 86, 87, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 103, 104, 105, 106, -1, 108, -1, -1,
+ 105, 106, 107, 108, -1, 110, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 121, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 155, -1, 157, -1, -1, -1,
+ -1, -1, 157, -1, 159, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 194, -1, -1, -1, -1, -1, 200,
- 201, 202, 203, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 215, 216, 217, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, -1,
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, -1, -1, 84, 85,
+ -1, 196, -1, -1, -1, -1, -1, 202, 203, 204,
+ 205, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 217, 218, 219, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, -1, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, -1, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, -1, -1, 86, 87,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 103, 104, 105,
- 106, -1, 108, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 121, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 105, 106, 107,
+ 108, -1, 110, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 123, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 155,
- -1, 157, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 157,
+ -1, 159, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 194, -1,
- -1, -1, -1, -1, 200, 201, 202, 203, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 215,
- 216, 217, 3, 4, 5, 6, 7, 8, 9, 10,
+ -1, -1, -1, -1, -1, -1, -1, -1, 196, -1,
+ -1, -1, -1, -1, 202, 203, 204, 205, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 217,
+ 218, 219, 3, 4, 5, 6, 7, 8, 9, 10,
11, -1, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, -1, 36, 37, 38, 39, 40,
@@ -1657,295 +1657,312 @@ static const yytype_int16 yycheck[] =
51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, -1, -1, 84, 85, -1, -1, -1, -1, -1,
+ 81, 82, 83, -1, -1, 86, 87, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 103, 104, 105, 106, -1, 108, -1, -1,
+ -1, -1, -1, -1, 105, 106, 107, 108, -1, 110,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 121, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 123, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 155, -1, 157, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 157, -1, 159, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 194, -1, -1, -1, -1, -1, 200,
- 201, 202, 203, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 215, 216, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, -1, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, -1, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, -1, -1, 84, 85, -1,
+ -1, -1, -1, -1, -1, 196, -1, -1, -1, -1,
+ -1, 202, 203, 204, 205, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 217, 218, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ -1, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, -1,
+ -1, 86, 87, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 103, 104, 105, 106,
- -1, 108, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 121, -1, -1, -1, -1, -1,
+ 105, 106, 107, 108, -1, 110, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 155, -1,
- 157, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 157, -1, 159, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 194, -1, -1,
- -1, -1, -1, 200, 201, 202, 203, 3, 4, 5,
- 6, 7, 8, -1, -1, -1, -1, -1, 215, 216,
- -1, -1, -1, -1, 20, 21, 22, 23, 24, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, -1,
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 72, 73, 74, -1,
- 76, 77, 78, 79, 80, 81, -1, -1, 84, 85,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 103, 104, 105,
- 106, -1, 108, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 121, 5, 6, 7, 8,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, -1, -1, -1, -1, -1, -1, 155,
- -1, 157, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, -1, 76, 194, -1,
- -1, -1, -1, -1, 200, 201, 202, 203, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 215,
- -1, -1, -1, -1, -1, 104, 105, 106, -1, -1,
+ -1, 196, -1, -1, -1, -1, -1, 202, 203, 204,
+ 205, 3, 4, 5, 6, 7, 8, -1, -1, -1,
+ -1, -1, 217, 218, -1, -1, -1, -1, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, -1, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, -1, 76, 77, 78, 79, 80, 81,
+ 82, 83, -1, -1, 86, 87, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 5, 6, 7, 8, -1, -1, -1,
+ -1, -1, -1, 105, 106, 107, 108, -1, 110, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 123, -1, 5, 6, 7, 8, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 20, 21,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- -1, -1, -1, -1, -1, -1, 155, -1, 157, 41,
+ -1, -1, -1, -1, -1, 157, -1, 159, -1, 41,
42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
- 72, 73, 74, -1, 76, -1, -1, -1, -1, -1,
+ 72, 73, 74, -1, 196, 77, -1, -1, -1, -1,
+ 202, 203, 204, 205, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 217, -1, -1, -1, -1,
+ -1, -1, -1, -1, 106, 107, 108, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 5, 6, 7, 8, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, -1,
+ -1, -1, -1, -1, -1, 157, -1, 159, 41, 42,
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
+ 73, 74, -1, -1, 77, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 219, -1, -1,
+ -1, -1, -1, 106, 107, 108, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 5, 6, 7, 8, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, -1, -1,
+ -1, -1, -1, -1, 157, -1, 159, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, -1, 76, 77, 78, 79, 80, 81, 82, 83,
+ -1, -1, 86, 87, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 219, -1, -1, -1,
+ -1, -1, 106, 107, 108, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 157, -1, 159, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 196, -1, -1, -1, -1, -1, 202, 203,
+ 204, 205, 3, 4, 5, 6, 7, 8, -1, -1,
+ -1, -1, -1, 217, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, -1, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, -1, 76, 77, 78, 79, 80,
+ 81, 82, 83, -1, -1, 86, 87, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 105, 106, 107, 108, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 217, -1,
- -1, -1, 104, 105, 106, -1, -1, -1, -1, -1,
+ -1, -1, 123, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 5, 6, 7, 8, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 157, -1, 159, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 5, 6, 7, 8, -1, 196, -1, -1, -1, -1,
+ -1, 202, 203, 204, 205, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, -1, -1, -1,
- -1, -1, -1, 155, -1, 157, 41, 42, 43, 44,
+ -1, -1, -1, -1, -1, -1, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- -1, 76, 77, 78, 79, 80, 81, -1, -1, 84,
- 85, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 217, -1, -1, -1, 104,
- 105, 106, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 76, 77, 78, 79, 80, 81, 82, 83, -1,
+ -1, 86, 87, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 106, 107, 108, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 155, -1, 157, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 157, -1, 159, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 194,
- -1, -1, -1, -1, -1, 200, 201, 202, 203, 3,
- 4, 5, 6, 7, 8, -1, -1, -1, -1, -1,
- 215, -1, -1, -1, -1, -1, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
- 34, -1, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
- 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
- 74, -1, 76, 77, 78, 79, 80, 81, -1, -1,
- 84, 85, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 103,
- 104, 105, 106, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 121, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 5, 6, 7, 8,
+ -1, 196, -1, -1, 199, -1, -1, 202, 203, 204,
+ 205, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, -1, 76, 77, 78,
+ 79, 80, 81, 82, 83, -1, -1, 86, 87, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 106, 107, 108,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 155, -1, 157, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 5, 6, 7, 8, -1,
- 194, -1, -1, -1, -1, -1, 200, 201, 202, 203,
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
- 30, 31, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
- 70, 71, 72, 73, 74, -1, 76, 77, 78, 79,
- 80, 81, -1, -1, 84, 85, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 104, 105, 106, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 157, -1,
+ 159, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 5, 6, 7, 8, -1, 196, -1, -1,
+ 199, -1, -1, 202, 203, 204, 205, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 41, 42,
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
+ 73, 74, -1, 76, 77, 78, 79, 80, 81, 82,
+ 83, -1, -1, 86, 87, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 106, 107, 108, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 155, -1, 157, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 5,
- 6, 7, 8, -1, 194, -1, -1, 197, -1, -1,
- 200, 201, 202, 203, 20, 21, 22, 23, 24, 25,
- 26, 27, 28, 29, 30, 31, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 41, 42, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 72, 73, 74, -1,
- 76, 77, 78, 79, 80, 81, -1, -1, 84, 85,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 104, 105,
- 106, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 157, -1, 159, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 5, 6,
+ 7, 8, -1, 196, -1, -1, 199, -1, -1, 202,
+ 203, 204, 205, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, -1, 76,
+ 77, 78, 79, 80, 81, 82, 83, -1, -1, 86,
+ 87, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 106,
+ 107, 108, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 155,
- -1, 157, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 5, 6, 7, 8, -1, 194, -1,
- -1, 197, -1, -1, 200, 201, 202, 203, 20, 21,
- 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
- 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
- 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
- 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
- 72, 73, 74, -1, 76, 77, 78, 79, 80, 81,
- -1, -1, 84, 85, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 104, 105, 106, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 157, -1, 159, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 5, 6, 7, 8, -1, 196,
+ -1, -1, -1, -1, -1, 202, 203, 204, 205, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, -1, 76, 77, 78, 79, 80,
+ 81, 82, 83, -1, -1, 86, 87, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 155, -1, 157, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 106, 107, 108, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 5, 6, 7,
- 8, -1, 194, -1, -1, 197, -1, -1, 200, 201,
- 202, 203, 20, 21, 22, 23, 24, 25, 26, 27,
- 28, 29, 30, 31, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, -1, 76, 77,
- 78, 79, 80, 81, -1, -1, 84, 85, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 104, 105, 106, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 157, -1, 159, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 155, -1, 157,
+ 5, 6, 7, 8, -1, 196, -1, -1, -1, -1,
+ -1, 202, 203, 204, 205, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ -1, 76, 77, 78, 79, 80, 81, 82, 83, -1,
+ -1, 86, 87, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 106, 107, 108, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 5, 6, 7, 8, -1, 194, -1, -1, -1,
- -1, -1, 200, 201, 202, 203, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
- 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
- 74, -1, 76, 77, 78, 79, 80, 81, -1, -1,
- 84, 85, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 104, 105, 106, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 157, -1, 159, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 3, 4, 5, 6, 7, 8,
+ -1, 196, -1, -1, -1, -1, -1, 202, 203, 204,
+ 205, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, -1, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, -1, -1, 77, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 155, -1, 157, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 105, 106, 107, 108,
+ -1, 110, -1, -1, -1, -1, -1, -1, -1, 118,
+ 119, 120, 121, 122, 123, 5, 6, 7, 8, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 3, 4, 5, 6, 7, 8, -1,
- 194, -1, -1, -1, -1, -1, 200, 201, 202, 203,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
- 30, 31, 32, 33, 34, -1, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 30, 31, -1, -1, -1, -1, -1, -1, 157, -1,
+ 159, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
- 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
+ 70, 71, 72, 73, 74, -1, -1, 77, 5, 6,
+ 7, 8, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, -1, 106, 107, 108, -1,
+ -1, -1, -1, -1, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, -1, -1,
+ 77, -1, -1, -1, -1, -1, -1, 157, -1, 159,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 103, 104, 105, 106, -1, 108, -1,
- -1, -1, -1, -1, -1, -1, 116, 117, 118, 119,
- 120, 121, 5, 6, 7, 8, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, -1,
- -1, -1, -1, -1, -1, 155, -1, 157, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, -1, 76, 5, 6, 7, 8, 81, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 104, 105, 106, -1, -1, -1, -1, -1, -1,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, -1, 76, 5, 6, 7, 8,
- -1, -1, 155, -1, 157, -1, -1, -1, -1, -1,
- -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 104, 105, 106, -1, -1, -1, -1,
- -1, -1, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, -1, 76, -1, -1,
- -1, -1, -1, -1, 155, -1, 157, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 155, -1, 157
+ 157, -1, 159
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint16 yystos[] =
{
- 0, 109, 219, 221, 78, 0, 223, 113, 110, 220,
- 224, 76, 3, 4, 5, 6, 7, 8, 20, 21,
- 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 76, 103, 104, 105, 106, 108, 116, 117,
- 118, 119, 120, 121, 155, 157, 222, 225, 255, 256,
- 257, 258, 259, 264, 265, 266, 267, 270, 272, 273,
- 274, 275, 276, 277, 278, 279, 303, 304, 112, 33,
- 34, 37, 76, 216, 76, 270, 273, 278, 113, 113,
- 113, 113, 113, 194, 303, 215, 216, 290, 195, 199,
- 4, 33, 34, 35, 261, 262, 271, 199, 215, 76,
- 273, 273, 274, 196, 275, 76, 216, 274, 280, 281,
- 273, 275, 76, 268, 269, 9, 10, 11, 13, 14,
- 15, 16, 17, 18, 19, 75, 76, 77, 78, 79,
- 80, 81, 84, 85, 194, 200, 201, 202, 203, 215,
- 216, 217, 226, 227, 228, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 251, 253, 255, 256,
- 274, 285, 286, 287, 288, 291, 292, 293, 296, 297,
- 298, 302, 261, 260, 263, 274, 262, 76, 194, 196,
- 214, 197, 237, 250, 254, 274, 113, 280, 76, 282,
- 283, 217, 281, 215, 214, 195, 199, 215, 215, 286,
- 194, 194, 215, 215, 253, 194, 253, 213, 194, 237,
- 237, 253, 217, 291, 84, 85, 196, 198, 195, 195,
- 199, 74, 251, 194, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, 214, 252, 237, 204, 205, 206,
- 200, 201, 82, 83, 86, 87, 207, 208, 88, 89,
- 209, 210, 211, 90, 92, 91, 212, 199, 215, 217,
- 286, 76, 260, 263, 196, 214, 197, 254, 251, 284,
- 197, 217, 196, 199, 215, 78, 269, 75, 285, 292,
- 299, 253, 215, 253, 213, 103, 253, 266, 295, 195,
- 217, 229, 253, 76, 232, 251, 251, 237, 237, 237,
- 239, 239, 240, 240, 241, 241, 241, 241, 242, 242,
- 243, 244, 245, 246, 247, 248, 253, 251, 196, 197,
- 254, 284, 214, 197, 254, 283, 194, 295, 300, 301,
- 195, 195, 76, 195, 197, 213, 254, 214, 197, 284,
- 214, 197, 253, 215, 195, 286, 294, 288, 214, 287,
- 289, 290, 251, 197, 284, 214, 284, 195, 253, 289,
- 12, 284, 284, 215, 286
+ 0, 111, 221, 223, 80, 0, 225, 115, 112, 222,
+ 227, 76, 77, 78, 226, 3, 4, 5, 6, 7,
+ 8, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 77, 105, 106, 107, 108,
+ 110, 118, 119, 120, 121, 122, 123, 157, 159, 224,
+ 228, 262, 263, 264, 265, 266, 271, 272, 273, 274,
+ 277, 279, 280, 281, 282, 283, 284, 285, 286, 311,
+ 312, 114, 33, 34, 37, 218, 226, 76, 78, 229,
+ 277, 280, 285, 115, 115, 115, 115, 115, 196, 311,
+ 217, 218, 298, 197, 201, 4, 33, 34, 35, 268,
+ 269, 278, 201, 217, 76, 78, 226, 229, 280, 280,
+ 281, 198, 282, 226, 281, 287, 288, 218, 280, 282,
+ 226, 275, 276, 9, 10, 11, 13, 14, 15, 16,
+ 17, 18, 19, 75, 79, 80, 81, 82, 83, 86,
+ 87, 196, 202, 203, 204, 205, 217, 218, 219, 229,
+ 230, 231, 233, 234, 235, 236, 237, 238, 239, 244,
+ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 260, 262, 263, 281, 292, 293,
+ 294, 295, 299, 300, 301, 304, 305, 306, 310, 268,
+ 267, 270, 281, 269, 226, 198, 216, 196, 199, 244,
+ 257, 261, 281, 115, 226, 289, 290, 219, 288, 287,
+ 217, 216, 197, 201, 217, 217, 293, 196, 196, 217,
+ 217, 260, 196, 260, 215, 196, 244, 244, 260, 219,
+ 296, 86, 87, 198, 200, 197, 197, 201, 74, 258,
+ 196, 95, 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 216, 259, 244, 206, 207, 208, 202, 203, 84,
+ 85, 88, 89, 209, 210, 90, 91, 211, 212, 213,
+ 92, 94, 93, 214, 201, 217, 219, 293, 226, 267,
+ 270, 198, 216, 199, 261, 258, 291, 199, 198, 201,
+ 217, 219, 80, 276, 75, 292, 300, 307, 260, 217,
+ 260, 215, 105, 260, 273, 303, 197, 299, 232, 260,
+ 226, 229, 240, 241, 242, 243, 258, 258, 244, 244,
+ 244, 246, 246, 247, 247, 248, 248, 248, 248, 249,
+ 249, 250, 251, 252, 253, 254, 255, 260, 258, 198,
+ 199, 261, 291, 216, 199, 261, 290, 196, 303, 308,
+ 309, 197, 197, 226, 197, 219, 199, 196, 197, 197,
+ 201, 74, 258, 215, 261, 216, 199, 291, 216, 199,
+ 260, 217, 197, 293, 302, 295, 216, 294, 297, 298,
+ 258, 258, 199, 291, 216, 291, 197, 260, 297, 12,
+ 291, 291, 217, 293
};
#define yyerrok (yyerrstatus = 0)
@@ -2636,7 +2653,7 @@ YYLTYPE yylloc;
}
/* Line 1251 of yacc.c */
-#line 2640 "glsl_parser.cpp"
+#line 2657 "glsl_parser.cpp"
yylsp[0] = yylloc;
goto yysetstate;
@@ -2824,17 +2841,28 @@ yyreduce:
case 2:
/* Line 1464 of yacc.c */
-#line 213 "glsl_parser.ypp"
+#line 218 "glsl_parser.ypp"
{
_mesa_glsl_initialize_types(state);
;}
break;
- case 5:
+ case 3:
/* Line 1464 of yacc.c */
#line 222 "glsl_parser.ypp"
{
+ delete state->symbols;
+ state->symbols = new(ralloc_parent(state)) glsl_symbol_table;
+ _mesa_glsl_initialize_types(state);
+ ;}
+ break;
+
+ case 5:
+
+/* Line 1464 of yacc.c */
+#line 232 "glsl_parser.ypp"
+ {
bool supported = false;
switch ((yyvsp[(2) - (3)].n)) {
@@ -2875,7 +2903,7 @@ yyreduce:
case 10:
/* Line 1464 of yacc.c */
-#line 266 "glsl_parser.ypp"
+#line 276 "glsl_parser.ypp"
{
if (state->language_version < 120) {
_mesa_glsl_warning(& (yylsp[(1) - (2)]), state,
@@ -2887,10 +2915,10 @@ yyreduce:
;}
break;
- case 13:
+ case 16:
/* Line 1464 of yacc.c */
-#line 284 "glsl_parser.ypp"
+#line 300 "glsl_parser.ypp"
{
if (!_mesa_glsl_process_extension((yyvsp[(2) - (5)].identifier), & (yylsp[(2) - (5)]), (yyvsp[(4) - (5)].identifier), & (yylsp[(4) - (5)]), state)) {
YYERROR;
@@ -2898,10 +2926,10 @@ yyreduce:
;}
break;
- case 14:
+ case 17:
/* Line 1464 of yacc.c */
-#line 293 "glsl_parser.ypp"
+#line 309 "glsl_parser.ypp"
{
/* FINISHME: The NULL test is required because pragmas are set to
* FINISHME: NULL. (See production rule for external_declaration.)
@@ -2911,10 +2939,10 @@ yyreduce:
;}
break;
- case 15:
+ case 18:
/* Line 1464 of yacc.c */
-#line 301 "glsl_parser.ypp"
+#line 317 "glsl_parser.ypp"
{
/* FINISHME: The NULL test is required because pragmas are set to
* FINISHME: NULL. (See production rule for external_declaration.)
@@ -2924,10 +2952,10 @@ yyreduce:
;}
break;
- case 17:
+ case 21:
/* Line 1464 of yacc.c */
-#line 316 "glsl_parser.ypp"
+#line 333 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression(ast_identifier, NULL, NULL, NULL);
@@ -2936,10 +2964,10 @@ yyreduce:
;}
break;
- case 18:
+ case 22:
/* Line 1464 of yacc.c */
-#line 323 "glsl_parser.ypp"
+#line 340 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression(ast_int_constant, NULL, NULL, NULL);
@@ -2948,10 +2976,10 @@ yyreduce:
;}
break;
- case 19:
+ case 23:
/* Line 1464 of yacc.c */
-#line 330 "glsl_parser.ypp"
+#line 347 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression(ast_uint_constant, NULL, NULL, NULL);
@@ -2960,10 +2988,10 @@ yyreduce:
;}
break;
- case 20:
+ case 24:
/* Line 1464 of yacc.c */
-#line 337 "glsl_parser.ypp"
+#line 354 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression(ast_float_constant, NULL, NULL, NULL);
@@ -2972,10 +3000,10 @@ yyreduce:
;}
break;
- case 21:
+ case 25:
/* Line 1464 of yacc.c */
-#line 344 "glsl_parser.ypp"
+#line 361 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression(ast_bool_constant, NULL, NULL, NULL);
@@ -2984,19 +3012,19 @@ yyreduce:
;}
break;
- case 22:
+ case 26:
/* Line 1464 of yacc.c */
-#line 351 "glsl_parser.ypp"
+#line 368 "glsl_parser.ypp"
{
(yyval.expression) = (yyvsp[(2) - (3)].expression);
;}
break;
- case 24:
+ case 28:
/* Line 1464 of yacc.c */
-#line 359 "glsl_parser.ypp"
+#line 376 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression(ast_array_index, (yyvsp[(1) - (4)].expression), (yyvsp[(3) - (4)].expression), NULL);
@@ -3004,19 +3032,19 @@ yyreduce:
;}
break;
- case 25:
+ case 29:
/* Line 1464 of yacc.c */
-#line 365 "glsl_parser.ypp"
+#line 382 "glsl_parser.ypp"
{
(yyval.expression) = (yyvsp[(1) - (1)].expression);
;}
break;
- case 26:
+ case 30:
/* Line 1464 of yacc.c */
-#line 369 "glsl_parser.ypp"
+#line 386 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression(ast_field_selection, (yyvsp[(1) - (3)].expression), NULL, NULL);
@@ -3025,10 +3053,10 @@ yyreduce:
;}
break;
- case 27:
+ case 31:
/* Line 1464 of yacc.c */
-#line 376 "glsl_parser.ypp"
+#line 393 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression(ast_post_inc, (yyvsp[(1) - (2)].expression), NULL, NULL);
@@ -3036,10 +3064,10 @@ yyreduce:
;}
break;
- case 28:
+ case 32:
/* Line 1464 of yacc.c */
-#line 382 "glsl_parser.ypp"
+#line 399 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression(ast_post_dec, (yyvsp[(1) - (2)].expression), NULL, NULL);
@@ -3047,10 +3075,10 @@ yyreduce:
;}
break;
- case 32:
+ case 36:
/* Line 1464 of yacc.c */
-#line 400 "glsl_parser.ypp"
+#line 417 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression(ast_field_selection, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression), NULL);
@@ -3058,10 +3086,10 @@ yyreduce:
;}
break;
- case 37:
+ case 41:
/* Line 1464 of yacc.c */
-#line 419 "glsl_parser.ypp"
+#line 436 "glsl_parser.ypp"
{
(yyval.expression) = (yyvsp[(1) - (2)].expression);
(yyval.expression)->set_location(yylloc);
@@ -3069,10 +3097,10 @@ yyreduce:
;}
break;
- case 38:
+ case 42:
/* Line 1464 of yacc.c */
-#line 425 "glsl_parser.ypp"
+#line 442 "glsl_parser.ypp"
{
(yyval.expression) = (yyvsp[(1) - (3)].expression);
(yyval.expression)->set_location(yylloc);
@@ -3080,10 +3108,10 @@ yyreduce:
;}
break;
- case 40:
+ case 44:
/* Line 1464 of yacc.c */
-#line 441 "glsl_parser.ypp"
+#line 458 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_function_expression((yyvsp[(1) - (1)].type_specifier));
@@ -3091,10 +3119,10 @@ yyreduce:
;}
break;
- case 41:
+ case 45:
/* Line 1464 of yacc.c */
-#line 447 "glsl_parser.ypp"
+#line 464 "glsl_parser.ypp"
{
void *ctx = state;
ast_expression *callee = new(ctx) ast_expression((yyvsp[(1) - (1)].identifier));
@@ -3103,10 +3131,10 @@ yyreduce:
;}
break;
- case 42:
+ case 46:
/* Line 1464 of yacc.c */
-#line 454 "glsl_parser.ypp"
+#line 471 "glsl_parser.ypp"
{
void *ctx = state;
ast_expression *callee = new(ctx) ast_expression((yyvsp[(1) - (1)].identifier));
@@ -3115,10 +3143,44 @@ yyreduce:
;}
break;
- case 44:
+ case 51:
/* Line 1464 of yacc.c */
-#line 466 "glsl_parser.ypp"
+#line 491 "glsl_parser.ypp"
+ {
+ (yyval.expression) = (yyvsp[(1) - (2)].expression);
+ (yyval.expression)->set_location(yylloc);
+ (yyval.expression)->expressions.push_tail(& (yyvsp[(2) - (2)].expression)->link);
+ ;}
+ break;
+
+ case 52:
+
+/* Line 1464 of yacc.c */
+#line 497 "glsl_parser.ypp"
+ {
+ (yyval.expression) = (yyvsp[(1) - (3)].expression);
+ (yyval.expression)->set_location(yylloc);
+ (yyval.expression)->expressions.push_tail(& (yyvsp[(3) - (3)].expression)->link);
+ ;}
+ break;
+
+ case 53:
+
+/* Line 1464 of yacc.c */
+#line 509 "glsl_parser.ypp"
+ {
+ void *ctx = state;
+ ast_expression *callee = new(ctx) ast_expression((yyvsp[(1) - (2)].identifier));
+ (yyval.expression) = new(ctx) ast_function_expression(callee);
+ (yyval.expression)->set_location(yylloc);
+ ;}
+ break;
+
+ case 55:
+
+/* Line 1464 of yacc.c */
+#line 521 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression(ast_pre_inc, (yyvsp[(2) - (2)].expression), NULL, NULL);
@@ -3126,10 +3188,10 @@ yyreduce:
;}
break;
- case 45:
+ case 56:
/* Line 1464 of yacc.c */
-#line 472 "glsl_parser.ypp"
+#line 527 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression(ast_pre_dec, (yyvsp[(2) - (2)].expression), NULL, NULL);
@@ -3137,10 +3199,10 @@ yyreduce:
;}
break;
- case 46:
+ case 57:
/* Line 1464 of yacc.c */
-#line 478 "glsl_parser.ypp"
+#line 533 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression((yyvsp[(1) - (2)].n), (yyvsp[(2) - (2)].expression), NULL, NULL);
@@ -3148,38 +3210,38 @@ yyreduce:
;}
break;
- case 47:
+ case 58:
/* Line 1464 of yacc.c */
-#line 487 "glsl_parser.ypp"
+#line 542 "glsl_parser.ypp"
{ (yyval.n) = ast_plus; ;}
break;
- case 48:
+ case 59:
/* Line 1464 of yacc.c */
-#line 488 "glsl_parser.ypp"
+#line 543 "glsl_parser.ypp"
{ (yyval.n) = ast_neg; ;}
break;
- case 49:
+ case 60:
/* Line 1464 of yacc.c */
-#line 489 "glsl_parser.ypp"
+#line 544 "glsl_parser.ypp"
{ (yyval.n) = ast_logic_not; ;}
break;
- case 50:
+ case 61:
/* Line 1464 of yacc.c */
-#line 490 "glsl_parser.ypp"
+#line 545 "glsl_parser.ypp"
{ (yyval.n) = ast_bit_not; ;}
break;
- case 52:
+ case 63:
/* Line 1464 of yacc.c */
-#line 496 "glsl_parser.ypp"
+#line 551 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression_bin(ast_mul, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3187,10 +3249,10 @@ yyreduce:
;}
break;
- case 53:
+ case 64:
/* Line 1464 of yacc.c */
-#line 502 "glsl_parser.ypp"
+#line 557 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression_bin(ast_div, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3198,10 +3260,10 @@ yyreduce:
;}
break;
- case 54:
+ case 65:
/* Line 1464 of yacc.c */
-#line 508 "glsl_parser.ypp"
+#line 563 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression_bin(ast_mod, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3209,10 +3271,10 @@ yyreduce:
;}
break;
- case 56:
+ case 67:
/* Line 1464 of yacc.c */
-#line 518 "glsl_parser.ypp"
+#line 573 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression_bin(ast_add, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3220,10 +3282,10 @@ yyreduce:
;}
break;
- case 57:
+ case 68:
/* Line 1464 of yacc.c */
-#line 524 "glsl_parser.ypp"
+#line 579 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression_bin(ast_sub, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3231,10 +3293,10 @@ yyreduce:
;}
break;
- case 59:
+ case 70:
/* Line 1464 of yacc.c */
-#line 534 "glsl_parser.ypp"
+#line 589 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression_bin(ast_lshift, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3242,10 +3304,10 @@ yyreduce:
;}
break;
- case 60:
+ case 71:
/* Line 1464 of yacc.c */
-#line 540 "glsl_parser.ypp"
+#line 595 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression_bin(ast_rshift, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3253,10 +3315,10 @@ yyreduce:
;}
break;
- case 62:
+ case 73:
/* Line 1464 of yacc.c */
-#line 550 "glsl_parser.ypp"
+#line 605 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression_bin(ast_less, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3264,10 +3326,10 @@ yyreduce:
;}
break;
- case 63:
+ case 74:
/* Line 1464 of yacc.c */
-#line 556 "glsl_parser.ypp"
+#line 611 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression_bin(ast_greater, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3275,10 +3337,10 @@ yyreduce:
;}
break;
- case 64:
+ case 75:
/* Line 1464 of yacc.c */
-#line 562 "glsl_parser.ypp"
+#line 617 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression_bin(ast_lequal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3286,10 +3348,10 @@ yyreduce:
;}
break;
- case 65:
+ case 76:
/* Line 1464 of yacc.c */
-#line 568 "glsl_parser.ypp"
+#line 623 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression_bin(ast_gequal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3297,10 +3359,10 @@ yyreduce:
;}
break;
- case 67:
+ case 78:
/* Line 1464 of yacc.c */
-#line 578 "glsl_parser.ypp"
+#line 633 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression_bin(ast_equal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3308,10 +3370,10 @@ yyreduce:
;}
break;
- case 68:
+ case 79:
/* Line 1464 of yacc.c */
-#line 584 "glsl_parser.ypp"
+#line 639 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression_bin(ast_nequal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3319,10 +3381,10 @@ yyreduce:
;}
break;
- case 70:
+ case 81:
/* Line 1464 of yacc.c */
-#line 594 "glsl_parser.ypp"
+#line 649 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression_bin(ast_bit_and, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3330,10 +3392,10 @@ yyreduce:
;}
break;
- case 72:
+ case 83:
/* Line 1464 of yacc.c */
-#line 604 "glsl_parser.ypp"
+#line 659 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression_bin(ast_bit_xor, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3341,10 +3403,10 @@ yyreduce:
;}
break;
- case 74:
+ case 85:
/* Line 1464 of yacc.c */
-#line 614 "glsl_parser.ypp"
+#line 669 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression_bin(ast_bit_or, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3352,10 +3414,10 @@ yyreduce:
;}
break;
- case 76:
+ case 87:
/* Line 1464 of yacc.c */
-#line 624 "glsl_parser.ypp"
+#line 679 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression_bin(ast_logic_and, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3363,10 +3425,10 @@ yyreduce:
;}
break;
- case 78:
+ case 89:
/* Line 1464 of yacc.c */
-#line 634 "glsl_parser.ypp"
+#line 689 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression_bin(ast_logic_xor, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3374,10 +3436,10 @@ yyreduce:
;}
break;
- case 80:
+ case 91:
/* Line 1464 of yacc.c */
-#line 644 "glsl_parser.ypp"
+#line 699 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression_bin(ast_logic_or, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3385,10 +3447,10 @@ yyreduce:
;}
break;
- case 82:
+ case 93:
/* Line 1464 of yacc.c */
-#line 654 "glsl_parser.ypp"
+#line 709 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression(ast_conditional, (yyvsp[(1) - (5)].expression), (yyvsp[(3) - (5)].expression), (yyvsp[(5) - (5)].expression));
@@ -3396,10 +3458,10 @@ yyreduce:
;}
break;
- case 84:
+ case 95:
/* Line 1464 of yacc.c */
-#line 664 "glsl_parser.ypp"
+#line 719 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.expression) = new(ctx) ast_expression((yyvsp[(2) - (3)].n), (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression), NULL);
@@ -3407,96 +3469,96 @@ yyreduce:
;}
break;
- case 85:
+ case 96:
/* Line 1464 of yacc.c */
-#line 672 "glsl_parser.ypp"
+#line 727 "glsl_parser.ypp"
{ (yyval.n) = ast_assign; ;}
break;
- case 86:
+ case 97:
/* Line 1464 of yacc.c */
-#line 673 "glsl_parser.ypp"
+#line 728 "glsl_parser.ypp"
{ (yyval.n) = ast_mul_assign; ;}
break;
- case 87:
+ case 98:
/* Line 1464 of yacc.c */
-#line 674 "glsl_parser.ypp"
+#line 729 "glsl_parser.ypp"
{ (yyval.n) = ast_div_assign; ;}
break;
- case 88:
+ case 99:
/* Line 1464 of yacc.c */
-#line 675 "glsl_parser.ypp"
+#line 730 "glsl_parser.ypp"
{ (yyval.n) = ast_mod_assign; ;}
break;
- case 89:
+ case 100:
/* Line 1464 of yacc.c */
-#line 676 "glsl_parser.ypp"
+#line 731 "glsl_parser.ypp"
{ (yyval.n) = ast_add_assign; ;}
break;
- case 90:
+ case 101:
/* Line 1464 of yacc.c */
-#line 677 "glsl_parser.ypp"
+#line 732 "glsl_parser.ypp"
{ (yyval.n) = ast_sub_assign; ;}
break;
- case 91:
+ case 102:
/* Line 1464 of yacc.c */
-#line 678 "glsl_parser.ypp"
+#line 733 "glsl_parser.ypp"
{ (yyval.n) = ast_ls_assign; ;}
break;
- case 92:
+ case 103:
/* Line 1464 of yacc.c */
-#line 679 "glsl_parser.ypp"
+#line 734 "glsl_parser.ypp"
{ (yyval.n) = ast_rs_assign; ;}
break;
- case 93:
+ case 104:
/* Line 1464 of yacc.c */
-#line 680 "glsl_parser.ypp"
+#line 735 "glsl_parser.ypp"
{ (yyval.n) = ast_and_assign; ;}
break;
- case 94:
+ case 105:
/* Line 1464 of yacc.c */
-#line 681 "glsl_parser.ypp"
+#line 736 "glsl_parser.ypp"
{ (yyval.n) = ast_xor_assign; ;}
break;
- case 95:
+ case 106:
/* Line 1464 of yacc.c */
-#line 682 "glsl_parser.ypp"
+#line 737 "glsl_parser.ypp"
{ (yyval.n) = ast_or_assign; ;}
break;
- case 96:
+ case 107:
/* Line 1464 of yacc.c */
-#line 687 "glsl_parser.ypp"
+#line 742 "glsl_parser.ypp"
{
(yyval.expression) = (yyvsp[(1) - (1)].expression);
;}
break;
- case 97:
+ case 108:
/* Line 1464 of yacc.c */
-#line 691 "glsl_parser.ypp"
+#line 746 "glsl_parser.ypp"
{
void *ctx = state;
if ((yyvsp[(1) - (3)].expression)->oper != ast_sequence) {
@@ -3511,28 +3573,29 @@ yyreduce:
;}
break;
- case 99:
+ case 110:
/* Line 1464 of yacc.c */
-#line 711 "glsl_parser.ypp"
+#line 766 "glsl_parser.ypp"
{
+ state->symbols->pop_scope();
(yyval.node) = (yyvsp[(1) - (2)].function);
;}
break;
- case 100:
+ case 111:
/* Line 1464 of yacc.c */
-#line 715 "glsl_parser.ypp"
+#line 771 "glsl_parser.ypp"
{
(yyval.node) = (yyvsp[(1) - (2)].declarator_list);
;}
break;
- case 101:
+ case 112:
/* Line 1464 of yacc.c */
-#line 719 "glsl_parser.ypp"
+#line 775 "glsl_parser.ypp"
{
(yyvsp[(3) - (4)].type_specifier)->precision = (yyvsp[(2) - (4)].n);
(yyvsp[(3) - (4)].type_specifier)->is_precision_statement = true;
@@ -3540,43 +3603,46 @@ yyreduce:
;}
break;
- case 105:
+ case 116:
/* Line 1464 of yacc.c */
-#line 737 "glsl_parser.ypp"
+#line 793 "glsl_parser.ypp"
{
(yyval.function) = (yyvsp[(1) - (2)].function);
(yyval.function)->parameters.push_tail(& (yyvsp[(2) - (2)].parameter_declarator)->link);
;}
break;
- case 106:
+ case 117:
/* Line 1464 of yacc.c */
-#line 742 "glsl_parser.ypp"
+#line 798 "glsl_parser.ypp"
{
(yyval.function) = (yyvsp[(1) - (3)].function);
(yyval.function)->parameters.push_tail(& (yyvsp[(3) - (3)].parameter_declarator)->link);
;}
break;
- case 107:
+ case 118:
/* Line 1464 of yacc.c */
-#line 750 "glsl_parser.ypp"
+#line 806 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.function) = new(ctx) ast_function();
(yyval.function)->set_location(yylloc);
(yyval.function)->return_type = (yyvsp[(1) - (3)].fully_specified_type);
(yyval.function)->identifier = (yyvsp[(2) - (3)].identifier);
+
+ state->symbols->add_function(new(state) ir_function((yyvsp[(2) - (3)].identifier)));
+ state->symbols->push_scope();
;}
break;
- case 108:
+ case 119:
/* Line 1464 of yacc.c */
-#line 761 "glsl_parser.ypp"
+#line 820 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.parameter_declarator) = new(ctx) ast_parameter_declarator();
@@ -3588,10 +3654,10 @@ yyreduce:
;}
break;
- case 109:
+ case 120:
/* Line 1464 of yacc.c */
-#line 771 "glsl_parser.ypp"
+#line 830 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.parameter_declarator) = new(ctx) ast_parameter_declarator();
@@ -3605,10 +3671,10 @@ yyreduce:
;}
break;
- case 110:
+ case 121:
/* Line 1464 of yacc.c */
-#line 786 "glsl_parser.ypp"
+#line 845 "glsl_parser.ypp"
{
(yyvsp[(1) - (3)].type_qualifier).flags.i |= (yyvsp[(2) - (3)].type_qualifier).flags.i;
@@ -3617,20 +3683,20 @@ yyreduce:
;}
break;
- case 111:
+ case 122:
/* Line 1464 of yacc.c */
-#line 793 "glsl_parser.ypp"
+#line 852 "glsl_parser.ypp"
{
(yyval.parameter_declarator) = (yyvsp[(2) - (2)].parameter_declarator);
(yyval.parameter_declarator)->type->qualifier = (yyvsp[(1) - (2)].type_qualifier);
;}
break;
- case 112:
+ case 123:
/* Line 1464 of yacc.c */
-#line 798 "glsl_parser.ypp"
+#line 857 "glsl_parser.ypp"
{
void *ctx = state;
(yyvsp[(1) - (3)].type_qualifier).flags.i |= (yyvsp[(2) - (3)].type_qualifier).flags.i;
@@ -3643,10 +3709,10 @@ yyreduce:
;}
break;
- case 113:
+ case 124:
/* Line 1464 of yacc.c */
-#line 809 "glsl_parser.ypp"
+#line 868 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.parameter_declarator) = new(ctx) ast_parameter_declarator();
@@ -3657,39 +3723,39 @@ yyreduce:
;}
break;
- case 114:
+ case 125:
/* Line 1464 of yacc.c */
-#line 821 "glsl_parser.ypp"
+#line 880 "glsl_parser.ypp"
{
memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
;}
break;
- case 115:
+ case 126:
/* Line 1464 of yacc.c */
-#line 825 "glsl_parser.ypp"
+#line 884 "glsl_parser.ypp"
{
memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
(yyval.type_qualifier).flags.q.in = 1;
;}
break;
- case 116:
+ case 127:
/* Line 1464 of yacc.c */
-#line 830 "glsl_parser.ypp"
+#line 889 "glsl_parser.ypp"
{
memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
(yyval.type_qualifier).flags.q.out = 1;
;}
break;
- case 117:
+ case 128:
/* Line 1464 of yacc.c */
-#line 835 "glsl_parser.ypp"
+#line 894 "glsl_parser.ypp"
{
memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
(yyval.type_qualifier).flags.q.in = 1;
@@ -3697,10 +3763,10 @@ yyreduce:
;}
break;
- case 120:
+ case 131:
/* Line 1464 of yacc.c */
-#line 849 "glsl_parser.ypp"
+#line 908 "glsl_parser.ypp"
{
void *ctx = state;
ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (3)].identifier), false, NULL, NULL);
@@ -3708,13 +3774,14 @@ yyreduce:
(yyval.declarator_list) = (yyvsp[(1) - (3)].declarator_list);
(yyval.declarator_list)->declarations.push_tail(&decl->link);
+ state->symbols->add_variable(new(state) ir_variable(NULL, (yyvsp[(3) - (3)].identifier), ir_var_auto));
;}
break;
- case 121:
+ case 132:
/* Line 1464 of yacc.c */
-#line 858 "glsl_parser.ypp"
+#line 918 "glsl_parser.ypp"
{
void *ctx = state;
ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (5)].identifier), true, NULL, NULL);
@@ -3722,13 +3789,14 @@ yyreduce:
(yyval.declarator_list) = (yyvsp[(1) - (5)].declarator_list);
(yyval.declarator_list)->declarations.push_tail(&decl->link);
+ state->symbols->add_variable(new(state) ir_variable(NULL, (yyvsp[(3) - (5)].identifier), ir_var_auto));
;}
break;
- case 122:
+ case 133:
/* Line 1464 of yacc.c */
-#line 867 "glsl_parser.ypp"
+#line 928 "glsl_parser.ypp"
{
void *ctx = state;
ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (6)].identifier), true, (yyvsp[(5) - (6)].expression), NULL);
@@ -3736,13 +3804,14 @@ yyreduce:
(yyval.declarator_list) = (yyvsp[(1) - (6)].declarator_list);
(yyval.declarator_list)->declarations.push_tail(&decl->link);
+ state->symbols->add_variable(new(state) ir_variable(NULL, (yyvsp[(3) - (6)].identifier), ir_var_auto));
;}
break;
- case 123:
+ case 134:
/* Line 1464 of yacc.c */
-#line 876 "glsl_parser.ypp"
+#line 938 "glsl_parser.ypp"
{
void *ctx = state;
ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (7)].identifier), true, NULL, (yyvsp[(7) - (7)].expression));
@@ -3750,13 +3819,14 @@ yyreduce:
(yyval.declarator_list) = (yyvsp[(1) - (7)].declarator_list);
(yyval.declarator_list)->declarations.push_tail(&decl->link);
+ state->symbols->add_variable(new(state) ir_variable(NULL, (yyvsp[(3) - (7)].identifier), ir_var_auto));
;}
break;
- case 124:
+ case 135:
/* Line 1464 of yacc.c */
-#line 885 "glsl_parser.ypp"
+#line 948 "glsl_parser.ypp"
{
void *ctx = state;
ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (8)].identifier), true, (yyvsp[(5) - (8)].expression), (yyvsp[(8) - (8)].expression));
@@ -3764,13 +3834,14 @@ yyreduce:
(yyval.declarator_list) = (yyvsp[(1) - (8)].declarator_list);
(yyval.declarator_list)->declarations.push_tail(&decl->link);
+ state->symbols->add_variable(new(state) ir_variable(NULL, (yyvsp[(3) - (8)].identifier), ir_var_auto));
;}
break;
- case 125:
+ case 136:
/* Line 1464 of yacc.c */
-#line 894 "glsl_parser.ypp"
+#line 958 "glsl_parser.ypp"
{
void *ctx = state;
ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (5)].identifier), false, NULL, (yyvsp[(5) - (5)].expression));
@@ -3778,13 +3849,14 @@ yyreduce:
(yyval.declarator_list) = (yyvsp[(1) - (5)].declarator_list);
(yyval.declarator_list)->declarations.push_tail(&decl->link);
+ state->symbols->add_variable(new(state) ir_variable(NULL, (yyvsp[(3) - (5)].identifier), ir_var_auto));
;}
break;
- case 126:
+ case 137:
/* Line 1464 of yacc.c */
-#line 907 "glsl_parser.ypp"
+#line 972 "glsl_parser.ypp"
{
void *ctx = state;
if ((yyvsp[(1) - (1)].fully_specified_type)->specifier->type_specifier != ast_struct) {
@@ -3797,10 +3869,10 @@ yyreduce:
;}
break;
- case 127:
+ case 138:
/* Line 1464 of yacc.c */
-#line 918 "glsl_parser.ypp"
+#line 983 "glsl_parser.ypp"
{
void *ctx = state;
ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (2)].identifier), false, NULL, NULL);
@@ -3811,10 +3883,10 @@ yyreduce:
;}
break;
- case 128:
+ case 139:
/* Line 1464 of yacc.c */
-#line 927 "glsl_parser.ypp"
+#line 992 "glsl_parser.ypp"
{
void *ctx = state;
ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), true, NULL, NULL);
@@ -3825,10 +3897,10 @@ yyreduce:
;}
break;
- case 129:
+ case 140:
/* Line 1464 of yacc.c */
-#line 936 "glsl_parser.ypp"
+#line 1001 "glsl_parser.ypp"
{
void *ctx = state;
ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (5)].identifier), true, (yyvsp[(4) - (5)].expression), NULL);
@@ -3839,10 +3911,10 @@ yyreduce:
;}
break;
- case 130:
+ case 141:
/* Line 1464 of yacc.c */
-#line 945 "glsl_parser.ypp"
+#line 1010 "glsl_parser.ypp"
{
void *ctx = state;
ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (6)].identifier), true, NULL, (yyvsp[(6) - (6)].expression));
@@ -3853,10 +3925,10 @@ yyreduce:
;}
break;
- case 131:
+ case 142:
/* Line 1464 of yacc.c */
-#line 954 "glsl_parser.ypp"
+#line 1019 "glsl_parser.ypp"
{
void *ctx = state;
ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (7)].identifier), true, (yyvsp[(4) - (7)].expression), (yyvsp[(7) - (7)].expression));
@@ -3867,10 +3939,10 @@ yyreduce:
;}
break;
- case 132:
+ case 143:
/* Line 1464 of yacc.c */
-#line 963 "glsl_parser.ypp"
+#line 1028 "glsl_parser.ypp"
{
void *ctx = state;
ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), false, NULL, (yyvsp[(4) - (4)].expression));
@@ -3881,10 +3953,10 @@ yyreduce:
;}
break;
- case 133:
+ case 144:
/* Line 1464 of yacc.c */
-#line 972 "glsl_parser.ypp"
+#line 1037 "glsl_parser.ypp"
{
void *ctx = state;
ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (2)].identifier), false, NULL, NULL);
@@ -3897,10 +3969,10 @@ yyreduce:
;}
break;
- case 134:
+ case 145:
/* Line 1464 of yacc.c */
-#line 986 "glsl_parser.ypp"
+#line 1051 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.fully_specified_type) = new(ctx) ast_fully_specified_type();
@@ -3909,10 +3981,10 @@ yyreduce:
;}
break;
- case 135:
+ case 146:
/* Line 1464 of yacc.c */
-#line 993 "glsl_parser.ypp"
+#line 1058 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.fully_specified_type) = new(ctx) ast_fully_specified_type();
@@ -3922,19 +3994,19 @@ yyreduce:
;}
break;
- case 136:
+ case 147:
/* Line 1464 of yacc.c */
-#line 1004 "glsl_parser.ypp"
+#line 1069 "glsl_parser.ypp"
{
(yyval.type_qualifier) = (yyvsp[(3) - (4)].type_qualifier);
;}
break;
- case 138:
+ case 149:
/* Line 1464 of yacc.c */
-#line 1012 "glsl_parser.ypp"
+#line 1077 "glsl_parser.ypp"
{
if (((yyvsp[(1) - (3)].type_qualifier).flags.i & (yyvsp[(3) - (3)].type_qualifier).flags.i) != 0) {
_mesa_glsl_error(& (yylsp[(3) - (3)]), state,
@@ -3952,10 +4024,10 @@ yyreduce:
;}
break;
- case 139:
+ case 150:
/* Line 1464 of yacc.c */
-#line 1031 "glsl_parser.ypp"
+#line 1096 "glsl_parser.ypp"
{
bool got_one = false;
@@ -4009,10 +4081,10 @@ yyreduce:
;}
break;
- case 140:
+ case 151:
/* Line 1464 of yacc.c */
-#line 1083 "glsl_parser.ypp"
+#line 1148 "glsl_parser.ypp"
{
bool got_one = false;
@@ -4052,80 +4124,80 @@ yyreduce:
;}
break;
- case 141:
+ case 152:
/* Line 1464 of yacc.c */
-#line 1124 "glsl_parser.ypp"
+#line 1189 "glsl_parser.ypp"
{
memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
(yyval.type_qualifier).flags.q.smooth = 1;
;}
break;
- case 142:
+ case 153:
/* Line 1464 of yacc.c */
-#line 1129 "glsl_parser.ypp"
+#line 1194 "glsl_parser.ypp"
{
memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
(yyval.type_qualifier).flags.q.flat = 1;
;}
break;
- case 143:
+ case 154:
/* Line 1464 of yacc.c */
-#line 1134 "glsl_parser.ypp"
+#line 1199 "glsl_parser.ypp"
{
memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
(yyval.type_qualifier).flags.q.noperspective = 1;
;}
break;
- case 144:
+ case 155:
/* Line 1464 of yacc.c */
-#line 1142 "glsl_parser.ypp"
+#line 1207 "glsl_parser.ypp"
{
memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
(yyval.type_qualifier).flags.q.constant = 1;
;}
break;
- case 147:
+ case 158:
/* Line 1464 of yacc.c */
-#line 1152 "glsl_parser.ypp"
+#line 1217 "glsl_parser.ypp"
{
(yyval.type_qualifier) = (yyvsp[(1) - (2)].type_qualifier);
(yyval.type_qualifier).flags.i |= (yyvsp[(2) - (2)].type_qualifier).flags.i;
;}
break;
- case 149:
+ case 160:
/* Line 1464 of yacc.c */
-#line 1158 "glsl_parser.ypp"
+#line 1223 "glsl_parser.ypp"
{
(yyval.type_qualifier) = (yyvsp[(1) - (2)].type_qualifier);
(yyval.type_qualifier).flags.i |= (yyvsp[(2) - (2)].type_qualifier).flags.i;
;}
break;
- case 150:
+ case 161:
/* Line 1464 of yacc.c */
-#line 1163 "glsl_parser.ypp"
+#line 1228 "glsl_parser.ypp"
{
(yyval.type_qualifier) = (yyvsp[(2) - (2)].type_qualifier);
(yyval.type_qualifier).flags.q.invariant = 1;
;}
break;
- case 151:
+ case 162:
/* Line 1464 of yacc.c */
-#line 1168 "glsl_parser.ypp"
+#line 1233 "glsl_parser.ypp"
{
(yyval.type_qualifier) = (yyvsp[(2) - (3)].type_qualifier);
(yyval.type_qualifier).flags.i |= (yyvsp[(3) - (3)].type_qualifier).flags.i;
@@ -4133,50 +4205,50 @@ yyreduce:
;}
break;
- case 152:
+ case 163:
/* Line 1464 of yacc.c */
-#line 1174 "glsl_parser.ypp"
+#line 1239 "glsl_parser.ypp"
{
memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
(yyval.type_qualifier).flags.q.invariant = 1;
;}
break;
- case 153:
+ case 164:
/* Line 1464 of yacc.c */
-#line 1182 "glsl_parser.ypp"
+#line 1247 "glsl_parser.ypp"
{
memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
(yyval.type_qualifier).flags.q.constant = 1;
;}
break;
- case 154:
+ case 165:
/* Line 1464 of yacc.c */
-#line 1187 "glsl_parser.ypp"
+#line 1252 "glsl_parser.ypp"
{
memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
(yyval.type_qualifier).flags.q.attribute = 1;
;}
break;
- case 155:
+ case 166:
/* Line 1464 of yacc.c */
-#line 1192 "glsl_parser.ypp"
+#line 1257 "glsl_parser.ypp"
{
memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
(yyval.type_qualifier).flags.q.varying = 1;
;}
break;
- case 156:
+ case 167:
/* Line 1464 of yacc.c */
-#line 1197 "glsl_parser.ypp"
+#line 1262 "glsl_parser.ypp"
{
memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
(yyval.type_qualifier).flags.q.centroid = 1;
@@ -4184,79 +4256,79 @@ yyreduce:
;}
break;
- case 157:
+ case 168:
/* Line 1464 of yacc.c */
-#line 1203 "glsl_parser.ypp"
+#line 1268 "glsl_parser.ypp"
{
memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
(yyval.type_qualifier).flags.q.in = 1;
;}
break;
- case 158:
+ case 169:
/* Line 1464 of yacc.c */
-#line 1208 "glsl_parser.ypp"
+#line 1273 "glsl_parser.ypp"
{
memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
(yyval.type_qualifier).flags.q.out = 1;
;}
break;
- case 159:
+ case 170:
/* Line 1464 of yacc.c */
-#line 1213 "glsl_parser.ypp"
+#line 1278 "glsl_parser.ypp"
{
memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
(yyval.type_qualifier).flags.q.centroid = 1; (yyval.type_qualifier).flags.q.in = 1;
;}
break;
- case 160:
+ case 171:
/* Line 1464 of yacc.c */
-#line 1218 "glsl_parser.ypp"
+#line 1283 "glsl_parser.ypp"
{
memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
(yyval.type_qualifier).flags.q.centroid = 1; (yyval.type_qualifier).flags.q.out = 1;
;}
break;
- case 161:
+ case 172:
/* Line 1464 of yacc.c */
-#line 1223 "glsl_parser.ypp"
+#line 1288 "glsl_parser.ypp"
{
memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
(yyval.type_qualifier).flags.q.uniform = 1;
;}
break;
- case 162:
+ case 173:
/* Line 1464 of yacc.c */
-#line 1231 "glsl_parser.ypp"
+#line 1296 "glsl_parser.ypp"
{
(yyval.type_specifier) = (yyvsp[(1) - (1)].type_specifier);
;}
break;
- case 163:
+ case 174:
/* Line 1464 of yacc.c */
-#line 1235 "glsl_parser.ypp"
+#line 1300 "glsl_parser.ypp"
{
(yyval.type_specifier) = (yyvsp[(2) - (2)].type_specifier);
(yyval.type_specifier)->precision = (yyvsp[(1) - (2)].n);
;}
break;
- case 165:
+ case 176:
/* Line 1464 of yacc.c */
-#line 1244 "glsl_parser.ypp"
+#line 1309 "glsl_parser.ypp"
{
(yyval.type_specifier) = (yyvsp[(1) - (3)].type_specifier);
(yyval.type_specifier)->is_array = true;
@@ -4264,10 +4336,10 @@ yyreduce:
;}
break;
- case 166:
+ case 177:
/* Line 1464 of yacc.c */
-#line 1250 "glsl_parser.ypp"
+#line 1315 "glsl_parser.ypp"
{
(yyval.type_specifier) = (yyvsp[(1) - (4)].type_specifier);
(yyval.type_specifier)->is_array = true;
@@ -4275,10 +4347,10 @@ yyreduce:
;}
break;
- case 167:
+ case 178:
/* Line 1464 of yacc.c */
-#line 1259 "glsl_parser.ypp"
+#line 1324 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].n));
@@ -4286,10 +4358,10 @@ yyreduce:
;}
break;
- case 168:
+ case 179:
/* Line 1464 of yacc.c */
-#line 1265 "glsl_parser.ypp"
+#line 1330 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].struct_specifier));
@@ -4297,10 +4369,10 @@ yyreduce:
;}
break;
- case 169:
+ case 180:
/* Line 1464 of yacc.c */
-#line 1271 "glsl_parser.ypp"
+#line 1336 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].identifier));
@@ -4308,367 +4380,367 @@ yyreduce:
;}
break;
- case 170:
+ case 181:
/* Line 1464 of yacc.c */
-#line 1279 "glsl_parser.ypp"
+#line 1344 "glsl_parser.ypp"
{ (yyval.n) = ast_void; ;}
break;
- case 171:
+ case 182:
/* Line 1464 of yacc.c */
-#line 1280 "glsl_parser.ypp"
+#line 1345 "glsl_parser.ypp"
{ (yyval.n) = ast_float; ;}
break;
- case 172:
+ case 183:
/* Line 1464 of yacc.c */
-#line 1281 "glsl_parser.ypp"
+#line 1346 "glsl_parser.ypp"
{ (yyval.n) = ast_int; ;}
break;
- case 173:
+ case 184:
/* Line 1464 of yacc.c */
-#line 1282 "glsl_parser.ypp"
+#line 1347 "glsl_parser.ypp"
{ (yyval.n) = ast_uint; ;}
break;
- case 174:
+ case 185:
/* Line 1464 of yacc.c */
-#line 1283 "glsl_parser.ypp"
+#line 1348 "glsl_parser.ypp"
{ (yyval.n) = ast_bool; ;}
break;
- case 175:
+ case 186:
/* Line 1464 of yacc.c */
-#line 1284 "glsl_parser.ypp"
+#line 1349 "glsl_parser.ypp"
{ (yyval.n) = ast_vec2; ;}
break;
- case 176:
+ case 187:
/* Line 1464 of yacc.c */
-#line 1285 "glsl_parser.ypp"
+#line 1350 "glsl_parser.ypp"
{ (yyval.n) = ast_vec3; ;}
break;
- case 177:
+ case 188:
/* Line 1464 of yacc.c */
-#line 1286 "glsl_parser.ypp"
+#line 1351 "glsl_parser.ypp"
{ (yyval.n) = ast_vec4; ;}
break;
- case 178:
+ case 189:
/* Line 1464 of yacc.c */
-#line 1287 "glsl_parser.ypp"
+#line 1352 "glsl_parser.ypp"
{ (yyval.n) = ast_bvec2; ;}
break;
- case 179:
+ case 190:
/* Line 1464 of yacc.c */
-#line 1288 "glsl_parser.ypp"
+#line 1353 "glsl_parser.ypp"
{ (yyval.n) = ast_bvec3; ;}
break;
- case 180:
+ case 191:
/* Line 1464 of yacc.c */
-#line 1289 "glsl_parser.ypp"
+#line 1354 "glsl_parser.ypp"
{ (yyval.n) = ast_bvec4; ;}
break;
- case 181:
+ case 192:
/* Line 1464 of yacc.c */
-#line 1290 "glsl_parser.ypp"
+#line 1355 "glsl_parser.ypp"
{ (yyval.n) = ast_ivec2; ;}
break;
- case 182:
+ case 193:
/* Line 1464 of yacc.c */
-#line 1291 "glsl_parser.ypp"
+#line 1356 "glsl_parser.ypp"
{ (yyval.n) = ast_ivec3; ;}
break;
- case 183:
+ case 194:
/* Line 1464 of yacc.c */
-#line 1292 "glsl_parser.ypp"
+#line 1357 "glsl_parser.ypp"
{ (yyval.n) = ast_ivec4; ;}
break;
- case 184:
+ case 195:
/* Line 1464 of yacc.c */
-#line 1293 "glsl_parser.ypp"
+#line 1358 "glsl_parser.ypp"
{ (yyval.n) = ast_uvec2; ;}
break;
- case 185:
+ case 196:
/* Line 1464 of yacc.c */
-#line 1294 "glsl_parser.ypp"
+#line 1359 "glsl_parser.ypp"
{ (yyval.n) = ast_uvec3; ;}
break;
- case 186:
+ case 197:
/* Line 1464 of yacc.c */
-#line 1295 "glsl_parser.ypp"
+#line 1360 "glsl_parser.ypp"
{ (yyval.n) = ast_uvec4; ;}
break;
- case 187:
+ case 198:
/* Line 1464 of yacc.c */
-#line 1296 "glsl_parser.ypp"
+#line 1361 "glsl_parser.ypp"
{ (yyval.n) = ast_mat2; ;}
break;
- case 188:
+ case 199:
/* Line 1464 of yacc.c */
-#line 1297 "glsl_parser.ypp"
+#line 1362 "glsl_parser.ypp"
{ (yyval.n) = ast_mat2x3; ;}
break;
- case 189:
+ case 200:
/* Line 1464 of yacc.c */
-#line 1298 "glsl_parser.ypp"
+#line 1363 "glsl_parser.ypp"
{ (yyval.n) = ast_mat2x4; ;}
break;
- case 190:
+ case 201:
/* Line 1464 of yacc.c */
-#line 1299 "glsl_parser.ypp"
+#line 1364 "glsl_parser.ypp"
{ (yyval.n) = ast_mat3x2; ;}
break;
- case 191:
+ case 202:
/* Line 1464 of yacc.c */
-#line 1300 "glsl_parser.ypp"
+#line 1365 "glsl_parser.ypp"
{ (yyval.n) = ast_mat3; ;}
break;
- case 192:
+ case 203:
/* Line 1464 of yacc.c */
-#line 1301 "glsl_parser.ypp"
+#line 1366 "glsl_parser.ypp"
{ (yyval.n) = ast_mat3x4; ;}
break;
- case 193:
+ case 204:
/* Line 1464 of yacc.c */
-#line 1302 "glsl_parser.ypp"
+#line 1367 "glsl_parser.ypp"
{ (yyval.n) = ast_mat4x2; ;}
break;
- case 194:
+ case 205:
/* Line 1464 of yacc.c */
-#line 1303 "glsl_parser.ypp"
+#line 1368 "glsl_parser.ypp"
{ (yyval.n) = ast_mat4x3; ;}
break;
- case 195:
+ case 206:
/* Line 1464 of yacc.c */
-#line 1304 "glsl_parser.ypp"
+#line 1369 "glsl_parser.ypp"
{ (yyval.n) = ast_mat4; ;}
break;
- case 196:
+ case 207:
/* Line 1464 of yacc.c */
-#line 1305 "glsl_parser.ypp"
+#line 1370 "glsl_parser.ypp"
{ (yyval.n) = ast_sampler1d; ;}
break;
- case 197:
+ case 208:
/* Line 1464 of yacc.c */
-#line 1306 "glsl_parser.ypp"
+#line 1371 "glsl_parser.ypp"
{ (yyval.n) = ast_sampler2d; ;}
break;
- case 198:
+ case 209:
/* Line 1464 of yacc.c */
-#line 1307 "glsl_parser.ypp"
+#line 1372 "glsl_parser.ypp"
{ (yyval.n) = ast_sampler2drect; ;}
break;
- case 199:
+ case 210:
/* Line 1464 of yacc.c */
-#line 1308 "glsl_parser.ypp"
+#line 1373 "glsl_parser.ypp"
{ (yyval.n) = ast_sampler3d; ;}
break;
- case 200:
+ case 211:
/* Line 1464 of yacc.c */
-#line 1309 "glsl_parser.ypp"
+#line 1374 "glsl_parser.ypp"
{ (yyval.n) = ast_samplercube; ;}
break;
- case 201:
+ case 212:
/* Line 1464 of yacc.c */
-#line 1310 "glsl_parser.ypp"
+#line 1375 "glsl_parser.ypp"
{ (yyval.n) = ast_sampler1dshadow; ;}
break;
- case 202:
+ case 213:
/* Line 1464 of yacc.c */
-#line 1311 "glsl_parser.ypp"
+#line 1376 "glsl_parser.ypp"
{ (yyval.n) = ast_sampler2dshadow; ;}
break;
- case 203:
+ case 214:
/* Line 1464 of yacc.c */
-#line 1312 "glsl_parser.ypp"
+#line 1377 "glsl_parser.ypp"
{ (yyval.n) = ast_sampler2drectshadow; ;}
break;
- case 204:
+ case 215:
/* Line 1464 of yacc.c */
-#line 1313 "glsl_parser.ypp"
+#line 1378 "glsl_parser.ypp"
{ (yyval.n) = ast_samplercubeshadow; ;}
break;
- case 205:
+ case 216:
/* Line 1464 of yacc.c */
-#line 1314 "glsl_parser.ypp"
+#line 1379 "glsl_parser.ypp"
{ (yyval.n) = ast_sampler1darray; ;}
break;
- case 206:
+ case 217:
/* Line 1464 of yacc.c */
-#line 1315 "glsl_parser.ypp"
+#line 1380 "glsl_parser.ypp"
{ (yyval.n) = ast_sampler2darray; ;}
break;
- case 207:
+ case 218:
/* Line 1464 of yacc.c */
-#line 1316 "glsl_parser.ypp"
+#line 1381 "glsl_parser.ypp"
{ (yyval.n) = ast_sampler1darrayshadow; ;}
break;
- case 208:
+ case 219:
/* Line 1464 of yacc.c */
-#line 1317 "glsl_parser.ypp"
+#line 1382 "glsl_parser.ypp"
{ (yyval.n) = ast_sampler2darrayshadow; ;}
break;
- case 209:
+ case 220:
/* Line 1464 of yacc.c */
-#line 1318 "glsl_parser.ypp"
+#line 1383 "glsl_parser.ypp"
{ (yyval.n) = ast_isampler1d; ;}
break;
- case 210:
+ case 221:
/* Line 1464 of yacc.c */
-#line 1319 "glsl_parser.ypp"
+#line 1384 "glsl_parser.ypp"
{ (yyval.n) = ast_isampler2d; ;}
break;
- case 211:
+ case 222:
/* Line 1464 of yacc.c */
-#line 1320 "glsl_parser.ypp"
+#line 1385 "glsl_parser.ypp"
{ (yyval.n) = ast_isampler3d; ;}
break;
- case 212:
+ case 223:
/* Line 1464 of yacc.c */
-#line 1321 "glsl_parser.ypp"
+#line 1386 "glsl_parser.ypp"
{ (yyval.n) = ast_isamplercube; ;}
break;
- case 213:
+ case 224:
/* Line 1464 of yacc.c */
-#line 1322 "glsl_parser.ypp"
+#line 1387 "glsl_parser.ypp"
{ (yyval.n) = ast_isampler1darray; ;}
break;
- case 214:
+ case 225:
/* Line 1464 of yacc.c */
-#line 1323 "glsl_parser.ypp"
+#line 1388 "glsl_parser.ypp"
{ (yyval.n) = ast_isampler2darray; ;}
break;
- case 215:
+ case 226:
/* Line 1464 of yacc.c */
-#line 1324 "glsl_parser.ypp"
+#line 1389 "glsl_parser.ypp"
{ (yyval.n) = ast_usampler1d; ;}
break;
- case 216:
+ case 227:
/* Line 1464 of yacc.c */
-#line 1325 "glsl_parser.ypp"
+#line 1390 "glsl_parser.ypp"
{ (yyval.n) = ast_usampler2d; ;}
break;
- case 217:
+ case 228:
/* Line 1464 of yacc.c */
-#line 1326 "glsl_parser.ypp"
+#line 1391 "glsl_parser.ypp"
{ (yyval.n) = ast_usampler3d; ;}
break;
- case 218:
+ case 229:
/* Line 1464 of yacc.c */
-#line 1327 "glsl_parser.ypp"
+#line 1392 "glsl_parser.ypp"
{ (yyval.n) = ast_usamplercube; ;}
break;
- case 219:
+ case 230:
/* Line 1464 of yacc.c */
-#line 1328 "glsl_parser.ypp"
+#line 1393 "glsl_parser.ypp"
{ (yyval.n) = ast_usampler1darray; ;}
break;
- case 220:
+ case 231:
/* Line 1464 of yacc.c */
-#line 1329 "glsl_parser.ypp"
+#line 1394 "glsl_parser.ypp"
{ (yyval.n) = ast_usampler2darray; ;}
break;
- case 221:
+ case 232:
/* Line 1464 of yacc.c */
-#line 1333 "glsl_parser.ypp"
+#line 1398 "glsl_parser.ypp"
{
if (!state->es_shader && state->language_version < 130)
_mesa_glsl_error(& (yylsp[(1) - (1)]), state,
@@ -4681,10 +4753,10 @@ yyreduce:
;}
break;
- case 222:
+ case 233:
/* Line 1464 of yacc.c */
-#line 1343 "glsl_parser.ypp"
+#line 1408 "glsl_parser.ypp"
{
if (!state->es_shader && state->language_version < 130)
_mesa_glsl_error(& (yylsp[(1) - (1)]), state,
@@ -4697,10 +4769,10 @@ yyreduce:
;}
break;
- case 223:
+ case 234:
/* Line 1464 of yacc.c */
-#line 1353 "glsl_parser.ypp"
+#line 1418 "glsl_parser.ypp"
{
if (!state->es_shader && state->language_version < 130)
_mesa_glsl_error(& (yylsp[(1) - (1)]), state,
@@ -4713,21 +4785,22 @@ yyreduce:
;}
break;
- case 224:
+ case 235:
/* Line 1464 of yacc.c */
-#line 1367 "glsl_parser.ypp"
+#line 1432 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.struct_specifier) = new(ctx) ast_struct_specifier((yyvsp[(2) - (5)].identifier), (yyvsp[(4) - (5)].node));
(yyval.struct_specifier)->set_location(yylloc);
+ state->symbols->add_type((yyvsp[(2) - (5)].identifier), glsl_type::void_type);
;}
break;
- case 225:
+ case 236:
/* Line 1464 of yacc.c */
-#line 1373 "glsl_parser.ypp"
+#line 1439 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.struct_specifier) = new(ctx) ast_struct_specifier(NULL, (yyvsp[(3) - (4)].node));
@@ -4735,30 +4808,30 @@ yyreduce:
;}
break;
- case 226:
+ case 237:
/* Line 1464 of yacc.c */
-#line 1382 "glsl_parser.ypp"
+#line 1448 "glsl_parser.ypp"
{
(yyval.node) = (ast_node *) (yyvsp[(1) - (1)].declarator_list);
(yyvsp[(1) - (1)].declarator_list)->link.self_link();
;}
break;
- case 227:
+ case 238:
/* Line 1464 of yacc.c */
-#line 1387 "glsl_parser.ypp"
+#line 1453 "glsl_parser.ypp"
{
(yyval.node) = (ast_node *) (yyvsp[(1) - (2)].node);
(yyval.node)->link.insert_before(& (yyvsp[(2) - (2)].declarator_list)->link);
;}
break;
- case 228:
+ case 239:
/* Line 1464 of yacc.c */
-#line 1395 "glsl_parser.ypp"
+#line 1461 "glsl_parser.ypp"
{
void *ctx = state;
ast_fully_specified_type *type = new(ctx) ast_fully_specified_type();
@@ -4772,41 +4845,42 @@ yyreduce:
;}
break;
- case 229:
+ case 240:
/* Line 1464 of yacc.c */
-#line 1410 "glsl_parser.ypp"
+#line 1476 "glsl_parser.ypp"
{
(yyval.declaration) = (yyvsp[(1) - (1)].declaration);
(yyvsp[(1) - (1)].declaration)->link.self_link();
;}
break;
- case 230:
+ case 241:
/* Line 1464 of yacc.c */
-#line 1415 "glsl_parser.ypp"
+#line 1481 "glsl_parser.ypp"
{
(yyval.declaration) = (yyvsp[(1) - (3)].declaration);
(yyval.declaration)->link.insert_before(& (yyvsp[(3) - (3)].declaration)->link);
;}
break;
- case 231:
+ case 242:
/* Line 1464 of yacc.c */
-#line 1423 "glsl_parser.ypp"
+#line 1489 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.declaration) = new(ctx) ast_declaration((yyvsp[(1) - (1)].identifier), false, NULL, NULL);
(yyval.declaration)->set_location(yylloc);
+ state->symbols->add_variable(new(state) ir_variable(NULL, (yyvsp[(1) - (1)].identifier), ir_var_auto));
;}
break;
- case 232:
+ case 243:
/* Line 1464 of yacc.c */
-#line 1429 "glsl_parser.ypp"
+#line 1496 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.declaration) = new(ctx) ast_declaration((yyvsp[(1) - (4)].identifier), true, (yyvsp[(3) - (4)].expression), NULL);
@@ -4814,31 +4888,31 @@ yyreduce:
;}
break;
- case 235:
+ case 246:
/* Line 1464 of yacc.c */
-#line 1447 "glsl_parser.ypp"
+#line 1514 "glsl_parser.ypp"
{ (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].compound_statement); ;}
break;
- case 240:
+ case 251:
/* Line 1464 of yacc.c */
-#line 1455 "glsl_parser.ypp"
+#line 1522 "glsl_parser.ypp"
{ (yyval.node) = NULL; ;}
break;
- case 241:
+ case 252:
/* Line 1464 of yacc.c */
-#line 1456 "glsl_parser.ypp"
+#line 1523 "glsl_parser.ypp"
{ (yyval.node) = NULL; ;}
break;
- case 244:
+ case 255:
/* Line 1464 of yacc.c */
-#line 1463 "glsl_parser.ypp"
+#line 1530 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.compound_statement) = new(ctx) ast_compound_statement(true, NULL);
@@ -4846,28 +4920,38 @@ yyreduce:
;}
break;
- case 245:
+ case 256:
/* Line 1464 of yacc.c */
-#line 1469 "glsl_parser.ypp"
+#line 1536 "glsl_parser.ypp"
+ {
+ state->symbols->push_scope();
+ ;}
+ break;
+
+ case 257:
+
+/* Line 1464 of yacc.c */
+#line 1540 "glsl_parser.ypp"
{
void *ctx = state;
- (yyval.compound_statement) = new(ctx) ast_compound_statement(true, (yyvsp[(2) - (3)].node));
+ (yyval.compound_statement) = new(ctx) ast_compound_statement(true, (yyvsp[(3) - (4)].node));
(yyval.compound_statement)->set_location(yylloc);
+ state->symbols->pop_scope();
;}
break;
- case 246:
+ case 258:
/* Line 1464 of yacc.c */
-#line 1477 "glsl_parser.ypp"
+#line 1549 "glsl_parser.ypp"
{ (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].compound_statement); ;}
break;
- case 248:
+ case 260:
/* Line 1464 of yacc.c */
-#line 1483 "glsl_parser.ypp"
+#line 1555 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.compound_statement) = new(ctx) ast_compound_statement(false, NULL);
@@ -4875,10 +4959,10 @@ yyreduce:
;}
break;
- case 249:
+ case 261:
/* Line 1464 of yacc.c */
-#line 1489 "glsl_parser.ypp"
+#line 1561 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.compound_statement) = new(ctx) ast_compound_statement(false, (yyvsp[(2) - (3)].node));
@@ -4886,10 +4970,10 @@ yyreduce:
;}
break;
- case 250:
+ case 262:
/* Line 1464 of yacc.c */
-#line 1498 "glsl_parser.ypp"
+#line 1570 "glsl_parser.ypp"
{
if ((yyvsp[(1) - (1)].node) == NULL) {
_mesa_glsl_error(& (yylsp[(1) - (1)]), state, "<nil> statement\n");
@@ -4901,10 +4985,10 @@ yyreduce:
;}
break;
- case 251:
+ case 263:
/* Line 1464 of yacc.c */
-#line 1508 "glsl_parser.ypp"
+#line 1580 "glsl_parser.ypp"
{
if ((yyvsp[(2) - (2)].node) == NULL) {
_mesa_glsl_error(& (yylsp[(2) - (2)]), state, "<nil> statement\n");
@@ -4915,10 +4999,10 @@ yyreduce:
;}
break;
- case 252:
+ case 264:
/* Line 1464 of yacc.c */
-#line 1520 "glsl_parser.ypp"
+#line 1592 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.node) = new(ctx) ast_expression_statement(NULL);
@@ -4926,10 +5010,10 @@ yyreduce:
;}
break;
- case 253:
+ case 265:
/* Line 1464 of yacc.c */
-#line 1526 "glsl_parser.ypp"
+#line 1598 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.node) = new(ctx) ast_expression_statement((yyvsp[(1) - (2)].expression));
@@ -4937,10 +5021,10 @@ yyreduce:
;}
break;
- case 254:
+ case 266:
/* Line 1464 of yacc.c */
-#line 1535 "glsl_parser.ypp"
+#line 1607 "glsl_parser.ypp"
{
(yyval.node) = new(state) ast_selection_statement((yyvsp[(3) - (5)].expression), (yyvsp[(5) - (5)].selection_rest_statement).then_statement,
(yyvsp[(5) - (5)].selection_rest_statement).else_statement);
@@ -4948,39 +5032,39 @@ yyreduce:
;}
break;
- case 255:
+ case 267:
/* Line 1464 of yacc.c */
-#line 1544 "glsl_parser.ypp"
+#line 1616 "glsl_parser.ypp"
{
(yyval.selection_rest_statement).then_statement = (yyvsp[(1) - (3)].node);
(yyval.selection_rest_statement).else_statement = (yyvsp[(3) - (3)].node);
;}
break;
- case 256:
+ case 268:
/* Line 1464 of yacc.c */
-#line 1549 "glsl_parser.ypp"
+#line 1621 "glsl_parser.ypp"
{
(yyval.selection_rest_statement).then_statement = (yyvsp[(1) - (1)].node);
(yyval.selection_rest_statement).else_statement = NULL;
;}
break;
- case 257:
+ case 269:
/* Line 1464 of yacc.c */
-#line 1557 "glsl_parser.ypp"
+#line 1629 "glsl_parser.ypp"
{
(yyval.node) = (ast_node *) (yyvsp[(1) - (1)].expression);
;}
break;
- case 258:
+ case 270:
/* Line 1464 of yacc.c */
-#line 1561 "glsl_parser.ypp"
+#line 1633 "glsl_parser.ypp"
{
void *ctx = state;
ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), false, NULL, (yyvsp[(4) - (4)].expression));
@@ -4993,10 +5077,10 @@ yyreduce:
;}
break;
- case 262:
+ case 274:
/* Line 1464 of yacc.c */
-#line 1584 "glsl_parser.ypp"
+#line 1656 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_while,
@@ -5005,10 +5089,10 @@ yyreduce:
;}
break;
- case 263:
+ case 275:
/* Line 1464 of yacc.c */
-#line 1591 "glsl_parser.ypp"
+#line 1663 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_do_while,
@@ -5017,10 +5101,10 @@ yyreduce:
;}
break;
- case 264:
+ case 276:
/* Line 1464 of yacc.c */
-#line 1598 "glsl_parser.ypp"
+#line 1670 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_for,
@@ -5029,39 +5113,39 @@ yyreduce:
;}
break;
- case 268:
+ case 280:
/* Line 1464 of yacc.c */
-#line 1614 "glsl_parser.ypp"
+#line 1686 "glsl_parser.ypp"
{
(yyval.node) = NULL;
;}
break;
- case 269:
+ case 281:
/* Line 1464 of yacc.c */
-#line 1621 "glsl_parser.ypp"
+#line 1693 "glsl_parser.ypp"
{
(yyval.for_rest_statement).cond = (yyvsp[(1) - (2)].node);
(yyval.for_rest_statement).rest = NULL;
;}
break;
- case 270:
+ case 282:
/* Line 1464 of yacc.c */
-#line 1626 "glsl_parser.ypp"
+#line 1698 "glsl_parser.ypp"
{
(yyval.for_rest_statement).cond = (yyvsp[(1) - (3)].node);
(yyval.for_rest_statement).rest = (yyvsp[(3) - (3)].expression);
;}
break;
- case 271:
+ case 283:
/* Line 1464 of yacc.c */
-#line 1635 "glsl_parser.ypp"
+#line 1707 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_continue, NULL);
@@ -5069,10 +5153,10 @@ yyreduce:
;}
break;
- case 272:
+ case 284:
/* Line 1464 of yacc.c */
-#line 1641 "glsl_parser.ypp"
+#line 1713 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_break, NULL);
@@ -5080,10 +5164,10 @@ yyreduce:
;}
break;
- case 273:
+ case 285:
/* Line 1464 of yacc.c */
-#line 1647 "glsl_parser.ypp"
+#line 1719 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_return, NULL);
@@ -5091,10 +5175,10 @@ yyreduce:
;}
break;
- case 274:
+ case 286:
/* Line 1464 of yacc.c */
-#line 1653 "glsl_parser.ypp"
+#line 1725 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_return, (yyvsp[(2) - (3)].expression));
@@ -5102,10 +5186,10 @@ yyreduce:
;}
break;
- case 275:
+ case 287:
/* Line 1464 of yacc.c */
-#line 1659 "glsl_parser.ypp"
+#line 1731 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_discard, NULL);
@@ -5113,44 +5197,46 @@ yyreduce:
;}
break;
- case 276:
+ case 288:
/* Line 1464 of yacc.c */
-#line 1667 "glsl_parser.ypp"
+#line 1739 "glsl_parser.ypp"
{ (yyval.node) = (yyvsp[(1) - (1)].function_definition); ;}
break;
- case 277:
+ case 289:
/* Line 1464 of yacc.c */
-#line 1668 "glsl_parser.ypp"
+#line 1740 "glsl_parser.ypp"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
- case 278:
+ case 290:
/* Line 1464 of yacc.c */
-#line 1669 "glsl_parser.ypp"
+#line 1741 "glsl_parser.ypp"
{ (yyval.node) = NULL; ;}
break;
- case 279:
+ case 291:
/* Line 1464 of yacc.c */
-#line 1674 "glsl_parser.ypp"
+#line 1746 "glsl_parser.ypp"
{
void *ctx = state;
(yyval.function_definition) = new(ctx) ast_function_definition();
(yyval.function_definition)->set_location(yylloc);
(yyval.function_definition)->prototype = (yyvsp[(1) - (2)].function);
(yyval.function_definition)->body = (yyvsp[(2) - (2)].compound_statement);
+
+ state->symbols->pop_scope();
;}
break;
/* Line 1464 of yacc.c */
-#line 5154 "glsl_parser.cpp"
+#line 5240 "glsl_parser.cpp"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
diff --git a/src/glsl/glsl_parser.h b/src/glsl/glsl_parser.h
index 1bf3b3538c7..7f36492f7a1 100644
--- a/src/glsl/glsl_parser.h
+++ b/src/glsl/glsl_parser.h
@@ -112,123 +112,125 @@
VOID_TOK = 329,
WHILE = 330,
IDENTIFIER = 331,
- FLOATCONSTANT = 332,
- INTCONSTANT = 333,
- UINTCONSTANT = 334,
- BOOLCONSTANT = 335,
- FIELD_SELECTION = 336,
- LEFT_OP = 337,
- RIGHT_OP = 338,
- INC_OP = 339,
- DEC_OP = 340,
- LE_OP = 341,
- GE_OP = 342,
- EQ_OP = 343,
- NE_OP = 344,
- AND_OP = 345,
- OR_OP = 346,
- XOR_OP = 347,
- MUL_ASSIGN = 348,
- DIV_ASSIGN = 349,
- ADD_ASSIGN = 350,
- MOD_ASSIGN = 351,
- LEFT_ASSIGN = 352,
- RIGHT_ASSIGN = 353,
- AND_ASSIGN = 354,
- XOR_ASSIGN = 355,
- OR_ASSIGN = 356,
- SUB_ASSIGN = 357,
- INVARIANT = 358,
- LOWP = 359,
- MEDIUMP = 360,
- HIGHP = 361,
- SUPERP = 362,
- PRECISION = 363,
- VERSION = 364,
- EXTENSION = 365,
- LINE = 366,
- COLON = 367,
- EOL = 368,
- INTERFACE = 369,
- OUTPUT = 370,
- PRAGMA_DEBUG_ON = 371,
- PRAGMA_DEBUG_OFF = 372,
- PRAGMA_OPTIMIZE_ON = 373,
- PRAGMA_OPTIMIZE_OFF = 374,
- PRAGMA_INVARIANT_ALL = 375,
- LAYOUT_TOK = 376,
- ASM = 377,
- CLASS = 378,
- UNION = 379,
- ENUM = 380,
- TYPEDEF = 381,
- TEMPLATE = 382,
- THIS = 383,
- PACKED_TOK = 384,
- GOTO = 385,
- INLINE_TOK = 386,
- NOINLINE = 387,
- VOLATILE = 388,
- PUBLIC_TOK = 389,
- STATIC = 390,
- EXTERN = 391,
- EXTERNAL = 392,
- LONG_TOK = 393,
- SHORT_TOK = 394,
- DOUBLE_TOK = 395,
- HALF = 396,
- FIXED_TOK = 397,
- UNSIGNED = 398,
- INPUT_TOK = 399,
- OUPTUT = 400,
- HVEC2 = 401,
- HVEC3 = 402,
- HVEC4 = 403,
- DVEC2 = 404,
- DVEC3 = 405,
- DVEC4 = 406,
- FVEC2 = 407,
- FVEC3 = 408,
- FVEC4 = 409,
- SAMPLER2DRECT = 410,
- SAMPLER3DRECT = 411,
- SAMPLER2DRECTSHADOW = 412,
- SIZEOF = 413,
- CAST = 414,
- NAMESPACE = 415,
- USING = 416,
- ERROR_TOK = 417,
- COMMON = 418,
- PARTITION = 419,
- ACTIVE = 420,
- SAMPLERBUFFER = 421,
- FILTER = 422,
- IMAGE1D = 423,
- IMAGE2D = 424,
- IMAGE3D = 425,
- IMAGECUBE = 426,
- IMAGE1DARRAY = 427,
- IMAGE2DARRAY = 428,
- IIMAGE1D = 429,
- IIMAGE2D = 430,
- IIMAGE3D = 431,
- IIMAGECUBE = 432,
- IIMAGE1DARRAY = 433,
- IIMAGE2DARRAY = 434,
- UIMAGE1D = 435,
- UIMAGE2D = 436,
- UIMAGE3D = 437,
- UIMAGECUBE = 438,
- UIMAGE1DARRAY = 439,
- UIMAGE2DARRAY = 440,
- IMAGE1DSHADOW = 441,
- IMAGE2DSHADOW = 442,
- IMAGEBUFFER = 443,
- IIMAGEBUFFER = 444,
- UIMAGEBUFFER = 445,
- IMAGE1DARRAYSHADOW = 446,
- IMAGE2DARRAYSHADOW = 447,
- ROW_MAJOR = 448
+ TYPE_IDENTIFIER = 332,
+ NEW_IDENTIFIER = 333,
+ FLOATCONSTANT = 334,
+ INTCONSTANT = 335,
+ UINTCONSTANT = 336,
+ BOOLCONSTANT = 337,
+ FIELD_SELECTION = 338,
+ LEFT_OP = 339,
+ RIGHT_OP = 340,
+ INC_OP = 341,
+ DEC_OP = 342,
+ LE_OP = 343,
+ GE_OP = 344,
+ EQ_OP = 345,
+ NE_OP = 346,
+ AND_OP = 347,
+ OR_OP = 348,
+ XOR_OP = 349,
+ MUL_ASSIGN = 350,
+ DIV_ASSIGN = 351,
+ ADD_ASSIGN = 352,
+ MOD_ASSIGN = 353,
+ LEFT_ASSIGN = 354,
+ RIGHT_ASSIGN = 355,
+ AND_ASSIGN = 356,
+ XOR_ASSIGN = 357,
+ OR_ASSIGN = 358,
+ SUB_ASSIGN = 359,
+ INVARIANT = 360,
+ LOWP = 361,
+ MEDIUMP = 362,
+ HIGHP = 363,
+ SUPERP = 364,
+ PRECISION = 365,
+ VERSION = 366,
+ EXTENSION = 367,
+ LINE = 368,
+ COLON = 369,
+ EOL = 370,
+ INTERFACE = 371,
+ OUTPUT = 372,
+ PRAGMA_DEBUG_ON = 373,
+ PRAGMA_DEBUG_OFF = 374,
+ PRAGMA_OPTIMIZE_ON = 375,
+ PRAGMA_OPTIMIZE_OFF = 376,
+ PRAGMA_INVARIANT_ALL = 377,
+ LAYOUT_TOK = 378,
+ ASM = 379,
+ CLASS = 380,
+ UNION = 381,
+ ENUM = 382,
+ TYPEDEF = 383,
+ TEMPLATE = 384,
+ THIS = 385,
+ PACKED_TOK = 386,
+ GOTO = 387,
+ INLINE_TOK = 388,
+ NOINLINE = 389,
+ VOLATILE = 390,
+ PUBLIC_TOK = 391,
+ STATIC = 392,
+ EXTERN = 393,
+ EXTERNAL = 394,
+ LONG_TOK = 395,
+ SHORT_TOK = 396,
+ DOUBLE_TOK = 397,
+ HALF = 398,
+ FIXED_TOK = 399,
+ UNSIGNED = 400,
+ INPUT_TOK = 401,
+ OUPTUT = 402,
+ HVEC2 = 403,
+ HVEC3 = 404,
+ HVEC4 = 405,
+ DVEC2 = 406,
+ DVEC3 = 407,
+ DVEC4 = 408,
+ FVEC2 = 409,
+ FVEC3 = 410,
+ FVEC4 = 411,
+ SAMPLER2DRECT = 412,
+ SAMPLER3DRECT = 413,
+ SAMPLER2DRECTSHADOW = 414,
+ SIZEOF = 415,
+ CAST = 416,
+ NAMESPACE = 417,
+ USING = 418,
+ ERROR_TOK = 419,
+ COMMON = 420,
+ PARTITION = 421,
+ ACTIVE = 422,
+ SAMPLERBUFFER = 423,
+ FILTER = 424,
+ IMAGE1D = 425,
+ IMAGE2D = 426,
+ IMAGE3D = 427,
+ IMAGECUBE = 428,
+ IMAGE1DARRAY = 429,
+ IMAGE2DARRAY = 430,
+ IIMAGE1D = 431,
+ IIMAGE2D = 432,
+ IIMAGE3D = 433,
+ IIMAGECUBE = 434,
+ IIMAGE1DARRAY = 435,
+ IIMAGE2DARRAY = 436,
+ UIMAGE1D = 437,
+ UIMAGE2D = 438,
+ UIMAGE3D = 439,
+ UIMAGECUBE = 440,
+ UIMAGE1DARRAY = 441,
+ UIMAGE2DARRAY = 442,
+ IMAGE1DSHADOW = 443,
+ IMAGE2DSHADOW = 444,
+ IMAGEBUFFER = 445,
+ IIMAGEBUFFER = 446,
+ UIMAGEBUFFER = 447,
+ IMAGE1DARRAYSHADOW = 448,
+ IMAGE2DARRAYSHADOW = 449,
+ ROW_MAJOR = 450
};
#endif
@@ -272,7 +274,7 @@ typedef union YYSTYPE
/* Line 1685 of yacc.c */
-#line 276 "glsl_parser.h"
+#line 278 "glsl_parser.h"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */