Implement parsing switch statements
Put in some groundwork for parsing switch statements and case labels in
the parser, including definitions for IntermNode classes. Intermediate
functions for adding the statements are stubbed to only generate errors
for now.
Tested by manually disabling shading language version checks for switch
in a Chromium build and checking that the expected errors are generated.
BUG=angle:921
Change-Id: I064b3e0c4c1b724a083cf5bc78eebfdd3794eb1b
Reviewed-on: https://chromium-review.googlesource.com/250380
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/compiler/translator/IntermNode.cpp b/src/compiler/translator/IntermNode.cpp
index 6ebe86f..7b83fde 100644
--- a/src/compiler/translator/IntermNode.cpp
+++ b/src/compiler/translator/IntermNode.cpp
@@ -244,6 +244,21 @@
return false;
}
+bool TIntermSwitch::replaceChildNode(
+ TIntermNode *original, TIntermNode *replacement)
+{
+ REPLACE_IF_IS(mInit, TIntermTyped, original, replacement);
+ REPLACE_IF_IS(mStatementList, TIntermAggregate, original, replacement);
+ return false;
+}
+
+bool TIntermCase::replaceChildNode(
+ TIntermNode *original, TIntermNode *replacement)
+{
+ REPLACE_IF_IS(mCondition, TIntermTyped, original, replacement);
+ return false;
+}
+
//
// Say whether or not an operation node changes the value of a variable.
//
diff --git a/src/compiler/translator/IntermNode.h b/src/compiler/translator/IntermNode.h
index 3ea3691..5e09718 100644
--- a/src/compiler/translator/IntermNode.h
+++ b/src/compiler/translator/IntermNode.h
@@ -33,6 +33,8 @@
class TIntermUnary;
class TIntermConstantUnion;
class TIntermSelection;
+class TIntermSwitch;
+class TIntermCase;
class TIntermTyped;
class TIntermSymbol;
class TIntermLoop;
@@ -66,6 +68,8 @@
virtual TIntermBinary *getAsBinaryNode() { return 0; }
virtual TIntermUnary *getAsUnaryNode() { return 0; }
virtual TIntermSelection *getAsSelectionNode() { return 0; }
+ virtual TIntermSwitch *getAsSwitchNode() { return 0; }
+ virtual TIntermCase *getAsCaseNode() { return 0; }
virtual TIntermSymbol *getAsSymbolNode() { return 0; }
virtual TIntermLoop *getAsLoopNode() { return 0; }
virtual TIntermRaw *getAsRawNode() { return 0; }
@@ -453,7 +457,7 @@
};
//
-// For if tests. Simplified since there is no switch statement.
+// For if tests.
//
class TIntermSelection : public TIntermTyped
{
@@ -489,6 +493,55 @@
TIntermNode *mFalseBlock;
};
+//
+// Switch statement.
+//
+class TIntermSwitch : public TIntermNode
+{
+ public:
+ TIntermSwitch(TIntermTyped *init, TIntermAggregate *statementList)
+ : TIntermNode(),
+ mInit(init),
+ mStatementList(statementList)
+ {
+ }
+
+ void traverse(TIntermTraverser *it) override;
+ bool replaceChildNode(
+ TIntermNode *original, TIntermNode *replacement) override;
+
+ TIntermSwitch *getAsSwitchNode() override { return this; }
+
+ protected:
+ TIntermTyped *mInit;
+ TIntermAggregate *mStatementList;
+};
+
+//
+// Case label.
+//
+class TIntermCase : public TIntermNode
+{
+ public:
+ TIntermCase(TIntermTyped *condition)
+ : TIntermNode(),
+ mCondition(condition)
+ {
+ }
+
+ void traverse(TIntermTraverser *it) override;
+ bool replaceChildNode(
+ TIntermNode *original, TIntermNode *replacement) override;
+
+ TIntermCase *getAsCaseNode() override { return this; }
+
+ bool hasCondition() const { return mCondition != nullptr; }
+ TIntermTyped *getCondition() const { return mCondition; }
+
+ protected:
+ TIntermTyped *mCondition;
+};
+
enum Visit
{
PreVisit,
@@ -525,6 +578,8 @@
virtual bool visitBinary(Visit, TIntermBinary *) { return true; }
virtual bool visitUnary(Visit, TIntermUnary *) { return true; }
virtual bool visitSelection(Visit, TIntermSelection *) { return true; }
+ virtual bool visitSwitch(Visit, TIntermSwitch *) { return true; }
+ virtual bool visitCase(Visit, TIntermCase *) { return true; }
virtual bool visitAggregate(Visit, TIntermAggregate *) { return true; }
virtual bool visitLoop(Visit, TIntermLoop *) { return true; }
virtual bool visitBranch(Visit, TIntermBranch *) { return true; }
diff --git a/src/compiler/translator/IntermTraverse.cpp b/src/compiler/translator/IntermTraverse.cpp
index 72b2033..7a7efb7 100644
--- a/src/compiler/translator/IntermTraverse.cpp
+++ b/src/compiler/translator/IntermTraverse.cpp
@@ -194,6 +194,60 @@
}
//
+// Traverse a switch node. Same comments in binary node apply here.
+//
+void TIntermSwitch::traverse(TIntermTraverser *it)
+{
+ bool visit = true;
+
+ if (it->preVisit)
+ visit = it->visitSwitch(PreVisit, this);
+
+ if (visit)
+ {
+ it->incrementDepth(this);
+ if (it->rightToLeft)
+ {
+ if (mStatementList)
+ mStatementList->traverse(it);
+ if (it->inVisit)
+ visit = it->visitSwitch(InVisit, this);
+ if (visit)
+ mInit->traverse(it);
+ }
+ else
+ {
+ mInit->traverse(it);
+ if (it->inVisit)
+ visit = it->visitSwitch(InVisit, this);
+ if (visit && mStatementList)
+ mStatementList->traverse(it);
+ }
+ it->decrementDepth();
+ }
+
+ if (visit && it->postVisit)
+ it->visitSwitch(PostVisit, this);
+}
+
+//
+// Traverse a switch node. Same comments in binary node apply here.
+//
+void TIntermCase::traverse(TIntermTraverser *it)
+{
+ bool visit = true;
+
+ if (it->preVisit)
+ visit = it->visitCase(PreVisit, this);
+
+ if (visit && mCondition)
+ mCondition->traverse(it);
+
+ if (visit && it->postVisit)
+ it->visitCase(PostVisit, this);
+}
+
+//
// Traverse a loop node. Same comments in binary node apply here.
//
void TIntermLoop::traverse(TIntermTraverser *it)
diff --git a/src/compiler/translator/Intermediate.cpp b/src/compiler/translator/Intermediate.cpp
index 5e29cd2..e5dc968 100644
--- a/src/compiler/translator/Intermediate.cpp
+++ b/src/compiler/translator/Intermediate.cpp
@@ -458,6 +458,22 @@
return node;
}
+TIntermSwitch *TIntermediate::addSwitch(
+ TIntermTyped *init, TIntermAggregate *statementList, const TSourceLoc &line)
+{
+ mInfoSink.info.message(EPrefixInternalError, line,
+ "Switch statements are disabled for now");
+ return nullptr;
+}
+
+TIntermCase *TIntermediate::addCase(
+ TIntermTyped *condition, const TSourceLoc &line)
+{
+ mInfoSink.info.message(EPrefixInternalError, line,
+ "Case labels and default labels are disabled for now");
+ return nullptr;
+}
+
//
// Constant terminal nodes. Has a union that contains bool, float or int constants
//
diff --git a/src/compiler/translator/Intermediate.h b/src/compiler/translator/Intermediate.h
index cb5b060..b6c2455 100644
--- a/src/compiler/translator/Intermediate.h
+++ b/src/compiler/translator/Intermediate.h
@@ -43,6 +43,10 @@
TIntermNode *addSelection(TIntermTyped *cond, TIntermNodePair code, const TSourceLoc &);
TIntermTyped *addSelection(
TIntermTyped *cond, TIntermTyped *trueBlock, TIntermTyped *falseBlock, const TSourceLoc &);
+ TIntermSwitch *addSwitch(
+ TIntermTyped *init, TIntermAggregate *statementList, const TSourceLoc &line);
+ TIntermCase *addCase(
+ TIntermTyped *condition, const TSourceLoc &line);
TIntermTyped *addComma(
TIntermTyped *left, TIntermTyped *right, const TSourceLoc &);
TIntermConstantUnion *addConstantUnion(ConstantUnion *, const TType &, const TSourceLoc &);
diff --git a/src/compiler/translator/ParseContext.cpp b/src/compiler/translator/ParseContext.cpp
index 5c89a3b..f4a29db 100644
--- a/src/compiler/translator/ParseContext.cpp
+++ b/src/compiler/translator/ParseContext.cpp
@@ -2608,6 +2608,42 @@
return publicType;
}
+TIntermSwitch *TParseContext::addSwitch(TIntermTyped *init, TIntermAggregate *statementList, const TSourceLoc &loc)
+{
+ TIntermSwitch *node = intermediate.addSwitch(init, statementList, loc);
+ if (node == nullptr)
+ {
+ error(loc, "erroneous switch statement", "switch");
+ recover();
+ return nullptr;
+ }
+ return node;
+}
+
+TIntermCase *TParseContext::addCase(TIntermTyped *condition, const TSourceLoc &loc)
+{
+ TIntermCase *node = intermediate.addCase(condition, loc);
+ if (node == nullptr)
+ {
+ error(loc, "erroneous case statement", "case");
+ recover();
+ return nullptr;
+ }
+ return node;
+}
+
+TIntermCase *TParseContext::addDefault(const TSourceLoc &loc)
+{
+ TIntermCase *node = intermediate.addCase(nullptr, loc);
+ if (node == nullptr)
+ {
+ error(loc, "erroneous default statement", "default");
+ recover();
+ return nullptr;
+ }
+ return node;
+}
+
TIntermTyped *TParseContext::addUnaryMath(TOperator op, TIntermTyped *child, const TSourceLoc &loc)
{
TIntermTyped *node = intermediate.addUnaryMath(op, child, loc);
diff --git a/src/compiler/translator/ParseContext.h b/src/compiler/translator/ParseContext.h
index b712730..a4e28de 100644
--- a/src/compiler/translator/ParseContext.h
+++ b/src/compiler/translator/ParseContext.h
@@ -164,6 +164,10 @@
bool structNestingErrorCheck(const TSourceLoc& line, const TField& field);
+ TIntermSwitch *addSwitch(TIntermTyped *init, TIntermAggregate *statementList, const TSourceLoc &loc);
+ TIntermCase *addCase(TIntermTyped *condition, const TSourceLoc &loc);
+ TIntermCase *addDefault(const TSourceLoc &loc);
+
TIntermTyped *addUnaryMath(TOperator op, TIntermTyped *child, const TSourceLoc &);
TIntermTyped *addUnaryMathLValue(TOperator op, TIntermTyped *child, const TSourceLoc &);
TIntermTyped *addBinaryMath(TOperator op, TIntermTyped *left, TIntermTyped *right,
diff --git a/src/compiler/translator/glslang.y b/src/compiler/translator/glslang.y
index 12a410e..95eaaf6 100644
--- a/src/compiler/translator/glslang.y
+++ b/src/compiler/translator/glslang.y
@@ -71,6 +71,8 @@
TIntermNodePair nodePair;
TIntermTyped* intermTypedNode;
TIntermAggregate* intermAggregate;
+ TIntermSwitch* intermSwitch;
+ TIntermCase* intermCase;
};
union {
TPublicType type;
@@ -178,6 +180,8 @@
%type <interm.intermNode> declaration external_declaration
%type <interm.intermNode> for_init_statement compound_statement_no_new_scope
%type <interm.nodePair> selection_rest_statement for_rest_statement
+%type <interm.intermSwitch> switch_statement
+%type <interm.intermCase> case_label
%type <interm.intermNode> iteration_statement jump_statement statement_no_new_scope statement_with_scope
%type <interm> single_declaration init_declarator_list
@@ -1521,12 +1525,14 @@
| simple_statement { $$ = $1; }
;
-// Grammar Note: No labeled statements; 'goto' is not supported.
+// Grammar Note: Labeled statements for SWITCH only; 'goto' is not supported.
simple_statement
: declaration_statement { $$ = $1; }
| expression_statement { $$ = $1; }
| selection_statement { $$ = $1; }
+ | switch_statement { $$ = $1; }
+ | case_label { $$ = $1; }
| iteration_statement { $$ = $1; }
| jump_statement { $$ = $1; }
;
@@ -1599,7 +1605,20 @@
}
;
-// Grammar Note: No 'switch'. Switch statements not supported.
+switch_statement
+ : SWITCH LEFT_PAREN expression RIGHT_PAREN compound_statement {
+ $$ = context->addSwitch($3, $5, @1);
+ }
+ ;
+
+case_label
+ : CASE constant_expression COLON {
+ $$ = context->addCase($2, @1);
+ }
+ | DEFAULT COLON {
+ $$ = context->addDefault(@1);
+ }
+ ;
condition
// In 1996 c++ draft, conditions can include single declarations
diff --git a/src/compiler/translator/glslang_tab.cpp b/src/compiler/translator/glslang_tab.cpp
index 2f85c46..21b3024 100644
--- a/src/compiler/translator/glslang_tab.cpp
+++ b/src/compiler/translator/glslang_tab.cpp
@@ -286,6 +286,8 @@
TIntermNodePair nodePair;
TIntermTyped* intermTypedNode;
TIntermAggregate* intermAggregate;
+ TIntermSwitch* intermSwitch;
+ TIntermCase* intermCase;
};
union {
TPublicType type;
@@ -619,16 +621,16 @@
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 114
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2394
+#define YYLAST 2308
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 128
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 91
+#define YYNNTS 93
/* YYNRULES -- Number of rules. */
-#define YYNRULES 263
+#define YYNRULES 268
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 392
+#define YYNSTATES 404
/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
by yylex, with out-of-bounds checking. */
@@ -687,33 +689,33 @@
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 205, 205, 206, 209, 233, 236, 241, 246, 251,
- 256, 262, 265, 268, 271, 274, 277, 283, 291, 402,
- 405, 413, 416, 422, 426, 433, 439, 448, 456, 459,
- 469, 472, 475, 478, 488, 489, 490, 491, 499, 500,
- 503, 506, 513, 514, 517, 523, 524, 528, 535, 536,
- 539, 542, 545, 551, 552, 555, 561, 562, 569, 570,
- 577, 578, 585, 586, 592, 593, 599, 600, 606, 607,
- 624, 625, 638, 639, 640, 641, 645, 646, 647, 651,
- 655, 659, 663, 670, 673, 684, 692, 700, 727, 733,
- 744, 748, 752, 756, 763, 819, 822, 829, 837, 858,
- 879, 889, 917, 922, 932, 937, 947, 950, 953, 956,
- 962, 969, 972, 976, 980, 984, 991, 995, 999, 1006,
- 1010, 1014, 1021, 1030, 1036, 1039, 1045, 1051, 1058, 1067,
- 1076, 1084, 1087, 1094, 1098, 1105, 1108, 1112, 1116, 1125,
- 1134, 1142, 1152, 1164, 1167, 1170, 1176, 1183, 1186, 1192,
- 1195, 1198, 1204, 1207, 1222, 1226, 1230, 1234, 1238, 1242,
- 1247, 1252, 1257, 1262, 1267, 1272, 1277, 1282, 1287, 1292,
- 1297, 1302, 1307, 1312, 1317, 1322, 1327, 1332, 1337, 1342,
- 1347, 1351, 1355, 1359, 1363, 1367, 1371, 1375, 1379, 1383,
- 1387, 1391, 1395, 1399, 1403, 1407, 1415, 1423, 1427, 1440,
- 1440, 1443, 1443, 1449, 1452, 1468, 1471, 1480, 1484, 1490,
- 1497, 1512, 1516, 1520, 1521, 1527, 1528, 1529, 1530, 1531,
- 1535, 1536, 1536, 1536, 1546, 1547, 1551, 1551, 1552, 1552,
- 1557, 1560, 1570, 1573, 1579, 1580, 1584, 1592, 1596, 1606,
- 1611, 1628, 1628, 1633, 1633, 1640, 1640, 1648, 1651, 1657,
- 1660, 1666, 1670, 1677, 1680, 1683, 1686, 1689, 1698, 1702,
- 1709, 1712, 1718, 1718
+ 0, 209, 209, 210, 213, 237, 240, 245, 250, 255,
+ 260, 266, 269, 272, 275, 278, 281, 287, 295, 406,
+ 409, 417, 420, 426, 430, 437, 443, 452, 460, 463,
+ 473, 476, 479, 482, 492, 493, 494, 495, 503, 504,
+ 507, 510, 517, 518, 521, 527, 528, 532, 539, 540,
+ 543, 546, 549, 555, 556, 559, 565, 566, 573, 574,
+ 581, 582, 589, 590, 596, 597, 603, 604, 610, 611,
+ 628, 629, 642, 643, 644, 645, 649, 650, 651, 655,
+ 659, 663, 667, 674, 677, 688, 696, 704, 731, 737,
+ 748, 752, 756, 760, 767, 823, 826, 833, 841, 862,
+ 883, 893, 921, 926, 936, 941, 951, 954, 957, 960,
+ 966, 973, 976, 980, 984, 988, 995, 999, 1003, 1010,
+ 1014, 1018, 1025, 1034, 1040, 1043, 1049, 1055, 1062, 1071,
+ 1080, 1088, 1091, 1098, 1102, 1109, 1112, 1116, 1120, 1129,
+ 1138, 1146, 1156, 1168, 1171, 1174, 1180, 1187, 1190, 1196,
+ 1199, 1202, 1208, 1211, 1226, 1230, 1234, 1238, 1242, 1246,
+ 1251, 1256, 1261, 1266, 1271, 1276, 1281, 1286, 1291, 1296,
+ 1301, 1306, 1311, 1316, 1321, 1326, 1331, 1336, 1341, 1346,
+ 1351, 1355, 1359, 1363, 1367, 1371, 1375, 1379, 1383, 1387,
+ 1391, 1395, 1399, 1403, 1407, 1411, 1419, 1427, 1431, 1444,
+ 1444, 1447, 1447, 1453, 1456, 1472, 1475, 1484, 1488, 1494,
+ 1501, 1516, 1520, 1524, 1525, 1531, 1532, 1533, 1534, 1535,
+ 1536, 1537, 1541, 1542, 1542, 1542, 1552, 1553, 1557, 1557,
+ 1558, 1558, 1563, 1566, 1576, 1579, 1585, 1586, 1590, 1598,
+ 1602, 1609, 1615, 1618, 1625, 1630, 1647, 1647, 1652, 1652,
+ 1659, 1659, 1667, 1670, 1676, 1679, 1685, 1689, 1696, 1699,
+ 1702, 1705, 1708, 1717, 1721, 1728, 1731, 1737, 1737
};
#endif
@@ -773,8 +775,9 @@
"compound_statement", "$@3", "$@4", "statement_no_new_scope",
"statement_with_scope", "$@5", "$@6", "compound_statement_no_new_scope",
"statement_list", "expression_statement", "selection_statement",
- "selection_rest_statement", "condition", "iteration_statement", "$@7",
- "$@8", "$@9", "for_init_statement", "conditionopt", "for_rest_statement",
+ "selection_rest_statement", "switch_statement", "case_label",
+ "condition", "iteration_statement", "$@7", "$@8", "$@9",
+ "for_init_statement", "conditionopt", "for_rest_statement",
"jump_statement", "translation_unit", "external_declaration",
"function_definition", "$@10", YY_NULLPTR
};
@@ -801,12 +804,12 @@
};
# endif
-#define YYPACT_NINF -341
+#define YYPACT_NINF -334
#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-341)))
+ (!!((Yystate) == (-334)))
-#define YYTABLE_NINF -227
+#define YYTABLE_NINF -229
#define yytable_value_is_error(Yytable_value) \
0
@@ -815,46 +818,47 @@
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 2032, -25, -341, -341, -341, 147, -341, -341, -341, -341,
- -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
- -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
- -341, -341, -341, -341, -341, -341, -341, 98, -341, -341,
- -42, -341, -341, -341, -341, -341, -341, -341, -341, -341,
- -341, -341, -341, -341, -341, -341, -341, -341, -341, -57,
- -341, -341, -55, -28, -30, 2, -66, -341, 99, 14,
- 1149, -341, -341, 2317, 14, -341, -19, -341, 1957, -341,
- -341, -341, -341, 2317, -341, -341, -341, -341, -341, 21,
- 37, -341, 26, -341, 55, -341, -341, -341, -341, -341,
- 2181, 114, 104, -341, 53, -82, -341, 58, -341, 2107,
- -341, -341, -341, 1510, -341, -341, 56, 2107, -341, 48,
- -83, -341, 377, -341, -341, -341, -341, 104, 2181, -38,
- -341, 1219, 1510, -341, 129, 2181, 104, 1702, -341, 73,
- -341, -341, -341, -341, 1510, 1510, 1510, -341, -341, -341,
- -341, -341, -341, -60, -341, -341, -341, 77, -13, 1605,
- 93, -341, 1510, 44, 15, 100, -51, 97, 76, 83,
- 85, 119, 118, -65, -341, 105, -341, -341, 1787, 2107,
- 109, -341, 37, 101, 103, -341, 110, 116, 108, 1317,
- 120, 117, -341, -341, 47, -341, -341, -10, -341, -55,
- 65, -341, -341, -341, -341, 493, -341, -341, -341, -341,
- 107, -341, -341, 1412, 1510, -341, 111, -341, -341, 104,
- 121, -8, -341, -56, -341, -341, -341, -3, -341, -341,
- 1510, 2249, -341, -341, 1510, 124, -341, -341, -341, 1510,
- 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510,
- 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, -341,
- -341, 1872, -341, -341, -341, -341, -341, 123, -341, 1510,
- -341, -341, 5, -341, -341, 609, -341, -341, -341, -341,
- -341, -341, -341, -341, -341, -341, -341, 1510, 1510, -341,
- -341, -341, 1510, -341, 122, -341, -341, 16, 1510, 104,
- -341, -24, -341, -341, 125, 126, 73, 130, -341, -341,
- -341, -341, -341, -341, 44, 44, 15, 15, 100, 100,
- 100, 100, -51, -51, 97, 76, 83, 85, 119, 118,
- 79, -341, 169, 26, 841, 957, 7, -341, 1054, 609,
- -341, -341, 128, -341, -341, 131, -341, 1510, -341, -341,
- 1510, 132, -341, -341, -341, -341, 1054, 123, 126, 104,
- 2181, 135, 133, -341, -341, 136, -341, 1510, -341, 134,
- 139, 216, -341, 137, 725, -341, 140, 9, 1510, 725,
- 123, 1510, -341, -341, -341, -341, 141, 126, -341, -341,
- -341, -341
+ 1946, -28, -334, -334, -334, 179, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, 91, -334, -334,
+ -40, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -90,
+ -334, -334, -88, -62, -64, 10, 5, -334, 117, 14,
+ 1161, -334, -334, 2231, 14, -334, 18, -334, 1871, -334,
+ -334, -334, -334, 2231, -334, -334, -334, -334, -334, -14,
+ 27, -334, 33, -334, 55, -334, -334, -334, -334, -334,
+ 2095, 147, 127, -334, 73, -34, -334, 87, -334, 2021,
+ -334, -334, -334, 1424, -334, -334, 67, 2021, -334, 86,
+ -4, -334, 389, -334, -334, -334, -334, 127, 2095, -21,
+ -334, 260, 1424, -334, 157, 2095, 127, 1616, -334, 101,
+ -334, -334, -334, -334, 1424, 1424, 1424, -334, -334, -334,
+ -334, -334, -334, 19, -334, -334, -334, 102, -3, 1519,
+ 107, -334, 1424, 71, -32, 126, -48, 134, 103, 106,
+ 109, 152, 151, -71, -334, 138, -334, -334, 1701, 2021,
+ 146, -334, 27, 133, 135, -334, 144, 154, 136, 1231,
+ 155, 1424, 139, 156, 153, -334, -334, 119, -334, -334,
+ 29, -334, -88, 17, -334, -334, -334, -334, 505, -334,
+ -334, -334, -334, -334, -334, 149, -334, -334, 1326, 1424,
+ -334, 158, -334, -334, 127, 150, 60, -334, -56, -334,
+ -334, -334, 1, -334, -334, 1424, 2163, -334, -334, 1424,
+ 159, -334, -334, -334, 1424, 1424, 1424, 1424, 1424, 1424,
+ 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424,
+ 1424, 1424, 1424, 1424, -334, -334, 1786, -334, -334, -334,
+ -334, -334, 160, -334, 1424, -334, -334, 61, 1424, 162,
+ -334, -334, -334, 621, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, 1424, 1424, -334, -334, -334,
+ 1424, -334, 168, -334, -334, 62, 1424, 127, -334, -25,
+ -334, -334, 169, 166, 101, 165, -334, -334, -334, -334,
+ -334, -334, 71, 71, -32, -32, 126, 126, 126, 126,
+ -48, -48, 134, 103, 106, 109, 152, 151, 116, -334,
+ 205, 33, 853, 969, 15, -334, 25, -334, 1066, 621,
+ -334, -334, 171, -334, -334, 172, -334, 1424, -334, -334,
+ 1424, 176, -334, -334, -334, -334, 1066, 160, 173, 166,
+ 127, 2095, 177, 175, -334, -334, 193, -334, 1424, -334,
+ 187, 197, 287, -334, -334, 198, 737, -334, 199, 28,
+ 1424, 737, 160, 1424, -334, -334, -334, -334, 202, 166,
+ -334, -334, -334, -334
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -868,70 +872,71 @@
128, 174, 175, 176, 177, 178, 179, 0, 125, 124,
0, 154, 180, 182, 195, 196, 183, 184, 185, 186,
187, 188, 189, 190, 191, 181, 192, 193, 194, 0,
- 198, 261, 262, 0, 96, 106, 0, 111, 116, 132,
- 0, 130, 122, 0, 133, 141, 152, 197, 0, 258,
- 260, 129, 121, 0, 138, 139, 2, 3, 201, 0,
+ 198, 266, 267, 0, 96, 106, 0, 111, 116, 132,
+ 0, 130, 122, 0, 133, 141, 152, 197, 0, 263,
+ 265, 129, 121, 0, 138, 139, 2, 3, 201, 0,
0, 87, 0, 94, 106, 126, 107, 108, 109, 97,
0, 106, 0, 88, 2, 117, 131, 0, 93, 0,
- 123, 142, 134, 0, 1, 259, 0, 0, 199, 149,
- 0, 147, 0, 263, 98, 103, 105, 110, 0, 112,
+ 123, 142, 134, 0, 1, 264, 0, 0, 199, 149,
+ 0, 147, 0, 268, 98, 103, 105, 110, 0, 112,
99, 0, 0, 86, 0, 0, 0, 0, 203, 4,
8, 6, 7, 9, 0, 0, 0, 36, 35, 37,
34, 5, 11, 30, 13, 18, 19, 0, 0, 24,
0, 38, 0, 42, 45, 48, 53, 56, 58, 60,
62, 64, 66, 68, 85, 0, 28, 89, 0, 0,
- 0, 146, 0, 0, 0, 243, 0, 0, 0, 0,
- 0, 221, 230, 234, 38, 70, 83, 0, 212, 0,
- 152, 215, 232, 214, 213, 0, 216, 217, 218, 219,
- 100, 102, 104, 0, 0, 118, 0, 211, 120, 0,
- 209, 0, 207, 0, 204, 31, 32, 0, 15, 16,
- 0, 0, 22, 21, 0, 23, 25, 27, 33, 0,
+ 0, 146, 0, 0, 0, 248, 0, 0, 0, 0,
+ 0, 0, 0, 0, 223, 232, 236, 38, 70, 83,
+ 0, 212, 0, 152, 215, 234, 214, 213, 0, 216,
+ 217, 218, 219, 220, 221, 100, 102, 104, 0, 0,
+ 118, 0, 211, 120, 0, 209, 0, 207, 0, 204,
+ 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, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 153,
- 202, 0, 150, 151, 148, 254, 253, 228, 245, 0,
- 257, 255, 0, 241, 220, 0, 73, 74, 76, 75,
- 78, 79, 80, 81, 82, 77, 72, 0, 0, 235,
- 231, 233, 0, 113, 0, 115, 119, 0, 0, 0,
- 205, 0, 90, 10, 0, 17, 2, 3, 14, 20,
- 26, 39, 40, 41, 44, 43, 46, 47, 51, 52,
- 49, 50, 54, 55, 57, 59, 61, 63, 65, 67,
- 0, 200, 0, 0, 0, 0, 0, 256, 0, 222,
+ 0, 0, 0, 0, 153, 202, 0, 150, 151, 148,
+ 259, 258, 230, 250, 0, 262, 260, 0, 0, 0,
+ 243, 246, 222, 0, 73, 74, 76, 75, 78, 79,
+ 80, 81, 82, 77, 72, 0, 0, 237, 233, 235,
+ 0, 113, 0, 115, 119, 0, 0, 0, 205, 0,
+ 90, 10, 0, 17, 2, 3, 14, 20, 26, 39,
+ 40, 41, 44, 43, 46, 47, 51, 52, 49, 50,
+ 54, 55, 57, 59, 61, 63, 65, 67, 0, 200,
+ 0, 0, 0, 0, 0, 261, 0, 242, 0, 224,
71, 84, 0, 114, 206, 0, 208, 0, 91, 12,
- 0, 0, 227, 229, 248, 247, 250, 228, 239, 0,
- 0, 0, 0, 101, 210, 0, 69, 0, 249, 0,
- 0, 238, 236, 0, 0, 223, 0, 0, 251, 0,
- 228, 0, 225, 242, 224, 92, 0, 252, 246, 237,
- 240, 244
+ 0, 0, 229, 231, 253, 252, 255, 230, 0, 244,
+ 0, 0, 0, 0, 101, 210, 0, 69, 0, 254,
+ 0, 0, 240, 238, 241, 0, 0, 225, 0, 0,
+ 256, 0, 230, 0, 227, 247, 226, 92, 0, 257,
+ 251, 239, 245, 249
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -341, -39, -341, -341, -341, -341, -341, -341, 20, -341,
- -341, -341, -341, 54, -341, -47, -41, -123, -44, -6,
- 3, -7, -2, 4, 6, -341, -98, -129, -341, -137,
- -124, -341, 8, 13, -341, -341, -341, 138, 164, 158,
- 142, -341, -341, -317, -341, -341, -99, 25, -68, 257,
- -341, -341, 82, 1, 0, -341, -341, -341, -103, -125,
- 46, -31, -209, -64, -199, -318, -341, -341, -341, -110,
- -340, -341, -341, -88, -1, -63, -341, -341, -80, -341,
- -341, -341, -341, -341, -341, -341, -341, -341, 195, -341,
- -341
+ -334, -39, -334, -334, -334, -334, -334, -334, 76, -334,
+ -334, -334, -334, -100, -334, -12, -11, -86, -15, 78,
+ 89, 85, 90, 92, 93, -334, -104, -126, -334, -136,
+ -120, -334, 4, 12, -334, -334, -334, 223, 258, 253,
+ 228, -334, -334, -324, -334, -334, -102, -44, -68, 352,
+ -334, -334, 178, -45, 0, -334, -334, -334, -99, -132,
+ 137, 51, -211, 16, -186, -325, -6, -334, -334, -26,
+ -333, -334, -334, -89, 80, 26, -334, -334, -334, -334,
+ 2, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ 292, -334, -334
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 220, 151, 152, 153, 304, 154, 155, 156, 157,
- 158, 159, 160, 194, 162, 163, 164, 165, 166, 167,
- 168, 169, 170, 171, 172, 173, 195, 196, 287, 197,
- 175, 109, 198, 199, 63, 64, 65, 125, 99, 100,
+ -1, 225, 151, 152, 153, 312, 154, 155, 156, 157,
+ 158, 159, 160, 197, 162, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 198, 199, 295, 200,
+ 175, 109, 201, 202, 63, 64, 65, 125, 99, 100,
126, 66, 67, 68, 69, 101, 70, 71, 72, 73,
74, 120, 121, 75, 176, 77, 179, 117, 137, 138,
- 221, 222, 218, 201, 202, 203, 204, 275, 362, 383,
- 332, 333, 334, 384, 205, 206, 207, 372, 361, 208,
- 338, 267, 335, 356, 369, 370, 209, 78, 79, 80,
- 92
+ 226, 227, 223, 204, 205, 206, 207, 283, 373, 395,
+ 340, 341, 342, 396, 208, 209, 210, 383, 211, 212,
+ 372, 213, 348, 272, 343, 366, 380, 381, 214, 78,
+ 79, 80, 92
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -939,314 +944,283 @@
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 76, 89, 110, 217, 123, 295, 291, 216, 61, 227,
- 135, 95, 224, 62, 178, 174, 353, 371, 135, 81,
- 301, 359, 181, 7, 131, 228, 229, 257, 182, 105,
- 236, 132, 127, 174, 86, 87, 246, 247, 135, 359,
- 389, 136, 96, 97, 98, 102, 230, 90, 103, 136,
- 231, 82, 272, 224, 27, 28, 382, 29, 302, 91,
- 127, 382, 258, 129, 95, 37, 88, 219, 213, 136,
- 76, 248, 249, 76, 111, 214, 261, 93, 76, 135,
- 135, 94, 347, 76, 116, 217, 61, 113, 210, 294,
- 348, 62, 233, 305, 106, 96, 97, 98, 234, 112,
- 76, 288, 303, 299, 289, 310, 300, -95, 288, 76,
- 136, 136, 357, 119, 386, 174, 288, 76, 288, 337,
- 288, 330, 200, 318, 319, 320, 321, 299, 76, 118,
- 344, 242, 336, 243, 122, 76, 224, 76, 84, 85,
- 291, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 2, 3, 4, 96, 97, 98, 130, 340, 341,
- 286, 180, 135, 239, 240, 241, 133, 161, 342, -28,
- 177, 113, 390, 81, 345, 104, 87, -29, 76, 76,
- 86, 87, 232, 244, 245, 161, 250, 251, 262, 263,
- 288, 350, 308, 136, 174, 314, 315, 237, 225, 226,
- 174, 358, 252, 316, 317, 200, 322, 323, 253, 254,
- 255, 256, 259, 292, 268, 265, 238, 266, 296, 358,
- 269, 366, 270, 365, 273, 351, 274, 298, -154, 343,
- 377, -226, 349, 380, -198, 363, 367, 288, 364, 360,
- 374, 387, 375, 376, 379, 352, 324, 326, 378, 174,
- 381, 309, 217, 327, 385, 391, 325, 360, 124, 128,
- 328, 76, 83, 329, 264, 297, 211, 161, 346, 388,
- 212, 354, 355, 115, 339, 200, 368, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 110, 311, 312, 313, 161, 161, 161, 161,
+ 76, 89, 110, 123, 61, 229, 222, 135, 303, 174,
+ 232, 221, 62, 161, 90, 135, 81, 363, 178, 95,
+ 309, 262, 299, 7, 370, 106, 91, 174, 111, 105,
+ 112, 161, 127, 241, 382, 135, 86, 87, 116, 251,
+ 252, 136, 370, 93, 230, 231, 229, 94, 82, 136,
+ 96, 97, 98, 277, 27, 28, 263, 29, 310, 401,
+ 127, 394, 243, 129, 95, 37, 394, 224, 88, 136,
+ 76, 279, 131, 76, 253, 254, 135, 135, 76, 132,
+ 266, 357, 61, 76, 247, 218, 248, 174, 215, 358,
+ 62, 161, 219, 222, 118, 96, 97, 98, 302, 313,
+ 76, 181, 238, 119, 233, 234, 311, 182, 239, 76,
+ 136, 136, 296, 318, 174, -95, 102, 76, 161, 103,
+ 367, -28, 203, 113, 113, 235, 296, 338, 76, 236,
+ 368, 84, 85, 398, 229, 76, 296, 76, 344, 296,
+ 296, 122, 346, 297, 319, 320, 321, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
- 161, 161, 0, 0, 0, 0, 0, 0, 0, 0,
- 373, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 200, 200, 0, 0, 200, 200,
- 0, 0, 0, 0, 0, 0, 161, 0, 0, 0,
- 0, 0, 161, 0, 0, 0, 200, 0, 0, 0,
- 76, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 200, 0, 0, 0, 0, 200,
+ 161, 161, 161, 299, 135, 326, 327, 328, 329, 350,
+ 351, 307, 296, 307, 308, 345, 354, 130, 76, 76,
+ 352, 177, 402, 2, 3, 4, 355, 96, 97, 98,
+ 244, 245, 246, 104, 87, 133, 174, 316, 136, 180,
+ 161, 81, 174, 86, 87, -29, 161, 237, 203, 249,
+ 250, 242, 369, 284, 285, 286, 287, 288, 289, 290,
+ 291, 292, 293, 255, 256, 267, 268, 296, 360, 257,
+ 369, 258, 294, 259, 377, 322, 323, 376, 324, 325,
+ 330, 331, 389, 260, 261, 264, 371, 270, 273, 271,
+ 275, 280, 362, 174, 399, 300, 306, 161, 274, 278,
+ 281, 361, 282, -154, 371, 304, 76, 222, -228, -198,
+ 8, 9, 10, 11, 347, 353, 359, 296, 374, 375,
+ 378, 194, 386, 203, 387, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 388, 390, 391, 110, 392, 31, 32, 33, 34, 35,
+ 36, 393, 317, 397, 40, 41, 403, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 385, 56, 57, 58, 332, 139, 60, 140, 141,
+ 142, 143, 203, 203, 334, 144, 145, 333, 203, 203,
+ 335, 216, 124, 336, 128, 337, 217, 83, 356, 364,
+ 269, 305, 384, 349, 146, 400, 203, 220, 379, 365,
+ 115, 76, 0, 0, 0, 147, 148, 149, 150, 0,
+ 0, 0, 0, 0, 0, 0, 203, 0, 0, 0,
+ 0, 203, 1, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 183, 184, 185, 0, 186, 187, 188,
+ 189, 190, 191, 192, 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, 193, 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, 0, 0, 0, 144, 145, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 146, 0, 0, 0, 194, 195, 0,
+ 0, 0, 0, 196, 147, 148, 149, 150, 1, 2,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 183,
+ 184, 185, 0, 186, 187, 188, 189, 190, 191, 192,
+ 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, 193, 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, 0, 0, 0,
+ 144, 145, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 146,
+ 0, 0, 0, 194, 298, 0, 0, 0, 0, 196,
+ 147, 148, 149, 150, 1, 2, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 183, 184, 185, 0, 186,
+ 187, 188, 189, 190, 191, 192, 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, 193, 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, 0, 0, 0, 144, 145, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 146, 0, 0, 0, 194,
+ 0, 0, 0, 0, 0, 196, 147, 148, 149, 150,
1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 183, 184, 185, 0, 186, 187, 188, 189, 0,
- 0, 161, 12, 13, 14, 15, 16, 17, 18, 19,
+ 11, 183, 184, 185, 0, 186, 187, 188, 189, 190,
+ 191, 192, 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, 190, 42, 43, 44, 45, 46, 47,
+ 39, 40, 41, 193, 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, 0,
0, 0, 144, 145, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 146, 0, 0, 0, 191, 192, 0, 0, 0,
- 0, 193, 147, 148, 149, 150, 1, 2, 3, 4,
+ 0, 146, 0, 0, 0, 122, 0, 0, 0, 0,
+ 0, 196, 147, 148, 149, 150, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 183, 184, 185,
- 0, 186, 187, 188, 189, 0, 0, 0, 12, 13,
+ 0, 186, 187, 188, 189, 190, 191, 192, 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, 190,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 193,
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, 0, 0, 0, 144, 145,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 146, 0, 0,
- 0, 191, 290, 0, 0, 0, 0, 193, 147, 148,
+ 0, 0, 0, 0, 0, 0, 0, 196, 147, 148,
149, 150, 1, 2, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 183, 184, 185, 0, 186, 187, 188,
- 189, 0, 0, 0, 12, 13, 14, 15, 16, 17,
+ 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, 190, 42, 43, 44, 45,
+ 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, 0, 0, 0, 144, 145, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 146, 0, 0, 0, 191, 0, 0,
- 0, 0, 0, 193, 147, 148, 149, 150, 1, 2,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 183,
- 184, 185, 0, 186, 187, 188, 189, 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, 190, 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, 0, 0, 0,
- 144, 145, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 146,
- 0, 0, 0, 122, 0, 0, 0, 0, 0, 193,
- 147, 148, 149, 150, 1, 2, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 183, 184, 185, 0, 186,
- 187, 188, 189, 0, 0, 0, 12, 13, 14, 15,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 134,
+ 2, 3, 4, 146, 6, 7, 8, 9, 10, 11,
+ 0, 0, 0, 196, 147, 148, 149, 150, 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, 0, 0,
+ 0, 144, 145, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2, 3, 4, 0, 0,
+ 146, 8, 9, 10, 11, 0, 0, 0, 0, 0,
+ 0, 147, 148, 149, 150, 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, 190, 42, 43,
+ 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, 59, 139, 60, 140,
+ 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, 0, 0, 0, 144, 145, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 146, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 193, 147, 148, 149, 150,
- 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, 0,
- 0, 0, 144, 145, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 134, 2, 3,
- 4, 146, 6, 7, 8, 9, 10, 11, 0, 0,
- 0, 193, 147, 148, 149, 150, 0, 0, 0, 12,
+ 0, 0, 0, 0, 0, 146, 8, 9, 10, 11,
+ 0, 0, 0, 0, 0, 276, 147, 148, 149, 150,
+ 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, 0, 0,
+ 0, 144, 145, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 146, 0, 0, 301, 8, 9, 10, 11, 0, 0,
+ 0, 147, 148, 149, 150, 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,
+ 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, 59,
+ 51, 52, 53, 54, 55, 0, 56, 57, 58, 0,
139, 60, 140, 141, 142, 143, 0, 0, 0, 144,
145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2, 3, 4, 0, 0, 146, 8,
+ 0, 0, 0, 0, 0, 0, 0, 0, 146, 8,
9, 10, 11, 0, 0, 0, 0, 0, 0, 147,
148, 149, 150, 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,
+ 0, 0, 0, 40, 240, 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, 0, 0, 0, 144, 145, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 134,
+ 2, 3, 4, 146, 6, 7, 8, 9, 10, 11,
+ 0, 0, 0, 0, 147, 148, 149, 150, 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, 228, 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,
- 0, 0, 0, 146, 0, 0, 215, 8, 9, 10,
- 11, 0, 0, 0, 147, 148, 149, 150, 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, 0,
- 0, 0, 144, 145, 0, 0, 0, 0, 0, 0,
+ 265, 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, 339, 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, 146, 8, 9, 10, 11, 0, 0, 0, 0,
- 0, 271, 147, 148, 149, 150, 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, 0, 0, 0, 144, 145, 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, 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,
- 0, 0, 0, 0, 0, 0, 146, 0, 0, 293,
- 8, 9, 10, 11, 0, 0, 0, 147, 148, 149,
- 150, 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, 0, 0, 0, 144, 145, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 146, 8, 9, 10, 11, 0,
- 0, 0, 0, 0, 0, 147, 148, 149, 150, 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,
- 235, 0, 42, 43, 44, 45, 46, 47, 48, 49,
+ 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, 0, 0, 0,
- 144, 145, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 134, 2, 3, 4, 146,
- 6, 7, 8, 9, 10, 11, 0, 0, 0, 0,
- 147, 148, 149, 150, 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, 223, 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, 260, 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, 331, 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,
- 134, 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, 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, 314,
+ 315, 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, 306, 307, 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
+ 54, 55, 0, 56, 57, 58, 0, 0, 60
};
static const yytype_int16 yycheck[] =
{
- 0, 40, 70, 132, 92, 214, 205, 131, 0, 146,
- 109, 9, 137, 0, 117, 113, 334, 357, 117, 44,
- 76, 338, 105, 9, 106, 85, 86, 92, 111, 68,
- 159, 113, 100, 131, 76, 77, 87, 88, 137, 356,
- 380, 109, 40, 41, 42, 111, 106, 104, 114, 117,
- 110, 76, 189, 178, 40, 41, 374, 43, 114, 114,
- 128, 379, 127, 102, 9, 51, 108, 135, 106, 137,
- 70, 122, 123, 73, 73, 113, 179, 105, 78, 178,
- 179, 111, 106, 83, 83, 214, 78, 106, 127, 213,
- 114, 78, 105, 230, 69, 40, 41, 42, 111, 74,
- 100, 111, 105, 111, 114, 234, 114, 105, 111, 109,
- 178, 179, 105, 76, 105, 213, 111, 117, 111, 114,
- 111, 258, 122, 246, 247, 248, 249, 111, 128, 108,
- 114, 116, 269, 118, 108, 135, 261, 137, 40, 41,
- 339, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 4, 5, 6, 40, 41, 42, 104, 287, 288,
- 113, 113, 261, 119, 120, 121, 108, 113, 292, 104,
- 114, 106, 381, 44, 298, 76, 77, 104, 178, 179,
- 76, 77, 105, 83, 84, 131, 89, 90, 79, 80,
- 111, 112, 231, 261, 292, 242, 243, 104, 144, 145,
- 298, 338, 126, 244, 245, 205, 250, 251, 125, 124,
- 91, 93, 107, 106, 104, 114, 162, 114, 107, 356,
- 104, 350, 114, 347, 104, 56, 109, 106, 104, 107,
- 367, 108, 107, 17, 104, 107, 104, 111, 107, 338,
- 105, 378, 109, 107, 105, 333, 252, 254, 114, 347,
- 113, 231, 381, 255, 114, 114, 253, 356, 94, 101,
- 256, 261, 5, 257, 182, 219, 128, 213, 299, 379,
- 128, 335, 335, 78, 275, 275, 356, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 360, 239, 240, 241, 242, 243, 244, 245,
- 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
- 256, 257, -1, -1, -1, -1, -1, -1, -1, -1,
- 359, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 334, 335, -1, -1, 338, 339,
- -1, -1, -1, -1, -1, -1, 292, -1, -1, -1,
- -1, -1, 298, -1, -1, -1, 356, -1, -1, -1,
- 360, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 374, -1, -1, -1, -1, 379,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, -1, 18, 19, 20, 21, -1,
- -1, 347, 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, -1,
- -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, -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, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, -1, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, -1, -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,
+ 0, 40, 70, 92, 0, 137, 132, 109, 219, 113,
+ 146, 131, 0, 113, 104, 117, 44, 342, 117, 9,
+ 76, 92, 208, 9, 348, 69, 114, 131, 73, 68,
+ 74, 131, 100, 159, 367, 137, 76, 77, 83, 87,
+ 88, 109, 366, 105, 144, 145, 178, 111, 76, 117,
+ 40, 41, 42, 189, 40, 41, 127, 43, 114, 392,
+ 128, 386, 162, 102, 9, 51, 391, 135, 108, 137,
+ 70, 191, 106, 73, 122, 123, 178, 179, 78, 113,
+ 179, 106, 78, 83, 116, 106, 118, 191, 127, 114,
+ 78, 191, 113, 219, 108, 40, 41, 42, 218, 235,
+ 100, 105, 105, 76, 85, 86, 105, 111, 111, 109,
+ 178, 179, 111, 239, 218, 105, 111, 117, 218, 114,
+ 105, 104, 122, 106, 106, 106, 111, 263, 128, 110,
+ 105, 40, 41, 105, 266, 135, 111, 137, 274, 111,
+ 111, 108, 278, 114, 244, 245, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
+ 260, 261, 262, 349, 266, 251, 252, 253, 254, 295,
+ 296, 111, 111, 111, 114, 114, 114, 104, 178, 179,
+ 300, 114, 393, 4, 5, 6, 306, 40, 41, 42,
+ 119, 120, 121, 76, 77, 108, 300, 236, 266, 113,
+ 300, 44, 306, 76, 77, 104, 306, 105, 208, 83,
+ 84, 104, 348, 94, 95, 96, 97, 98, 99, 100,
+ 101, 102, 103, 89, 90, 79, 80, 111, 112, 126,
+ 366, 125, 113, 124, 360, 247, 248, 357, 249, 250,
+ 255, 256, 378, 91, 93, 107, 348, 114, 104, 114,
+ 114, 112, 341, 357, 390, 106, 106, 357, 104, 104,
+ 104, 56, 109, 104, 366, 107, 266, 393, 108, 104,
+ 10, 11, 12, 13, 112, 107, 107, 111, 107, 107,
+ 104, 108, 105, 283, 109, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 107, 114, 105, 371, 17, 45, 46, 47, 48, 49,
+ 50, 113, 236, 114, 54, 55, 114, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 370, 72, 73, 74, 257, 76, 77, 78, 79,
+ 80, 81, 342, 343, 259, 85, 86, 258, 348, 349,
+ 260, 128, 94, 261, 101, 262, 128, 5, 307, 343,
+ 182, 224, 368, 283, 104, 391, 366, 107, 366, 343,
+ 78, 371, -1, -1, -1, 115, 116, 117, 118, -1,
+ -1, -1, -1, -1, -1, -1, 386, -1, -1, -1,
+ -1, 391, 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,
+ 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,
@@ -1254,10 +1228,10 @@
-1, 72, 73, 74, 75, 76, 77, 78, 79, 80,
81, -1, -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, 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, -1, -1, -1,
+ 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,
@@ -1266,10 +1240,10 @@
75, 76, 77, 78, 79, 80, 81, -1, -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,
+ -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, -1, -1, -1, 25, 26, 27, 28,
+ 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,
@@ -1277,152 +1251,165 @@
69, 70, -1, 72, 73, 74, 75, 76, 77, 78,
79, 80, 81, -1, -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, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 25, 26, 27, 28, 29, 30, 31, 32,
+ 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, -1, 57, 58, 59, 60, 61, 62,
+ 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, -1,
-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,
+ -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, -1, -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, -1, -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, -1, -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, -1, -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, 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, -1, -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, 40, 41, -1, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 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, 75,
+ 66, 67, 68, 69, 70, -1, 72, 73, 74, -1,
76, 77, 78, 79, 80, 81, -1, -1, -1, 85,
86, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 4, 5, 6, -1, -1, 104, 10,
+ -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, -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, -1, -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,
- -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, -1,
- -1, -1, 85, 86, -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, 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, -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, -1, -1, -1, 85, 86, -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,
- -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, -1, -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, 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, -1, -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, 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, -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, -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
+ 69, 70, -1, 72, 73, 74, -1, -1, 77
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1436,11 +1423,11 @@
54, 55, 57, 58, 59, 60, 61, 62, 63, 64,
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, 215, 216,
- 217, 44, 76, 177, 40, 41, 76, 77, 108, 129,
- 104, 114, 218, 105, 111, 9, 40, 41, 42, 166,
+ 174, 175, 176, 177, 178, 181, 182, 183, 217, 218,
+ 219, 44, 76, 177, 40, 41, 76, 77, 108, 129,
+ 104, 114, 220, 105, 111, 9, 40, 41, 42, 166,
167, 173, 111, 114, 76, 129, 175, 76, 114, 159,
- 176, 181, 175, 106, 0, 216, 181, 185, 108, 76,
+ 176, 181, 175, 106, 0, 218, 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, 85, 86, 104, 115, 116, 117,
@@ -1448,27 +1435,28 @@
140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
150, 151, 152, 153, 154, 158, 182, 114, 186, 184,
113, 105, 111, 14, 15, 16, 18, 19, 20, 21,
- 56, 108, 109, 114, 141, 154, 155, 157, 160, 161,
- 182, 191, 192, 193, 194, 202, 203, 204, 207, 214,
- 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, 209, 104, 104,
- 114, 114, 157, 104, 109, 195, 94, 95, 96, 97,
- 98, 99, 100, 101, 102, 103, 113, 156, 111, 114,
- 109, 192, 106, 107, 158, 190, 107, 188, 106, 111,
- 114, 76, 114, 105, 133, 157, 76, 77, 129, 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, 210, 157, 114, 208, 202,
+ 22, 23, 24, 56, 108, 109, 114, 141, 154, 155,
+ 157, 160, 161, 182, 191, 192, 193, 194, 202, 203,
+ 204, 206, 207, 209, 216, 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, 211, 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, 107, 188, 106, 111, 114, 76,
+ 114, 105, 133, 157, 76, 77, 129, 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, 212, 157, 114, 157, 112, 210, 202,
155, 155, 158, 107, 114, 158, 189, 106, 114, 107,
- 112, 56, 201, 193, 191, 203, 211, 105, 157, 171,
- 174, 206, 196, 107, 107, 158, 155, 104, 206, 212,
- 213, 198, 205, 129, 105, 109, 107, 157, 114, 105,
- 17, 113, 193, 197, 201, 114, 105, 157, 197, 198,
- 190, 114
+ 112, 56, 201, 193, 191, 203, 213, 105, 105, 157,
+ 171, 174, 208, 196, 107, 107, 158, 155, 104, 208,
+ 214, 215, 198, 205, 194, 129, 105, 109, 107, 157,
+ 114, 105, 17, 113, 193, 197, 201, 114, 105, 157,
+ 197, 198, 190, 114
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
@@ -1496,11 +1484,11 @@
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,
- 194, 195, 196, 194, 197, 197, 199, 198, 200, 198,
- 201, 201, 202, 202, 203, 203, 204, 205, 205, 206,
- 206, 208, 207, 209, 207, 210, 207, 211, 211, 212,
- 212, 213, 213, 214, 214, 214, 214, 214, 215, 215,
- 216, 216, 218, 217
+ 193, 193, 194, 195, 196, 194, 197, 197, 199, 198,
+ 200, 198, 201, 201, 202, 202, 203, 203, 204, 205,
+ 205, 206, 207, 207, 208, 208, 210, 209, 211, 209,
+ 212, 209, 213, 213, 214, 214, 215, 215, 216, 216,
+ 216, 216, 216, 217, 217, 218, 218, 220, 219
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -1528,11 +1516,11 @@
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, 2, 0, 0, 5, 1, 1, 0, 2,
+ 0, 2, 2, 3, 1, 2, 1, 2, 5, 3,
+ 1, 5, 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
};
@@ -4504,36 +4492,48 @@
case 218:
- { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermSwitch); }
break;
case 219:
- { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermCase); }
break;
case 220:
- { (yyval.interm.intermAggregate) = 0; }
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
break;
case 221:
- { context->symbolTable.push(); }
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
break;
case 222:
- { context->symbolTable.pop(); }
+ { (yyval.interm.intermAggregate) = 0; }
break;
case 223:
+ { context->symbolTable.push(); }
+
+ break;
+
+ case 224:
+
+ { context->symbolTable.pop(); }
+
+ break;
+
+ case 225:
+
{
if ((yyvsp[-2].interm.intermAggregate) != 0) {
(yyvsp[-2].interm.intermAggregate)->setOp(EOpSequence);
@@ -4544,27 +4544,15 @@
break;
- case 224:
-
- { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-
- break;
-
- case 225:
-
- { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-
- break;
-
case 226:
- { context->symbolTable.push(); }
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
break;
case 227:
- { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+ { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
break;
@@ -4582,13 +4570,25 @@
case 230:
+ { context->symbolTable.push(); }
+
+ break;
+
+ case 231:
+
+ { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+
+ break;
+
+ case 232:
+
{
(yyval.interm.intermNode) = 0;
}
break;
- case 231:
+ case 233:
{
if ((yyvsp[-1].interm.intermAggregate)) {
@@ -4600,7 +4600,7 @@
break;
- case 232:
+ case 234:
{
(yyval.interm.intermAggregate) = context->intermediate.makeAggregate((yyvsp[0].interm.intermNode), (yyloc));
@@ -4608,7 +4608,7 @@
break;
- case 233:
+ case 235:
{
(yyval.interm.intermAggregate) = context->intermediate.growAggregate((yyvsp[-1].interm.intermAggregate), (yyvsp[0].interm.intermNode), (yyloc));
@@ -4616,19 +4616,19 @@
break;
- case 234:
+ case 236:
{ (yyval.interm.intermNode) = 0; }
break;
- case 235:
+ case 237:
{ (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[-1].interm.intermTypedNode)); }
break;
- case 236:
+ case 238:
{
if (context->boolErrorCheck((yylsp[-4]), (yyvsp[-2].interm.intermTypedNode)))
@@ -4638,7 +4638,7 @@
break;
- case 237:
+ case 239:
{
(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);
@@ -4647,7 +4647,7 @@
break;
- case 238:
+ case 240:
{
(yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode);
@@ -4656,7 +4656,31 @@
break;
- case 239:
+ case 241:
+
+ {
+ (yyval.interm.intermSwitch) = context->addSwitch((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermAggregate), (yylsp[-4]));
+ }
+
+ break;
+
+ case 242:
+
+ {
+ (yyval.interm.intermCase) = context->addCase((yyvsp[-1].interm.intermTypedNode), (yylsp[-2]));
+ }
+
+ break;
+
+ case 243:
+
+ {
+ (yyval.interm.intermCase) = context->addDefault((yylsp[-1]));
+ }
+
+ break;
+
+ case 244:
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
@@ -4666,7 +4690,7 @@
break;
- case 240:
+ case 245:
{
TIntermNode* intermNode;
@@ -4685,13 +4709,13 @@
break;
- case 241:
+ case 246:
{ context->symbolTable.push(); ++context->mLoopNestingLevel; }
break;
- case 242:
+ case 247:
{
context->symbolTable.pop();
@@ -4701,13 +4725,13 @@
break;
- case 243:
+ case 248:
{ ++context->mLoopNestingLevel; }
break;
- case 244:
+ case 249:
{
if (context->boolErrorCheck((yylsp[0]), (yyvsp[-2].interm.intermTypedNode)))
@@ -4719,13 +4743,13 @@
break;
- case 245:
+ case 250:
{ context->symbolTable.push(); ++context->mLoopNestingLevel; }
break;
- case 246:
+ case 251:
{
context->symbolTable.pop();
@@ -4735,7 +4759,7 @@
break;
- case 247:
+ case 252:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
@@ -4743,7 +4767,7 @@
break;
- case 248:
+ case 253:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
@@ -4751,7 +4775,7 @@
break;
- case 249:
+ case 254:
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
@@ -4759,7 +4783,7 @@
break;
- case 250:
+ case 255:
{
(yyval.interm.intermTypedNode) = 0;
@@ -4767,7 +4791,7 @@
break;
- case 251:
+ case 256:
{
(yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode);
@@ -4776,7 +4800,7 @@
break;
- case 252:
+ case 257:
{
(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode);
@@ -4785,7 +4809,7 @@
break;
- case 253:
+ case 258:
{
(yyval.interm.intermNode) = context->addBranch(EOpContinue, (yylsp[-1]));
@@ -4793,7 +4817,7 @@
break;
- case 254:
+ case 259:
{
(yyval.interm.intermNode) = context->addBranch(EOpBreak, (yylsp[-1]));
@@ -4801,7 +4825,7 @@
break;
- case 255:
+ case 260:
{
(yyval.interm.intermNode) = context->addBranch(EOpReturn, (yylsp[-1]));
@@ -4809,7 +4833,7 @@
break;
- case 256:
+ case 261:
{
(yyval.interm.intermNode) = context->addBranch(EOpReturn, (yyvsp[-1].interm.intermTypedNode), (yylsp[-2]));
@@ -4817,7 +4841,7 @@
break;
- case 257:
+ case 262:
{
FRAG_ONLY("discard", (yylsp[-1]));
@@ -4826,7 +4850,7 @@
break;
- case 258:
+ case 263:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
@@ -4835,7 +4859,7 @@
break;
- case 259:
+ case 264:
{
(yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode), (yyloc));
@@ -4844,7 +4868,7 @@
break;
- case 260:
+ case 265:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
@@ -4852,7 +4876,7 @@
break;
- case 261:
+ case 266:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
@@ -4860,7 +4884,7 @@
break;
- case 262:
+ case 267:
{
TFunction* function = (yyvsp[0].interm).function;
@@ -4950,7 +4974,7 @@
break;
- case 263:
+ case 268:
{
//?? Check that all paths return a value if return type != void ?
diff --git a/src/compiler/translator/glslang_tab.h b/src/compiler/translator/glslang_tab.h
index 20c6dae..6d804f9 100644
--- a/src/compiler/translator/glslang_tab.h
+++ b/src/compiler/translator/glslang_tab.h
@@ -204,6 +204,8 @@
TIntermNodePair nodePair;
TIntermTyped* intermTypedNode;
TIntermAggregate* intermAggregate;
+ TIntermSwitch* intermSwitch;
+ TIntermCase* intermCase;
};
union {
TPublicType type;