Commit a6a79ab0 by Nicolas Capens

Support in/out as type qualifiers.

Bug 19331817 Change-Id: Iab11050d27e02003fbfcfbe0f47052d73043cfd4 Reviewed-on: https://swiftshader-review.googlesource.com/2310Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <capn@google.com> Tested-by: 's avatarNicolas Capens <capn@google.com>
parent c6841851
......@@ -163,10 +163,10 @@ extern void yyerror(TParseContext* context, const char* reason);
%type <interm> single_declaration init_declarator_list
%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.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> struct_specifier
%type <interm.typeLine> struct_declarator
......@@ -1153,9 +1153,9 @@ parameter_declaration
//
// Type + name
//
: type_qualifier parameter_qualifier parameter_declarator {
: parameter_type_qualifier parameter_qualifier parameter_declarator {
$$ = $3;
if (context->paramErrorCheck($3.line, $1.qualifier, $2, $$.param.type))
if (context->paramErrorCheck($3.line, $1, $2, $$.param.type))
context->recover();
}
| parameter_qualifier parameter_declarator {
......@@ -1168,9 +1168,9 @@ parameter_declaration
//
// Only type
//
| type_qualifier parameter_qualifier parameter_type_specifier {
| parameter_type_qualifier parameter_qualifier parameter_type_specifier {
$$ = $3;
if (context->paramErrorCheck($3.line, $1.qualifier, $2, $$.param.type))
if (context->paramErrorCheck($3.line, $1, $2, $$.param.type))
context->recover();
}
| parameter_qualifier parameter_type_specifier {
......@@ -1496,11 +1496,14 @@ fully_specified_type
}
;
type_qualifier
parameter_type_qualifier
: CONST_QUAL {
$$.setBasic(EbtVoid, EvqConst, $1.line);
$$ = EvqConst;
}
| ATTRIBUTE {
;
type_qualifier
: ATTRIBUTE {
VERTEX_ONLY("attribute", $1.line);
ES2_ONLY("attribute", $1.line);
if (context->globalErrorCheck($1.line, context->symbolTable.atGlobalLevel(), "attribute"))
......@@ -1525,10 +1528,43 @@ type_qualifier
else
$$.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 == GL_FRAGMENT_SHADER) ? EvqVaryingIn : EvqAttribute;
$$.line = $1.line;
}
| OUT_QUAL {
ES3_ONLY("out", $1.line);
$$.qualifier = (context->shaderType == GL_FRAGMENT_SHADER) ? EvqFragColor : EvqVaryingOut;
$$.line = $1.line;
}
| CENTROID IN_QUAL {
ES3_ONLY("in", $1.line);
// FIXME: Handle centroid qualifier
$$.qualifier = (context->shaderType == GL_FRAGMENT_SHADER) ? EvqVaryingIn : EvqAttribute;
$$.line = $2.line;
}
| CENTROID OUT_QUAL {
ES3_ONLY("out", $1.line);
// FIXME: Handle centroid qualifier
$$.qualifier = (context->shaderType == GL_FRAGMENT_SHADER) ? EvqFragColor : EvqVaryingOut;
$$.line = $2.line;
}
| UNIFORM {
if (context->globalErrorCheck($1.line, context->symbolTable.atGlobalLevel(), "uniform"))
context->recover();
$$.setBasic(EbtVoid, EvqUniform, $1.line);
$$.qualifier = EvqUniform;
$$.line = $1.line;
}
;
......
......@@ -529,18 +529,18 @@ union yyalloc
#endif
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 71
#define YYFINAL 77
/* YYLAST -- Last index in YYTABLE. */
#define YYLAST 1574
#define YYLAST 1554
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 105
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 83
#define YYNNTS 85
/* YYNRULES -- Number of rules. */
#define YYNRULES 201
#define YYNRULES 207
/* YYNRULES -- Number of states. */
#define YYNSTATES 304
#define YYNSTATES 311
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
......@@ -606,28 +606,28 @@ static const yytype_uint16 yyprhs[] =
225, 228, 234, 238, 241, 245, 248, 249, 251, 253,
255, 257, 259, 263, 269, 276, 282, 284, 287, 292,
298, 303, 306, 308, 311, 313, 315, 317, 320, 322,
324, 327, 329, 331, 333, 335, 340, 342, 344, 346,
348, 350, 352, 354, 356, 358, 360, 362, 364, 366,
368, 370, 372, 374, 376, 378, 380, 382, 384, 385,
392, 393, 399, 401, 404, 408, 410, 414, 416, 421,
423, 425, 427, 429, 431, 433, 435, 437, 439, 442,
443, 444, 450, 452, 454, 455, 458, 459, 462, 465,
469, 471, 474, 476, 479, 485, 489, 491, 493, 498,
499, 506, 507, 516, 517, 525, 527, 529, 531, 532,
535, 539, 542, 545, 548, 552, 555, 557, 560, 562,
564, 565
324, 326, 328, 331, 334, 336, 338, 341, 343, 345,
347, 349, 354, 356, 358, 360, 362, 364, 366, 368,
370, 372, 374, 376, 378, 380, 382, 384, 386, 388,
390, 392, 394, 396, 398, 399, 406, 407, 413, 415,
418, 422, 424, 428, 430, 435, 437, 439, 441, 443,
445, 447, 449, 451, 453, 456, 457, 458, 464, 466,
468, 469, 472, 473, 476, 479, 483, 485, 488, 490,
493, 499, 503, 505, 507, 512, 513, 520, 521, 530,
531, 539, 541, 543, 545, 546, 549, 553, 556, 559,
562, 566, 569, 571, 574, 576, 578, 579
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
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,
83, 109, 84, -1, 110, -1, 108, 87, 59, -1,
108, 62, -1, 108, 63, -1, 133, -1, 111, -1,
112, -1, 108, 87, 112, -1, 114, 82, -1, 113,
82, -1, 115, 45, -1, 115, -1, 115, 131, -1,
114, 88, 131, -1, 116, 81, -1, 151, -1, 54,
114, 88, 131, -1, 116, 81, -1, 153, -1, 54,
-1, 59, -1, 108, -1, 62, 117, -1, 63, 117,
-1, 118, 117, -1, 95, -1, 93, -1, 92, -1,
117, -1, 119, 96, 117, -1, 119, 97, 117, -1,
......@@ -641,43 +641,45 @@ static const yytype_int16 yyrhs[] =
131, -1, 130, -1, 117, 132, 131, -1, 90, -1,
71, -1, 72, -1, 73, -1, 80, -1, 131, -1,
133, 88, 131, -1, 130, -1, 136, 91, -1, 144,
91, -1, 7, 149, 150, 91, -1, 137, 82, -1,
91, -1, 7, 151, 152, 91, -1, 137, 82, -1,
139, -1, 138, -1, 139, 141, -1, 138, 88, 141,
-1, 146, 54, 81, -1, 148, 54, -1, 148, 54,
-1, 146, 54, 81, -1, 150, 54, -1, 150, 54,
83, 134, 84, -1, 147, 142, 140, -1, 142, 140,
-1, 147, 142, 143, -1, 142, 143, -1, -1, 36,
-1, 37, -1, 38, -1, 148, -1, 145, -1, 144,
-1, 37, -1, 38, -1, 150, -1, 145, -1, 144,
88, 54, -1, 144, 88, 54, 83, 84, -1, 144,
88, 54, 83, 134, 84, -1, 144, 88, 54, 90,
159, -1, 146, -1, 146, 54, -1, 146, 54, 83,
161, -1, 146, -1, 146, 54, -1, 146, 54, 83,
84, -1, 146, 54, 83, 134, 84, -1, 146, 54,
90, 159, -1, 3, 54, -1, 148, -1, 147, 148,
90, 161, -1, 3, 54, -1, 150, -1, 148, 150,
-1, 9, -1, 8, -1, 40, -1, 3, 40, -1,
39, -1, 150, -1, 149, 150, -1, 4, -1, 5,
-1, 6, -1, 151, -1, 151, 83, 134, 84, -1,
45, -1, 11, -1, 12, -1, 10, -1, 30, -1,
31, -1, 32, -1, 24, -1, 25, -1, 26, -1,
27, -1, 28, -1, 29, -1, 33, -1, 34, -1,
35, -1, 47, -1, 48, -1, 49, -1, 51, -1,
152, -1, 55, -1, -1, 44, 54, 85, 153, 155,
86, -1, -1, 44, 85, 154, 155, 86, -1, 156,
-1, 155, 156, -1, 148, 157, 91, -1, 158, -1,
157, 88, 158, -1, 54, -1, 54, 83, 134, 84,
-1, 131, -1, 135, -1, 163, -1, 162, -1, 160,
-1, 172, -1, 173, -1, 176, -1, 183, -1, 85,
86, -1, -1, -1, 85, 164, 171, 165, 86, -1,
170, -1, 162, -1, -1, 168, 170, -1, -1, 169,
162, -1, 85, 86, -1, 85, 171, 86, -1, 161,
-1, 171, 161, -1, 91, -1, 133, 91, -1, 18,
81, 133, 82, 174, -1, 167, 16, 167, -1, 167,
-1, 133, -1, 146, 54, 90, 159, -1, -1, 46,
81, 177, 175, 82, 166, -1, -1, 15, 178, 167,
46, 81, 133, 82, 91, -1, -1, 17, 81, 179,
180, 182, 82, 166, -1, 172, -1, 160, -1, 175,
-1, -1, 181, 91, -1, 181, 91, 133, -1, 14,
91, -1, 13, 91, -1, 20, 91, -1, 20, 133,
91, -1, 19, 91, -1, 185, -1, 184, 185, -1,
186, -1, 135, -1, -1, 136, 187, 170, -1
149, -1, 9, -1, 36, -1, 37, -1, 41, 36,
-1, 41, 37, -1, 39, -1, 152, -1, 151, 152,
-1, 4, -1, 5, -1, 6, -1, 153, -1, 153,
83, 134, 84, -1, 45, -1, 11, -1, 12, -1,
10, -1, 30, -1, 31, -1, 32, -1, 24, -1,
25, -1, 26, -1, 27, -1, 28, -1, 29, -1,
33, -1, 34, -1, 35, -1, 47, -1, 48, -1,
49, -1, 51, -1, 154, -1, 55, -1, -1, 44,
54, 85, 155, 157, 86, -1, -1, 44, 85, 156,
157, 86, -1, 158, -1, 157, 158, -1, 150, 159,
91, -1, 160, -1, 159, 88, 160, -1, 54, -1,
54, 83, 134, 84, -1, 131, -1, 135, -1, 165,
-1, 164, -1, 162, -1, 174, -1, 175, -1, 178,
-1, 185, -1, 85, 86, -1, -1, -1, 85, 166,
173, 167, 86, -1, 172, -1, 164, -1, -1, 170,
172, -1, -1, 171, 164, -1, 85, 86, -1, 85,
173, 86, -1, 163, -1, 173, 163, -1, 91, -1,
133, 91, -1, 18, 81, 133, 82, 176, -1, 169,
16, 169, -1, 169, -1, 133, -1, 146, 54, 90,
161, -1, -1, 46, 81, 179, 177, 82, 168, -1,
-1, 15, 180, 169, 46, 81, 133, 82, 91, -1,
-1, 17, 81, 181, 182, 184, 82, 168, -1, 174,
-1, 162, -1, 177, -1, -1, 183, 91, -1, 183,
91, 133, -1, 14, 91, -1, 13, 91, -1, 20,
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. */
......@@ -693,17 +695,17 @@ static const yytype_uint16 yyrline[] =
968, 976, 1003, 1008, 1018, 1056, 1059, 1066, 1074, 1095,
1116, 1127, 1156, 1161, 1171, 1176, 1186, 1189, 1192, 1195,
1201, 1208, 1211, 1233, 1251, 1275, 1298, 1302, 1320, 1328,
1360, 1380, 1468, 1477, 1500, 1503, 1510, 1519, 1528, 1536,
1546, 1553, 1556, 1559, 1565, 1568, 1583, 1587, 1591, 1595,
1604, 1609, 1614, 1619, 1624, 1629, 1634, 1639, 1644, 1649,
1655, 1661, 1667, 1672, 1677, 1686, 1691, 1696, 1709, 1709,
1723, 1723, 1732, 1735, 1750, 1782, 1786, 1792, 1800, 1816,
1820, 1824, 1825, 1831, 1832, 1833, 1834, 1835, 1839, 1840,
1840, 1840, 1850, 1851, 1855, 1855, 1856, 1856, 1861, 1864,
1874, 1877, 1883, 1884, 1888, 1896, 1900, 1910, 1915, 1932,
1932, 1937, 1937, 1944, 1944, 1952, 1955, 1961, 1964, 1970,
1974, 1981, 1988, 1995, 2002, 2013, 2022, 2026, 2033, 2036,
2042, 2042
1360, 1380, 1468, 1477, 1500, 1506, 1513, 1522, 1531, 1537,
1541, 1546, 1551, 1557, 1563, 1572, 1582, 1589, 1592, 1595,
1601, 1604, 1619, 1623, 1627, 1631, 1640, 1645, 1650, 1655,
1660, 1665, 1670, 1675, 1680, 1685, 1691, 1697, 1703, 1708,
1713, 1722, 1727, 1732, 1745, 1745, 1759, 1759, 1768, 1771,
1786, 1818, 1822, 1828, 1836, 1852, 1856, 1860, 1861, 1867,
1868, 1869, 1870, 1871, 1875, 1876, 1876, 1876, 1886, 1887,
1891, 1891, 1892, 1892, 1897, 1900, 1910, 1913, 1919, 1920,
1924, 1932, 1936, 1946, 1951, 1968, 1968, 1973, 1973, 1980,
1980, 1988, 1991, 1997, 2000, 2006, 2010, 2017, 2024, 2031,
2038, 2049, 2058, 2062, 2069, 2072, 2078, 2078
};
#endif
......@@ -747,9 +749,10 @@ static const char *const yytname[] =
"function_header", "parameter_declarator", "parameter_declaration",
"parameter_qualifier", "parameter_type_specifier",
"init_declarator_list", "single_declaration", "fully_specified_type",
"type_qualifier", "type_specifier", "precision_qualifier",
"type_specifier_no_prec", "type_specifier_nonarray", "struct_specifier",
"$@1", "$@2", "struct_declaration_list", "struct_declaration",
"parameter_type_qualifier", "type_qualifier", "storage_qualifier",
"type_specifier", "precision_qualifier", "type_specifier_no_prec",
"type_specifier_nonarray", "struct_specifier", "$@1", "$@2",
"struct_declaration_list", "struct_declaration",
"struct_declarator_list", "struct_declarator", "initializer",
"declaration_statement", "statement", "simple_statement",
"compound_statement", "$@3", "$@4", "statement_no_new_scope",
......@@ -794,17 +797,17 @@ static const yytype_uint8 yyr1[] =
134, 135, 135, 135, 136, 137, 137, 138, 138, 139,
140, 140, 141, 141, 141, 141, 142, 142, 142, 142,
143, 144, 144, 144, 144, 144, 145, 145, 145, 145,
145, 145, 146, 146, 147, 147, 147, 147, 147, 148,
148, 149, 149, 149, 150, 150, 151, 151, 151, 151,
151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
151, 151, 151, 151, 151, 151, 151, 151, 153, 152,
154, 152, 155, 155, 156, 157, 157, 158, 158, 159,
160, 161, 161, 162, 162, 162, 162, 162, 163, 164,
165, 163, 166, 166, 168, 167, 169, 167, 170, 170,
171, 171, 172, 172, 173, 174, 174, 175, 175, 177,
176, 178, 176, 179, 176, 180, 180, 181, 181, 182,
182, 183, 183, 183, 183, 183, 184, 184, 185, 185,
187, 186
145, 145, 146, 146, 147, 148, 148, 148, 148, 149,
149, 149, 149, 149, 149, 150, 150, 151, 151, 151,
152, 152, 153, 153, 153, 153, 153, 153, 153, 153,
153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
153, 153, 153, 153, 155, 154, 156, 154, 157, 157,
158, 159, 159, 160, 160, 161, 162, 163, 163, 164,
164, 164, 164, 164, 165, 166, 167, 165, 168, 168,
170, 169, 171, 169, 172, 172, 173, 173, 174, 174,
175, 176, 176, 177, 177, 179, 178, 180, 178, 181,
178, 182, 182, 183, 183, 184, 184, 185, 185, 185,
185, 185, 186, 186, 187, 187, 189, 188
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
......@@ -821,16 +824,16 @@ static const yytype_uint8 yyr2[] =
2, 5, 3, 2, 3, 2, 0, 1, 1, 1,
1, 1, 3, 5, 6, 5, 1, 2, 4, 5,
4, 2, 1, 2, 1, 1, 1, 2, 1, 1,
2, 1, 1, 1, 1, 4, 1, 1, 1, 1,
1, 1, 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, 0, 6,
0, 5, 1, 2, 3, 1, 3, 1, 4, 1,
1, 1, 1, 1, 1, 1, 1, 1, 2, 0,
0, 5, 1, 1, 0, 2, 0, 2, 2, 3,
1, 2, 1, 2, 5, 3, 1, 1, 4, 0,
6, 0, 8, 0, 7, 1, 1, 1, 0, 2,
3, 2, 2, 2, 3, 2, 1, 2, 1, 1,
0, 3
1, 1, 1, 1, 0, 6, 0, 5, 1, 2,
3, 1, 3, 1, 4, 1, 1, 1, 1, 1,
1, 1, 1, 1, 2, 0, 0, 5, 1, 1,
0, 2, 0, 2, 2, 3, 1, 2, 1, 2,
5, 3, 1, 1, 4, 0, 6, 0, 8, 0,
7, 1, 1, 1, 0, 2, 3, 2, 2, 2,
3, 2, 1, 2, 1, 1, 0, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
......@@ -838,308 +841,318 @@ static const yytype_uint8 yyr2[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
0, 0, 111, 112, 113, 0, 105, 104, 119, 117,
118, 123, 124, 125, 126, 127, 128, 120, 121, 122,
129, 130, 131, 108, 106, 0, 116, 132, 133, 134,
135, 137, 199, 200, 0, 76, 86, 0, 91, 96,
0, 102, 0, 109, 114, 136, 0, 196, 198, 107,
101, 0, 0, 140, 71, 0, 74, 86, 0, 87,
88, 89, 77, 0, 86, 0, 72, 97, 103, 110,
0, 1, 197, 0, 138, 0, 0, 201, 78, 83,
85, 90, 0, 92, 79, 0, 0, 2, 5, 4,
6, 27, 0, 0, 0, 34, 33, 32, 3, 8,
28, 10, 15, 16, 0, 0, 21, 0, 35, 0,
38, 41, 42, 47, 50, 51, 52, 53, 55, 57,
59, 70, 0, 25, 73, 0, 0, 0, 142, 0,
0, 181, 0, 0, 0, 0, 0, 159, 168, 172,
35, 61, 68, 0, 150, 0, 114, 153, 170, 152,
151, 0, 154, 155, 156, 157, 80, 82, 84, 0,
0, 98, 0, 149, 100, 29, 30, 0, 12, 13,
0, 0, 19, 18, 0, 20, 22, 24, 31, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 115, 0, 147, 0, 145, 141, 143,
192, 191, 166, 183, 0, 195, 193, 0, 179, 158,
0, 64, 65, 66, 67, 63, 0, 0, 173, 169,
171, 0, 93, 0, 95, 99, 7, 0, 14, 26,
11, 17, 23, 36, 37, 40, 39, 45, 46, 43,
44, 48, 49, 54, 56, 58, 0, 139, 0, 0,
144, 0, 0, 0, 0, 0, 194, 0, 160, 62,
69, 0, 94, 9, 0, 0, 146, 0, 165, 167,
186, 185, 188, 166, 177, 0, 0, 0, 81, 60,
148, 0, 187, 0, 0, 176, 174, 0, 0, 161,
0, 189, 0, 166, 0, 163, 180, 162, 0, 190,
184, 175, 178, 182
0, 0, 117, 118, 119, 0, 105, 109, 125, 123,
124, 129, 130, 131, 132, 133, 134, 126, 127, 128,
135, 136, 137, 110, 111, 114, 106, 0, 0, 122,
138, 139, 140, 141, 143, 205, 206, 0, 76, 86,
0, 91, 96, 0, 108, 102, 0, 115, 120, 142,
0, 202, 204, 107, 101, 0, 112, 113, 0, 146,
71, 0, 74, 86, 104, 87, 88, 89, 77, 0,
86, 0, 72, 97, 103, 116, 0, 1, 203, 0,
144, 0, 0, 207, 78, 83, 85, 90, 0, 92,
79, 0, 0, 2, 5, 4, 6, 27, 0, 0,
0, 34, 33, 32, 3, 8, 28, 10, 15, 16,
0, 0, 21, 0, 35, 0, 38, 41, 42, 47,
50, 51, 52, 53, 55, 57, 59, 70, 0, 25,
73, 0, 0, 0, 148, 0, 0, 187, 0, 0,
0, 0, 0, 165, 174, 178, 35, 61, 68, 0,
156, 0, 120, 159, 176, 158, 157, 0, 160, 161,
162, 163, 80, 82, 84, 0, 0, 98, 0, 155,
100, 29, 30, 0, 12, 13, 0, 0, 19, 18,
0, 20, 22, 24, 31, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 121,
0, 153, 0, 151, 147, 149, 198, 197, 172, 189,
0, 201, 199, 0, 185, 164, 0, 64, 65, 66,
67, 63, 0, 0, 179, 175, 177, 0, 93, 0,
95, 99, 7, 0, 14, 26, 11, 17, 23, 36,
37, 40, 39, 45, 46, 43, 44, 48, 49, 54,
56, 58, 0, 145, 0, 0, 150, 0, 0, 0,
0, 0, 200, 0, 166, 62, 69, 0, 94, 9,
0, 0, 152, 0, 171, 173, 192, 191, 194, 172,
0, 183, 0, 0, 0, 81, 60, 154, 0, 193,
0, 0, 182, 180, 0, 0, 167, 0, 195, 0,
172, 0, 169, 186, 168, 0, 196, 190, 181, 184,
188
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 98, 99, 100, 227, 101, 102, 103, 104, 105,
106, 107, 140, 109, 110, 111, 112, 113, 114, 115,
116, 117, 118, 119, 120, 141, 142, 216, 143, 122,
144, 145, 34, 35, 36, 79, 62, 63, 80, 37,
38, 39, 40, 41, 42, 43, 123, 45, 125, 75,
127, 128, 196, 197, 164, 147, 148, 149, 150, 210,
277, 296, 251, 252, 253, 297, 151, 152, 153, 286,
276, 154, 257, 202, 254, 272, 283, 284, 155, 46,
47, 48, 55
-1, 104, 105, 106, 233, 107, 108, 109, 110, 111,
112, 113, 146, 115, 116, 117, 118, 119, 120, 121,
122, 123, 124, 125, 126, 147, 148, 222, 149, 128,
150, 151, 37, 38, 39, 85, 68, 69, 86, 40,
41, 42, 70, 43, 44, 45, 46, 47, 129, 49,
131, 81, 133, 134, 202, 203, 170, 153, 154, 155,
156, 216, 284, 303, 257, 258, 259, 304, 157, 158,
159, 293, 283, 160, 263, 208, 260, 278, 290, 291,
161, 50, 51, 52, 61
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
#define YYPACT_NINF -258
#define YYPACT_NINF -268
static const yytype_int16 yypact[] =
{
1383, -29, -258, -258, -258, 126, -258, -258, -258, -258,
-258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
-258, -258, -258, -258, -258, -48, -258, -258, -258, -258,
-258, -258, -258, -74, -32, 25, 19, 15, -258, 68,
1431, -258, 1519, -258, 45, -258, 1330, -258, -258, -258,
-258, 1519, 65, -258, -258, 74, -258, 71, 117, -258,
-258, -258, -258, 1431, 116, 112, -258, 6, -258, -258,
1123, -258, -258, 78, -258, 1431, 290, -258, -258, -258,
-258, 118, 1431, -2, -258, 901, 1123, 89, -258, -258,
-258, -258, 1123, 1123, 1123, -258, -258, -258, -258, -258,
7, -258, -258, -258, 91, -64, 1195, 90, -258, 1123,
-58, -22, -258, -33, -5, -258, -258, -258, 106, 108,
-60, -258, 92, -258, -258, 1431, 125, 191, -258, 93,
94, -258, 102, 105, 96, 976, 107, 104, -258, -258,
12, -258, -258, 32, -258, -74, 75, -258, -258, -258,
-258, 383, -258, -258, -258, -258, 109, -258, -258, 1048,
1123, -258, 121, -258, -258, -258, -258, -35, -258, -258,
1123, 1473, -258, -258, 1123, 110, -258, -258, -258, 1123,
1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1123, 1123, 1123, -258, 1267, 123, 33, -258, -258, -258,
-258, -258, 115, -258, 1123, -258, -258, 38, -258, -258,
476, -258, -258, -258, -258, -258, 1123, 1123, -258, -258,
-258, 1123, -258, 124, -258, -258, -258, 128, 119, -258,
132, -258, -258, -258, -258, -58, -58, -258, -258, -258,
-258, -33, -33, -258, 106, 108, 72, -258, 1123, 125,
-258, 147, 74, 662, 755, 16, -258, 829, 476, -258,
-258, 130, -258, -258, 1123, 143, -258, 148, -258, -258,
-258, -258, 829, 115, 119, 155, 146, 144, -258, -258,
-258, 1123, -258, 140, 150, 217, -258, 151, 569, -258,
17, 1123, 569, 115, 1123, -258, -258, -258, 152, 119,
-258, -258, -258, -258
1363, -6, -268, -268, -268, 135, -268, -268, -268, -268,
-268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-268, -268, -268, -268, -268, -268, -268, -21, -26, -268,
-268, -268, -268, -268, -268, -268, -51, -47, 6, 16,
-20, -268, 46, 1411, -268, -268, 1499, -268, 29, -268,
1310, -268, -268, -268, -268, 1499, -268, -268, 31, -268,
-268, 67, -268, 27, -268, -268, -268, -268, -268, 1411,
111, 102, -268, -11, -268, -268, 1055, -268, -268, 69,
-268, 1411, 297, -268, -268, -268, -268, 104, 1411, -45,
-268, 193, 1055, 80, -268, -268, -268, -268, 1055, 1055,
1055, -268, -268, -268, -268, -268, 21, -268, -268, -268,
81, -15, 1127, 84, -268, 1055, -22, 20, -268, -43,
70, -268, -268, -268, 94, 96, -55, -268, 83, -268,
-268, 1411, 114, 1199, -268, 82, 85, -268, 90, 91,
86, 908, 93, 89, -268, -268, -53, -268, -268, 14,
-268, -51, 49, -268, -268, -268, -268, 390, -268, -268,
-268, -268, 95, -268, -268, 980, 1055, -268, 97, -268,
-268, -268, -268, 5, -268, -268, 1055, 1453, -268, -268,
1055, 103, -268, -268, -268, 1055, 1055, 1055, 1055, 1055,
1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, -268,
1247, 100, 18, -268, -268, -268, -268, -268, 105, -268,
1055, -268, -268, 19, -268, -268, 483, -268, -268, -268,
-268, -268, 1055, 1055, -268, -268, -268, 1055, -268, 101,
-268, -268, -268, 107, 99, -268, 112, -268, -268, -268,
-268, -22, -22, -268, -268, -268, -268, -43, -43, -268,
94, 96, -3, -268, 1055, 114, -268, 142, 67, 669,
762, 7, -268, 836, 483, -268, -268, 108, -268, -268,
1055, 110, -268, 115, -268, -268, -268, -268, 836, 105,
155, 99, 143, 116, 120, -268, -268, -268, 1055, -268,
117, 119, 191, -268, 121, 576, -268, 8, 1055, 576,
105, 1055, -268, -268, -268, 118, 99, -268, -268, -268,
-268
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
-258, -258, -258, -258, -258, -258, -258, 63, -258, -258,
-258, -258, -44, -258, -19, -258, -67, -20, -258, -258,
-258, 48, 54, 56, -258, -66, -83, -258, -92, -73,
8, 14, -258, -258, -258, 163, 192, 184, 168, -258,
-258, -237, -23, -30, 246, -21, 0, -258, -258, -258,
127, -122, -258, 10, -145, 1, -144, -224, -258, -258,
-258, -36, -257, -258, -258, -54, 50, 9, -258, -258,
-11, -258, -258, -258, -258, -258, -258, -258, -258, -258,
216, -258, -258
-268, -268, -268, -268, -268, -268, -268, 33, -268, -268,
-268, -268, -68, -268, -37, -268, -46, -39, -268, -268,
-268, 17, 34, 32, -268, -74, -88, -268, -99, -85,
10, 11, -268, -268, -268, 126, 152, 161, 144, -268,
-268, -234, -268, -268, -268, -30, 228, -14, 0, -268,
-268, -268, 122, -124, -268, -19, -163, -25, -150, -233,
-268, -268, -268, -65, -267, -268, -268, -56, 23, -17,
-268, -268, -33, -268, -268, -268, -268, -268, -268, -268,
-268, -268, 196, -268, -268
};
/* 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 -165
#define YYTABLE_NINF -171
static const yytype_int16 yytable[] =
{
44, 77, 167, 163, 121, 199, 52, 220, 32, 191,
68, 49, 162, 64, 33, 224, 285, 54, 173, 121,
275, 69, 58, 176, 174, 50, 108, 6, 7, 269,
73, 183, 184, 81, 64, 275, 301, 53, 179, 180,
44, 108, 44, 207, 192, 126, 44, 226, 165, 166,
56, 44, 81, 217, 32, 59, 60, 61, 23, 24,
33, 187, 188, 44, 295, 178, 185, 186, 295, 168,
169, 181, 199, 182, 58, 44, 146, 163, 228, 6,
7, 159, 44, 211, 212, 213, 223, 84, 160, 85,
170, 232, 214, 121, 171, 126, 86, 126, 273, 298,
246, -75, 215, 65, 217, 217, 66, 59, 60, 61,
23, 24, 255, 57, 220, 108, 237, 238, 239, 240,
217, 249, 67, 218, 250, 44, 217, 44, 70, 256,
2, 3, 4, 259, 260, 233, 234, 108, 108, 108,
108, 108, 108, 108, 108, 108, 108, 108, 261, 302,
74, 146, 59, 60, 61, 121, -25, 49, 70, 76,
217, 264, 235, 236, 126, 274, 83, 241, 242, 124,
-26, 177, 156, 172, 189, 265, 193, 108, 190, 195,
274, 279, 121, 203, 200, 201, 204, 205, 208, 290,
209, -116, 221, 267, 44, 2, 3, 4, 268, 299,
-164, 8, 9, 10, 108, 225, 248, 217, 262, 287,
146, 163, 263, -27, 278, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 280, 288, 281,
289, 291, 292, 293, 231, 25, 26, 243, 27, 28,
29, 294, 30, 303, 244, 157, 31, 245, 82, 78,
158, 51, 194, 146, 146, 270, 300, 146, 146, 266,
258, 282, 72, 271, 0, 0, 0, 0, 0, 0,
0, 0, 146, 0, 0, 0, 0, 198, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 146, 0,
0, 0, 146, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 129, 130, 131, 0, 132, 133, 134,
135, 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,
0, 30, 0, 0, 87, 31, 88, 89, 90, 91,
0, 0, 92, 93, 0, 0, 0, 0, 0, 0,
48, 173, 127, 230, 169, 83, 168, 226, 114, 205,
35, 36, 292, 74, 197, 56, 57, 127, 217, 218,
219, 189, 190, 114, 182, 64, 275, 220, 58, 282,
171, 172, 75, 308, 53, 62, 64, 221, 165, 87,
60, 79, 213, 48, 282, 166, 48, 184, 54, 198,
48, 132, 65, 66, 67, 48, 191, 192, 87, 59,
35, 36, 302, 65, 66, 67, 302, 179, 71, 48,
90, 72, 91, 180, 185, 186, 205, 234, 169, 92,
229, 48, 152, 174, 175, 223, 270, 232, 48, 279,
305, 127, 238, 223, 63, 223, 223, 114, -75, 252,
73, 132, 223, 132, 176, 224, 255, 223, 177, 256,
262, 261, 76, 187, 226, 188, 80, 239, 240, 114,
114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
-25, 48, 76, 48, 265, 266, 193, 194, 309, 2,
3, 4, 267, 243, 244, 245, 246, 65, 66, 67,
241, 242, 82, 127, 247, 248, 89, 152, 162, 114,
130, -26, 195, 178, 281, 183, 196, 199, 201, 271,
132, 209, 210, 206, 214, 215, 207, 211, 227, 281,
127, 231, 286, 254, -122, 268, 114, 223, 273, 297,
-170, 269, 285, -27, 287, 53, 288, 294, 295, 306,
48, 299, 274, 8, 9, 10, 296, 300, 298, 310,
237, 301, 249, 169, 163, 84, 152, 11, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21, 22, 251,
250, 88, 164, 55, 307, 276, 272, 28, 29, 264,
30, 31, 32, 277, 33, 289, 78, 93, 34, 94,
95, 96, 97, 200, 0, 98, 99, 0, 0, 152,
152, 0, 0, 152, 152, 0, 0, 0, 0, 0,
0, 0, 0, 0, 100, 0, 0, 167, 152, 0,
0, 0, 0, 0, 0, 101, 102, 0, 103, 0,
0, 0, 0, 0, 0, 152, 0, 0, 0, 152,
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, 0, 33, 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,
0, 33, 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, 94, 0, 0, 0, 137, 138, 0, 0, 0,
0, 139, 95, 96, 0, 97, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 129, 130, 131, 0,
132, 133, 134, 135, 0, 0, 0, 11, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21, 22, 0,
0, 0, 23, 24, 0, 0, 0, 25, 26, 136,
27, 28, 29, 0, 30, 0, 0, 87, 31, 88,
89, 90, 91, 0, 0, 92, 93, 0, 0, 0,
0, 100, 0, 0, 0, 143, 225, 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, 0, 33, 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, 94, 0, 0, 0, 137, 219,
0, 0, 0, 0, 139, 95, 96, 0, 97, 1,
2, 3, 4, 5, 6, 7, 8, 9, 10, 129,
130, 131, 0, 132, 133, 134, 135, 0, 0, 0,
0, 0, 0, 0, 100, 0, 0, 0, 143, 0,
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, 0, 0, 0, 23, 24, 0, 0, 0,
25, 26, 136, 27, 28, 29, 0, 30, 0, 0,
87, 31, 88, 89, 90, 91, 0, 0, 92, 93,
21, 22, 23, 24, 0, 25, 26, 27, 0, 0,
28, 29, 142, 30, 31, 32, 0, 33, 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, 94, 0, 0,
0, 137, 0, 0, 0, 0, 0, 139, 95, 96,
0, 97, 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 129, 130, 131, 0, 132, 133, 134, 135,
0, 0, 0, 0, 0, 0, 0, 100, 0, 0,
0, 82, 0, 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, 0, 0, 0, 23, 24,
0, 0, 0, 25, 26, 136, 27, 28, 29, 0,
30, 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, 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, 0, 30, 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, 0, 30, 0, 0, 87,
31, 88, 89, 90, 91, 0, 0, 92, 93, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 58, 2, 3, 4, 94, 6, 7, 8,
9, 10, 0, 0, 0, 0, 139, 95, 96, 0,
97, 0, 0, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 0, 0, 0, 23, 24,
0, 0, 0, 25, 26, 0, 27, 28, 29, 0,
30, 0, 0, 87, 31, 88, 89, 90, 91, 0,
0, 92, 93, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
94, 8, 9, 10, 0, 0, 0, 0, 0, 0,
0, 95, 96, 0, 97, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 0, 0, 0,
0, 0, 0, 0, 0, 25, 26, 0, 27, 28,
29, 0, 30, 0, 0, 87, 31, 88, 89, 90,
91, 0, 0, 92, 93, 0, 0, 0, 0, 0,
18, 19, 20, 21, 22, 23, 24, 0, 25, 26,
27, 0, 0, 28, 29, 142, 30, 31, 32, 0,
33, 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, 94, 0, 0, 161, 8, 9, 10, 0,
0, 0, 0, 95, 96, 0, 97, 0, 0, 0,
100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
145, 101, 102, 0, 103, 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, 0, 33, 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, 280,
2, 3, 4, 100, 6, 7, 8, 9, 10, 0,
0, 0, 0, 145, 101, 102, 0, 103, 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, 0, 30, 0, 0,
87, 31, 88, 89, 90, 91, 0, 0, 92, 93,
21, 22, 23, 24, 0, 25, 26, 27, 0, 0,
28, 29, 0, 30, 31, 32, 0, 33, 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, 94, 8, 9,
10, 0, 0, 0, 0, 0, 0, 206, 95, 96,
0, 97, 11, 12, 13, 14, 15, 16, 17, 18,
0, 0, 0, 0, 0, 0, 0, 100, 8, 9,
10, 0, 0, 0, 0, 0, 0, 0, 101, 102,
0, 103, 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, 0, 30,
0, 0, 87, 31, 88, 89, 90, 91, 0, 0,
92, 93, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 94,
0, 0, 222, 8, 9, 10, 0, 0, 0, 0,
95, 96, 0, 97, 0, 0, 0, 11, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21, 22, 0,
0, 0, 0, 0, 0, 0, 0, 25, 26, 0,
27, 28, 29, 0, 30, 0, 0, 87, 31, 88,
89, 90, 91, 0, 0, 92, 93, 0, 0, 0,
0, 0, 28, 29, 0, 30, 31, 32, 0, 33,
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,
8, 9, 10, 0, 0, 0, 0, 0, 0, 212,
101, 102, 0, 103, 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,
0, 33, 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, 94, 8, 9, 10, 0, 0,
0, 0, 0, 0, 0, 95, 96, 0, 97, 11,
0, 100, 0, 0, 228, 8, 9, 10, 0, 0,
0, 0, 101, 102, 0, 103, 0, 0, 0, 11,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 0, 0, 0, 0, 0, 0, 0, 0, 25,
175, 0, 27, 28, 29, 0, 30, 0, 0, 87,
31, 88, 89, 90, 91, 0, 0, 92, 93, 0,
22, 0, 0, 0, 0, 0, 0, 0, 0, 28,
29, 0, 30, 31, 32, 0, 33, 0, 0, 93,
34, 94, 95, 96, 97, 0, 0, 98, 99, 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, 0, 95, 96, 0,
97, 11, 12, 13, 14, 15, 16, 17, 18, 19,
0, 0, 0, 0, 0, 0, 100, 8, 9, 10,
0, 0, 0, 0, 0, 0, 0, 101, 102, 0,
103, 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, 0, 30, 0,
0, 0, 31, 0, 0, 0, 0, 0, 0, 0,
71, 0, 0, 1, 2, 3, 4, 5, 6, 7,
0, 28, 181, 0, 30, 31, 32, 0, 33, 0,
0, 93, 34, 94, 95, 96, 97, 0, 0, 98,
99, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2, 3, 4, 0, 0, 100, 8,
9, 10, 0, 0, 0, 0, 0, 0, 0, 101,
102, 0, 103, 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, 0,
33, 2, 3, 4, 34, 0, 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, 204, 0, 0, 0, 0,
0, 28, 29, 0, 30, 31, 32, 0, 33, 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, 247, 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,
0, 30, 0, 0, 0, 31, 1, 2, 3, 4,
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,
0, 33, 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, 0,
0, 0, 23, 24, 0, 0, 0, 25, 26, 0,
27, 28, 29, 0, 30, 2, 3, 4, 31, 0,
14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 0, 25, 26, 27, 0, 0, 28, 29, 0,
30, 31, 32, 0, 33, 2, 3, 4, 34, 0,
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, 25, 26, 0, 27, 28,
29, 0, 30, 8, 9, 10, 31, 0, 0, 0,
0, 0, 0, 0, 0, 28, 29, 0, 30, 31,
32, 0, 33, 8, 9, 10, 34, 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, 25, 26, 0,
27, 28, 29, 0, 30, 0, 0, 229, 31, 8,
9, 10, 230, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 28, 29, 0,
30, 31, 32, 0, 33, 0, 0, 235, 34, 8,
9, 10, 236, 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, 25, 26, 0, 27, 28, 29, 0,
30, 0, 0, 0, 31
0, 0, 0, 28, 29, 0, 30, 31, 32, 0,
33, 0, 0, 0, 34
};
static const yytype_int16 yycheck[] =
{
0, 55, 94, 86, 70, 127, 54, 151, 0, 69,
40, 40, 85, 36, 0, 160, 273, 91, 82, 85,
257, 42, 3, 106, 88, 54, 70, 8, 9, 253,
51, 64, 65, 63, 57, 272, 293, 85, 96, 97,
40, 85, 42, 135, 104, 75, 46, 82, 92, 93,
82, 51, 82, 88, 46, 36, 37, 38, 39, 40,
46, 66, 67, 63, 288, 109, 99, 100, 292, 62,
63, 93, 194, 95, 3, 75, 76, 160, 170, 8,
9, 83, 82, 71, 72, 73, 159, 81, 90, 83,
83, 174, 80, 159, 87, 125, 90, 127, 82, 82,
192, 82, 90, 88, 88, 88, 91, 36, 37, 38,
39, 40, 204, 88, 258, 159, 183, 184, 185, 186,
88, 88, 54, 91, 91, 125, 88, 127, 83, 91,
4, 5, 6, 216, 217, 179, 180, 181, 182, 183,
184, 185, 186, 187, 188, 189, 190, 191, 221, 294,
85, 151, 36, 37, 38, 221, 81, 40, 83, 85,
88, 89, 181, 182, 194, 257, 54, 187, 188, 91,
81, 81, 54, 82, 68, 248, 84, 221, 70, 54,
272, 264, 248, 81, 91, 91, 81, 91, 81, 281,
86, 81, 83, 46, 194, 4, 5, 6, 252, 291,
85, 10, 11, 12, 248, 84, 83, 88, 84, 54,
210, 294, 84, 81, 84, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 84, 82, 81,
86, 91, 82, 16, 171, 44, 45, 189, 47, 48,
49, 90, 51, 91, 190, 82, 55, 191, 64, 57,
82, 5, 125, 253, 254, 254, 292, 257, 258, 249,
210, 272, 46, 254, -1, -1, -1, -1, -1, -1,
-1, -1, 272, -1, -1, -1, -1, 86, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 288, -1,
-1, -1, 292, 3, 4, 5, 6, 7, 8, 9,
0, 100, 76, 166, 92, 61, 91, 157, 76, 133,
0, 0, 279, 43, 69, 36, 37, 91, 71, 72,
73, 64, 65, 91, 112, 9, 259, 80, 54, 263,
98, 99, 46, 300, 40, 82, 9, 90, 83, 69,
91, 55, 141, 43, 278, 90, 46, 115, 54, 104,
50, 81, 36, 37, 38, 55, 99, 100, 88, 85,
50, 50, 295, 36, 37, 38, 299, 82, 88, 69,
81, 91, 83, 88, 96, 97, 200, 176, 166, 90,
165, 81, 82, 62, 63, 88, 89, 82, 88, 82,
82, 165, 180, 88, 88, 88, 88, 165, 82, 198,
54, 131, 88, 133, 83, 91, 88, 88, 87, 91,
91, 210, 83, 93, 264, 95, 85, 185, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
81, 131, 83, 133, 222, 223, 66, 67, 301, 4,
5, 6, 227, 189, 190, 191, 192, 36, 37, 38,
187, 188, 85, 227, 193, 194, 54, 157, 54, 227,
91, 81, 68, 82, 263, 81, 70, 84, 54, 254,
200, 81, 81, 91, 81, 86, 91, 91, 83, 278,
254, 84, 270, 83, 81, 84, 254, 88, 46, 288,
85, 84, 84, 81, 84, 40, 81, 54, 82, 298,
200, 82, 258, 10, 11, 12, 86, 16, 91, 91,
177, 90, 195, 301, 88, 63, 216, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, 197,
196, 70, 88, 5, 299, 260, 255, 44, 45, 216,
47, 48, 49, 260, 51, 278, 50, 54, 55, 56,
57, 58, 59, 131, -1, 62, 63, -1, -1, 259,
260, -1, -1, 263, 264, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 81, -1, -1, 84, 278, -1,
-1, -1, -1, -1, -1, 92, 93, -1, 95, -1,
-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, -1, 51, -1,
-1, 54, 55, 56, 57, 58, 59, -1, -1, 62,
63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 81, -1,
-1, -1, 85, 86, -1, -1, -1, -1, 91, 92,
93, -1, 95, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, -1, 17, 18, 19,
20, -1, -1, -1, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, -1, -1, -1, 39,
40, -1, -1, -1, 44, 45, 46, 47, 48, 49,
30, 31, 32, 33, 34, 35, 36, 37, -1, 39,
40, 41, -1, -1, 44, 45, 46, 47, 48, 49,
-1, 51, -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,
......@@ -1147,17 +1160,17 @@ static const yytype_int16 yycheck[] =
-1, 91, 92, 93, -1, 95, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14, 15, -1,
17, 18, 19, 20, -1, -1, -1, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, -1,
-1, -1, 39, 40, -1, -1, -1, 44, 45, 46,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
37, -1, 39, 40, 41, -1, -1, 44, 45, 46,
47, 48, 49, -1, 51, -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, 81, -1, -1, -1, 85, -1,
-1, -1, -1, -1, 91, 92, 93, -1, 95, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
14, 15, -1, 17, 18, 19, 20, -1, -1, -1,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, -1, -1, -1, 39, 40, -1, -1, -1,
34, 35, 36, 37, -1, 39, 40, 41, -1, -1,
44, 45, 46, 47, 48, 49, -1, 51, -1, -1,
54, 55, 56, 57, 58, 59, -1, -1, 62, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
......@@ -1166,89 +1179,77 @@ static const yytype_int16 yycheck[] =
-1, 95, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, -1, 17, 18, 19, 20,
-1, -1, -1, 24, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, -1, -1, -1, 39, 40,
-1, -1, -1, 44, 45, 46, 47, 48, 49, -1,
31, 32, 33, 34, 35, 36, 37, -1, 39, 40,
41, -1, -1, 44, 45, 46, 47, 48, 49, -1,
51, -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, -1, -1, -1, -1, -1,
81, -1, -1, -1, -1, -1, -1, -1, -1, -1,
91, 92, 93, -1, 95, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15, -1, 17,
18, 19, 20, -1, -1, -1, 24, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, -1, -1,
-1, 39, 40, -1, -1, -1, 44, 45, 46, 47,
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, -1, 51, -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, -1, -1, -1,
-1, -1, -1, 91, 92, 93, -1, 95, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, -1, -1, -1, 39, 40, -1, -1, -1, 44,
45, -1, 47, 48, 49, -1, 51, -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, -1,
51, -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, -1, 51, -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,
-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, -1, -1, -1, -1, -1,
34, 35, 36, 37, -1, 39, 40, 41, -1, -1,
44, 45, -1, 47, 48, 49, -1, 51, -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, 91, 92, 93,
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, -1, 51,
-1, -1, 54, 55, 56, 57, 58, 59, -1, -1,
62, 63, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 81,
-1, -1, 84, 10, 11, 12, -1, -1, -1, -1,
92, 93, -1, 95, -1, -1, -1, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, -1,
-1, -1, -1, -1, -1, -1, -1, 44, 45, -1,
47, 48, 49, -1, 51, -1, -1, 54, 55, 56,
57, 58, 59, -1, -1, 62, 63, -1, -1, -1,
10, 11, 12, -1, -1, -1, -1, -1, -1, 91,
92, 93, -1, 95, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, -1, -1, -1, -1,
-1, -1, -1, -1, 44, 45, -1, 47, 48, 49,
-1, 51, -1, -1, 54, 55, 56, 57, 58, 59,
-1, -1, 62, 63, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 81, 10, 11, 12, -1, -1,
-1, -1, -1, -1, -1, 92, 93, -1, 95, 24,
-1, 81, -1, -1, 84, 10, 11, 12, -1, -1,
-1, -1, 92, 93, -1, 95, -1, -1, -1, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, -1, -1, -1, -1, -1, -1, -1, -1, 44,
45, -1, 47, 48, 49, -1, 51, -1, -1, 54,
55, 56, 57, 58, 59, -1, -1, 62, 63, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4, 5, 6, -1, -1, 81, 10, 11, 12,
-1, -1, -1, -1, -1, -1, 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, -1, 51, -1,
-1, 54, 55, 56, 57, 58, 59, -1, -1, 62,
63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4, 5, 6, -1, -1, 81, 10,
11, 12, -1, -1, -1, -1, -1, -1, -1, 92,
93, -1, 95, 24, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, -1, -1, -1, -1, -1,
-1, -1, -1, 44, 45, -1, 47, 48, 49, -1,
51, 4, 5, 6, 55, -1, -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, 86, -1, -1, -1, -1,
-1, 44, 45, -1, 47, 48, 49, -1, 51, -1,
-1, -1, 55, -1, -1, -1, -1, -1, -1, -1,
0, -1, -1, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 86, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, -1, -1, -1, 39,
40, -1, -1, -1, 44, 45, -1, 47, 48, 49,
30, 31, 32, 33, 34, 35, 36, 37, -1, 39,
40, 41, -1, -1, 44, 45, -1, 47, 48, 49,
-1, 51, -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, -1,
-1, -1, 39, 40, -1, -1, -1, 44, 45, -1,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
37, -1, 39, 40, 41, -1, -1, 44, 45, -1,
47, 48, 49, -1, 51, 4, 5, 6, 55, -1,
-1, 10, 11, 12, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 24, 25, 26, 27, 28,
......@@ -1272,35 +1273,36 @@ static const yytype_uint8 yystos[] =
{
0, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 24, 25, 26, 27, 28, 29, 30, 31, 32,
33, 34, 35, 39, 40, 44, 45, 47, 48, 49,
51, 55, 135, 136, 137, 138, 139, 144, 145, 146,
147, 148, 149, 150, 151, 152, 184, 185, 186, 40,
54, 149, 54, 85, 91, 187, 82, 88, 3, 36,
37, 38, 141, 142, 147, 88, 91, 54, 148, 150,
83, 0, 185, 150, 85, 154, 85, 170, 141, 140,
143, 148, 142, 54, 81, 83, 90, 54, 56, 57,
58, 59, 62, 63, 81, 92, 93, 95, 106, 107,
108, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
129, 130, 134, 151, 91, 153, 148, 155, 156, 13,
14, 15, 17, 18, 19, 20, 46, 85, 86, 91,
117, 130, 131, 133, 135, 136, 151, 160, 161, 162,
163, 171, 172, 173, 176, 183, 54, 140, 143, 83,
90, 84, 134, 131, 159, 117, 117, 133, 62, 63,
83, 87, 82, 82, 88, 45, 131, 81, 117, 96,
97, 93, 95, 64, 65, 99, 100, 66, 67, 68,
70, 69, 104, 84, 155, 54, 157, 158, 86, 156,
91, 91, 178, 81, 81, 91, 91, 133, 81, 86,
164, 71, 72, 73, 80, 90, 132, 88, 91, 86,
161, 83, 84, 134, 159, 84, 82, 109, 133, 54,
59, 112, 131, 117, 117, 119, 119, 121, 121, 121,
121, 122, 122, 126, 127, 128, 133, 86, 83, 88,
91, 167, 168, 169, 179, 133, 91, 177, 171, 131,
131, 134, 84, 84, 89, 134, 158, 46, 170, 162,
160, 172, 180, 82, 133, 146, 175, 165, 84, 131,
84, 81, 175, 181, 182, 167, 174, 54, 82, 86,
133, 91, 82, 16, 90, 162, 166, 170, 82, 133,
166, 167, 159, 91
33, 34, 35, 36, 37, 39, 40, 41, 44, 45,
47, 48, 49, 51, 55, 135, 136, 137, 138, 139,
144, 145, 146, 148, 149, 150, 151, 152, 153, 154,
186, 187, 188, 40, 54, 151, 36, 37, 54, 85,
91, 189, 82, 88, 9, 36, 37, 38, 141, 142,
147, 88, 91, 54, 150, 152, 83, 0, 187, 152,
85, 156, 85, 172, 141, 140, 143, 150, 142, 54,
81, 83, 90, 54, 56, 57, 58, 59, 62, 63,
81, 92, 93, 95, 106, 107, 108, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
123, 124, 125, 126, 127, 128, 129, 130, 134, 153,
91, 155, 150, 157, 158, 13, 14, 15, 17, 18,
19, 20, 46, 85, 86, 91, 117, 130, 131, 133,
135, 136, 153, 162, 163, 164, 165, 173, 174, 175,
178, 185, 54, 140, 143, 83, 90, 84, 134, 131,
161, 117, 117, 133, 62, 63, 83, 87, 82, 82,
88, 45, 131, 81, 117, 96, 97, 93, 95, 64,
65, 99, 100, 66, 67, 68, 70, 69, 104, 84,
157, 54, 159, 160, 86, 158, 91, 91, 180, 81,
81, 91, 91, 133, 81, 86, 166, 71, 72, 73,
80, 90, 132, 88, 91, 86, 163, 83, 84, 134,
161, 84, 82, 109, 133, 54, 59, 112, 131, 117,
117, 119, 119, 121, 121, 121, 121, 122, 122, 126,
127, 128, 133, 86, 83, 88, 91, 169, 170, 171,
181, 133, 91, 179, 173, 131, 131, 134, 84, 84,
89, 134, 160, 46, 172, 164, 162, 174, 182, 82,
3, 133, 146, 177, 167, 84, 131, 84, 81, 177,
183, 184, 169, 176, 54, 82, 86, 133, 91, 82,
16, 90, 164, 168, 172, 82, 133, 168, 169, 161,
91
};
#define yyerrok (yyerrstatus = 0)
......@@ -3294,7 +3296,7 @@ yyreduce:
{
(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();
}
break;
......@@ -3314,7 +3316,7 @@ yyreduce:
{
(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();
}
break;
......@@ -3636,7 +3638,7 @@ yyreduce:
case 104:
{
(yyval.interm.type).setBasic(EbtVoid, EvqConst, (yyvsp[(1) - (1)].lex).line);
(yyval.interm.qualifier) = EvqConst;
}
break;
......@@ -3680,13 +3682,67 @@ yyreduce:
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 == GL_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 == GL_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 == GL_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 == GL_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"))
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;
case 109:
case 115:
{
(yyval.interm.type) = (yyvsp[(1) - (1)].interm.type);
......@@ -3700,7 +3756,7 @@ yyreduce:
}
break;
case 110:
case 116:
{
(yyval.interm.type) = (yyvsp[(2) - (2)].interm.type);
......@@ -3708,35 +3764,35 @@ yyreduce:
}
break;
case 111:
case 117:
{
(yyval.interm.precision) = EbpHigh;
}
break;
case 112:
case 118:
{
(yyval.interm.precision) = EbpMedium;
}
break;
case 113:
case 119:
{
(yyval.interm.precision) = EbpLow;
}
break;
case 114:
case 120:
{
(yyval.interm.type) = (yyvsp[(1) - (1)].interm.type);
}
break;
case 115:
case 121:
{
(yyval.interm.type) = (yyvsp[(1) - (4)].interm.type);
......@@ -3752,7 +3808,7 @@ yyreduce:
}
break;
case 116:
case 122:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
......@@ -3760,7 +3816,7 @@ yyreduce:
}
break;
case 117:
case 123:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
......@@ -3768,7 +3824,7 @@ yyreduce:
}
break;
case 118:
case 124:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
......@@ -3776,7 +3832,7 @@ yyreduce:
}
break;
case 119:
case 125:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
......@@ -3784,7 +3840,7 @@ yyreduce:
}
break;
case 120:
case 126:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
......@@ -3793,7 +3849,7 @@ yyreduce:
}
break;
case 121:
case 127:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
......@@ -3802,7 +3858,7 @@ yyreduce:
}
break;
case 122:
case 128:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
......@@ -3811,7 +3867,7 @@ yyreduce:
}
break;
case 123:
case 129:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
......@@ -3820,7 +3876,7 @@ yyreduce:
}
break;
case 124:
case 130:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
......@@ -3829,7 +3885,7 @@ yyreduce:
}
break;
case 125:
case 131:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
......@@ -3838,7 +3894,7 @@ yyreduce:
}
break;
case 126:
case 132:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
......@@ -3847,7 +3903,7 @@ yyreduce:
}
break;
case 127:
case 133:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
......@@ -3856,7 +3912,7 @@ yyreduce:
}
break;
case 128:
case 134:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
......@@ -3865,7 +3921,7 @@ yyreduce:
}
break;
case 129:
case 135:
{
FRAG_VERT_ONLY("mat2", (yyvsp[(1) - (1)].lex).line);
......@@ -3875,7 +3931,7 @@ yyreduce:
}
break;
case 130:
case 136:
{
FRAG_VERT_ONLY("mat3", (yyvsp[(1) - (1)].lex).line);
......@@ -3885,7 +3941,7 @@ yyreduce:
}
break;
case 131:
case 137:
{
FRAG_VERT_ONLY("mat4", (yyvsp[(1) - (1)].lex).line);
......@@ -3895,7 +3951,7 @@ yyreduce:
}
break;
case 132:
case 138:
{
FRAG_VERT_ONLY("sampler2D", (yyvsp[(1) - (1)].lex).line);
......@@ -3904,7 +3960,7 @@ yyreduce:
}
break;
case 133:
case 139:
{
FRAG_VERT_ONLY("samplerCube", (yyvsp[(1) - (1)].lex).line);
......@@ -3913,7 +3969,7 @@ yyreduce:
}
break;
case 134:
case 140:
{
if (!context->supportsExtension("GL_OES_EGL_image_external")) {
......@@ -3926,7 +3982,7 @@ yyreduce:
}
break;
case 135:
case 141:
{
FRAG_VERT_ONLY("sampler3D", (yyvsp[(1) - (1)].lex).line);
......@@ -3935,7 +3991,7 @@ yyreduce:
}
break;
case 136:
case 142:
{
FRAG_VERT_ONLY("struct", (yyvsp[(1) - (1)].interm.type).line);
......@@ -3944,7 +4000,7 @@ yyreduce:
}
break;
case 137:
case 143:
{
//
......@@ -3958,12 +4014,12 @@ yyreduce:
}
break;
case 138:
case 144:
{ if (context->enterStructDeclaration((yyvsp[(2) - (3)].lex).line, *(yyvsp[(2) - (3)].lex).string)) context->recover(); }
break;
case 139:
case 145:
{
if (context->reservedErrorCheck((yyvsp[(2) - (6)].lex).line, *(yyvsp[(2) - (6)].lex).string))
......@@ -3981,12 +4037,12 @@ yyreduce:
}
break;
case 140:
case 146:
{ if (context->enterStructDeclaration((yyvsp[(2) - (2)].lex).line, *(yyvsp[(2) - (2)].lex).string)) context->recover(); }
break;
case 141:
case 147:
{
TType* structure = new TType((yyvsp[(4) - (5)].interm.typeList), TString(""));
......@@ -3996,14 +4052,14 @@ yyreduce:
}
break;
case 142:
case 148:
{
(yyval.interm.typeList) = (yyvsp[(1) - (1)].interm.typeList);
}
break;
case 143:
case 149:
{
(yyval.interm.typeList) = (yyvsp[(1) - (2)].interm.typeList);
......@@ -4019,7 +4075,7 @@ yyreduce:
}
break;
case 144:
case 150:
{
(yyval.interm.typeList) = (yyvsp[(2) - (3)].interm.typeList);
......@@ -4052,7 +4108,7 @@ yyreduce:
}
break;
case 145:
case 151:
{
(yyval.interm.typeList) = NewPoolTTypeList();
......@@ -4060,14 +4116,14 @@ yyreduce:
}
break;
case 146:
case 152:
{
(yyval.interm.typeList)->push_back((yyvsp[(3) - (3)].interm.typeLine));
}
break;
case 147:
case 153:
{
if (context->reservedErrorCheck((yyvsp[(1) - (1)].lex).line, *(yyvsp[(1) - (1)].lex).string))
......@@ -4079,7 +4135,7 @@ yyreduce:
}
break;
case 148:
case 154:
{
if (context->reservedErrorCheck((yyvsp[(1) - (4)].lex).line, *(yyvsp[(1) - (4)].lex).string))
......@@ -4096,67 +4152,67 @@ yyreduce:
}
break;
case 149:
case 155:
{ (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
case 150:
case 156:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 151:
case 157:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermAggregate); }
break;
case 152:
case 158:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 153:
case 159:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 154:
case 160:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 155:
case 161:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 156:
case 162:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 157:
case 163:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 158:
case 164:
{ (yyval.interm.intermAggregate) = 0; }
break;
case 159:
case 165:
{ context->symbolTable.push(); }
break;
case 160:
case 166:
{ context->symbolTable.pop(); }
break;
case 161:
case 167:
{
if ((yyvsp[(3) - (5)].interm.intermAggregate) != 0) {
......@@ -4167,44 +4223,44 @@ yyreduce:
}
break;
case 162:
case 168:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 163:
case 169:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 164:
case 170:
{ context->symbolTable.push(); }
break;
case 165:
case 171:
{ context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
break;
case 166:
case 172:
{ context->symbolTable.push(); }
break;
case 167:
case 173:
{ context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
break;
case 168:
case 174:
{
(yyval.interm.intermNode) = 0;
}
break;
case 169:
case 175:
{
if ((yyvsp[(2) - (3)].interm.intermAggregate)) {
......@@ -4215,31 +4271,31 @@ yyreduce:
}
break;
case 170:
case 176:
{
(yyval.interm.intermAggregate) = context->intermediate.makeAggregate((yyvsp[(1) - (1)].interm.intermNode), 0);
}
break;
case 171:
case 177:
{
(yyval.interm.intermAggregate) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermAggregate), (yyvsp[(2) - (2)].interm.intermNode), 0);
}
break;
case 172:
case 178:
{ (yyval.interm.intermNode) = 0; }
break;
case 173:
case 179:
{ (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[(1) - (2)].interm.intermTypedNode)); }
break;
case 174:
case 180:
{
if (context->boolErrorCheck((yyvsp[(1) - (5)].lex).line, (yyvsp[(3) - (5)].interm.intermTypedNode)))
......@@ -4248,7 +4304,7 @@ yyreduce:
}
break;
case 175:
case 181:
{
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermNode);
......@@ -4256,7 +4312,7 @@ yyreduce:
}
break;
case 176:
case 182:
{
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (1)].interm.intermNode);
......@@ -4264,7 +4320,7 @@ yyreduce:
}
break;
case 177:
case 183:
{
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
......@@ -4273,7 +4329,7 @@ yyreduce:
}
break;
case 178:
case 184:
{
TIntermNode* intermNode;
......@@ -4291,12 +4347,12 @@ yyreduce:
}
break;
case 179:
case 185:
{ context->symbolTable.push(); ++context->loopNestingLevel; }
break;
case 180:
case 186:
{
context->symbolTable.pop();
......@@ -4305,12 +4361,12 @@ yyreduce:
}
break;
case 181:
case 187:
{ ++context->loopNestingLevel; }
break;
case 182:
case 188:
{
if (context->boolErrorCheck((yyvsp[(8) - (8)].lex).line, (yyvsp[(6) - (8)].interm.intermTypedNode)))
......@@ -4321,12 +4377,12 @@ yyreduce:
}
break;
case 183:
case 189:
{ context->symbolTable.push(); ++context->loopNestingLevel; }
break;
case 184:
case 190:
{
context->symbolTable.pop();
......@@ -4335,35 +4391,35 @@ yyreduce:
}
break;
case 185:
case 191:
{
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
}
break;
case 186:
case 192:
{
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
}
break;
case 187:
case 193:
{
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
}
break;
case 188:
case 194:
{
(yyval.interm.intermTypedNode) = 0;
}
break;
case 189:
case 195:
{
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (2)].interm.intermTypedNode);
......@@ -4371,7 +4427,7 @@ yyreduce:
}
break;
case 190:
case 196:
{
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermTypedNode);
......@@ -4379,7 +4435,7 @@ yyreduce:
}
break;
case 191:
case 197:
{
if (context->loopNestingLevel <= 0) {
......@@ -4390,7 +4446,7 @@ yyreduce:
}
break;
case 192:
case 198:
{
if (context->loopNestingLevel <= 0) {
......@@ -4401,7 +4457,7 @@ yyreduce:
}
break;
case 193:
case 199:
{
(yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(1) - (2)].lex).line);
......@@ -4412,7 +4468,7 @@ yyreduce:
}
break;
case 194:
case 200:
{
(yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(2) - (3)].interm.intermTypedNode), (yyvsp[(1) - (3)].lex).line);
......@@ -4427,7 +4483,7 @@ yyreduce:
}
break;
case 195:
case 201:
{
FRAG_ONLY("discard", (yyvsp[(1) - (2)].lex).line);
......@@ -4435,7 +4491,7 @@ yyreduce:
}
break;
case 196:
case 202:
{
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
......@@ -4443,7 +4499,7 @@ yyreduce:
}
break;
case 197:
case 203:
{
(yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermNode), (yyvsp[(2) - (2)].interm.intermNode), 0);
......@@ -4451,21 +4507,21 @@ yyreduce:
}
break;
case 198:
case 204:
{
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
}
break;
case 199:
case 205:
{
(yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
}
break;
case 200:
case 206:
{
TFunction* function = (yyvsp[(1) - (1)].interm).function;
......@@ -4554,7 +4610,7 @@ yyreduce:
}
break;
case 201:
case 207:
{
//?? 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