Add support for parsing ESSL3 invariant qualifiers
The parser recognizes ESSL3 invariant variable declaration syntax and
marks the variables as invariant.
In ESSL3, invariant out variables can be linked to non-invariant
in variables, so linking checks should now be different depending on
shading language version. A shading language version dependent varying
matching check is added to the translator API to facilitate this.
Tested by deqp/data/gles3/shaders/qualification_order.html after patching
Chrome to use the new linking check API.
A previous revision of this change that broke API compatibility was
reverted since it broke Chromium FYI bots. This revision keeps deprecated
API functionality around for now so that changes can be rolled
step-by-step to Chromium without breakage.
TEST=WebGL 2 conformance tests, angle_unittests
BUG=angleproject:987
Change-Id: Iecb64e3afd23e267ba999bc17f44390affcdfc13
Reviewed-on: https://chromium-review.googlesource.com/269940
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/compiler/translator/ParseContext.cpp b/src/compiler/translator/ParseContext.cpp
index aa347db..89ae6ff 100644
--- a/src/compiler/translator/ParseContext.cpp
+++ b/src/compiler/translator/ParseContext.cpp
@@ -12,6 +12,7 @@
#include "compiler/preprocessor/SourceLocation.h"
#include "compiler/translator/glslang.h"
#include "compiler/translator/ValidateSwitch.h"
+#include "compiler/translator/util.h"
///////////////////////////////////////////////////////////////////////
//
@@ -969,6 +970,15 @@
return false;
}
+void TParseContext::es3InvariantErrorCheck(const TQualifier qualifier, const TSourceLoc &invariantLocation)
+{
+ if (!sh::IsVaryingOut(qualifier) && qualifier != EvqFragmentOut)
+ {
+ error(invariantLocation, "Only out variables can be invariant.", "invariant");
+ recover();
+ }
+}
+
bool TParseContext::supportsExtension(const char* extension)
{
const TExtensionBehavior& extbehavior = extensionBehavior();
diff --git a/src/compiler/translator/ParseContext.h b/src/compiler/translator/ParseContext.h
index 6952a08..e08e50a 100644
--- a/src/compiler/translator/ParseContext.h
+++ b/src/compiler/translator/ParseContext.h
@@ -110,6 +110,7 @@
bool singleDeclarationErrorCheck(TPublicType &publicType, const TSourceLoc &identifierLocation);
bool layoutLocationErrorCheck(const TSourceLoc& location, const TLayoutQualifier &layoutQualifier);
bool functionCallLValueErrorCheck(const TFunction *fnCandidate, TIntermAggregate *);
+ void es3InvariantErrorCheck(const TQualifier qualifier, const TSourceLoc &invariantLocation);
const TPragma& pragma() const { return directiveHandler.pragma(); }
const TExtensionBehavior& extensionBehavior() const { return directiveHandler.extensionBehavior(); }
diff --git a/src/compiler/translator/ShaderVars.cpp b/src/compiler/translator/ShaderVars.cpp
index 590655f..a3fe633 100644
--- a/src/compiler/translator/ShaderVars.cpp
+++ b/src/compiler/translator/ShaderVars.cpp
@@ -305,9 +305,14 @@
bool Varying::isSameVaryingAtLinkTime(const Varying &other) const
{
+ return isSameVaryingAtLinkTime(other, 100);
+}
+
+bool Varying::isSameVaryingAtLinkTime(const Varying &other, int shaderVersion) const
+{
return (ShaderVariable::isSameVariableAtLinkTime(other, false) &&
interpolation == other.interpolation &&
- isInvariant == other.isInvariant);
+ (shaderVersion >= 300 || isInvariant == other.isInvariant));
}
InterfaceBlock::InterfaceBlock()
diff --git a/src/compiler/translator/glslang.y b/src/compiler/translator/glslang.y
index 298cf56..fef2e08 100644
--- a/src/compiler/translator/glslang.y
+++ b/src/compiler/translator/glslang.y
@@ -1012,6 +1012,16 @@
$$.setBasic(EbtVoid, $2.qualifier, @2);
$$.layoutQualifier = $1;
}
+ | INVARIANT storage_qualifier {
+ context->es3InvariantErrorCheck($2.qualifier, @1);
+ $$.setBasic(EbtVoid, $2.qualifier, @2);
+ $$.invariant = true;
+ }
+ | INVARIANT interpolation_qualifier storage_qualifier {
+ context->es3InvariantErrorCheck($3.qualifier, @1);
+ $$ = context->joinInterpolationQualifiers(@2, $2.qualifier, @3, $3.qualifier);
+ $$.invariant = true;
+ }
;
storage_qualifier
diff --git a/src/compiler/translator/glslang_tab.cpp b/src/compiler/translator/glslang_tab.cpp
index 52d8409..75f5644 100644
--- a/src/compiler/translator/glslang_tab.cpp
+++ b/src/compiler/translator/glslang_tab.cpp
@@ -623,18 +623,18 @@
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 114
+#define YYFINAL 116
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2523
+#define YYLAST 2516
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 128
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 94
/* YYNRULES -- Number of rules. */
-#define YYNRULES 273
+#define YYNRULES 275
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 414
+#define YYNSTATES 417
/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
by yylex, with out-of-bounds checking. */
@@ -706,21 +706,21 @@
760, 781, 791, 819, 824, 834, 839, 849, 852, 855,
858, 864, 871, 874, 878, 882, 887, 892, 899, 903,
907, 911, 916, 921, 925, 932, 942, 948, 951, 957,
- 963, 970, 979, 989, 997, 1000, 1007, 1011, 1018, 1021,
- 1025, 1029, 1038, 1047, 1055, 1065, 1077, 1080, 1083, 1089,
- 1096, 1099, 1105, 1108, 1111, 1117, 1120, 1125, 1140, 1144,
- 1148, 1152, 1156, 1160, 1165, 1170, 1175, 1180, 1185, 1190,
+ 963, 970, 979, 989, 997, 1000, 1007, 1011, 1015, 1020,
+ 1028, 1031, 1035, 1039, 1048, 1057, 1065, 1075, 1087, 1090,
+ 1093, 1099, 1106, 1109, 1115, 1118, 1121, 1127, 1130, 1135,
+ 1150, 1154, 1158, 1162, 1166, 1170, 1175, 1180, 1185, 1190,
1195, 1200, 1205, 1210, 1215, 1220, 1225, 1230, 1235, 1240,
- 1245, 1250, 1255, 1260, 1265, 1269, 1273, 1277, 1281, 1285,
- 1289, 1293, 1297, 1301, 1305, 1309, 1313, 1317, 1321, 1325,
- 1333, 1341, 1345, 1358, 1358, 1361, 1361, 1367, 1370, 1386,
- 1389, 1398, 1402, 1408, 1415, 1430, 1434, 1438, 1439, 1445,
- 1446, 1447, 1448, 1449, 1450, 1451, 1455, 1456, 1456, 1456,
- 1466, 1467, 1471, 1471, 1472, 1472, 1477, 1480, 1490, 1493,
- 1499, 1500, 1504, 1512, 1516, 1523, 1523, 1530, 1533, 1540,
- 1545, 1560, 1560, 1565, 1565, 1572, 1572, 1580, 1583, 1589,
- 1592, 1598, 1602, 1609, 1612, 1615, 1618, 1621, 1630, 1634,
- 1641, 1644, 1650, 1650
+ 1245, 1250, 1255, 1260, 1265, 1270, 1275, 1279, 1283, 1287,
+ 1291, 1295, 1299, 1303, 1307, 1311, 1315, 1319, 1323, 1327,
+ 1331, 1335, 1343, 1351, 1355, 1368, 1368, 1371, 1371, 1377,
+ 1380, 1396, 1399, 1408, 1412, 1418, 1425, 1440, 1444, 1448,
+ 1449, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1465, 1466,
+ 1466, 1466, 1476, 1477, 1481, 1481, 1482, 1482, 1487, 1490,
+ 1500, 1503, 1509, 1510, 1514, 1522, 1526, 1533, 1533, 1540,
+ 1543, 1550, 1555, 1570, 1570, 1575, 1575, 1582, 1582, 1590,
+ 1593, 1599, 1602, 1608, 1612, 1619, 1622, 1625, 1628, 1631,
+ 1640, 1644, 1651, 1654, 1660, 1660
};
#endif
@@ -809,12 +809,12 @@
};
# endif
-#define YYPACT_NINF -347
+#define YYPACT_NINF -361
#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-347)))
+ (!!((Yystate) == (-361)))
-#define YYTABLE_NINF -233
+#define YYTABLE_NINF -235
#define yytable_value_is_error(Yytable_value) \
0
@@ -823,48 +823,48 @@
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 2161, -4, -347, -347, -347, 142, -347, -347, -347, -347,
- -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
- -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
- -347, -347, -347, -347, -347, -347, -347, -3, -347, -347,
- -58, -347, -347, -347, -347, -347, -347, -347, -347, -347,
- -347, -347, -347, -347, -347, -347, -347, -347, -347, -57,
- -347, -347, -38, -63, -55, 3, -50, -347, 84, 11,
- 1180, -347, -347, 2446, 11, -347, -40, -347, 2086, -347,
- -347, -347, -347, 2446, -347, -347, -347, -347, -347, -23,
- 31, -347, 35, -347, 78, -347, -347, -347, -347, -347,
- 2310, 132, 106, -347, 7, -27, -347, 60, -347, 2236,
- -347, -347, -347, 1250, -347, -347, -33, 2236, -347, 17,
- -72, -347, 408, -347, -347, -347, -347, 106, 2310, -24,
- -347, 1348, 1639, -347, 79, 2310, 106, 1831, -347, 71,
- -347, -347, -347, -347, -347, 1639, 1639, 1639, -347, -347,
- -347, -347, -347, -347, -347, 19, -347, -347, -347, 73,
- -21, 1734, 89, -347, 1639, 66, 72, 108, -64, 50,
- 81, 74, 87, 114, 123, -62, -347, 110, -347, -347,
- 1916, 2236, 116, -347, 31, 104, 105, -347, 117, 118,
- 109, 1446, 120, 1639, 113, 122, 111, -347, -347, 56,
- -347, -347, -13, -347, -38, 125, -347, -347, -347, -347,
- 524, -347, -347, -347, -347, -347, -347, 124, -347, -347,
- 1541, 1639, 119, 127, -347, -347, 106, 129, -8, -347,
- -66, -347, -347, -347, -9, -347, -347, 1639, 2378, -347,
- -347, 1639, 131, -347, -347, -347, 1639, 1639, 1639, 1639,
- 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639,
- 1639, 1639, 1639, 1639, 1639, 1639, -347, -347, 2001, -347,
- -347, -347, -347, -347, 133, -347, 1639, -347, -347, 20,
- 1639, 128, -347, -347, -347, 640, -347, -347, -347, -347,
- -347, -347, -347, -347, -347, -347, -347, 1639, 1639, -347,
- -347, -347, 1639, 126, 135, -347, 1639, 130, 22, 1639,
- 106, -347, -78, -347, -347, 138, 136, -347, 145, -347,
- -347, -347, -347, -347, 66, 66, 72, 72, 108, 108,
- 108, 108, -64, -64, 50, 81, 74, 87, 114, 123,
- 86, -347, 190, 35, 872, 988, 5, -347, 10, -347,
- 1085, 640, -347, -347, 143, 1639, 139, -347, 1639, -347,
- 144, -347, 1639, -347, -347, 1639, 149, -347, -347, -347,
- -347, 1085, 133, -347, 136, 106, 2310, 152, 150, -347,
- -347, 1639, -347, -347, 151, -347, 1639, -347, 146, 157,
- 246, -347, 156, 154, 756, -347, -347, 155, 21, 1639,
- 756, 133, -347, 1639, -347, -347, -347, -347, 158, 136,
- -347, -347, -347, -347
+ 2154, 224, -361, -361, -361, 130, -361, -361, -361, -361,
+ -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
+ -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
+ -361, -361, -361, -361, -361, -361, -361, 145, -361, -361,
+ -46, -361, -361, -361, -361, -361, -361, -361, -361, -361,
+ -361, -361, -361, -361, -361, -361, -361, -361, -361, -82,
+ -361, -361, -68, -41, -45, 9, 7, -361, 117, 16,
+ 1173, -361, -361, 2439, 16, -361, -9, -361, 2079, -361,
+ -361, -361, -361, 16, -361, 2439, -361, -361, -361, -361,
+ -361, -31, 23, -361, 11, -361, 63, -361, -361, -361,
+ -361, -361, 2303, 168, 120, -361, 13, -66, -361, 31,
+ -361, 2229, -361, -361, -361, 1243, -361, -361, -361, 56,
+ 2229, -361, 17, -50, -361, 401, -361, -361, -361, -361,
+ 120, 2303, -18, -361, 1341, 1632, -361, 179, 2303, 120,
+ 1824, -361, 70, -361, -361, -361, -361, -361, 1632, 1632,
+ 1632, -361, -361, -361, -361, -361, -361, -361, 22, -361,
+ -361, -361, 101, -29, 1727, 114, -361, 1632, 96, -97,
+ 128, -54, 111, 118, 102, 115, 154, 153, -69, -361,
+ 140, -361, -361, 1909, 2229, 124, -361, 23, 134, 136,
+ -361, 147, 149, 143, 1439, 155, 1632, 148, 157, 160,
+ -361, -361, 184, -361, -361, 52, -361, -68, 158, -361,
+ -361, -361, -361, 517, -361, -361, -361, -361, -361, -361,
+ 166, -361, -361, 1534, 1632, 150, 159, -361, -361, 120,
+ 167, 61, -361, -62, -361, -361, -361, -5, -361, -361,
+ 1632, 2371, -361, -361, 1632, 185, -361, -361, -361, 1632,
+ 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632,
+ 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, -361,
+ -361, 1994, -361, -361, -361, -361, -361, 181, -361, 1632,
+ -361, -361, 67, 1632, 180, -361, -361, -361, 633, -361,
+ -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
+ 1632, 1632, -361, -361, -361, 1632, 178, 186, -361, 1632,
+ 182, 68, 1632, 120, -361, -71, -361, -361, 187, 188,
+ -361, 192, -361, -361, -361, -361, -361, 96, 96, -97,
+ -97, 128, 128, 128, 128, -54, -54, 111, 118, 102,
+ 115, 154, 153, 113, -361, 242, 11, 865, 981, 4,
+ -361, 18, -361, 1078, 633, -361, -361, 194, 1632, 189,
+ -361, 1632, -361, 196, -361, 1632, -361, -361, 1632, 200,
+ -361, -361, -361, -361, 1078, 181, -361, 188, 120, 2303,
+ 201, 198, -361, -361, 1632, -361, -361, 202, -361, 1632,
+ -361, 191, 203, 293, -361, 204, 205, 749, -361, -361,
+ 197, 60, 1632, 749, 181, -361, 1632, -361, -361, -361,
+ -361, 199, 188, -361, -361, -361, -361
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -872,78 +872,78 @@
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
- 0, 0, 146, 147, 148, 0, 130, 138, 162, 159,
- 160, 161, 166, 167, 168, 169, 170, 171, 163, 164,
- 165, 172, 173, 174, 175, 176, 177, 139, 140, 143,
- 131, 178, 179, 180, 181, 182, 183, 0, 128, 127,
- 0, 158, 184, 186, 199, 200, 187, 188, 189, 190,
- 191, 192, 193, 194, 195, 185, 196, 197, 198, 0,
- 202, 271, 272, 0, 97, 107, 0, 112, 118, 135,
- 0, 133, 125, 0, 136, 144, 155, 201, 0, 268,
- 270, 132, 124, 0, 141, 142, 2, 3, 205, 0,
- 0, 88, 0, 95, 107, 129, 108, 109, 110, 98,
- 0, 107, 0, 89, 2, 119, 134, 0, 94, 0,
- 126, 145, 137, 0, 1, 269, 0, 0, 203, 152,
- 0, 150, 0, 273, 99, 104, 106, 111, 0, 113,
- 100, 0, 0, 87, 0, 0, 0, 0, 207, 4,
- 8, 6, 7, 9, 30, 0, 0, 0, 156, 37,
- 36, 38, 35, 5, 11, 31, 13, 18, 19, 0,
- 0, 24, 0, 39, 0, 43, 46, 49, 54, 57,
- 59, 61, 63, 65, 67, 69, 86, 0, 28, 90,
- 0, 0, 0, 149, 0, 0, 0, 253, 0, 0,
- 0, 0, 0, 0, 0, 0, 227, 236, 240, 39,
- 71, 84, 0, 216, 0, 144, 219, 238, 218, 217,
- 0, 220, 221, 222, 223, 224, 225, 101, 103, 105,
- 0, 0, 0, 0, 215, 123, 0, 213, 0, 211,
- 0, 208, 32, 33, 0, 15, 16, 0, 0, 22,
- 21, 0, 158, 25, 27, 34, 0, 0, 0, 0,
+ 0, 0, 148, 149, 150, 0, 130, 140, 164, 161,
+ 162, 163, 168, 169, 170, 171, 172, 173, 165, 166,
+ 167, 174, 175, 176, 177, 178, 179, 141, 142, 145,
+ 131, 180, 181, 182, 183, 184, 185, 0, 128, 127,
+ 0, 160, 186, 188, 201, 202, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, 187, 198, 199, 200, 0,
+ 204, 273, 274, 0, 97, 107, 0, 112, 118, 135,
+ 0, 133, 125, 0, 136, 146, 157, 203, 0, 270,
+ 272, 132, 124, 0, 138, 0, 143, 144, 2, 3,
+ 207, 0, 0, 88, 0, 95, 107, 129, 108, 109,
+ 110, 98, 0, 107, 0, 89, 2, 119, 134, 0,
+ 94, 0, 126, 147, 137, 0, 1, 271, 139, 0,
+ 0, 205, 154, 0, 152, 0, 275, 99, 104, 106,
+ 111, 0, 113, 100, 0, 0, 87, 0, 0, 0,
+ 0, 209, 4, 8, 6, 7, 9, 30, 0, 0,
+ 0, 158, 37, 36, 38, 35, 5, 11, 31, 13,
+ 18, 19, 0, 0, 24, 0, 39, 0, 43, 46,
+ 49, 54, 57, 59, 61, 63, 65, 67, 69, 86,
+ 0, 28, 90, 0, 0, 0, 151, 0, 0, 0,
+ 255, 0, 0, 0, 0, 0, 0, 0, 0, 229,
+ 238, 242, 39, 71, 84, 0, 218, 0, 146, 221,
+ 240, 220, 219, 0, 222, 223, 224, 225, 226, 227,
+ 101, 103, 105, 0, 0, 0, 0, 217, 123, 0,
+ 215, 0, 213, 0, 210, 32, 33, 0, 15, 16,
+ 0, 0, 22, 21, 0, 160, 25, 27, 34, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 157, 206, 0, 153,
- 154, 151, 264, 263, 234, 255, 0, 267, 265, 0,
- 0, 0, 248, 251, 226, 0, 74, 75, 77, 76,
- 79, 80, 81, 82, 83, 78, 73, 0, 0, 241,
- 237, 239, 0, 0, 0, 117, 0, 120, 0, 0,
- 0, 209, 0, 91, 10, 0, 17, 29, 14, 20,
- 26, 40, 41, 42, 45, 44, 47, 48, 52, 53,
- 50, 51, 55, 56, 58, 60, 62, 64, 66, 68,
- 0, 204, 0, 0, 0, 0, 0, 266, 0, 247,
- 0, 228, 72, 85, 0, 0, 114, 121, 0, 210,
- 0, 212, 0, 92, 12, 0, 0, 233, 235, 258,
- 257, 260, 234, 245, 249, 0, 0, 0, 0, 102,
- 115, 0, 122, 214, 0, 70, 0, 259, 0, 0,
- 244, 242, 0, 0, 0, 229, 116, 0, 0, 261,
- 0, 234, 246, 0, 231, 252, 230, 93, 0, 262,
- 256, 243, 250, 254
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 159,
+ 208, 0, 155, 156, 153, 266, 265, 236, 257, 0,
+ 269, 267, 0, 0, 0, 250, 253, 228, 0, 74,
+ 75, 77, 76, 79, 80, 81, 82, 83, 78, 73,
+ 0, 0, 243, 239, 241, 0, 0, 0, 117, 0,
+ 120, 0, 0, 0, 211, 0, 91, 10, 0, 17,
+ 29, 14, 20, 26, 40, 41, 42, 45, 44, 47,
+ 48, 52, 53, 50, 51, 55, 56, 58, 60, 62,
+ 64, 66, 68, 0, 206, 0, 0, 0, 0, 0,
+ 268, 0, 249, 0, 230, 72, 85, 0, 0, 114,
+ 121, 0, 212, 0, 214, 0, 92, 12, 0, 0,
+ 235, 237, 260, 259, 262, 236, 247, 251, 0, 0,
+ 0, 0, 102, 115, 0, 122, 216, 0, 70, 0,
+ 261, 0, 0, 246, 244, 0, 0, 0, 231, 116,
+ 0, 0, 263, 0, 236, 248, 0, 233, 254, 232,
+ 93, 0, 264, 258, 245, 252, 256
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -347, -39, -347, -347, -347, -347, -347, -347, 32, -347,
- -347, -347, -347, 63, -347, -48, -37, -90, -54, 12,
- 14, 16, 18, 23, 9, -347, -96, -127, -347, -138,
- -125, -347, 13, 15, -347, -347, -347, 147, 184, 178,
- 153, -347, -347, -325, -347, -347, -106, -47, -68, 277,
- -347, -347, 100, 0, -347, -347, -347, -347, -101, -123,
- 61, -22, -214, -56, -202, -323, -102, -347, -347, -109,
- -346, -347, -347, -88, 8, -53, -347, -347, -347, -347,
- -347, -77, -347, -347, -347, -347, -347, -347, -347, -347,
- -347, 217, -347, -347
+ -361, -39, -361, -361, -361, -361, -361, -361, 73, -361,
+ -361, -361, -361, -107, -361, -15, -20, -67, -19, 53,
+ 54, 55, 51, 57, 58, -361, -110, -132, -361, -146,
+ -125, -361, 6, 12, -361, -361, -361, 190, 228, 217,
+ 195, -361, -361, -336, 25, -361, -104, 27, -57, 322,
+ -361, -361, 141, 0, -361, -361, -361, -361, -109, -130,
+ 100, 19, -185, -17, -193, -310, -65, -361, -361, -70,
+ -360, -361, -361, -92, 46, -13, -361, -361, -361, -361,
+ -361, -38, -361, -361, -361, -361, -361, -361, -361, -361,
+ -361, 259, -361, -361
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 227, 153, 154, 155, 315, 156, 157, 158, 159,
- 160, 161, 162, 199, 164, 165, 166, 167, 168, 169,
- 170, 171, 172, 173, 174, 175, 200, 201, 297, 202,
- 177, 109, 203, 204, 63, 64, 65, 125, 99, 100,
- 126, 66, 67, 68, 69, 101, 70, 71, 72, 73,
- 74, 120, 121, 178, 76, 77, 181, 117, 137, 138,
- 228, 229, 225, 206, 207, 208, 209, 285, 378, 405,
- 342, 343, 344, 406, 210, 211, 212, 391, 213, 392,
- 214, 377, 215, 350, 274, 345, 371, 388, 389, 216,
- 78, 79, 80, 92
+ -1, 230, 156, 157, 158, 318, 159, 160, 161, 162,
+ 163, 164, 165, 202, 167, 168, 169, 170, 171, 172,
+ 173, 174, 175, 176, 177, 178, 203, 204, 300, 205,
+ 180, 111, 206, 207, 63, 64, 65, 128, 101, 102,
+ 129, 66, 67, 68, 69, 103, 70, 71, 72, 73,
+ 74, 123, 124, 181, 76, 77, 184, 120, 140, 141,
+ 231, 232, 228, 209, 210, 211, 212, 288, 381, 408,
+ 345, 346, 347, 409, 213, 214, 215, 394, 216, 395,
+ 217, 380, 218, 353, 277, 348, 374, 391, 392, 219,
+ 78, 79, 80, 94
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -951,364 +951,372 @@
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 75, 89, 110, 135, 123, 224, 223, 305, 301, 234,
- 312, 135, 95, 61, 231, 62, 180, 176, 86, 87,
- 7, 368, 106, 253, 254, 375, 390, 112, 362, 105,
- 264, 135, 127, 183, 243, 176, 363, 84, 85, 184,
- 81, 136, 93, 96, 97, 98, 375, 90, 313, 136,
- 88, 27, 28, 279, 29, 411, 94, 231, 255, 256,
- 127, 102, 37, 129, 103, 265, 113, 226, 281, 136,
- 75, 404, 82, 111, 135, 135, 91, 404, 75, 131,
- 268, 179, 220, 116, 240, 118, 132, 95, 217, 221,
- 241, 61, 357, 62, 224, 304, 314, 176, 298, 316,
- 75, 299, 298, 310, 235, 236, 311, 119, -96, 75,
- 372, 130, 136, 136, 320, 373, 298, 75, 96, 97,
- 98, 298, 205, 81, 176, 237, 408, 340, 75, 238,
- 182, 298, 298, 310, 347, 75, 359, 75, 346, 257,
- 258, 380, 348, 122, 382, 231, 2, 3, 4, 301,
- 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
- 104, 87, 135, 328, 329, 330, 331, 396, 133, 296,
- 352, 353, 96, 97, 98, -29, 163, 354, 239, 224,
- 75, 75, 86, 87, 360, 246, 247, 248, 249, 412,
- 250, 251, 252, 244, 163, 269, 270, 298, 365, 260,
- 136, 324, 325, 332, 333, 262, 176, 259, 232, 233,
- 205, 261, 374, 176, 326, 327, 263, 266, 272, 273,
- 284, 275, 276, 277, 280, 282, 283, 245, 224, -28,
- 302, 224, 306, 374, 307, 309, -23, 384, 385, 355,
- 349, -232, 356, 358, 376, 364, 366, 298, 398, -30,
- 379, 383, 381, 386, 224, 367, 163, 394, 397, 395,
- 399, 409, 400, 401, 196, 376, 176, 403, 75, 407,
- 319, 334, 413, 339, 335, 218, 224, 336, 124, 128,
- 337, 219, 83, 163, 271, 205, 338, 308, 361, 369,
- 402, 410, 370, 351, 387, 115, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 110, 321,
- 322, 323, 163, 163, 163, 163, 163, 163, 163, 163,
- 163, 163, 163, 163, 163, 163, 163, 163, 0, 0,
- 0, 0, 0, 0, 0, 0, 393, 0, 0, 0,
- 0, 0, 0, 0, 205, 205, 0, 0, 0, 0,
- 205, 205, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 163, 0, 0, 0, 0,
- 0, 205, 163, 0, 0, 0, 75, 0, 0, 0,
+ 75, 91, 126, 227, 237, 179, 61, 138, 166, 226,
+ 234, 183, 62, 112, 315, 393, 138, 378, 97, 252,
+ 304, 253, 92, 267, 179, 7, 83, 166, 84, 107,
+ 88, 89, 246, 256, 257, 365, 138, 371, 378, 308,
+ 134, 235, 236, 366, 414, 130, 93, 135, 282, 98,
+ 99, 100, 316, 234, 139, 186, 27, 28, 268, 29,
+ 248, 187, 90, 139, 95, 132, 96, 37, 258, 259,
+ 75, 284, 97, 113, 130, 271, 243, 121, 75, 138,
+ 138, 229, 244, 139, 61, 119, 179, 407, 223, 166,
+ 62, 220, 227, 407, 319, 224, 108, 115, 307, 122,
+ 317, 114, 75, 98, 99, 100, 301, 238, 239, 375,
+ 118, 75, 323, 179, -96, 301, 166, 133, 104, 125,
+ 75, 105, 343, 376, 360, 208, 139, 139, 240, 301,
+ 185, 75, 241, 349, 2, 3, 4, 351, 75, 136,
+ 75, 234, 324, 325, 326, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 304, 83, 301, 84, 411, 302, 138, 355, 356,
+ 182, 301, 313, 383, -29, 314, 385, 227, 301, 313,
+ 357, 350, 362, 75, 75, 86, 87, 363, 7, 331,
+ 332, 333, 334, 106, 89, 179, 88, 89, 166, 399,
+ 260, 261, 179, 272, 273, 166, 242, 377, 98, 99,
+ 100, 254, 255, 208, 139, 249, 250, 251, 247, 27,
+ 28, 415, 29, 81, 301, 368, 227, 263, 377, 227,
+ 37, 38, 39, 7, 329, 330, 388, 327, 328, 264,
+ 387, 335, 336, 401, 262, 265, 266, 269, 275, 379,
+ 276, 278, 227, 279, 370, 179, 412, 280, 166, 283,
+ 285, 286, -28, 309, 27, 28, 310, 29, 81, 287,
+ 379, 75, 305, 312, 227, 37, 38, 39, 289, 290,
+ 291, 292, 293, 294, 295, 296, 297, 298, 208, -234,
+ -23, 358, 352, 359, 367, 361, -30, 299, 369, 301,
+ 82, 382, 384, 386, 389, 402, 397, 398, 403, 400,
+ 404, 410, 199, 416, 322, 337, 340, 338, 406, 339,
+ 131, 221, 112, 341, 127, 342, 222, 85, 274, 311,
+ 405, 372, 364, 413, 354, 373, 390, 117, 0, 396,
+ 0, 0, 0, 0, 0, 0, 0, 208, 208, 0,
+ 0, 0, 0, 208, 208, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 205, 0, 0, 0, 0, 0,
- 205, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 185, 186, 187, 163, 188, 189, 190, 191,
- 192, 193, 194, 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, 195, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 0,
- 56, 57, 58, 59, 139, 60, 140, 141, 142, 143,
- 144, 0, 0, 145, 146, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 208, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 147, 0, 0, 0, 196, 197, 0, 0,
- 0, 0, 198, 149, 150, 151, 152, 1, 2, 3,
- 4, 5, 6, 7, 8, 9, 10, 11, 185, 186,
- 187, 0, 188, 189, 190, 191, 192, 193, 194, 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,
- 195, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 0, 56, 57, 58, 59,
- 139, 60, 140, 141, 142, 143, 144, 0, 0, 145,
- 146, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 147, 0,
- 0, 0, 196, 300, 0, 0, 0, 0, 198, 149,
- 150, 151, 152, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 185, 186, 187, 0, 188, 189,
- 190, 191, 192, 193, 194, 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, 195, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 0, 56, 57, 58, 59, 139, 60, 140, 141,
- 142, 143, 144, 0, 0, 145, 146, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 208, 0, 0,
+ 0, 0, 0, 208, 1, 2, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 188, 189, 190, 0, 191,
+ 192, 193, 194, 195, 196, 197, 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, 198, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 0, 56, 57, 58, 59, 142, 60, 143,
+ 144, 145, 146, 147, 0, 0, 148, 149, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 147, 0, 0, 0, 196, 0,
- 0, 0, 0, 0, 198, 149, 150, 151, 152, 1,
- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
- 185, 186, 187, 0, 188, 189, 190, 191, 192, 193,
- 194, 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, 195, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 0, 56, 57,
- 58, 59, 139, 60, 140, 141, 142, 143, 144, 0,
- 0, 145, 146, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 150, 0, 0, 0, 199,
+ 200, 0, 0, 0, 0, 201, 152, 153, 154, 155,
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 188, 189, 190, 0, 191, 192, 193, 194, 195,
+ 196, 197, 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, 198, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 0, 56,
+ 57, 58, 59, 142, 60, 143, 144, 145, 146, 147,
+ 0, 0, 148, 149, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 147, 0, 0, 0, 122, 0, 0, 0, 0, 0,
- 198, 149, 150, 151, 152, 1, 2, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, 185, 186, 187, 0,
- 188, 189, 190, 191, 192, 193, 194, 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, 195, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 0, 56, 57, 58, 59, 139, 60,
- 140, 141, 142, 143, 144, 0, 0, 145, 146, 0,
+ 0, 150, 0, 0, 0, 199, 303, 0, 0, 0,
+ 0, 201, 152, 153, 154, 155, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 188, 189, 190,
+ 0, 191, 192, 193, 194, 195, 196, 197, 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, 198,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 0, 56, 57, 58, 59, 142,
+ 60, 143, 144, 145, 146, 147, 0, 0, 148, 149,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 147, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 198, 149, 150, 151,
- 152, 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, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 0,
- 56, 57, 58, 59, 139, 60, 140, 141, 142, 143,
- 144, 0, 0, 145, 146, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 134, 2,
- 3, 4, 147, 6, 7, 8, 9, 10, 11, 0,
- 0, 0, 198, 149, 150, 151, 152, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 150, 0, 0,
+ 0, 199, 0, 0, 0, 0, 0, 201, 152, 153,
+ 154, 155, 1, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 188, 189, 190, 0, 191, 192, 193,
+ 194, 195, 196, 197, 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, 198, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 0, 56, 57, 58, 59, 142, 60, 143, 144, 145,
+ 146, 147, 0, 0, 148, 149, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 150, 0, 0, 0, 125, 0, 0,
+ 0, 0, 0, 201, 152, 153, 154, 155, 1, 2,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 188,
+ 189, 190, 0, 191, 192, 193, 194, 195, 196, 197,
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, 46, 47, 48, 49,
+ 41, 198, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 0, 56, 57, 58,
- 59, 139, 60, 140, 141, 142, 143, 144, 0, 0,
- 145, 146, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 3, 4, 0, 0, 147,
- 8, 9, 10, 11, 0, 0, 0, 0, 0, 0,
- 149, 150, 151, 152, 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, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 0, 56, 57, 58, 0, 107, 60, 0, 0,
- 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, 108, 31, 32, 33, 34, 35,
- 36, 0, 0, 0, 40, 41, 0, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 0, 56, 57, 58, 0, 139, 60, 140, 141,
- 142, 143, 144, 0, 0, 145, 146, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 147, 0, 0, 148, 8, 9,
- 10, 11, 0, 0, 0, 149, 150, 151, 152, 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, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 0,
- 56, 57, 58, 0, 139, 60, 140, 141, 142, 143,
- 144, 0, 0, 145, 146, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 147, 0, 0, 222, 8, 9, 10, 11,
- 0, 0, 0, 149, 150, 151, 152, 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, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 0, 56, 57,
- 58, 0, 139, 60, 140, 141, 142, 143, 144, 0,
- 0, 145, 146, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 147, 8, 9, 10, 11, 0, 0, 0, 0, 0,
- 278, 149, 150, 151, 152, 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, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 0, 56, 57, 58, 0, 139, 60, 140,
- 141, 142, 143, 144, 0, 0, 145, 146, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 147, 0, 0, 303, 8,
- 9, 10, 11, 0, 0, 0, 149, 150, 151, 152,
- 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,
- 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 0, 56, 57, 58, 0, 139, 60, 140, 141, 142,
- 143, 144, 0, 0, 145, 146, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 147, 8, 9, 10, 11, 0, 0,
- 0, 0, 0, 0, 149, 150, 151, 152, 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, 242,
- 0, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 0, 56, 57, 58, 0,
- 139, 60, 140, 141, 142, 143, 144, 0, 0, 145,
- 146, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 134, 2, 3, 4, 147, 6,
- 7, 8, 9, 10, 11, 0, 0, 0, 0, 149,
- 150, 151, 152, 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, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 0, 56, 57, 58, 59, 0, 60, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 134,
- 2, 3, 4, 0, 6, 7, 8, 9, 10, 11,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 230, 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, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 0, 56, 57,
- 58, 59, 0, 60, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 134, 2, 3, 4, 0, 6,
- 7, 8, 9, 10, 11, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 267, 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, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 0, 56, 57, 58, 59, 0, 60, 0,
- 0, 0, 0, 0, 0, 0, 114, 0, 0, 1,
- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 341, 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, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 0, 56, 57,
- 58, 59, 0, 60, 1, 2, 3, 4, 5, 6,
+ 59, 142, 60, 143, 144, 145, 146, 147, 0, 0,
+ 148, 149, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 150,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 201,
+ 152, 153, 154, 155, 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, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 0, 56, 57, 58, 59, 0, 60, 134,
- 2, 3, 4, 0, 6, 7, 8, 9, 10, 11,
+ 54, 55, 0, 56, 57, 58, 59, 142, 60, 143,
+ 144, 145, 146, 147, 0, 0, 148, 149, 0, 0,
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, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 0, 56, 57,
- 58, 59, 0, 60, 2, 3, 4, 0, 0, 0,
- 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, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 0, 56, 57, 58, 0, 0, 60, 8, 9,
- 10, 11, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 137, 2, 3, 4, 150, 6, 7, 8, 9,
+ 10, 11, 0, 0, 0, 201, 152, 153, 154, 155,
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, 46,
+ 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, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 0,
- 56, 57, 58, 0, 317, 60, 8, 9, 10, 11,
- 318, 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, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 0, 56, 57,
- 58, 0, 0, 60
+ 56, 57, 58, 59, 142, 60, 143, 144, 145, 146,
+ 147, 0, 0, 148, 149, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2, 3, 4,
+ 0, 0, 150, 8, 9, 10, 11, 0, 0, 0,
+ 0, 0, 0, 152, 153, 154, 155, 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, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 0, 56, 57, 58, 0, 109,
+ 60, 0, 0, 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, 110, 31, 32,
+ 33, 34, 35, 36, 0, 0, 0, 40, 41, 0,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 0, 56, 57, 58, 0, 142,
+ 60, 143, 144, 145, 146, 147, 0, 0, 148, 149,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 150, 0, 0,
+ 151, 8, 9, 10, 11, 0, 0, 0, 152, 153,
+ 154, 155, 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, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 0, 56, 57, 58, 0, 142, 60, 143,
+ 144, 145, 146, 147, 0, 0, 148, 149, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 150, 0, 0, 225, 8,
+ 9, 10, 11, 0, 0, 0, 152, 153, 154, 155,
+ 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,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 0, 56, 57, 58, 0, 142, 60, 143, 144, 145,
+ 146, 147, 0, 0, 148, 149, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 150, 8, 9, 10, 11, 0, 0,
+ 0, 0, 0, 281, 152, 153, 154, 155, 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, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 0, 56, 57, 58, 0,
+ 142, 60, 143, 144, 145, 146, 147, 0, 0, 148,
+ 149, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 150, 0,
+ 0, 306, 8, 9, 10, 11, 0, 0, 0, 152,
+ 153, 154, 155, 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, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 0, 56, 57, 58, 0, 142, 60,
+ 143, 144, 145, 146, 147, 0, 0, 148, 149, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 150, 8, 9, 10,
+ 11, 0, 0, 0, 0, 0, 0, 152, 153, 154,
+ 155, 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, 245, 0, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 0, 56,
+ 57, 58, 0, 142, 60, 143, 144, 145, 146, 147,
+ 0, 0, 148, 149, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 137, 2, 3,
+ 4, 150, 6, 7, 8, 9, 10, 11, 0, 0,
+ 0, 0, 152, 153, 154, 155, 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, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 0, 56, 57, 58, 59,
+ 0, 60, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 137, 2, 3, 4, 0, 6, 7, 8,
+ 9, 10, 11, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 233, 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,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 0, 56, 57, 58, 59, 0, 60, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 137, 2, 3,
+ 4, 0, 6, 7, 8, 9, 10, 11, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 270, 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, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 0, 56, 57, 58, 59,
+ 0, 60, 0, 0, 0, 0, 0, 0, 0, 116,
+ 0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 344, 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,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 0, 56, 57, 58, 59, 0, 60, 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, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 0, 56, 57, 58, 59,
+ 0, 60, 137, 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,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 0, 56, 57, 58, 59, 0, 60, 2, 3, 4,
+ 0, 0, 0, 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, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 0, 56, 57, 58, 0, 0,
+ 60, 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, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 0, 56, 57, 58, 0, 320, 60, 8,
+ 9, 10, 11, 321, 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,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 0, 56, 57, 58, 0, 0, 60
};
static const yytype_int16 yycheck[] =
{
- 0, 40, 70, 109, 92, 132, 131, 221, 210, 147,
- 76, 117, 9, 0, 137, 0, 117, 113, 76, 77,
- 9, 344, 69, 87, 88, 350, 372, 74, 106, 68,
- 92, 137, 100, 105, 161, 131, 114, 40, 41, 111,
- 44, 109, 105, 40, 41, 42, 371, 104, 114, 117,
- 108, 40, 41, 191, 43, 401, 111, 180, 122, 123,
- 128, 111, 51, 102, 114, 127, 106, 135, 193, 137,
- 70, 394, 76, 73, 180, 181, 114, 400, 78, 106,
- 181, 114, 106, 83, 105, 108, 113, 9, 127, 113,
- 111, 78, 306, 78, 221, 220, 105, 193, 111, 237,
- 100, 114, 111, 111, 85, 86, 114, 76, 105, 109,
- 105, 104, 180, 181, 241, 105, 111, 117, 40, 41,
- 42, 111, 122, 44, 220, 106, 105, 265, 128, 110,
- 113, 111, 111, 111, 114, 135, 114, 137, 276, 89,
- 90, 355, 280, 108, 358, 268, 4, 5, 6, 351,
- 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
- 76, 77, 268, 253, 254, 255, 256, 381, 108, 113,
- 297, 298, 40, 41, 42, 104, 113, 302, 105, 306,
- 180, 181, 76, 77, 309, 119, 120, 121, 116, 403,
- 118, 83, 84, 104, 131, 79, 80, 111, 112, 125,
- 268, 249, 250, 257, 258, 91, 302, 126, 145, 146,
- 210, 124, 350, 309, 251, 252, 93, 107, 114, 114,
- 109, 104, 104, 114, 104, 112, 104, 164, 355, 104,
- 106, 358, 113, 371, 107, 106, 105, 362, 365, 113,
- 112, 108, 107, 113, 350, 107, 56, 111, 386, 104,
- 107, 107, 113, 104, 381, 343, 193, 105, 107, 109,
- 114, 399, 105, 17, 108, 371, 362, 113, 268, 114,
- 238, 259, 114, 264, 260, 128, 403, 261, 94, 101,
- 262, 128, 5, 220, 184, 285, 263, 226, 310, 345,
- 392, 400, 345, 285, 371, 78, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 376, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, -1, -1,
- -1, -1, -1, -1, -1, -1, 375, -1, -1, -1,
- -1, -1, -1, -1, 344, 345, -1, -1, -1, -1,
- 350, 351, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 302, -1, -1, -1, -1,
- -1, 371, 309, -1, -1, -1, 376, -1, -1, -1,
+ 0, 40, 94, 135, 150, 115, 0, 111, 115, 134,
+ 140, 120, 0, 70, 76, 375, 120, 353, 9, 116,
+ 213, 118, 104, 92, 134, 9, 1, 134, 1, 68,
+ 76, 77, 164, 87, 88, 106, 140, 347, 374, 224,
+ 106, 148, 149, 114, 404, 102, 114, 113, 194, 40,
+ 41, 42, 114, 183, 111, 105, 40, 41, 127, 43,
+ 167, 111, 108, 120, 105, 104, 111, 51, 122, 123,
+ 70, 196, 9, 73, 131, 184, 105, 108, 78, 183,
+ 184, 138, 111, 140, 78, 85, 196, 397, 106, 196,
+ 78, 130, 224, 403, 240, 113, 69, 106, 223, 76,
+ 105, 74, 102, 40, 41, 42, 111, 85, 86, 105,
+ 83, 111, 244, 223, 105, 111, 223, 104, 111, 108,
+ 120, 114, 268, 105, 309, 125, 183, 184, 106, 111,
+ 113, 131, 110, 279, 4, 5, 6, 283, 138, 108,
+ 140, 271, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, 354, 137, 111, 137, 105, 114, 271, 300, 301,
+ 114, 111, 111, 358, 104, 114, 361, 309, 111, 111,
+ 305, 114, 114, 183, 184, 40, 41, 312, 9, 256,
+ 257, 258, 259, 76, 77, 305, 76, 77, 305, 384,
+ 89, 90, 312, 79, 80, 312, 105, 353, 40, 41,
+ 42, 83, 84, 213, 271, 119, 120, 121, 104, 40,
+ 41, 406, 43, 44, 111, 112, 358, 125, 374, 361,
+ 51, 52, 53, 9, 254, 255, 368, 252, 253, 124,
+ 365, 260, 261, 389, 126, 91, 93, 107, 114, 353,
+ 114, 104, 384, 104, 346, 365, 402, 114, 365, 104,
+ 112, 104, 104, 113, 40, 41, 107, 43, 44, 109,
+ 374, 271, 106, 106, 406, 51, 52, 53, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 288, 108,
+ 105, 113, 112, 107, 107, 113, 104, 113, 56, 111,
+ 76, 107, 113, 107, 104, 114, 105, 109, 105, 107,
+ 17, 114, 108, 114, 241, 262, 265, 263, 113, 264,
+ 103, 131, 379, 266, 96, 267, 131, 5, 187, 229,
+ 395, 348, 313, 403, 288, 348, 374, 78, -1, 378,
+ -1, -1, -1, -1, -1, -1, -1, 347, 348, -1,
+ -1, -1, -1, 353, 354, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 394, -1, -1, -1, -1, -1,
- 400, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
- 12, 13, 14, 15, 16, 362, 18, 19, 20, 21,
- 22, 23, 24, 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, 61,
- 62, 63, 64, 65, 66, 67, 68, 69, 70, -1,
- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
- 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 374, -1, -1, -1, -1, 379,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 104, -1, -1, -1, 108, 109, -1, -1,
- -1, -1, 114, 115, 116, 117, 118, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, -1, 18, 19, 20, 21, 22, 23, 24, 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, 61, 62, 63, 64, 65,
- 66, 67, 68, 69, 70, -1, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, -1, -1, 85,
- 86, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 104, -1,
- -1, -1, 108, 109, -1, -1, -1, -1, 114, 115,
- 116, 117, 118, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 14, 15, 16, -1, 18, 19,
- 20, 21, 22, 23, 24, 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, 61, 62, 63, 64, 65, 66, 67, 68, 69,
- 70, -1, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, -1, -1, 85, 86, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 397, -1, -1,
+ -1, -1, -1, 403, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16, -1, 18,
+ 19, 20, 21, 22, 23, 24, 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, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, -1, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, -1, -1, 85, 86, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 104, -1, -1, -1, 108, -1,
- -1, -1, -1, -1, 114, 115, 116, 117, 118, 3,
- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- 14, 15, 16, -1, 18, 19, 20, 21, 22, 23,
- 24, 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, 61, 62, 63,
- 64, 65, 66, 67, 68, 69, 70, -1, 72, 73,
- 74, 75, 76, 77, 78, 79, 80, 81, 82, -1,
- -1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 104, -1, -1, -1, 108,
+ 109, -1, -1, -1, -1, 114, 115, 116, 117, 118,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, -1, 18, 19, 20, 21, 22,
+ 23, 24, 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, 61, 62,
+ 63, 64, 65, 66, 67, 68, 69, 70, -1, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ -1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 104, -1, -1, -1, 108, -1, -1, -1, -1, -1,
- 114, 115, 116, 117, 118, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15, 16, -1,
- 18, 19, 20, 21, 22, 23, 24, 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, 61, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, -1, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, -1, -1, 85, 86, -1,
+ -1, 104, -1, -1, -1, 108, 109, -1, -1, -1,
+ -1, 114, 115, 116, 117, 118, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ -1, 18, 19, 20, 21, 22, 23, 24, 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, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, -1, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 104, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 114, 115, 116, 117,
- 118, 3, 4, 5, 6, 7, 8, 9, 10, 11,
- 12, 13, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 104, -1, -1,
+ -1, 108, -1, -1, -1, -1, -1, 114, 115, 116,
+ 117, 118, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, -1, 18, 19, 20,
+ 21, 22, 23, 24, 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,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ -1, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, -1, -1, 85, 86, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 104, -1, -1, -1, 108, -1, -1,
+ -1, -1, -1, 114, 115, 116, 117, 118, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, -1, 18, 19, 20, 21, 22, 23, 24,
+ 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, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, -1, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, -1, -1,
+ 85, 86, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 104,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 114,
+ 115, 116, 117, 118, 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, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, -1, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, -1, -1, 85, 86, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3, 4, 5, 6, 104, 8, 9, 10, 11,
+ 12, 13, -1, -1, -1, 114, 115, 116, 117, 118,
-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,
@@ -1316,55 +1324,26 @@
62, 63, 64, 65, 66, 67, 68, 69, 70, -1,
72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 3, 4,
- 5, 6, 104, 8, 9, 10, 11, 12, 13, -1,
- -1, -1, 114, 115, 116, 117, 118, -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, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, -1, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, -1, -1,
- 85, 86, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 4, 5, 6, -1, -1, 104,
- 10, 11, 12, 13, -1, -1, -1, -1, -1, -1,
- 115, 116, 117, 118, -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, 61, 62, 63, 64, 65, 66, 67, 68, 69,
- 70, -1, 72, 73, 74, -1, 76, 77, -1, -1,
- 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, 114, 45, 46, 47, 48, 49,
- 50, -1, -1, -1, 54, 55, -1, 57, 58, 59,
- 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
- 70, -1, 72, 73, 74, -1, 76, 77, 78, 79,
- 80, 81, 82, -1, -1, 85, 86, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 4, 5, 6,
+ -1, -1, 104, 10, 11, 12, 13, -1, -1, -1,
+ -1, -1, -1, 115, 116, 117, 118, -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, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, -1, 72, 73, 74, -1, 76,
+ 77, -1, -1, 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, 114, 45, 46,
+ 47, 48, 49, 50, -1, -1, -1, 54, 55, -1,
+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, -1, 72, 73, 74, -1, 76,
+ 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 104, -1, -1, 107, 10, 11,
- 12, 13, -1, -1, -1, 115, 116, 117, 118, -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, 61,
- 62, 63, 64, 65, 66, 67, 68, 69, 70, -1,
- 72, 73, 74, -1, 76, 77, 78, 79, 80, 81,
- 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 104, -1, -1, 107, 10, 11, 12, 13,
- -1, -1, -1, 115, 116, 117, 118, -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, 61, 62, 63,
- 64, 65, 66, 67, 68, 69, 70, -1, 72, 73,
- 74, -1, 76, 77, 78, 79, 80, 81, 82, -1,
- -1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 104, 10, 11, 12, 13, -1, -1, -1, -1, -1,
- 114, 115, 116, 117, 118, -1, 25, 26, 27, 28,
+ -1, -1, -1, -1, -1, -1, -1, 104, -1, -1,
+ 107, 10, 11, 12, 13, -1, -1, -1, 115, 116,
+ 117, 118, -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,
@@ -1383,7 +1362,7 @@
81, 82, -1, -1, 85, 86, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 104, 10, 11, 12, 13, -1, -1,
- -1, -1, -1, -1, 115, 116, 117, 118, -1, 25,
+ -1, -1, -1, 114, 115, 116, 117, 118, -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,
@@ -1391,76 +1370,95 @@
66, 67, 68, 69, 70, -1, 72, 73, 74, -1,
76, 77, 78, 79, 80, 81, 82, -1, -1, 85,
86, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 3, 4, 5, 6, 104, 8,
- 9, 10, 11, 12, 13, -1, -1, -1, -1, 115,
- 116, 117, 118, -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, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, -1, 72, 73, 74, 75, -1, 77, -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, 104, -1,
+ -1, 107, 10, 11, 12, 13, -1, -1, -1, 115,
+ 116, 117, 118, -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, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, -1, 72, 73, 74, -1, 76, 77,
+ 78, 79, 80, 81, 82, -1, -1, 85, 86, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 109, 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, 61, 62, 63,
- 64, 65, 66, 67, 68, 69, 70, -1, 72, 73,
- 74, 75, -1, 77, -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, 109, 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, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, -1, 72, 73, 74, 75, -1, 77, -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,
- 109, 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, 61, 62, 63,
- 64, 65, 66, 67, 68, 69, 70, -1, 72, 73,
- 74, 75, -1, 77, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 104, 10, 11, 12,
+ 13, -1, -1, -1, -1, -1, -1, 115, 116, 117,
+ 118, -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, 61, 62,
+ 63, 64, 65, 66, 67, 68, 69, 70, -1, 72,
+ 73, 74, -1, 76, 77, 78, 79, 80, 81, 82,
+ -1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3, 4, 5,
+ 6, 104, 8, 9, 10, 11, 12, 13, -1, -1,
+ -1, -1, 115, 116, 117, 118, -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, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, -1, 72, 73, 74, 75,
+ -1, 77, -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, 109, 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,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ -1, 72, 73, 74, 75, -1, 77, -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, 109, 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, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, -1, 72, 73, 74, 75,
+ -1, 77, -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, 109, 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,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ -1, 72, 73, 74, 75, -1, 77, 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, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, -1, 72, 73, 74, 75,
+ -1, 77, 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,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ -1, 72, 73, 74, 75, -1, 77, 4, 5, 6,
+ -1, -1, -1, 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, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, -1, 72, 73, 74, -1, -1,
+ 77, 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,
+ 39, -1, -1, -1, -1, -1, 45, 46, 47, 48,
+ 49, 50, -1, -1, -1, 54, 55, -1, 57, 58,
59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, -1, 72, 73, 74, 75, -1, 77, 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, 61, 62, 63,
- 64, 65, 66, 67, 68, 69, 70, -1, 72, 73,
- 74, 75, -1, 77, 4, 5, 6, -1, -1, -1,
- 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, 61, 62, 63, 64, 65, 66, 67, 68, 69,
- 70, -1, 72, 73, 74, -1, -1, 77, 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, 61,
- 62, 63, 64, 65, 66, 67, 68, 69, 70, -1,
- 72, 73, 74, -1, 76, 77, 10, 11, 12, 13,
- 82, -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, 61, 62, 63,
- 64, 65, 66, 67, 68, 69, 70, -1, 72, 73,
- 74, -1, -1, 77
+ 69, 70, -1, 72, 73, 74, -1, 76, 77, 10,
+ 11, 12, 13, 82, -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,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ -1, 72, 73, 74, -1, -1, 77
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1475,40 +1473,40 @@
65, 66, 67, 68, 69, 70, 72, 73, 74, 75,
77, 160, 161, 162, 163, 164, 169, 170, 171, 172,
174, 175, 176, 177, 178, 181, 182, 183, 218, 219,
- 220, 44, 76, 177, 40, 41, 76, 77, 108, 129,
- 104, 114, 221, 105, 111, 9, 40, 41, 42, 166,
- 167, 173, 111, 114, 76, 129, 175, 76, 114, 159,
- 176, 181, 175, 106, 0, 219, 181, 185, 108, 76,
- 179, 180, 108, 201, 166, 165, 168, 176, 167, 129,
- 104, 106, 113, 108, 3, 174, 176, 186, 187, 76,
- 78, 79, 80, 81, 82, 85, 86, 104, 107, 115,
- 116, 117, 118, 130, 131, 132, 134, 135, 136, 137,
- 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
- 148, 149, 150, 151, 152, 153, 154, 158, 181, 114,
- 186, 184, 113, 105, 111, 14, 15, 16, 18, 19,
- 20, 21, 22, 23, 24, 56, 108, 109, 114, 141,
- 154, 155, 157, 160, 161, 181, 191, 192, 193, 194,
- 202, 203, 204, 206, 208, 210, 217, 129, 165, 168,
- 106, 113, 107, 158, 155, 190, 176, 129, 188, 189,
- 109, 187, 141, 141, 157, 85, 86, 106, 110, 105,
- 105, 111, 55, 155, 104, 141, 119, 120, 121, 116,
- 118, 83, 84, 87, 88, 122, 123, 89, 90, 126,
- 125, 124, 91, 93, 92, 127, 107, 109, 186, 79,
- 80, 180, 114, 114, 212, 104, 104, 114, 114, 157,
- 104, 158, 112, 104, 109, 195, 94, 95, 96, 97,
- 98, 99, 100, 101, 102, 103, 113, 156, 111, 114,
- 109, 192, 106, 107, 158, 190, 113, 107, 188, 106,
- 111, 114, 76, 114, 105, 133, 157, 76, 82, 136,
- 155, 141, 141, 141, 143, 143, 144, 144, 145, 145,
- 145, 145, 146, 146, 147, 148, 149, 150, 151, 152,
- 157, 109, 198, 199, 200, 213, 157, 114, 157, 112,
- 211, 202, 155, 155, 158, 113, 107, 190, 113, 114,
- 158, 189, 106, 114, 107, 112, 56, 201, 193, 191,
- 203, 214, 105, 105, 157, 171, 174, 209, 196, 107,
- 190, 113, 190, 107, 158, 155, 104, 209, 215, 216,
- 198, 205, 207, 129, 105, 109, 190, 107, 157, 114,
- 105, 17, 194, 113, 193, 197, 201, 114, 105, 157,
- 197, 198, 190, 114
+ 220, 44, 76, 172, 175, 177, 40, 41, 76, 77,
+ 108, 129, 104, 114, 221, 105, 111, 9, 40, 41,
+ 42, 166, 167, 173, 111, 114, 76, 129, 175, 76,
+ 114, 159, 176, 181, 175, 106, 0, 219, 175, 181,
+ 185, 108, 76, 179, 180, 108, 201, 166, 165, 168,
+ 176, 167, 129, 104, 106, 113, 108, 3, 174, 176,
+ 186, 187, 76, 78, 79, 80, 81, 82, 85, 86,
+ 104, 107, 115, 116, 117, 118, 130, 131, 132, 134,
+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
+ 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
+ 158, 181, 114, 186, 184, 113, 105, 111, 14, 15,
+ 16, 18, 19, 20, 21, 22, 23, 24, 56, 108,
+ 109, 114, 141, 154, 155, 157, 160, 161, 181, 191,
+ 192, 193, 194, 202, 203, 204, 206, 208, 210, 217,
+ 129, 165, 168, 106, 113, 107, 158, 155, 190, 176,
+ 129, 188, 189, 109, 187, 141, 141, 157, 85, 86,
+ 106, 110, 105, 105, 111, 55, 155, 104, 141, 119,
+ 120, 121, 116, 118, 83, 84, 87, 88, 122, 123,
+ 89, 90, 126, 125, 124, 91, 93, 92, 127, 107,
+ 109, 186, 79, 80, 180, 114, 114, 212, 104, 104,
+ 114, 114, 157, 104, 158, 112, 104, 109, 195, 94,
+ 95, 96, 97, 98, 99, 100, 101, 102, 103, 113,
+ 156, 111, 114, 109, 192, 106, 107, 158, 190, 113,
+ 107, 188, 106, 111, 114, 76, 114, 105, 133, 157,
+ 76, 82, 136, 155, 141, 141, 141, 143, 143, 144,
+ 144, 145, 145, 145, 145, 146, 146, 147, 148, 149,
+ 150, 151, 152, 157, 109, 198, 199, 200, 213, 157,
+ 114, 157, 112, 211, 202, 155, 155, 158, 113, 107,
+ 190, 113, 114, 158, 189, 106, 114, 107, 112, 56,
+ 201, 193, 191, 203, 214, 105, 105, 157, 171, 174,
+ 209, 196, 107, 190, 113, 190, 107, 158, 155, 104,
+ 209, 215, 216, 198, 205, 207, 129, 105, 109, 190,
+ 107, 157, 114, 105, 17, 194, 113, 193, 197, 201,
+ 114, 105, 157, 197, 198, 190, 114
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
@@ -1527,21 +1525,21 @@
164, 165, 165, 166, 166, 166, 166, 167, 167, 167,
167, 168, 169, 169, 169, 169, 169, 169, 170, 170,
170, 170, 170, 170, 170, 171, 171, 172, 172, 173,
- 174, 174, 174, 174, 174, 174, 174, 174, 175, 175,
- 175, 175, 175, 175, 176, 176, 177, 177, 177, 178,
- 179, 179, 180, 180, 180, 181, 181, 181, 182, 182,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 175, 175, 175, 175, 175, 175, 176, 176, 177, 177,
+ 177, 178, 179, 179, 180, 180, 180, 181, 181, 181,
182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 184, 183, 185, 183, 186, 186, 187,
- 187, 188, 188, 189, 189, 190, 191, 192, 192, 193,
- 193, 193, 193, 193, 193, 193, 194, 195, 196, 194,
- 197, 197, 199, 198, 200, 198, 201, 201, 202, 202,
- 203, 203, 204, 205, 205, 207, 206, 208, 208, 209,
- 209, 211, 210, 212, 210, 213, 210, 214, 214, 215,
- 215, 216, 216, 217, 217, 217, 217, 217, 218, 218,
- 219, 219, 221, 220
+ 182, 182, 182, 182, 182, 184, 183, 185, 183, 186,
+ 186, 187, 187, 188, 188, 189, 189, 190, 191, 192,
+ 192, 193, 193, 193, 193, 193, 193, 193, 194, 195,
+ 196, 194, 197, 197, 199, 198, 200, 198, 201, 201,
+ 202, 202, 203, 203, 204, 205, 205, 207, 206, 208,
+ 208, 209, 209, 211, 210, 212, 210, 213, 210, 214,
+ 214, 215, 215, 216, 216, 217, 217, 217, 217, 217,
+ 218, 218, 219, 219, 221, 220
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -1560,21 +1558,21 @@
3, 2, 5, 3, 2, 3, 2, 0, 1, 1,
1, 1, 1, 3, 6, 7, 8, 5, 1, 2,
5, 6, 7, 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, 3, 4, 1, 1,
+ 1, 1, 2, 1, 2, 1, 1, 2, 2, 3,
+ 1, 1, 1, 2, 2, 1, 1, 2, 1, 1,
+ 1, 4, 1, 3, 1, 3, 3, 1, 3, 4,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 0, 6, 0, 5, 1, 2, 3,
- 4, 1, 3, 1, 4, 1, 1, 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, 0, 6, 3, 2, 1,
- 4, 0, 6, 0, 8, 0, 7, 1, 1, 1,
- 0, 2, 3, 2, 2, 2, 3, 2, 1, 2,
- 1, 1, 0, 3
+ 1, 1, 1, 1, 1, 0, 6, 0, 5, 1,
+ 2, 3, 4, 1, 3, 1, 4, 1, 1, 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, 0, 6, 3,
+ 2, 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
};
@@ -3677,7 +3675,9 @@
case 138:
{
- (yyval.interm.type).qualifier = EvqConst;
+ context->es3InvariantErrorCheck((yyvsp[0].interm.type).qualifier, (yylsp[-1]));
+ (yyval.interm.type).setBasic(EbtVoid, (yyvsp[0].interm.type).qualifier, (yylsp[0]));
+ (yyval.interm.type).invariant = true;
}
break;
@@ -3685,13 +3685,31 @@
case 139:
{
+ context->es3InvariantErrorCheck((yyvsp[0].interm.type).qualifier, (yylsp[-2]));
+ (yyval.interm.type) = context->joinInterpolationQualifiers((yylsp[-1]), (yyvsp[-1].interm.type).qualifier, (yylsp[0]), (yyvsp[0].interm.type).qualifier);
+ (yyval.interm.type).invariant = true;
+ }
+
+ break;
+
+ case 140:
+
+ {
+ (yyval.interm.type).qualifier = EvqConst;
+ }
+
+ break;
+
+ case 141:
+
+ {
ES3_ONLY("in", (yylsp[0]), "storage qualifier");
(yyval.interm.type).qualifier = (context->shaderType == GL_FRAGMENT_SHADER) ? EvqFragmentIn : EvqVertexIn;
}
break;
- case 140:
+ case 142:
{
ES3_ONLY("out", (yylsp[0]), "storage qualifier");
@@ -3700,7 +3718,7 @@
break;
- case 141:
+ case 143:
{
ES3_ONLY("centroid in", (yylsp[-1]), "storage qualifier");
@@ -3714,7 +3732,7 @@
break;
- case 142:
+ case 144:
{
ES3_ONLY("centroid out", (yylsp[-1]), "storage qualifier");
@@ -3728,7 +3746,7 @@
break;
- case 143:
+ case 145:
{
if (context->globalErrorCheck((yylsp[0]), context->symbolTable.atGlobalLevel(), "uniform"))
@@ -3738,7 +3756,7 @@
break;
- case 144:
+ case 146:
{
(yyval.interm.type) = (yyvsp[0].interm.type);
@@ -3753,7 +3771,7 @@
break;
- case 145:
+ case 147:
{
(yyval.interm.type) = (yyvsp[0].interm.type);
@@ -3767,7 +3785,7 @@
break;
- case 146:
+ case 148:
{
(yyval.interm.precision) = EbpHigh;
@@ -3775,7 +3793,7 @@
break;
- case 147:
+ case 149:
{
(yyval.interm.precision) = EbpMedium;
@@ -3783,7 +3801,7 @@
break;
- case 148:
+ case 150:
{
(yyval.interm.precision) = EbpLow;
@@ -3791,7 +3809,7 @@
break;
- case 149:
+ case 151:
{
ES3_ONLY("layout", (yylsp[-3]), "qualifier");
@@ -3800,7 +3818,7 @@
break;
- case 150:
+ case 152:
{
(yyval.interm.layoutQualifier) = (yyvsp[0].interm.layoutQualifier);
@@ -3808,7 +3826,7 @@
break;
- case 151:
+ case 153:
{
(yyval.interm.layoutQualifier) = context->joinLayoutQualifiers((yyvsp[-2].interm.layoutQualifier), (yyvsp[0].interm.layoutQualifier));
@@ -3816,7 +3834,7 @@
break;
- case 152:
+ case 154:
{
(yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[0].lex).string, (yylsp[0]));
@@ -3824,31 +3842,31 @@
break;
- case 153:
-
- {
- (yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[-2].lex).string, (yylsp[-2]), *(yyvsp[0].lex).string, (yyvsp[0].lex).i, (yylsp[0]));
- }
-
- break;
-
- case 154:
-
- {
- (yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[-2].lex).string, (yylsp[-2]), *(yyvsp[0].lex).string, (yyvsp[0].lex).i, (yylsp[0]));
- }
-
- break;
-
case 155:
{
+ (yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[-2].lex).string, (yylsp[-2]), *(yyvsp[0].lex).string, (yyvsp[0].lex).i, (yylsp[0]));
+ }
+
+ break;
+
+ case 156:
+
+ {
+ (yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[-2].lex).string, (yylsp[-2]), *(yyvsp[0].lex).string, (yyvsp[0].lex).i, (yylsp[0]));
+ }
+
+ break;
+
+ case 157:
+
+ {
(yyval.interm.type) = (yyvsp[0].interm.type);
}
break;
- case 156:
+ case 158:
{
ES3_ONLY("[]", (yylsp[-1]), "implicitly sized array");
@@ -3858,7 +3876,7 @@
break;
- case 157:
+ case 159:
{
(yyval.interm.type) = (yyvsp[-3].interm.type);
@@ -3875,7 +3893,7 @@
break;
- case 158:
+ case 160:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
@@ -3884,29 +3902,11 @@
break;
- case 159:
-
- {
- TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0]));
- }
-
- break;
-
- case 160:
-
- {
- TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[0]));
- }
-
- break;
-
case 161:
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[0]));
+ (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0]));
}
break;
@@ -3915,7 +3915,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[0]));
+ (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[0]));
}
break;
@@ -3924,8 +3924,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0]));
- (yyval.interm.type).setAggregate(2);
+ (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[0]));
}
break;
@@ -3934,8 +3933,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0]));
- (yyval.interm.type).setAggregate(3);
+ (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[0]));
}
break;
@@ -3945,7 +3943,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0]));
- (yyval.interm.type).setAggregate(4);
+ (yyval.interm.type).setAggregate(2);
}
break;
@@ -3954,8 +3952,8 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[0]));
- (yyval.interm.type).setAggregate(2);
+ (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0]));
+ (yyval.interm.type).setAggregate(3);
}
break;
@@ -3964,8 +3962,8 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[0]));
- (yyval.interm.type).setAggregate(3);
+ (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0]));
+ (yyval.interm.type).setAggregate(4);
}
break;
@@ -3975,7 +3973,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtBool, qual, (yylsp[0]));
- (yyval.interm.type).setAggregate(4);
+ (yyval.interm.type).setAggregate(2);
}
break;
@@ -3984,8 +3982,8 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[0]));
- (yyval.interm.type).setAggregate(2);
+ (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[0]));
+ (yyval.interm.type).setAggregate(3);
}
break;
@@ -3994,8 +3992,8 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[0]));
- (yyval.interm.type).setAggregate(3);
+ (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[0]));
+ (yyval.interm.type).setAggregate(4);
}
break;
@@ -4005,7 +4003,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtInt, qual, (yylsp[0]));
- (yyval.interm.type).setAggregate(4);
+ (yyval.interm.type).setAggregate(2);
}
break;
@@ -4014,8 +4012,8 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[0]));
- (yyval.interm.type).setAggregate(2);
+ (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[0]));
+ (yyval.interm.type).setAggregate(3);
}
break;
@@ -4024,8 +4022,8 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[0]));
- (yyval.interm.type).setAggregate(3);
+ (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[0]));
+ (yyval.interm.type).setAggregate(4);
}
break;
@@ -4035,7 +4033,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[0]));
- (yyval.interm.type).setAggregate(4);
+ (yyval.interm.type).setAggregate(2);
}
break;
@@ -4044,8 +4042,8 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0]));
- (yyval.interm.type).setMatrix(2, 2);
+ (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[0]));
+ (yyval.interm.type).setAggregate(3);
}
break;
@@ -4054,8 +4052,8 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0]));
- (yyval.interm.type).setMatrix(3, 3);
+ (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[0]));
+ (yyval.interm.type).setAggregate(4);
}
break;
@@ -4065,7 +4063,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0]));
- (yyval.interm.type).setMatrix(4, 4);
+ (yyval.interm.type).setMatrix(2, 2);
}
break;
@@ -4075,7 +4073,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0]));
- (yyval.interm.type).setMatrix(2, 3);
+ (yyval.interm.type).setMatrix(3, 3);
}
break;
@@ -4085,7 +4083,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0]));
- (yyval.interm.type).setMatrix(3, 2);
+ (yyval.interm.type).setMatrix(4, 4);
}
break;
@@ -4095,7 +4093,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0]));
- (yyval.interm.type).setMatrix(2, 4);
+ (yyval.interm.type).setMatrix(2, 3);
}
break;
@@ -4105,7 +4103,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0]));
- (yyval.interm.type).setMatrix(4, 2);
+ (yyval.interm.type).setMatrix(3, 2);
}
break;
@@ -4115,7 +4113,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0]));
- (yyval.interm.type).setMatrix(3, 4);
+ (yyval.interm.type).setMatrix(2, 4);
}
break;
@@ -4125,7 +4123,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
(yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0]));
- (yyval.interm.type).setMatrix(4, 3);
+ (yyval.interm.type).setMatrix(4, 2);
}
break;
@@ -4134,7 +4132,8 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtSampler2D, qual, (yylsp[0]));
+ (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0]));
+ (yyval.interm.type).setMatrix(3, 4);
}
break;
@@ -4143,7 +4142,8 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtSampler3D, qual, (yylsp[0]));
+ (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0]));
+ (yyval.interm.type).setMatrix(4, 3);
}
break;
@@ -4152,7 +4152,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtSamplerCube, qual, (yylsp[0]));
+ (yyval.interm.type).setBasic(EbtSampler2D, qual, (yylsp[0]));
}
break;
@@ -4161,7 +4161,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtSampler2DArray, qual, (yylsp[0]));
+ (yyval.interm.type).setBasic(EbtSampler3D, qual, (yylsp[0]));
}
break;
@@ -4170,7 +4170,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtISampler2D, qual, (yylsp[0]));
+ (yyval.interm.type).setBasic(EbtSamplerCube, qual, (yylsp[0]));
}
break;
@@ -4179,7 +4179,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtISampler3D, qual, (yylsp[0]));
+ (yyval.interm.type).setBasic(EbtSampler2DArray, qual, (yylsp[0]));
}
break;
@@ -4188,7 +4188,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtISamplerCube, qual, (yylsp[0]));
+ (yyval.interm.type).setBasic(EbtISampler2D, qual, (yylsp[0]));
}
break;
@@ -4197,7 +4197,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtISampler2DArray, qual, (yylsp[0]));
+ (yyval.interm.type).setBasic(EbtISampler3D, qual, (yylsp[0]));
}
break;
@@ -4206,7 +4206,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtUSampler2D, qual, (yylsp[0]));
+ (yyval.interm.type).setBasic(EbtISamplerCube, qual, (yylsp[0]));
}
break;
@@ -4215,7 +4215,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtUSampler3D, qual, (yylsp[0]));
+ (yyval.interm.type).setBasic(EbtISampler2DArray, qual, (yylsp[0]));
}
break;
@@ -4224,7 +4224,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtUSamplerCube, qual, (yylsp[0]));
+ (yyval.interm.type).setBasic(EbtUSampler2D, qual, (yylsp[0]));
}
break;
@@ -4233,7 +4233,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtUSampler2DArray, qual, (yylsp[0]));
+ (yyval.interm.type).setBasic(EbtUSampler3D, qual, (yylsp[0]));
}
break;
@@ -4242,7 +4242,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtSampler2DShadow, qual, (yylsp[0]));
+ (yyval.interm.type).setBasic(EbtUSamplerCube, qual, (yylsp[0]));
}
break;
@@ -4251,7 +4251,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtSamplerCubeShadow, qual, (yylsp[0]));
+ (yyval.interm.type).setBasic(EbtUSampler2DArray, qual, (yylsp[0]));
}
break;
@@ -4260,7 +4260,7 @@
{
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
- (yyval.interm.type).setBasic(EbtSampler2DArrayShadow, qual, (yylsp[0]));
+ (yyval.interm.type).setBasic(EbtSampler2DShadow, qual, (yylsp[0]));
}
break;
@@ -4268,6 +4268,24 @@
case 199:
{
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtSamplerCubeShadow, qual, (yylsp[0]));
+ }
+
+ break;
+
+ case 200:
+
+ {
+ TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
+ (yyval.interm.type).setBasic(EbtSampler2DArrayShadow, qual, (yylsp[0]));
+ }
+
+ break;
+
+ case 201:
+
+ {
if (!context->supportsExtension("GL_OES_EGL_image_external")) {
context->error((yylsp[0]), "unsupported type", "samplerExternalOES");
context->recover();
@@ -4278,7 +4296,7 @@
break;
- case 200:
+ case 202:
{
if (!context->supportsExtension("GL_ARB_texture_rectangle")) {
@@ -4291,7 +4309,7 @@
break;
- case 201:
+ case 203:
{
(yyval.interm.type) = (yyvsp[0].interm.type);
@@ -4300,7 +4318,7 @@
break;
- case 202:
+ case 204:
{
//
@@ -4315,13 +4333,13 @@
break;
- case 203:
+ case 205:
{ if (context->enterStructDeclaration((yylsp[-1]), *(yyvsp[-1].lex).string)) context->recover(); }
break;
- case 204:
+ case 206:
{
(yyval.interm.type) = context->addStructure((yylsp[-5]), (yylsp[-4]), (yyvsp[-4].lex).string, (yyvsp[-1].interm.fieldList));
@@ -4329,13 +4347,13 @@
break;
- case 205:
+ case 207:
{ if (context->enterStructDeclaration((yylsp[0]), *(yyvsp[0].lex).string)) context->recover(); }
break;
- case 206:
+ case 208:
{
(yyval.interm.type) = context->addStructure((yylsp[-4]), (yyloc), NewPoolTString(""), (yyvsp[-1].interm.fieldList));
@@ -4343,7 +4361,7 @@
break;
- case 207:
+ case 209:
{
(yyval.interm.fieldList) = (yyvsp[0].interm.fieldList);
@@ -4351,7 +4369,7 @@
break;
- case 208:
+ case 210:
{
(yyval.interm.fieldList) = (yyvsp[-1].interm.fieldList);
@@ -4369,7 +4387,7 @@
break;
- case 209:
+ case 211:
{
(yyval.interm.fieldList) = context->addStructDeclaratorList((yyvsp[-2].interm.type), (yyvsp[-1].interm.fieldList));
@@ -4377,7 +4395,7 @@
break;
- case 210:
+ case 212:
{
// ES3 Only, but errors should be handled elsewhere
@@ -4388,7 +4406,7 @@
break;
- case 211:
+ case 213:
{
(yyval.interm.fieldList) = NewPoolTFieldList();
@@ -4397,7 +4415,7 @@
break;
- case 212:
+ case 214:
{
(yyval.interm.fieldList)->push_back((yyvsp[0].interm.field));
@@ -4405,7 +4423,7 @@
break;
- case 213:
+ case 215:
{
if (context->reservedErrorCheck((yylsp[0]), *(yyvsp[0].lex).string))
@@ -4417,7 +4435,7 @@
break;
- case 214:
+ case 216:
{
if (context->reservedErrorCheck((yylsp[-3]), *(yyvsp[-3].lex).string))
@@ -4434,21 +4452,9 @@
break;
- case 215:
-
- { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-
- break;
-
- case 216:
-
- { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-
- break;
-
case 217:
- { (yyval.interm.intermNode) = (yyvsp[0].interm.intermAggregate); }
+ { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
break;
@@ -4460,7 +4466,7 @@
case 219:
- { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermAggregate); }
break;
@@ -4478,48 +4484,60 @@
case 222:
- { (yyval.interm.intermNode) = (yyvsp[0].interm.intermSwitch); }
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
break;
case 223:
- { (yyval.interm.intermNode) = (yyvsp[0].interm.intermCase); }
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
break;
case 224:
- { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermSwitch); }
break;
case 225:
- { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermCase); }
break;
case 226:
- { (yyval.interm.intermAggregate) = 0; }
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
break;
case 227:
- { context->symbolTable.push(); }
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
break;
case 228:
- { context->symbolTable.pop(); }
+ { (yyval.interm.intermAggregate) = 0; }
break;
case 229:
+ { context->symbolTable.push(); }
+
+ break;
+
+ case 230:
+
+ { context->symbolTable.pop(); }
+
+ break;
+
+ case 231:
+
{
if ((yyvsp[-2].interm.intermAggregate) != 0) {
(yyvsp[-2].interm.intermAggregate)->setOp(EOpSequence);
@@ -4530,27 +4548,15 @@
break;
- case 230:
-
- { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-
- break;
-
- case 231:
-
- { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-
- break;
-
case 232:
- { context->symbolTable.push(); }
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
break;
case 233:
- { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
break;
@@ -4568,13 +4574,25 @@
case 236:
+ { context->symbolTable.push(); }
+
+ break;
+
+ case 237:
+
+ { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+
+ break;
+
+ case 238:
+
{
(yyval.interm.intermNode) = 0;
}
break;
- case 237:
+ case 239:
{
if ((yyvsp[-1].interm.intermAggregate)) {
@@ -4586,7 +4604,7 @@
break;
- case 238:
+ case 240:
{
(yyval.interm.intermAggregate) = context->intermediate.makeAggregate((yyvsp[0].interm.intermNode), (yyloc));
@@ -4594,7 +4612,7 @@
break;
- case 239:
+ case 241:
{
(yyval.interm.intermAggregate) = context->intermediate.growAggregate((yyvsp[-1].interm.intermAggregate), (yyvsp[0].interm.intermNode), (yyloc));
@@ -4602,19 +4620,19 @@
break;
- case 240:
+ case 242:
{ (yyval.interm.intermNode) = 0; }
break;
- case 241:
+ case 243:
{ (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[-1].interm.intermTypedNode)); }
break;
- case 242:
+ case 244:
{
if (context->boolErrorCheck((yylsp[-4]), (yyvsp[-2].interm.intermTypedNode)))
@@ -4624,7 +4642,7 @@
break;
- case 243:
+ case 245:
{
(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);
@@ -4633,7 +4651,7 @@
break;
- case 244:
+ case 246:
{
(yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode);
@@ -4642,13 +4660,13 @@
break;
- case 245:
+ case 247:
{ ++context->mSwitchNestingLevel; }
break;
- case 246:
+ case 248:
{
(yyval.interm.intermSwitch) = context->addSwitch((yyvsp[-3].interm.intermTypedNode), (yyvsp[0].interm.intermAggregate), (yylsp[-5]));
@@ -4657,7 +4675,7 @@
break;
- case 247:
+ case 249:
{
(yyval.interm.intermCase) = context->addCase((yyvsp[-1].interm.intermTypedNode), (yylsp[-2]));
@@ -4665,7 +4683,7 @@
break;
- case 248:
+ case 250:
{
(yyval.interm.intermCase) = context->addDefault((yylsp[-1]));
@@ -4673,7 +4691,7 @@
break;
- case 249:
+ case 251:
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
@@ -4683,7 +4701,7 @@
break;
- case 250:
+ case 252:
{
TIntermNode *intermNode;
@@ -4700,13 +4718,13 @@
break;
- case 251:
+ case 253:
{ context->symbolTable.push(); ++context->mLoopNestingLevel; }
break;
- case 252:
+ case 254:
{
context->symbolTable.pop();
@@ -4716,13 +4734,13 @@
break;
- case 253:
+ case 255:
{ ++context->mLoopNestingLevel; }
break;
- case 254:
+ case 256:
{
if (context->boolErrorCheck((yylsp[0]), (yyvsp[-2].interm.intermTypedNode)))
@@ -4734,13 +4752,13 @@
break;
- case 255:
+ case 257:
{ context->symbolTable.push(); ++context->mLoopNestingLevel; }
break;
- case 256:
+ case 258:
{
context->symbolTable.pop();
@@ -4750,26 +4768,10 @@
break;
- case 257:
-
- {
- (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
- }
-
- break;
-
- case 258:
-
- {
- (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
- }
-
- break;
-
case 259:
{
- (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
+ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
break;
@@ -4777,7 +4779,7 @@
case 260:
{
- (yyval.interm.intermTypedNode) = 0;
+ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
break;
@@ -4785,13 +4787,29 @@
case 261:
{
+ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
+ }
+
+ break;
+
+ case 262:
+
+ {
+ (yyval.interm.intermTypedNode) = 0;
+ }
+
+ break;
+
+ case 263:
+
+ {
(yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode);
(yyval.interm.nodePair).node2 = 0;
}
break;
- case 262:
+ case 264:
{
(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode);
@@ -4800,7 +4818,7 @@
break;
- case 263:
+ case 265:
{
(yyval.interm.intermNode) = context->addBranch(EOpContinue, (yylsp[-1]));
@@ -4808,7 +4826,7 @@
break;
- case 264:
+ case 266:
{
(yyval.interm.intermNode) = context->addBranch(EOpBreak, (yylsp[-1]));
@@ -4816,7 +4834,7 @@
break;
- case 265:
+ case 267:
{
(yyval.interm.intermNode) = context->addBranch(EOpReturn, (yylsp[-1]));
@@ -4824,7 +4842,7 @@
break;
- case 266:
+ case 268:
{
(yyval.interm.intermNode) = context->addBranch(EOpReturn, (yyvsp[-1].interm.intermTypedNode), (yylsp[-2]));
@@ -4832,7 +4850,7 @@
break;
- case 267:
+ case 269:
{
FRAG_ONLY("discard", (yylsp[-1]));
@@ -4841,7 +4859,7 @@
break;
- case 268:
+ case 270:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
@@ -4850,7 +4868,7 @@
break;
- case 269:
+ case 271:
{
(yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode), (yyloc));
@@ -4859,25 +4877,25 @@
break;
- case 270:
-
- {
- (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
- }
-
- break;
-
- case 271:
-
- {
- (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
- }
-
- break;
-
case 272:
{
+ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
+ }
+
+ break;
+
+ case 273:
+
+ {
+ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
+ }
+
+ break;
+
+ case 274:
+
+ {
TFunction* function = (yyvsp[0].interm).function;
const TSymbol *builtIn = context->symbolTable.findBuiltIn(function->getMangledName(), context->shaderVersion);
@@ -4971,7 +4989,7 @@
break;
- case 273:
+ case 275:
{
//?? Check that all paths return a value if return type != void ?
diff --git a/src/compiler/translator/util.cpp b/src/compiler/translator/util.cpp
index 6668a20..b0fdb86 100644
--- a/src/compiler/translator/util.cpp
+++ b/src/compiler/translator/util.cpp
@@ -299,6 +299,10 @@
{
case EvqVaryingIn:
case EvqVaryingOut:
+ case EvqVertexOut:
+ case EvqSmoothOut:
+ case EvqFlatOut:
+ case EvqCentroidOut:
if (mSymbolTable.isVaryingInvariant(std::string(name.c_str())) || type.isInvariant())
{
variable->isInvariant = true;