Add parsing (but not full support) for global default layout qualifiers for block storage and matrix packing.
TRAC #23268
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
Authored-by: Jamie Madill
diff --git a/src/compiler/BaseTypes.h b/src/compiler/BaseTypes.h
index 9d3811d..a6058d7 100644
--- a/src/compiler/BaseTypes.h
+++ b/src/compiler/BaseTypes.h
@@ -164,6 +164,11 @@
return layoutQualifier;
}
+
+ bool isEmpty() const
+ {
+ return location == -1 && matrixPacking == EmpUnspecified && blockStorage == EbsUnspecified;
+ }
};
//
diff --git a/src/compiler/ParseHelper.cpp b/src/compiler/ParseHelper.cpp
index ace297c..25106ec 100644
--- a/src/compiler/ParseHelper.cpp
+++ b/src/compiler/ParseHelper.cpp
@@ -1308,6 +1308,34 @@
}
}
+void TParseContext::parseGlobalLayoutQualifier(const TPublicType &typeQualifier)
+{
+ if (typeQualifier.qualifier != EvqUniform)
+ {
+ error(typeQualifier.line, "invalid qualifier:", getQualifierString(typeQualifier.qualifier), "global layout must be uniform");
+ recover();
+ return;
+ }
+
+ const TLayoutQualifier layoutQualifier = typeQualifier.layoutQualifier;
+ ASSERT(!layoutQualifier.isEmpty());
+
+ if (shaderVersion < 300)
+ {
+ error(typeQualifier.line, "layout qualifiers supported in GLSL ES 3.00 only", "layout");
+ recover();
+ return;
+ }
+
+ if (layoutLocationErrorCheck(typeQualifier.line, typeQualifier.layoutQualifier))
+ {
+ recover();
+ return;
+ }
+
+ // TODO: global matrix packing and block storage
+}
+
TFunction *TParseContext::addConstructorFunc(TPublicType publicType)
{
TOperator op = EOpNull;
diff --git a/src/compiler/ParseHelper.h b/src/compiler/ParseHelper.h
index d184e26..b0509fb 100644
--- a/src/compiler/ParseHelper.h
+++ b/src/compiler/ParseHelper.h
@@ -122,6 +122,7 @@
TIntermAggregate* parseSingleDeclaration(TPublicType &publicType, TSourceLoc identifierLocation, const TString &identifier);
TIntermAggregate* parseSingleArrayDeclaration(TPublicType &publicType, TSourceLoc identifierLocation, const TString &identifier, TSourceLoc indexLocation, TIntermTyped *indexExpression);
TIntermAggregate* parseSingleInitDeclaration(TPublicType &publicType, TSourceLoc identifierLocation, const TString &identifier, TSourceLoc initLocation, TIntermTyped *initializer);
+ void parseGlobalLayoutQualifier(const TPublicType &typeQualifier);
TFunction *addConstructorFunc(TPublicType publicType);
TIntermTyped* addConstructor(TIntermNode*, const TType*, TOperator, TFunction*, TSourceLoc);
TIntermTyped* foldConstConstructor(TIntermAggregate* aggrNode, const TType& type);
diff --git a/src/compiler/glslang.y b/src/compiler/glslang.y
index d27a87d..23e0d2e 100644
--- a/src/compiler/glslang.y
+++ b/src/compiler/glslang.y
@@ -813,6 +813,10 @@
ES3_ONLY(getQualifierString($1.qualifier), $1.line, "interface blocks");
$$ = context->addInterfaceBlock($1, $2.line, *$2.string, $3, *$5.string, $5.line, $7, $6.line);
}
+ | type_qualifier SEMICOLON {
+ context->parseGlobalLayoutQualifier($1);
+ $$ = 0;
+ }
;
function_prototype
diff --git a/src/compiler/glslang_tab.cpp b/src/compiler/glslang_tab.cpp
index 607e79d..da287aa 100644
--- a/src/compiler/glslang_tab.cpp
+++ b/src/compiler/glslang_tab.cpp
@@ -570,18 +570,18 @@
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 100
+#define YYFINAL 101
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2042
+#define YYLAST 2057
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 117
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 91
/* YYNRULES -- Number of rules. */
-#define YYNRULES 236
+#define YYNRULES 237
/* YYNRULES -- Number of states. */
-#define YYNSTATES 359
+#define YYNSTATES 360
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -646,22 +646,22 @@
136, 140, 144, 146, 148, 150, 152, 156, 158, 162,
164, 168, 170, 176, 178, 182, 184, 186, 188, 190,
192, 194, 198, 200, 203, 206, 209, 214, 220, 227,
- 237, 240, 242, 244, 247, 251, 255, 258, 264, 268,
- 271, 275, 278, 279, 281, 283, 285, 287, 289, 293,
- 299, 306, 312, 314, 317, 322, 328, 333, 336, 338,
- 341, 343, 345, 347, 349, 351, 354, 356, 359, 361,
- 363, 366, 368, 370, 372, 375, 378, 380, 382, 385,
- 387, 389, 391, 396, 398, 402, 404, 408, 412, 414,
- 419, 421, 423, 425, 427, 429, 431, 433, 435, 437,
- 439, 441, 443, 445, 447, 449, 451, 453, 455, 457,
- 459, 461, 463, 465, 467, 469, 471, 473, 475, 477,
- 479, 481, 483, 484, 491, 492, 498, 500, 503, 507,
- 512, 514, 518, 520, 525, 527, 529, 531, 533, 535,
- 537, 539, 541, 543, 546, 547, 548, 554, 556, 558,
- 559, 562, 563, 566, 569, 573, 575, 578, 580, 583,
- 589, 593, 595, 597, 602, 603, 610, 611, 620, 621,
- 629, 631, 633, 635, 636, 639, 643, 646, 649, 652,
- 656, 659, 661, 664, 666, 668, 669
+ 237, 240, 243, 245, 247, 250, 254, 258, 261, 267,
+ 271, 274, 278, 281, 282, 284, 286, 288, 290, 292,
+ 296, 302, 309, 315, 317, 320, 325, 331, 336, 339,
+ 341, 344, 346, 348, 350, 352, 354, 357, 359, 362,
+ 364, 366, 369, 371, 373, 375, 378, 381, 383, 385,
+ 388, 390, 392, 394, 399, 401, 405, 407, 411, 415,
+ 417, 422, 424, 426, 428, 430, 432, 434, 436, 438,
+ 440, 442, 444, 446, 448, 450, 452, 454, 456, 458,
+ 460, 462, 464, 466, 468, 470, 472, 474, 476, 478,
+ 480, 482, 484, 486, 487, 494, 495, 501, 503, 506,
+ 510, 515, 517, 521, 523, 528, 530, 532, 534, 536,
+ 538, 540, 542, 544, 546, 549, 550, 551, 557, 559,
+ 561, 562, 565, 566, 569, 572, 576, 578, 581, 583,
+ 586, 592, 596, 598, 600, 605, 606, 613, 614, 623,
+ 624, 632, 634, 636, 638, 639, 642, 646, 649, 652,
+ 655, 659, 662, 664, 667, 669, 671, 672
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -690,51 +690,51 @@
65, 97, -1, 150, 103, -1, 158, 103, -1, 7,
166, 170, 103, -1, 163, 148, 175, 98, 103, -1,
163, 148, 175, 98, 65, 103, -1, 163, 148, 175,
- 98, 65, 95, 147, 96, 103, -1, 151, 94, -1,
- 153, -1, 152, -1, 153, 155, -1, 152, 100, 155,
- -1, 160, 65, 93, -1, 165, 118, -1, 165, 118,
- 95, 147, 96, -1, 162, 156, 154, -1, 156, 154,
- -1, 162, 156, 157, -1, 156, 157, -1, -1, 40,
- -1, 41, -1, 42, -1, 165, -1, 159, -1, 158,
- 100, 118, -1, 158, 100, 118, 95, 96, -1, 158,
- 100, 118, 95, 147, 96, -1, 158, 100, 118, 102,
- 179, -1, 160, -1, 160, 118, -1, 160, 118, 95,
- 96, -1, 160, 118, 95, 147, 96, -1, 160, 118,
- 102, 179, -1, 3, 65, -1, 165, -1, 163, 165,
- -1, 53, -1, 52, -1, 9, -1, 8, -1, 44,
- -1, 3, 44, -1, 164, -1, 161, 164, -1, 161,
- -1, 167, -1, 167, 164, -1, 9, -1, 40, -1,
- 41, -1, 51, 40, -1, 51, 41, -1, 43, -1,
- 170, -1, 166, 170, -1, 4, -1, 5, -1, 6,
- -1, 64, 93, 168, 94, -1, 169, -1, 168, 100,
- 169, -1, 65, -1, 65, 102, 68, -1, 65, 102,
- 69, -1, 171, -1, 171, 95, 147, 96, -1, 55,
- -1, 11, -1, 12, -1, 13, -1, 10, -1, 31,
- -1, 32, -1, 33, -1, 25, -1, 26, -1, 27,
- -1, 28, -1, 29, -1, 30, -1, 34, -1, 35,
- -1, 36, -1, 37, -1, 38, -1, 39, -1, 45,
- -1, 46, -1, 47, -1, 48, -1, 49, -1, 50,
- -1, 57, -1, 58, -1, 59, -1, 60, -1, 172,
- -1, 66, -1, -1, 54, 118, 97, 173, 175, 98,
- -1, -1, 54, 97, 174, 175, 98, -1, 176, -1,
- 175, 176, -1, 165, 177, 103, -1, 163, 165, 177,
- 103, -1, 178, -1, 177, 100, 178, -1, 118, -1,
- 118, 95, 147, 96, -1, 144, -1, 149, -1, 183,
- -1, 182, -1, 180, -1, 192, -1, 193, -1, 196,
- -1, 203, -1, 97, 98, -1, -1, -1, 97, 184,
- 191, 185, 98, -1, 190, -1, 182, -1, -1, 188,
- 190, -1, -1, 189, 182, -1, 97, 98, -1, 97,
- 191, 98, -1, 181, -1, 191, 181, -1, 103, -1,
- 146, 103, -1, 19, 93, 146, 94, 194, -1, 187,
- 17, 187, -1, 187, -1, 146, -1, 160, 118, 102,
- 179, -1, -1, 56, 93, 197, 195, 94, 186, -1,
- -1, 16, 198, 187, 56, 93, 146, 94, 103, -1,
- -1, 18, 93, 199, 200, 202, 94, 186, -1, 192,
- -1, 180, -1, 195, -1, -1, 201, 103, -1, 201,
- 103, 146, -1, 15, 103, -1, 14, 103, -1, 21,
- 103, -1, 21, 146, 103, -1, 20, 103, -1, 205,
- -1, 204, 205, -1, 206, -1, 149, -1, -1, 150,
- 207, 190, -1
+ 98, 65, 95, 147, 96, 103, -1, 163, 103, -1,
+ 151, 94, -1, 153, -1, 152, -1, 153, 155, -1,
+ 152, 100, 155, -1, 160, 65, 93, -1, 165, 118,
+ -1, 165, 118, 95, 147, 96, -1, 162, 156, 154,
+ -1, 156, 154, -1, 162, 156, 157, -1, 156, 157,
+ -1, -1, 40, -1, 41, -1, 42, -1, 165, -1,
+ 159, -1, 158, 100, 118, -1, 158, 100, 118, 95,
+ 96, -1, 158, 100, 118, 95, 147, 96, -1, 158,
+ 100, 118, 102, 179, -1, 160, -1, 160, 118, -1,
+ 160, 118, 95, 96, -1, 160, 118, 95, 147, 96,
+ -1, 160, 118, 102, 179, -1, 3, 65, -1, 165,
+ -1, 163, 165, -1, 53, -1, 52, -1, 9, -1,
+ 8, -1, 44, -1, 3, 44, -1, 164, -1, 161,
+ 164, -1, 161, -1, 167, -1, 167, 164, -1, 9,
+ -1, 40, -1, 41, -1, 51, 40, -1, 51, 41,
+ -1, 43, -1, 170, -1, 166, 170, -1, 4, -1,
+ 5, -1, 6, -1, 64, 93, 168, 94, -1, 169,
+ -1, 168, 100, 169, -1, 65, -1, 65, 102, 68,
+ -1, 65, 102, 69, -1, 171, -1, 171, 95, 147,
+ 96, -1, 55, -1, 11, -1, 12, -1, 13, -1,
+ 10, -1, 31, -1, 32, -1, 33, -1, 25, -1,
+ 26, -1, 27, -1, 28, -1, 29, -1, 30, -1,
+ 34, -1, 35, -1, 36, -1, 37, -1, 38, -1,
+ 39, -1, 45, -1, 46, -1, 47, -1, 48, -1,
+ 49, -1, 50, -1, 57, -1, 58, -1, 59, -1,
+ 60, -1, 172, -1, 66, -1, -1, 54, 118, 97,
+ 173, 175, 98, -1, -1, 54, 97, 174, 175, 98,
+ -1, 176, -1, 175, 176, -1, 165, 177, 103, -1,
+ 163, 165, 177, 103, -1, 178, -1, 177, 100, 178,
+ -1, 118, -1, 118, 95, 147, 96, -1, 144, -1,
+ 149, -1, 183, -1, 182, -1, 180, -1, 192, -1,
+ 193, -1, 196, -1, 203, -1, 97, 98, -1, -1,
+ -1, 97, 184, 191, 185, 98, -1, 190, -1, 182,
+ -1, -1, 188, 190, -1, -1, 189, 182, -1, 97,
+ 98, -1, 97, 191, 98, -1, 181, -1, 191, 181,
+ -1, 103, -1, 146, 103, -1, 19, 93, 146, 94,
+ 194, -1, 187, 17, 187, -1, 187, -1, 146, -1,
+ 160, 118, 102, 179, -1, -1, 56, 93, 197, 195,
+ 94, 186, -1, -1, 16, 198, 187, 56, 93, 146,
+ 94, 103, -1, -1, 18, 93, 199, 200, 202, 94,
+ 186, -1, 192, -1, 180, -1, 195, -1, -1, 201,
+ 103, -1, 201, 103, 146, -1, 15, 103, -1, 14,
+ 103, -1, 21, 103, -1, 21, 146, 103, -1, 20,
+ 103, -1, 205, -1, 204, 205, -1, 206, -1, 149,
+ -1, -1, 150, 207, 190, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -748,22 +748,22 @@
614, 624, 637, 641, 645, 649, 650, 663, 664, 677,
678, 691, 692, 709, 710, 723, 724, 725, 726, 727,
731, 734, 745, 753, 761, 788, 793, 804, 808, 812,
- 819, 857, 860, 867, 875, 896, 917, 928, 957, 962,
- 972, 977, 987, 990, 993, 996, 1002, 1009, 1012, 1034,
- 1052, 1076, 1099, 1103, 1107, 1114, 1118, 1122, 1211, 1220,
- 1226, 1230, 1237, 1243, 1250, 1259, 1268, 1271, 1307, 1314,
- 1318, 1325, 1329, 1334, 1339, 1349, 1359, 1368, 1378, 1385,
- 1388, 1391, 1397, 1404, 1407, 1413, 1416, 1419, 1425, 1428,
- 1443, 1447, 1451, 1455, 1459, 1463, 1468, 1473, 1478, 1483,
- 1488, 1493, 1498, 1503, 1508, 1513, 1518, 1523, 1529, 1535,
- 1541, 1546, 1551, 1556, 1561, 1566, 1571, 1576, 1581, 1590,
- 1599, 1604, 1617, 1617, 1620, 1620, 1626, 1629, 1644, 1647,
- 1656, 1660, 1666, 1674, 1690, 1694, 1698, 1699, 1705, 1706,
- 1707, 1708, 1709, 1713, 1714, 1714, 1714, 1724, 1725, 1729,
- 1729, 1730, 1730, 1735, 1738, 1748, 1751, 1757, 1758, 1762,
- 1770, 1774, 1784, 1789, 1806, 1806, 1811, 1811, 1818, 1818,
- 1826, 1829, 1835, 1838, 1844, 1848, 1855, 1862, 1869, 1876,
- 1887, 1896, 1900, 1907, 1910, 1916, 1916
+ 816, 823, 861, 864, 871, 879, 900, 921, 932, 961,
+ 966, 976, 981, 991, 994, 997, 1000, 1006, 1013, 1016,
+ 1038, 1056, 1080, 1103, 1107, 1111, 1118, 1122, 1126, 1215,
+ 1224, 1230, 1234, 1241, 1247, 1254, 1263, 1272, 1275, 1311,
+ 1318, 1322, 1329, 1333, 1338, 1343, 1353, 1363, 1372, 1382,
+ 1389, 1392, 1395, 1401, 1408, 1411, 1417, 1420, 1423, 1429,
+ 1432, 1447, 1451, 1455, 1459, 1463, 1467, 1472, 1477, 1482,
+ 1487, 1492, 1497, 1502, 1507, 1512, 1517, 1522, 1527, 1533,
+ 1539, 1545, 1550, 1555, 1560, 1565, 1570, 1575, 1580, 1585,
+ 1594, 1603, 1608, 1621, 1621, 1624, 1624, 1630, 1633, 1648,
+ 1651, 1660, 1664, 1670, 1678, 1694, 1698, 1702, 1703, 1709,
+ 1710, 1711, 1712, 1713, 1717, 1718, 1718, 1718, 1728, 1729,
+ 1733, 1733, 1734, 1734, 1739, 1742, 1752, 1755, 1761, 1762,
+ 1766, 1774, 1778, 1788, 1793, 1810, 1810, 1815, 1815, 1822,
+ 1822, 1830, 1833, 1839, 1842, 1848, 1852, 1859, 1866, 1873,
+ 1880, 1891, 1900, 1904, 1911, 1914, 1920, 1920
};
#endif
@@ -858,22 +858,22 @@
136, 136, 137, 138, 139, 140, 140, 141, 141, 142,
142, 143, 143, 144, 144, 145, 145, 145, 145, 145,
146, 146, 147, 148, 149, 149, 149, 149, 149, 149,
- 150, 151, 151, 152, 152, 153, 154, 154, 155, 155,
- 155, 155, 156, 156, 156, 156, 157, 158, 158, 158,
- 158, 158, 159, 159, 159, 159, 159, 159, 160, 160,
- 161, 161, 162, 163, 163, 163, 163, 163, 163, 163,
- 163, 164, 164, 164, 164, 164, 164, 165, 165, 166,
- 166, 166, 167, 168, 168, 169, 169, 169, 170, 170,
+ 149, 150, 151, 151, 152, 152, 153, 154, 154, 155,
+ 155, 155, 155, 156, 156, 156, 156, 157, 158, 158,
+ 158, 158, 158, 159, 159, 159, 159, 159, 159, 160,
+ 160, 161, 161, 162, 163, 163, 163, 163, 163, 163,
+ 163, 163, 164, 164, 164, 164, 164, 164, 165, 165,
+ 166, 166, 166, 167, 168, 168, 169, 169, 169, 170,
+ 170, 171, 171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
- 171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
- 171, 171, 173, 172, 174, 172, 175, 175, 176, 176,
- 177, 177, 178, 178, 179, 180, 181, 181, 182, 182,
- 182, 182, 182, 183, 184, 185, 183, 186, 186, 188,
- 187, 189, 187, 190, 190, 191, 191, 192, 192, 193,
- 194, 194, 195, 195, 197, 196, 198, 196, 199, 196,
- 200, 200, 201, 201, 202, 202, 203, 203, 203, 203,
- 203, 204, 204, 205, 205, 207, 206
+ 171, 171, 171, 173, 172, 174, 172, 175, 175, 176,
+ 176, 177, 177, 178, 178, 179, 180, 181, 181, 182,
+ 182, 182, 182, 182, 183, 184, 185, 183, 186, 186,
+ 188, 187, 189, 187, 190, 190, 191, 191, 192, 192,
+ 193, 194, 194, 195, 195, 197, 196, 198, 196, 199,
+ 196, 200, 200, 201, 201, 202, 202, 203, 203, 203,
+ 203, 203, 204, 204, 205, 205, 207, 206
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -887,22 +887,22 @@
3, 3, 1, 1, 1, 1, 3, 1, 3, 1,
3, 1, 5, 1, 3, 1, 1, 1, 1, 1,
1, 3, 1, 2, 2, 2, 4, 5, 6, 9,
- 2, 1, 1, 2, 3, 3, 2, 5, 3, 2,
- 3, 2, 0, 1, 1, 1, 1, 1, 3, 5,
- 6, 5, 1, 2, 4, 5, 4, 2, 1, 2,
- 1, 1, 1, 1, 1, 2, 1, 2, 1, 1,
- 2, 1, 1, 1, 2, 2, 1, 1, 2, 1,
- 1, 1, 4, 1, 3, 1, 3, 3, 1, 4,
+ 2, 2, 1, 1, 2, 3, 3, 2, 5, 3,
+ 2, 3, 2, 0, 1, 1, 1, 1, 1, 3,
+ 5, 6, 5, 1, 2, 4, 5, 4, 2, 1,
+ 2, 1, 1, 1, 1, 1, 2, 1, 2, 1,
+ 1, 2, 1, 1, 1, 2, 2, 1, 1, 2,
+ 1, 1, 1, 4, 1, 3, 1, 3, 3, 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, 1, 1, 1,
- 1, 1, 0, 6, 0, 5, 1, 2, 3, 4,
- 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, 0, 6, 0, 5, 1, 2, 3,
+ 4, 1, 3, 1, 4, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 2, 0, 0, 5, 1, 1,
+ 0, 2, 0, 2, 2, 3, 1, 2, 1, 2,
+ 5, 3, 1, 1, 4, 0, 6, 0, 8, 0,
+ 7, 1, 1, 1, 0, 2, 3, 2, 2, 2,
+ 3, 2, 1, 2, 1, 1, 0, 3
};
/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
@@ -910,388 +910,380 @@
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 0, 0, 129, 130, 131, 0, 113, 121, 144, 141,
- 142, 143, 148, 149, 150, 151, 152, 153, 145, 146,
- 147, 154, 155, 156, 157, 158, 159, 122, 123, 126,
- 114, 160, 161, 162, 163, 164, 165, 0, 111, 110,
- 0, 140, 166, 167, 168, 169, 0, 171, 234, 235,
- 0, 82, 92, 0, 97, 102, 118, 0, 116, 108,
- 0, 119, 127, 138, 170, 0, 231, 233, 115, 107,
- 0, 124, 125, 2, 3, 174, 0, 0, 74, 0,
- 80, 92, 112, 93, 94, 95, 83, 0, 92, 0,
- 75, 2, 103, 117, 0, 0, 109, 128, 120, 0,
- 1, 232, 0, 0, 172, 135, 0, 133, 0, 236,
- 84, 89, 91, 96, 0, 98, 85, 0, 0, 73,
- 0, 0, 0, 0, 176, 4, 8, 6, 7, 9,
- 0, 0, 0, 36, 35, 34, 5, 11, 30, 13,
- 18, 19, 0, 0, 24, 0, 37, 0, 40, 43,
- 44, 49, 52, 53, 54, 55, 57, 59, 61, 72,
- 0, 28, 76, 0, 0, 0, 132, 0, 0, 0,
- 216, 0, 0, 0, 0, 0, 194, 203, 207, 37,
- 63, 70, 0, 185, 0, 138, 188, 205, 187, 186,
- 0, 189, 190, 191, 192, 86, 88, 90, 0, 0,
- 104, 0, 184, 106, 0, 182, 0, 180, 0, 177,
- 31, 32, 0, 15, 16, 0, 0, 22, 21, 0,
- 23, 25, 27, 33, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 139, 175,
- 0, 136, 137, 134, 227, 226, 201, 218, 0, 230,
- 228, 0, 214, 193, 0, 66, 67, 68, 69, 65,
- 0, 0, 208, 204, 206, 0, 99, 0, 101, 105,
- 0, 0, 0, 178, 0, 77, 10, 0, 17, 2,
- 3, 14, 20, 26, 38, 39, 42, 41, 47, 48,
- 45, 46, 50, 51, 56, 58, 60, 0, 173, 0,
- 0, 0, 0, 0, 229, 0, 195, 64, 71, 0,
- 100, 179, 0, 181, 0, 78, 12, 0, 0, 200,
- 202, 221, 220, 223, 201, 212, 0, 0, 0, 0,
- 87, 183, 0, 62, 0, 222, 0, 0, 211, 209,
- 0, 0, 196, 0, 0, 224, 0, 201, 0, 198,
- 215, 197, 79, 0, 225, 219, 210, 213, 217
+ 0, 0, 130, 131, 132, 0, 114, 122, 145, 142,
+ 143, 144, 149, 150, 151, 152, 153, 154, 146, 147,
+ 148, 155, 156, 157, 158, 159, 160, 123, 124, 127,
+ 115, 161, 162, 163, 164, 165, 166, 0, 112, 111,
+ 0, 141, 167, 168, 169, 170, 0, 172, 235, 236,
+ 0, 83, 93, 0, 98, 103, 119, 0, 117, 109,
+ 0, 120, 128, 139, 171, 0, 232, 234, 116, 108,
+ 0, 125, 126, 2, 3, 175, 0, 0, 74, 0,
+ 81, 93, 113, 94, 95, 96, 84, 0, 93, 0,
+ 75, 2, 104, 118, 0, 80, 0, 110, 129, 121,
+ 0, 1, 233, 0, 0, 173, 136, 0, 134, 0,
+ 237, 85, 90, 92, 97, 0, 99, 86, 0, 0,
+ 73, 0, 0, 0, 0, 177, 4, 8, 6, 7,
+ 9, 0, 0, 0, 36, 35, 34, 5, 11, 30,
+ 13, 18, 19, 0, 0, 24, 0, 37, 0, 40,
+ 43, 44, 49, 52, 53, 54, 55, 57, 59, 61,
+ 72, 0, 28, 76, 0, 0, 0, 133, 0, 0,
+ 0, 217, 0, 0, 0, 0, 0, 195, 204, 208,
+ 37, 63, 70, 0, 186, 0, 139, 189, 206, 188,
+ 187, 0, 190, 191, 192, 193, 87, 89, 91, 0,
+ 0, 105, 0, 185, 107, 0, 183, 0, 181, 0,
+ 178, 31, 32, 0, 15, 16, 0, 0, 22, 21,
+ 0, 23, 25, 27, 33, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 140,
+ 176, 0, 137, 138, 135, 228, 227, 202, 219, 0,
+ 231, 229, 0, 215, 194, 0, 66, 67, 68, 69,
+ 65, 0, 0, 209, 205, 207, 0, 100, 0, 102,
+ 106, 0, 0, 0, 179, 0, 77, 10, 0, 17,
+ 2, 3, 14, 20, 26, 38, 39, 42, 41, 47,
+ 48, 45, 46, 50, 51, 56, 58, 60, 0, 174,
+ 0, 0, 0, 0, 0, 230, 0, 196, 64, 71,
+ 0, 101, 180, 0, 182, 0, 78, 12, 0, 0,
+ 201, 203, 222, 221, 224, 202, 213, 0, 0, 0,
+ 0, 88, 184, 0, 62, 0, 223, 0, 0, 212,
+ 210, 0, 0, 197, 0, 0, 225, 0, 202, 0,
+ 199, 216, 198, 79, 0, 226, 220, 211, 214, 218
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 205, 136, 137, 138, 277, 139, 140, 141, 142,
- 143, 144, 145, 179, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 180, 181, 260, 182,
- 160, 95, 183, 184, 50, 51, 52, 111, 86, 87,
- 112, 53, 54, 55, 56, 88, 57, 58, 59, 60,
- 61, 106, 107, 62, 161, 64, 164, 103, 123, 124,
- 206, 207, 203, 186, 187, 188, 189, 254, 329, 350,
- 299, 300, 301, 351, 190, 191, 192, 339, 328, 193,
- 305, 246, 302, 323, 336, 337, 194, 65, 66, 67,
+ -1, 206, 137, 138, 139, 278, 140, 141, 142, 143,
+ 144, 145, 146, 180, 148, 149, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 181, 182, 261, 183,
+ 161, 96, 184, 185, 50, 51, 52, 112, 86, 87,
+ 113, 53, 54, 55, 56, 88, 57, 58, 59, 60,
+ 61, 107, 108, 62, 162, 64, 165, 104, 124, 125,
+ 207, 208, 204, 187, 188, 189, 190, 255, 330, 351,
+ 300, 301, 302, 352, 191, 192, 193, 340, 329, 194,
+ 306, 247, 303, 324, 337, 338, 195, 65, 66, 67,
79
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -299
+#define YYPACT_NINF -286
static const yytype_int16 yypact[] =
{
- 1753, -13, -299, -299, -299, 189, -299, -299, -299, -299,
- -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
- -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
- -299, -299, -299, -299, -299, -299, -299, 87, -299, -299,
- 16, -299, -299, -299, -299, -299, -71, -299, -299, -70,
- 6, -58, 5, 7, -299, 104, 50, 231, -299, -299,
- 1976, 50, -299, -56, -299, 1689, -299, -299, -299, -299,
- 1976, -299, -299, -299, -299, -299, -44, 29, -299, 12,
- -299, 113, -299, -299, -299, -299, -299, 1874, 156, 110,
- -299, 59, -61, -299, 88, 1817, -299, -299, -299, 1297,
- -299, -299, 84, 1817, -299, 99, -17, -299, 344, -299,
- -299, -299, -299, 110, 1874, -27, -299, 1039, 1297, -299,
- 147, 1874, 110, 1467, -299, 123, -299, -299, -299, -299,
- 1297, 1297, 1297, -299, -299, -299, -299, -299, -55, -299,
- -299, -299, 109, -15, 1381, 124, -299, 1297, 91, -41,
- -299, 39, 69, -299, -299, -299, 139, 136, -60, -299,
- 128, -299, -299, 1541, 1817, 138, -299, 29, 117, 122,
- -299, 134, 135, 126, 1126, 137, 133, -299, -299, 82,
- -299, -299, 17, -299, -70, 66, -299, -299, -299, -299,
- 449, -299, -299, -299, -299, 143, -299, -299, 1210, 1297,
- -299, 149, -299, -299, 110, 144, 57, -299, -42, -299,
- -299, -299, -8, -299, -299, 1297, 1925, -299, -299, 1297,
- 141, -299, -299, -299, 1297, 1297, 1297, 1297, 1297, 1297,
- 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, -299, -299,
- 1615, -299, -299, -299, -299, -299, 150, -299, 1297, -299,
- -299, 68, -299, -299, 554, -299, -299, -299, -299, -299,
- 1297, 1297, -299, -299, -299, 1297, -299, 152, -299, -299,
- 89, 1297, 110, -299, -67, -299, -299, 153, 146, 123,
- 157, -299, -299, -299, -299, -299, 91, 91, -299, -299,
- -299, -299, 39, 39, -299, 139, 136, 108, -299, 195,
- 12, 764, 869, 25, -299, 955, 554, -299, -299, 159,
- -299, -299, 175, -299, 1297, -299, -299, 1297, 160, -299,
- -299, -299, -299, 955, 150, 146, 110, 1874, 158, 174,
- -299, -299, 177, -299, 1297, -299, 171, 188, 266, -299,
- 182, 659, -299, 190, 30, 1297, 659, 150, 1297, -299,
- -299, -299, -299, 191, 146, -299, -299, -299, -299
+ 1768, -17, -286, -286, -286, 147, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, 126, -286, -286,
+ -43, -286, -286, -286, -286, -286, -72, -286, -286, -67,
+ -13, -15, 5, -5, -286, 103, 1, 232, -286, -286,
+ 1991, 1, -286, 10, -286, 1704, -286, -286, -286, -286,
+ 1991, -286, -286, -286, -286, -286, 3, 45, -286, 28,
+ -286, 26, -286, -286, -286, -286, -286, 1889, 117, 105,
+ -286, 48, -65, -286, 35, -286, 1832, -286, -286, -286,
+ 1312, -286, -286, 43, 1832, -286, 52, -22, -286, 359,
+ -286, -286, -286, -286, 105, 1889, -64, -286, 1054, 1312,
+ -286, 91, 1889, 105, 1482, -286, 67, -286, -286, -286,
+ -286, 1312, 1312, 1312, -286, -286, -286, -286, -286, 2,
+ -286, -286, -286, 78, -8, 1396, 92, -286, 1312, 66,
+ 42, -286, -21, 98, -286, -286, -286, 107, 113, -55,
+ -286, 100, -286, -286, 1556, 1832, 112, -286, 45, 94,
+ 95, -286, 101, 106, 97, 1141, 110, 108, -286, -286,
+ 46, -286, -286, 33, -286, -67, 68, -286, -286, -286,
+ -286, 464, -286, -286, -286, -286, 114, -286, -286, 1225,
+ 1312, -286, 111, -286, -286, 105, 115, 34, -286, -45,
+ -286, -286, -286, 13, -286, -286, 1312, 1940, -286, -286,
+ 1312, 118, -286, -286, -286, 1312, 1312, 1312, 1312, 1312,
+ 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, -286,
+ -286, 1630, -286, -286, -286, -286, -286, 119, -286, 1312,
+ -286, -286, 39, -286, -286, 569, -286, -286, -286, -286,
+ -286, 1312, 1312, -286, -286, -286, 1312, -286, 116, -286,
+ -286, 40, 1312, 105, -286, -71, -286, -286, 123, 120,
+ 67, 121, -286, -286, -286, -286, -286, 66, 66, -286,
+ -286, -286, -286, -21, -21, -286, 107, 113, 82, -286,
+ 152, 28, 779, 884, 14, -286, 970, 569, -286, -286,
+ 125, -286, -286, 127, -286, 1312, -286, -286, 1312, 133,
+ -286, -286, -286, -286, 970, 119, 120, 105, 1889, 134,
+ 129, -286, -286, 135, -286, 1312, -286, 132, 136, 212,
+ -286, 137, 674, -286, 143, 23, 1312, 674, 119, 1312,
+ -286, -286, -286, -286, 144, 120, -286, -286, -286, -286
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -299, -39, -299, -299, -299, -299, -299, -299, 76, -299,
- -299, -299, -299, -93, -299, -16, -299, -48, -20, -299,
- -299, -299, 61, 63, 64, -299, -92, -115, -299, -119,
- -109, -299, 11, 15, -299, -299, -299, 185, 222, 216,
- 193, -299, -299, -275, -299, -299, -91, 41, -52, 303,
- -299, -299, 142, 28, 0, -299, -299, -299, -86, -96,
- 106, 40, -190, 9, -180, -283, -299, -299, -299, -33,
- -298, -299, -299, -77, 60, 13, -299, -299, -7, -299,
- -299, -299, -299, -299, -299, -299, -299, -299, 252, -299,
- -299
+ -286, -39, -286, -286, -286, -286, -286, -286, 31, -286,
+ -286, -286, -286, 86, -286, -38, -286, -111, -41, -286,
+ -286, -286, 16, 4, 12, -286, -93, -117, -286, -122,
+ -110, -286, 15, 17, -286, -286, -286, 138, 169, 164,
+ 139, -286, -286, -222, -286, -286, -91, 32, -53, 251,
+ -286, -286, 104, -31, 0, -286, -286, -286, -86, -115,
+ 69, 11, -194, -30, -179, -283, -286, -286, -286, -54,
+ -285, -286, -286, -76, 21, -20, -286, -286, -29, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, 229, -286,
+ -286
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -200
+#define YYTABLE_NINF -201
static const yytype_int16 yytable[] =
{
- 63, 76, 109, 202, 121, 96, 146, 159, 201, 268,
- 264, 48, 121, 212, 82, 49, 92, 163, 320, 213,
- 214, 236, 77, 274, 146, 159, 338, 209, 314, 221,
- 326, 68, 121, 78, 117, 113, 315, 210, 211, 99,
- 215, 118, 81, 122, 216, 83, 84, 85, 326, 356,
- 115, 122, 69, 104, 223, 251, 237, 63, 349, 7,
- 63, 275, 113, 349, 226, 63, 227, 209, 198, 204,
- 63, 122, 121, 121, 195, 199, 48, 166, 240, 218,
- 49, 73, 74, 167, 202, 219, 276, 63, 97, 267,
- 27, 28, 261, 29, 105, 63, 278, 93, 102, -81,
- 80, 37, 98, 63, 283, 146, 159, 89, 185, 108,
- 90, 122, 122, 75, 63, 228, 229, 261, 297, 324,
- 262, 63, 82, 63, 353, 261, 264, 71, 72, 303,
- 261, 284, 285, 146, 146, 146, 146, 146, 146, 146,
- 146, 146, 146, 146, 209, 307, 308, 232, 233, 121,
- 230, 231, 116, 83, 84, 85, 309, 272, 357, -28,
- 273, 99, 312, 63, 63, 255, 256, 257, 261, 91,
- 74, 304, 146, 159, 258, 73, 74, 281, 146, 159,
- 288, 289, 290, 291, 259, 119, 325, 162, 122, 272,
- 185, 68, 311, 2, 3, 4, 83, 84, 85, 224,
- 225, 165, 333, 217, 325, 332, 241, 242, 261, 317,
- 286, 287, 292, 293, 327, 344, -29, 222, 235, 234,
- 244, 146, 159, 319, 238, 245, 354, 247, 248, 249,
- 252, 253, 327, 202, -140, 2, 3, 4, 265, 271,
- 63, 8, 9, 10, 11, 269, 261, -199, 310, 316,
- -171, 318, 341, 334, 185, 330, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 331, 342, 343, 345, 96, 31, 32, 33, 34,
- 35, 36, 346, 347, 348, 40, 41, 340, 42, 43,
- 44, 45, 282, 352, 358, 294, 94, 47, 295, 196,
- 296, 185, 185, 110, 114, 185, 185, 197, 70, 243,
- 270, 321, 313, 355, 306, 322, 335, 101, 0, 0,
- 0, 0, 0, 185, 0, 0, 0, 63, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 185, 0, 0, 0, 0, 185, 1, 2, 3,
- 4, 5, 6, 7, 8, 9, 10, 11, 168, 169,
- 170, 0, 171, 172, 173, 174, 0, 0, 0, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 0, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- 175, 42, 43, 44, 45, 0, 0, 0, 46, 125,
- 47, 126, 127, 128, 129, 0, 0, 0, 130, 131,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 132, 0, 0,
- 0, 176, 177, 0, 0, 0, 0, 178, 133, 134,
- 0, 135, 1, 2, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 168, 169, 170, 0, 171, 172, 173,
- 174, 0, 0, 0, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
- 28, 0, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 175, 42, 43, 44, 45,
- 0, 0, 0, 46, 125, 47, 126, 127, 128, 129,
- 0, 0, 0, 130, 131, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 132, 0, 0, 0, 176, 263, 0, 0,
- 0, 0, 178, 133, 134, 0, 135, 1, 2, 3,
- 4, 5, 6, 7, 8, 9, 10, 11, 168, 169,
- 170, 0, 171, 172, 173, 174, 0, 0, 0, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 0, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- 175, 42, 43, 44, 45, 0, 0, 0, 46, 125,
- 47, 126, 127, 128, 129, 0, 0, 0, 130, 131,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 132, 0, 0,
- 0, 176, 0, 0, 0, 0, 0, 178, 133, 134,
- 0, 135, 1, 2, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 168, 169, 170, 0, 171, 172, 173,
- 174, 0, 0, 0, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
- 28, 0, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 175, 42, 43, 44, 45,
- 0, 0, 0, 46, 125, 47, 126, 127, 128, 129,
- 0, 0, 0, 130, 131, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 132, 0, 0, 0, 108, 0, 0, 0,
- 0, 0, 178, 133, 134, 0, 135, 1, 2, 3,
- 4, 5, 6, 7, 8, 9, 10, 11, 168, 169,
- 170, 0, 171, 172, 173, 174, 0, 0, 0, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 0, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- 175, 42, 43, 44, 45, 0, 0, 0, 46, 125,
- 47, 126, 127, 128, 129, 0, 0, 0, 130, 131,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 132, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 178, 133, 134,
- 0, 135, 1, 2, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
- 28, 0, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 0, 42, 43, 44, 45,
- 0, 0, 0, 46, 125, 47, 126, 127, 128, 129,
- 0, 0, 0, 130, 131, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 120, 2,
- 3, 4, 132, 6, 7, 8, 9, 10, 11, 0,
- 0, 0, 178, 133, 134, 0, 135, 0, 0, 0,
- 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 25, 26, 27, 28, 0, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 0, 42, 43, 44, 45, 0, 0, 0, 46,
- 125, 47, 126, 127, 128, 129, 0, 0, 0, 130,
- 131, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 132, 8,
- 9, 10, 11, 0, 0, 0, 0, 0, 0, 133,
- 134, 0, 135, 0, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 0,
- 0, 0, 0, 0, 31, 32, 33, 34, 35, 36,
- 0, 0, 0, 40, 41, 0, 42, 43, 44, 45,
- 0, 0, 0, 0, 125, 47, 126, 127, 128, 129,
- 0, 0, 0, 130, 131, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 132, 0, 0, 200, 8, 9, 10, 11,
- 0, 0, 0, 133, 134, 0, 135, 0, 0, 0,
- 0, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 0, 0, 0, 0,
- 0, 31, 32, 33, 34, 35, 36, 0, 0, 0,
- 40, 41, 0, 42, 43, 44, 45, 0, 0, 0,
- 0, 125, 47, 126, 127, 128, 129, 0, 0, 0,
- 130, 131, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 132,
- 8, 9, 10, 11, 0, 0, 0, 0, 0, 250,
- 133, 134, 0, 135, 0, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 0, 0, 0, 0, 0, 31, 32, 33, 34, 35,
- 36, 0, 0, 0, 40, 41, 0, 42, 43, 44,
- 45, 0, 0, 0, 0, 125, 47, 126, 127, 128,
- 129, 0, 0, 0, 130, 131, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 132, 0, 0, 266, 8, 9, 10,
- 11, 0, 0, 0, 133, 134, 0, 135, 0, 0,
- 0, 0, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 0, 0, 0,
- 0, 0, 31, 32, 33, 34, 35, 36, 0, 0,
- 0, 40, 41, 0, 42, 43, 44, 45, 0, 0,
- 0, 0, 125, 47, 126, 127, 128, 129, 0, 0,
- 0, 130, 131, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 132, 8, 9, 10, 11, 0, 0, 0, 0, 0,
- 0, 133, 134, 0, 135, 0, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 0, 0, 0, 0, 0, 31, 32, 33, 34,
- 35, 36, 0, 0, 0, 40, 220, 0, 42, 43,
- 44, 45, 0, 0, 0, 0, 125, 47, 126, 127,
- 128, 129, 0, 0, 0, 130, 131, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 120, 2, 3, 4, 132, 6, 7, 8, 9, 10,
- 11, 0, 0, 0, 0, 133, 134, 0, 135, 0,
- 0, 0, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 0,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 0, 42, 43, 44, 45, 0, 0,
- 0, 46, 0, 47, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 120, 2, 3, 4, 0, 6,
- 7, 8, 9, 10, 11, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 208, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 27, 28, 0, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 0, 42, 43,
- 44, 45, 0, 0, 0, 46, 0, 47, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 120, 2,
- 3, 4, 0, 6, 7, 8, 9, 10, 11, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 239,
- 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 25, 26, 27, 28, 0, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 0, 42, 43, 44, 45, 0, 0, 0, 46,
- 0, 47, 0, 0, 0, 0, 0, 0, 0, 100,
+ 63, 76, 203, 110, 97, 122, 269, 160, 202, 210,
+ 7, 213, 265, 122, 82, 48, 92, 49, 164, 321,
+ 275, 77, 73, 74, 315, 160, 237, 68, 222, 98,
+ 118, 199, 316, 122, 114, 82, 78, 119, 200, 103,
+ 339, 27, 28, 123, 29, 83, 84, 85, 69, 210,
+ 116, 123, 37, 252, 75, 229, 230, 63, 276, 350,
+ 63, 238, 114, 357, 350, 63, 83, 84, 85, 205,
+ 63, 123, 167, 122, 122, 196, 214, 215, 168, 241,
+ 48, 80, 49, 203, 327, 81, 219, 63, 93, 268,
+ 231, 232, 220, 99, 279, 89, 63, 216, 90, -82,
+ 105, 217, 327, 284, 63, 100, 160, 277, 325, 186,
+ 106, 123, 123, 262, 262, 63, 298, 354, 289, 290,
+ 291, 292, 63, 262, 63, 109, 210, 304, 265, 256,
+ 257, 258, 120, 262, 273, 68, 263, 274, 259, 262,
+ 273, 117, 305, 312, 308, 309, 163, 227, 260, 228,
+ 122, 2, 3, 4, 166, 358, 310, 83, 84, 85,
+ -29, -28, 313, 100, 63, 63, 71, 72, 91, 74,
+ 73, 74, 218, 160, 225, 226, 233, 234, 282, 160,
+ 242, 243, 262, 318, 326, 223, 147, 235, 123, 287,
+ 288, 186, 293, 294, 248, 236, 239, 245, 246, 249,
+ 250, 334, 326, 253, 147, 333, 254, 270, 319, 266,
+ 272, -141, 311, 345, -172, 328, -200, 211, 212, 317,
+ 262, 331, 160, 332, 355, 320, 335, 343, 342, 348,
+ 347, 344, 203, 328, 224, 346, 2, 3, 4, 349,
+ 296, 63, 8, 9, 10, 11, 353, 359, 283, 297,
+ 111, 295, 115, 197, 198, 186, 70, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 244, 322, 271, 97, 307, 31, 32, 33,
+ 34, 35, 36, 323, 314, 147, 40, 41, 341, 42,
+ 43, 44, 45, 356, 102, 336, 0, 94, 47, 0,
+ 0, 0, 186, 186, 0, 0, 186, 186, 0, 0,
+ 0, 285, 286, 147, 147, 147, 147, 147, 147, 147,
+ 147, 147, 147, 147, 186, 0, 0, 0, 63, 0,
+ 0, 0, 0, 0, 0, 95, 0, 0, 0, 0,
+ 0, 0, 186, 0, 0, 0, 0, 186, 0, 0,
+ 0, 0, 147, 0, 0, 0, 0, 0, 147, 0,
0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 298, 12, 13, 14, 15, 16, 17,
+ 9, 10, 11, 169, 170, 171, 0, 172, 173, 174,
+ 175, 0, 0, 0, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 147, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 176, 42, 43, 44, 45,
+ 0, 0, 0, 46, 126, 47, 127, 128, 129, 130,
+ 0, 0, 0, 131, 132, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 133, 0, 0, 0, 177, 178, 0, 0,
+ 0, 0, 179, 134, 135, 0, 136, 1, 2, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 169, 170,
+ 171, 0, 172, 173, 174, 175, 0, 0, 0, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 0, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 176, 42, 43, 44, 45, 0, 0, 0, 46, 126,
+ 47, 127, 128, 129, 130, 0, 0, 0, 131, 132,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 133, 0, 0,
+ 0, 177, 264, 0, 0, 0, 0, 179, 134, 135,
+ 0, 136, 1, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 169, 170, 171, 0, 172, 173, 174,
+ 175, 0, 0, 0, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 0, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 0, 42, 43, 44, 45,
- 0, 0, 0, 46, 0, 47, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 0, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 0,
- 42, 43, 44, 45, 0, 0, 0, 46, 0, 47,
- 120, 2, 3, 4, 0, 6, 7, 8, 9, 10,
- 11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 0,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 0, 42, 43, 44, 45, 2, 3,
- 4, 46, 0, 47, 8, 9, 10, 11, 0, 0,
+ 37, 38, 39, 40, 41, 176, 42, 43, 44, 45,
+ 0, 0, 0, 46, 126, 47, 127, 128, 129, 130,
+ 0, 0, 0, 131, 132, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 133, 0, 0, 0, 177, 0, 0, 0,
+ 0, 0, 179, 134, 135, 0, 136, 1, 2, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 169, 170,
+ 171, 0, 172, 173, 174, 175, 0, 0, 0, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 0, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 176, 42, 43, 44, 45, 0, 0, 0, 46, 126,
+ 47, 127, 128, 129, 130, 0, 0, 0, 131, 132,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 133, 0, 0,
+ 0, 109, 0, 0, 0, 0, 0, 179, 134, 135,
+ 0, 136, 1, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 169, 170, 171, 0, 172, 173, 174,
+ 175, 0, 0, 0, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 0, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 176, 42, 43, 44, 45,
+ 0, 0, 0, 46, 126, 47, 127, 128, 129, 130,
+ 0, 0, 0, 131, 132, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 133, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 179, 134, 135, 0, 136, 1, 2, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 0, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 0, 42, 43, 44, 45, 0, 0, 0, 46, 126,
+ 47, 127, 128, 129, 130, 0, 0, 0, 131, 132,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 121, 2, 3, 4, 133, 6, 7,
+ 8, 9, 10, 11, 0, 0, 0, 179, 134, 135,
+ 0, 136, 0, 0, 0, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 0, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 0, 42, 43, 44,
+ 45, 0, 0, 0, 46, 126, 47, 127, 128, 129,
+ 130, 0, 0, 0, 131, 132, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 133, 8, 9, 10, 11, 0, 0,
+ 0, 0, 0, 0, 134, 135, 0, 136, 0, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
23, 24, 25, 26, 0, 0, 0, 0, 0, 31,
32, 33, 34, 35, 36, 0, 0, 0, 40, 41,
- 0, 42, 43, 44, 45, 8, 9, 10, 11, 0,
- 47, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 42, 43, 44, 45, 0, 0, 0, 0, 126,
+ 47, 127, 128, 129, 130, 0, 0, 0, 131, 132,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 133, 0, 0,
+ 201, 8, 9, 10, 11, 0, 0, 0, 134, 135,
+ 0, 136, 0, 0, 0, 0, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 0, 0, 0, 0, 0, 31, 32, 33, 34,
+ 35, 36, 0, 0, 0, 40, 41, 0, 42, 43,
+ 44, 45, 0, 0, 0, 0, 126, 47, 127, 128,
+ 129, 130, 0, 0, 0, 131, 132, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 133, 8, 9, 10, 11, 0,
+ 0, 0, 0, 0, 251, 134, 135, 0, 136, 0,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 0, 0, 0, 0, 0,
31, 32, 33, 34, 35, 36, 0, 0, 0, 40,
- 41, 0, 42, 43, 44, 45, 8, 9, 10, 11,
- 279, 280, 0, 0, 0, 0, 0, 0, 0, 0,
+ 41, 0, 42, 43, 44, 45, 0, 0, 0, 0,
+ 126, 47, 127, 128, 129, 130, 0, 0, 0, 131,
+ 132, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 133, 0,
+ 0, 267, 8, 9, 10, 11, 0, 0, 0, 134,
+ 135, 0, 136, 0, 0, 0, 0, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 0, 0, 0, 0, 0, 31, 32, 33,
+ 34, 35, 36, 0, 0, 0, 40, 41, 0, 42,
+ 43, 44, 45, 0, 0, 0, 0, 126, 47, 127,
+ 128, 129, 130, 0, 0, 0, 131, 132, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 133, 8, 9, 10, 11,
+ 0, 0, 0, 0, 0, 0, 134, 135, 0, 136,
0, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 0, 0, 0, 0,
0, 31, 32, 33, 34, 35, 36, 0, 0, 0,
+ 40, 221, 0, 42, 43, 44, 45, 0, 0, 0,
+ 0, 126, 47, 127, 128, 129, 130, 0, 0, 0,
+ 131, 132, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 121, 2, 3, 4, 133,
+ 6, 7, 8, 9, 10, 11, 0, 0, 0, 0,
+ 134, 135, 0, 136, 0, 0, 0, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 0, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 0, 42,
+ 43, 44, 45, 0, 0, 0, 46, 0, 47, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 121,
+ 2, 3, 4, 0, 6, 7, 8, 9, 10, 11,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 209, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 0, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 0, 42, 43, 44, 45, 0, 0, 0,
- 0, 0, 47
+ 46, 0, 47, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 121, 2, 3, 4, 0, 6, 7,
+ 8, 9, 10, 11, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 240, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 0, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 0, 42, 43, 44,
+ 45, 0, 0, 0, 46, 0, 47, 0, 0, 0,
+ 0, 0, 0, 0, 101, 0, 0, 1, 2, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 299, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 0, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 0, 42, 43, 44, 45, 0, 0, 0, 46, 0,
+ 47, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 0, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 0, 42, 43, 44, 45, 0,
+ 0, 0, 46, 0, 47, 121, 2, 3, 4, 0,
+ 6, 7, 8, 9, 10, 11, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 0, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 0, 42,
+ 43, 44, 45, 2, 3, 4, 46, 0, 47, 8,
+ 9, 10, 11, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 0,
+ 0, 0, 0, 0, 31, 32, 33, 34, 35, 36,
+ 0, 0, 0, 40, 41, 0, 42, 43, 44, 45,
+ 8, 9, 10, 11, 0, 47, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 0, 0, 0, 0, 0, 31, 32, 33, 34, 35,
+ 36, 0, 0, 0, 40, 41, 0, 42, 43, 44,
+ 45, 8, 9, 10, 11, 280, 281, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 0, 0, 0, 0, 0, 31, 32, 33, 34,
+ 35, 36, 0, 0, 0, 40, 41, 0, 42, 43,
+ 44, 45, 0, 0, 0, 0, 0, 47
};
#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-299)))
+ (!!((Yystate) == (-286)))
#define yytable_value_is_error(Yytable_value) \
YYID (0)
static const yytype_int16 yycheck[] =
{
- 0, 40, 79, 118, 95, 57, 99, 99, 117, 199,
- 190, 0, 103, 132, 9, 0, 55, 103, 301, 74,
- 75, 81, 93, 65, 117, 117, 324, 123, 95, 144,
- 305, 44, 123, 103, 95, 87, 103, 130, 131, 95,
- 95, 102, 100, 95, 99, 40, 41, 42, 323, 347,
- 89, 103, 65, 97, 147, 174, 116, 57, 341, 9,
- 60, 103, 114, 346, 105, 65, 107, 163, 95, 121,
- 70, 123, 163, 164, 113, 102, 65, 94, 164, 94,
- 65, 65, 66, 100, 199, 100, 94, 87, 60, 198,
- 40, 41, 100, 43, 65, 95, 215, 56, 70, 94,
- 94, 51, 61, 103, 219, 198, 198, 100, 108, 97,
- 103, 163, 164, 97, 114, 76, 77, 100, 237, 94,
- 103, 121, 9, 123, 94, 100, 306, 40, 41, 248,
- 100, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 240, 260, 261, 78, 79, 240,
- 111, 112, 93, 40, 41, 42, 265, 100, 348, 93,
- 103, 95, 271, 163, 164, 83, 84, 85, 100, 65,
- 66, 103, 265, 265, 92, 65, 66, 216, 271, 271,
- 228, 229, 230, 231, 102, 97, 305, 103, 240, 100,
- 190, 44, 103, 4, 5, 6, 40, 41, 42, 108,
- 109, 102, 317, 94, 323, 314, 68, 69, 100, 101,
- 226, 227, 232, 233, 305, 334, 93, 93, 82, 80,
- 103, 314, 314, 300, 96, 103, 345, 93, 93, 103,
- 93, 98, 323, 348, 93, 4, 5, 6, 95, 95,
- 240, 10, 11, 12, 13, 96, 100, 97, 96, 96,
- 93, 56, 94, 93, 254, 96, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 96, 98, 96, 103, 327, 45, 46, 47, 48,
- 49, 50, 94, 17, 102, 54, 55, 326, 57, 58,
- 59, 60, 216, 103, 103, 234, 65, 66, 235, 114,
- 236, 301, 302, 81, 88, 305, 306, 114, 5, 167,
- 204, 302, 272, 346, 254, 302, 323, 65, -1, -1,
- -1, -1, -1, 323, -1, -1, -1, 327, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 341, -1, -1, -1, -1, 346, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, -1, 18, 19, 20, 21, -1, -1, -1, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 37, 38, 39, 40, 41, -1, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, -1, -1, -1, 64, 65,
- 66, 67, 68, 69, 70, -1, -1, -1, 74, 75,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
- -1, 97, 98, -1, -1, -1, -1, 103, 104, 105,
- -1, 107, 3, 4, 5, 6, 7, 8, 9, 10,
+ 0, 40, 119, 79, 57, 96, 200, 100, 118, 124,
+ 9, 133, 191, 104, 9, 0, 55, 0, 104, 302,
+ 65, 93, 65, 66, 95, 118, 81, 44, 145, 60,
+ 95, 95, 103, 124, 87, 9, 103, 102, 102, 70,
+ 325, 40, 41, 96, 43, 40, 41, 42, 65, 164,
+ 89, 104, 51, 175, 97, 76, 77, 57, 103, 342,
+ 60, 116, 115, 348, 347, 65, 40, 41, 42, 122,
+ 70, 124, 94, 164, 165, 114, 74, 75, 100, 165,
+ 65, 94, 65, 200, 306, 100, 94, 87, 56, 199,
+ 111, 112, 100, 61, 216, 100, 96, 95, 103, 94,
+ 97, 99, 324, 220, 104, 95, 199, 94, 94, 109,
+ 65, 164, 165, 100, 100, 115, 238, 94, 229, 230,
+ 231, 232, 122, 100, 124, 97, 241, 249, 307, 83,
+ 84, 85, 97, 100, 100, 44, 103, 103, 92, 100,
+ 100, 93, 103, 103, 261, 262, 103, 105, 102, 107,
+ 241, 4, 5, 6, 102, 349, 266, 40, 41, 42,
+ 93, 93, 272, 95, 164, 165, 40, 41, 65, 66,
+ 65, 66, 94, 266, 108, 109, 78, 79, 217, 272,
+ 68, 69, 100, 101, 306, 93, 100, 80, 241, 227,
+ 228, 191, 233, 234, 93, 82, 96, 103, 103, 93,
+ 103, 318, 324, 93, 118, 315, 98, 96, 56, 95,
+ 95, 93, 96, 335, 93, 306, 97, 131, 132, 96,
+ 100, 96, 315, 96, 346, 301, 93, 98, 94, 17,
+ 94, 96, 349, 324, 148, 103, 4, 5, 6, 102,
+ 236, 241, 10, 11, 12, 13, 103, 103, 217, 237,
+ 81, 235, 88, 115, 115, 255, 5, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 168, 303, 205, 328, 255, 45, 46, 47,
+ 48, 49, 50, 303, 273, 199, 54, 55, 327, 57,
+ 58, 59, 60, 347, 65, 324, -1, 65, 66, -1,
+ -1, -1, 302, 303, -1, -1, 306, 307, -1, -1,
+ -1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, 236, 237, 324, -1, -1, -1, 328, -1,
+ -1, -1, -1, -1, -1, 103, -1, -1, -1, -1,
+ -1, -1, 342, -1, -1, -1, -1, 347, -1, -1,
+ -1, -1, 266, -1, -1, -1, -1, -1, 272, -1,
+ -1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, -1, 18, 19, 20,
21, -1, -1, -1, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, -1, 43, 44, 45, 46, 47, 48, 49, 50,
+ 41, 315, 43, 44, 45, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
-1, -1, -1, 64, 65, 66, 67, 68, 69, 70,
-1, -1, -1, 74, 75, -1, -1, -1, -1, -1,
@@ -1307,7 +1299,7 @@
66, 67, 68, 69, 70, -1, -1, -1, 74, 75,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
- -1, 97, -1, -1, -1, -1, -1, 103, 104, 105,
+ -1, 97, 98, -1, -1, -1, -1, 103, 104, 105,
-1, 107, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, -1, 18, 19, 20,
21, -1, -1, -1, 25, 26, 27, 28, 29, 30,
@@ -1328,125 +1320,135 @@
66, 67, 68, 69, 70, -1, -1, -1, 74, 75,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 103, 104, 105,
+ -1, 97, -1, -1, -1, -1, -1, 103, 104, 105,
-1, 107, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 25, 26, 27, 28, 29, 30,
+ 11, 12, 13, 14, 15, 16, -1, 18, 19, 20,
+ 21, -1, -1, -1, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, -1, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, -1, 57, 58, 59, 60,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
-1, -1, -1, 64, 65, 66, 67, 68, 69, 70,
-1, -1, -1, 74, 75, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 3, 4,
- 5, 6, 93, 8, 9, 10, 11, 12, 13, -1,
- -1, -1, 103, 104, 105, -1, 107, -1, -1, -1,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, -1, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, -1, 57, 58, 59, 60, -1, -1, -1, 64,
- 65, 66, 67, 68, 69, 70, -1, -1, -1, 74,
- 75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 93, 10,
- 11, 12, 13, -1, -1, -1, -1, -1, -1, 104,
- 105, -1, 107, -1, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, -1,
- -1, -1, -1, -1, 45, 46, 47, 48, 49, 50,
- -1, -1, -1, 54, 55, -1, 57, 58, 59, 60,
- -1, -1, -1, -1, 65, 66, 67, 68, 69, 70,
- -1, -1, -1, 74, 75, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 93, -1, -1, 96, 10, 11, 12, 13,
- -1, -1, -1, 104, 105, -1, 107, -1, -1, -1,
- -1, 25, 26, 27, 28, 29, 30, 31, 32, 33,
- 34, 35, 36, 37, 38, 39, -1, -1, -1, -1,
- -1, 45, 46, 47, 48, 49, 50, -1, -1, -1,
- 54, 55, -1, 57, 58, 59, 60, -1, -1, -1,
- -1, 65, 66, 67, 68, 69, 70, -1, -1, -1,
- 74, 75, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
- 10, 11, 12, 13, -1, -1, -1, -1, -1, 103,
- 104, 105, -1, 107, -1, 25, 26, 27, 28, 29,
+ -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 103, 104, 105, -1, 107, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, -1, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ -1, 57, 58, 59, 60, -1, -1, -1, 64, 65,
+ 66, 67, 68, 69, 70, -1, -1, -1, 74, 75,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 3, 4, 5, 6, 93, 8, 9,
+ 10, 11, 12, 13, -1, -1, -1, 103, 104, 105,
+ -1, 107, -1, -1, -1, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- -1, -1, -1, -1, -1, 45, 46, 47, 48, 49,
- 50, -1, -1, -1, 54, 55, -1, 57, 58, 59,
- 60, -1, -1, -1, -1, 65, 66, 67, 68, 69,
+ 40, 41, -1, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
+ 60, -1, -1, -1, 64, 65, 66, 67, 68, 69,
70, -1, -1, -1, 74, 75, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 93, -1, -1, 96, 10, 11, 12,
- 13, -1, -1, -1, 104, 105, -1, 107, -1, -1,
- -1, -1, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, -1, -1, -1,
- -1, -1, 45, 46, 47, 48, 49, 50, -1, -1,
- -1, 54, 55, -1, 57, 58, 59, 60, -1, -1,
- -1, -1, 65, 66, 67, 68, 69, 70, -1, -1,
- -1, 74, 75, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 93, 10, 11, 12, 13, -1, -1,
+ -1, -1, -1, -1, 104, 105, -1, 107, -1, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, -1, -1, -1, -1, -1, 45,
+ 46, 47, 48, 49, 50, -1, -1, -1, 54, 55,
+ -1, 57, 58, 59, 60, -1, -1, -1, -1, 65,
+ 66, 67, 68, 69, 70, -1, -1, -1, 74, 75,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 93, 10, 11, 12, 13, -1, -1, -1, -1, -1,
- -1, 104, 105, -1, 107, -1, 25, 26, 27, 28,
+ -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
+ 96, 10, 11, 12, 13, -1, -1, -1, 104, 105,
+ -1, 107, -1, -1, -1, -1, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
39, -1, -1, -1, -1, -1, 45, 46, 47, 48,
49, 50, -1, -1, -1, 54, 55, -1, 57, 58,
59, 60, -1, -1, -1, -1, 65, 66, 67, 68,
69, 70, -1, -1, -1, 74, 75, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 3, 4, 5, 6, 93, 8, 9, 10, 11, 12,
- 13, -1, -1, -1, -1, 104, 105, -1, 107, -1,
- -1, -1, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, -1,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, -1, 57, 58, 59, 60, -1, -1,
- -1, 64, -1, 66, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 3, 4, 5, 6, -1, 8,
- 9, 10, 11, 12, 13, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 98, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, -1, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, -1, 57, 58,
- 59, 60, -1, -1, -1, 64, -1, 66, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 3, 4,
- 5, 6, -1, 8, 9, 10, 11, 12, 13, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 98,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, -1, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, -1, 57, 58, 59, 60, -1, -1, -1, 64,
- -1, 66, -1, -1, -1, -1, -1, -1, -1, 0,
- -1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 98, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, -1, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, -1, 57, 58, 59, 60,
- -1, -1, -1, 64, -1, 66, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, -1, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, -1,
- 57, 58, 59, 60, -1, -1, -1, 64, -1, 66,
- 3, 4, 5, 6, -1, 8, 9, 10, 11, 12,
- 13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, -1,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, -1, 57, 58, 59, 60, 4, 5,
- 6, 64, -1, 66, 10, 11, 12, 13, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 37, 38, 39, -1, -1, -1, -1, -1, 45,
- 46, 47, 48, 49, 50, -1, -1, -1, 54, 55,
- -1, 57, 58, 59, 60, 10, 11, 12, 13, -1,
- 66, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 93, 10, 11, 12, 13, -1,
+ -1, -1, -1, -1, 103, 104, 105, -1, 107, -1,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, -1, -1, -1, -1, -1,
45, 46, 47, 48, 49, 50, -1, -1, -1, 54,
- 55, -1, 57, 58, 59, 60, 10, 11, 12, 13,
- 65, 66, -1, -1, -1, -1, -1, -1, -1, -1,
+ 55, -1, 57, 58, 59, 60, -1, -1, -1, -1,
+ 65, 66, 67, 68, 69, 70, -1, -1, -1, 74,
+ 75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
+ -1, 96, 10, 11, 12, 13, -1, -1, -1, 104,
+ 105, -1, 107, -1, -1, -1, -1, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, -1, -1, -1, -1, -1, 45, 46, 47,
+ 48, 49, 50, -1, -1, -1, 54, 55, -1, 57,
+ 58, 59, 60, -1, -1, -1, -1, 65, 66, 67,
+ 68, 69, 70, -1, -1, -1, 74, 75, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 93, 10, 11, 12, 13,
+ -1, -1, -1, -1, -1, -1, 104, 105, -1, 107,
-1, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, -1, -1, -1, -1,
-1, 45, 46, 47, 48, 49, 50, -1, -1, -1,
54, 55, -1, 57, 58, 59, 60, -1, -1, -1,
- -1, -1, 66
+ -1, 65, 66, 67, 68, 69, 70, -1, -1, -1,
+ 74, 75, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3, 4, 5, 6, 93,
+ 8, 9, 10, 11, 12, 13, -1, -1, -1, -1,
+ 104, 105, -1, 107, -1, -1, -1, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, -1, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, -1, 57,
+ 58, 59, 60, -1, -1, -1, 64, -1, 66, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 3,
+ 4, 5, 6, -1, 8, 9, 10, 11, 12, 13,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 98, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, -1, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, -1, 57, 58, 59, 60, -1, -1, -1,
+ 64, -1, 66, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 3, 4, 5, 6, -1, 8, 9,
+ 10, 11, 12, 13, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 98, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, -1, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
+ 60, -1, -1, -1, 64, -1, 66, -1, -1, -1,
+ -1, -1, -1, -1, 0, -1, -1, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 98, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, -1, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ -1, 57, 58, 59, 60, -1, -1, -1, 64, -1,
+ 66, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ -1, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, -1, 57, 58, 59, 60, -1,
+ -1, -1, 64, -1, 66, 3, 4, 5, 6, -1,
+ 8, 9, 10, 11, 12, 13, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, -1, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, -1, 57,
+ 58, 59, 60, 4, 5, 6, 64, -1, 66, 10,
+ 11, 12, 13, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, -1,
+ -1, -1, -1, -1, 45, 46, 47, 48, 49, 50,
+ -1, -1, -1, 54, 55, -1, 57, 58, 59, 60,
+ 10, 11, 12, 13, -1, 66, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ -1, -1, -1, -1, -1, 45, 46, 47, 48, 49,
+ 50, -1, -1, -1, 54, 55, -1, 57, 58, 59,
+ 60, 10, 11, 12, 13, 65, 66, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, -1, -1, -1, -1, -1, 45, 46, 47, 48,
+ 49, 50, -1, -1, -1, 54, 55, -1, 57, 58,
+ 59, 60, -1, -1, -1, -1, -1, 66
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1462,33 +1464,33 @@
166, 167, 170, 171, 172, 204, 205, 206, 44, 65,
166, 40, 41, 65, 66, 97, 118, 93, 103, 207,
94, 100, 9, 40, 41, 42, 155, 156, 162, 100,
- 103, 65, 118, 164, 65, 148, 165, 170, 164, 95,
- 0, 205, 170, 174, 97, 65, 168, 169, 97, 190,
- 155, 154, 157, 165, 156, 118, 93, 95, 102, 97,
- 3, 163, 165, 175, 176, 65, 67, 68, 69, 70,
- 74, 75, 93, 104, 105, 107, 119, 120, 121, 123,
- 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
- 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
- 147, 171, 103, 175, 173, 102, 94, 100, 14, 15,
- 16, 18, 19, 20, 21, 56, 97, 98, 103, 130,
- 143, 144, 146, 149, 150, 171, 180, 181, 182, 183,
- 191, 192, 193, 196, 203, 118, 154, 157, 95, 102,
- 96, 147, 144, 179, 165, 118, 177, 178, 98, 176,
- 130, 130, 146, 74, 75, 95, 99, 94, 94, 100,
- 55, 144, 93, 130, 108, 109, 105, 107, 76, 77,
- 111, 112, 78, 79, 80, 82, 81, 116, 96, 98,
- 175, 68, 69, 169, 103, 103, 198, 93, 93, 103,
- 103, 146, 93, 98, 184, 83, 84, 85, 92, 102,
- 145, 100, 103, 98, 181, 95, 96, 147, 179, 96,
- 177, 95, 100, 103, 65, 103, 94, 122, 146, 65,
- 66, 118, 125, 144, 130, 130, 132, 132, 134, 134,
- 134, 134, 135, 135, 139, 140, 141, 146, 98, 187,
- 188, 189, 199, 146, 103, 197, 191, 144, 144, 147,
- 96, 103, 147, 178, 95, 103, 96, 101, 56, 190,
- 182, 180, 192, 200, 94, 146, 160, 163, 195, 185,
- 96, 96, 147, 144, 93, 195, 201, 202, 187, 194,
- 118, 94, 98, 96, 146, 103, 94, 17, 102, 182,
- 186, 190, 103, 94, 146, 186, 187, 179, 103
+ 103, 65, 118, 164, 65, 103, 148, 165, 170, 164,
+ 95, 0, 205, 170, 174, 97, 65, 168, 169, 97,
+ 190, 155, 154, 157, 165, 156, 118, 93, 95, 102,
+ 97, 3, 163, 165, 175, 176, 65, 67, 68, 69,
+ 70, 74, 75, 93, 104, 105, 107, 119, 120, 121,
+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
+ 143, 147, 171, 103, 175, 173, 102, 94, 100, 14,
+ 15, 16, 18, 19, 20, 21, 56, 97, 98, 103,
+ 130, 143, 144, 146, 149, 150, 171, 180, 181, 182,
+ 183, 191, 192, 193, 196, 203, 118, 154, 157, 95,
+ 102, 96, 147, 144, 179, 165, 118, 177, 178, 98,
+ 176, 130, 130, 146, 74, 75, 95, 99, 94, 94,
+ 100, 55, 144, 93, 130, 108, 109, 105, 107, 76,
+ 77, 111, 112, 78, 79, 80, 82, 81, 116, 96,
+ 98, 175, 68, 69, 169, 103, 103, 198, 93, 93,
+ 103, 103, 146, 93, 98, 184, 83, 84, 85, 92,
+ 102, 145, 100, 103, 98, 181, 95, 96, 147, 179,
+ 96, 177, 95, 100, 103, 65, 103, 94, 122, 146,
+ 65, 66, 118, 125, 144, 130, 130, 132, 132, 134,
+ 134, 134, 134, 135, 135, 139, 140, 141, 146, 98,
+ 187, 188, 189, 199, 146, 103, 197, 191, 144, 144,
+ 147, 96, 103, 147, 178, 95, 103, 96, 101, 56,
+ 190, 182, 180, 192, 200, 94, 146, 160, 163, 195,
+ 185, 96, 96, 147, 144, 93, 195, 201, 202, 187,
+ 194, 118, 94, 98, 96, 146, 103, 94, 17, 102,
+ 182, 186, 190, 103, 94, 146, 186, 187, 179, 103
};
#define yyerrok (yyerrstatus = 0)
@@ -3140,6 +3142,14 @@
case 80:
{
+ context->parseGlobalLayoutQualifier((yyvsp[(1) - (2)].interm.type));
+ (yyval.interm.intermNode) = 0;
+ }
+ break;
+
+ case 81:
+
+ {
//
// Multiple declarations of the same function are allowed.
//
@@ -3176,13 +3186,6 @@
}
break;
- case 81:
-
- {
- (yyval.interm.function) = (yyvsp[(1) - (1)].interm.function);
- }
- break;
-
case 82:
{
@@ -3193,6 +3196,13 @@
case 83:
{
+ (yyval.interm.function) = (yyvsp[(1) - (1)].interm.function);
+ }
+ break;
+
+ case 84:
+
+ {
// Add the parameter
(yyval.interm.function) = (yyvsp[(1) - (2)].interm.function);
if ((yyvsp[(2) - (2)].interm).param.type->getBasicType() != EbtVoid)
@@ -3202,7 +3212,7 @@
}
break;
- case 84:
+ case 85:
{
//
@@ -3224,7 +3234,7 @@
}
break;
- case 85:
+ case 86:
{
if ((yyvsp[(1) - (3)].interm.type).qualifier != EvqGlobal && (yyvsp[(1) - (3)].interm.type).qualifier != EvqTemporary) {
@@ -3245,7 +3255,7 @@
}
break;
- case 86:
+ case 87:
{
if ((yyvsp[(1) - (2)].interm.type).type == EbtVoid) {
@@ -3260,7 +3270,7 @@
}
break;
- case 87:
+ case 88:
{
// Check that we can make an array out of this type
@@ -3282,7 +3292,7 @@
}
break;
- case 88:
+ case 89:
{
(yyval.interm) = (yyvsp[(3) - (3)].interm);
@@ -3291,29 +3301,9 @@
}
break;
- case 89:
-
- {
- (yyval.interm) = (yyvsp[(2) - (2)].interm);
- if (context->parameterSamplerErrorCheck((yyvsp[(2) - (2)].interm).line, (yyvsp[(1) - (2)].interm.qualifier), *(yyvsp[(2) - (2)].interm).param.type))
- context->recover();
- if (context->paramErrorCheck((yyvsp[(2) - (2)].interm).line, EvqTemporary, (yyvsp[(1) - (2)].interm.qualifier), (yyval.interm).param.type))
- context->recover();
- }
- break;
-
case 90:
{
- (yyval.interm) = (yyvsp[(3) - (3)].interm);
- 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;
-
- case 91:
-
- {
(yyval.interm) = (yyvsp[(2) - (2)].interm);
if (context->parameterSamplerErrorCheck((yyvsp[(2) - (2)].interm).line, (yyvsp[(1) - (2)].interm.qualifier), *(yyvsp[(2) - (2)].interm).param.type))
context->recover();
@@ -3322,10 +3312,23 @@
}
break;
+ case 91:
+
+ {
+ (yyval.interm) = (yyvsp[(3) - (3)].interm);
+ 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;
+
case 92:
{
- (yyval.interm.qualifier) = EvqIn;
+ (yyval.interm) = (yyvsp[(2) - (2)].interm);
+ if (context->parameterSamplerErrorCheck((yyvsp[(2) - (2)].interm).line, (yyvsp[(1) - (2)].interm.qualifier), *(yyvsp[(2) - (2)].interm).param.type))
+ context->recover();
+ if (context->paramErrorCheck((yyvsp[(2) - (2)].interm).line, EvqTemporary, (yyvsp[(1) - (2)].interm.qualifier), (yyval.interm).param.type))
+ context->recover();
}
break;
@@ -3339,33 +3342,40 @@
case 94:
{
- (yyval.interm.qualifier) = EvqOut;
+ (yyval.interm.qualifier) = EvqIn;
}
break;
case 95:
{
- (yyval.interm.qualifier) = EvqInOut;
+ (yyval.interm.qualifier) = EvqOut;
}
break;
case 96:
{
+ (yyval.interm.qualifier) = EvqInOut;
+ }
+ break;
+
+ case 97:
+
+ {
TParameter param = { 0, new TType((yyvsp[(1) - (1)].interm.type)) };
(yyval.interm).param = param;
}
break;
- case 97:
+ case 98:
{
(yyval.interm) = (yyvsp[(1) - (1)].interm);
}
break;
- case 98:
+ case 99:
{
if ((yyvsp[(1) - (3)].interm).type.type == EbtInvariant && !(yyvsp[(3) - (3)].lex).symbol)
@@ -3391,7 +3401,7 @@
}
break;
- case 99:
+ case 100:
{
if (context->structQualifierErrorCheck((yyvsp[(3) - (5)].lex).line, (yyvsp[(1) - (5)].interm).type))
@@ -3413,7 +3423,7 @@
}
break;
- case 100:
+ case 101:
{
if (context->structQualifierErrorCheck((yyvsp[(3) - (6)].lex).line, (yyvsp[(1) - (6)].interm).type))
@@ -3441,7 +3451,7 @@
}
break;
- case 101:
+ case 102:
{
if (context->structQualifierErrorCheck((yyvsp[(3) - (5)].lex).line, (yyvsp[(1) - (5)].interm).type))
@@ -3465,7 +3475,7 @@
}
break;
- case 102:
+ case 103:
{
(yyval.interm).type = (yyvsp[(1) - (1)].interm.type);
@@ -3473,7 +3483,7 @@
}
break;
- case 103:
+ case 104:
{
(yyval.interm).type = (yyvsp[(1) - (2)].interm.type);
@@ -3481,7 +3491,7 @@
}
break;
- case 104:
+ case 105:
{
context->error((yyvsp[(2) - (4)].lex).line, "unsized array declarations not supported", (yyvsp[(2) - (4)].lex).string->c_str());
@@ -3492,7 +3502,7 @@
}
break;
- case 105:
+ case 106:
{
(yyval.interm).type = (yyvsp[(1) - (5)].interm.type);
@@ -3500,7 +3510,7 @@
}
break;
- case 106:
+ case 107:
{
(yyval.interm).type = (yyvsp[(1) - (4)].interm.type);
@@ -3508,7 +3518,7 @@
}
break;
- case 107:
+ case 108:
{
VERTEX_ONLY("invariant declaration", (yyvsp[(1) - (2)].lex).line);
@@ -3530,7 +3540,7 @@
}
break;
- case 108:
+ case 109:
{
(yyval.interm.type) = (yyvsp[(1) - (1)].interm.type);
@@ -3543,14 +3553,14 @@
}
break;
- case 109:
+ case 110:
{
(yyval.interm.type) = context->addFullySpecifiedType((yyvsp[(1) - (2)].interm.type).qualifier, (yyvsp[(1) - (2)].interm.type).layoutQualifier, (yyvsp[(2) - (2)].interm.type));
}
break;
- case 110:
+ case 111:
{
(yyval.interm.type).qualifier = EvqSmooth;
@@ -3558,7 +3568,7 @@
}
break;
- case 111:
+ case 112:
{
(yyval.interm.type).qualifier = EvqFlat;
@@ -3566,14 +3576,14 @@
}
break;
- case 112:
+ case 113:
{
(yyval.interm.qualifier) = EvqConst;
}
break;
- case 113:
+ case 114:
{
VERTEX_ONLY("attribute", (yyvsp[(1) - (1)].lex).line);
@@ -3584,7 +3594,7 @@
}
break;
- case 114:
+ case 115:
{
ES2_ONLY("varying", (yyvsp[(1) - (1)].lex).line);
@@ -3597,7 +3607,7 @@
}
break;
- case 115:
+ case 116:
{
ES2_ONLY("varying", (yyvsp[(1) - (2)].lex).line);
@@ -3610,14 +3620,14 @@
}
break;
- case 116:
+ case 117:
{
(yyval.interm.type).setBasic(EbtVoid, (yyvsp[(1) - (1)].interm.type).qualifier, (yyvsp[(1) - (1)].interm.type).line);
}
break;
- case 117:
+ case 118:
{
if ((yyvsp[(2) - (2)].interm.type).qualifier == EvqSmoothIn) {
@@ -3657,7 +3667,7 @@
}
break;
- case 118:
+ case 119:
{
context->error((yyvsp[(1) - (1)].interm.type).line, "interpolation qualifier requires a fragment 'in' or vertex 'out' storage qualifier", getInterpolationString((yyvsp[(1) - (1)].interm.type).qualifier));
@@ -3668,7 +3678,7 @@
}
break;
- case 119:
+ case 120:
{
(yyval.interm.type).qualifier = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
@@ -3676,7 +3686,7 @@
}
break;
- case 120:
+ case 121:
{
(yyval.interm.type).setBasic(EbtVoid, (yyvsp[(2) - (2)].interm.type).qualifier, (yyvsp[(2) - (2)].interm.type).line);
@@ -3684,7 +3694,7 @@
}
break;
- case 121:
+ case 122:
{
(yyval.interm.type).qualifier = EvqConst;
@@ -3692,7 +3702,7 @@
}
break;
- case 122:
+ case 123:
{
ES3_ONLY("in", (yyvsp[(1) - (1)].lex).line, "storage qualifier");
@@ -3701,7 +3711,7 @@
}
break;
- case 123:
+ case 124:
{
ES3_ONLY("out", (yyvsp[(1) - (1)].lex).line, "storage qualifier");
@@ -3710,7 +3720,7 @@
}
break;
- case 124:
+ case 125:
{
ES3_ONLY("centroid in", (yyvsp[(1) - (2)].lex).line, "storage qualifier");
@@ -3724,7 +3734,7 @@
}
break;
- case 125:
+ case 126:
{
ES3_ONLY("centroid out", (yyvsp[(1) - (2)].lex).line, "storage qualifier");
@@ -3738,7 +3748,7 @@
}
break;
- case 126:
+ case 127:
{
if (context->globalErrorCheck((yyvsp[(1) - (1)].lex).line, context->symbolTable.atGlobalLevel(), "uniform"))
@@ -3748,7 +3758,7 @@
}
break;
- case 127:
+ case 128:
{
(yyval.interm.type) = (yyvsp[(1) - (1)].interm.type);
@@ -3762,7 +3772,7 @@
}
break;
- case 128:
+ case 129:
{
(yyval.interm.type) = (yyvsp[(2) - (2)].interm.type);
@@ -3770,28 +3780,28 @@
}
break;
- case 129:
+ case 130:
{
(yyval.interm.precision) = EbpHigh;
}
break;
- case 130:
+ case 131:
{
(yyval.interm.precision) = EbpMedium;
}
break;
- case 131:
+ case 132:
{
(yyval.interm.precision) = EbpLow;
}
break;
- case 132:
+ case 133:
{
ES3_ONLY("layout", (yyvsp[(1) - (4)].lex).line, "qualifier");
@@ -3799,31 +3809,24 @@
}
break;
- case 133:
+ case 134:
{
(yyval.interm.layoutQualifier) = (yyvsp[(1) - (1)].interm.layoutQualifier);
}
break;
- case 134:
+ case 135:
{
(yyval.interm.layoutQualifier) = context->joinLayoutQualifiers((yyvsp[(1) - (3)].interm.layoutQualifier), (yyvsp[(3) - (3)].interm.layoutQualifier));
}
break;
- case 135:
-
- {
- (yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[(1) - (1)].lex).string, (yyvsp[(1) - (1)].lex).line);
- }
- break;
-
case 136:
{
- (yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[(1) - (3)].lex).string, (yyvsp[(1) - (3)].lex).line, *(yyvsp[(3) - (3)].lex).string, (yyvsp[(3) - (3)].lex).i, (yyvsp[(3) - (3)].lex).line);
+ (yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[(1) - (1)].lex).string, (yyvsp[(1) - (1)].lex).line);
}
break;
@@ -3837,13 +3840,20 @@
case 138:
{
- (yyval.interm.type) = (yyvsp[(1) - (1)].interm.type);
+ (yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[(1) - (3)].lex).string, (yyvsp[(1) - (3)].lex).line, *(yyvsp[(3) - (3)].lex).string, (yyvsp[(3) - (3)].lex).i, (yyvsp[(3) - (3)].lex).line);
}
break;
case 139:
{
+ (yyval.interm.type) = (yyvsp[(1) - (1)].interm.type);
+ }
+ break;
+
+ case 140:
+
+ {
(yyval.interm.type) = (yyvsp[(1) - (4)].interm.type);
if (context->arrayTypeErrorCheck((yyvsp[(2) - (4)].lex).line, (yyvsp[(1) - (4)].interm.type)))
@@ -3857,7 +3867,7 @@
}
break;
- case 140:
+ case 141:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
@@ -3865,19 +3875,11 @@
}
break;
- case 141:
-
- {
- TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
- }
- break;
-
case 142:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtInt, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
}
break;
@@ -3885,7 +3887,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtUInt, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setBasic(EbtInt, qual, (yyvsp[(1) - (1)].lex).line);
}
break;
@@ -3893,7 +3895,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setBasic(EbtUInt, qual, (yyvsp[(1) - (1)].lex).line);
}
break;
@@ -3901,8 +3903,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(2);
+ (yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
}
break;
@@ -3911,7 +3912,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(3);
+ (yyval.interm.type).setAggregate(2);
}
break;
@@ -3920,7 +3921,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(4);
+ (yyval.interm.type).setAggregate(3);
}
break;
@@ -3928,8 +3929,8 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(2);
+ (yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setAggregate(4);
}
break;
@@ -3938,7 +3939,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(3);
+ (yyval.interm.type).setAggregate(2);
}
break;
@@ -3947,7 +3948,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(4);
+ (yyval.interm.type).setAggregate(3);
}
break;
@@ -3955,8 +3956,8 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtInt, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(2);
+ (yyval.interm.type).setBasic(EbtBool, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setAggregate(4);
}
break;
@@ -3965,7 +3966,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtInt, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(3);
+ (yyval.interm.type).setAggregate(2);
}
break;
@@ -3974,7 +3975,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtInt, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(4);
+ (yyval.interm.type).setAggregate(3);
}
break;
@@ -3982,8 +3983,8 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtUInt, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(2);
+ (yyval.interm.type).setBasic(EbtInt, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setAggregate(4);
}
break;
@@ -3992,7 +3993,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtUInt, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(3);
+ (yyval.interm.type).setAggregate(2);
}
break;
@@ -4001,13 +4002,22 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtUInt, qual, (yyvsp[(1) - (1)].lex).line);
- (yyval.interm.type).setAggregate(4);
+ (yyval.interm.type).setAggregate(3);
}
break;
case 157:
{
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtUInt, qual, (yyvsp[(1) - (1)].lex).line);
+ (yyval.interm.type).setAggregate(4);
+ }
+ break;
+
+ case 158:
+
+ {
FRAG_VERT_ONLY("mat2", (yyvsp[(1) - (1)].lex).line);
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yyvsp[(1) - (1)].lex).line);
@@ -4015,7 +4025,7 @@
}
break;
- case 158:
+ case 159:
{
FRAG_VERT_ONLY("mat3", (yyvsp[(1) - (1)].lex).line);
@@ -4025,7 +4035,7 @@
}
break;
- case 159:
+ case 160:
{
FRAG_VERT_ONLY("mat4", (yyvsp[(1) - (1)].lex).line);
@@ -4035,7 +4045,7 @@
}
break;
- case 160:
+ case 161:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
@@ -4044,7 +4054,7 @@
}
break;
- case 161:
+ case 162:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
@@ -4053,7 +4063,7 @@
}
break;
- case 162:
+ case 163:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
@@ -4062,7 +4072,7 @@
}
break;
- case 163:
+ case 164:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
@@ -4071,7 +4081,7 @@
}
break;
- case 164:
+ case 165:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
@@ -4080,7 +4090,7 @@
}
break;
- case 165:
+ case 166:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
@@ -4089,7 +4099,7 @@
}
break;
- case 166:
+ case 167:
{
FRAG_VERT_ONLY("sampler2D", (yyvsp[(1) - (1)].lex).line);
@@ -4098,7 +4108,7 @@
}
break;
- case 167:
+ case 168:
{
FRAG_VERT_ONLY("samplerCube", (yyvsp[(1) - (1)].lex).line);
@@ -4107,7 +4117,7 @@
}
break;
- case 168:
+ case 169:
{
if (!context->supportsExtension("GL_OES_EGL_image_external")) {
@@ -4120,7 +4130,7 @@
}
break;
- case 169:
+ case 170:
{
if (!context->supportsExtension("GL_ARB_texture_rectangle")) {
@@ -4133,7 +4143,7 @@
}
break;
- case 170:
+ case 171:
{
FRAG_VERT_ONLY("struct", (yyvsp[(1) - (1)].interm.type).line);
@@ -4142,7 +4152,7 @@
}
break;
- case 171:
+ case 172:
{
//
@@ -4156,38 +4166,38 @@
}
break;
- case 172:
+ case 173:
{ if (context->enterStructDeclaration((yyvsp[(2) - (3)].lex).line, *(yyvsp[(2) - (3)].lex).string)) context->recover(); }
break;
- case 173:
+ case 174:
{
(yyval.interm.type) = context->addStructure((yyvsp[(1) - (6)].lex).line, (yyvsp[(2) - (6)].lex).line, *(yyvsp[(2) - (6)].lex).string, (yyvsp[(5) - (6)].interm.typeList));
}
break;
- case 174:
+ case 175:
{ if (context->enterStructDeclaration((yyvsp[(2) - (2)].lex).line, *(yyvsp[(2) - (2)].lex).string)) context->recover(); }
break;
- case 175:
+ case 176:
{
(yyval.interm.type) = context->addStructure((yyvsp[(1) - (5)].lex).line, 0, "", (yyvsp[(4) - (5)].interm.typeList));
}
break;
- case 176:
+ case 177:
{
(yyval.interm.typeList) = (yyvsp[(1) - (1)].interm.typeList);
}
break;
- case 177:
+ case 178:
{
(yyval.interm.typeList) = (yyvsp[(1) - (2)].interm.typeList);
@@ -4203,14 +4213,14 @@
}
break;
- case 178:
+ case 179:
{
(yyval.interm.typeList) = context->addStructDeclaratorList((yyvsp[(1) - (3)].interm.type), (yyvsp[(2) - (3)].interm.typeList));
}
break;
- case 179:
+ case 180:
{
// ES3 Only, but errors should be handled elsewhere
@@ -4220,7 +4230,7 @@
}
break;
- case 180:
+ case 181:
{
(yyval.interm.typeList) = NewPoolTTypeList();
@@ -4228,14 +4238,14 @@
}
break;
- case 181:
+ case 182:
{
(yyval.interm.typeList)->push_back((yyvsp[(3) - (3)].interm.typeLine));
}
break;
- case 182:
+ case 183:
{
if (context->reservedErrorCheck((yyvsp[(1) - (1)].lex).line, *(yyvsp[(1) - (1)].lex).string))
@@ -4247,7 +4257,7 @@
}
break;
- case 183:
+ case 184:
{
if (context->reservedErrorCheck((yyvsp[(1) - (4)].lex).line, *(yyvsp[(1) - (4)].lex).string))
@@ -4264,24 +4274,19 @@
}
break;
- case 184:
+ case 185:
{ (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); }
break;
- case 185:
-
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
- break;
-
case 186:
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermAggregate); }
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 187:
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermAggregate); }
break;
case 188:
@@ -4311,21 +4316,26 @@
case 193:
- { (yyval.interm.intermAggregate) = 0; }
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 194:
- { context->symbolTable.push(); }
+ { (yyval.interm.intermAggregate) = 0; }
break;
case 195:
- { context->symbolTable.pop(); }
+ { context->symbolTable.push(); }
break;
case 196:
+ { context->symbolTable.pop(); }
+ break;
+
+ case 197:
+
{
if ((yyvsp[(3) - (5)].interm.intermAggregate) != 0) {
(yyvsp[(3) - (5)].interm.intermAggregate)->setOp(EOpSequence);
@@ -4335,11 +4345,6 @@
}
break;
- case 197:
-
- { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
- break;
-
case 198:
{ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
@@ -4347,32 +4352,37 @@
case 199:
- { context->symbolTable.push(); }
+ { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); }
break;
case 200:
- { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
+ { context->symbolTable.push(); }
break;
case 201:
- { context->symbolTable.push(); }
+ { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
break;
case 202:
- { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
+ { context->symbolTable.push(); }
break;
case 203:
+ { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); }
+ break;
+
+ case 204:
+
{
(yyval.interm.intermNode) = 0;
}
break;
- case 204:
+ case 205:
{
if ((yyvsp[(2) - (3)].interm.intermAggregate)) {
@@ -4383,31 +4393,31 @@
}
break;
- case 205:
+ case 206:
{
(yyval.interm.intermAggregate) = context->intermediate.makeAggregate((yyvsp[(1) - (1)].interm.intermNode), 0);
}
break;
- case 206:
+ case 207:
{
(yyval.interm.intermAggregate) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermAggregate), (yyvsp[(2) - (2)].interm.intermNode), 0);
}
break;
- case 207:
+ case 208:
{ (yyval.interm.intermNode) = 0; }
break;
- case 208:
+ case 209:
{ (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[(1) - (2)].interm.intermTypedNode)); }
break;
- case 209:
+ case 210:
{
if (context->boolErrorCheck((yyvsp[(1) - (5)].lex).line, (yyvsp[(3) - (5)].interm.intermTypedNode)))
@@ -4416,7 +4426,7 @@
}
break;
- case 210:
+ case 211:
{
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermNode);
@@ -4424,7 +4434,7 @@
}
break;
- case 211:
+ case 212:
{
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (1)].interm.intermNode);
@@ -4432,7 +4442,7 @@
}
break;
- case 212:
+ case 213:
{
(yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
@@ -4441,7 +4451,7 @@
}
break;
- case 213:
+ case 214:
{
TIntermNode* intermNode;
@@ -4459,12 +4469,12 @@
}
break;
- case 214:
+ case 215:
{ context->symbolTable.push(); ++context->loopNestingLevel; }
break;
- case 215:
+ case 216:
{
context->symbolTable.pop();
@@ -4473,12 +4483,12 @@
}
break;
- case 216:
+ case 217:
{ ++context->loopNestingLevel; }
break;
- case 217:
+ case 218:
{
if (context->boolErrorCheck((yyvsp[(8) - (8)].lex).line, (yyvsp[(6) - (8)].interm.intermTypedNode)))
@@ -4489,24 +4499,17 @@
}
break;
- case 218:
-
- { context->symbolTable.push(); ++context->loopNestingLevel; }
- break;
-
case 219:
- {
- context->symbolTable.pop();
- (yyval.interm.intermNode) = context->intermediate.addLoop(ELoopFor, (yyvsp[(4) - (7)].interm.intermNode), reinterpret_cast<TIntermTyped*>((yyvsp[(5) - (7)].interm.nodePair).node1), reinterpret_cast<TIntermTyped*>((yyvsp[(5) - (7)].interm.nodePair).node2), (yyvsp[(7) - (7)].interm.intermNode), (yyvsp[(1) - (7)].lex).line);
- --context->loopNestingLevel;
- }
+ { context->symbolTable.push(); ++context->loopNestingLevel; }
break;
case 220:
{
- (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
+ context->symbolTable.pop();
+ (yyval.interm.intermNode) = context->intermediate.addLoop(ELoopFor, (yyvsp[(4) - (7)].interm.intermNode), reinterpret_cast<TIntermTyped*>((yyvsp[(5) - (7)].interm.nodePair).node1), reinterpret_cast<TIntermTyped*>((yyvsp[(5) - (7)].interm.nodePair).node2), (yyvsp[(7) - (7)].interm.intermNode), (yyvsp[(1) - (7)].lex).line);
+ --context->loopNestingLevel;
}
break;
@@ -4520,26 +4523,33 @@
case 222:
{
- (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
+ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
}
break;
case 223:
{
- (yyval.interm.intermTypedNode) = 0;
+ (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode);
}
break;
case 224:
{
+ (yyval.interm.intermTypedNode) = 0;
+ }
+ break;
+
+ case 225:
+
+ {
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (2)].interm.intermTypedNode);
(yyval.interm.nodePair).node2 = 0;
}
break;
- case 225:
+ case 226:
{
(yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermTypedNode);
@@ -4547,7 +4557,7 @@
}
break;
- case 226:
+ case 227:
{
if (context->loopNestingLevel <= 0) {
@@ -4558,7 +4568,7 @@
}
break;
- case 227:
+ case 228:
{
if (context->loopNestingLevel <= 0) {
@@ -4569,7 +4579,7 @@
}
break;
- case 228:
+ case 229:
{
(yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(1) - (2)].lex).line);
@@ -4580,7 +4590,7 @@
}
break;
- case 229:
+ case 230:
{
(yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(2) - (3)].interm.intermTypedNode), (yyvsp[(1) - (3)].lex).line);
@@ -4595,7 +4605,7 @@
}
break;
- case 230:
+ case 231:
{
FRAG_ONLY("discard", (yyvsp[(1) - (2)].lex).line);
@@ -4603,18 +4613,10 @@
}
break;
- case 231:
-
- {
- (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
- context->treeRoot = (yyval.interm.intermNode);
- }
- break;
-
case 232:
{
- (yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermNode), (yyvsp[(2) - (2)].interm.intermNode), 0);
+ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
context->treeRoot = (yyval.interm.intermNode);
}
break;
@@ -4622,7 +4624,8 @@
case 233:
{
- (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
+ (yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermNode), (yyvsp[(2) - (2)].interm.intermNode), 0);
+ context->treeRoot = (yyval.interm.intermNode);
}
break;
@@ -4636,6 +4639,13 @@
case 235:
{
+ (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode);
+ }
+ break;
+
+ case 236:
+
+ {
TFunction* function = (yyvsp[(1) - (1)].interm).function;
const TSymbol *builtIn = context->symbolTable.findBuiltIn(function->getMangledName(), context->shaderVersion);
@@ -4722,7 +4732,7 @@
}
break;
- case 236:
+ case 237:
{
//?? Check that all paths return a value if return type != void ?