Support in/out as type qualifiers.

TRAC #22715 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2123 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent 5524db0c
...@@ -164,10 +164,10 @@ extern void yyerror(TParseContext* context, const char* reason); ...@@ -164,10 +164,10 @@ extern void yyerror(TParseContext* context, const char* reason);
%type <interm> single_declaration init_declarator_list %type <interm> single_declaration init_declarator_list
%type <interm> parameter_declaration parameter_declarator parameter_type_specifier %type <interm> parameter_declaration parameter_declarator parameter_type_specifier
%type <interm.qualifier> parameter_qualifier %type <interm.qualifier> parameter_qualifier parameter_type_qualifier
%type <interm.precision> precision_qualifier %type <interm.precision> precision_qualifier
%type <interm.type> type_qualifier fully_specified_type type_specifier %type <interm.type> type_qualifier fully_specified_type type_specifier storage_qualifier
%type <interm.type> type_specifier_no_prec type_specifier_nonarray %type <interm.type> type_specifier_no_prec type_specifier_nonarray
%type <interm.type> struct_specifier %type <interm.type> struct_specifier
%type <interm.typeLine> struct_declarator %type <interm.typeLine> struct_declarator
...@@ -1158,9 +1158,9 @@ parameter_declaration ...@@ -1158,9 +1158,9 @@ parameter_declaration
// //
// Type + name // Type + name
// //
: type_qualifier parameter_qualifier parameter_declarator { : parameter_type_qualifier parameter_qualifier parameter_declarator {
$$ = $3; $$ = $3;
if (context->paramErrorCheck($3.line, $1.qualifier, $2, $$.param.type)) if (context->paramErrorCheck($3.line, $1, $2, $$.param.type))
context->recover(); context->recover();
} }
| parameter_qualifier parameter_declarator { | parameter_qualifier parameter_declarator {
...@@ -1173,9 +1173,9 @@ parameter_declaration ...@@ -1173,9 +1173,9 @@ parameter_declaration
// //
// Only type // Only type
// //
| type_qualifier parameter_qualifier parameter_type_specifier { | parameter_type_qualifier parameter_qualifier parameter_type_specifier {
$$ = $3; $$ = $3;
if (context->paramErrorCheck($3.line, $1.qualifier, $2, $$.param.type)) if (context->paramErrorCheck($3.line, $1, $2, $$.param.type))
context->recover(); context->recover();
} }
| parameter_qualifier parameter_type_specifier { | parameter_qualifier parameter_type_specifier {
...@@ -1502,11 +1502,14 @@ fully_specified_type ...@@ -1502,11 +1502,14 @@ fully_specified_type
} }
; ;
type_qualifier parameter_type_qualifier
: CONST_QUAL { : CONST_QUAL {
$$.setBasic(EbtVoid, EvqConst, $1.line); $$ = EvqConst;
} }
| ATTRIBUTE { ;
type_qualifier
: ATTRIBUTE {
VERTEX_ONLY("attribute", $1.line); VERTEX_ONLY("attribute", $1.line);
ES2_ONLY("attribute", $1.line); ES2_ONLY("attribute", $1.line);
if (context->globalErrorCheck($1.line, context->symbolTable.atGlobalLevel(), "attribute")) if (context->globalErrorCheck($1.line, context->symbolTable.atGlobalLevel(), "attribute"))
...@@ -1531,10 +1534,43 @@ type_qualifier ...@@ -1531,10 +1534,43 @@ type_qualifier
else else
$$.setBasic(EbtVoid, EvqInvariantVaryingIn, $1.line); $$.setBasic(EbtVoid, EvqInvariantVaryingIn, $1.line);
} }
| UNIFORM { | storage_qualifier {
$$.setBasic(EbtVoid, $1.qualifier, $1.line);
}
;
storage_qualifier
: CONST_QUAL {
$$.qualifier = EvqConst;
$$.line = $1.line;
}
| IN_QUAL {
ES3_ONLY("in", $1.line);
$$.qualifier = (context->shaderType == SH_FRAGMENT_SHADER) ? EvqVaryingIn : EvqAttribute;
$$.line = $1.line;
}
| OUT_QUAL {
ES3_ONLY("out", $1.line);
$$.qualifier = (context->shaderType == SH_FRAGMENT_SHADER) ? EvqFragColor : EvqVaryingOut;
$$.line = $1.line;
}
| CENTROID IN_QUAL {
ES3_ONLY("in", $1.line);
// FIXME: Handle centroid qualifier
$$.qualifier = (context->shaderType == SH_FRAGMENT_SHADER) ? EvqVaryingIn : EvqAttribute;
$$.line = $2.line;
}
| CENTROID OUT_QUAL {
ES3_ONLY("out", $1.line);
// FIXME: Handle centroid qualifier
$$.qualifier = (context->shaderType == SH_FRAGMENT_SHADER) ? EvqFragColor : EvqVaryingOut;
$$.line = $2.line;
}
| UNIFORM {
if (context->globalErrorCheck($1.line, context->symbolTable.atGlobalLevel(), "uniform")) if (context->globalErrorCheck($1.line, context->symbolTable.atGlobalLevel(), "uniform"))
context->recover(); context->recover();
$$.setBasic(EbtVoid, EvqUniform, $1.line); $$.qualifier = EvqUniform;
$$.line = $1.line;
} }
; ;
......
...@@ -529,18 +529,18 @@ union yyalloc ...@@ -529,18 +529,18 @@ union yyalloc
#endif #endif
/* YYFINAL -- State number of the termination state. */ /* YYFINAL -- State number of the termination state. */
#define YYFINAL 71 #define YYFINAL 77
/* YYLAST -- Last index in YYTABLE. */ /* YYLAST -- Last index in YYTABLE. */
#define YYLAST 1567 #define YYLAST 1546
/* YYNTOKENS -- Number of terminals. */ /* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 105 #define YYNTOKENS 105
/* YYNNTS -- Number of nonterminals. */ /* YYNNTS -- Number of nonterminals. */
#define YYNNTS 83 #define YYNNTS 85
/* YYNRULES -- Number of rules. */ /* YYNRULES -- Number of rules. */
#define YYNRULES 201 #define YYNRULES 207
/* YYNRULES -- Number of states. */ /* YYNRULES -- Number of states. */
#define YYNSTATES 304 #define YYNSTATES 311
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2 #define YYUNDEFTOK 2
...@@ -606,28 +606,28 @@ static const yytype_uint16 yyprhs[] = ...@@ -606,28 +606,28 @@ static const yytype_uint16 yyprhs[] =
225, 228, 234, 238, 241, 245, 248, 249, 251, 253, 225, 228, 234, 238, 241, 245, 248, 249, 251, 253,
255, 257, 259, 263, 269, 276, 282, 284, 287, 292, 255, 257, 259, 263, 269, 276, 282, 284, 287, 292,
298, 303, 306, 308, 311, 313, 315, 317, 320, 322, 298, 303, 306, 308, 311, 313, 315, 317, 320, 322,
324, 327, 329, 331, 333, 335, 340, 342, 344, 346, 324, 326, 328, 331, 334, 336, 338, 341, 343, 345,
348, 350, 352, 354, 356, 358, 360, 362, 364, 366, 347, 349, 354, 356, 358, 360, 362, 364, 366, 368,
368, 370, 372, 374, 376, 378, 380, 382, 384, 385, 370, 372, 374, 376, 378, 380, 382, 384, 386, 388,
392, 393, 399, 401, 404, 408, 410, 414, 416, 421, 390, 392, 394, 396, 398, 399, 406, 407, 413, 415,
423, 425, 427, 429, 431, 433, 435, 437, 439, 442, 418, 422, 424, 428, 430, 435, 437, 439, 441, 443,
443, 444, 450, 452, 454, 455, 458, 459, 462, 465, 445, 447, 449, 451, 453, 456, 457, 458, 464, 466,
469, 471, 474, 476, 479, 485, 489, 491, 493, 498, 468, 469, 472, 473, 476, 479, 483, 485, 488, 490,
499, 506, 507, 516, 517, 525, 527, 529, 531, 532, 493, 499, 503, 505, 507, 512, 513, 520, 521, 530,
535, 539, 542, 545, 548, 552, 555, 557, 560, 562, 531, 539, 541, 543, 545, 546, 549, 553, 556, 559,
564, 565 562, 566, 569, 571, 574, 576, 578, 579
}; };
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ /* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] = static const yytype_int16 yyrhs[] =
{ {
184, 0, -1, 54, -1, 106, -1, 57, -1, 56, 186, 0, -1, 54, -1, 106, -1, 57, -1, 56,
-1, 58, -1, 81, 133, 82, -1, 107, -1, 108, -1, 58, -1, 81, 133, 82, -1, 107, -1, 108,
83, 109, 84, -1, 110, -1, 108, 87, 59, -1, 83, 109, 84, -1, 110, -1, 108, 87, 59, -1,
108, 62, -1, 108, 63, -1, 133, -1, 111, -1, 108, 62, -1, 108, 63, -1, 133, -1, 111, -1,
112, -1, 108, 87, 112, -1, 114, 82, -1, 113, 112, -1, 108, 87, 112, -1, 114, 82, -1, 113,
82, -1, 115, 45, -1, 115, -1, 115, 131, -1, 82, -1, 115, 45, -1, 115, -1, 115, 131, -1,
114, 88, 131, -1, 116, 81, -1, 151, -1, 54, 114, 88, 131, -1, 116, 81, -1, 153, -1, 54,
-1, 59, -1, 108, -1, 62, 117, -1, 63, 117, -1, 59, -1, 108, -1, 62, 117, -1, 63, 117,
-1, 118, 117, -1, 95, -1, 93, -1, 92, -1, -1, 118, 117, -1, 95, -1, 93, -1, 92, -1,
117, -1, 119, 96, 117, -1, 119, 97, 117, -1, 117, -1, 119, 96, 117, -1, 119, 97, 117, -1,
...@@ -641,43 +641,45 @@ static const yytype_int16 yyrhs[] = ...@@ -641,43 +641,45 @@ static const yytype_int16 yyrhs[] =
131, -1, 130, -1, 117, 132, 131, -1, 90, -1, 131, -1, 130, -1, 117, 132, 131, -1, 90, -1,
71, -1, 72, -1, 73, -1, 80, -1, 131, -1, 71, -1, 72, -1, 73, -1, 80, -1, 131, -1,
133, 88, 131, -1, 130, -1, 136, 91, -1, 144, 133, 88, 131, -1, 130, -1, 136, 91, -1, 144,
91, -1, 7, 149, 150, 91, -1, 137, 82, -1, 91, -1, 7, 151, 152, 91, -1, 137, 82, -1,
139, -1, 138, -1, 139, 141, -1, 138, 88, 141, 139, -1, 138, -1, 139, 141, -1, 138, 88, 141,
-1, 146, 54, 81, -1, 148, 54, -1, 148, 54, -1, 146, 54, 81, -1, 150, 54, -1, 150, 54,
83, 134, 84, -1, 147, 142, 140, -1, 142, 140, 83, 134, 84, -1, 147, 142, 140, -1, 142, 140,
-1, 147, 142, 143, -1, 142, 143, -1, -1, 36, -1, 147, 142, 143, -1, 142, 143, -1, -1, 36,
-1, 37, -1, 38, -1, 148, -1, 145, -1, 144, -1, 37, -1, 38, -1, 150, -1, 145, -1, 144,
88, 54, -1, 144, 88, 54, 83, 84, -1, 144, 88, 54, -1, 144, 88, 54, 83, 84, -1, 144,
88, 54, 83, 134, 84, -1, 144, 88, 54, 90, 88, 54, 83, 134, 84, -1, 144, 88, 54, 90,
159, -1, 146, -1, 146, 54, -1, 146, 54, 83, 161, -1, 146, -1, 146, 54, -1, 146, 54, 83,
84, -1, 146, 54, 83, 134, 84, -1, 146, 54, 84, -1, 146, 54, 83, 134, 84, -1, 146, 54,
90, 159, -1, 3, 54, -1, 148, -1, 147, 148, 90, 161, -1, 3, 54, -1, 150, -1, 148, 150,
-1, 9, -1, 8, -1, 40, -1, 3, 40, -1, -1, 9, -1, 8, -1, 40, -1, 3, 40, -1,
39, -1, 150, -1, 149, 150, -1, 4, -1, 5, 149, -1, 9, -1, 36, -1, 37, -1, 41, 36,
-1, 6, -1, 151, -1, 151, 83, 134, 84, -1, -1, 41, 37, -1, 39, -1, 152, -1, 151, 152,
45, -1, 11, -1, 12, -1, 10, -1, 30, -1, -1, 4, -1, 5, -1, 6, -1, 153, -1, 153,
31, -1, 32, -1, 24, -1, 25, -1, 26, -1, 83, 134, 84, -1, 45, -1, 11, -1, 12, -1,
27, -1, 28, -1, 29, -1, 33, -1, 34, -1, 10, -1, 30, -1, 31, -1, 32, -1, 24, -1,
35, -1, 47, -1, 48, -1, 49, -1, 50, -1, 25, -1, 26, -1, 27, -1, 28, -1, 29, -1,
152, -1, 55, -1, -1, 44, 54, 85, 153, 155, 33, -1, 34, -1, 35, -1, 47, -1, 48, -1,
86, -1, -1, 44, 85, 154, 155, 86, -1, 156, 49, -1, 50, -1, 154, -1, 55, -1, -1, 44,
-1, 155, 156, -1, 148, 157, 91, -1, 158, -1, 54, 85, 155, 157, 86, -1, -1, 44, 85, 156,
157, 88, 158, -1, 54, -1, 54, 83, 134, 84, 157, 86, -1, 158, -1, 157, 158, -1, 150, 159,
-1, 131, -1, 135, -1, 163, -1, 162, -1, 160, 91, -1, 160, -1, 159, 88, 160, -1, 54, -1,
-1, 172, -1, 173, -1, 176, -1, 183, -1, 85, 54, 83, 134, 84, -1, 131, -1, 135, -1, 165,
86, -1, -1, -1, 85, 164, 171, 165, 86, -1, -1, 164, -1, 162, -1, 174, -1, 175, -1, 178,
170, -1, 162, -1, -1, 168, 170, -1, -1, 169, -1, 185, -1, 85, 86, -1, -1, -1, 85, 166,
162, -1, 85, 86, -1, 85, 171, 86, -1, 161, 173, 167, 86, -1, 172, -1, 164, -1, -1, 170,
-1, 171, 161, -1, 91, -1, 133, 91, -1, 18, 172, -1, -1, 171, 164, -1, 85, 86, -1, 85,
81, 133, 82, 174, -1, 167, 16, 167, -1, 167, 173, 86, -1, 163, -1, 173, 163, -1, 91, -1,
-1, 133, -1, 146, 54, 90, 159, -1, -1, 46, 133, 91, -1, 18, 81, 133, 82, 176, -1, 169,
81, 177, 175, 82, 166, -1, -1, 15, 178, 167, 16, 169, -1, 169, -1, 133, -1, 146, 54, 90,
46, 81, 133, 82, 91, -1, -1, 17, 81, 179, 161, -1, -1, 46, 81, 179, 177, 82, 168, -1,
180, 182, 82, 166, -1, 172, -1, 160, -1, 175, -1, 15, 180, 169, 46, 81, 133, 82, 91, -1,
-1, -1, 181, 91, -1, 181, 91, 133, -1, 14, -1, 17, 81, 181, 182, 184, 82, 168, -1, 174,
91, -1, 13, 91, -1, 20, 91, -1, 20, 133, -1, 162, -1, 177, -1, -1, 183, 91, -1, 183,
91, -1, 19, 91, -1, 185, -1, 184, 185, -1, 91, 133, -1, 14, 91, -1, 13, 91, -1, 20,
186, -1, 135, -1, -1, 136, 187, 170, -1 91, -1, 20, 133, 91, -1, 19, 91, -1, 187,
-1, 186, 187, -1, 188, -1, 135, -1, -1, 136,
189, 172, -1
}; };
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
...@@ -693,17 +695,17 @@ static const yytype_uint16 yyrline[] = ...@@ -693,17 +695,17 @@ static const yytype_uint16 yyrline[] =
969, 977, 1004, 1009, 1023, 1061, 1064, 1071, 1079, 1100, 969, 977, 1004, 1009, 1023, 1061, 1064, 1071, 1079, 1100,
1121, 1132, 1161, 1166, 1176, 1181, 1191, 1194, 1197, 1200, 1121, 1132, 1161, 1166, 1176, 1181, 1191, 1194, 1197, 1200,
1206, 1213, 1216, 1238, 1256, 1280, 1303, 1307, 1325, 1333, 1206, 1213, 1216, 1238, 1256, 1280, 1303, 1307, 1325, 1333,
1365, 1385, 1474, 1483, 1506, 1509, 1516, 1525, 1534, 1542, 1365, 1385, 1474, 1483, 1506, 1512, 1519, 1528, 1537, 1543,
1552, 1559, 1562, 1565, 1571, 1574, 1589, 1593, 1597, 1601, 1547, 1552, 1557, 1563, 1569, 1578, 1588, 1595, 1598, 1601,
1610, 1615, 1620, 1625, 1630, 1635, 1640, 1645, 1650, 1655, 1607, 1610, 1625, 1629, 1633, 1637, 1646, 1651, 1656, 1661,
1661, 1667, 1673, 1678, 1683, 1692, 1701, 1706, 1719, 1719, 1666, 1671, 1676, 1681, 1686, 1691, 1697, 1703, 1709, 1714,
1733, 1733, 1742, 1745, 1760, 1796, 1800, 1806, 1814, 1830, 1719, 1728, 1737, 1742, 1755, 1755, 1769, 1769, 1778, 1781,
1834, 1838, 1839, 1845, 1846, 1847, 1848, 1849, 1853, 1854, 1796, 1832, 1836, 1842, 1850, 1866, 1870, 1874, 1875, 1881,
1854, 1854, 1864, 1865, 1869, 1869, 1870, 1870, 1875, 1878, 1882, 1883, 1884, 1885, 1889, 1890, 1890, 1890, 1900, 1901,
1888, 1891, 1897, 1898, 1902, 1910, 1914, 1924, 1929, 1946, 1905, 1905, 1906, 1906, 1911, 1914, 1924, 1927, 1933, 1934,
1946, 1951, 1951, 1958, 1958, 1966, 1969, 1975, 1978, 1984, 1938, 1946, 1950, 1960, 1965, 1982, 1982, 1987, 1987, 1994,
1988, 1995, 2002, 2009, 2016, 2027, 2036, 2040, 2047, 2050, 1994, 2002, 2005, 2011, 2014, 2020, 2024, 2031, 2038, 2045,
2056, 2056 2052, 2063, 2072, 2076, 2083, 2086, 2092, 2092
}; };
#endif #endif
...@@ -747,9 +749,10 @@ static const char *const yytname[] = ...@@ -747,9 +749,10 @@ static const char *const yytname[] =
"function_header", "parameter_declarator", "parameter_declaration", "function_header", "parameter_declarator", "parameter_declaration",
"parameter_qualifier", "parameter_type_specifier", "parameter_qualifier", "parameter_type_specifier",
"init_declarator_list", "single_declaration", "fully_specified_type", "init_declarator_list", "single_declaration", "fully_specified_type",
"type_qualifier", "type_specifier", "precision_qualifier", "parameter_type_qualifier", "type_qualifier", "storage_qualifier",
"type_specifier_no_prec", "type_specifier_nonarray", "struct_specifier", "type_specifier", "precision_qualifier", "type_specifier_no_prec",
"$@1", "$@2", "struct_declaration_list", "struct_declaration", "type_specifier_nonarray", "struct_specifier", "$@1", "$@2",
"struct_declaration_list", "struct_declaration",
"struct_declarator_list", "struct_declarator", "initializer", "struct_declarator_list", "struct_declarator", "initializer",
"declaration_statement", "statement", "simple_statement", "declaration_statement", "statement", "simple_statement",
"compound_statement", "$@3", "$@4", "statement_no_new_scope", "compound_statement", "$@3", "$@4", "statement_no_new_scope",
...@@ -794,17 +797,17 @@ static const yytype_uint8 yyr1[] = ...@@ -794,17 +797,17 @@ static const yytype_uint8 yyr1[] =
134, 135, 135, 135, 136, 137, 137, 138, 138, 139, 134, 135, 135, 135, 136, 137, 137, 138, 138, 139,
140, 140, 141, 141, 141, 141, 142, 142, 142, 142, 140, 140, 141, 141, 141, 141, 142, 142, 142, 142,
143, 144, 144, 144, 144, 144, 145, 145, 145, 145, 143, 144, 144, 144, 144, 144, 145, 145, 145, 145,
145, 145, 146, 146, 147, 147, 147, 147, 147, 148, 145, 145, 146, 146, 147, 148, 148, 148, 148, 149,
148, 149, 149, 149, 150, 150, 151, 151, 151, 151, 149, 149, 149, 149, 149, 150, 150, 151, 151, 151,
151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 152, 152, 153, 153, 153, 153, 153, 153, 153, 153,
151, 151, 151, 151, 151, 151, 151, 151, 153, 152, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
154, 152, 155, 155, 156, 157, 157, 158, 158, 159, 153, 153, 153, 153, 155, 154, 156, 154, 157, 157,
160, 161, 161, 162, 162, 162, 162, 162, 163, 164, 158, 159, 159, 160, 160, 161, 162, 163, 163, 164,
165, 163, 166, 166, 168, 167, 169, 167, 170, 170, 164, 164, 164, 164, 165, 166, 167, 165, 168, 168,
171, 171, 172, 172, 173, 174, 174, 175, 175, 177, 170, 169, 171, 169, 172, 172, 173, 173, 174, 174,
176, 178, 176, 179, 176, 180, 180, 181, 181, 182, 175, 176, 176, 177, 177, 179, 178, 180, 178, 181,
182, 183, 183, 183, 183, 183, 184, 184, 185, 185, 178, 182, 182, 183, 183, 184, 184, 185, 185, 185,
187, 186 185, 185, 186, 186, 187, 187, 189, 188
}; };
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
...@@ -821,16 +824,16 @@ static const yytype_uint8 yyr2[] = ...@@ -821,16 +824,16 @@ static const yytype_uint8 yyr2[] =
2, 5, 3, 2, 3, 2, 0, 1, 1, 1, 2, 5, 3, 2, 3, 2, 0, 1, 1, 1,
1, 1, 3, 5, 6, 5, 1, 2, 4, 5, 1, 1, 3, 5, 6, 5, 1, 2, 4, 5,
4, 2, 1, 2, 1, 1, 1, 2, 1, 1, 4, 2, 1, 2, 1, 1, 1, 2, 1, 1,
2, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 2, 1, 1, 1,
1, 4, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 0, 6, 1, 1, 1, 1, 0, 6, 0, 5, 1, 2,
0, 5, 1, 2, 3, 1, 3, 1, 4, 1, 3, 1, 3, 1, 4, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 1, 1, 2, 0, 0, 5, 1, 1,
0, 5, 1, 1, 0, 2, 0, 2, 2, 3, 0, 2, 0, 2, 2, 3, 1, 2, 1, 2,
1, 2, 1, 2, 5, 3, 1, 1, 4, 0, 5, 3, 1, 1, 4, 0, 6, 0, 8, 0,
6, 0, 8, 0, 7, 1, 1, 1, 0, 2, 7, 1, 1, 1, 0, 2, 3, 2, 2, 2,
3, 2, 2, 2, 3, 2, 1, 2, 1, 1, 3, 2, 1, 2, 1, 1, 0, 3
0, 3
}; };
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
...@@ -838,307 +841,317 @@ static const yytype_uint8 yyr2[] = ...@@ -838,307 +841,317 @@ static const yytype_uint8 yyr2[] =
means the default is an error. */ means the default is an error. */
static const yytype_uint8 yydefact[] = static const yytype_uint8 yydefact[] =
{ {
0, 0, 111, 112, 113, 0, 105, 104, 119, 117, 0, 0, 117, 118, 119, 0, 105, 109, 125, 123,
118, 123, 124, 125, 126, 127, 128, 120, 121, 122, 124, 129, 130, 131, 132, 133, 134, 126, 127, 128,
129, 130, 131, 108, 106, 0, 116, 132, 133, 134, 135, 136, 137, 110, 111, 114, 106, 0, 0, 122,
135, 137, 199, 200, 0, 76, 86, 0, 91, 96, 138, 139, 140, 141, 143, 205, 206, 0, 76, 86,
0, 102, 0, 109, 114, 136, 0, 196, 198, 107, 0, 91, 96, 0, 108, 102, 0, 115, 120, 142,
101, 0, 0, 140, 71, 0, 74, 86, 0, 87, 0, 202, 204, 107, 101, 0, 112, 113, 0, 146,
88, 89, 77, 0, 86, 0, 72, 97, 103, 110, 71, 0, 74, 86, 104, 87, 88, 89, 77, 0,
0, 1, 197, 0, 138, 0, 0, 201, 78, 83, 86, 0, 72, 97, 103, 116, 0, 1, 203, 0,
85, 90, 0, 92, 79, 0, 0, 2, 5, 4, 144, 0, 0, 207, 78, 83, 85, 90, 0, 92,
6, 27, 0, 0, 0, 34, 33, 32, 3, 8, 79, 0, 0, 2, 5, 4, 6, 27, 0, 0,
28, 10, 15, 16, 0, 0, 21, 0, 35, 0, 0, 34, 33, 32, 3, 8, 28, 10, 15, 16,
38, 41, 42, 47, 50, 51, 52, 53, 55, 57, 0, 0, 21, 0, 35, 0, 38, 41, 42, 47,
59, 70, 0, 25, 73, 0, 0, 0, 142, 0, 50, 51, 52, 53, 55, 57, 59, 70, 0, 25,
0, 181, 0, 0, 0, 0, 0, 159, 168, 172, 73, 0, 0, 0, 148, 0, 0, 187, 0, 0,
35, 61, 68, 0, 150, 0, 114, 153, 170, 152, 0, 0, 0, 165, 174, 178, 35, 61, 68, 0,
151, 0, 154, 155, 156, 157, 80, 82, 84, 0, 156, 0, 120, 159, 176, 158, 157, 0, 160, 161,
0, 98, 0, 149, 100, 29, 30, 0, 12, 13, 162, 163, 80, 82, 84, 0, 0, 98, 0, 155,
0, 0, 19, 18, 0, 20, 22, 24, 31, 0, 100, 29, 30, 0, 12, 13, 0, 0, 19, 18,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 22, 24, 31, 0, 0, 0, 0, 0,
0, 0, 0, 115, 0, 147, 0, 145, 141, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121,
192, 191, 166, 183, 0, 195, 193, 0, 179, 158, 0, 153, 0, 151, 147, 149, 198, 197, 172, 189,
0, 64, 65, 66, 67, 63, 0, 0, 173, 169, 0, 201, 199, 0, 185, 164, 0, 64, 65, 66,
171, 0, 93, 0, 95, 99, 7, 0, 14, 26, 67, 63, 0, 0, 179, 175, 177, 0, 93, 0,
11, 17, 23, 36, 37, 40, 39, 45, 46, 43, 95, 99, 7, 0, 14, 26, 11, 17, 23, 36,
44, 48, 49, 54, 56, 58, 0, 139, 0, 0, 37, 40, 39, 45, 46, 43, 44, 48, 49, 54,
144, 0, 0, 0, 0, 0, 194, 0, 160, 62, 56, 58, 0, 145, 0, 0, 150, 0, 0, 0,
69, 0, 94, 9, 0, 0, 146, 0, 165, 167, 0, 0, 200, 0, 166, 62, 69, 0, 94, 9,
186, 185, 188, 166, 177, 0, 0, 0, 81, 60, 0, 0, 152, 0, 171, 173, 192, 191, 194, 172,
148, 0, 187, 0, 0, 176, 174, 0, 0, 161, 0, 183, 0, 0, 0, 81, 60, 154, 0, 193,
0, 189, 0, 166, 0, 163, 180, 162, 0, 190, 0, 0, 182, 180, 0, 0, 167, 0, 195, 0,
184, 175, 178, 182 172, 0, 169, 186, 168, 0, 196, 190, 181, 184,
188
}; };
/* YYDEFGOTO[NTERM-NUM]. */ /* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] = static const yytype_int16 yydefgoto[] =
{ {
-1, 98, 99, 100, 227, 101, 102, 103, 104, 105, -1, 104, 105, 106, 233, 107, 108, 109, 110, 111,
106, 107, 140, 109, 110, 111, 112, 113, 114, 115, 112, 113, 146, 115, 116, 117, 118, 119, 120, 121,
116, 117, 118, 119, 120, 141, 142, 216, 143, 122, 122, 123, 124, 125, 126, 147, 148, 222, 149, 128,
144, 145, 34, 35, 36, 79, 62, 63, 80, 37, 150, 151, 37, 38, 39, 85, 68, 69, 86, 40,
38, 39, 40, 41, 42, 43, 123, 45, 125, 75, 41, 42, 70, 43, 44, 45, 46, 47, 129, 49,
127, 128, 196, 197, 164, 147, 148, 149, 150, 210, 131, 81, 133, 134, 202, 203, 170, 153, 154, 155,
277, 296, 251, 252, 253, 297, 151, 152, 153, 286, 156, 216, 284, 303, 257, 258, 259, 304, 157, 158,
276, 154, 257, 202, 254, 272, 283, 284, 155, 46, 159, 293, 283, 160, 263, 208, 260, 278, 290, 291,
47, 48, 55 161, 50, 51, 52, 61
}; };
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */ STATE-NUM. */
#define YYPACT_NINF -258 #define YYPACT_NINF -268
static const yytype_int16 yypact[] = static const yytype_int16 yypact[] =
{ {
1383, -29, -258, -258, -258, 126, -258, -258, -258, -258, 1362, -6, -268, -268, -268, 135, -268, -268, -268, -268,
-258, -258, -258, -258, -258, -258, -258, -258, -258, -258, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-258, -258, -258, -258, -258, -48, -258, -258, -258, -258, -268, -268, -268, -268, -268, -268, -268, -21, -26, -268,
-258, -258, -258, -74, -32, 25, 19, 15, -258, 68, -268, -268, -268, -268, -268, -268, -51, -47, 6, 16,
1430, -258, 1512, -258, 45, -258, 1330, -258, -258, -258, -20, -268, 46, 1409, -268, -268, 1491, -268, 29, -268,
-258, 1512, 65, -258, -258, 74, -258, 71, 117, -258, 1309, -268, -268, -268, -268, 1491, -268, -268, 31, -268,
-258, -258, -258, 1430, 116, 112, -258, 6, -258, -258, -268, 67, -268, 27, -268, -268, -268, -268, -268, 1409,
1123, -258, -258, 78, -258, 1430, 290, -258, -258, -258, 111, 102, -268, -11, -268, -268, 1055, -268, -268, 69,
-258, 118, 1430, -2, -258, 901, 1123, 89, -258, -258, -268, 1409, 297, -268, -268, -268, -268, 104, 1409, -45,
-258, -258, 1123, 1123, 1123, -258, -258, -258, -258, -258, -268, 193, 1055, 80, -268, -268, -268, -268, 1055, 1055,
7, -258, -258, -258, 91, -64, 1195, 90, -258, 1123, 1055, -268, -268, -268, -268, -268, 21, -268, -268, -268,
-58, -22, -258, -33, -5, -258, -258, -258, 106, 108, 81, -15, 1127, 84, -268, 1055, -22, 20, -268, -43,
-60, -258, 92, -258, -258, 1430, 125, 191, -258, 93, 70, -268, -268, -268, 94, 96, -55, -268, 83, -268,
94, -258, 102, 105, 96, 976, 107, 104, -258, -258, -268, 1409, 114, 1199, -268, 82, 85, -268, 90, 91,
12, -258, -258, 32, -258, -74, 75, -258, -258, -258, 86, 908, 93, 89, -268, -268, -53, -268, -268, 14,
-258, 383, -258, -258, -258, -258, 109, -258, -258, 1048, -268, -51, 49, -268, -268, -268, -268, 390, -268, -268,
1123, -258, 121, -258, -258, -258, -258, -35, -258, -258, -268, -268, 95, -268, -268, 980, 1055, -268, 97, -268,
1123, 1471, -258, -258, 1123, 110, -258, -258, -258, 1123, -268, -268, -268, 5, -268, -268, 1055, 1450, -268, -268,
1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1055, 103, -268, -268, -268, 1055, 1055, 1055, 1055, 1055,
1123, 1123, 1123, -258, 1267, 123, 33, -258, -258, -258, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, -268,
-258, -258, 115, -258, 1123, -258, -258, 38, -258, -258, 1246, 100, 18, -268, -268, -268, -268, -268, 105, -268,
476, -258, -258, -258, -258, -258, 1123, 1123, -258, -258, 1055, -268, -268, 19, -268, -268, 483, -268, -268, -268,
-258, 1123, -258, 124, -258, -258, -258, 128, 119, -258, -268, -268, 1055, 1055, -268, -268, -268, 1055, -268, 101,
132, -258, -258, -258, -258, -58, -58, -258, -258, -258, -268, -268, -268, 107, 99, -268, 112, -268, -268, -268,
-258, -33, -33, -258, 106, 108, 72, -258, 1123, 125, -268, -22, -22, -268, -268, -268, -268, -43, -43, -268,
-258, 147, 74, 662, 755, 16, -258, 829, 476, -258, 94, 96, -3, -268, 1055, 114, -268, 142, 67, 669,
-258, 130, -258, -258, 1123, 143, -258, 148, -258, -258, 762, 7, -268, 836, 483, -268, -268, 108, -268, -268,
-258, -258, 829, 115, 119, 155, 146, 144, -258, -258, 1055, 110, -268, 115, -268, -268, -268, -268, 836, 105,
-258, 1123, -258, 140, 150, 217, -258, 152, 569, -258, 155, 99, 143, 116, 120, -268, -268, -268, 1055, -268,
17, 1123, 569, 115, 1123, -258, -258, -258, 153, 119, 117, 119, 191, -268, 121, 576, -268, 8, 1055, 576,
-258, -258, -258, -258 105, 1055, -268, -268, -268, 118, 99, -268, -268, -268,
-268
}; };
/* YYPGOTO[NTERM-NUM]. */ /* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] = static const yytype_int16 yypgoto[] =
{ {
-258, -258, -258, -258, -258, -258, -258, 63, -258, -258, -268, -268, -268, -268, -268, -268, -268, 33, -268, -268,
-258, -258, -44, -258, -19, -258, -67, -20, -258, -258, -268, -268, -68, -268, -37, -268, -46, -39, -268, -268,
-258, 48, 53, 54, -258, -66, -83, -258, -92, -73, -268, 17, 34, 32, -268, -74, -88, -268, -99, -85,
8, 14, -258, -258, -258, 165, 192, 184, 168, -258, 10, 11, -268, -268, -268, 126, 152, 161, 144, -268,
-258, -237, -23, -30, 246, -21, 0, -258, -258, -258, -268, -234, -268, -268, -268, -30, 228, -14, 0, -268,
127, -122, -258, 10, -145, 1, -144, -224, -258, -258, -268, -268, 113, -124, -268, -19, -163, -25, -150, -233,
-258, -36, -257, -258, -258, -54, 50, 9, -258, -258, -268, -268, -268, -65, -267, -268, -268, -56, 23, -7,
-11, -258, -258, -258, -258, -258, -258, -258, -258, -258, -268, -268, -33, -268, -268, -268, -268, -268, -268, -268,
216, -258, -258 -268, -268, 196, -268, -268
}; };
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says. number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */ If YYTABLE_NINF, syntax error. */
#define YYTABLE_NINF -165 #define YYTABLE_NINF -171
static const yytype_int16 yytable[] = static const yytype_int16 yytable[] =
{ {
44, 77, 167, 163, 121, 199, 52, 220, 32, 191, 48, 173, 127, 230, 169, 83, 168, 226, 114, 205,
68, 49, 162, 64, 33, 224, 285, 54, 173, 121, 35, 36, 292, 74, 197, 56, 57, 127, 217, 218,
275, 69, 58, 176, 174, 50, 108, 6, 7, 269, 219, 189, 190, 114, 182, 64, 275, 220, 58, 282,
73, 183, 184, 81, 64, 275, 301, 53, 179, 180, 171, 172, 75, 308, 53, 62, 64, 221, 165, 87,
44, 108, 44, 207, 192, 126, 44, 226, 165, 166, 60, 79, 213, 48, 282, 166, 48, 184, 54, 198,
56, 44, 81, 217, 32, 59, 60, 61, 23, 24, 48, 132, 65, 66, 67, 48, 191, 192, 87, 59,
33, 187, 188, 44, 295, 178, 185, 186, 295, 168, 35, 36, 302, 65, 66, 67, 302, 179, 71, 48,
169, 181, 199, 182, 58, 44, 146, 163, 228, 6, 90, 72, 91, 180, 185, 186, 205, 234, 169, 92,
7, 159, 44, 211, 212, 213, 223, 84, 160, 85, 229, 48, 152, 174, 175, 223, 270, 232, 48, 279,
170, 232, 214, 121, 171, 126, 86, 126, 273, 298, 305, 127, 238, 223, 63, 223, 223, 114, -75, 252,
246, -75, 215, 65, 217, 217, 66, 59, 60, 61, 73, 132, 223, 132, 176, 224, 255, 223, 177, 256,
23, 24, 255, 57, 220, 108, 237, 238, 239, 240, 262, 261, 76, 187, 226, 188, 80, 239, 240, 114,
217, 249, 67, 218, 250, 44, 217, 44, 70, 256, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
2, 3, 4, 259, 260, 233, 234, 108, 108, 108, -25, 48, 76, 48, 265, 266, 193, 194, 309, 2,
108, 108, 108, 108, 108, 108, 108, 108, 261, 302, 3, 4, 267, 243, 244, 245, 246, 65, 66, 67,
74, 146, 59, 60, 61, 121, -25, 49, 70, 76, 241, 242, 82, 127, 247, 248, 89, 152, 162, 114,
217, 264, 235, 236, 126, 274, 83, 241, 242, 124, 130, -26, 195, 178, 281, 183, 196, 199, 201, 271,
-26, 177, 156, 172, 189, 265, 193, 108, 190, 195, 132, 209, 210, 206, 214, 215, 207, 211, 227, 281,
274, 279, 121, 203, 200, 201, 204, 205, 208, 290, 127, 231, 286, 254, -122, 268, 114, 223, 273, 297,
209, -116, 221, 267, 44, 2, 3, 4, 268, 299, -170, 269, 285, -27, 287, 53, 288, 294, 295, 306,
-164, 8, 9, 10, 108, 225, 248, 217, 262, 287, 48, 299, 274, 8, 9, 10, 296, 300, 298, 310,
146, 163, 263, -27, 278, 11, 12, 13, 14, 15, 237, 301, 249, 169, 163, 84, 152, 11, 12, 13,
16, 17, 18, 19, 20, 21, 22, 280, 288, 281, 14, 15, 16, 17, 18, 19, 20, 21, 22, 251,
289, 291, 292, 293, 231, 25, 26, 243, 27, 28, 250, 88, 164, 55, 307, 276, 272, 28, 29, 264,
29, 30, 294, 244, 303, 245, 31, 157, 82, 78, 30, 31, 32, 33, 200, 289, 78, 93, 34, 94,
158, 51, 194, 146, 146, 270, 300, 146, 146, 266, 95, 96, 97, 277, 0, 98, 99, 0, 0, 152,
258, 282, 72, 271, 0, 0, 0, 0, 0, 0, 152, 0, 0, 152, 152, 0, 0, 0, 0, 0,
0, 0, 146, 0, 0, 0, 0, 198, 0, 0, 0, 0, 0, 0, 100, 0, 0, 167, 152, 0,
0, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 0, 101, 102, 0, 103, 0,
0, 0, 146, 1, 2, 3, 4, 5, 6, 7, 0, 0, 0, 0, 0, 152, 0, 0, 0, 152,
8, 9, 10, 129, 130, 131, 0, 132, 133, 134, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
135, 0, 0, 0, 11, 12, 13, 14, 15, 16, 135, 136, 137, 0, 138, 139, 140, 141, 0, 0,
17, 18, 19, 20, 21, 22, 0, 0, 0, 23, 0, 11, 12, 13, 14, 15, 16, 17, 18, 19,
24, 0, 0, 0, 25, 26, 136, 27, 28, 29, 20, 21, 22, 23, 24, 0, 25, 26, 27, 0,
30, 0, 0, 0, 87, 31, 88, 89, 90, 91, 0, 28, 29, 142, 30, 31, 32, 33, 0, 0,
0, 0, 92, 93, 0, 0, 0, 0, 0, 0, 0, 93, 34, 94, 95, 96, 97, 0, 0, 98,
99, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 100, 0,
0, 0, 143, 144, 0, 0, 0, 0, 145, 101,
102, 0, 103, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 135, 136, 137, 0, 138, 139, 140,
141, 0, 0, 0, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 0, 25,
26, 27, 0, 0, 28, 29, 142, 30, 31, 32,
33, 0, 0, 0, 93, 34, 94, 95, 96, 97,
0, 0, 98, 99, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 94, 0, 0, 0, 137, 138, 0, 0, 0, 0, 100, 0, 0, 0, 143, 225, 0, 0, 0,
0, 139, 95, 96, 0, 97, 1, 2, 3, 4, 0, 145, 101, 102, 0, 103, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 129, 130, 131, 0, 5, 6, 7, 8, 9, 10, 135, 136, 137, 0,
132, 133, 134, 135, 0, 0, 0, 11, 12, 13, 138, 139, 140, 141, 0, 0, 0, 11, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21, 22, 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
0, 0, 23, 24, 0, 0, 0, 25, 26, 136, 24, 0, 25, 26, 27, 0, 0, 28, 29, 142,
27, 28, 29, 30, 0, 0, 0, 87, 31, 88, 30, 31, 32, 33, 0, 0, 0, 93, 34, 94,
89, 90, 91, 0, 0, 92, 93, 0, 0, 0, 95, 96, 97, 0, 0, 98, 99, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 94, 0, 0, 0, 137, 219, 0, 0, 0, 0, 100, 0, 0, 0, 143, 0,
0, 0, 0, 0, 139, 95, 96, 0, 97, 1, 0, 0, 0, 0, 145, 101, 102, 0, 103, 1,
2, 3, 4, 5, 6, 7, 8, 9, 10, 129, 2, 3, 4, 5, 6, 7, 8, 9, 10, 135,
130, 131, 0, 132, 133, 134, 135, 0, 0, 0, 136, 137, 0, 138, 139, 140, 141, 0, 0, 0,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 0, 0, 0, 23, 24, 0, 0, 0, 21, 22, 23, 24, 0, 25, 26, 27, 0, 0,
25, 26, 136, 27, 28, 29, 30, 0, 0, 0, 28, 29, 142, 30, 31, 32, 33, 0, 0, 0,
87, 31, 88, 89, 90, 91, 0, 0, 92, 93, 93, 34, 94, 95, 96, 97, 0, 0, 98, 99,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0,
0, 137, 0, 0, 0, 0, 0, 139, 95, 96, 0, 82, 0, 0, 0, 0, 0, 145, 101, 102,
0, 97, 1, 2, 3, 4, 5, 6, 7, 8, 0, 103, 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 129, 130, 131, 0, 132, 133, 134, 135, 9, 10, 135, 136, 137, 0, 138, 139, 140, 141,
0, 0, 0, 11, 12, 13, 14, 15, 16, 17, 0, 0, 0, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 0, 0, 0, 23, 24, 18, 19, 20, 21, 22, 23, 24, 0, 25, 26,
0, 0, 0, 25, 26, 136, 27, 28, 29, 30, 27, 0, 0, 28, 29, 142, 30, 31, 32, 33,
0, 0, 0, 87, 31, 88, 89, 90, 91, 0, 0, 0, 0, 93, 34, 94, 95, 96, 97, 0,
0, 92, 93, 0, 0, 0, 0, 0, 0, 0, 0, 98, 99, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
94, 0, 0, 0, 76, 0, 0, 0, 0, 0,
139, 95, 96, 0, 97, 1, 2, 3, 4, 5,
6, 7, 8, 9, 10, 129, 130, 131, 0, 132,
133, 134, 135, 0, 0, 0, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 0, 0,
0, 23, 24, 0, 0, 0, 25, 26, 136, 27,
28, 29, 30, 0, 0, 0, 87, 31, 88, 89,
90, 91, 0, 0, 92, 93, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 94, 0, 0, 0, 0, 0, 0,
0, 0, 0, 139, 95, 96, 0, 97, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 0, 0, 0, 23, 24, 0, 0, 0, 25,
26, 0, 27, 28, 29, 30, 0, 0, 0, 87,
31, 88, 89, 90, 91, 0, 0, 92, 93, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 58, 2, 3, 4, 94, 6, 7, 8, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9, 10, 0, 0, 0, 0, 139, 95, 96, 0, 145, 101, 102, 0, 103, 1, 2, 3, 4, 5,
97, 0, 0, 11, 12, 13, 14, 15, 16, 17, 6, 7, 8, 9, 10, 0, 0, 0, 0, 0,
18, 19, 20, 21, 22, 0, 0, 0, 23, 24, 0, 0, 0, 0, 0, 0, 11, 12, 13, 14,
0, 0, 0, 25, 26, 0, 27, 28, 29, 30, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
0, 0, 0, 87, 31, 88, 89, 90, 91, 0, 0, 25, 26, 27, 0, 0, 28, 29, 0, 30,
0, 92, 93, 0, 0, 0, 0, 0, 0, 0, 31, 32, 33, 0, 0, 0, 93, 34, 94, 95,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 97, 0, 0, 98, 99, 0, 0, 0, 0,
94, 8, 9, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280,
0, 95, 96, 0, 97, 11, 12, 13, 14, 15, 2, 3, 4, 100, 6, 7, 8, 9, 10, 0,
16, 17, 18, 19, 20, 21, 22, 0, 0, 0, 0, 0, 0, 145, 101, 102, 0, 103, 0, 0,
0, 0, 0, 0, 0, 25, 26, 0, 27, 28,
29, 30, 0, 0, 0, 87, 31, 88, 89, 90,
91, 0, 0, 92, 93, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 94, 0, 0, 161, 8, 9, 10, 0,
0, 0, 0, 95, 96, 0, 97, 0, 0, 0,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 0, 0, 0, 0, 0, 0, 0, 0, 21, 22, 23, 24, 0, 25, 26, 27, 0, 0,
25, 26, 0, 27, 28, 29, 30, 0, 0, 0, 28, 29, 0, 30, 31, 32, 33, 0, 0, 0,
87, 31, 88, 89, 90, 91, 0, 0, 92, 93, 93, 34, 94, 95, 96, 97, 0, 0, 98, 99,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 94, 8, 9, 0, 0, 0, 0, 0, 0, 0, 100, 8, 9,
10, 0, 0, 0, 0, 0, 0, 206, 95, 96, 10, 0, 0, 0, 0, 0, 0, 0, 101, 102,
0, 97, 11, 12, 13, 14, 15, 16, 17, 18, 0, 103, 11, 12, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 0, 0, 0, 0, 0, 0, 19, 20, 21, 22, 0, 0, 0, 0, 0, 0,
0, 0, 25, 26, 0, 27, 28, 29, 30, 0, 0, 0, 28, 29, 0, 30, 31, 32, 33, 0,
0, 0, 87, 31, 88, 89, 90, 91, 0, 0, 0, 0, 93, 34, 94, 95, 96, 97, 0, 0,
92, 93, 0, 0, 0, 0, 0, 0, 0, 0, 98, 99, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100,
0, 0, 222, 8, 9, 10, 0, 0, 0, 0, 8, 9, 10, 0, 0, 0, 0, 0, 0, 212,
95, 96, 0, 97, 0, 0, 0, 11, 12, 13, 101, 102, 0, 103, 11, 12, 13, 14, 15, 16,
14, 15, 16, 17, 18, 19, 20, 21, 22, 0, 17, 18, 19, 20, 21, 22, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 25, 26, 0, 0, 0, 0, 0, 28, 29, 0, 30, 31, 32,
27, 28, 29, 30, 0, 0, 0, 87, 31, 88, 33, 0, 0, 0, 93, 34, 94, 95, 96, 97,
89, 90, 91, 0, 0, 92, 93, 0, 0, 0, 0, 0, 98, 99, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 94, 8, 9, 10, 0, 0, 0, 100, 0, 0, 228, 8, 9, 10, 0, 0,
0, 0, 0, 0, 0, 95, 96, 0, 97, 11, 0, 0, 101, 102, 0, 103, 0, 0, 0, 11,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 0, 0, 0, 0, 0, 0, 0, 0, 25, 22, 0, 0, 0, 0, 0, 0, 0, 0, 28,
175, 0, 27, 28, 29, 30, 0, 0, 0, 87, 29, 0, 30, 31, 32, 33, 0, 0, 0, 93,
31, 88, 89, 90, 91, 0, 0, 92, 93, 0, 34, 94, 95, 96, 97, 0, 0, 98, 99, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2, 3, 4, 0, 0, 94, 8, 9, 10, 0, 0, 0, 0, 0, 0, 100, 8, 9, 10,
0, 0, 0, 0, 0, 0, 0, 95, 96, 0, 0, 0, 0, 0, 0, 0, 0, 101, 102, 0,
97, 11, 12, 13, 14, 15, 16, 17, 18, 19, 103, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 0, 0, 0, 0, 0, 0, 0, 20, 21, 22, 0, 0, 0, 0, 0, 0, 0,
0, 25, 26, 0, 27, 28, 29, 30, 0, 0, 0, 28, 181, 0, 30, 31, 32, 33, 0, 0,
0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 93, 34, 94, 95, 96, 97, 0, 0, 98,
71, 0, 0, 1, 2, 3, 4, 5, 6, 7, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8, 9, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 100, 8,
0, 0, 0, 247, 11, 12, 13, 14, 15, 16, 9, 10, 0, 0, 0, 0, 0, 0, 0, 101,
17, 18, 19, 20, 21, 22, 0, 0, 0, 23, 102, 0, 103, 11, 12, 13, 14, 15, 16, 17,
24, 0, 0, 0, 25, 26, 0, 27, 28, 29, 18, 19, 20, 21, 22, 0, 0, 0, 0, 0,
30, 0, 0, 0, 0, 31, 1, 2, 3, 4, 0, 0, 0, 28, 29, 0, 30, 31, 32, 33,
5, 6, 7, 8, 9, 10, 0, 0, 0, 0, 2, 3, 4, 0, 34, 0, 8, 9, 10, 0,
0, 0, 0, 0, 0, 0, 0, 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14, 15, 16, 17, 18, 19, 20, 21, 22, 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
0, 0, 23, 24, 0, 0, 0, 25, 26, 0, 21, 22, 0, 0, 0, 204, 0, 0, 0, 0,
27, 28, 29, 30, 2, 3, 4, 0, 31, 0, 28, 29, 0, 30, 31, 32, 33, 0, 0, 0,
8, 9, 10, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 77,
0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 253, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 0, 25, 26,
27, 0, 0, 28, 29, 0, 30, 31, 32, 33,
0, 0, 0, 0, 34, 1, 2, 3, 4, 5,
6, 7, 8, 9, 10, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
0, 25, 26, 27, 0, 0, 28, 29, 0, 30,
31, 32, 33, 2, 3, 4, 0, 34, 0, 8,
9, 10, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 0, 0, 0, 0, 0,
0, 0, 0, 28, 29, 0, 30, 31, 32, 33,
8, 9, 10, 0, 34, 0, 0, 0, 0, 0,
0, 0, 0, 0, 11, 12, 13, 14, 15, 16, 0, 0, 0, 0, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 0, 0, 0, 0, 17, 18, 19, 20, 21, 22, 0, 0, 0, 0,
0, 0, 0, 0, 25, 26, 0, 27, 28, 29, 0, 0, 0, 0, 28, 29, 0, 30, 31, 32,
30, 8, 9, 10, 0, 31, 0, 0, 0, 0, 33, 8, 9, 10, 235, 34, 0, 0, 0, 236,
0, 0, 0, 0, 0, 11, 12, 13, 14, 15, 0, 0, 0, 0, 0, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 0, 0, 0, 16, 17, 18, 19, 20, 21, 22, 0, 0, 0,
0, 0, 0, 0, 0, 25, 26, 0, 27, 28, 0, 0, 0, 0, 0, 28, 29, 0, 30, 31,
29, 30, 8, 9, 10, 229, 31, 0, 0, 0, 32, 33, 0, 0, 0, 0, 34
230, 0, 0, 0, 0, 0, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 0, 0,
0, 0, 0, 0, 0, 0, 25, 26, 0, 27,
28, 29, 30, 0, 0, 0, 0, 31
}; };
static const yytype_int16 yycheck[] = static const yytype_int16 yycheck[] =
{ {
0, 55, 94, 86, 70, 127, 54, 151, 0, 69, 0, 100, 76, 166, 92, 61, 91, 157, 76, 133,
40, 40, 85, 36, 0, 160, 273, 91, 82, 85, 0, 0, 279, 43, 69, 36, 37, 91, 71, 72,
257, 42, 3, 106, 88, 54, 70, 8, 9, 253, 73, 64, 65, 91, 112, 9, 259, 80, 54, 263,
51, 64, 65, 63, 57, 272, 293, 85, 96, 97, 98, 99, 46, 300, 40, 82, 9, 90, 83, 69,
40, 85, 42, 135, 104, 75, 46, 82, 92, 93, 91, 55, 141, 43, 278, 90, 46, 115, 54, 104,
82, 51, 82, 88, 46, 36, 37, 38, 39, 40, 50, 81, 36, 37, 38, 55, 99, 100, 88, 85,
46, 66, 67, 63, 288, 109, 99, 100, 292, 62, 50, 50, 295, 36, 37, 38, 299, 82, 88, 69,
63, 93, 194, 95, 3, 75, 76, 160, 170, 8, 81, 91, 83, 88, 96, 97, 200, 176, 166, 90,
9, 83, 82, 71, 72, 73, 159, 81, 90, 83, 165, 81, 82, 62, 63, 88, 89, 82, 88, 82,
83, 174, 80, 159, 87, 125, 90, 127, 82, 82, 82, 165, 180, 88, 88, 88, 88, 165, 82, 198,
192, 82, 90, 88, 88, 88, 91, 36, 37, 38, 54, 131, 88, 133, 83, 91, 88, 88, 87, 91,
39, 40, 204, 88, 258, 159, 183, 184, 185, 186, 91, 210, 83, 93, 264, 95, 85, 185, 186, 187,
88, 88, 54, 91, 91, 125, 88, 127, 83, 91, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
4, 5, 6, 216, 217, 179, 180, 181, 182, 183, 81, 131, 83, 133, 222, 223, 66, 67, 301, 4,
184, 185, 186, 187, 188, 189, 190, 191, 221, 294, 5, 6, 227, 189, 190, 191, 192, 36, 37, 38,
85, 151, 36, 37, 38, 221, 81, 40, 83, 85, 187, 188, 85, 227, 193, 194, 54, 157, 54, 227,
88, 89, 181, 182, 194, 257, 54, 187, 188, 91, 91, 81, 68, 82, 263, 81, 70, 84, 54, 254,
81, 81, 54, 82, 68, 248, 84, 221, 70, 54, 200, 81, 81, 91, 81, 86, 91, 91, 83, 278,
272, 264, 248, 81, 91, 91, 81, 91, 81, 281, 254, 84, 270, 83, 81, 84, 254, 88, 46, 288,
86, 81, 83, 46, 194, 4, 5, 6, 252, 291, 85, 84, 84, 81, 84, 40, 81, 54, 82, 298,
85, 10, 11, 12, 248, 84, 83, 88, 84, 54, 200, 82, 258, 10, 11, 12, 86, 16, 91, 91,
210, 294, 84, 81, 84, 24, 25, 26, 27, 28, 177, 90, 195, 301, 88, 63, 216, 24, 25, 26,
29, 30, 31, 32, 33, 34, 35, 84, 82, 81, 27, 28, 29, 30, 31, 32, 33, 34, 35, 197,
86, 91, 82, 16, 171, 44, 45, 189, 47, 48, 196, 70, 88, 5, 299, 260, 255, 44, 45, 216,
49, 50, 90, 190, 91, 191, 55, 82, 64, 57, 47, 48, 49, 50, 131, 278, 50, 54, 55, 56,
82, 5, 125, 253, 254, 254, 292, 257, 258, 249, 57, 58, 59, 260, -1, 62, 63, -1, -1, 259,
210, 272, 46, 254, -1, -1, -1, -1, -1, -1, 260, -1, -1, 263, 264, -1, -1, -1, -1, -1,
-1, -1, 272, -1, -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, 81, -1, -1, 84, 278, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 288, -1, -1, -1, -1, -1, -1, 92, 93, -1, 95, -1,
-1, -1, 292, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, 295, -1, -1, -1, 299,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14, 15, -1, 17, 18, 19, 20, -1, -1,
-1, 24, 25, 26, 27, 28, 29, 30, 31, 32,
33, 34, 35, 36, 37, -1, 39, 40, 41, -1,
-1, 44, 45, 46, 47, 48, 49, 50, -1, -1,
-1, 54, 55, 56, 57, 58, 59, -1, -1, 62,
63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 81, -1,
-1, -1, 85, 86, -1, -1, -1, -1, 91, 92,
93, -1, 95, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, -1, 17, 18, 19, 10, 11, 12, 13, 14, 15, -1, 17, 18, 19,
20, -1, -1, -1, 24, 25, 26, 27, 28, 29, 20, -1, -1, -1, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, -1, -1, -1, 39, 30, 31, 32, 33, 34, 35, 36, 37, -1, 39,
40, -1, -1, -1, 44, 45, 46, 47, 48, 49, 40, 41, -1, -1, 44, 45, 46, 47, 48, 49,
50, -1, -1, -1, 54, 55, 56, 57, 58, 59, 50, -1, -1, -1, 54, 55, 56, 57, 58, 59,
-1, -1, 62, 63, -1, -1, -1, -1, -1, -1, -1, -1, 62, 63, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
...@@ -1146,17 +1159,17 @@ static const yytype_int16 yycheck[] = ...@@ -1146,17 +1159,17 @@ static const yytype_int16 yycheck[] =
-1, 91, 92, 93, -1, 95, 3, 4, 5, 6, -1, 91, 92, 93, -1, 95, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14, 15, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, -1,
17, 18, 19, 20, -1, -1, -1, 24, 25, 26, 17, 18, 19, 20, -1, -1, -1, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
-1, -1, 39, 40, -1, -1, -1, 44, 45, 46, 37, -1, 39, 40, 41, -1, -1, 44, 45, 46,
47, 48, 49, 50, -1, -1, -1, 54, 55, 56, 47, 48, 49, 50, -1, -1, -1, 54, 55, 56,
57, 58, 59, -1, -1, 62, 63, -1, -1, -1, 57, 58, 59, -1, -1, 62, 63, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 81, -1, -1, -1, 85, 86, -1, -1, -1, -1, 81, -1, -1, -1, 85, -1,
-1, -1, -1, -1, 91, 92, 93, -1, 95, 3, -1, -1, -1, -1, 91, 92, 93, -1, 95, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
14, 15, -1, 17, 18, 19, 20, -1, -1, -1, 14, 15, -1, 17, 18, 19, 20, -1, -1, -1,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, -1, -1, -1, 39, 40, -1, -1, -1, 34, 35, 36, 37, -1, 39, 40, 41, -1, -1,
44, 45, 46, 47, 48, 49, 50, -1, -1, -1, 44, 45, 46, 47, 48, 49, 50, -1, -1, -1,
54, 55, 56, 57, 58, 59, -1, -1, 62, 63, 54, 55, 56, 57, 58, 59, -1, -1, 62, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
...@@ -1165,103 +1178,91 @@ static const yytype_int16 yycheck[] = ...@@ -1165,103 +1178,91 @@ static const yytype_int16 yycheck[] =
-1, 95, 3, 4, 5, 6, 7, 8, 9, 10, -1, 95, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, -1, 17, 18, 19, 20, 11, 12, 13, 14, 15, -1, 17, 18, 19, 20,
-1, -1, -1, 24, 25, 26, 27, 28, 29, 30, -1, -1, -1, 24, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, -1, -1, -1, 39, 40, 31, 32, 33, 34, 35, 36, 37, -1, 39, 40,
-1, -1, -1, 44, 45, 46, 47, 48, 49, 50, 41, -1, -1, 44, 45, 46, 47, 48, 49, 50,
-1, -1, -1, 54, 55, 56, 57, 58, 59, -1, -1, -1, -1, 54, 55, 56, 57, 58, 59, -1,
-1, 62, 63, -1, -1, -1, -1, -1, -1, -1, -1, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
81, -1, -1, -1, 85, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1,
91, 92, 93, -1, 95, 3, 4, 5, 6, 7, 91, 92, 93, -1, 95, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15, -1, 17, 8, 9, 10, 11, 12, -1, -1, -1, -1, -1,
18, 19, 20, -1, -1, -1, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, 24, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
-1, 39, 40, -1, -1, -1, 44, 45, 46, 47, -1, 39, 40, 41, -1, -1, 44, 45, -1, 47,
48, 49, 50, -1, -1, -1, 54, 55, 56, 57, 48, 49, 50, -1, -1, -1, 54, 55, 56, 57,
58, 59, -1, -1, 62, 63, -1, -1, -1, -1, 58, 59, -1, -1, 62, 63, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3,
-1, -1, -1, 81, -1, -1, -1, -1, -1, -1, 4, 5, 6, 81, 8, 9, 10, 11, 12, -1,
-1, -1, -1, 91, 92, 93, -1, 95, 3, 4, -1, -1, -1, 91, 92, 93, -1, 95, -1, -1,
5, 6, 7, 8, 9, 10, 11, 12, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, -1, -1, -1, 39, 40, -1, -1, -1, 44,
45, -1, 47, 48, 49, 50, -1, -1, -1, 54,
55, 56, 57, 58, 59, -1, -1, 62, 63, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3, 4, 5, 6, 81, 8, 9, 10,
11, 12, -1, -1, -1, -1, 91, 92, 93, -1,
95, -1, -1, 24, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, -1, -1, -1, 39, 40,
-1, -1, -1, 44, 45, -1, 47, 48, 49, 50,
-1, -1, -1, 54, 55, 56, 57, 58, 59, -1,
-1, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
81, 10, 11, 12, -1, -1, -1, -1, -1, -1,
-1, 92, 93, -1, 95, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, -1, -1, -1,
-1, -1, -1, -1, -1, 44, 45, -1, 47, 48,
49, 50, -1, -1, -1, 54, 55, 56, 57, 58,
59, -1, -1, 62, 63, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 81, -1, -1, 84, 10, 11, 12, -1,
-1, -1, -1, 92, 93, -1, 95, -1, -1, -1,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, -1, -1, -1, -1, -1, -1, -1, -1, 34, 35, 36, 37, -1, 39, 40, 41, -1, -1,
44, 45, -1, 47, 48, 49, 50, -1, -1, -1, 44, 45, -1, 47, 48, 49, 50, -1, -1, -1,
54, 55, 56, 57, 58, 59, -1, -1, 62, 63, 54, 55, 56, 57, 58, 59, -1, -1, 62, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 81, 10, 11, -1, -1, -1, -1, -1, -1, -1, 81, 10, 11,
12, -1, -1, -1, -1, -1, -1, 91, 92, 93, 12, -1, -1, -1, -1, -1, -1, -1, 92, 93,
-1, 95, 24, 25, 26, 27, 28, 29, 30, 31, -1, 95, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, -1, -1, -1, -1, -1, -1, 32, 33, 34, 35, -1, -1, -1, -1, -1, -1,
-1, -1, 44, 45, -1, 47, 48, 49, 50, -1, -1, -1, 44, 45, -1, 47, 48, 49, 50, -1,
-1, -1, 54, 55, 56, 57, 58, 59, -1, -1, -1, -1, 54, 55, 56, 57, 58, 59, -1, -1,
62, 63, -1, -1, -1, -1, -1, -1, -1, -1, 62, 63, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81,
-1, -1, 84, 10, 11, 12, -1, -1, -1, -1, 10, 11, 12, -1, -1, -1, -1, -1, -1, 91,
92, 93, -1, 95, -1, -1, -1, 24, 25, 26, 92, 93, -1, 95, 24, 25, 26, 27, 28, 29,
27, 28, 29, 30, 31, 32, 33, 34, 35, -1, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 44, 45, -1, -1, -1, -1, -1, 44, 45, -1, 47, 48, 49,
47, 48, 49, 50, -1, -1, -1, 54, 55, 56, 50, -1, -1, -1, 54, 55, 56, 57, 58, 59,
57, 58, 59, -1, -1, 62, 63, -1, -1, -1, -1, -1, 62, 63, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 81, 10, 11, 12, -1, -1, -1, 81, -1, -1, 84, 10, 11, 12, -1, -1,
-1, -1, -1, -1, -1, 92, 93, -1, 95, 24, -1, -1, 92, 93, -1, 95, -1, -1, -1, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, -1, -1, -1, -1, -1, -1, -1, -1, 44, 35, -1, -1, -1, -1, -1, -1, -1, -1, 44,
45, -1, 47, 48, 49, 50, -1, -1, -1, 54, 45, -1, 47, 48, 49, 50, -1, -1, -1, 54,
55, 56, 57, 58, 59, -1, -1, 62, 63, -1, 55, 56, 57, 58, 59, -1, -1, 62, 63, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4, 5, 6, -1, -1, 81, 10, 11, 12, -1, -1, -1, -1, -1, -1, 81, 10, 11, 12,
-1, -1, -1, -1, -1, -1, -1, 92, 93, -1, -1, -1, -1, -1, -1, -1, -1, 92, 93, -1,
95, 24, 25, 26, 27, 28, 29, 30, 31, 32, 95, 24, 25, 26, 27, 28, 29, 30, 31, 32,
33, 34, 35, -1, -1, -1, -1, -1, -1, -1, 33, 34, 35, -1, -1, -1, -1, -1, -1, -1,
-1, 44, 45, -1, 47, 48, 49, 50, -1, -1, -1, 44, 45, -1, 47, 48, 49, 50, -1, -1,
-1, -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, 54, 55, 56, 57, 58, 59, -1, -1, 62,
0, -1, -1, 3, 4, 5, 6, 7, 8, 9, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, 5, 6, -1, -1, 81, 10,
-1, -1, -1, 86, 24, 25, 26, 27, 28, 29, 11, 12, -1, -1, -1, -1, -1, -1, -1, 92,
30, 31, 32, 33, 34, 35, -1, -1, -1, 39, 93, -1, 95, 24, 25, 26, 27, 28, 29, 30,
40, -1, -1, -1, 44, 45, -1, 47, 48, 49, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1,
50, -1, -1, -1, -1, 55, 3, 4, 5, 6, -1, -1, -1, 44, 45, -1, 47, 48, 49, 50,
7, 8, 9, 10, 11, 12, -1, -1, -1, -1, 4, 5, 6, -1, 55, -1, 10, 11, 12, -1,
-1, -1, -1, -1, -1, -1, -1, 24, 25, 26, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
27, 28, 29, 30, 31, 32, 33, 34, 35, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
-1, -1, 39, 40, -1, -1, -1, 44, 45, -1, 34, 35, -1, -1, -1, 86, -1, -1, -1, -1,
47, 48, 49, 50, 4, 5, 6, -1, 55, -1, 44, 45, -1, 47, 48, 49, 50, -1, -1, -1,
10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, 55, -1, -1, -1, -1, -1, -1, -1, 0,
-1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 86, 24, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, 36, 37, -1, 39, 40,
41, -1, -1, 44, 45, -1, 47, 48, 49, 50,
-1, -1, -1, -1, 55, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 24, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
-1, 39, 40, 41, -1, -1, 44, 45, -1, 47,
48, 49, 50, 4, 5, 6, -1, 55, -1, 10,
11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 24, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, -1, -1, -1, -1, -1,
-1, -1, -1, 44, 45, -1, 47, 48, 49, 50,
10, 11, 12, -1, 55, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 24, 25, 26, 27, 28, 29, -1, -1, -1, -1, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1,
-1, -1, -1, -1, 44, 45, -1, 47, 48, 49, -1, -1, -1, -1, 44, 45, -1, 47, 48, 49,
50, 10, 11, 12, -1, 55, -1, -1, -1, -1, 50, 10, 11, 12, 54, 55, -1, -1, -1, 59,
-1, -1, -1, -1, -1, 24, 25, 26, 27, 28, -1, -1, -1, -1, -1, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, -1, -1, -1, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1,
-1, -1, -1, -1, -1, 44, 45, -1, 47, 48, -1, -1, -1, -1, -1, 44, 45, -1, 47, 48,
49, 50, 10, 11, 12, 54, 55, -1, -1, -1, 49, 50, -1, -1, -1, -1, 55
59, -1, -1, -1, -1, -1, 24, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, -1, -1,
-1, -1, -1, -1, -1, -1, 44, 45, -1, 47,
48, 49, 50, -1, -1, -1, -1, 55
}; };
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
...@@ -1270,35 +1271,36 @@ static const yytype_uint8 yystos[] = ...@@ -1270,35 +1271,36 @@ static const yytype_uint8 yystos[] =
{ {
0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 24, 25, 26, 27, 28, 29, 30, 31, 32, 12, 24, 25, 26, 27, 28, 29, 30, 31, 32,
33, 34, 35, 39, 40, 44, 45, 47, 48, 49, 33, 34, 35, 36, 37, 39, 40, 41, 44, 45,
50, 55, 135, 136, 137, 138, 139, 144, 145, 146, 47, 48, 49, 50, 55, 135, 136, 137, 138, 139,
147, 148, 149, 150, 151, 152, 184, 185, 186, 40, 144, 145, 146, 148, 149, 150, 151, 152, 153, 154,
54, 149, 54, 85, 91, 187, 82, 88, 3, 36, 186, 187, 188, 40, 54, 151, 36, 37, 54, 85,
37, 38, 141, 142, 147, 88, 91, 54, 148, 150, 91, 189, 82, 88, 9, 36, 37, 38, 141, 142,
83, 0, 185, 150, 85, 154, 85, 170, 141, 140, 147, 88, 91, 54, 150, 152, 83, 0, 187, 152,
143, 148, 142, 54, 81, 83, 90, 54, 56, 57, 85, 156, 85, 172, 141, 140, 143, 150, 142, 54,
58, 59, 62, 63, 81, 92, 93, 95, 106, 107, 81, 83, 90, 54, 56, 57, 58, 59, 62, 63,
108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 81, 92, 93, 95, 106, 107, 108, 110, 111, 112,
119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
129, 130, 134, 151, 91, 153, 148, 155, 156, 13, 123, 124, 125, 126, 127, 128, 129, 130, 134, 153,
14, 15, 17, 18, 19, 20, 46, 85, 86, 91, 91, 155, 150, 157, 158, 13, 14, 15, 17, 18,
117, 130, 131, 133, 135, 136, 151, 160, 161, 162, 19, 20, 46, 85, 86, 91, 117, 130, 131, 133,
163, 171, 172, 173, 176, 183, 54, 140, 143, 83, 135, 136, 153, 162, 163, 164, 165, 173, 174, 175,
90, 84, 134, 131, 159, 117, 117, 133, 62, 63, 178, 185, 54, 140, 143, 83, 90, 84, 134, 131,
83, 87, 82, 82, 88, 45, 131, 81, 117, 96, 161, 117, 117, 133, 62, 63, 83, 87, 82, 82,
97, 93, 95, 64, 65, 99, 100, 66, 67, 68, 88, 45, 131, 81, 117, 96, 97, 93, 95, 64,
70, 69, 104, 84, 155, 54, 157, 158, 86, 156, 65, 99, 100, 66, 67, 68, 70, 69, 104, 84,
91, 91, 178, 81, 81, 91, 91, 133, 81, 86, 157, 54, 159, 160, 86, 158, 91, 91, 180, 81,
164, 71, 72, 73, 80, 90, 132, 88, 91, 86, 81, 91, 91, 133, 81, 86, 166, 71, 72, 73,
161, 83, 84, 134, 159, 84, 82, 109, 133, 54, 80, 90, 132, 88, 91, 86, 163, 83, 84, 134,
59, 112, 131, 117, 117, 119, 119, 121, 121, 121, 161, 84, 82, 109, 133, 54, 59, 112, 131, 117,
121, 122, 122, 126, 127, 128, 133, 86, 83, 88, 117, 119, 119, 121, 121, 121, 121, 122, 122, 126,
91, 167, 168, 169, 179, 133, 91, 177, 171, 131, 127, 128, 133, 86, 83, 88, 91, 169, 170, 171,
131, 134, 84, 84, 89, 134, 158, 46, 170, 162, 181, 133, 91, 179, 173, 131, 131, 134, 84, 84,
160, 172, 180, 82, 133, 146, 175, 165, 84, 131, 89, 134, 160, 46, 172, 164, 162, 174, 182, 82,
84, 81, 175, 181, 182, 167, 174, 54, 82, 86, 3, 133, 146, 177, 167, 84, 131, 84, 81, 177,
133, 91, 82, 16, 90, 162, 166, 170, 82, 133, 183, 184, 169, 176, 54, 82, 86, 133, 91, 82,
166, 167, 159, 91 16, 90, 164, 168, 172, 82, 133, 168, 169, 161,
91
}; };
#define yyerrok (yyerrstatus = 0) #define yyerrok (yyerrstatus = 0)
...@@ -3305,7 +3307,7 @@ yyreduce: ...@@ -3305,7 +3307,7 @@ yyreduce:
{ {
(yyval.interm) = (yyvsp[(3) - (3)].interm); (yyval.interm) = (yyvsp[(3) - (3)].interm);
if (context->paramErrorCheck((yyvsp[(3) - (3)].interm).line, (yyvsp[(1) - (3)].interm.type).qualifier, (yyvsp[(2) - (3)].interm.qualifier), (yyval.interm).param.type)) if (context->paramErrorCheck((yyvsp[(3) - (3)].interm).line, (yyvsp[(1) - (3)].interm.qualifier), (yyvsp[(2) - (3)].interm.qualifier), (yyval.interm).param.type))
context->recover(); context->recover();
} }
break; break;
...@@ -3325,7 +3327,7 @@ yyreduce: ...@@ -3325,7 +3327,7 @@ yyreduce:
{ {
(yyval.interm) = (yyvsp[(3) - (3)].interm); (yyval.interm) = (yyvsp[(3) - (3)].interm);
if (context->paramErrorCheck((yyvsp[(3) - (3)].interm).line, (yyvsp[(1) - (3)].interm.type).qualifier, (yyvsp[(2) - (3)].interm.qualifier), (yyval.interm).param.type)) if (context->paramErrorCheck((yyvsp[(3) - (3)].interm).line, (yyvsp[(1) - (3)].interm.qualifier), (yyvsp[(2) - (3)].interm.qualifier), (yyval.interm).param.type))
context->recover(); context->recover();
} }
break; break;
...@@ -3648,7 +3650,7 @@ yyreduce: ...@@ -3648,7 +3650,7 @@ yyreduce:
case 104: case 104:
{ {
(yyval.interm.type).setBasic(EbtVoid, EvqConst, (yyvsp[(1) - (1)].lex).line); (yyval.interm.qualifier) = EvqConst;
} }
break; break;
...@@ -3692,13 +3694,67 @@ yyreduce: ...@@ -3692,13 +3694,67 @@ yyreduce:
case 108: case 108:
{ {
(yyval.interm.type).setBasic(EbtVoid, (yyvsp[(1) - (1)].interm.type).qualifier, (yyvsp[(1) - (1)].interm.type).line);
}
break;
case 109:
{
(yyval.interm.type).qualifier = EvqConst;
(yyval.interm.type).line = (yyvsp[(1) - (1)].lex).line;
}
break;
case 110:
{
ES3_ONLY("in", (yyvsp[(1) - (1)].lex).line);
(yyval.interm.type).qualifier = (context->shaderType == SH_FRAGMENT_SHADER) ? EvqVaryingIn : EvqAttribute;
(yyval.interm.type).line = (yyvsp[(1) - (1)].lex).line;
}
break;
case 111:
{
ES3_ONLY("out", (yyvsp[(1) - (1)].lex).line);
(yyval.interm.type).qualifier = (context->shaderType == SH_FRAGMENT_SHADER) ? EvqFragColor : EvqVaryingOut;
(yyval.interm.type).line = (yyvsp[(1) - (1)].lex).line;
}
break;
case 112:
{
ES3_ONLY("in", (yyvsp[(1) - (2)].lex).line);
// FIXME: Handle centroid qualifier
(yyval.interm.type).qualifier = (context->shaderType == SH_FRAGMENT_SHADER) ? EvqVaryingIn : EvqAttribute;
(yyval.interm.type).line = (yyvsp[(2) - (2)].lex).line;
}
break;
case 113:
{
ES3_ONLY("out", (yyvsp[(1) - (2)].lex).line);
// FIXME: Handle centroid qualifier
(yyval.interm.type).qualifier = (context->shaderType == SH_FRAGMENT_SHADER) ? EvqFragColor : EvqVaryingOut;
(yyval.interm.type).line = (yyvsp[(2) - (2)].lex).line;
}
break;
case 114:
{
if (context->globalErrorCheck((yyvsp[(1) - (1)].lex).line, context->symbolTable.atGlobalLevel(), "uniform")) if (context->globalErrorCheck((yyvsp[(1) - (1)].lex).line, context->symbolTable.atGlobalLevel(), "uniform"))
context->recover(); context->recover();
(yyval.interm.type).setBasic(EbtVoid, EvqUniform, (yyvsp[(1) - (1)].lex).line); (yyval.interm.type).qualifier = EvqUniform;
(yyval.interm.type).line = (yyvsp[(1) - (1)].lex).line;
} }
break; break;
case 109: case 115:
{ {
(yyval.interm.type) = (yyvsp[(1) - (1)].interm.type); (yyval.interm.type) = (yyvsp[(1) - (1)].interm.type);
...@@ -3712,7 +3768,7 @@ yyreduce: ...@@ -3712,7 +3768,7 @@ yyreduce:
} }
break; break;
case 110: case 116:
{ {
(yyval.interm.type) = (yyvsp[(2) - (2)].interm.type); (yyval.interm.type) = (yyvsp[(2) - (2)].interm.type);
...@@ -3720,35 +3776,35 @@ yyreduce: ...@@ -3720,35 +3776,35 @@ yyreduce:
} }
break; break;
case 111: case 117:
{ {
(yyval.interm.precision) = EbpHigh; (yyval.interm.precision) = EbpHigh;
} }
break; break;
case 112: case 118:
{ {
(yyval.interm.precision) = EbpMedium; (yyval.interm.precision) = EbpMedium;
} }
break; break;
case 113: case 119:
{ {
(yyval.interm.precision) = EbpLow; (yyval.interm.precision) = EbpLow;
} }
break; break;
case 114: case 120:
{ {
(yyval.interm.type) = (yyvsp[(1) - (1)].interm.type); (yyval.interm.type) = (yyvsp[(1) - (1)].interm.type);
} }
break; break;
case 115: case 121:
{ {
(yyval.interm.type) = (yyvsp[(1) - (4)].interm.type); (yyval.interm.type) = (yyvsp[(1) - (4)].interm.type);
...@@ -3764,7 +3820,7 @@ yyreduce: ...@@ -3764,7 +3820,7 @@ yyreduce:
} }
break; break;
case 116: case 122:
{ {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
...@@ -3772,7 +3828,7 @@ yyreduce: ...@@ -3772,7 +3828,7 @@ yyreduce:
} }
break; break;
case 117: case 123:
{ {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
...@@ -3780,7 +3836,7 @@ yyreduce: ...@@ -3780,7 +3836,7 @@ yyreduce:
} }
break; break;
case 118: case 124:
{ {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
...@@ -3788,7 +3844,7 @@ yyreduce: ...@@ -3788,7 +3844,7 @@ yyreduce:
} }
break; break;
case 119: case 125:
{ {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
...@@ -3796,7 +3852,7 @@ yyreduce: ...@@ -3796,7 +3852,7 @@ yyreduce:
} }
break; break;
case 120: case 126:
{ {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
...@@ -3805,7 +3861,7 @@ yyreduce: ...@@ -3805,7 +3861,7 @@ yyreduce:
} }
break; break;
case 121: case 127:
{ {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
...@@ -3814,7 +3870,7 @@ yyreduce: ...@@ -3814,7 +3870,7 @@ yyreduce:
} }
break; break;
case 122: case 128:
{ {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
...@@ -3823,7 +3879,7 @@ yyreduce: ...@@ -3823,7 +3879,7 @@ yyreduce:
} }
break; break;
case 123: case 129:
{ {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
...@@ -3832,7 +3888,7 @@ yyreduce: ...@@ -3832,7 +3888,7 @@ yyreduce:
} }
break; break;
case 124: case 130:
{ {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
...@@ -3841,7 +3897,7 @@ yyreduce: ...@@ -3841,7 +3897,7 @@ yyreduce:
} }
break; break;
case 125: case 131:
{ {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
...@@ -3850,7 +3906,7 @@ yyreduce: ...@@ -3850,7 +3906,7 @@ yyreduce:
} }
break; break;
case 126: case 132:
{ {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
...@@ -3859,7 +3915,7 @@ yyreduce: ...@@ -3859,7 +3915,7 @@ yyreduce:
} }
break; break;
case 127: case 133:
{ {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
...@@ -3868,7 +3924,7 @@ yyreduce: ...@@ -3868,7 +3924,7 @@ yyreduce:
} }
break; break;
case 128: case 134:
{ {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
...@@ -3877,7 +3933,7 @@ yyreduce: ...@@ -3877,7 +3933,7 @@ yyreduce:
} }
break; break;
case 129: case 135:
{ {
FRAG_VERT_ONLY("mat2", (yyvsp[(1) - (1)].lex).line); FRAG_VERT_ONLY("mat2", (yyvsp[(1) - (1)].lex).line);
...@@ -3887,7 +3943,7 @@ yyreduce: ...@@ -3887,7 +3943,7 @@ yyreduce:
} }
break; break;
case 130: case 136:
{ {
FRAG_VERT_ONLY("mat3", (yyvsp[(1) - (1)].lex).line); FRAG_VERT_ONLY("mat3", (yyvsp[(1) - (1)].lex).line);
...@@ -3897,7 +3953,7 @@ yyreduce: ...@@ -3897,7 +3953,7 @@ yyreduce:
} }
break; break;
case 131: case 137:
{ {
FRAG_VERT_ONLY("mat4", (yyvsp[(1) - (1)].lex).line); FRAG_VERT_ONLY("mat4", (yyvsp[(1) - (1)].lex).line);
...@@ -3907,7 +3963,7 @@ yyreduce: ...@@ -3907,7 +3963,7 @@ yyreduce:
} }
break; break;
case 132: case 138:
{ {
FRAG_VERT_ONLY("sampler2D", (yyvsp[(1) - (1)].lex).line); FRAG_VERT_ONLY("sampler2D", (yyvsp[(1) - (1)].lex).line);
...@@ -3916,7 +3972,7 @@ yyreduce: ...@@ -3916,7 +3972,7 @@ yyreduce:
} }
break; break;
case 133: case 139:
{ {
FRAG_VERT_ONLY("samplerCube", (yyvsp[(1) - (1)].lex).line); FRAG_VERT_ONLY("samplerCube", (yyvsp[(1) - (1)].lex).line);
...@@ -3925,7 +3981,7 @@ yyreduce: ...@@ -3925,7 +3981,7 @@ yyreduce:
} }
break; break;
case 134: case 140:
{ {
if (!context->supportsExtension("GL_OES_EGL_image_external")) { if (!context->supportsExtension("GL_OES_EGL_image_external")) {
...@@ -3938,7 +3994,7 @@ yyreduce: ...@@ -3938,7 +3994,7 @@ yyreduce:
} }
break; break;
case 135: case 141:
{ {
if (!context->supportsExtension("GL_ARB_texture_rectangle")) { if (!context->supportsExtension("GL_ARB_texture_rectangle")) {
...@@ -3951,7 +4007,7 @@ yyreduce: ...@@ -3951,7 +4007,7 @@ yyreduce:
} }
break; break;
case 136: case 142:
{ {
FRAG_VERT_ONLY("struct", (yyvsp[(1) - (1)].interm.type).line); FRAG_VERT_ONLY("struct", (yyvsp[(1) - (1)].interm.type).line);
...@@ -3960,7 +4016,7 @@ yyreduce: ...@@ -3960,7 +4016,7 @@ yyreduce:
} }
break; break;
case 137: case 143:
{ {
// //
...@@ -3974,12 +4030,12 @@ yyreduce: ...@@ -3974,12 +4030,12 @@ yyreduce:
} }
break; break;
case 138: case 144:
{ if (context->enterStructDeclaration((yyvsp[(2) - (3)].lex).line, *(yyvsp[(2) - (3)].lex).string)) context->recover(); } { if (context->enterStructDeclaration((yyvsp[(2) - (3)].lex).line, *(yyvsp[(2) - (3)].lex).string)) context->recover(); }
break; break;
case 139: case 145:
{ {
if (context->reservedErrorCheck((yyvsp[(2) - (6)].lex).line, *(yyvsp[(2) - (6)].lex).string)) if (context->reservedErrorCheck((yyvsp[(2) - (6)].lex).line, *(yyvsp[(2) - (6)].lex).string))
...@@ -3997,12 +4053,12 @@ yyreduce: ...@@ -3997,12 +4053,12 @@ yyreduce:
} }
break; break;
case 140: case 146:
{ if (context->enterStructDeclaration((yyvsp[(2) - (2)].lex).line, *(yyvsp[(2) - (2)].lex).string)) context->recover(); } { if (context->enterStructDeclaration((yyvsp[(2) - (2)].lex).line, *(yyvsp[(2) - (2)].lex).string)) context->recover(); }
break; break;
case 141: case 147:
{ {
TType* structure = new TType((yyvsp[(4) - (5)].interm.typeList), TString("")); TType* structure = new TType((yyvsp[(4) - (5)].interm.typeList), TString(""));
...@@ -4012,14 +4068,14 @@ yyreduce: ...@@ -4012,14 +4068,14 @@ yyreduce:
} }
break; break;
case 142: case 148:
{ {
(yyval.interm.typeList) = (yyvsp[(1) - (1)].interm.typeList); (yyval.interm.typeList) = (yyvsp[(1) - (1)].interm.typeList);
} }
break; break;
case 143: case 149:
{ {
(yyval.interm.typeList) = (yyvsp[(1) - (2)].interm.typeList); (yyval.interm.typeList) = (yyvsp[(1) - (2)].interm.typeList);
...@@ -4035,7 +4091,7 @@ yyreduce: ...@@ -4035,7 +4091,7 @@ yyreduce:
} }
break; break;
case 144: case 150:
{ {
(yyval.interm.typeList) = (yyvsp[(2) - (3)].interm.typeList); (yyval.interm.typeList) = (yyvsp[(2) - (3)].interm.typeList);
...@@ -4072,7 +4128,7 @@ yyreduce: ...@@ -4072,7 +4128,7 @@ yyreduce:
} }
break; break;
case 145: case 151:
{ {
(yyval.interm.typeList) = NewPoolTTypeList(); (yyval.interm.typeList) = NewPoolTTypeList();
...@@ -4080,14 +4136,14 @@ yyreduce: ...@@ -4080,14 +4136,14 @@ yyreduce:
} }
break; break;
case 146: case 152:
{ {
(yyval.interm.typeList)->push_back((yyvsp[(3) - (3)].interm.typeLine)); (yyval.interm.typeList)->push_back((yyvsp[(3) - (3)].interm.typeLine));
} }
break; break;
case 147: case 153:
{ {
if (context->reservedErrorCheck((yyvsp[(1) - (1)].lex).line, *(yyvsp[(1) - (1)].lex).string)) if (context->reservedErrorCheck((yyvsp[(1) - (1)].lex).line, *(yyvsp[(1) - (1)].lex).string))
...@@ -4099,7 +4155,7 @@ yyreduce: ...@@ -4099,7 +4155,7 @@ yyreduce:
} }
break; break;
case 148: case 154:
{ {
if (context->reservedErrorCheck((yyvsp[(1) - (4)].lex).line, *(yyvsp[(1) - (4)].lex).string)) if (context->reservedErrorCheck((yyvsp[(1) - (4)].lex).line, *(yyvsp[(1) - (4)].lex).string))
...@@ -4116,67 +4172,67 @@ yyreduce: ...@@ -4116,67 +4172,67 @@ yyreduce:
} }
break; break;
case 149: case 155:
{ (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); } { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break; break;
case 150: case 156:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break; break;
case 151: case 157:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermAggregate); } { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermAggregate); }
break; break;
case 152: case 158:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break; break;
case 153: case 159:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break; break;
case 154: case 160:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break; break;
case 155: case 161:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break; break;
case 156: case 162:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break; break;
case 157: case 163:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break; break;
case 158: case 164:
{ (yyval.interm.intermAggregate) = 0; } { (yyval.interm.intermAggregate) = 0; }
break; break;
case 159: case 165:
{ context->symbolTable.push(); } { context->symbolTable.push(); }
break; break;
case 160: case 166:
{ context->symbolTable.pop(); } { context->symbolTable.pop(); }
break; break;
case 161: case 167:
{ {
if ((yyvsp[(3) - (5)].interm.intermAggregate) != 0) { if ((yyvsp[(3) - (5)].interm.intermAggregate) != 0) {
...@@ -4187,44 +4243,44 @@ yyreduce: ...@@ -4187,44 +4243,44 @@ yyreduce:
} }
break; break;
case 162: case 168:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break; break;
case 163: case 169:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break; break;
case 164: case 170:
{ context->symbolTable.push(); } { context->symbolTable.push(); }
break; break;
case 165: case 171:
{ context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); } { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
break; break;
case 166: case 172:
{ context->symbolTable.push(); } { context->symbolTable.push(); }
break; break;
case 167: case 173:
{ context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); } { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
break; break;
case 168: case 174:
{ {
(yyval.interm.intermNode) = 0; (yyval.interm.intermNode) = 0;
} }
break; break;
case 169: case 175:
{ {
if ((yyvsp[(2) - (3)].interm.intermAggregate)) { if ((yyvsp[(2) - (3)].interm.intermAggregate)) {
...@@ -4235,31 +4291,31 @@ yyreduce: ...@@ -4235,31 +4291,31 @@ yyreduce:
} }
break; break;
case 170: case 176:
{ {
(yyval.interm.intermAggregate) = context->intermediate.makeAggregate((yyvsp[(1) - (1)].interm.intermNode), 0); (yyval.interm.intermAggregate) = context->intermediate.makeAggregate((yyvsp[(1) - (1)].interm.intermNode), 0);
} }
break; break;
case 171: case 177:
{ {
(yyval.interm.intermAggregate) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermAggregate), (yyvsp[(2) - (2)].interm.intermNode), 0); (yyval.interm.intermAggregate) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermAggregate), (yyvsp[(2) - (2)].interm.intermNode), 0);
} }
break; break;
case 172: case 178:
{ (yyval.interm.intermNode) = 0; } { (yyval.interm.intermNode) = 0; }
break; break;
case 173: case 179:
{ (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[(1) - (2)].interm.intermTypedNode)); } { (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[(1) - (2)].interm.intermTypedNode)); }
break; break;
case 174: case 180:
{ {
if (context->boolErrorCheck((yyvsp[(1) - (5)].lex).line, (yyvsp[(3) - (5)].interm.intermTypedNode))) if (context->boolErrorCheck((yyvsp[(1) - (5)].lex).line, (yyvsp[(3) - (5)].interm.intermTypedNode)))
...@@ -4268,7 +4324,7 @@ yyreduce: ...@@ -4268,7 +4324,7 @@ yyreduce:
} }
break; break;
case 175: case 181:
{ {
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermNode); (yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermNode);
...@@ -4276,7 +4332,7 @@ yyreduce: ...@@ -4276,7 +4332,7 @@ yyreduce:
} }
break; break;
case 176: case 182:
{ {
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (1)].interm.intermNode); (yyval.interm.nodePair).node1 = (yyvsp[(1) - (1)].interm.intermNode);
...@@ -4284,7 +4340,7 @@ yyreduce: ...@@ -4284,7 +4340,7 @@ yyreduce:
} }
break; break;
case 177: case 183:
{ {
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
...@@ -4293,7 +4349,7 @@ yyreduce: ...@@ -4293,7 +4349,7 @@ yyreduce:
} }
break; break;
case 178: case 184:
{ {
TIntermNode* intermNode; TIntermNode* intermNode;
...@@ -4311,12 +4367,12 @@ yyreduce: ...@@ -4311,12 +4367,12 @@ yyreduce:
} }
break; break;
case 179: case 185:
{ context->symbolTable.push(); ++context->loopNestingLevel; } { context->symbolTable.push(); ++context->loopNestingLevel; }
break; break;
case 180: case 186:
{ {
context->symbolTable.pop(); context->symbolTable.pop();
...@@ -4325,12 +4381,12 @@ yyreduce: ...@@ -4325,12 +4381,12 @@ yyreduce:
} }
break; break;
case 181: case 187:
{ ++context->loopNestingLevel; } { ++context->loopNestingLevel; }
break; break;
case 182: case 188:
{ {
if (context->boolErrorCheck((yyvsp[(8) - (8)].lex).line, (yyvsp[(6) - (8)].interm.intermTypedNode))) if (context->boolErrorCheck((yyvsp[(8) - (8)].lex).line, (yyvsp[(6) - (8)].interm.intermTypedNode)))
...@@ -4341,12 +4397,12 @@ yyreduce: ...@@ -4341,12 +4397,12 @@ yyreduce:
} }
break; break;
case 183: case 189:
{ context->symbolTable.push(); ++context->loopNestingLevel; } { context->symbolTable.push(); ++context->loopNestingLevel; }
break; break;
case 184: case 190:
{ {
context->symbolTable.pop(); context->symbolTable.pop();
...@@ -4355,35 +4411,35 @@ yyreduce: ...@@ -4355,35 +4411,35 @@ yyreduce:
} }
break; break;
case 185: case 191:
{ {
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
} }
break; break;
case 186: case 192:
{ {
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
} }
break; break;
case 187: case 193:
{ {
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
} }
break; break;
case 188: case 194:
{ {
(yyval.interm.intermTypedNode) = 0; (yyval.interm.intermTypedNode) = 0;
} }
break; break;
case 189: case 195:
{ {
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (2)].interm.intermTypedNode); (yyval.interm.nodePair).node1 = (yyvsp[(1) - (2)].interm.intermTypedNode);
...@@ -4391,7 +4447,7 @@ yyreduce: ...@@ -4391,7 +4447,7 @@ yyreduce:
} }
break; break;
case 190: case 196:
{ {
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermTypedNode); (yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermTypedNode);
...@@ -4399,7 +4455,7 @@ yyreduce: ...@@ -4399,7 +4455,7 @@ yyreduce:
} }
break; break;
case 191: case 197:
{ {
if (context->loopNestingLevel <= 0) { if (context->loopNestingLevel <= 0) {
...@@ -4410,7 +4466,7 @@ yyreduce: ...@@ -4410,7 +4466,7 @@ yyreduce:
} }
break; break;
case 192: case 198:
{ {
if (context->loopNestingLevel <= 0) { if (context->loopNestingLevel <= 0) {
...@@ -4421,7 +4477,7 @@ yyreduce: ...@@ -4421,7 +4477,7 @@ yyreduce:
} }
break; break;
case 193: case 199:
{ {
(yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(1) - (2)].lex).line); (yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(1) - (2)].lex).line);
...@@ -4432,7 +4488,7 @@ yyreduce: ...@@ -4432,7 +4488,7 @@ yyreduce:
} }
break; break;
case 194: case 200:
{ {
(yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(2) - (3)].interm.intermTypedNode), (yyvsp[(1) - (3)].lex).line); (yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(2) - (3)].interm.intermTypedNode), (yyvsp[(1) - (3)].lex).line);
...@@ -4447,7 +4503,7 @@ yyreduce: ...@@ -4447,7 +4503,7 @@ yyreduce:
} }
break; break;
case 195: case 201:
{ {
FRAG_ONLY("discard", (yyvsp[(1) - (2)].lex).line); FRAG_ONLY("discard", (yyvsp[(1) - (2)].lex).line);
...@@ -4455,7 +4511,7 @@ yyreduce: ...@@ -4455,7 +4511,7 @@ yyreduce:
} }
break; break;
case 196: case 202:
{ {
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
...@@ -4463,7 +4519,7 @@ yyreduce: ...@@ -4463,7 +4519,7 @@ yyreduce:
} }
break; break;
case 197: case 203:
{ {
(yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermNode), (yyvsp[(2) - (2)].interm.intermNode), 0); (yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermNode), (yyvsp[(2) - (2)].interm.intermNode), 0);
...@@ -4471,21 +4527,21 @@ yyreduce: ...@@ -4471,21 +4527,21 @@ yyreduce:
} }
break; break;
case 198: case 204:
{ {
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
} }
break; break;
case 199: case 205:
{ {
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
} }
break; break;
case 200: case 206:
{ {
TFunction* function = (yyvsp[(1) - (1)].interm).function; TFunction* function = (yyvsp[(1) - (1)].interm).function;
...@@ -4574,7 +4630,7 @@ yyreduce: ...@@ -4574,7 +4630,7 @@ yyreduce:
} }
break; break;
case 201: case 207:
{ {
//?? Check that all paths return a value if return type != void ? //?? Check that all paths return a value if return type != void ?
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment