Commit a3a36664 by Olli Etuaho

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/250380Reviewed-by: 's avatarOlli Etuaho <oetuaho@nvidia.com> Tested-by: 's avatarOlli Etuaho <oetuaho@nvidia.com>
parent a6d110e2
......@@ -244,6 +244,21 @@ bool TIntermSelection::replaceChildNode(
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.
//
......
......@@ -33,6 +33,8 @@ class TIntermBinary;
class TIntermUnary;
class TIntermConstantUnion;
class TIntermSelection;
class TIntermSwitch;
class TIntermCase;
class TIntermTyped;
class TIntermSymbol;
class TIntermLoop;
......@@ -66,6 +68,8 @@ class TIntermNode
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 @@ class TIntermAggregate : public TIntermOperator
};
//
// For if tests. Simplified since there is no switch statement.
// For if tests.
//
class TIntermSelection : public TIntermTyped
{
......@@ -489,6 +493,55 @@ protected:
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 @@ class TIntermTraverser
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; }
......
......@@ -194,6 +194,60 @@ void TIntermSelection::traverse(TIntermTraverser *it)
}
//
// 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)
......
......@@ -458,6 +458,22 @@ TIntermTyped *TIntermediate::addSelection(
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
//
......
......@@ -43,6 +43,10 @@ class TIntermediate
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 &);
......
......@@ -2608,6 +2608,42 @@ TPublicType TParseContext::addStructure(const TSourceLoc& structLine, const TSou
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);
......
......@@ -164,6 +164,10 @@ struct TParseContext {
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,
......
......@@ -71,6 +71,8 @@ WHICH GENERATES THE GLSL ES PARSER (glslang_tab.cpp AND glslang_tab.h).
TIntermNodePair nodePair;
TIntermTyped* intermTypedNode;
TIntermAggregate* intermAggregate;
TIntermSwitch* intermSwitch;
TIntermCase* intermCase;
};
union {
TPublicType type;
......@@ -178,6 +180,8 @@ extern void yyerror(YYLTYPE* yylloc, TParseContext* context, void *scanner, cons
%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 @@ statement
| 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 @@ selection_rest_statement
}
;
// 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
......
......@@ -286,6 +286,8 @@ union YYSTYPE
TIntermNodePair nodePair;
TIntermTyped* intermTypedNode;
TIntermAggregate* intermAggregate;
TIntermSwitch* intermSwitch;
TIntermCase* intermCase;
};
union {
TPublicType type;
......@@ -619,16 +621,16 @@ union yyalloc
/* 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 @@ static const yytype_uint8 yytranslate[] =
/* 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 @@ static const char *const yytname[] =
"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 @@ static const yytype_uint16 yytoknum[] =
};
# 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 @@ static const yytype_uint16 yytoknum[] =
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 @@ static const yytype_uint16 yydefact[] =
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 @@ static const yytype_int16 yydefgoto[] =
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,
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,
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, 191, 192, 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, 191, 290, 0, 0, 0, 0, 193, 147, 148,
149, 150, 1, 2, 3, 4, 5, 6, 7, 8,
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, 0, 0, 0, 12, 13, 14, 15, 16, 17,
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,
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, 0, 0,
0, 0, 0, 193, 147, 148, 149, 150, 1, 2,
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, 0, 0, 0,
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, 48, 49,
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, 122, 0, 0, 0, 0, 0, 193,
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, 0, 0, 0, 12, 13, 14, 15,
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,
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, 0,
0, 0, 0, 0, 0, 193, 147, 148, 149, 150,
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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 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, 0, 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, 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, 0, 0, 0, 0, 0,
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, 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, 0, 0, 0, 0, 0, 0, 196, 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, 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, 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, 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, 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,
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,
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, 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, 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, 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 @@ static const yytype_int16 yycheck[] =
-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 @@ static const yytype_int16 yycheck[] =
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 @@ static const yytype_int16 yycheck[] =
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,
-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,
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, -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, 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, 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 @@ static const yytype_uint8 yystos[] =
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 @@ static const yytype_uint8 yystos[] =
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 @@ static const yytype_uint8 yyr1[] =
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 @@ static const yytype_uint8 yyr2[] =
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 @@ yyreduce:
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,43 +4544,43 @@ yyreduce:
break;
case 224:
case 226:
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
break;
case 225:
case 227:
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
break;
case 226:
case 228:
{ context->symbolTable.push(); }
break;
case 227:
case 229:
{ context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
break;
case 228:
case 230:
{ context->symbolTable.push(); }
break;
case 229:
case 231:
{ context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
break;
case 230:
case 232:
{
(yyval.interm.intermNode) = 0;
......@@ -4588,7 +4588,7 @@ yyreduce:
break;
case 231:
case 233:
{
if ((yyvsp[-1].interm.intermAggregate)) {
......@@ -4600,7 +4600,7 @@ yyreduce:
break;
case 232:
case 234:
{
(yyval.interm.intermAggregate) = context->intermediate.makeAggregate((yyvsp[0].interm.intermNode), (yyloc));
......@@ -4608,7 +4608,7 @@ yyreduce:
break;
case 233:
case 235:
{
(yyval.interm.intermAggregate) = context->intermediate.growAggregate((yyvsp[-1].interm.intermAggregate), (yyvsp[0].interm.intermNode), (yyloc));
......@@ -4616,19 +4616,19 @@ yyreduce:
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 @@ yyreduce:
break;
case 237:
case 239:
{
(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);
......@@ -4647,7 +4647,7 @@ yyreduce:
break;
case 238:
case 240:
{
(yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode);
......@@ -4656,7 +4656,31 @@ yyreduce:
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 @@ yyreduce:
break;
case 240:
case 245:
{
TIntermNode* intermNode;
......@@ -4685,13 +4709,13 @@ yyreduce:
break;
case 241:
case 246:
{ context->symbolTable.push(); ++context->mLoopNestingLevel; }
break;
case 242:
case 247:
{
context->symbolTable.pop();
......@@ -4701,13 +4725,13 @@ yyreduce:
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 @@ yyreduce:
break;
case 245:
case 250:
{ context->symbolTable.push(); ++context->mLoopNestingLevel; }
break;
case 246:
case 251:
{
context->symbolTable.pop();
......@@ -4735,7 +4759,7 @@ yyreduce:
break;
case 247:
case 252:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
......@@ -4743,7 +4767,7 @@ yyreduce:
break;
case 248:
case 253:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
......@@ -4751,7 +4775,7 @@ yyreduce:
break;
case 249:
case 254:
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
......@@ -4759,7 +4783,7 @@ yyreduce:
break;
case 250:
case 255:
{
(yyval.interm.intermTypedNode) = 0;
......@@ -4767,7 +4791,7 @@ yyreduce:
break;
case 251:
case 256:
{
(yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode);
......@@ -4776,7 +4800,7 @@ yyreduce:
break;
case 252:
case 257:
{
(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode);
......@@ -4785,7 +4809,7 @@ yyreduce:
break;
case 253:
case 258:
{
(yyval.interm.intermNode) = context->addBranch(EOpContinue, (yylsp[-1]));
......@@ -4793,7 +4817,7 @@ yyreduce:
break;
case 254:
case 259:
{
(yyval.interm.intermNode) = context->addBranch(EOpBreak, (yylsp[-1]));
......@@ -4801,7 +4825,7 @@ yyreduce:
break;
case 255:
case 260:
{
(yyval.interm.intermNode) = context->addBranch(EOpReturn, (yylsp[-1]));
......@@ -4809,7 +4833,7 @@ yyreduce:
break;
case 256:
case 261:
{
(yyval.interm.intermNode) = context->addBranch(EOpReturn, (yyvsp[-1].interm.intermTypedNode), (yylsp[-2]));
......@@ -4817,7 +4841,7 @@ yyreduce:
break;
case 257:
case 262:
{
FRAG_ONLY("discard", (yylsp[-1]));
......@@ -4826,7 +4850,7 @@ yyreduce:
break;
case 258:
case 263:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
......@@ -4835,7 +4859,7 @@ yyreduce:
break;
case 259:
case 264:
{
(yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode), (yyloc));
......@@ -4844,7 +4868,7 @@ yyreduce:
break;
case 260:
case 265:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
......@@ -4852,7 +4876,7 @@ yyreduce:
break;
case 261:
case 266:
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
......@@ -4860,7 +4884,7 @@ yyreduce:
break;
case 262:
case 267:
{
TFunction* function = (yyvsp[0].interm).function;
......@@ -4950,7 +4974,7 @@ yyreduce:
break;
case 263:
case 268:
{
//?? Check that all paths return a value if return type != void ?
......
......@@ -204,6 +204,8 @@ union YYSTYPE
TIntermNodePair nodePair;
TIntermTyped* intermTypedNode;
TIntermAggregate* intermAggregate;
TIntermSwitch* intermSwitch;
TIntermCase* intermCase;
};
union {
TPublicType type;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment