summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattias Wadman <mattias.wadman@gmail.com>2023-07-03 18:24:37 +0200
committerNico Williams <nico@cryptonector.com>2023-07-09 10:08:31 -0500
commitab1a68144dc8355059473c977a0e4edf2fe7f2b8 (patch)
treebfb70bcb8f0c871b642181110a176302b86b450c
parentd8072564c28d38d29aa0a7c416621f02c19f7f44 (diff)
Support .a.[] and .a.[]? each syntax
Fixes #1699
-rw-r--r--src/parser.c1588
-rw-r--r--src/parser.y6
-rw-r--r--tests/jq.test5
3 files changed, 819 insertions, 780 deletions
diff --git a/src/parser.c b/src/parser.c
index 66469b5c..8bcaebeb 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -893,16 +893,16 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 27
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2093
+#define YYLAST 2159
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 69
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 30
/* YYNRULES -- Number of rules. */
-#define YYNRULES 170
+#define YYNRULES 172
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 326
+#define YYNSTATES 328
/* YYMAXUTOK -- Last valid token kind. */
#define YYMAXUTOK 302
@@ -966,14 +966,14 @@ static const yytype_int16 yyrline[] =
626, 631, 634, 637, 643, 646, 649, 657, 661, 664,
667, 670, 673, 676, 679, 682, 685, 689, 695, 698,
701, 704, 707, 710, 713, 716, 719, 722, 725, 728,
- 731, 734, 737, 740, 743, 746, 749, 771, 775, 779,
- 788, 800, 805, 806, 807, 808, 811, 814, 819, 824,
- 827, 832, 835, 840, 844, 847, 852, 855, 860, 863,
- 868, 871, 874, 877, 880, 883, 891, 897, 900, 903,
+ 731, 734, 737, 740, 743, 746, 749, 752, 755, 777,
+ 781, 785, 794, 806, 811, 812, 813, 814, 817, 820,
+ 825, 830, 833, 838, 841, 846, 850, 853, 858, 861,
+ 866, 869, 874, 877, 880, 883, 886, 889, 897, 903,
906, 909, 912, 915, 918, 921, 924, 927, 930, 933,
- 936, 939, 942, 945, 948, 951, 956, 959, 960, 961,
- 964, 967, 970, 973, 977, 981, 985, 989, 993, 997,
- 1005
+ 936, 939, 942, 945, 948, 951, 954, 957, 962, 965,
+ 966, 967, 970, 973, 976, 979, 983, 987, 991, 995,
+ 999, 1003, 1011
};
#endif
@@ -1014,12 +1014,12 @@ yysymbol_name (yysymbol_kind_t yysymbol)
}
#endif
-#define YYPACT_NINF (-120)
+#define YYPACT_NINF (-118)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
-#define YYTABLE_NINF (-157)
+#define YYTABLE_NINF (-159)
#define yytable_value_is_error(Yyn) \
((Yyn) == YYTABLE_NINF)
@@ -1028,39 +1028,39 @@ yysymbol_name (yysymbol_kind_t yysymbol)
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 13, 775, 14, 49, -55, 11, -120, 7, -120, 32,
- 775, 508, 508, 775, 19, 2, -120, 775, 525, 887,
- 292, 458, 358, 1391, 775, -120, 6, -120, -3, -3,
- 775, 49, 683, 775, -120, -120, 52, 1747, 8, 10,
- 48, 79, -120, 106, -120, 66, 50, 1221, -120, -120,
- -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
- -120, -120, -120, -120, -120, -120, -120, -120, 61, -120,
- -120, 124, 7, 68, 62, -120, 968, -22, 64, 775,
- 2034, 69, 71, 63, 87, 775, 775, 775, 775, 775,
- 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
- 775, 775, 775, 775, 775, 775, 775, 775, 775, -120,
- -120, 1915, 78, -20, 15, 169, 125, -120, -120, -120,
- 1915, 775, -120, -120, 1442, 1915, -10, -120, -120, -2,
- 775, 590, -20, -20, 655, 90, -120, 12, -120, -120,
- 77, -120, -120, -120, -120, 415, 443, -120, 443, 1255,
- 81, -120, 443, 443, -120, 415, 1949, 353, 353, 214,
- 571, 1981, 1949, 1949, 1949, 1949, 1949, 1949, 353, 353,
- 1915, 214, 1949, 353, 353, 66, 66, 82, 82, 82,
- -120, 138, -20, 837, 105, 99, 113, 775, 96, 93,
- 775, 103, 918, 20, -120, -120, 775, -120, 16, -120,
- 2062, 18, -120, 1493, -120, 1697, 102, 104, -120, -120,
- 775, -120, 775, -120, 159, -11, -120, 443, 119, 3,
- 119, 108, 443, 119, 119, -120, -120, -120, -13, 109,
- 115, 775, 163, 116, -38, -120, 118, -20, 775, 1018,
- -120, -120, 1068, -120, 747, 110, -120, 165, -120, -120,
- -120, -120, -2, 121, -120, 775, 775, -120, -120, 775,
- 775, 1915, 1781, -120, -120, 443, 443, 119, -20, -120,
- -20, -20, 1289, 122, -20, 837, -120, -20, 150, 1915,
- 136, 139, 142, 1118, -120, -120, -120, 775, 1831, 1881,
- 1544, 1595, -120, 119, 119, -120, -120, -120, 140, -20,
- -120, -120, -120, -120, -120, -120, 143, 1646, -120, 775,
- 775, 775, -20, -120, -120, -120, 1697, 1323, 1168, -120,
- -120, -120, 775, -120, 1357, -120
+ -10, 841, 14, 94, -8, -16, -118, 23, -118, 51,
+ 841, 510, 510, 841, 4, 1, -118, 841, 527, 953,
+ 294, 460, 360, 1457, 841, -118, 6, -118, -3, -3,
+ 841, 94, 685, 841, -118, -118, -24, 1813, 8, 10,
+ 31, 65, -118, 104, -118, 67, 56, 1287, -118, -118,
+ -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
+ -118, -118, -118, -118, -118, -118, -118, -118, 50, -118,
+ -118, 123, 23, 68, 61, -118, 1034, -22, 69, 841,
+ 2100, 71, 72, 60, 83, 841, 841, 841, 841, 841,
+ 841, 841, 841, 841, 841, 841, 841, 841, 841, 841,
+ 841, 841, 841, 841, 841, 841, 841, 841, 841, -118,
+ -118, 1981, 78, -11, -4, 169, 124, -118, -118, -118,
+ 1981, 841, -118, -118, 1508, 1981, -14, -118, -118, 18,
+ 841, 592, -11, -11, 657, 91, -118, 15, -118, -118,
+ 77, -118, -118, -118, -118, 417, 445, -118, 445, 1321,
+ 79, -118, 445, 445, -118, 417, 2015, 355, 355, 214,
+ 573, 2047, 2015, 2015, 2015, 2015, 2015, 2015, 355, 355,
+ 1981, 214, 2015, 355, 355, 67, 67, 82, 82, 82,
+ -118, 140, -11, 903, 105, 99, 109, 749, 93, 87,
+ 841, 98, 984, 20, -118, -118, 841, -118, 34, -118,
+ 2128, 22, -118, 1559, -118, 1763, 97, 106, -118, -118,
+ 841, -118, 841, -118, 155, -20, -118, 445, 117, 3,
+ 117, 108, 445, 117, 117, -118, -118, -118, -13, 115,
+ 116, 841, 163, 118, -38, -118, 122, -11, 841, 110,
+ 1084, -118, -118, 1134, -118, 777, 111, -118, 168, -118,
+ -118, -118, -118, 18, 127, -118, 841, 841, -118, -118,
+ 841, 841, 1981, 1847, -118, -118, 445, 445, 117, -11,
+ -118, -11, -11, 1355, 130, -11, 903, -118, -11, 154,
+ 1981, -118, 142, 143, 144, 1184, -118, -118, -118, 841,
+ 1897, 1947, 1610, 1661, -118, 117, 117, -118, -118, -118,
+ 141, -11, -118, -118, -118, -118, -118, -118, 145, 1712,
+ -118, 841, 841, 841, -11, -118, -118, -118, 1763, 1389,
+ 1234, -118, -118, -118, 841, -118, 1423, -118
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1068,54 +1068,54 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 4, 0, 0, 6, 110, 83, 100, 102, 75, 0,
+ 4, 0, 0, 6, 112, 83, 102, 104, 75, 0,
0, 0, 0, 0, 0, 0, 61, 0, 0, 0,
- 0, 0, 0, 0, 0, 101, 47, 1, 0, 0,
+ 0, 0, 0, 0, 0, 103, 47, 1, 0, 0,
8, 6, 0, 0, 79, 63, 0, 0, 0, 0,
- 18, 0, 77, 0, 65, 32, 0, 0, 108, 137,
- 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
- 148, 149, 150, 151, 152, 153, 154, 155, 0, 109,
- 86, 0, 0, 85, 0, 105, 0, 0, 167, 0,
- 0, 163, 168, 0, 157, 0, 0, 0, 0, 0,
+ 18, 0, 77, 0, 65, 32, 0, 0, 110, 139,
+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, 156, 157, 0, 111,
+ 86, 0, 0, 85, 0, 107, 0, 0, 169, 0,
+ 0, 165, 170, 0, 159, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 21,
5, 10, 82, 0, 0, 0, 0, 53, 52, 3,
- 2, 8, 7, 48, 0, 118, 0, 116, 65, 0,
- 0, 0, 0, 0, 0, 0, 76, 0, 112, 103,
- 0, 87, 81, 113, 104, 0, 0, 115, 0, 0,
- 165, 166, 0, 0, 106, 0, 40, 41, 42, 25,
+ 2, 8, 7, 48, 0, 120, 0, 118, 65, 0,
+ 0, 0, 0, 0, 0, 0, 76, 0, 114, 105,
+ 0, 87, 81, 115, 106, 0, 0, 117, 0, 0,
+ 167, 168, 0, 0, 108, 0, 40, 41, 42, 25,
24, 23, 27, 31, 34, 36, 39, 26, 45, 46,
28, 29, 22, 43, 44, 30, 33, 35, 37, 38,
- 78, 0, 0, 0, 0, 0, 122, 0, 84, 0,
- 0, 93, 0, 0, 9, 49, 0, 111, 0, 60,
+ 78, 0, 0, 0, 0, 0, 124, 0, 84, 0,
+ 0, 93, 0, 0, 9, 49, 0, 113, 0, 60,
0, 0, 56, 0, 16, 0, 0, 0, 19, 17,
- 0, 66, 0, 62, 0, 0, 159, 0, 170, 73,
- 160, 0, 0, 162, 161, 158, 123, 126, 0, 0,
- 0, 0, 0, 0, 0, 128, 0, 0, 0, 0,
- 80, 114, 0, 92, 0, 89, 51, 0, 117, 64,
- 58, 59, 0, 0, 54, 0, 0, 70, 15, 0,
- 0, 20, 0, 107, 72, 0, 0, 164, 0, 124,
- 0, 0, 0, 130, 0, 0, 125, 0, 121, 11,
- 91, 99, 98, 0, 88, 50, 57, 0, 0, 0,
- 0, 0, 67, 71, 169, 127, 136, 132, 0, 0,
- 134, 129, 133, 90, 96, 95, 97, 0, 69, 0,
- 0, 0, 0, 131, 94, 55, 0, 0, 0, 135,
- 68, 12, 0, 14, 0, 13
+ 0, 66, 0, 62, 0, 0, 161, 0, 172, 73,
+ 162, 0, 0, 164, 163, 160, 125, 128, 0, 0,
+ 0, 0, 0, 0, 0, 130, 0, 0, 0, 95,
+ 0, 80, 116, 0, 92, 0, 89, 51, 0, 119,
+ 64, 58, 59, 0, 0, 54, 0, 0, 70, 15,
+ 0, 0, 20, 0, 109, 72, 0, 0, 166, 0,
+ 126, 0, 0, 0, 132, 0, 0, 127, 0, 123,
+ 11, 94, 91, 101, 100, 0, 88, 50, 57, 0,
+ 0, 0, 0, 0, 67, 71, 171, 129, 138, 134,
+ 0, 0, 136, 131, 135, 90, 98, 97, 99, 0,
+ 69, 0, 0, 0, 0, 133, 96, 55, 0, 0,
+ 0, 137, 68, 12, 0, 14, 0, 13
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -120, -120, -120, 171, 83, -1, -120, -120, 176, -12,
- -120, -46, 5, -120, -120, 80, -103, -109, -5, -120,
- 22, -120, -16, -119, -120, -120, -68, -18, -105, -120
+ -118, -118, -118, 149, 84, -1, -118, -118, 177, -12,
+ -118, -46, 5, -118, -118, 80, -103, -104, -5, -118,
+ 17, -118, -17, -117, -118, -118, -62, -18, -105, -118
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
0, 2, 3, 30, 119, 111, 31, 32, 116, 24,
- 201, 202, 25, 44, 128, 137, 258, 218, 26, 126,
+ 201, 202, 25, 44, 128, 137, 259, 218, 26, 126,
127, 184, 185, 186, 228, 234, 235, 82, 83, 84
};
@@ -1124,345 +1124,361 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 23, 69, 199, 42, 72, 33, 38, 39, 112, 37,
- 275, 112, 40, 112, 27, 112, 45, 47, 121, 113,
- 76, 132, 72, 133, 246, 73, 145, 81, 1, 120,
- 276, 124, 125, 117, 117, 268, 36, 145, 16, 220,
- 216, 146, 181, 223, 224, 182, 147, 183, 35, 196,
- 225, 197, 146, 269, 211, 212, 16, 213, 211, 212,
- 200, 249, 151, 227, 43, 28, 29, 114, 115, 34,
- 114, 115, 114, 115, 114, 115, 134, 252, 149, 253,
- 187, 41, 247, 135, 156, 157, 158, 159, 160, 161,
+ 23, 69, 42, 72, 72, 1, 38, 39, 112, 37,
+ 276, 112, 40, 112, 27, 112, 45, 47, 121, 113,
+ 76, 132, 199, 133, 247, 73, 145, 81, 145, 120,
+ 277, 124, 125, 117, 117, 269, 129, 16, 16, 130,
+ 216, 146, 34, 146, 220, 196, 147, 197, 223, 224,
+ 225, 181, 33, 270, 182, 36, 183, 211, 212, 134,
+ 213, 187, 151, 43, 35, 227, 41, 114, 115, 135,
+ 114, 115, 114, 115, 114, 115, 211, 212, 149, 250,
+ 200, 253, 248, 254, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
- 172, 173, 174, 175, 176, 177, 178, 179, 264, 121,
- 136, 138, 129, 267, 192, 130, 206, 207, 278, 188,
- 106, 107, 108, 140, 109, 141, 142, 148, 143, 203,
- 205, 154, 152, 209, 153, 155, 180, 210, 193, 214,
- 109, 219, 226, 219, 222, 237, 238, 219, 219, 295,
- 81, 296, 297, -120, 240, 300, 293, 294, 302, 241,
- 81, 243, 259, 263, 260, 236, 265, 273, 284, 285,
- 189, 266, 270, 4, 5, 6, 7, 8, 271, 274,
- 313, 277, 251, 9, 287, 299, 239, 10, 233, 242,
- -119, 11, 12, 319, 303, 125, 13, 304, 14, 15,
- 305, 314, 122, 312, 194, 118, 286, 301, 198, 261,
- 16, 262, 219, 320, 0, 0, 0, 219, 248, 0,
+ 172, 173, 174, 175, 176, 177, 178, 179, 136, 121,
+ 28, 29, 140, 265, 192, 206, 207, 138, 268, 188,
+ 279, 106, 107, 108, 141, 109, 142, 143, 154, 203,
+ 205, 155, 148, 209, 152, 153, 180, 193, 210, 214,
+ 109, 219, 222, 219, 226, 237, 238, 219, 219, -122,
+ 81, 241, 297, 242, 298, 299, 244, 260, 302, 264,
+ 81, 304, 295, 296, 266, 236, 261, 274, 281, 286,
+ 189, 267, 287, 4, 5, 6, 7, 8, 271, 272,
+ 122, 275, 252, 9, 315, 278, 240, 10, 233, 243,
+ 289, 11, 12, 301, -121, 125, 13, 321, 14, 15,
+ 305, 306, 307, 316, 314, 194, 118, 288, 198, 262,
+ 16, 263, 219, 249, 303, 322, 0, 219, 0, 0,
0, 0, 17, 85, 86, 87, 88, 0, 0, 18,
- 272, 19, 190, 20, 21, 191, 22, 279, 0, 89,
- 90, 0, 0, 283, 0, 0, 91, 92, 93, 94,
- 95, 96, 97, 98, 288, 289, 0, 236, 290, 291,
- 219, 219, 0, 101, 102, 103, 104, 105, 106, 107,
+ 273, 19, 190, 20, 21, 191, 22, 280, 0, 89,
+ 90, 0, 0, 0, 285, 0, 91, 92, 93, 94,
+ 95, 96, 97, 98, 0, 290, 291, 0, 236, 292,
+ 293, 219, 219, 101, 102, 103, 104, 105, 106, 107,
108, 0, 109, 0, 0, 0, 0, 0, 0, 0,
- 233, 0, 0, 0, 0, 0, 307, 0, 0, 0,
- 0, 0, -74, 70, 0, 0, 71, -74, 0, 72,
- 0, -74, -74, -74, -74, -74, 0, 0, 316, 317,
- 318, -74, -74, -74, 0, 0, -74, -74, -74, 0,
- -74, 324, 0, 0, -74, -74, -74, -74, -74, -74,
- -74, -74, 0, 16, 0, 0, -74, 0, 0, -74,
- -74, -74, -74, -74, -74, -74, -74, -74, -74, 0,
- -74, -74, 0, -74, 0, -74, -74, -74, -74, 77,
- -74, 0, 78, -157, -157, 72, 0, 0, 0, 0,
- 0, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
- 0, -157, -157, 0, 0, 0, 0, 0, 0, 16,
- 0, 0, 0, -157, -157, 104, 105, 106, 107, 108,
- 0, 109, 0, 0, 0, 0, 215, 0, 79, 78,
- 80, 0, 72, 0, 0, 0, -156, 0, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 4, 5, 6,
- 7, 8, 0, 0, 0, 0, 16, 0, 0, 74,
- 0, 0, 4, 5, 6, 7, 8, 0, 0, 0,
- 0, 0, 9, 15, 0, 79, 10, 80, 0, 0,
- 11, 12, 0, -156, 16, 13, 0, 14, 15, 0,
- 0, 0, 0, 0, 0, 0, 217, 0, 0, 16,
- 0, 0, 0, 18, 0, 19, 0, 20, 21, 0,
- 22, 17, 4, 5, 6, 7, 8, 0, 18, 0,
- 19, 0, 20, 21, 75, 22, 46, 0, 0, 4,
- 5, 6, 7, 8, 0, 0, 0, 0, 15, 9,
- 0, 0, 0, 10, 0, 0, 0, 11, 12, 16,
- 0, 0, 13, 0, 14, 15, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 0, 18, 0,
- 19, 0, 20, 21, 0, 22, 0, 0, 17, 0,
- 0, 86, 87, 0, 0, 18, 0, 19, 0, 20,
- 21, 204, 22, 0, 4, 5, 6, 7, 8, 0,
- 0, 0, 0, 0, 9, 0, 0, 0, 10, 97,
- 98, 0, 11, 12, 0, 0, 0, 13, 0, 14,
- 15, 102, 103, 104, 105, 106, 107, 108, 0, 109,
- 0, 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, 208, 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, 0, 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, 0, 16, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 123, 18, 0, 19, 0, 20, 21, 0,
- 22, 4, 5, 6, 7, 8, 0, 0, 0, 0,
+ 0, 233, 0, 0, 0, 0, 0, 0, 309, 0,
+ 0, 0, 0, 0, -74, 70, 0, 0, 71, -74,
+ 0, 72, 0, -74, -74, -74, -74, -74, 0, 0,
+ 318, 319, 320, -74, -74, -74, 0, 0, -74, -74,
+ -74, 0, -74, 326, 0, 0, -74, -74, -74, -74,
+ -74, -74, -74, -74, 0, 16, 0, 0, -74, 0,
+ 0, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, 0, -74, -74, 0, -74, 0, -74, -74, -74,
+ -74, 77, -74, 0, 78, -159, -159, 72, 0, 0,
+ 0, 0, 0, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 0, -159, -159, 0, 0, 0, 0, 0,
+ 0, 16, 0, 0, 0, -159, -159, 104, 105, 106,
+ 107, 108, 0, 109, 0, 0, 0, 0, 215, 0,
+ 79, 78, 80, 0, 72, 0, 0, 0, -158, 0,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 4,
+ 5, 6, 7, 8, 0, 0, 0, 0, 16, 0,
+ 0, 74, 0, 0, 4, 5, 6, 7, 8, 0,
+ 0, 0, 0, 0, 9, 15, 0, 79, 10, 80,
+ 0, 0, 11, 12, 0, -158, 16, 13, 0, 14,
+ 15, 0, 0, 0, 0, 0, 0, 0, 217, 0,
+ 0, 16, 0, 0, 0, 18, 0, 19, 0, 20,
+ 21, 0, 22, 17, 4, 5, 6, 7, 8, 0,
+ 18, 0, 19, 0, 20, 21, 75, 22, 46, 0,
+ 0, 4, 5, 6, 7, 8, 0, 0, 0, 0,
+ 15, 9, 0, 0, 0, 10, 0, 0, 0, 11,
+ 12, 16, 0, 0, 13, 0, 14, 15, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
+ 18, 0, 19, 0, 20, 21, 0, 22, 0, 0,
+ 17, 0, 0, 86, 87, 0, 0, 18, 0, 19,
+ 0, 20, 21, 204, 22, 0, 4, 5, 6, 7,
+ 8, 0, 0, 0, 0, 0, 9, 0, 0, 0,
+ 10, 97, 98, 0, 11, 12, 0, 0, 0, 13,
+ 0, 14, 15, 102, 103, 104, 105, 106, 107, 108,
+ 0, 109, 0, 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, 208, 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, 0, 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, 282, 22, 0, 16, 0, 0, 0,
+ 0, 20, 21, 0, 22, 0, 16, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 17, 0,
- 0, 0, 0, 0, 0, 18, 0, 19, 229, 20,
- 21, 230, 22, 0, 72, 0, 0, 0, 0, 0,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
+ 0, 0, 0, 0, 123, 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,
+ 0, 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, 239, 22, 0, 16, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 48, 0, 0, 0, 0, 0, 231, 0, 232,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 0,
- 0, 0, 0, 0, 0, 0, 0, 85, 86, 87,
- 88, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 89, 90, 0, 0, 0, 0, 68,
- 91, 92, 93, 94, 95, 96, 97, 98, 0, 0,
- 0, 0, 0, 0, 0, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 108, 0, 109, 85, 86, 87,
- 88, 244, 0, 0, 245, 0, 0, 0, 0, 0,
- 0, 0, 0, 89, 90, 0, 0, 0, 0, 0,
- 91, 92, 93, 94, 95, 96, 97, 98, 0, 0,
- 0, 0, 0, 0, 0, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 108, 0, 109, 85, 86, 87,
- 88, 0, 0, 0, 144, 0, 0, 0, 0, 0,
- 0, 0, 0, 89, 90, 0, 0, 0, 0, 0,
- 91, 92, 93, 94, 95, 96, 97, 98, 0, 0,
- 0, 0, 0, 0, 0, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 108, 0, 109, 85, 86, 87,
- 88, 0, 0, 0, 280, 0, 0, 0, 0, 0,
- 0, 0, 0, 89, 90, 0, 0, 0, 0, 0,
- 91, 92, 93, 94, 95, 96, 97, 98, 0, 0,
- 0, 0, 0, 0, 0, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 108, 0, 109, 85, 86, 87,
- 88, 0, 0, 0, 281, 0, 0, 0, 0, 0,
- 0, 0, 0, 89, 90, 0, 0, 0, 0, 0,
- 91, 92, 93, 94, 95, 96, 97, 98, 0, 0,
- 0, 0, 0, 0, 0, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 108, 0, 109, 85, 86, 87,
- 88, 0, 0, 0, 306, 0, 0, 0, 0, 0,
- 0, 0, 0, 89, 90, 0, 0, 0, 0, 0,
- 91, 92, 93, 94, 95, 96, 97, 98, 0, 0,
- 0, 0, 0, 0, 0, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 108, 0, 109, 322, 0, 323,
- 85, 86, 87, 88, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 89, 90, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 18, 0, 19,
+ 0, 20, 21, 284, 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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 17, 0, 0, 0, 0, 0,
+ 0, 18, 0, 19, 229, 20, 21, 230, 22, 0,
+ 72, 0, 0, 0, 0, 0, 49, 50, 51, 52,
+ 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
+ 63, 64, 65, 66, 67, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 48, 0, 0,
+ 0, 0, 0, 231, 0, 232, 49, 50, 51, 52,
+ 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
+ 63, 64, 65, 66, 67, 0, 0, 0, 0, 0,
+ 0, 0, 0, 85, 86, 87, 88, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 89,
+ 90, 0, 0, 0, 0, 68, 91, 92, 93, 94,
+ 95, 96, 97, 98, 0, 0, 0, 0, 0, 0,
+ 0, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 0, 109, 85, 86, 87, 88, 245, 0, 0,
+ 246, 0, 0, 0, 0, 0, 0, 0, 0, 89,
+ 90, 0, 0, 0, 0, 0, 91, 92, 93, 94,
+ 95, 96, 97, 98, 0, 0, 0, 0, 0, 0,
+ 0, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 0, 109, 85, 86, 87, 88, 0, 0, 0,
+ 144, 0, 0, 0, 0, 0, 0, 0, 0, 89,
+ 90, 0, 0, 0, 0, 0, 91, 92, 93, 94,
+ 95, 96, 97, 98, 0, 0, 0, 0, 0, 0,
+ 0, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 0, 109, 85, 86, 87, 88, 0, 0, 0,
+ 282, 0, 0, 0, 0, 0, 0, 0, 0, 89,
+ 90, 0, 0, 0, 0, 0, 91, 92, 93, 94,
+ 95, 96, 97, 98, 0, 0, 0, 0, 0, 0,
+ 0, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 0, 109, 85, 86, 87, 88, 0, 0, 0,
+ 283, 0, 0, 0, 0, 0, 0, 0, 0, 89,
+ 90, 0, 0, 0, 0, 0, 91, 92, 93, 94,
+ 95, 96, 97, 98, 0, 0, 0, 0, 0, 0,
+ 0, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 0, 109, 85, 86, 87, 88, 0, 0, 0,
+ 308, 0, 0, 0, 0, 0, 0, 0, 0, 89,
+ 90, 0, 0, 0, 0, 0, 91, 92, 93, 94,
+ 95, 96, 97, 98, 0, 0, 0, 0, 0, 0,
+ 0, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 0, 109, 324, 0, 325, 85, 86, 87, 88,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 89, 90, 0, 0, 0, 0, 0, 91,
+ 92, 93, 94, 95, 96, 97, 98, 0, 0, 0,
+ 85, 86, 87, 88, 99, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108, 0, 109, 89, 90, 139, 0,
0, 0, 0, 91, 92, 93, 94, 95, 96, 97,
98, 0, 0, 0, 85, 86, 87, 88, 99, 100,
101, 102, 103, 104, 105, 106, 107, 108, 0, 109,
- 89, 90, 139, 0, 0, 0, 0, 91, 92, 93,
+ 89, 90, 221, 0, 0, 0, 0, 91, 92, 93,
94, 95, 96, 97, 98, 0, 0, 0, 85, 86,
87, 88, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 0, 109, 89, 90, 221, 0, 0, 0,
+ 107, 108, 0, 109, 89, 90, 300, 0, 0, 0,
0, 91, 92, 93, 94, 95, 96, 97, 98, 0,
0, 0, 85, 86, 87, 88, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, 0, 109, 89, 90,
- 298, 0, 0, 0, 0, 91, 92, 93, 94, 95,
+ 323, 0, 0, 0, 0, 91, 92, 93, 94, 95,
96, 97, 98, 0, 0, 0, 85, 86, 87, 88,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 0, 109, 89, 90, 321, 0, 0, 0, 0, 91,
+ 0, 109, 89, 90, 327, 0, 0, 0, 0, 91,
92, 93, 94, 95, 96, 97, 98, 0, 0, 0,
- 85, 86, 87, 88, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 0, 109, 89, 90, 325, 0,
+ 0, 0, 0, 0, 99, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108, 0, 109, 110, 85, 86, 87,
+ 88, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 89, 90, 0, 0, 0, 0, 0,
+ 91, 92, 93, 94, 95, 96, 97, 98, 0, 0,
+ 0, 0, 0, 0, 0, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 0, 109, 195, 85, 86,
+ 87, 88, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 89, 90, 0, 0, 0, 0,
+ 0, 91, 92, 93, 94, 95, 96, 97, 98, 0,
+ 0, 0, 0, 0, 0, 0, 99, 100, 101, 102,
+ 103, 104, 105, 106, 107, 108, 0, 109, 255, 85,
+ 86, 87, 88, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 89, 90, 0, 0, 0,
+ 0, 0, 91, 92, 93, 94, 95, 96, 97, 98,
+ 0, 0, 0, 0, 0, 0, 0, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 0, 109, 312,
+ 85, 86, 87, 88, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 89, 90, 0, 0,
0, 0, 0, 91, 92, 93, 94, 95, 96, 97,
98, 0, 0, 0, 0, 0, 0, 0, 99, 100,
101, 102, 103, 104, 105, 106, 107, 108, 0, 109,
- 110, 85, 86, 87, 88, 0, 0, 0, 0, 0,
+ 313, 85, 86, 87, 88, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 89, 90, 0,
0, 0, 0, 0, 91, 92, 93, 94, 95, 96,
97, 98, 0, 0, 0, 0, 0, 0, 0, 99,
100, 101, 102, 103, 104, 105, 106, 107, 108, 0,
- 109, 195, 85, 86, 87, 88, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 89, 90,
+ 109, 317, 85, 86, 87, 88, 0, 0, 0, 0,
+ 0, 0, 0, 256, 257, 0, 0, 258, 89, 90,
0, 0, 0, 0, 0, 91, 92, 93, 94, 95,
96, 97, 98, 0, 0, 0, 0, 0, 0, 0,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 0, 109, 254, 85, 86, 87, 88, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 89,
- 90, 0, 0, 0, 0, 0, 91, 92, 93, 94,
- 95, 96, 97, 98, 0, 0, 0, 0, 0, 0,
- 0, 99, 100, 101, 102, 103, 104, 105, 106, 107,
- 108, 0, 109, 310, 85, 86, 87, 88, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 89, 90, 0, 0, 0, 0, 0, 91, 92, 93,
- 94, 95, 96, 97, 98, 0, 0, 0, 0, 0,
- 0, 0, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 0, 109, 311, 85, 86, 87, 88, 0,
+ 0, 109, 85, 86, 87, 88, 0, 0, 0, 0,
+ 0, 0, 131, 0, 0, 0, 0, 0, 89, 90,
+ 0, 0, 0, 0, 0, 91, 92, 93, 94, 95,
+ 96, 97, 98, 0, 0, 0, 85, 86, 87, 88,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
+ 0, 109, 89, 90, 0, 0, 0, 0, 0, 91,
+ 92, 93, 94, 95, 96, 97, 98, 0, 0, 0,
+ 0, 294, 0, 0, 99, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108, 0, 109, 85, 86, 87, 88,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 89, 90, 0, 0, 0, 0, 0, 91, 92,
- 93, 94, 95, 96, 97, 98, 0, 0, 0, 0,
- 0, 0, 0, 99, 100, 101, 102, 103, 104, 105,
- 106, 107, 108, 0, 109, 315, 85, 86, 87, 88,
- 0, 0, 0, 0, 0, 0, 0, 255, 256, 0,
- 0, 257, 89, 90, 0, 0, 0, 0, 0, 91,
+ 0, 310, 89, 90, 0, 0, 0, 0, 0, 91,
92, 93, 94, 95, 96, 97, 98, 0, 0, 0,
0, 0, 0, 0, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 0, 109, 85, 86, 87, 88,
- 0, 0, 0, 0, 0, 0, 131, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 311, 0, 0, 0,
0, 0, 89, 90, 0, 0, 0, 0, 0, 91,
92, 93, 94, 95, 96, 97, 98, 0, 0, 0,
85, 86, 87, 88, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 0, 109, 89, 90, 0, 0,
0, 0, 0, 91, 92, 93, 94, 95, 96, 97,
- 98, 0, 0, 0, 0, 292, 0, 0, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 0, 109,
- 85, 86, 87, 88, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 308, 89, 90, 0, 0,
- 0, 0, 0, 91, 92, 93, 94, 95, 96, 97,
- 98, 0, 0, 0, 0, 0, 0, 0, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 0, 109,
- 85, 86, 87, 88, 0, 0, 0, 0, 0, 0,
- 309, 0, 0, 0, 0, 0, 89, 90, 0, 0,
- 0, 0, 0, 91, 92, 93, 94, 95, 96, 97,
- 98, 0, 0, 0, 85, 86, 87, 88, 99, 100,
+ 98, 0, 0, 0, -159, 86, 87, 0, 99, 100,
101, 102, 103, 104, 105, 106, 107, 108, 0, 109,
- 89, 90, 0, 0, 0, 0, 0, 91, 92, 93,
- 94, 95, 96, 97, 98, 0, 0, 0, -157, 86,
- 87, 0, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 0, 109, 89, 90, 0, 0, 0, 0,
- 0, -157, -157, -157, -157, -157, -157, 97, 98, 0,
- 0, 86, 87, 0, 0, 0, 0, 0, -157, 102,
- 103, 104, 105, 106, 107, 108, 89, 109, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 97,
- 98, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 102, 103, 104, 105, 106, 107, 108, 150, 109,
- 0, 0, 0, 0, 0, 0, 0, 49, 50, 51,
- 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
- 62, 63, 64, 65, 66, 67, 250, 0, 0, 0,
- 0, 0, 0, 0, 0, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
- 64, 65, 66, 67
+ 89, 90, 0, 0, 0, 0, 0, -159, -159, -159,
+ -159, -159, -159, 97, 98, 0, 0, 86, 87, 0,
+ 0, 0, 0, 0, -159, 102, 103, 104, 105, 106,
+ 107, 108, 89, 109, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 97, 98, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 102, 103, 104,
+ 105, 106, 107, 108, 150, 109, 0, 0, 0, 0,
+ 0, 0, 0, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 251, 0, 0, 0, 0, 0, 0, 0,
+ 0, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67
};
static const yytype_int16 yycheck[] =
{
- 1, 19, 4, 1, 7, 60, 11, 12, 5, 10,
+ 1, 19, 1, 7, 7, 15, 11, 12, 5, 10,
48, 5, 13, 5, 0, 5, 17, 18, 30, 13,
- 21, 13, 7, 13, 4, 20, 48, 22, 15, 30,
- 68, 32, 33, 28, 29, 48, 4, 48, 41, 148,
- 145, 63, 62, 152, 153, 65, 68, 67, 41, 59,
- 155, 61, 63, 66, 42, 43, 41, 45, 42, 43,
- 62, 45, 80, 182, 62, 16, 17, 64, 65, 58,
- 64, 65, 64, 65, 64, 65, 28, 59, 79, 61,
- 65, 62, 62, 4, 85, 86, 87, 88, 89, 90,
+ 21, 13, 4, 13, 4, 20, 48, 22, 48, 30,
+ 68, 32, 33, 28, 29, 48, 60, 41, 41, 63,
+ 145, 63, 58, 63, 148, 59, 68, 61, 152, 153,
+ 155, 62, 60, 66, 65, 4, 67, 42, 43, 28,
+ 45, 65, 80, 62, 41, 182, 62, 64, 65, 4,
+ 64, 65, 64, 65, 64, 65, 42, 43, 79, 45,
+ 62, 59, 62, 61, 85, 86, 87, 88, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 217, 121,
- 4, 61, 60, 222, 115, 63, 132, 133, 237, 114,
- 54, 55, 56, 62, 58, 1, 58, 63, 66, 130,
- 131, 68, 63, 134, 63, 48, 58, 47, 13, 62,
- 58, 146, 4, 148, 63, 40, 47, 152, 153, 268,
- 145, 270, 271, 40, 58, 274, 265, 266, 277, 66,
- 155, 58, 60, 4, 60, 183, 47, 4, 58, 4,
- 1, 63, 63, 4, 5, 6, 7, 8, 63, 63,
- 299,