summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Williams <nico@cryptonector.com>2019-03-08 09:59:47 -0600
committerNicolas Williams <nico@cryptonector.com>2019-03-24 23:23:16 -0500
commit3e0a11888644fd7660af2ac241cd5c97cf12feb4 (patch)
tree475f461079e501e5f942bdb6326f7a7752a245b4
parentc72ed135e4f1b5a02a8fb3f6cd46f27513ecab2a (diff)
downloadjq-3e0a11888644fd7660af2ac241cd5c97cf12feb4.tar.gz
Allow .["foo"].["bar"]
-rw-r--r--src/parser.c1555
-rw-r--r--src/parser.y6
2 files changed, 802 insertions, 759 deletions
diff --git a/src/parser.c b/src/parser.c
index d6d4ba0..d9210a9 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -678,16 +678,16 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 27
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2134
+#define YYLAST 2220
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 69
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 30
/* YYNRULES -- Number of rules. */
-#define YYNRULES 167
+#define YYNRULES 169
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 318
+#define YYNSTATES 322
/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
by yylex, with out-of-bounds checking. */
@@ -748,13 +748,13 @@ static const yytype_uint16 yyrline[] =
616, 621, 624, 627, 633, 636, 639, 647, 651, 654,
657, 660, 663, 666, 669, 672, 675, 679, 685, 688,
691, 694, 697, 700, 703, 706, 709, 712, 715, 718,
- 721, 724, 727, 730, 733, 740, 744, 753, 765, 770,
- 771, 772, 773, 776, 779, 784, 789, 792, 797, 800,
- 805, 809, 812, 817, 820, 825, 828, 833, 836, 839,
- 842, 845, 848, 856, 862, 865, 868, 871, 874, 877,
+ 721, 724, 727, 730, 733, 736, 739, 746, 750, 759,
+ 771, 776, 777, 778, 779, 782, 785, 790, 795, 798,
+ 803, 806, 811, 815, 818, 823, 826, 831, 834, 839,
+ 842, 845, 848, 851, 854, 862, 868, 871, 874, 877,
880, 883, 886, 889, 892, 895, 898, 901, 904, 907,
- 910, 913, 916, 921, 924, 925, 926, 929, 932, 935,
- 938, 942, 946, 950, 954, 958, 962, 970
+ 910, 913, 916, 919, 922, 927, 930, 931, 932, 935,
+ 938, 941, 944, 948, 952, 956, 960, 964, 968, 976
};
#endif
@@ -797,52 +797,53 @@ static const yytype_uint16 yytoknum[] =
};
# endif
-#define YYPACT_NINF -154
+#define YYPACT_NINF -157
#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-154)))
+ (!!((Yystate) == (-157)))
-#define YYTABLE_NINF -154
+#define YYTABLE_NINF -156
#define yytable_value_is_error(Yytable_value) \
- (!!((Yytable_value) == (-154)))
+ (!!((Yytable_value) == (-156)))
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 24, 834, 3, 33, -45, -6, -154, 18, -154, 56,
- 834, 435, 435, 834, 4, 1, -154, 834, 584, 2047,
- 284, 517, 350, 1352, 834, -154, 0, -154, -3, -3,
- 834, 33, 742, 834, -154, -154, -9, 1758, 9, 57,
- 39, 64, -154, 67, -154, -11, 11, 1182, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- 74, 18, 49, 10, -154, 979, -38, 47, 834, 2075,
- 54, 72, 59, 34, 834, 834, 834, 834, 834, 834,
- 834, 834, 834, 834, 834, 834, 834, 834, 834, 834,
- 834, 834, 834, 834, 834, 834, 834, 834, -154, -154,
- 1926, 79, -25, -3, 450, 125, -154, -154, -154, 1926,
- 834, -154, -154, 1403, 1926, 55, -154, -154, 7, 834,
- 649, -25, -25, 714, 94, -154, 81, -154, -154, -154,
- -154, -154, -154, 407, 170, -154, 170, 1216, 80, -154,
- 170, 170, -154, 407, 1994, 207, 207, 1960, 345, 143,
- 1994, 1994, 1994, 1994, 1994, 1994, 207, 207, 1926, 1960,
- 1994, 207, 207, -11, -11, 86, 86, 86, -154, 141,
- -25, 896, 108, 103, 112, 97, 90, 834, 99, 929,
- 19, -154, -154, 834, -154, 88, -154, 2103, 75, -154,
- 1454, -154, 1658, 98, 100, -154, -154, 834, -154, 834,
- -154, -15, -154, 170, 114, 14, 114, 101, 170, 114,
- 114, -154, -154, -154, -42, 102, 106, 834, 158, 107,
- -27, -154, 109, -25, 834, -154, -154, 1029, -154, 806,
- 113, -154, 169, -154, -154, -154, -154, 7, 117, -154,
- 834, 834, -154, -154, 834, 834, 1926, 1792, -154, 170,
- 170, 114, -25, -154, -25, -25, 1250, 120, -25, 896,
- -154, -25, 144, 1926, 127, 130, 1079, -154, -154, -154,
- 834, 1842, 1892, 1505, 1556, -154, 114, 114, -154, -154,
- -154, 126, -25, -154, -154, -154, -154, -154, 132, 1607,
- -154, 834, 834, 834, -25, -154, -154, -154, 1708, 1284,
- 1129, -154, -154, -154, 834, -154, 1318, -154
+ 43, 838, 75, 28, 16, 22, -157, 66, -157, 108,
+ 838, 161, 161, 838, 63, 1, -157, 838, 588, 2133,
+ 288, 521, 354, 1406, 838, -157, 0, -157, 14, 14,
+ 838, 28, 746, 838, -157, -157, -9, 1812, 17, 55,
+ 99, 126, -157, 127, -157, -6, 72, 1236, -157, -157,
+ -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
+ -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
+ 140, 66, 85, 78, -157, 983, -45, 82, 838, 2161,
+ 86, 87, 83, 105, 838, 838, 838, 838, 838, 838,
+ 838, 838, 838, 838, 838, 838, 838, 838, 838, 838,
+ 838, 838, 838, 838, 838, 838, 838, 838, -157, -157,
+ 1980, 96, -26, -3, 454, 142, -157, -157, -157, 1980,
+ 838, -157, -157, 1457, 1980, -19, -157, -157, 10, 838,
+ 653, -26, -26, 718, 109, -157, 24, -157, -157, -157,
+ -157, -157, -157, 411, 130, -157, 130, 1270, 94, -157,
+ 130, 130, -157, 411, 2048, 209, 209, 2014, 349, 2080,
+ 2048, 2048, 2048, 2048, 2048, 2048, 209, 209, 1980, 2014,
+ 2048, 209, 209, -6, -6, 101, 101, 101, -157, 157,
+ -26, 900, 122, 117, 132, 838, 112, 107, 838, 116,
+ 933, 11, -157, -157, 838, -157, 81, -157, 2189, -2,
+ -157, 1508, -157, 1712, 115, 118, -157, -157, 838, -157,
+ 838, -157, -20, -157, 130, 129, 51, 129, 114, 130,
+ 129, 129, -157, -157, -157, -13, 119, 125, 838, 175,
+ 133, -22, -157, 135, -26, 838, 1033, -157, -157, 1083,
+ -157, 810, 123, -157, 181, -157, -157, -157, -157, 10,
+ 136, -157, 838, 838, -157, -157, 838, 838, 1980, 1846,
+ -157, 130, 130, 129, -26, -157, -26, -26, 1304, 137,
+ -26, 900, -157, -26, 149, 1980, 143, 145, 146, 1133,
+ -157, -157, -157, 838, 1896, 1946, 1559, 1610, -157, 129,
+ 129, -157, -157, -157, 148, -26, -157, -157, -157, -157,
+ -157, -157, 147, 1661, -157, 838, 838, 838, -26, -157,
+ -157, -157, 1762, 1338, 1183, -157, -157, -157, 838, -157,
+ 1372, -157
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -850,54 +851,55 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 4, 0, 0, 6, 107, 83, 98, 100, 75, 0,
+ 4, 0, 0, 6, 109, 83, 100, 102, 75, 0,
0, 0, 0, 0, 0, 0, 62, 0, 0, 0,
- 0, 0, 0, 0, 0, 99, 48, 1, 0, 0,
+ 0, 0, 0, 0, 0, 101, 48, 1, 0, 0,
8, 6, 0, 0, 79, 64, 0, 0, 0, 0,
- 19, 0, 77, 0, 66, 33, 0, 0, 105, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 106, 86,
- 0, 0, 85, 0, 103, 0, 0, 164, 0, 0,
- 160, 165, 0, 154, 0, 0, 0, 0, 0, 0,
+ 19, 0, 77, 0, 66, 33, 0, 0, 107, 136,
+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
+ 147, 148, 149, 150, 151, 152, 153, 154, 108, 86,
+ 0, 0, 85, 0, 105, 0, 0, 166, 0, 0,
+ 162, 167, 0, 156, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 22, 5,
10, 82, 0, 0, 0, 0, 54, 53, 3, 2,
- 8, 7, 49, 0, 115, 0, 113, 66, 0, 0,
- 0, 0, 0, 0, 0, 76, 0, 109, 101, 87,
- 81, 110, 102, 0, 0, 112, 0, 0, 162, 163,
- 0, 0, 104, 0, 41, 42, 43, 26, 25, 24,
+ 8, 7, 49, 0, 117, 0, 115, 66, 0, 0,
+ 0, 0, 0, 0, 0, 76, 0, 111, 103, 87,
+ 81, 112, 104, 0, 0, 114, 0, 0, 164, 165,
+ 0, 0, 106, 0, 41, 42, 43, 26, 25, 24,
28, 32, 35, 37, 40, 27, 46, 47, 29, 30,
23, 44, 45, 31, 34, 36, 38, 39, 78, 0,
- 0, 0, 0, 0, 119, 84, 0, 0, 91, 0,
- 0, 9, 50, 0, 108, 0, 61, 0, 0, 57,
- 0, 17, 0, 0, 0, 20, 18, 0, 67, 0,
- 63, 0, 156, 0, 167, 73, 157, 0, 0, 159,
- 158, 155, 120, 123, 0, 0, 0, 0, 0, 0,
- 0, 125, 0, 0, 0, 80, 111, 0, 90, 0,
- 89, 52, 0, 114, 65, 59, 60, 0, 0, 55,
- 0, 0, 16, 15, 0, 0, 21, 0, 72, 0,
- 0, 161, 0, 121, 0, 0, 0, 127, 0, 0,
- 122, 0, 118, 11, 97, 96, 0, 88, 51, 58,
- 0, 0, 0, 0, 0, 68, 71, 166, 124, 133,
- 129, 0, 0, 131, 126, 130, 94, 93, 95, 0,
- 70, 0, 0, 0, 0, 128, 92, 56, 0, 0,
- 0, 132, 69, 12, 0, 14, 0, 13
+ 0, 0, 0, 0, 121, 0, 84, 0, 0, 93,
+ 0, 0, 9, 50, 0, 110, 0, 61, 0, 0,
+ 57, 0, 17, 0, 0, 0, 20, 18, 0, 67,
+ 0, 63, 0, 158, 0, 169, 73, 159, 0, 0,
+ 161, 160, 157, 122, 125, 0, 0, 0, 0, 0,
+ 0, 0, 127, 0, 0, 0, 0, 80, 113, 0,
+ 92, 0, 89, 52, 0, 116, 65, 59, 60, 0,
+ 0, 55, 0, 0, 16, 15, 0, 0, 21, 0,
+ 72, 0, 0, 163, 0, 123, 0, 0, 0, 129,
+ 0, 0, 124, 0, 120, 11, 91, 99, 98, 0,
+ 88, 51, 58, 0, 0, 0, 0, 0, 68, 71,
+ 168, 126, 135, 131, 0, 0, 133, 128, 132, 90,
+ 96, 95, 97, 0, 70, 0, 0, 0, 0, 130,
+ 94, 56, 0, 0, 0, 134, 69, 12, 0, 14,
+ 0, 13
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -154, -154, -154, 160, 82, -1, -154, -154, 174, -12,
- -154, -43, 6, -154, -154, 78, -101, -93, -4, -154,
- 17, -154, -76, -153, -154, -154, -57, -18, -107, -154
+ -157, -157, -157, 177, 92, -1, -157, -157, 184, -11,
+ -157, -43, 5, -157, -157, 89, -98, -140, -4, -157,
+ 23, -157, -61, -156, -157, -157, -53, -18, -106, -157
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 2, 3, 30, 118, 110, 31, 32, 115, 24,
- 198, 199, 25, 44, 127, 136, 253, 214, 26, 125,
- 126, 182, 183, 184, 224, 230, 231, 81, 82, 83
+ 199, 200, 25, 44, 127, 136, 255, 215, 26, 125,
+ 126, 182, 183, 184, 225, 231, 232, 81, 82, 83
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -905,349 +907,360 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 23, 68, 42, 27, 71, 111, 262, 38, 39, 37,
- 143, 196, 40, 112, 111, 33, 45, 47, 120, 111,
- 75, 269, 131, 241, 263, 144, 72, 223, 80, 119,
- 145, 123, 124, 143, 116, 116, 212, 179, 16, 1,
- 180, 270, 181, 105, 106, 107, 221, 108, 144, 28,
- 29, 128, 34, 216, 129, 203, 204, 219, 220, 35,
- 36, 149, 111, 43, 113, 114, 41, 133, 134, 197,
- 132, 135, 137, 113, 114, 139, 141, 147, 113, 114,
- 272, 242, 153, 154, 155, 156, 157, 158, 159, 160,
+ 23, 68, 42, 143, 71, 111, 217, 38, 39, 37,
+ 220, 221, 40, 112, 197, 243, 45, 47, 144, 120,
+ 75, 71, 111, 145, 224, 72, 271, 80, 143, 119,
+ 131, 123, 124, 116, 116, 264, 179, 213, 16, 180,
+ 194, 181, 195, 144, 28, 29, 272, 222, 105, 106,
+ 107, 128, 108, 265, 129, 16, 111, 249, 1, 250,
+ 111, 149, 185, 43, 113, 114, 209, 210, 132, 211,
+ 204, 205, 198, 244, 260, 27, 33, 147, 274, 263,
+ 34, 113, 114, 154, 155, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 140, 120, 288,
- 146, 289, 290, 189, 193, 293, 194, 150, 295, 185,
- 258, 113, 114, 208, 209, 261, 210, 152, 200, 202,
- 208, 209, 206, 244, 247, 151, 248, 178, 190, 305,
- 215, 207, 215, 218, 108, 222, 215, 215, 233, 80,
- 234, 311, -117, 85, 86, 235, 236, 238, 254, 80,
- 255, 259, 267, 232, 260, 264, 286, 287, 88, 265,
- 268, 277, 271, 278, 4, 5, 6, 7, 8, 246,
- 280, 96, 97, 292, -116, 296, 237, 229, 297, 304,
- 306, 121, 124, 101, 102, 103, 104, 105, 106, 107,
- 15, 108, 191, 117, 279, 195, 256, 312, 257, 215,
- 243, 16, 294, 0, 215, 0, 0, -154, -154, 0,
- 0, 0, 0, 213, 0, 0, 266, 0, 0, 0,
- 18, 0, 19, 273, 20, 21, 0, 22, 276, 0,
- 0, 0, 0, 0, 0, -154, -154, 0, 0, 281,
- 282, 232, 0, 283, 284, 215, 215, -154, -154, 103,
- 104, 105, 106, 107, 0, 108, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 229, 0, 0, 0, 299,
- 0, 0, 0, 0, -74, 69, 0, 0, 70, -74,
- 0, 71, 0, -74, -74, -74, -74, -74, 0, 0,
- 308, 309, 310, -74, -74, -74, 0, 0, -74, -74,
- -74, 0, -74, 316, 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, 76, -74, 0, 77, 85, 86, 71, 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, 96, 97, 0, 0, 0, 0, 0,
- 0, 16, 0, 0, 0, 101, 102, 103, 104, 105,
- 106, 107, 0, 108, 0, 0, 0, 0, 211, 0,
- 78, 77, 79, 0, 71, 0, 0, 0, -153, 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, 186, 0, 0, 4, 5, 6, 7, 8, 0,
- 0, 0, 0, 0, 9, 15, 0, 78, 10, 79,
- 0, 0, 11, 12, 0, -153, 16, 13, 0, 14,
- 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 16, 0, 0, 0, 18, 0, 19, 0, 20,
- 21, 0, 22, 17, 0, 0, 0, 0, 0, 0,
- 18, 0, 19, 187, 20, 21, 188, 22, 73, 0,
- 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, 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,
- 0, 20, 21, 74, 22, 46, 0, 0, 4, 5,
+ 171, 172, 173, 174, 175, 176, 177, 35, 291, 120,
+ 292, 293, 36, 190, 296, 113, 114, 298, 186, 113,
+ 114, 289, 290, 209, 210, 41, 246, 133, 201, 203,
+ 134, 135, 207, 137, 4, 5, 6, 7, 8, 309,
+ 216, 139, 216, 140, 141, 146, 216, 216, 80, 150,
+ 151, 152, 315, 153, 178, 191, 208, 219, 80, 108,
+ 15, 223, 234, 233, 235, 4, 5, 6, 7, 8,
+ 237, 16, -119, 238, 240, 256, 261, 262, 257, 269,
+ 248, 280, 266, 214, 236, 281, 230, 239, 267, -118,
+ 18, 15, 19, 124, 20, 21, 270, 22, 273, 283,
+ 295, 299, 16, 300, 301, 310, 282, 258, 121, 259,
+ 216, 308, 192, 117, 316, 216, 196, 245, 297, -156,
+ -156, 18, 0, 19, 0, 20, 21, 268, 22, 0,
+ 0, 0, 0, 0, 275, 0, 0, 0, 0, 0,
+ 279, 0, 0, 0, 0, 0, 0, -156, -156, 0,
+ 0, 284, 285, 233, 0, 286, 287, 216, 216, -156,
+ -156, 103, 104, 105, 106, 107, 0, 108, 0, 0,
+ 0, 0, 0, 0, 0, 0, 230, 0, 0, 0,
+ 0, 0, 303, 0, 0, 0, 0, 0, -74, 69,
+ 0, 0, 70, -74, 0, 71, 0, -74, -74, -74,
+ -74, -74, 0, 0, 312, 313, 314, -74, -74, -74,
+ 0, 0, -74, -74, -74, 0, -74, 320, 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, 76, -74, 0, 77, 85,
+ 86, 71, 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, 96, 97, 0,
+ 0, 0, 0, 0, 0, 16, 0, 0, 0, 101,
+ 102, 103, 104, 105, 106, 107, 0, 108, 0, 0,
+ 0, 0, 212, 0, 78, 77, 79, 0, 71, 0,
+ 0, 0, -155, 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, 187, 0, 0, 4, 5,
6, 7, 8, 0, 0, 0, 0, 0, 9, 0,
- 0, 0, 10, 0, 0, 0, 11, 12, 0, 0,
+ 0, 78, 10, 79, 0, 0, 11, 12, 0, -155,
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, 0, 20, 21,
- 201, 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, 0, 0, 0, 18, 0, 19, 188, 20, 21,
+ 189, 22, 73, 0, 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, 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, 0, 20, 21, 74, 22, 46,
+ 0, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
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, 0, 20, 21, 205, 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, 122, 18, 0, 19, 0, 20, 21, 0, 22,
- 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
+ 0, 17, 0, 0, 0, 0, 0, 0, 18, 0,
+ 19, 0, 20, 21, 202, 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, 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, 0, 20, 21, 206,
+ 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, 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, 275, 22, 0, 16, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 17, 0, 0,
- 0, 0, 0, 0, 18, 0, 19, 225, 20, 21,
- 226, 22, 0, 71, 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, 84, 85,
- 86, 87, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 88, 89, 227, 0, 228, 0,
- 0, 90, 91, 92, 93, 94, 95, 96, 97, 0,
- 0, 0, 0, 0, 0, 0, 98, 99, 100, 101,
- 102, 103, 104, 105, 106, 107, 0, 108, 84, 85,
- 86, 87, 239, 0, 0, 240, 0, 0, 0, 0,
- 0, 0, 0, 0, 88, 89, 0, 0, 0, 0,
- 0, 90, 91, 92, 93, 94, 95, 96, 97, 0,
- 0, 0, 0, 0, 0, 0, 98, 99, 100, 101,
- 102, 103, 104, 105, 106, 107, 0, 108, 84, 85,
- 86, 87, 0, 0, 0, 142, 0, 0, 0, 0,
- 0, 0, 0, 0, 88, 89, 0, 0, 0, 0,
- 0, 90, 91, 92, 93, 94, 95, 96, 97, 0,
- 0, 0, 0, 0, 0, 0, 98, 99, 100, 101,
- 102, 103, 104, 105, 106, 107, 0, 108, 84, 85,
- 86, 87, 0, 0, 0, 274, 0, 0, 0, 0,
- 0, 0, 0, 0, 88, 89, 0, 0, 0, 0,
- 0, 90, 91, 92, 93, 94, 95, 96, 97, 0,
- 0, 0, 0, 0, 0, 0, 98, 99, 100, 101,
- 102, 103, 104, 105, 106, 107, 0, 108, 84, 85,
- 86, 87, 0, 0, 0, 298, 0, 0, 0, 0,
- 0, 0, 0, 0, 88, 89, 0, 0, 0, 0,
- 0, 90, 91, 92, 93, 94, 95, 96, 97, 0,
- 0, 0, 0, 0, 0, 0, 98, 99, 100, 101,
- 102, 103, 104, 105, 106, 107, 0, 108, 314, 0,
- 315, 84, 85, 86, 87, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 88, 89, 0,
- 0, 0, 0, 0, 90, 91, 92, 93, 94, 95,
- 96, 97, 0, 0, 0, 84, 85, 86, 87, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 0,
- 108, 88, 89, 138, 0, 0, 0, 0, 90, 91,
+ 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, 122, 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, 278, 22, 0, 16,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 17, 0, 0, 0, 0, 0, 0, 18, 0,
+ 19, 226, 20, 21, 227, 22, 0, 71, 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, 84, 85, 86, 87, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 88, 89,
+ 228, 0, 229, 0, 0, 90, 91, 92, 93, 94,
+ 95, 96, 97, 0, 0, 0, 0, 0, 0, 0,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 0, 108, 84, 85, 86, 87, 241, 0, 0, 242,
+ 0, 0, 0, 0, 0, 0, 0, 0, 88, 89,
+ 0, 0, 0, 0, 0, 90, 91, 92, 93, 94,
+ 95, 96, 97, 0, 0, 0, 0, 0, 0, 0,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 0, 108, 84, 85, 86, 87, 0, 0, 0, 142,
+ 0, 0, 0, 0, 0, 0, 0, 0, 88, 89,
+ 0, 0, 0, 0, 0, 90, 91, 92, 93, 94,
+ 95, 96, 97, 0, 0, 0, 0, 0, 0, 0,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 0, 108, 84, 85, 86, 87, 0, 0, 0, 276,
+ 0, 0, 0, 0, 0, 0, 0, 0, 88, 89,
+ 0, 0, 0, 0, 0, 90, 91, 92, 93, 94,
+ 95, 96, 97, 0, 0, 0, 0, 0, 0, 0,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 0, 108, 84, 85, 86, 87, 0, 0, 0, 277,
+ 0, 0, 0, 0, 0, 0, 0, 0, 88, 89,
+ 0, 0, 0, 0, 0, 90, 91, 92, 93, 94,
+ 95, 96, 97, 0, 0, 0, 0, 0, 0, 0,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 0, 108, 84, 85, 86, 87, 0, 0, 0, 302,
+ 0, 0, 0, 0, 0, 0, 0, 0, 88, 89,
+ 0, 0, 0, 0, 0, 90, 91, 92, 93, 94,
+ 95, 96, 97, 0, 0, 0, 0, 0, 0, 0,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 0, 108, 318, 0, 319, 84, 85, 86, 87, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 88, 89, 0, 0, 0, 0, 0, 90, 91,
92, 93, 94, 95, 96, 97, 0, 0, 0, 84,
85, 86, 87, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 0, 108, 88, 89, 217, 0, 0,
+ 105, 106, 107, 0, 108, 88, 89, 138, 0, 0,
0, 0, 90, 91, 92, 93, 94, 95, 96, 97,
0, 0, 0, 84, 85, 86, 87, 98, 99, 100,
101, 102, 103, 104, 105, 106, 107, 0, 108, 88,
- 89, 291, 0, 0, 0, 0, 90, 91, 92, 93,
+ 89, 218, 0, 0, 0, 0, 90, 91, 92, 93,
94, 95, 96, 97, 0, 0, 0, 84, 85, 86,
87, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 0, 108, 88, 89, 313, 0, 0, 0, 0,
+ 107, 0, 108, 88, 89, 294, 0, 0, 0, 0,
90, 91, 92, 93, 94, 95, 96, 97, 0, 0,
0, 84, 85, 86, 87, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 0, 108, 88, 89, 317,
0, 0, 0, 0, 90, 91, 92, 93, 94, 95,
- 96, 97, 0, 0, 0, 0, 0, 0, 0, 98,
+ 96, 97, 0, 0, 0, 84, 85, 86, 87, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 0,
- 108, 109, 84, 85, 86, 87, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 88, 89,
- 0, 0, 0, 0, 0, 90, 91, 92, 93, 94,
- 95, 96, 97, 0, 0, 0, 0, 0, 0, 0,
- 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
- 0, 108, 192, 84, 85, 86, 87, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,
- 89, 0, 0, 0, 0, 0, 90, 91, 92, 93,
- 94, 95, 96, 97, 0, 0, 0, 0, 0, 0,
- 0, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 0, 108, 249, 84, 85, 86, 87, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 88, 89, 0, 0, 0, 0, 0, 90, 91, 92,
- 93, 94, 95, 96, 97, 0, 0, 0, 0, 0,
- 0, 0, 98, 99, 100, 101, 102, 103, 104, 105,
- 106, 107, 0, 108, 302, 84, 85, 86, 87, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 88, 89, 0, 0, 0, 0, 0, 90, 91,
+ 108, 88, 89, 321, 0, 0, 0, 0, 90, 91,
92, 93, 94, 95, 96, 97, 0, 0, 0, 0,
0, 0, 0, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 0, 108, 303, 84, 85, 86, 87,
+ 105, 106, 107, 0, 108, 109, 84, 85, 86, 87,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 88, 89, 0, 0, 0, 0, 0, 90,
91, 92, 93, 94, 95, 96, 97, 0, 0, 0,
0, 0, 0, 0, 98, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 0, 108, 307, 84, 85, 86,
- 87, 0, 0, 0, 0, 0, 0, 0, 250, 251,
- 0, 0, 252, 88, 89, 0, 0, 0, 0, 0,
- 90, 91, 92, 93, 94, 95, 96, 97, 0, 0,
- 0, 0, 0, 0, 0, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 0, 108, 84, 85, 86,
- 87, 0, 0, 0, 0, 0, 0, 0, 250, 251,
+ 104, 105, 106, 107, 0, 108, 193, 84, 85, 86,
+ 87, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 88, 89, 0, 0, 0, 0, 0,
90, 91, 92, 93, 94, 95, 96, 97, 0, 0,
0, 0, 0, 0, 0, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 0, 108, 84, 85, 86,
- 87, 0, 0, 0, 0, 0, 0, 130, 0, 0,
- 0, 0, 0, 88, 89, 0, 0, 0, 0, 0,
- 90, 91, 92, 93, 94, 95, 96, 97, 0, 0,
- 0, 84, 85, 86, 87, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 0, 108, 88, 89, 0,
+ 103, 104, 105, 106, 107, 0, 108, 251, 84, 85,
+ 86, 87, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 88, 89, 0, 0, 0, 0,
+ 0, 90, 91, 92, 93, 94, 95, 96, 97, 0,
+ 0, 0, 0, 0, 0, 0, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 0, 108, 306, 84,
+ 85, 86, 87, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 88, 89, 0, 0, 0,
+ 0, 0, 90, 91, 92, 93, 94, 95, 96, 97,
+ 0, 0, 0, 0, 0, 0, 0, 98, 99, 100,
+ 101, 102, 103, 104, 105, 106, 107, 0, 108, 307,
+ 84, 85, 86, 87, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 88, 89, 0, 0,
+ 0, 0, 0, 90, 91, 92, 93, 94, 95, 96,
+ 97, 0, 0, 0, 0, 0, 0, 0, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 0, 108,
+ 311, 84, 85, 86, 87, 0, 0, 0, 0, 0,
+ 0, 0, 252, 253, 0, 0, 254, 88, 89, 0,
0, 0, 0, 0, 90, 91, 92, 93, 94, 95,
- 96, 97, 0, 0, 0, 0, 285, 0, 0, 98,
+ 96, 97, 0, 0, 0, 0, 0, 0, 0, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 0,
108, 84, 85, 86, 87, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 300, 88, 89, 0,
+ 0, 0, 252, 253, 0, 0, 0, 88, 89, 0,
0, 0, 0, 0, 90, 91, 92, 93, 94, 95,
96, 97, 0, 0, 0, 0, 0, 0, 0, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 0,
108, 84, 85, 86, 87, 0, 0, 0, 0, 0,
- 0, 301, 0, 0, 0, 0, 0, 88, 89, 0,
+ 0, 130, 0, 0, 0, 0, 0, 88, 89, 0,
0, 0, 0, 0, 90, 91, 92, 93, 94, 95,
96, 97, 0, 0, 0, 84, 85, 86, 87, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 0,
108, 88, 89, 0, 0, 0, 0, 0, 90, 91,
+ 92, 93, 94, 95, 96, 97, 0, 0, 0, 0,
+ 288, 0, 0, 98, 99, 100, 101, 102, 103, 104,
+ 105, 106, 107, 0, 108, 84, 85, 86, 87, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 304, 88, 89, 0, 0, 0, 0, 0, 90, 91,
+ 92, 93, 94, 95, 96, 97, 0, 0, 0, 0,
+ 0, 0, 0, 98, 99, 100, 101, 102, 103, 104,
+ 105, 106, 107, 0, 108, 84, 85, 86, 87, 0,
+ 0, 0, 0, 0, 0, 305, 0, 0, 0, 0,
+ 0, 88, 89, 0, 0, 0, 0, 0, 90, 91,
92, 93, 94, 95, 96, 97, 0, 0, 0, 84,
85, 86, 87, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 0, 108, 88, 89, 0, 0, 0,
0, 0, 90, 91, 92, 93, 94, 95, 96, 97,
- 0, 0, 0, -154, 85, 86, 0, 0, 0, 100,
+ 0, 0, 0, 84, 85, 86, 87, 98, 99, 100,
101, 102, 103, 104, 105, 106, 107, 0, 108, 88,
- 89, 0, 0, 0, 0, 0, -154, -154, -154, -154,
- -154, -154, 96, 97, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, -154, 101, 102, 103, 104, 105, 106,
- 107, 48, 108, 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, 148,
- 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, 245, 0, 0,
+ 89, 0, 0, 0, 0, 0, 90, 91, 92, 93,
+ 94, 95, 96, 97, 0, 0, 0, -156, 85, 86,
+ 0, 0, 0, 100, 101, 102, 103, 104, 105, 106,
+ 107, 0, 108, 88, 89, 0, 0, 0, 0, 0,
+ -156, -156, -156, -156, -156, -156, 96, 97, 0, 0,
+ 85, 86, 0, 0, 0, 0, 0, -156, 101, 102,
+ 103, 104, 105, 106, 107, 88, 108, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 96, 97,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 101, 102, 103, 104, 105, 106, 107, 48, 108, 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
+ 63, 64, 65, 66, 67, 148, 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, 247, 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, 1, 0, 7, 5, 48, 11, 12, 10,
- 48, 4, 13, 13, 5, 60, 17, 18, 30, 5,
- 21, 48, 13, 4, 66, 63, 20, 180, 22, 30,
- 68, 32, 33, 48, 28, 29, 143, 62, 41, 15,
- 65, 68, 67, 54, 55, 56, 153, 58, 63, 16,
- 17, 60, 58, 146, 63, 131, 132, 150, 151, 41,
- 4, 79, 5, 62, 64, 65, 62, 28, 4, 62,
- 13, 4, 61, 64, 65, 1, 66, 78, 64, 65,
- 233, 62, 48, 84, 85, 86, 87, 88, 89, 90,
+ 1, 19, 1, 48, 7, 5, 146, 11, 12, 10,
+ 150, 151, 13, 13, 4, 4, 17, 18, 63, 30,
+ 21, 7, 5, 68, 180, 20, 48, 22, 48, 30,
+ 13, 32, 33, 28, 29, 48, 62, 143, 41, 65,
+ 59, 67, 61, 63, 16, 17, 68, 153, 54, 55,
+ 56, 60, 58, 66, 63, 41, 5, 59, 15, 61,
+ 5, 79, 65, 62, 64, 65, 42, 43, 13, 45,
+ 131, 132, 62, 62, 214, 0, 60, 78, 234, 219,
+ 58, 64, 65, 84, 85, 86, 87, 88, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 58, 120, 262,
- 63, 264, 265, 114, 59, 268, 61, 63, 271, 113,
- 213, 64, 65, 42, 43, 218, 45, 68, 129, 130,
- 42, 43, 133, 45, 59, 63, 61, 58, 13, 292,
- 144, 47, 146, 63, 58, 4, 150, 151, 40, 143,
- 47, 304, 40, 10, 11, 58, 66, 58, 60, 153,
- 60, 47, 4, 181, 63, 63, 259, 260, 25, 63,
- 63, 58, 63, 4, 4, 5, 6, 7, 8, 197,
- 63, 38, 39, 63, 40, 58, 187, 181, 58, 63,
- 58, 31, 193, 50, 51, 52, 53, 54, 55, 56,
- 30, 58, 120, 29, 247, 127, 207, 308, 209, 213,
- 193, 41, 269, -1, 218, -1, -1, 10, 11, -1,
- -1, -1, -1, 53, -1, -1, 227, -1, -1, -1,
- 60, -1, 62, 234, 64, 65, -1, 67, 239, -1,
- -1, -1, -1, -1, -1, 38, 39, -1, -1, 250,
- 251, 269, -1, 254, 255, 259, 260, 50, 51, 52,
- 53, 54, 55, 56, -1, 58, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 269, -1, -1, -1, 280,
- -1, -1, -1, -1, 0, 1, -1, -1, 4, 5,
- -1, 7, -1, 9, 10, 11, 12, 13, -1, -1,
- 301, 302, 303, 19, 20, 21, -1, -1, 24, 25,
- 26, -1, 28, 314, -1, -1, 32, 33, 34, 35,
- 36, 37, 38, 39, -1, 41, -1, -1, 44, -1,
- -1, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, -1, 58, 59, -1, 61, -1, 63, 64, 65,
- 66, 1, 68, -1, 4, 10, 11, 7, -1, -1,
- -1, -1, -1, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
- 30, 31, -1, 38, 39, -1, -1, -1, -1, -1,
- -1, 41, -1, -1, -1, 50, 51, 52, 53, 54,
- 55, 56, -1, 58, -1, -1, -1, -1, 1, -1,
- 60, 4, 62, -1, 7, -1, -1, -1, 68, -1,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 4,
- 5, 6, 7, 8, -1, -1, -1, -1, 41, -1,
- -1, 1, -1, -1, 4, 5, 6, 7, 8, -1,
- -1, -1, -1, -1, 14, 30, -1, 60, 18, 62,
- -1, -1, 22, 23, -1, 68, 41, 27, -1, 29,
- 30, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 41, -1, -1, -1, 60, -1, 62, -1, 64,
- 65, -1, 67, 53, -1, -1, -1, -1, -1, -1,
- 60, -1, 62, 63, 64, 65, 66, 67, 1, -1,
- -1, 4, 5, 6, 7, 8, -1, -1, -1, -1,
- -1, 14, -1, -1, -1, 18, -1, -1, -1, 22,
- 23, -1, -1, -1, 27, -1, 29, 30, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 41, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 53, -1, -1, -1, -1, -1, -1, 60, -1, 62,
- -1, 64, 65, 66, 67, 1, -1, -1, 4, 5,
+ 101, 102, 103, 104, 105, 106, 107, 41, 264, 120,
+ 266, 267, 4, 114, 270, 64, 65, 273, 113, 64,
+ 65, 261, 262, 42, 43, 62, 45, 28, 129, 130,
+ 4, 4, 133, 61, 4, 5, 6, 7, 8, 295,
+ 144, 1, 146, 58, 66, 63, 150, 151, 143, 63,
+ 63, 68, 308, 48, 58, 13, 47, 63, 153, 58,
+ 30, 4, 40, 181, 47, 4, 5, 6, 7, 8,
+ 58, 41, 40, 66, 58, 60, 47, 63, 60, 4,
+ 198, 58, 63, 53, 185, 4, 181, 188, 63, 40,
+ 60, 30, 62, 194, 64, 65, 63, 67, 63, 63,
+ 63, 58, 41, 58, 58, 58, 249, 208, 31, 210,
+ 214, 63, 120, 29, 312, 219, 127, 194, 271, 10,
+ 11, 60, -1, 62, -1, 64, 65, 228, 67, -1,
+ -1, -1, -1, -1, 235, -1, -1, -1, -1, -1,
+ 241, -1, -1, -1, -1, -1, -1, 38, 39, -1,
+ -1, 252, 253, 271, -1, 256, 257, 261, 262, 50,
+ 51, 52, 53, 54, 55, 56, -1, 58, -1, -1,
+ -1, -1, -1, -1, -1, -1, 271, -1, -1, -1,
+ -1, -1, 283, -1, -1, -1, -1, -1, 0, 1,
+ -1, -1, 4, 5, -1, 7, -1, 9, 10, 11,
+ 12, 13, -1, -1, 305, 306, 307, 19, 20, 21,
+ -1, -1, 24, 25, 26, -1, 28, 318, -1, -1,
+ 32, 33, 34, 35, 36, 37, 38, 39, -1, 41,
+ -1, -1, 44, -1, -1, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, -1, 58, 59, -1, 61,
+ -1, 63, 64, 65, 66, 1, 68, -1, 4, 10,
+ 11, 7, -1, -1, -1, -1, -1, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, -1, 38, 39, -1,
+ -1, -1, -1, -1, -1, 41, -1, -1, -1, 50,
+ 51, 52, 53, 54, 55, 56, -1, 58, -1, -1,
+ -1, -1, 1, -1, 60, 4, 62, -1, 7, -1,
+ -1, -1, 68, -1, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 41, -1, -1, 1, -1, -1, 4, 5,
6, 7, 8, -1, -1, -1, -1, -1, 14, -1,
- -1, -1, 18, -1, -1, -1, 22, 23, -1, -1,
+ -1, 60, 18, 62, -1, -1, 22, 23, -1, 68,
-1, 27, -1, 29, 30, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 41, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 53, -1, -1,
- -1, -1, -1, -1, 60, -1, 62, -1, 64, 65,
- 1, 67, -1, 4, 5, 6, 7, 8, -1, -1,
- -1, -1, -1, 14, -1, -1, -1, 18, -1, -1,
- -1, 22, 23, -1, -1, -1, 27, -1, 29, 30,
+ -1, -1, -1, -1, 60, -1, 62, 63, 64, 65,
+ 66, 67, 1, -1, -1, 4, 5, 6, 7, 8,
+ -1, -1, -1, -1, -1, 14, -1, -1, -1, 18,
+ -1, -1, -1, 22, 23, -1, -1, -1, 27, -1,
+ 29, 30, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 41, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 53, -1, -1, -1, -1, -1,
+ -1, 60, -1, 62, -1, 64, 65, 66, 67, 1,
+ -1, -1, 4, 5, 6, 7, 8, -1, -1, -1,
+ -1, -1, 14, -1, -1, -1, 18, -1, -1, -1,
+ 22, 23, -1, -1, -1, 27, -1, 29, 30, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 41, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 53, -1, -1, -1, -1, -1, -1, 60,
- -1, 62, -1, 64, 65, 1, 67, -1, 4, 5,
- 6, 7, 8, -1, -1, -1, -1, -1, 14, -1,
- -1, -1, 18, -1, -1, -1, 22, 23, -1, -1,
- -1, 27, -1, 29, 30, -1, 4, 5, 6, 7,
- 8, -1, -1, -1, -1, 41, 14, -1, -1, -1,
- 18, -1, -1, -1, 22, 23, -1, 53, -1, 27,
- -1, 29, 30, -1, 60, -1, 62, -1, 64, 65,
- -1, 67, -1, 41, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 53, -1, -1, -1, -1,
- -1, 59, 60, -1, 62, -1, 64, 65, -1, 67,
- 4, 5, 6, 7, 8, -1, -1, -1, -1, -1,
+ -1, 53, -1, -1, -1, -1, -1, -1, 60, -1,
+ 62, -1, 64, 65, 1, 67, -1, 4, 5, 6,
+ 7, 8, -1, -1, -1, -1, -1, 14, -1, -1,
+ -1, 18, -1, -1, -1, 22, 23, -1, -1, -1,
+ 27, -1, 29, 30, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 41, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 53, -1, -1, -1,
+ -1, -1, -1, 60, -1, 62, -1, 64, 65, 1,
+ 67, -1, 4, 5, 6, 7, 8, -1, -1, -1,
+ -1, -1, 14, -1, -1, -1, 18, -1, -1, -1,
+ 22, 23, -1, -1, -1, 27, -1, 29, 30, -1,
+ 4, 5, 6, 7, 8, -1, -1, -1, -1, 41,
14, -1, -1, -1, 18, -1, -1, -1, 22, 23,
- -1, -1, -1, 27, -1, 29, 30, -1, 4, 5,
- 6, 7, 8, -1, -1, -1, -1, 41, 14, -1,
- -1, -1, 18, -1, -1, -1, 22, 23, -1, 53,
- -1, 27, -1, 29, 30, -1, 60, -1, 62, -1,
- 64, 65, 66, 67, -1, 41, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 53, -1, -1,
- -1, -1, -1, -1, 60, -1, 62, 1, 64, 65,
- 4, 67, -1, 7, -1, -1, -1, -1, -1, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 41, 9, 10,
- 11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 25, 26, 60, -1, 62, -1,
- -1, 32, 33, 34, 35, 36, 37, 38, 39, -1,
- -1, -1, -1, -1, -1, -1, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, -1, 58, 9, 10,
- 11, 12, 63, -1, -1, 66, -1, -1, -1, -1,
- -1, -1, -1, -1, 25, 26, -1, -1, -1, -1,
- -1, 32, 33, 34, 35, 36, 37, 38, 39, -1,
- -1, -1, -1, -1, -1, -1, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, -1, 58, 9, 10,
- 11, 12, -1, -1, -1, 66, -1, -1, -1, -1,
- -1, -1, -1, -1, 25, 26, -1, -1, -1, -1,
- -1, 32, 33, 34, 35, 36, 37, 38, 39, -1,
- -1, -1, -1, -1, -1, -1, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, -1, 58, 9, 10,
- 11, 12, -1, -1, -1, 66, -1, -1, -1, -1,
- -1, -1, -1, -1, 25, 26, -1, -1, -1, -1,
- -1, 32, 33, 34, 35, 36, 37, 38, 39, -1,
- -1, -1, -1, -1, -1, -1, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, -1, 58, 9, 10,
- 11, 12, -1, -1, -1, 66, -1, -1, -1, -1,
- -1, -1, -1, -1, 25, 26, -1, -1, -1, -1,
- -1, 32, 33, 34, 35, 36, 37, 38, 39, -1,
- -1, -1, -1, -1, -1, -1, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, -1, 58, 59, -1,
- 61, 9, 10, 11, 12, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 25, 26, -1,
- -1, -1, -1, -1, 32, 33, 34, 35, 36, 37,
- 38, 39, -1, -1, -1, 9, 10, 11, 12, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, -1,
- 58, 25, 26, 61, -1, -1, -1, -1, 32, 33,
+ -1, 53, -1, 27, -1, 29, 30, -1, 60, -1,
+ 62, -1, 64, 65, -1, 67, -1, 41, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 53,
+ -1, -1, -1, -1, -1, 59, 60, -1, 62, -1,
+ 64, 65, -1, 67, 4, 5, 6, 7, 8, -1,
+ -1, -1, -1, -1, 14, -1, -1, -1, 18, -1,
+ -1, -1, 22, 23, -1, -1, -1, 27, -1, 29,
+ 30, -1, 4, 5, 6, 7, 8, -1, -1, -1,
+ -1, 41, 14, -1, -1, -1, 18, -1, -1, -1,
+ 22, 23, -1, 53, -1, 27, -1, 29, 30, -1,
+ 60, -1, 62, -1, 64, 65, 66, 67, -1, 41,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 53, -1, -1, -1, -1, -1, -1, 60, -1,
+ 62, 1, 64, 65, 4, 67, -1, 7, -1, -1,
+ -1, -1, -1, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 41, 9, 10, 11, 12, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 25, 26,
+ 60, -1, 62, -1, -1, 32, 33, 34, 35, 36,
+ 37, 38, 39, -1, -1, -1, -1, -1, -1, -1,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ -1, 58, 9, 10, 11, 12, 63, -1, -1, 66,
+ -1, -1, -1, -1, -1, -1, -1, -1, 25, 26,
+ -1, -1, -1, -1, -1, 32, 33, 34, 35, 36,
+ 37, 38, 39, -1, -1, -1, -1, -1, -1, -1,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ -1, 58, 9, 10, 11, 12, -1, -1, -1, 66,
+ -1, -1, -1, -1, -1, -1, -1, -1, 25, 26,
+ -1, -1, -1, -1, -1, 32, 33, 34, 35, 36,
+ 37, 38, 39, -1, -1, -1, -1, -1, -1, -1,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ -1, 58, 9, 10, 11, 12, -1, -1, -1, 66,
+ -1, -1, -1, -1, -1, -1, -1, -1, 25, 26,
+ -1, -1, -1, -1, -1, 32, 33, 34, 35, 36,
+ 37, 38, 39, -1, -1, -1, -1, -1, -1, -1,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ -1, 58, 9, 10, 11, 12, -1, -1, -1, 66,
+ -1, -1, -1, -1, -1, -1, -1, -1, 25, 26,
+ -1, -1, -1, -1, -1, 32, 33, 34, 35, 36,
+ 37, 38, 39, -1, -1, -1, -1, -1, -1, -1,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ -1, 58, 9, 10, 11, 12, -1, -1, -1, 66,
+ -1, -1, -1, -1, -1, -1, -1, -1, 25, 26,
+ -1, -1, -1, -1, -1, 32, 33, 34, 35, 36,
+ 37, 38, 39, -1, -1, -1, -1, -1, -1, -1,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ -1, 58, 59, -1, 61, 9, 10, 11, 12, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 25, 26, -1, -1, -1, -1, -1, 32, 33,
34, 35, 36, 37, 38, 39, -1, -1, -1, 9,
10, 11, 12, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, -1, 58, 25, 26, 61, -1, -1,
@@ -1262,26 +1275,9 @@ static const yytype_int16 yycheck[] =
-1, 9, 10, 11, 12, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, -1, 58, 25, 26, 61,
-1, -1, -1, -1, 32, 33, 34, 35, 36, 37,
- 38, 39, -1, -1, -1, -1, -1, -1, -1, 47,
+ 38, 39, -1, -1, -1, 9, 10, 11, 12, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, -1,
- 58, 59, 9, 10, 11, 12, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 25, 26,
- -1, -1, -1, -1, -1, 32, 33, 34, 35, 36,
- 37, 38, 39, -1, -1, -1, -1, -1, -1, -1,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- -1, 58, 59, 9, 10, 11, 12, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 25,
- 26, -1, -1, -1, -1, -1, 32, 33, 34, 35,
- 36, 37, 38, 39, -1, -1, -1, -1, -1, -1,
- -1, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, -1, 58, 59, 9, 10, 11, 12, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 25, 26, -1, -1, -1, -1, -1, 32, 33, 34,
- 35, 36, 37, 38, 39, -1, -1, -1, -1, -1,
- -1, -1, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, -1, 58, 59, 9, 10, 11, 12, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 25, 26, -1, -1, -1, -1, -1, 32, 33,
+ 58, 25, 26, 61, -1, -1, -1, -1, 32, 33,
34, 35, 36, 37, 38, 39, -1, -1, -1, -1,
-1, -1, -1, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, -1, 58, 59, 9, 10, 11, 12,
@@ -1290,26 +1286,33 @@ static const yytype_int16 yycheck[] =
33, 34, 35, 36, 37, 38, 39, -1, -1, -1,
-1, -1, -1, -1, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, -1, 58, 59, 9, 10, 11,
- 12, -1, -1, -1, -1, -1, -1, -1, 20, 21,
- -1, -1, 24, 25, 26, -1, -1, -1, -1, -1,
- 32, 33, 34, 35, 36, 37, 38, 39, -1, -1,
- -1, -1, -1, -1, -1, 47, 48, 49, 50, 51,
- 52, 53, 54, 55, 56, -1, 58, 9, 10, 11,
- 12, -1, -1, -1, -1, -1, -1, -1, 20, 21,
+ 12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 25, 26, -1, -1, -1, -1, -1,
32, 33, 34, 35, 36, 37, 38, 39, -1, -1,
-1, -1, -1, -1, -1, 47, 48, 49, 50, 51,
- 52, 53, 54, 55, 56, -1, 58, 9, 10, 11,
- 12, -1, -1, -1, -1, -1, -1, 19, -1, -1,
- -1, -1, -1, 25, 26, -1, -1, -1, -1, -1,
- 32, 33, 34, 35, 36, 37, 38, 39, -1, -1,
- -1, 9, 10, 11, 12, 47, 48, 49, 50, 51,
- 52, 53, 54, 55, 56, -1, 58, 25, 26, -1,
+ 52, 53, 54, 55, 56, -1, 58, 59, 9, 10,
+ 11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 25, 26, -1, -1, -1, -1,
+ -1, 32, 33, 34, 35, 36, 37, 38, 39, -1,
+ -1, -1, -1, -1, -1, -1, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, -1, 58, 59, 9,
+ 10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 25, 26, -1, -1, -1,
+ -1, -1, 32, 33, 34, 35, 36, 37, 38, 39,
+ -1, -1, -1, -1, -1, -1, -1, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, -1, 58, 59,
+ 9, 10, 11, 12, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 25, 26, -1, -1,
+ -1, -1, -1, 32, 33, 34, 35, 36, 37, 38,
+ 39, -1, -1, -1, -1, -1, -1, -1, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, -1, 58,
+ 59, 9, 10, 11, 12, -1, -1, -1, -1, -1,
+ -1, -1, 20, 21, -1, -1, 24, 25, 26, -1,
-1, -1, -1, -1, 32, 33, 34, 35, 36, 37,
- 38, 39, -1, -1, -1, -1, 44, -1, -1, 47,
+ 38, 39, -1, -1, -1, -1, -1, -1, -1, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, -1,
58, 9, 10, 11, 12, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 24, 25, 26, -1,
+ -1, -1, 20, 21, -1, -1, -1, 25, 26, -1,
-1, -1, -1, -1, 32, 33, 34, 35, 36, 37,
38, 39, -1, -1, -1, -1, -1, -1, -1, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, -1,
@@ -1319,24 +1322,41 @@ static const yytype_int16 yycheck[] =
38, 39, -1, -1, -1, 9, 10, 11, 12, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, -1,
58, 25, 26, -1, -1, -1, -1, -1, 32, 33,
+ 34, 35, 36, 37, 38, 39, -1, -1, -1, -1,
+ 44, -1, -1, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, -1, 58, 9, 10, 11, 12, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 24, 25, 26, -1, -1, -1, -1, -1, 32, 33,
+ 34, 35, 36, 37, 38, 39, -1, -1, -1, -1,
+ -1, -1, -1, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, -1, 58, 9, 10, 11, 12, -1,
+ -1, -1, -1, -1, -1, 19, -1, -1, -1, -1,
+ -1, 25, 26, -1, -1, -1, -1, -1, 32, 33,
34, 35, 36, 37, 38, 39, -1, -1, -1, 9,
10, 11, 12, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, -1, 58, 25, 26, -1, -1, -1,
-1, -1, 32, 33, 34, 35, 36, 37, 38, 39,
- -1, -1, -1, 9, 10, 11, -1, -1, -1, 49,
+ -1, -1, -1, 9, 10, 11, 12, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, -1, 58, 25,
26, -1, -1, -1, -1, -1, 32, 33, 34, 35,
- 36, 37, 38, 39, -1, -1, -1, -1, -1, -1,
+ 36, 37, 38, 39, -1, -1, -1, 9, 10, 11,
-1, -1, -1, 49, 50, 51, 52, 53, 54, 55,
- 56, 4, 58, -1, -1, -1, -1, -1, -1, -1,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 4,
- -1, -1, -1, -1, -1, -1, -1, -1, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 4, -1, -1,
+ 56, -1, 58, 25, 26, -1, -1, -1, -1, -1,
+ 32, 33, 34, 35, 36, 37, 38, 39, -1, -1,
+ 10, 11, -1, -1, -1, -1, -1, 49, 50, 51,
+ 52, 53, 54, 55, 56, 25, 58, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 38, 39,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 50, 51, 52, 53, 54, 55, 56, 4, 58, -1,
-1, -1, -1, -1, -1, -1, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31
+ 27, 28, 29, 30, 31, 4, -1, -1, -1, -1,
+ -1, -1, -1, -1, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 4, -1, -1, -1, -1, -1, -1,
+ -1, -1, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1361,20 +1381,21 @@ static const yytype_uint8 yystos[] =
63, 63, 68, 48, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74, 58, 62,
- 65, 67, 90, 91, 92, 81, 1, 63, 66, 74,
- 13, 73, 59, 59, 61, 84, 4, 62, 79, 80,
- 74, 1, 74, 91, 91, 1, 74, 47, 42, 43,
- 45, 1, 97, 53, 86, 87, 86, 61, 63, 86,
- 86, 97, 4, 92, 93, 1, 4, 60, 62, 81,
- 94, 95, 96, 40, 47, 58, 66, 74, 58, 63,
- 66, 4, 62, 89, 45, 4, 96, 59, 61, 59,
- 20, 21, 24, 85, 60, 60, 74, 74, 86, 47,
- 63, 86, 48, 66, 63, 63, 74, 4, 63, 48,
- 68, 63, 92, 74, 66, 66, 74, 58, 4, 80,
- 63, 74, 74, 74, 74, 44, 86, 86, 92, 92,
- 92, 61, 63, 92, 95, 92, 58, 58, 66, 74,
- 24, 19, 59, 59, 63, 92, 58, 59, 74, 74,
- 74, 92, 85, 61, 59, 61, 74, 61
+ 65, 67, 90, 91, 92, 65, 81, 1, 63, 66,
+ 74, 13, 73, 59, 59, 61, 84, 4, 62, 79,
+ 80, 74, 1, 74, 91, 91, 1, 74, 47, 42,
+ 43, 45, 1, 97, 53, 86, 87, 86, 61, 63,
+ 86, 86, 97, 4, 92, 93, 1, 4, 60, 62,
+ 81, 94, 95, 96, 40, 47, 74, 58, 66, 74,
+ 58, 63, 66, 4, 62, 89, 45, 4, 96, 59,
+ 61, 59, 20, 21, 24, 85, 60, 60, 74, 74,
+ 86, 47, 63, 86, 48, 66, 63, 63, 74, 4,
+ 63, 48, 68, 63, 92, 74, 66, 66, 66, 74,
+ 58, 4, 80, 63, 74, 74, 74, 74, 44, 86,
+ 86, 92, 92, 92, 61, 63, 92, 95, 92, 58,
+ 58, 58, 66, 74, 24, 19, 59, 59, 63, 92,
+ 58, 59, 74, 74, 74, 92, 85, 61, 59, 61,
+ 74, 61
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
@@ -1391,12 +1412,12 @@ static const yytype_uint8 yyr1[] =
87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
- 87, 87, 87, 88, 88, 89, 90, 90, 91, 91,
- 92, 92, 92, 93, 93, 94, 94, 95, 95, 95,
- 95, 95, 95, 95, 96, 96, 96, 96, 96, 96,
+ 87, 87, 87, 87, 87, 88, 88, 89, 90, 90,
+ 91, 91, 92, 92, 92, 93, 93, 94, 94, 95,
+ 95, 95, 95, 95, 95, 95, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 97, 97, 97, 97, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98
+ 96, 96, 96, 96, 96, 97, 97, 97, 97, 98,
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -1411,14 +1432,14 @@ static const yytype_uint8 yyr2[] =
2, 1, 0, 4, 0, 5, 0, 2, 4, 5,
3, 3, 2, 1, 1, 1, 3, 2, 3, 2,
4, 3, 2, 1, 3, 2, 2, 3, 5, 4,
- 4, 3, 7, 6, 6, 6, 5, 5, 1, 1,
- 1, 3, 3, 2, 3, 2, 2, 1, 4, 3,
- 3, 4, 3, 1, 3, 1, 3, 1, 3, 1,
- 2, 3, 3, 1, 3, 1, 3, 2, 4, 3,
- 3, 3, 5, 3, 1, 1, 1, 1, 1, 1,
+ 6, 5, 4, 3, 7, 6, 6, 6, 5, 5,
+ 1, 1, 1, 3, 3, 2, 3, 2, 2, 1,
+ 4, 3, 3, 4, 3, 1, 3, 1, 3, 1,
+ 3, 1, 2, 3, 3, 1, 3, 1, 3, 2,
+ 4, 3, 3, 3, 5, 3, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 0, 1, 3, 3, 3, 3, 3,
- 1, 4, 2, 2, 1, 1, 5, 3
+ 1, 1, 1, 1, 1, 0, 1, 3, 3, 3,
+ 3, 3, 1, 4, 2, 2, 1, 1, 5, 3
};
@@ -1921,187 +1942,187 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
case 4: /* IDENT */
#line 36 "src/parser.y" /* yacc.c:1257 */
{ jv_free(((*yyvaluep).literal)); }
-#line 1925 "src/parser.c" /* yacc.c:1257 */
+#line 1946 "src/parser.c" /* yacc.c:1257 */
break;
case 5: /* FIELD */
#line 36 "src/parser.y" /* yacc.c:1257 */
{ jv_free(((*yyvaluep).literal)); }
-#line 1931 "src/parser.c" /* yacc.c:1257 */
+#line 1952 "src/parser.c" /* yacc.c:1257 */
break;
case 6: /* LITERAL */
#line 36 "src/parser.y" /* yacc.c:1257 */
{ jv_free(((*yyvaluep).literal)); }
-#line 1937 "src/parser.c" /* yacc.c:1257 */
+#line 1958 "src/parser.c" /* yacc.c:1257 */
break;
case 7: /* FORMAT */
#line 36 "src/parser.y" /* yacc.c:1257 */
{ jv_free(((*yyvaluep).literal)); }
-#line 1943 "src/parser.c" /* yacc.c:1257 */
+#line 1964 "src/parser.c" /* yacc.c:1257 */
break;
case 42: /* QQSTRING_TEXT */
#line 36 "src/parser.y" /* yacc.c:1257 */
{ jv_free(((*yyvaluep).literal)); }
-#line 1949 "src/parser.c" /* yacc.c:1257 */
+#line 1970 "src/parser.c" /* yacc.c:1257 */
break;
case 71: /* Module */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 1955 "src/parser.c" /* yacc.c:1257 */
+#line 1976 "src/parser.c" /* yacc.c:1257 */
break;
case 72: /* Imports */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 1961 "src/parser.c" /* yacc.c:1257 */
+#line 1982 "src/parser.c" /* yacc.c:1257 */
break;
case 73: /* FuncDefs */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 1967 "src/parser.c" /* yacc.c:1257 */
+#line 1988 "src/parser.c" /* yacc.c:1257 */
break;
case 74: /* Exp */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 1973 "src/parser.c" /* yacc.c:1257 */
+#line 1994 "src/parser.c" /* yacc.c:1257 */
break;
case 75: /* Import */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 1979 "src/parser.c" /* yacc.c:1257 */
+#line 2000 "src/parser.c" /* yacc.c:1257 */
break;
case 76: /* ImportWhat */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 1985 "src/parser.c" /* yacc.c:1257 */
+#line 2006 "src/parser.c" /* yacc.c:1257 */
break;
case 77: /* ImportFrom */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 1991 "src/parser.c" /* yacc.c:1257 */
+#line 2012 "src/parser.c" /* yacc.c:1257 */
break;
case 78: /* FuncDef */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 1997 "src/parser.c" /* yacc.c:1257 */
+#line 2018 "src/parser.c" /* yacc.c:1257 */
break;
case 79: /* Params */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 2003 "src/parser.c" /* yacc.c:1257 */
+#line 2024 "src/parser.c" /* yacc.c:1257 */
break;
case 80: /* Param */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 2009 "src/parser.c" /* yacc.c:1257 */
+#line 2030 "src/parser.c" /* yacc.c:1257 */
break;
case 81: /* String */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 2015 "src/parser.c" /* yacc.c:1257 */
+#line 2036 "src/parser.c" /* yacc.c:1257 */
break;
case 84: /* QQString */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 2021 "src/parser.c" /* yacc.c:1257 */
+#line 2042 "src/parser.c" /* yacc.c:1257 */
break;
case 85: /* ElseBody */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 2027 "src/parser.c" /* yacc.c:1257 */
+#line 2048 "src/parser.c" /* yacc.c:1257 */
break;
case 86: /* ExpD */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 2033 "src/parser.c" /* yacc.c:1257 */
+#line 2054 "src/parser.c" /* yacc.c:1257 */
break;
case 87: /* Term */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 2039 "src/parser.c" /* yacc.c:1257 */
+#line 2060 "src/parser.c" /* yacc.c:1257 */
break;
case 88: /* Args */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 2045 "src/parser.c" /* yacc.c:1257 */
+#line 2066 "src/parser.c" /* yacc.c:1257 */
break;
case 89: /* Arg */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 2051 "src/parser.c" /* yacc.c:1257 */
+#line 2072 "src/parser.c" /* yacc.c:1257 */
break;
case 90: /* RepPatterns */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 2057 "src/parser.c" /* yacc.c:1257 */
+#line 2078 "src/parser.c" /* yacc.c:1257 */
break;
case 91: /* Patterns */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 2063 "src/parser.c" /* yacc.c:1257 */
+#line 2084 "src/parser.c" /* yacc.c:1257 */
break;
case 92: /* Pattern */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 2069 "src/parser.c" /* yacc.c:1257 */
+#line 2090 "src/parser.c" /* yacc.c:1257 */
break;
case 93: /* ArrayPats */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 2075 "src/parser.c" /* yacc.c:1257 */
+#line 2096 "src/parser.c" /* yacc.c:1257 */
break;
case 94: /* ObjPats */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 2081 "src/parser.c" /* yacc.c:1257 */
+#line 2102 "src/parser.c" /* yacc.c:1257 */
break;
case 95: /* ObjPat */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 2087 "src/parser.c" /* yacc.c:1257 */
+#line 2108 "src/parser.c" /* yacc.c:1257 */
break;
case 96: /* Keyword */
#line 36 "src/parser.y" /* yacc.c:1257 */
{ jv_free(((*yyvaluep).literal)); }
-#line 2093 "src/parser.c" /* yacc.c:1257 */
+#line 2114 "src/parser.c" /* yacc.c:1257 */
break;
case 97: /* MkDict */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 2099 "src/parser.c" /* yacc.c:1257 */
+#line 2120 "src/parser.c" /* yacc.c:1257 */
break;
case 98: /* MkDictPair */
#line 37 "src/parser.y" /* yacc.c:1257 */
{ block_free(((*yyvaluep).blk)); }
-#line 2105 "src/parser.c" /* yacc.c:1257 */
+#line 2126 "src/parser.c" /* yacc.c:1257 */
break;
@@ -2397,7 +2418,7 @@ yyreduce:
{
*answer = BLOCK((yyvsp[-2].blk), (yyvsp[-1].blk), gen_op_simple(TOP), (yyvsp[0].blk));
}
-#line 2401 "src/parser.c" /* yacc.c:1646 */
+#line 2422 "src/parser.c" /* yacc.c:1646 */
break;
case 3:
@@ -2405,7 +2426,7 @@ yyreduce:
{
*answer = BLOCK((yyvsp[-2].blk), (yyvsp[-1].blk), (yyvsp[0].blk));
}
-#line 2409 "src/parser.c" /* yacc.c:1646 */
+#line 2430 "src/parser.c" /* yacc.c:1646 */
break;
case 4:
@@ -2413,7 +2434,7 @@ yyreduce:
{
(yyval.blk) = gen_noop();
}
-#line 2417 "src/parser.c" /* yacc.c:1646 */
+#line 2438 "src/parser.c" /* yacc.c:1646 */
break;
case 5:
@@ -2427,7 +2448,7 @@ yyreduce:
(yyval.blk) = gen_module((yyvsp[-1].blk));
}
}
-#line 2431 "src/parser.c" /* yacc.c:1646 */
+#line 2452 "src/parser.c" /* yacc.c:1646 */
break;
case 6:
@@ -2435,7 +2456,7 @@ yyreduce:
{
(yyval.blk) = gen_noop();
}
-#line 2439 "src/parser.c" /* yacc.c:1646 */
+#line 2460 "src/parser.c" /* yacc.c:1646 */
break;
case 7:
@@ -2443,7 +2464,7 @@ yyreduce:
{
(yyval.blk) = BLOCK((yyvsp[-1].blk), (yyvsp[0].blk));
}
-#line 2447 "src/parser.c" /* yacc.c:1646 */
+#line 2468 "src/parser.c" /* yacc.c:1646 */
break;
case 8:
@@ -2451,7 +2472,7 @@ yyreduce:
{
(yyval.blk) = gen_noop();
}
-#line 2455 "src/parser.c" /* yacc.c:1646 */
+#line 2476 "src/parser.c" /* yacc.c:1646 */
break;
case 9:
@@ -2459,7 +2480,7 @@ yyreduce:
{
(yyval.blk) = block_join((yyvsp[-1].blk), (yyvsp[0].blk));
}
-#line 2463 "src/parser.c" /* yacc.c:1646 */
+#line 2484 "src/parser.c" /* yacc.c:1646 */
break;
case 10:
@@ -2467,7 +2488,7 @@ yyreduce:
{
(yyval.blk) = block_bind_referenced((yyvsp[-1].blk), (yyvsp[0].blk), OP_IS_CALL_PSEUDO);
}
-#line 2471 "src/parser.c" /* yacc.c:1646 */
+#line 2492 "src/parser.c" /* yacc.c:1646 */
break;
case 11:
@@ -2475,7 +2496,7 @@ yyreduce:
{
(yyval.blk) = gen_destructure((yyvsp[-4].blk), (yyvsp[-2].blk), (yyvsp[0].blk));
}
-#line 2479 "src/parser.c" /* yacc.c:1646 */
+#line 2500 "src/parser.c" /* yacc.c:1646 */
break;
case 12:
@@ -2483,7 +2504,7 @@ yyreduce:
{
(yyval.blk) = gen_reduce((yyvsp[-7].blk), (yyvsp[-5].blk), (yyvsp[-3].blk), (yyvsp[-1].blk));
}
-#line 2487 "src/parser.c" /* yacc.c:1646 */
+#line 2508 "src/parser.c" /* yacc.c:1646 */
break;
case 13:
@@ -2491,7 +2512,7 @@ yyreduce:
{
(yyval.blk) = gen_foreach((yyvsp[-9].blk), (yyvsp[-7].blk), (yyvsp[-5].blk), (yyvsp[-3].blk), (yyvsp[-1].blk));
}
-#line 2495 "src/parser.c" /* yacc.c:1646 */
+#line 2516 "src/parser.c" /* yacc.c:1646 */
break;
case 14:
@@ -2499,7 +2520,7 @@ yyreduce:
{
(yyval.blk) = gen_foreach((yyvsp[-7].blk), (yyvsp[-5].blk), (yyvsp[-3].blk), (yyvsp[-1].blk), gen_noop());
}
-#line 2503 "src/parser.c" /* yacc.c:1646 */
+#line 2524 "src/parser.c" /* yacc.c:1646 */
break;
case 15:
@@ -2507,7 +2528,7 @@ yyreduce:
{
(yyval.blk) = gen_cond((yyvsp[-3].blk), (yyvsp[-1].blk), (yyvsp[0].blk));
}
-#line 2511 "src/parser.c" /* yacc.c:1646 */
+#line 2532 "src/parser.c" /* yacc.c:1646 */
break;
case 16:
@@ -2515,7 +2536,7 @@ yyreduce:
{
(yyval.blk) = gen_cond((yyvsp[-3].blk), (yyvsp[-1].blk), gen_noop());
}
-#line 2519 "src/parser.c" /* yacc.c:1646 */
+#line 2540 "src/parser.c" /* yacc.c:1646 */
break;
case 17:
@@ -2524,7 +2545,7 @@ yyreduce:
FAIL((yyloc), "Possibly unterminated 'if' statement");
(yyval.blk) = (yyvsp[-2].blk);
}
-#line 2528 "src/parser.c" /* yacc.c:1646 */
+#line 2549 "src/parser.c" /* yacc.c:1646 */
break;
case 18:
@@ -2533,7 +2554,7 @@ yyreduce:
//$$ = BLOCK(gen_op_target(FORK_OPT, $2), $2, $4);
(yyval.blk) = gen_try((yyvsp[-2].blk), gen_try_handler((yyvsp[0].blk)));
}
-#line 2537 "src/parser.c" /* yacc.c:1646 */
+#line 2558 "src/parser.c" /* yacc.c:1646 */
break;
case 19:
@@ -2542,7 +2563,7 @@ yyreduce:
//$$ = BLOCK(gen_op_target(FORK_OPT, $2), $2, gen_op_simple(BACKTRACK));
(yyval.blk) = gen_try((yyvsp[0].blk), gen_op_simple(BACKTRACK));
}
-#line 2546 "src/parser.c" /* yacc.c:1646 */
+#line 2567 "src/parser.c" /* yacc.c:1646 */
break;
case 20:
@@ -2551,7 +2572,7 @@ yyreduce:
FAIL((yyloc), "Possibly unterminated 'try' statement");
(yyval.blk) = (yyvsp[-2].blk);
}
-#line 2555 "src/parser.c" /* yacc.c:1646 */
+#line 2576 "src/parser.c" /* yacc.c:1646 */
break;
case 21:
@@ -2562,7 +2583,7 @@ yyreduce:
jv_free((yyvsp[-2].literal));
jv_free(v);
}
-#line 2566 "src/parser.c" /* yacc.c:1646 */
+#line 2587 "src/parser.c" /* yacc.c:1646 */
break;
case 22:
@@ -2570,7 +2591,7 @@ yyreduce:
{
(yyval.blk) = gen_try((yyvsp[-1].blk), gen_op_simple(BACKTRACK));
}
-#line 2574 "src/parser.c" /* yacc.c:1646 */
+#line 2595 "src/parser.c" /* yacc.c:1646 */
break;
case 23:
@@ -2578,7 +2599,7 @@ yyreduce:
{
(yyval.blk) = gen_call("_assign", BLOCK(gen_lambda((yyvsp[-2].blk)), gen_lambda((yyvsp[0].blk))));
}
-#line 2582 "src/parser.c" /* yacc.c:1646 */
+#line 2603 "src/parser.c" /* yacc.c:1646 */
break;
case 24:
@@ -2586,7 +2607,7 @@ yyreduce:
{
(yyval.blk) = gen_or((yyvsp[-2].blk), (yyvsp[0].blk));
}
-#line 2590 "src/parser.c" /* yacc.c:1646 */
+#line 2611 "src/parser.c" /* yacc.c:1646 */
break;
case 25:
@@ -2594,7 +2615,7 @@ yyreduce:
{
(yyval.blk) = gen_and((yyvsp[-2].blk), (yyvsp[0].blk));
}
-#line 2598 "src/parser.c" /* yacc.c:1646 */
+#line 2619 "src/parser.c" /* yacc.c:1646 */
break;
case 26:
@@ -2602,7 +2623,7 @@ yyreduce:
{
(yyval.blk) = gen_definedor((yyvsp[-2].blk), (yyvsp[0].blk));
}
-#line 2606 "src/parser.c" /* yacc.c:1646 */
+#line 2627 "src/parser.c" /* yacc.c:1646 */
break;
case 27:
@@ -2610,7 +2631,7 @@ yyreduce:
{
(yyval.blk) = gen_definedor_assign((yyvsp[-2].blk), (yyvsp[0].blk));
}
-#line 2614 "src/parser.c" /* yacc.c:1646 */
+#line 2635 "src/parser.c" /* yacc.c:1646 */
break;
case 28:
@@ -2618,7 +2639,7 @@ yyreduce:
{
(yyval.blk) = gen_call("_modify", BLOCK(gen_lambda((yyvsp[-2].blk)), gen_lambda((yyvsp[0].blk))));
}
-#line 2622 "src/parser.c" /* yacc.c:1646 */
+#line 2643 "src/parser.c" /* yacc.c:1646 */
break;
case 29:
@@ -2626,7 +2647,7 @@ yyreduce:
{
(yyval.blk) = block_join((yyvsp[-2].blk), (yyvsp[0].blk));
}
-#line 2630 "src/parser.c" /* yacc.c:1646 */
+#line 2651 "src/parser.c" /* yacc.c:1646 */
break;
case 30:
@@ -2634,7 +2655,7 @@ yyreduce:
{
(yyval.blk) = gen_both((yyvsp[-2].blk), (yyvsp[0].blk));
}
-#line 2638 "src/parser.c" /* yacc.c:1646 */
+#line 2659 "src/parser.c" /* yacc.c:1646 */
break;
case 31:
@@ -2642,7 +2663,7 @@ yyreduce:
{
(yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '+');
}
-#line 2646 "src/parser.c" /* yacc.c:1646 */
+#line 2667 "src/parser.c" /* yacc.c:1646 */
break;
case 32:
@@ -2650,7 +2671,7 @@ yyreduce:
{
(yyval.blk) = gen_update((yyvsp[-2].blk), (yyvsp[0].blk), '+');
}
-#line 2654 "src/parser.c" /* yacc.c:1646 */
+#line 2675 "src/parser.c" /* yacc.c:1646 */
break;
case 33:
@@ -2658,7 +2679,7 @@ yyreduce:
{
(yyval.blk) = BLOCK((yyvsp[0].blk), gen_call("_negate", gen_noop()));
}
-#line 2662 "src/parser.c" /* yacc.c:1646 */
+#line 2683 "src/parser.c" /* yacc.c:1646 */
break;
case 34:
@@ -2666,7 +2687,7 @@ yyreduce:
{
(yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '-');
}
-#line 2670 "src/parser.c" /* yacc.c:1646 */
+#line 2691 "src/parser.c" /* yacc.c:1646 */
break;
case 35:
@@ -2674,7 +2695,7 @@ yyreduce:
{
(yyval.blk) = gen_update((yyvsp[-2].blk), (yyvsp[0].blk), '-');
}
-#line 2678 "src/parser.c" /* yacc.c:1646 */
+#line 2699 "src/parser.c" /* yacc.c:1646 */
break;
case 36:
@@ -2682,7 +2703,7 @@ yyreduce:
{
(yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '*');
}
-#line 2686 "src/parser.c" /* yacc.c:1646 */
+#line 2707 "src/parser.c" /* yacc.c:1646 */
break;
case 37:
@@ -2690,7 +2711,7 @@ yyreduce:
{
(yyval.blk) = gen_update((yyvsp[-2].blk), (yyvsp[0].blk), '*');
}
-#line 2694 "src/parser.c" /* yacc.c:1646 */
+#line 2715 "src/parser.c" /* yacc.c:1646 */
break;
case 38:
@@ -2700,7 +2721,7 @@ yyreduce:
if (block_is_const_inf((yyval.blk)))
FAIL((yyloc), "Division by zero?");
}
-#line 2704 "src/parser.c" /* yacc.c:1646 */
+#line 2725 "src/parser.c" /* yacc.c:1646 */
break;
case 39:
@@ -2710,7 +2731,7 @@ yyreduce:
if (block_is_const_inf((yyval.blk)))
FAIL((yyloc), "Remainder by zero?");
}
-#line 2714 "src/parser.c" /* yacc.c:1646 */
+#line 2735 "src/parser.c" /* yacc.c:1646 */
break;
case 40:
@@ -2718,7 +2739,7 @@ yyreduce:
{
(yyval.blk) = gen_update((yyvsp[-2].blk), (yyvsp[0].blk), '/');
}
-#line 2722 "src/parser.c" /* yacc.c:1646 */
+#line 2743 "src/parser.c" /* yacc.c:1646 */
break;
case 41:
@@ -2726,7 +2747,7 @@ yyreduce:
{
(yyval.blk) = gen_update((yyvsp[-2].blk), (yyvsp[0].blk), '%');
}
-#line 2730 "src/parser.c" /* yacc.c:1646 */
+#line 2751 "src/parser.c" /* yacc.c:1646 */
break;
case 42:
@@ -2734,7 +2755,7 @@ yyreduce:
{
(yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), EQ);
}
-#line 2738 "src/parser.c" /* yacc.c:1646 */
+#line 2759 "src/parser.c" /* yacc.c:1646 */
break;
case 43:
@@ -2742,7 +2763,7 @@ yyreduce:
{
(yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), NEQ);
}
-#line 2746 "src/parser.c" /* yacc.c:1646 */
+#line 2767 "src/parser.c" /* yacc.c:1646 */
break;
case 44:
@@ -2750,7 +2771,7 @@ yyreduce:
{
(yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '<');
}
-#line 2754 "src/parser.c" /* yacc.c:1646 */
+#line 2775 "src/parser.c" /* yacc.c:1646 */
break;
case 45:
@@ -2758,7 +2779,7 @@ yyreduce:
{
(yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '>');
}
-#line 2762 "src/parser.c" /* yacc.c:1646 */
+#line 2783 "src/parser.c" /* yacc.c:1646 */
break;
case 46:
@@ -2766,7 +2787,7 @@ yyreduce:
{
(yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), LESSEQ);
}
-#line 2770 "src/parser.c" /* yacc.c:1646 */
+#line 2791 "src/parser.c" /* yacc.c:1646 */
break;
case 47:
@@ -2774,7 +2795,7 @@ yyreduce:
{
(yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), GREATEREQ);
}
-#line 2778 "src/parser.c" /* yacc.c:1646 */
+#line 2799 "src/parser.c" /* yacc.c:1646 */
break;
case 48:
@@ -2782,7 +2803,7 @@ yyreduce:
{
(yyval.blk) = (yyvsp[0].blk);
}
-#line 2786 "src/parser.c" /* yacc.c:1646 */
+#line 2807 "src/parser.c" /* yacc.c:1646 */
break;
case 49:
@@ -2790,7 +2811,7 @@ yyreduce:
{
(yyval.blk) = (yyvsp[-1].blk);
}
-#line 2794 "src/parser.c" /* yacc.c:1646 */
+#line 2815 "src/parser.c" /* yacc.c:1646 */
break;
case 50:
@@ -2810,7 +2831,7 @@ yyreduce:
(yyval.blk) = gen_import_meta((yyvsp[-2].blk), (yyvsp[-1].blk));
}
}
-#line 2814 "src/parser.c" /* yacc.c:1646 */
+#line 2835 "src/parser.c" /* yacc.c:1646 */
break;
case 51:
@@ -2824,7 +2845,7 @@ yyreduce:
jv_free((yyvsp[0].literal));
jv_free(v);
}
-#line 2828 "src/parser.c" /* yacc.c:1646 */
+#line 2849 "src/parser.c" /* yacc.c:1646 */
break;
case 52:
@@ -2836,7 +2857,7 @@ yyreduce:
jv_free((yyvsp[0].literal));
jv_free(v);
}
-#line 2840 "src/parser.c" /* yacc.c:1646 */
+#line 2861 "src/parser.c" /* yacc.c:1646 */
break;
case 53:
@@ -2847,7 +2868,7 @@ yyreduce:
block_free((yyvsp[0].blk));
jv_free(v);
}
-#line 2851 "src/parser.c" /* yacc.c:1646 */
+#line 2872 "src/parser.c" /* yacc.c:1646 */
break;
case 54:
@@ -2861,7 +2882,7 @@ yyreduce:
(yyval.blk) = (yyvsp[0].blk);
}
}
-#line 2865 "src/parser.c" /* yacc.c:1646 */
+#line 2886 "src/parser.c" /* yacc.c:1646 */
break;
case 55:
@@ -2870,7 +2891,7 @@ yyreduce:
(yyval.blk) = gen_function(jv_string_value((yyvsp[-3].literal)), gen_noop(), (yyvsp[-1].blk));
jv_free((yyvsp[-3].literal));
}
-#line 2874 "src/parser.c" /* yacc.c:1646 */
+#line 2895 "src/parser.c" /* yacc.c:1646 */
break;
case 56:
@@ -2879,7 +2900,7 @@ yyreduce:
(yyval.blk) = gen_function(jv_string_value((yyvsp[-6].literal)), (yyvsp[-4].blk), (yyvsp[-1].blk));
jv_free((yyvsp[-6].literal));
}
-#line 2883 "src/parser.c" /* yacc.c:1646 */
+#line 2904 "src/parser.c" /* yacc.c:1646 */
break;
case 57:
@@ -2887,7 +2908,7 @@ yyreduce:
{
(yyval.blk) = (yyvsp[0].blk);
}
-#line 2891 "src/parser.c" /* yacc.c:1646 */
+#line 2912 "src/parser.c" /* yacc.c:1646 */
break;
case 58:
@@ -2895,7 +2916,7 @@ yyreduce:
{
(yyval.blk) = BLOCK((yyvsp[-2].blk), (yyvsp[0].blk));
}
-#line 2899 "src/parser.c" /* yacc.c:1646 */
+#line 2920 "src/parser.c" /* yacc.c:1646 */
break;
case 59:
@@ -2904,7 +2925,7 @@ yyreduce:
(yyval.blk) = gen_param_regular(jv_string_value((yyvsp[0].literal)));
jv_free((yyvsp[0].literal));
}
-#line 2908 "src/parser.c" /* yacc.c:1646 */
+#line 2929 "src/parser.c" /* yacc.c:1646 */
break;
case 60:
@@ -2913,7 +2934,7 @@ yyreduce:
(yyval.blk) = gen_param_regular(jv_string_value((yyvsp[0].literal)));
jv_free((yyvsp[0].literal));
}
-#line 2917 "src/parser.c" /* yacc.c:1646 */
+#line 2938 "src/parser.c" /* yacc.c:1646 */
break;
case 61:
@@ -2922,13 +2943,13 @@ yyreduce:
(yyval.blk) = gen_param(jv_string_value((yyvsp[0].literal)));
jv_free((yyvsp[0].literal));
}
-#line 2926 "src/parser.c" /* yacc.c:1646 */
+#line 2947 "src/parser.c" /* yacc.c:1646 */
break;
case 62:
#line 590 "src/parser.y" /* yacc.c:1646 */
{ (yyval.literal) = jv_string("text"); }
-#line 2932 "src/parser.c" /* yacc.c:1646 */
+#line 2953 "src/parser.c" /* yacc.c:1646 */
break;
case 63:
@@ -2937,13 +2958,13 @@ yyreduce:
(yyval.blk) = (yyvsp[-1].blk);
jv_free((yyvsp[-2].literal));
}
-#line 2941 "src/parser.c" /* yacc.c:1646 */
+#line 2962 "src/parser.c" /* yacc.c:1646 */
break;
case 64:
#line 594 "src/parser.y" /* yacc.c:1646 */
{ (yyval.literal) = (yyvsp[-1].literal); }
-#line 2947 "src/parser.c" /* yacc.c:1646 */
+#line 2968 "src/parser.c" /* yacc.c:1646 */
break;
case 65:
@@ -2952,7 +2973,7 @@ yyreduce:
(yyval.blk) = (yyvsp[-1].blk);
jv_free((yyvsp[-2].literal));
}
-#line 2956 "src/parser.c" /* yacc.c:1646 */
+#line 2977 "src/parser.c" /* yacc.c:1646 */
break;
case 66:
@@ -2960,7 +2981,7 @@ yyreduce:
{
(yyval.blk) = gen_const(jv_string(""));
}
-#line 2964 "src/parser.c" /* yacc.c:1646 */
+#line 2985 "src/parser.c" /* yacc.c:1646 */
break;
case 67:
@@ -2968,7 +2989,7 @@ yyreduce:
{
(yyval.blk) = gen_binop((yyvsp[-1].blk), gen_const((yyvsp[0].literal)), '+');
}
-#line 2972 "src/parser.c" /* yacc.c:1646 */
+#line 2993 "src/parser.c" /* yacc.c:1646 */
break;
case 68:
@@ -2976,7 +2997,7 @@ yyreduce:
{
(yyval.blk) = gen_binop((yyvsp[-3].blk), gen_format((yyvsp[-1].blk), jv_copy((yyvsp[-4].literal))), '+');
}
-#line 2980 "src/parser.c" /* yacc.c:1646 */
+#line 3001 "src/parser.c" /* yacc.c:1646 */
break;
case 69:
@@ -2984,7 +3005,7 @@ yyreduce:
{
(yyval.blk) = gen_cond((yyvsp[-3].blk), (yyvsp[-1].blk), (yyvsp[0].blk));
}
-#line 2988 "src/parser.c" /* yacc.c:1646 */
+#line 3009 "src/parser.c" /* yacc.c:1646 */
break;
case 70:
@@ -2992,7 +3013,7 @@ yyreduce:
{
(yyval.blk) = (yyvsp[-1].blk);
}
-#line 2996 "src/parser.c" /* yacc.c:1646 */
+#line 3017 "src/parser.c" /* yacc.c:1646 */
break;
case 71:
@@ -3000,7 +3021,7 @@ yyreduce:
{
(yyval.blk) = block_join((yyvsp[-2].blk), (yyvsp[0].blk));
}
-#line 3004 "src/parser.c" /* yacc.c:1646 */
+#line 3025 "src/parser.c" /* yacc.c:1646 */
break;
case 72:
@@ -3008,7 +3029,7 @@ yyreduce:
{
(yyval.blk) = BLOCK((yyvsp[0].blk), gen_call("_negate", gen_noop()));
}
-#line 3012 "src/parser.c" /* yacc.c:1646 */
+#line 3033 "src/parser.c" /* yacc.c:1646 */
break;
case 73:
@@ -3016,7 +3037,7 @@ yyreduce:
{
(yyval.blk) = (yyvsp[0].blk);
}
-#line 3020 "src/parser.c" /* yacc.c:1646 */
+#line 3041 "src/parser.c" /* yacc.c:1646 */
break;
case 74:
@@ -3024,7 +3045,7 @@ yyreduce:
{
(yyval.blk) = gen_noop();
}
-#line 3028 "src/parser.c" /* yacc.c:1646 */
+#line 3049 "src/parser.c" /* yacc.c:1646 */
break;
case 75:
@@ -3032,7 +3053,7 @@ yyreduce:
{
(yyval.blk) = gen_call("recurse", gen_noop());
}
-#line 3036 "src/parser.c" /* yacc.c:1646 */
+#line 3057 "src/parser.c" /* yacc.c:1646 */
break;
case 76:
@@ -3045,7 +3066,7 @@ yyreduce:
jv_free(v);
jv_free((yyvsp[0].literal));
}
-#line 3049 "src/parser.c" /* yacc.c:1646 */
+#line 3070 "src/parser.c" /* yacc.c:1646 */
break;
case 77:
@@ -3054,7 +3075,7 @@ yyreduce:
FAIL((yyloc), "break requires a label to break to");
(yyval.blk) = gen_noop();
}
-#line 3058 "src/parser.c" /* yacc.c:1646 */
+#line 3079 "src/parser.c" /* yacc.c:1646 */
break;
case 78:
@@ -3062,7 +3083,7 @@ yyreduce:
{
(yyval.blk) = gen_index_opt((yyvsp[-2].blk), gen_const((yyvsp[-1].literal)));
}
-#line 3066 "src/parser.c" /* yacc.c:1646 */
+#line 3087 "src/parser.c" /* yacc.c:1646 */
break;
case 79:
@@ -3070,7 +3091,7 @@ yyreduce:
{
(yyval.blk) = gen_index_opt(gen_noop(), gen_const((yyvsp[-1].literal)));
}
-#line 3074 "src/parser.c" /* yacc.c:1646 */
+#line 3095 "src/parser.c" /* yacc.c:1646 */
break;
case 80:
@@ -3078,7 +3099,7 @@ yyreduce:
{
(yyval.blk) = gen_index_opt((yyvsp[-3].blk), (yyvsp[-1].blk));
}
-#line 3082 "src/parser.c" /* yacc.c:1646 */
+#line 3103 "src/parser.c" /* yacc.c:1646 */
break;
case 81:
@@ -3086,7 +3107,7 @@ yyreduce:
{
(yyval.blk) = gen_index_opt(gen_noop(), (yyvsp[-1].blk));
}
-#line 3090 "src/parser.c" /* yacc.c:1646 */
+#line 3111 "src/parser.c" /* yacc.c:1646 */
break;
case 82:
@@ -3094,7 +3115,7 @@ yyreduce:
{
(yyval.blk) = gen_index((yyvsp[-1].blk), gen_const((yyvsp[0].literal)));
}
-#line 3098 "src/parser.c" /* yacc.c:1646 */
+#line 3119 "src/parser.c" /* yacc.c:1646 */
break;
case 83:
@@ -3102,7 +3123,7 @@ yyreduce:
{
(yyval.blk) = gen_index(gen_noop(), gen_const((yyvsp[0].literal)));
}
-#line 3106 "src/parser.c" /* yacc.c:1646 */
+#line 3127 "src/parser.c" /* yacc.c:1646 */
break;
case 84:
@@ -3110,7 +3131,7 @@ yyreduce:
{
(yyval.blk) = gen_index((yyvsp[-2].blk), (yyvsp[0].blk));
}
-#line 3114 "src/parser.c" /* yacc.c:1646 */
+#line 3135 "src/parser.c" /* yacc.c:1646 */
break;
case 85:
@@ -3118,7 +3139,7 @@ yyreduce:
{
(yyval.blk) = gen_index(gen_noop(), (yyvsp[0].blk));
}
-#line 3122 "src/parser.c" /* yacc.c:1646 */
+#line 3143 "src/parser.c" /* yacc.c:1646 */
break;
case 86:
@@ -3127,7 +3148,7 @@ yyreduce:
FAIL((yyloc), "try .[\"field\"] instead of .field for unusually named fields");
(yyval.blk) = gen_noop();
}
-#line 3131 "src/parser.c" /* yacc.c:1646 */
+#line 3152 "src/parser.c" /* yacc.c:1646 */
break;
case 87:
@@ -3137,7 +3158,7 @@ yyreduce:
FAIL((yyloc), "try .[\"field\"] instead of .field for unusually named fields");
(yyval.blk) = gen_noop();
}
-#line 3141 "src/parser.c" /* yacc.c:1646 */
+#line 3162 "src/parser.c" /* yacc.c:1646 */
break;
case 88:
@@ -3145,7 +3166,7 @@ yyreduce:
{
(yyval.blk) = gen_index_opt((yyvsp[-4].blk), (yyvsp[-2].blk));
}
-#line 3149 "src/parser.c" /* yacc.c:1646 */
+#line 3170 "src/parser.c" /* yacc.c:1646 */
break;
case 89:
@@ -3153,144 +3174,160 @@ yyreduce:
{
(yyval.blk) = gen_index((yyvsp[-3].blk), (yyvsp[-1].blk));
}
-#line 3157 "src/parser.c" /* yacc.c:1646 */
+#line 3178 "src/parser.c" /* yacc.c:1646 */
break;
case 90:
#line 691 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.blk) = block_join((yyvsp[-3].blk), gen_op_simple(EACH_OPT));
+ (yyval.blk) = gen_index_opt((yyvsp[-5].blk), (yyvsp[-2].blk));
}
-#line 3165 "src/parser.c" /* yacc.c:1646 */
+#line 3186 "src/parser.c" /* yacc.c:1646 */
break;
case 91:
#line 694 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.blk) = block_join((yyvsp[-2].blk), gen_op_simple(EACH));
+ (yyval.blk) = gen_index((yyvsp[-4].blk), (yyvsp[-1].blk));
}
-#line 3173 "src/parser.c" /* yacc.c:1646 */
+#line 3194 "src/parser.c" /* yacc.c:1646 */
break;
case 92:
#line 697 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.blk) = gen_slice_index((yyvsp[-6].blk), (yyvsp[-4].blk), (yyvsp[-2].blk), INDEX_OPT);
+ (yyval.blk) = block_join((yyvsp[-3].blk), gen_op_simple(EACH_OPT));
}
-#line 3181 "src/parser.c" /* yacc.c:1646 */
+#line 3202 "src/parser.c" /* yacc.c:1646 */
break;
case 93:
#line 700 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.blk) = gen_slice_index((yyvsp[-5].blk), (yyvsp[-3].blk), gen_const(jv_null()), INDEX_OPT);
+ (yyval.blk) = block_join((yyvsp[-2].blk), gen_op_simple(EACH));
}
-#line 3189 "src/parser.c" /* yacc.c:1646 */
+#line 3210 "src/parser.c" /* yacc.c:1646 */
break;
case 94:
#line 703 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.blk) = gen_slice_index((yyvsp[-5].blk), gen_const(jv_null()), (yyvsp[-2].blk), INDEX_OPT);
+ (yyval.blk) = gen_slice_index((yyvsp[-6].blk), (yyvsp[-4].blk), (yyvsp[-2].blk), INDEX_OPT);
}
-#line 3197 "src/parser.c" /* yacc.c:1646 */
+#line 3218 "src/parser.c" /* yacc.c:1646 */
break;
case 95:
#line 706 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.blk) = gen_slice_index((yyvsp[-5].blk), (yyvsp[-3].blk), (yyvsp[-1].blk), INDEX);
+ (yyval.blk) = gen_slice_index((yyvsp[-5].blk), (yyvsp[-3].blk), gen_const(jv_null()), INDEX_OPT);
}
-#line 3205 "src/parser.c" /* yacc.c:1646 */
+#line 3226 "src/parser.c" /* yacc.c:1646 */
break;
case 96:
#line 709 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.blk) = gen_slice_index((yyvsp[-4].blk), (yyvsp[-2].blk), gen_const(jv_null()), INDEX);
+ (yyval.blk) = gen_slice_index((yyvsp[-5].blk), gen_const(jv_null()), (yyvsp[-2].blk), INDEX_OPT);
}
-#line 3213 "src/parser.c" /* yacc.c:1646 */
+#line 3234 "src/parser.c" /* yacc.c:1646 */
break;
case 97:
#line 712 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.blk) = gen_slice_index((yyvsp[-4].blk), gen_const(jv_null()), (yyvsp[-1].blk), INDEX);
+ (yyval.blk) = gen_slice_index((yyvsp[-5].blk), (yyvsp[-3].blk), (yyvsp[-1].blk), INDEX);
}
-#line 3221 "src/parser.c" /* yacc.c:1646 */
+#line 3242 "src/parser.c" /* yacc.c:1646 */
break;
case 98:
#line 715 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.blk) = gen_const((yyvsp[0].literal));
+ (yyval.blk) = gen_slice_index((yyvsp[-4].blk), (yyvsp[-2].blk), gen_const(jv_null()), INDEX);
}
-#line 3229 "src/parser.c" /* yacc.c:1646 */
+#line 3250 "src/parser.c" /* yacc.c:1646 */
break;
case 99:
#line 718 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.blk) = (yyvsp[0].blk);
+ (yyval.blk) = gen_slice_index((yyvsp[-4].blk), gen_const(jv_null()), (yyvsp[-1].blk), INDEX);
}
-#line 3237 "src/parser.c" /* yacc.c:1646 */
+#line 3258 "src/parser.c" /* yacc.c:1646 */
break;
case 100:
#line 721 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.blk) = gen_format(gen_noop(), (yyvsp[0].literal));
+ (yyval.blk) = gen_const((yyvsp[0].literal));
}
-#line 3245 "src/parser.c" /* yacc.c:1646 */
+#line 3266 "src/parser.c" /* yacc.c:1646 */
break;
case 101:
#line 724 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.blk) = (yyvsp[-1].blk);
+ (yyval.blk) = (yyvsp[0].blk);
}
-#line 3253 "src/parser.c" /* yacc.c:1646 */
+#line 3274 "src/parser.c" /* yacc.c:1646 */
break;
case 102:
#line 727 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.blk) = gen_collect((yyvsp[-1].blk));
+ (yyval.blk) = gen_format(gen_noop(), (yyvsp[0].literal));
}
-#line 3261 "src/parser.c" /* yacc.c:1646 */
+#line 3282 "src/parser.c" /* yacc.c:1646 */
break;
case 103:
#line 730 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.blk) = gen_const(jv_array());
+ (yyval.blk) = (yyvsp[-1].blk);
}
-#line 3269 "src/parser.c" /* yacc.c:1646 */
+#line 3290 "src/parser.c" /* yacc.c:1646 */
break;
case 104:
#line 733 "src/parser.y" /* yacc.c:1646 */
{
+ (yyval.blk) = gen_collect((yyvsp[-1].blk));
+}
+#line 3298 "src/parser.c" /* yacc.c:1646 */
+ break;
+
+ case 105:
+#line 736 "src/parser.y" /* yacc.c:1646 */
+ {
+ (yyval.blk) = gen_const(jv_array());
+}
+#line 3306 "src/parser.c" /* yacc.c:1646 */
+ break;
+
+ case 106:
+#line 739 "src/parser.y" /* yacc.c:1646 */
+ {
block o = gen_const_object((yyvsp[-1].blk));
if (o.first != NULL)
(yyval.blk) = o;
else
(yyval.blk) = BLOCK(gen_subexp(gen_const(jv_object())), (yyvsp[-1].blk), gen_op_simple(POP));
}
-#line 3281 "src/parser.c" /* yacc.c:1646 */
+#line 3318 "src/parser.c" /* yacc.c:1646 */
break;
- case 105:
-#line 740 "src/parser.y" /* yacc.c:1646 */
+ case 107:
+#line 746 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = gen_location((yyloc), locations, gen_op_unbound(LOADV, jv_string_value((yyvsp[0].literal))));
jv_free((yyvsp[0].literal));
}
-#line 3290 "src/parser.c" /* yacc.c:1646 */
+#line 3327 "src/parser.c" /* yacc.c:1646 */
break;
- case 106:
-#line 744 "src/parser.y" /* yacc.c:1646 */
+ case 108:
+#line 750 "src/parser.y" /* yacc.c:1646 */
{
if (strcmp(jv_string_value((yyvsp[0].literal)), "__loc__") == 0) {
(yyval.blk) = gen_const(JV_OBJECT(jv_string("file"), jv_copy(locations->fname),
@@ -3300,11 +3337,11 @@ yyreduce:
}
jv_free((yyvsp[0].literal));
}
-#line 3304 "src/parser.c" /* yacc.c:1646 */
+#line 3341 "src/parser.c" /* yacc.c:1646 */
break;
- case 107:
-#line 753 "src/parser.y" /* yacc.c:1646 */
+ case 109:
+#line 759 "src/parser.y" /* yacc.c:1646 */
{
const char *s = jv_string_value((yyvsp[0].literal));
if (strcmp(s, "false") == 0)
@@ -3317,198 +3354,198 @@ yyreduce:
(yyval.blk) = gen_location((yyloc), locations, gen_call(s, gen_noop()));
jv_free((yyvsp[0].literal));
}
-#line 3321 "src/parser.c" /* yacc.c:1646 */
+#line 3358 "src/parser.c" /* yacc.c:1646 */
break;
- case 108:
-#line 765 "src/parser.y" /* yacc.c:1646 */
+ case 110:
+#line 771 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = gen_call(jv_string_value((yyvsp[-3].literal)), (yyvsp[-1].blk));
(yyval.blk) = gen_location((yylsp[-3]), locations, (yyval.blk));
jv_free((yyvsp[-3].literal));
}
-#line 3331 "src/parser.c" /* yacc.c:1646 */
+#line 3368 "src/parser.c" /* yacc.c:1646 */
break;
- case 109:
-#line 770 "src/parser.y" /* yacc.c:1646 */
+ case 111:
+#line 776 "src/parser.y" /* yacc.c:1646 */
{ (yyval.blk) = gen_noop(); }
-#line 3337 "src/parser.c" /* yacc.c:1646 */
+#line 3374 "src/parser.c" /* yacc.c:1646 */
break;
- case 110:
-#line 771 "src/parser.y" /* yacc.c:1646 */
+ case 112:
+#line 777 "src/parser.y" /* yacc.c:1646 */
{ (yyval.blk) = gen_noop(); }
-#line 3343 "src/parser.c" /* yacc.c:1646 */
+#line 3380 "src/parser.c" /* yacc.c:1646 */
break;
- case 111:
-#line 772 "src/parser.y" /* yacc.c:1646 */
+ case 113:
+#line 778 "src/parser.y" /* yacc.c:1646 */
{ (yyval.blk) = (yyvsp[-3].blk); }
-#line 3349 "src/parser.c" /* yacc.c:1646 */
+#line 3386 "src/parser.c" /* yacc.c:1646 */
break;
- case 112:
-#line 773 "src/parser.y" /* yacc.c:1646 */
+ case 114:
+#line 779 "src/parser.y" /* yacc.c:1646 */
{ (yyval.blk) = gen_noop(); }
-#line 3355 "src/parser.c" /* yacc.c:1646 */
+#line 3392 "src/parser.c" /* yacc.c:1646 */
break;
- case 113:
-#line 776 "src/parser.y" /* yacc.c:1646 */
+ case 115:
+#line 782 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = (yyvsp[0].blk);
}
-#line 3363 "src/parser.c" /* yacc.c:1646 */
+#line 3400 "src/parser.c" /* yacc.c:1646 */
break;
- case 114:
-#line 779 "src/parser.y" /* yacc.c:1646 */
+ case 116:
+#line 785 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = BLOCK((yyvsp[-2].blk), (yyvsp[0].blk));
}
-#line 3371 "src/parser.c" /* yacc.c:1646 */
+#line 3408 "src/parser.c" /* yacc.c:1646 */
break;
- case 115:
-#line 784 "src/parser.y" /* yacc.c:1646 */
+ case 117:
+#line 790 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = gen_lambda((yyvsp[0].blk));
}
-#line 3379 "src/parser.c" /* yacc.c:1646 */
+#line 3416 "src/parser.c" /* yacc.c:1646 */
break;
- case 116:
-#line 789 "src/parser.y" /* yacc.c:1646 */
+ case 118:
+#line 795 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = BLOCK((yyvsp[-2].blk), gen_destructure_alt((yyvsp[0].blk)));
}
-#line 3387 "src/parser.c" /* yacc.c:1646 */
+#line 3424 "src/parser.c" /* yacc.c:1646 */
break;
- case 117:
-#line 792 "src/parser.y" /* yacc.c:1646 */
+ case 119:
+#line 798 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = gen_destructure_alt((yyvsp[0].blk));
}
-#line 3395 "src/parser.c" /* yacc.c:1646 */
+#line 3432 "src/parser.c" /* yacc.c:1646 */
break;
- case 118:
-#line 797 "src/parser.y" /* yacc.c:1646 */
+ case 120:
+#line 803 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = BLOCK((yyvsp[-2].blk), (yyvsp[0].blk));
}
-#line 3403 "src/parser.c" /* yacc.c:1646 */
+#line 3440 "src/parser.c" /* yacc.c:1646 */
break;
- case 119:
-#line 800 "src/parser.y" /* yacc.c:1646 */
+ case 121:
+#line 806 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = (yyvsp[0].blk);
}
-#line 3411 "src/parser.c" /* yacc.c:1646 */
+#line 3448 "src/parser.c" /* yacc.c:1646 */
break;
- case 120:
-#line 805 "src/parser.y" /* yacc.c:1646 */
+ case 122:
+#line 811 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = gen_op_unbound(STOREV, jv_string_value((yyvsp[0].literal)));
jv_free((yyvsp[0].literal));
}
-#line 3420 "src/parser.c" /* yacc.c:1646 */
+#line 3457 "src/parser.c" /* yacc.c:1646 */
break;
- case 121:
-#line 809 "src/parser.y" /* yacc.c:1646 */
+ case 123:
+#line 815 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = BLOCK((yyvsp[-1].blk), gen_op_simple(POP));
}
-#line 3428 "src/parser.c" /* yacc.c:1646 */
+#line 3465 "src/parser.c" /* yacc.c:1646 */
break;
- case 122:
-#line 812 "src/parser.y" /* yacc.c:1646 */
+ case 124:
+#line 818 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = BLOCK((yyvsp[-1].blk), gen_op_simple(POP));
}
-#line 3436 "src/parser.c" /* yacc.c:1646 */
+#line 3473 "src/parser.c" /* yacc.c:1646 */
break;
- case 123:
-#line 817 "src/parser.y" /* yacc.c:1646 */
+ case 125:
+#line 823 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = gen_array_matcher(gen_noop(), (yyvsp[0].blk));
}
-#line 3444 "src/parser.c" /* yacc.c:1646 */
+#line 3481 "src/parser.c" /* yacc.c:1646 */
break;
- case 124:
-#line 820 "src/parser.y" /* yacc.c:1646 */
+ case 126:
+#line 826 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = gen_array_matcher((yyvsp[-2].blk), (yyvsp[0].blk));
}
-#line 3452 "src/parser.c" /* yacc.c:1646 */
+#line 3489 "src/parser.c" /* yacc.c:1646 */
break;
- case 125:
-#line 825 "src/parser.y" /* yacc.c:1646 */
+ case 127:
+#line 831 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = (yyvsp[0].blk);
}
-#line 3460 "src/parser.c" /* yacc.c:1646 */
+#line 3497 "src/parser.c" /* yacc.c:1646 */
break;
- case 126:
-#line 828 "src/parser.y" /* yacc.c:1646 */
+ case 128:
+#line 834 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = BLOCK((yyvsp[-2].blk), (yyvsp[0].blk));
}
-#line 3468 "src/parser.c" /* yacc.c:1646 */
+#line 3505 "src/parser.c" /* yacc.c:1646 */
break;
- case 127:
-#line 833 "src/parser.y" /* yacc.c:1646 */
+ case 129:
+#line 839 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = gen_object_matcher(gen_const((yyvsp[0].literal)), gen_op_unbound(STOREV, jv_string_value((yyvsp[0].literal))));
}
-#line 3476 "src/parser.c" /* yacc.c:1646 */
+#line 3513 "src/parser.c" /* yacc.c:1646 */
break;
- case 128:
-#line 836 "src/parser.y" /* yacc.c:1646 */
+ case 130:
+#line 842 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = gen_object_matcher(gen_const((yyvsp[-2].literal)), BLOCK(gen_op_simple(DUP), gen_op_unbound(STOREV, jv_string_value((yyvsp[-2].literal))), (yyvsp[0].blk)));
}
-#line 3484 "src/parser.c" /* yacc.c:1646 */
+#line 3521 "src/parser.c" /* yacc.c:1646 */
break;
- case 129:
-#line 839 "src/parser.y" /* yacc.c:1646 */
+ case 131:
+#line 845 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = gen_object_matcher(gen_const((yyvsp[-2].literal)), (yyvsp[0].blk));
}
-#line 3492 "src/parser.c" /* yacc.c:1646 */
+#line 3529 "src/parser.c" /* yacc.c:1646 */
break;
- case 130:
-#line 842 "src/parser.y" /* yacc.c:1646 */
+ case 132:
+#line 848 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = gen_object_matcher(gen_const((yyvsp[-2].literal)), (yyvsp[0].blk));
}
-#line 3500 "src/parser.c" /* yacc.c:1646 */
+#line 3537 "src/parser.c" /* yacc.c:1646 */
break;
- case 131:
-#line 845 "src/parser.y" /* yacc.c:1646 */
+ case 133:
+#line 851 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = gen_object_matcher((yyvsp[-2].blk), (yyvsp[0].blk));
}
-#line 3508 "src/parser.c" /* yacc.c:1646 */
+#line 3545 "src/parser.c" /* yacc.c:1646 */
break;
- case 132:
-#line 848 "src/parser.y" /* yacc.c:1646 */
+ case 134:
+#line 854 "src/parser.y" /* yacc.c:1646 */
{
jv msg = check_object_key((yyvsp[-3].blk));
if (jv_is_valid(msg)) {
@@ -3517,276 +3554,276 @@ yyreduce:
jv_free(msg);
(yyval.blk) = gen_object_matcher((yyvsp[-3].blk), (yyvsp[0].blk));
}
-#line 3521 "src/parser.c" /* yacc.c:1646 */
+#line 3558 "src/parser.c" /* yacc.c:1646 */
break;
- case 133:
-#line 856 "src/parser.y" /* yacc.c:1646 */
+ case 135:
+#line 862 "src/parser.y" /* yacc.c:1646 */
{
FAIL((yyloc), "May need parentheses around object key expression");
(yyval.blk) = (yyvsp[0].blk);
}
-#line 3530 "src/parser.c" /* yacc.c:1646 */
- break;
-
- case 134:
-#line 862 "src/parser.y" /* yacc.c:1646 */
- {
- (yyval.literal) = jv_string("as");
-}
-#line 3538 "src/parser.c" /* yacc.c:1646 */
- break;
-
- case 135:
-#line 865 "src/parser.y" /* yacc.c:1646 */
- {
- (yyval.literal) = jv_string("def");
-}
-#line 3546 "src/parser.c" /* yacc.c:1646 */
+#line 3567 "src/parser.c" /* yacc.c:1646 */
break;
case 136:
#line 868 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.literal) = jv_string("module");
+ (yyval.literal) = jv_string("as");
}
-#line 3554 "src/parser.c" /* yacc.c:1646 */
+#line 3575 "src/parser.c" /* yacc.c:1646 */
break;
case 137:
#line 871 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.literal) = jv_string("import");
+ (yyval.literal) = jv_string("def");
}
-#line 3562 "src/parser.c" /* yacc.c:1646 */
+#line 3583 "src/parser.c" /* yacc.c:1646 */
break;
case 138:
#line 874 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.literal) = jv_string("include");
+ (yyval.literal) = jv_string("module");
}
-#line 3570 "src/parser.c" /* yacc.c:1646 */
+#line 3591 "src/parser.c" /* yacc.c:1646 */
break;
case 139:
#line 877 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.literal) = jv_string("if");
+ (yyval.literal) = jv_string("import");
}
-#line 3578 "src/parser.c" /* yacc.c:1646 */
+#line 3599 "src/parser.c" /* yacc.c:1646 */
break;
case 140:
#line 880 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.literal) = jv_string("then");
+ (yyval.literal) = jv_string("include");
}
-#line 3586 "src/parser.c" /* yacc.c:1646 */
+#line 3607 "src/parser.c" /* yacc.c:1646 */
break;
case 141:
#line 883 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.literal) = jv_string("else");
+ (yyval.literal) = jv_string("if");
}
-#line 3594 "src/parser.c" /* yacc.c:1646 */
+#line 3615 "src/parser.c" /* yacc.c:1646 */
break;
case 142:
#line 886 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.literal) = jv_string("elif");
+ (yyval.literal) = jv_string("then");
}
-#line 3602 "src/parser.c" /* yacc.c:1646 */
+#line 3623 "src/parser.c" /* yacc.c:1646 */
break;
case 143:
#line 889 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.literal) = jv_string("reduce");
+ (yyval.literal) = jv_string("else");
}
-#line 3610 "src/parser.c" /* yacc.c:1646 */
+#line 3631 "src/parser.c" /* yacc.c:1646 */
break;
case 144:
#line 892 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.literal) = jv_string("foreach");
+ (yyval.literal) = jv_string("elif");
}
-#line 3618 "src/parser.c" /* yacc.c:1646 */
+#line 3639 "src/parser.c" /* yacc.c:1646 */
break;
case 145:
#line 895 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.literal) = jv_string("end");
+ (yyval.literal) = jv_string("reduce");
}
-#line 3626 "src/parser.c" /* yacc.c:1646 */
+#line 3647 "src/parser.c" /* yacc.c:1646 */
break;
case 146:
#line 898 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.literal) = jv_string("and");
+ (yyval.literal) = jv_string("foreach");
}
-#line 3634 "src/parser.c" /* yacc.c:1646 */
+#line 3655 "src/parser.c" /* yacc.c:1646 */
break;
case 147:
#line 901 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.literal) = jv_string("or");
+ (yyval.literal) = jv_string("end");
}
-#line 3642 "src/parser.c" /* yacc.c:1646 */
+#line 3663 "src/parser.c" /* yacc.c:1646 */
break;
case 148:
#line 904 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.literal) = jv_string("try");
+ (yyval.literal) = jv_string("and");
}
-#line 3650 "src/parser.c" /* yacc.c:1646 */
+#line 3671 "src/parser.c" /* yacc.c:1646 */
break;
case 149:
#line 907 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.literal) = jv_string("catch");
+ (yyval.literal) = jv_string("or");
}
-#line 3658 "src/parser.c" /* yacc.c:1646 */
+#line 3679 "src/parser.c" /* yacc.c:1646 */
break;
case 150:
#line 910 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.literal) = jv_string("label");
+ (yyval.literal) = jv_string("try");
}
-#line 3666 "src/parser.c" /* yacc.c:1646 */
+#line 3687 "src/parser.c" /* yacc.c:1646 */
break;
case 151:
#line 913 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.literal) = jv_string("break");
+ (yyval.literal) = jv_string("catch");
}
-#line 3674 "src/parser.c" /* yacc.c:1646 */
+#line 3695 "src/parser.c" /* yacc.c:1646 */
break;
case 152:
#line 916 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.literal) = jv_string("__loc__");
+ (yyval.literal) = jv_string("label");
}
-#line 3682 "src/parser.c" /* yacc.c:1646 */
+#line 3703 "src/parser.c" /* yacc.c:1646 */
break;
case 153:
-#line 921 "src/parser.y" /* yacc.c:1646 */
+#line 919 "src/parser.y" /* yacc.c:1646 */
{
- (yyval.blk)=gen_noop();
+ (yyval.literal) = jv_string("break");
}
-#line 3690 "src/parser.c" /* yacc.c:1646 */
+#line 3711 "src/parser.c" /* yacc.c:1646 */
break;
case 154:
-#line 924 "src/parser.y" /* yacc.c:1646 */
- { (yyval.blk) = (yyvsp[0].blk); }
-#line 3696 "src/parser.c" /* yacc.c:1646 */
+#line 922 "src/parser.y" /* yacc.c:1646 */
+ {
+ (yyval.literal) = jv_string("__loc__");
+}
+#line 3719 "src/parser.c" /* yacc.c:1646 */
break;
case 155:
-#line 925 "src/parser.y" /* yacc.c:1646 */
- { (yyval.blk)=block_join((yyvsp[-2].blk), (yyvsp[0].blk)); }
-#line 3702 "src/parser.c" /* yacc.c:1646 */
+#line 927 "src/parser.y" /* yacc.c:1646 */
+ {
+ (yyval.blk)=gen_noop();
+}
+#line 3727 "src/parser.c" /* yacc.c:1646 */
break;
case 156:
-#line 926 "src/parser.y" /* yacc.c:1646 */
+#line 930 "src/parser.y" /* yacc.c:1646 */
{ (yyval.blk) = (yyvsp[0].blk); }
-#line 3708 "src/parser.c" /* yacc.c:1646 */
+#line 3733 "src/parser.c" /* yacc.c:1646 */
break;
case 157:
-#line 929 "src/parser.y" /* yacc.c:1646 */
+#line 931 "src/parser.y" /* yacc.c:1646 */
+ { (yyval.blk)=block_join((yyvsp[-2].blk), (yyvsp[0].blk)); }
+#line 3739 "src/parser.c" /* yacc.c:1646 */
+ break;
+
+ case 158:
+#line 932 "src/parser.y" /* yacc.c:1646 */
+ { (yyval.blk) = (yyvsp[0].blk); }
+#line 3745 "src/parser.c" /* yacc.c:1646 */
+ break;
+
+ case 159:
+#line 935 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = gen_dictpair(gen_const((yyvsp[-2].literal)), (yyvsp[0].blk));
}
-#line 3716 "src/parser.c" /* yacc.c:1646 */
+#line 3753 "src/parser.c" /* yacc.c:1646 */
break;
- case 158:
-#line 932 "src/parser.y" /* yacc.c:1646 */
+ case 160:
+#line 938 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = gen_dictpair(gen_const((yyvsp[-2].literal)), (yyvsp[0].blk));
}
-#line 3724 "src/parser.c" /* yacc.c:1646 */
+#line 3761 "src/parser.c" /* yacc.c:1646 */
break;
- case 159:
-#line 935 "src/parser.y" /* yacc.c:1646 */
+ case 161:
+#line 941 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = gen_dictpair((yyvsp[-2].blk), (yyvsp[0].blk));
}
-#line 3732 "src/parser.c" /* yacc.c:1646 */
+#line 3769 "src/parser.c" /* yacc.c:1646 */
break;
- case 160:
-#line 938 "src/parser.y" /* yacc.c:1646 */
+ case 162:
+#line 944 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = gen_dictpair((yyvsp[0].blk), BLOCK(gen_op_simple(POP), gen_op_simple(DUP2),
gen_op_simple(DUP2), gen_op_simple(INDEX)));
}
-#line 3741 "src/parser.c" /* yacc.c:1646 */
+#line 3778 "src/parser.c" /* yacc.c:1646 */
break;
- case 161:
-#line 942 "src/parser.y" /* yacc.c:1646 */
+ case 163:
+#line 948 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = gen_dictpair(gen_location((yyloc), locations, gen_op_unbound(LOADV, jv_string_value((yyvsp[-2].literal)))),
(yyvsp[0].blk));
}
-#line 3750 "src/parser.c" /* yacc.c:1646 */
+#line 3787 "src/parser.c" /* yacc.c:1646 */
break;
- case 162:
-#line 946 "src/parser.y" /* yacc.c:1646 */
+ case 164:
+#line 952 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = gen_dictpair(gen_const((yyvsp[0].literal)),
gen_location((yyloc), locations, gen_op_unbound(LOADV, jv_string_value((yyvsp[0].literal)))));
}
-#line 3759 "src/parser.c" /* yacc.c:1646 */
+#line 3796 "src/parser.c" /* yacc.c:1646 */
break;
- case 163:
-#line 950 "src/parser.y" /* yacc.c:1646 */
+ case 165:
+#line 956 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = gen_dictpair(gen_const((yyvsp[0].literal)),
gen_location((yyloc), locations, gen_op_unbound(LOADV, jv_string_value((yyvsp[0].literal)))));
}
-#line 3768 "src/parser.c" /* yacc.c:1646 */
+#line 3805 "src/parser.c" /* yacc.c:1646 */
break;
- case 164:
-#line 954 "src/parser.y" /* yacc.c:1646 */
+ case 166:
+#line 960 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = gen_dictpair(gen_const(jv_copy((yyvsp[0].literal))),
gen_index(gen_noop(), gen_const((yyvsp[0].literal))));
}
-#line 3777 "src/parser.c" /* yacc.c:1646 */
+#line 3814 "src/parser.c" /* yacc.c:1646 */
break;
- case 165:
-#line 958 "src/parser.y" /* yacc.c:1646 */
+ case 167:
+#line 964 "src/parser.y" /* yacc.c:1646 */
{
(yyval.blk) = gen_dictpair(gen_const(jv_copy((yyvsp[0].literal))),
gen_index(gen_noop(), gen_const((yyvsp[0].literal))));
}
-#line 3786 "src/parser.c" /* yacc.c:1646 */
+#line 3823 "src/parser.c" /* yacc.c:1646 */
break;
- case 166:
-#line 962 "src/parser.y" /* yacc.c:1646 */
+ case 168:
+#line 968 "src/parser.y" /* yacc.c:1646 */
{
jv msg = check_object_key((yyvsp[-3].blk));
if (jv_is_valid(msg)) {
@@ -3795,20 +3832,20 @@ yyreduce:
jv_free(msg);
(yyval.blk) = gen_dictpair((yyvsp[-3].blk), (yyvsp[0].blk));
}
-#line 3799 "src/parser.c" /* yacc.c:1646 */
+#line 3836 "src/parser.c" /* yacc.c:1646 */
break;
- case 167:
-#line 970 "src/parser.y" /* yacc.c:1646 */
+ case 169:
+#line 976 "src/parser.y" /* yacc.c:1646 */
{
FAIL((yyloc), "May need parentheses around object key expression");
(yyval.blk) = (yyvsp[0].blk);
}
-#line 3808 "src/parser.c" /* yacc.c:1646 */
+#line 3845 "src/parser.c" /* yacc.c:1646 */
break;
-#line 3812 "src/parser.c" /* yacc.c:1646 */
+#line 3849 "src/parser.c" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -4043,7 +4080,7 @@ yyreturn:
#endif
return yyresult;
}
-#line 974 "src/parser.y" /* yacc.c:1906 */
+#line 980 "src/parser.y" /* yacc.c:1906 */
int jq_parse(struct locfile* locations, block* answer) {
diff --git a/src/parser.y b/src/parser.y
index 2fdaed2..6758102 100644
--- a/src/parser.y
+++ b/src/parser.y
@@ -688,6 +688,12 @@ Term '[' Exp ']' '?' {
Term '[' Exp ']' %prec NONOPT {
$$ = gen_index($1, $3);
} |
+Term '.' '[' Exp ']' '?' {
+ $$ = gen_index_opt($1, $4);
+} |
+Term '.' '[' Exp ']' %prec NONOPT {
+ $$ = gen_index($1, $4);
+} |
Term '[' ']' '?' {
$$ = block_join($1, gen_op_simple(EACH_OPT));
} |