summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Tolnay <dtolnay@gmail.com>2015-07-18 23:44:06 -0700
committerDavid Tolnay <dtolnay@gmail.com>2015-07-19 09:43:10 -0700
commitf5a7bba986d82e0dfc5fd7bce2b8ed78a5b970b5 (patch)
treea44b961104d70aad703d508278a835f798c5702b
parent66ef8e2c243207bb4edd88c409ce90fc95e0dffe (diff)
Resolve remaining shift/reduce conflicts involving '?'
By lowering the precedence of rules that should never use the generic Exp '?' rule.
-rw-r--r--parser.c1622
-rw-r--r--parser.h6
-rw-r--r--parser.y30
3 files changed, 850 insertions, 808 deletions
diff --git a/parser.c b/parser.c
index 0a799cb1..e5cbf95d 100644
--- a/parser.c
+++ b/parser.c
@@ -169,7 +169,8 @@ struct lexer_param;
QQSTRING_INTERP_START = 297,
QQSTRING_INTERP_END = 298,
QQSTRING_END = 299,
- FUNCDEF = 300
+ FUNCDEF = 300,
+ NONOPT = 301
};
#endif
/* Tokens. */
@@ -216,6 +217,7 @@ struct lexer_param;
#define QQSTRING_INTERP_END 298
#define QQSTRING_END 299
#define FUNCDEF 300
+#define NONOPT 301
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
@@ -227,7 +229,7 @@ union YYSTYPE
jv literal;
block blk;
-#line 231 "parser.c" /* yacc.c:355 */
+#line 233 "parser.c" /* yacc.c:355 */
};
# define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1
@@ -254,7 +256,7 @@ int yyparse (block* answer, int* errors, struct locfile* locations, struct lexer
#endif /* !YY_YY_PARSER_H_INCLUDED */
/* Copy the second part of user declarations. */
-#line 115 "parser.y" /* yacc.c:358 */
+#line 118 "parser.y" /* yacc.c:358 */
#include "lexer.h"
struct lexer_param {
@@ -410,7 +412,7 @@ static block gen_update(block object, block val, int optype) {
}
-#line 414 "parser.c" /* yacc.c:358 */
+#line 416 "parser.c" /* yacc.c:358 */
#ifdef short
# undef short
@@ -654,10 +656,10 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 27
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1919
+#define YYLAST 2110
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 67
+#define YYNTOKENS 68
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 26
/* YYNRULES -- Number of rules. */
@@ -668,7 +670,7 @@ union yyalloc
/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
by yylex, with out-of-bounds checking. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 300
+#define YYMAXUTOK 301
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -680,16 +682,16 @@ static const yytype_uint8 yytranslate[] =
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 60, 55, 2, 2,
- 58, 59, 53, 51, 47, 52, 62, 54, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 61, 57,
- 49, 48, 50, 56, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 61, 55, 2, 2,
+ 59, 60, 53, 51, 47, 52, 63, 54, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 62, 58,
+ 49, 48, 50, 57, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 63, 2, 64, 2, 2, 2, 2, 2, 2,
+ 2, 64, 2, 65, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 65, 46, 66, 2, 2, 2, 2,
+ 2, 2, 2, 66, 46, 67, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -707,29 +709,29 @@ static const yytype_uint8 yytranslate[] =
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45
+ 45, 56
};
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 273, 273, 276, 281, 284, 294, 297, 302, 305,
- 310, 314, 318, 322, 326, 330, 333, 338, 342, 346,
- 351, 363, 367, 371, 375, 379, 383, 387, 391, 395,
- 399, 403, 407, 411, 415, 419, 423, 427, 433, 439,
- 443, 447, 451, 455, 459, 463, 467, 471, 476, 485,
- 492, 498, 510, 521, 535, 540, 546, 549, 554, 559,
- 566, 566, 570, 570, 577, 580, 583, 589, 592, 597,
- 600, 603, 609, 612, 615, 623, 627, 630, 633, 636,
- 639, 642, 645, 648, 651, 655, 661, 664, 667, 670,
- 673, 676, 679, 682, 685, 688, 691, 694, 697, 700,
- 703, 706, 709, 716, 720, 724, 736, 741, 742, 743,
- 744, 747, 750, 755, 760, 764, 767, 772, 775, 780,
- 783, 788, 791, 794, 797, 800, 805, 808, 811, 814,
- 817, 820, 823, 826, 829, 832, 835, 838, 841, 844,
- 847, 850, 853, 856, 859, 864, 867, 868, 869, 872,
- 875, 878, 881, 885, 889, 893, 896
+ 0, 276, 276, 279, 284, 287, 297, 300, 305, 308,
+ 313, 317, 321, 325, 329, 333, 336, 341, 345, 349,
+ 354, 361, 365, 369, 373, 377, 381, 385, 389, 393,
+ 397, 401, 405, 409, 413, 417, 421, 425, 431, 437,
+ 441, 445, 449, 453, 457, 461, 465, 469, 474, 483,
+ 490, 496, 508, 519, 533, 538, 544, 547, 552, 557,
+ 564, 564, 568, 568, 575, 578, 581, 587, 590, 595,
+ 598, 601, 607, 610, 613, 621, 625, 628, 631, 634,
+ 637, 640, 643, 646, 649, 653, 659, 662, 665, 668,
+ 671, 674, 677, 680, 683, 686, 689, 692, 695, 698,
+ 701, 704, 707, 714, 718, 722, 734, 739, 740, 741,
+ 742, 745, 748, 753, 758, 762, 765, 770, 773, 778,
+ 781, 786, 789, 792, 795, 798, 803, 806, 809, 812,
+ 815, 818, 821, 824, 827, 830, 833, 836, 839, 842,
+ 845, 848, 851, 854, 857, 862, 865, 866, 867, 870,
+ 873, 876, 879, 883, 887, 891, 894
};
#endif
@@ -747,12 +749,12 @@ static const char *const yytname[] =
"\"/=\"", "\"//=\"", "\"<=\"", "\">=\"", "QQSTRING_START",
"QQSTRING_TEXT", "QQSTRING_INTERP_START", "QQSTRING_INTERP_END",
"QQSTRING_END", "FUNCDEF", "'|'", "','", "'='", "'<'", "'>'", "'+'",
- "'-'", "'*'", "'/'", "'%'", "'?'", "';'", "'('", "')'", "'$'", "':'",
- "'.'", "'['", "']'", "'{'", "'}'", "$accept", "TopLevel", "Module",
- "Imports", "FuncDefs", "Exp", "Import", "FuncDef", "Params", "Param",
- "String", "@1", "@2", "QQString", "ElseBody", "ExpD", "Term", "Args",
- "Arg", "Pattern", "ArrayPats", "ObjPats", "ObjPat", "Keyword", "MkDict",
- "MkDictPair", YY_NULLPTR
+ "'-'", "'*'", "'/'", "'%'", "NONOPT", "'?'", "';'", "'('", "')'", "'$'",
+ "':'", "'.'", "'['", "']'", "'{'", "'}'", "$accept", "TopLevel",
+ "Module", "Imports", "FuncDefs", "Exp", "Import", "FuncDef", "Params",
+ "Param", "String", "@1", "@2", "QQString", "ElseBody", "ExpD", "Term",
+ "Args", "Arg", "Pattern", "ArrayPats", "ObjPats", "ObjPat", "Keyword",
+ "MkDict", "MkDictPair", YY_NULLPTR
};
#endif
@@ -766,8 +768,8 @@ static const yytype_uint16 yytoknum[] =
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 124, 44, 61, 60,
- 62, 43, 45, 42, 47, 37, 63, 59, 40, 41,
- 36, 58, 46, 91, 93, 123, 125
+ 62, 43, 45, 42, 47, 37, 301, 63, 59, 40,
+ 41, 36, 58, 46, 91, 93, 123, 125
};
# endif
@@ -785,37 +787,37 @@ static const yytype_uint16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 27, 856, 38, 36, 7, 5, -152, 22, -152, 41,
- 856, 835, 835, 856, 20, 0, -152, 856, 463, 23,
- 276, 436, 340, 1292, 856, -152, 1, -152, 3, 3,
- 856, 36, 856, -152, -152, -21, 1620, 6, 8, 31,
- 63, -152, 77, -152, 2, 56, 1132, -152, -152, -152,
- 116, 22, 66, 62, -152, 982, -19, 69, -152, -152,
+ 22, 828, 42, 46, 9, -2, -152, 27, -152, 55,
+ 828, 871, 871, 828, 20, 0, -152, 828, 466, 23,
+ 276, 439, 341, 1374, 828, -152, 1, -152, 3, 3,
+ 828, 46, 828, -152, -152, -18, 1823, 6, 8, 50,
+ 107, -152, 109, -152, -8, 57, 1209, -152, -152, -152,
+ 114, 27, 65, 61, -152, 1010, -19, 68, -152, -152,
-152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, 526, 127, 73,
- 75, 72, 92, 856, 856, 856, 856, 856, 856, 856,
- 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
- 856, 856, 856, 856, 856, 856, 856, -152, -152, 1780,
- 84, -24, 3, 190, 131, 643, -152, 1780, 856, -152,
- 1780, -11, -152, -152, 18, 856, 553, -24, -24, 616,
- 99, -152, 33, -152, -152, -152, -152, -152, -152, 395,
- -152, 773, 89, 1164, -152, 773, 773, -152, 395, 1844,
- 335, 335, 1812, 1863, 108, 1844, 1844, 1844, 1844, 1844,
- 1844, 335, 335, 1780, 1812, 1844, 335, 335, 2, 2,
- 93, 93, 93, -152, 146, -24, 913, 105, 97, 90,
- 856, 100, 949, 19, -152, 1325, -152, 856, -152, 79,
- -152, 151, 54, -152, 1358, -152, 1572, 107, 109, -152,
- -152, 856, -152, 856, -152, 119, -152, 773, 122, 10,
- 111, 112, 122, 122, -152, -152, -152, -13, 113, 856,
- 165, 114, -17, -152, 115, 856, -152, -152, 1015, -152,
- 705, 121, 732, 166, -152, -152, -152, -152, 18, 117,
- -152, 856, 856, -152, 856, 856, 1780, 1652, -152, 773,
- 773, 773, -24, -152, -24, 1196, -152, -24, 913, -152,
- -24, 1780, 125, 126, 1048, -152, -152, 1391, 794, -152,
- 856, 1700, 1748, 1424, 1457, -152, 122, 122, 122, -152,
- -152, 123, -152, -152, -152, -152, -152, 129, -152, -152,
- 1490, 1523, -152, 856, 856, 856, -24, -152, -152, -152,
- 1572, 1228, 1081, -152, -152, -152, 856, -152, 1260, -152
+ -152, -152, -152, -152, -152, -152, -152, 530, 127, 72,
+ 74, 71, 92, 828, 828, 828, 828, 828, 828, 828,
+ 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
+ 828, 828, 828, 828, 828, 828, 828, -152, -152, 1987,
+ 83, -26, 3, 190, 131, 648, -152, 1987, 828, -152,
+ 1987, -7, -152, -152, 18, 828, 557, -26, -26, 621,
+ 99, -152, 16, -152, -152, -152, -152, -152, -152, 397,
+ -152, 865, 88, 1242, -152, 865, 865, -152, 397, 2053,
+ 336, 336, 2020, 928, 108, 2053, 2053, 2053, 2053, 2053,
+ 2053, 336, 336, 1987, 2020, 2053, 336, 336, -8, -8,
+ 93, 93, 93, -152, 145, -26, 929, 105, 96, 89,
+ 828, 98, 961, 19, -152, 1424, -152, 828, -152, 79,
+ -152, 152, 17, -152, 1474, -152, 1774, 110, 111, -152,
+ -152, 828, -152, 828, -152, 117, -152, 865, 120, 10,
+ 106, 112, 120, 120, -152, -152, -152, -13, 113, 828,
+ 163, 115, -11, -152, 116, 828, -152, -152, 1059, -152,
+ 711, 119, 738, 168, -152, -152, -152, -152, 18, 121,
+ -152, 828, 828, -152, 828, 828, 1987, 1856, -152, 865,
+ 865, 865, -26, -152, -26, 1275, -152, -26, 929, -152,
+ -26, 1987, 124, 125, 1108, -152, -152, 1524, 801, -152,
+ 828, 1905, 1954, 1574, 1624, -152, 120, 120, 120, -152,
+ -152, 122, -152, -152, -152, -152, -152, 128, -152, -152,
+ 1674, 1724, -152, 828, 828, 828, -26, -152, -152, -152,
+ 1774, 1308, 1157, -152, -152, -152, 828, -152, 1341, -152
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -859,9 +861,9 @@ static const yytype_uint8 yydefact[] =
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -152, -152, -152, 152, 70, -1, -152, -12, -152, -51,
- 4, -152, -152, 67, -111, -141, -4, -152, 12, -125,
- -152, -152, -66, -151, -104, -152
+ -152, -152, -152, 142, 69, -1, -152, -12, -152, -50,
+ 4, -152, -152, 66, -110, -141, -4, -152, 5, -125,
+ -152, -152, -65, -151, -109, -152
};
/* YYDEFGOTO[NTERM-NUM]. */
@@ -880,29 +882,29 @@ static const yytype_int16 yytable[] =
23, 41, 197, 198, 212, 213, 110, 37, 38, 36,
51, 110, 39, 110, 111, 110, 44, 46, 118, 127,
55, 128, 190, 232, 52, 224, 79, 47, 139, 117,
- 258, 120, 114, 115, 252, 206, 174, 124, 27, 175,
- 125, 176, 1, 16, 214, 35, 187, 140, 188, 259,
- 216, 253, 28, 29, 48, 104, 105, 106, 107, 129,
- 42, 33, 34, 112, 113, 32, 248, 130, 112, 113,
- 112, 113, 112, 113, 202, 203, 143, 204, 191, 233,
- 40, 131, 149, 150, 151, 152, 153, 154, 155, 156,
+ 206, 120, 114, 115, 252, 174, 258, 1, 175, 214,
+ 176, 124, 27, 16, 125, 104, 105, 106, 140, 107,
+ 216, 187, 253, 188, 48, 33, 259, 202, 203, 35,
+ 204, 42, 28, 29, 112, 113, 248, 34, 32, 112,
+ 113, 112, 113, 112, 113, 238, 143, 239, 129, 191,
+ 233, 40, 149, 150, 151, 152, 153, 154, 155, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
167, 168, 169, 170, 171, 172, 118, 224, 276, 277,
- 278, 238, 182, 239, 185, 133, 178, 135, 84, 85,
+ 278, 130, 182, 131, 185, 135, 178, 133, 84, 85,
202, 203, 136, 236, 194, 196, 137, 279, 200, 280,
141, 144, 282, 87, 145, 284, 146, 209, 147, 148,
- 173, 209, 209, 79, 183, 201, 95, 96, 210, 107,
- 215, 225, 79, 226, 227, 237, 229, 100, 101, 102,
- 103, 104, 105, 106, 107, 244, 139, 245, 249, 256,
- 268, 303, 250, 251, 254, 257, 260, 265, 270, 228,
- 221, 285, 286, 119, 296, 297, 120, 269, 186, 304,
- 189, 179, 283, 0, 4, 5, 6, 7, 8, 235,
+ 173, 209, 209, 79, 183, 201, 95, 96, 210, 215,
+ 107, 225, 79, 226, 227, 229, 237, 100, 101, 102,
+ 103, 104, 105, 106, 139, 107, 249, 256, 250, 244,
+ 245, 303, 268, 119, 251, 254, 265, 257, 260, 228,
+ 221, 285, 286, 270, 296, 297, 120, 186, 269, 189,
+ 304, 179, 235, 283, 4, 5, 6, 7, 8, 0,
246, 0, 247, 209, 9, 0, 0, 0, 10, 0,
0, 0, 11, 12, 0, 0, 0, 13, 255, 14,
15, 0, 0, 0, 261, 0, 0, 0, 0, 264,
16, 267, 0, 0, 0, 0, 0, 0, 0, 0,
- 271, 272, 17, 273, 274, 209, 209, 209, 18, 0,
- 19, 180, 20, 21, 181, 22, 0, 0, 0, 0,
+ 271, 272, 17, 273, 274, 209, 209, 209, 0, 18,
+ 0, 19, 180, 20, 21, 181, 22, 0, 0, 0,
0, 0, 221, 0, 0, 0, 0, 290, 0, 291,
0, 0, 0, 0, 0, 0, -72, 49, 0, 0,
50, -72, 0, 51, 0, -72, -72, -72, -72, -72,
@@ -910,165 +912,185 @@ static const yytype_int16 yytable[] =
-72, -72, -72, 0, -72, 308, 0, 0, -72, -72,
-72, -72, -72, -72, -72, -72, 16, 0, 0, -72,
0, 0, -72, -72, -72, -72, -72, -72, -72, -72,
- -72, -72, -72, -72, 0, -72, 0, -72, -72, -72,
- -72, 56, -72, 0, 57, -146, -146, 51, 0, 0,
- 0, 0, 0, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 0, -146, -146, 0, 0, 0, 0, 0,
- 16, 0, 0, 0, -146, -146, 102, 103, 104, 105,
- 106, 107, 0, 0, 0, 0, 205, 0, 77, 57,
- 78, 0, 51, 0, 0, 0, -145, 0, 58, 59,
- 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
- 70, 71, 72, 73, 74, 75, 76, 0, 0, 0,
- 0, 0, 0, 0, 0, 16, 0, 53, 0, 0,
- 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
- 9, 0, 0, 77, 10, 78, 0, 0, 11, 12,
- 0, -145, 0, 13, 45, 14, 15, 4, 5, 6,
- 7, 8, 0, 0, 0, 0, 16, 9, 0, 0,
- 0, 10, 0, 0, 0, 11, 12, 0, 17, 0,
- 13, 0, 14, 15, 18, 0, 19, 0, 20, 21,
- 54, 22, 0, 16, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 17, 0, 0, 0, 0,
- 0, 18, 0, 19, 0, 20, 21, 142, 22, 0,
- 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
+ -72, -72, 0, -72, -72, 0, -72, 0, -72, -72,
+ -72, -72, 56, -72, 0, 57, -146, -146, 51, 0,
+ 0, 0, 0, 0, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 0, -146, -146, 0, 0, 0, 0,
+ 0, 16, 0, 0, 0, -146, -146, 102, 103, 104,
+ 105, 106, 0, 107, 0, 0, 0, 0, 205, 0,
+ 77, 57, 78, 0, 51, 0, 0, 0, -145, 0,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 0,
+ 0, 0, 0, 0, 0, 0, 0, 16, 0, 0,
+ 53, 0, 0, 4, 5, 6, 7, 8, 0, 0,
+ 0, 0, 0, 9, 0, 0, 77, 10, 78, 0,
+ 0, 11, 12, 0, -145, 0, 13, 45, 14, 15,
+ 4, 5, 6, 7, 8, 0, 0, 0, 0, 16,
9, 0, 0, 0, 10, 0, 0, 0, 11, 12,
- 0, 0, 0, 13, 195, 14, 15, 4, 5, 6,
- 7, 8, 0, 0, 0, 0, 16, 9, 0, 0,
- 0, 10, 0, 0, 0, 11, 12, 0, 17, 0,
- 13, 0, 14, 15, 18, 0, 19, 0, 20, 21,
- 0, 22, 0, 16, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 17, 0, 0, 0, 0,
- 0, 18, 0, 19, 0, 20, 21, 199, 22, 0,
- 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
- 9, 0, 0, 0, 10, 0, 0, 0, 11, 12,
- 0, 0, 0, 13, 0, 14, 15, 4, 5, 6,
- 7, 8, 0, 0, 0, 0, 16, 9, 0, 0,
- 0, 10, 0, 0, 0, 11, 12, 0, 17, 0,
- 13, 0, 14, 15, 18, 0, 19, 0, 20, 21,
- 0, 22, 0, 16, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 17, 0, 0, 0, 0,
- 184, 18, 0, 19, 0, 20, 21, 0, 22, 4,
- 5, 6, 7, 8, 0, 0, 0, 0, 0, 9,
- 0, 0, 0, 10, 0, 0, 0, 11, 12, 0,
- 0, 0, 13, 0, 14, 15, 4, 5, 6, 7,
- 8, 0, 0, 0, 0, 16, 9, 0, 0, 0,
- 10, 0, 0, 0, 11, 12, 0, 17, 0, 13,
- 0, 14, 15, 18, 0, 19, 0, 20, 21, 263,
- 22, 0, 16, 0, 0, 0, 0, 4, 5, 6,
- 7, 8, 0, 0, 17, 0, 0, 0, 0, 266,
- 18, 0, 19, 0, 20, 21, 0, 22, 4, 5,
- 6, 7, 8, 15, 0, 0, 0, 0, 9, 0,
- 0, 0, 10, 16, 0, 0, 11, 12, 0, 0,
- 0, 13, 0, 14, 15, 207, 0, 0, 0, 0,
- 0, 18, 0, 19, 16, 20, 21, 0, 22, 4,
- 5, 6, 7, 8, 0, 0, 17, 0, 0, 0,
- 0, 289, 18, 0, 19, 0, 20, 21, 0, 22,
- 4, 5, 6, 7, 8, 15, 0, 0, 0, 0,
- 9, 0, 0, 0, 10, 16, 0, 0, 11, 12,
- 0, 0, 0, 13, 0, 14, 15, 0, 0, 0,
- 0, 0, 0, 18, 0, 19, 16, 20, 21, 0,
- 22, 0, 0, 0, 0, 0, 0, 0, 17, 0,
- 0, 0, 0, 0, 18, 0, 19, 218, 20, 21,
- 51, 22, 0, 0, 0, 0, 58, 59, 60, 61,
- 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
- 72, 73, 74, 75, 76, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 0, 0, 0, 0, 83, 84,
+ 0, 17, 0, 13, 0, 14, 15, 0, 18, 0,
+ 19, 0, 20, 21, 54, 22, 16, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 17, 0,
+ 0, 0, 0, 0, 0, 18, 0, 19, 0, 20,
+ 21, 142, 22, 0, 4, 5, 6, 7, 8, 0,
+ 0, 0, 0, 0, 9, 0, 0, 0, 10, 0,
+ 0, 0, 11, 12, 0, 0, 0, 13, 195, 14,
+ 15, 4, 5, 6, 7, 8, 0, 0, 0, 0,
+ 16, 9, 0, 0, 0, 10, 0, 0, 0, 11,
+ 12, 0, 17, 0, 13, 0, 14, 15, 0, 18,
+ 0, 19, 0, 20, 21, 0, 22, 16, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
+ 0, 0, 0, 0, 0, 0, 18, 0, 19, 0,
+ 20, 21, 199, 22, 0, 4, 5, 6, 7, 8,
+ 0, 0, 0, 0, 0, 9, 0, 0, 0, 10,
+ 0, 0, 0, 11, 12, 0, 0, 0, 13, 0,
+ 14, 15, 4, 5, 6, 7, 8, 0, 0, 0,
+ 0, 16, 9, 0, 0, 0, 10, 0, 0, 0,
+ 11, 12, 0, 17, 0, 13, 0, 14, 15, 0,
+ 18, 0, 19, 0, 20, 21, 0, 22, 16, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 184, 18, 0, 19,
+ 0, 20, 21, 0, 22, 4, 5, 6, 7, 8,
+ 0, 0, 0, 0, 0, 9, 0, 0, 0, 10,
+ 0, 0, 0, 11, 12, 0, 0, 0, 13, 0,
+ 14, 15, 4, 5, 6, 7, 8, 0, 0, 0,
+ 0, 16, 9, 0, 0, 0, 10, 0, 0, 0,
+ 11, 12, 0, 17, 0, 13, 0, 14, 15, 0,
+ 18, 0, 19, 0, 20, 21, 263, 22, 16, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 266, 18, 0, 19,
+ 0, 20, 21, 0, 22, 4, 5, 6, 7, 8,
+ 0, 0, 0, 0, 0, 9, 0, 0, 0, 10,
+ 0, 0, 0, 11, 12, 0, 0, 0, 13, 0,
+ 14, 15, 4, 5, 6, 7, 8, 0, 0, 0,
+ 0, 16, 9, 0, 0, 0, 10, 0, 0, 0,
+ 11, 12, 0, 17, 0, 13, 0, 14, 15, 289,
+ 18, 0, 19, 0, 20, 21, 0, 22, 16, 4,
+ 5, 6, 7, 8, 0, 4, 5, 6, 7, 8,
+ 17, 0, 0, 0, 0, 0, 0, 18, 0, 19,
+ 0, 20, 21, 0, 22, 15, 0, 0, 0, 0,
+ 0, 15, 0, 0, 0, 16, 0, 0, 0, 0,
+ 0, 16, 0, 0, 0, 0, 0, 207, 0, 0,
+ 0, 0, 0, 0, 18, 0, 19, 0, 20, 21,
+ 18, 22, 19, 218, 20, 21, 51, 22, 84, 85,
+ 0, 0, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 0, 0, 0, 0, 0, 95, 96, 0, 16,
+ 83, 84, 85, 86, 0, 0, 0, 100, 101, 102,
+ 103, 104, 105, 106, 0, 107, 87, 88, 219, 0,
+ 220, 0, 0, 89, 90, 91, 92, 93, 94, 95,
+ 96, 0, 0, 0, 0, 0, 0, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 0, 107, 83,
+ 84, 85, 86, 230, 0, 0, 231, 0, 0, 0,
+ 0, 0, 0, 0, 0, 87, 88, 0, 0, 0,
+ 0, 0, 89, 90, 91, 92, 93, 94, 95, 96,
+ 0, 0, 0, 0, 0, 0, 97, 98, 99, 100,
+ 101, 102, 103, 104, 105, 106, 0, 107, 83, 84,
+ 85, 86, 0, 0, 0, 138, 0, 0, 0, 0,
+ 0, 0, 0, 0, 87, 88, 0, 0, 0, 0,
+ 0, 89, 90, 91, 92, 93, 94, 95, 96, 0,
+ 0, 0, 0, 0, 0, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 0, 107, 83, 84, 85,
+ 86, 0, 0, 0, 262, 0, 0, 0, 0, 0,
+ 0, 0, 0, 87, 88, 0, 0, 0, 0, 0,
+ 89, 90, 91, 92, 93, 94, 95, 96, 0, 0,
+ 0, 0, 0, 0, 97, 98, 99, 100, 101, 102,
+ 103, 104, 105, 106, 0, 107, 83, 84, 85, 86,
+ 0, 0, 0, 287, 0, 0, 0, 0, 0, 0,
+ 0, 0, 87, 88, 0, 0, 0, 0, 0, 89,
+ 90, 91, 92, 93, 94, 95, 96, 0, 0, 0,
+ 0, 0, 0, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 0, 107, 306, 0, 307, 83, 84,
85, 86, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 219, 0, 220, 87, 88, 0, 0, 0, 0,
+ 0, 0, 0, 0, 87, 88, 0, 0, 0, 0,
0, 89, 90, 91, 92, 93, 94, 95, 96, 0,
0, 83, 84, 85, 86, 97, 98, 99, 100, 101,
- 102, 103, 104, 105, 106, 107, 0, 87, 88, 0,
- 230, 0, 0, 231, 89, 90, 91, 92, 93, 94,
- 95, 96, 0, 0, 83, 84, 85, 86, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 0,
- 87, 88, 0, 0, 0, 0, 138, 89, 90, 91,
- 92, 93, 94, 95, 96, 0, 0, 83, 84, 85,
- 86, 97, 98, 99, 100, 101, 102, 103, 104, 105,
- 106, 107, 0, 87, 88, 0, 0, 0, 0, 262,
- 89, 90, 91, 92, 93, 94, 95, 96, 0, 0,
- 83, 84, 85, 86, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 0, 87, 88, 0, 0,
- 0, 0, 287, 89, 90, 91, 92, 93, 94, 95,
- 96, 0, 0, 0, 0, 0, 0, 97, 98, 99,
- 100, 101, 102, 103, 104, 105, 106, 107, 306, 0,
- 307, 83, 84, 85, 86, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 87, 88, 0,
- 0, 0, 0, 0, 89, 90, 91, 92, 93, 94,
- 95, 96, 0, 83, 84, 85, 86, 0, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 87,
- 88, 134, 0, 0, 0, 0, 89, 90, 91, 92,
- 93, 94, 95, 96, 0, 83, 84, 85, 86, 0,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 87, 88, 211, 0, 0, 0, 0, 89, 90,
- 91, 92, 93, 94, 95, 96, 0, 83, 84, 85,
- 86, 0, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 87, 88, 281, 0, 0, 0, 0,
- 89, 90, 91, 92, 93, 94, 95, 96, 0, 83,
- 84, 85, 86, 0, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 87, 88, 305, 0, 0,
- 0, 0, 89, 90, 91, 92, 93, 94, 95, 96,
- 0, 83, 84, 85, 86, 0, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 87, 88, 309,
+ 102, 103, 104, 105, 106, 0, 107, 87, 88, 134,
0, 0, 0, 0, 89, 90, 91, 92, 93, 94,
95, 96, 0, 0, 83, 84, 85, 86, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 87, 88, 0, 0, 0, 0, 0, 89, 90, 91,
+ 99, 100, 101, 102, 103, 104, 105, 106, 0, 107,
+ 87, 88, 211, 0, 0, 0, 0, 89, 90, 91,
92, 93, 94, 95, 96, 0, 0, 83, 84, 85,
86, 97, 98, 99, 100, 101, 102, 103, 104, 105,
- 106, 107, 234, 87, 88, 0, 0, 0, 0, 0,
+ 106, 0, 107, 87, 88, 281, 0, 0, 0, 0,
89, 90, 91, 92, 93, 94, 95, 96, 0, 0,
83, 84, 85, 86, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 240, 87, 88, 0, 0,
+ 103, 104, 105, 106, 0, 107, 87, 88, 305, 0,
0, 0, 0, 89, 90, 91, 92, 93, 94, 95,
96, 0, 0, 83, 84, 85, 86, 97, 98, 99,
- 100, 101, 102, 103, 104, 105, 106, 107, 288, 87,
+ 100, 101, 102, 103, 104, 105, 106, 0, 107, 87,
+ 88, 309, 0, 0, 0, 0, 89, 90, 91, 92,
+ 93, 94, 95, 96, 0, 0, 0, 0, 0, 0,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ 0, 107, 108, 83, 84, 85, 86, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
+ 88, 0, 0, 0, 0, 0, 89, 90, 91, 92,
+ 93, 94, 95, 96, 0, 0, 0, 0, 0, 0,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ 0, 107, 234, 83, 84, 85, 86, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
+ 88, 0, 0, 0, 0, 0, 89, 90, 91, 92,
+ 93, 94, 95, 96, 0, 0, 0, 0, 0, 0,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ 0, 107, 240, 83, 84, 85, 86, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
+ 88, 0, 0, 0, 0, 0, 89, 90, 91, 92,
+ 93, 94, 95, 96, 0, 0, 0, 0, 0, 0,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ 0, 107, 288, 83, 84, 85, 86, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
+ 88, 0, 0, 0, 0, 0, 89, 90, 91, 92,
+ 93, 94, 95, 96, 0, 0, 0, 0, 0, 0,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ 0, 107, 294, 83, 84, 85, 86, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
+ 88, 0, 0, 0, 0, 0, 89, 90, 91, 92,
+ 93, 94, 95, 96, 0, 0, 0, 0, 0, 0,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ 0, 107, 295, 83, 84, 85, 86, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
+ 88, 0, 0, 0, 0, 0, 89, 90, 91, 92,
+ 93, 94, 95, 96, 0, 0, 0, 0, 0, 0,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ 0, 107, 298, 83, 84, 85, 86, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
+ 88, 0, 0, 0, 0, 0, 89, 90, 91, 92,
+ 93, 94, 95, 96, 0, 0, 0, 0, 0, 0,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ 0, 107, 299, 83, 84, 85, 86, 0, 0, 0,
+ 0, 0, 0, 0, 241, 242, 0, 0, 0, 87,
+ 88, 0, 0, 0, 0, 0, 89, 90, 91, 92,
+ 93, 94, 95, 96, 0, 0, 0, 0, 0, 0,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ 0, 107, 83, 84, 85, 86, 0, 0, 0, 0,
+ 0, 0, 126, 0, 0, 0, 0, 0, 87, 88,
+ 0, 0, 0, 0, 0, 89, 90, 91, 92, 93,
+ 94, 95, 96, 0, 0, 83, 84, 85, 86, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 0,
+ 107, 87, 88, 0, 0, 0, 0, 0, 89, 90,
+ 91, 92, 93, 94, 95, 96, 0, 0, 0, 275,
+ 0, 0, 97, 98, 99, 100, 101, 102, 103, 104,
+ 105, 106, 0, 107, 83, 84, 85, 86, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 292,
+ 87, 88, 0, 0, 0, 0, 0, 89, 90, 91,
+ 92, 93, 94, 95, 96, 0, 0, 0, 0, 0,
+ 0, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 106, 0, 107, 83, 84, 85, 86, 0, 0, 0,
+ 0, 0, 0, 293, 0, 0, 0, 0, 0, 87,
88, 0, 0, 0, 0, 0, 89, 90, 91, 92,
93, 94, 95, 96, 0, 0, 83, 84, 85, 86,
97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 294, 87, 88, 0, 0, 0, 0, 0, 89,
+ 0, 107, 87, 88, 0, 0, 0, 0, 0, 89,
90, 91, 92, 93, 94, 95, 96, 0, 0, 83,
84, 85, 86, 97, 98, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 295, 87, 88, 0, 0, 0,
- 0, 0, 89, 90, 91, 92, 93, 94, 95, 96,
- 0, 0, 83, 84, 85, 86, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 298, 87, 88,
- 0, 0, 0, 0, 0, 89, 90, 91, 92, 93,
- 94, 95, 96, 0, 0, 0, 0, 0, 0, 97,
- 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
- 299, 83, 84, 85, 86, 0, 0, 0, 0, 0,
- 0, 0, 241, 242, 0, 0, 0, 87, 88, 0,
- 0, 0, 0, 0, 89, 90, 91, 92, 93, 94,
- 95, 96, 0, 0, 0, 0, 0, 0, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 83,
- 84, 85, 86, 0, 0, 0, 0, 0, 0, 126,
- 0, 0, 0, 0, 0, 87, 88, 0, 0, 0,
- 0, 0, 89, 90, 91, 92, 93, 94, 95, 96,
- 0, 83, 84, 85, 86, 0, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 87, 88, 0,
- 0, 0, 0, 0, 89, 90, 91, 92, 93, 94,
- 95, 96, 0, 0, 0, 275, 0, 0, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 83,
- 84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 292, 87, 88, 0, 0, 0,
- 0, 0, 89, 90, 91, 92, 93, 94, 95, 96,
- 0, 0, 0, 0, 0, 0, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 83, 84, 85,
- 86, 0, 0, 0, 0, 0, 0, 293, 0, 0,
- 0, 0, 0, 87, 88, 0, 0, 0, 0, 0,
- 89, 90, 91, 92, 93, 94, 95, 96, 0, 83,
- 84, 85, 86, 0, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 87, 88, 0, 0, 0,
+ 104, 105, 106, 0, 107, 87, 88, 0, 0, 0,
0, 0, 89, 90, 91, 92, 93, 94, 95, 96,
- 0, 83, 84, 85, 86, 0, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 87, 88, 0,
- 0, 0, 0, 0, 89, 90, 91, 92, 93, 94,
- 95, 96, 0, -146, 84, 85, 0, 0, 0, 0,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 87,
- 88, 0, 0, 84, 85, 0, -146, -146, -146, -146,
- -146, -146, 95, 96, 0, 0, 0, 0, 0, 0,
- 0, 0, -146, 100, 101, 102, 103, 104, 105, 106,
- 107, 95, 96, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 100, 101, 102, 103, 104, 105, 106, 107
+ 0, 0, -146, 84, 85, 0, 0, 0, 99, 100,
+ 101, 102, 103, 104, 105, 106, 0, 107, 87, 88,
+ 0, 0, 0, 0, 0, -146, -146, -146, -146, -146,
+ -146, 95, 96, 0, 0, 0, 0, 0, 0, 0,
+ 0, -146, 100, 101, 102, 103, 104, 105, 106, 0,
+ 107
};
static const yytype_int16 yycheck[] =
@@ -1076,29 +1098,29 @@ static const yytype_int16 yycheck[] =
1, 1, 127, 128, 145, 146, 5, 11, 12, 10,
7, 5, 13, 5, 13, 5, 17, 18, 30, 13,
21, 13, 4, 4, 20, 176, 22, 4, 47, 30,
- 47, 32, 28, 29, 47, 139, 60, 58, 0, 63,
- 61, 65, 15, 40, 148, 4, 57, 66, 59, 66,
- 175, 64, 16, 17, 31, 53, 54, 55, 56, 28,
- 60, 56, 40, 62, 63, 58, 207, 4, 62, 63,
- 62, 63, 62, 63, 41, 42, 77, 44, 60, 60,
- 60, 4, 83, 84, 85, 86, 87, 88, 89, 90,
+ 139, 32, 28, 29, 47, 61, 47, 15, 64, 148,
+ 66, 59, 0, 40, 62, 53, 54, 55, 67, 57,
+ 175, 58, 65, 60, 31, 57, 67, 41, 42, 4,
+ 44, 61, 16, 17, 63, 64, 207, 40, 59, 63,
+ 64, 63, 64, 63, 64, 58, 77, 60, 28, 61,
+ 61, 61, 83, 84, 85, 86, 87, 88, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 106, 118, 258, 249, 250,
- 251, 57, 113, 59, 115, 59, 112, 1, 10, 11,
- 41, 42, 56, 44, 125, 126, 64, 252, 129, 254,
- 61, 4, 257, 25, 61, 260, 61, 141, 66, 47,
- 56, 145, 146, 139, 13, 46, 38, 39, 59, 56,
- 4, 46, 148, 56, 64, 4, 56, 49, 50, 51,
- 52, 53, 54, 55, 56, 58, 47, 58, 46, 4,
- 4, 296, 61, 61, 61, 61, 61, 56, 61, 180,
- 176, 56, 56, 31, 61, 56, 187, 238, 118, 300,
- 123, 1, 258, -1, 4, 5, 6, 7, 8, 187,
+ 251, 4, 113, 4, 115, 1, 112, 60, 10, 11,
+ 41, 42, 57, 44, 125, 126, 65, 252, 129, 254,
+ 62, 4, 257, 25, 62, 260, 62, 141, 67, 47,
+ 57, 145, 146, 139, 13, 46, 38, 39, 60, 4,
+ 57, 46, 148, 57, 65, 57, 4, 49, 50, 51,
+ 52, 53, 54, 55, 47, 57, 46, 4, 62, 59,