From: Nicolas Williams Date: Sat, 27 Jun 2015 01:29:04 +0000 (-0500) Subject: Add `{$var}` `. as {$var}` syntax (fix #831) X-Git-Tag: jq-1.5rc2~52 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e16bd175710cffe8380a0ed6c2806d67fed7c53c;p=jq Add `{$var}` `. as {$var}` syntax (fix #831) --- diff --git a/parser.c b/parser.c index 70ae4b3..e516a7e 100644 --- a/parser.c +++ b/parser.c @@ -651,16 +651,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 27 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1986 +#define YYLAST 1976 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 65 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 26 /* YYNRULES -- Number of rules. */ -#define YYNRULES 151 +#define YYNRULES 153 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 300 +#define YYNSTATES 304 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ @@ -722,10 +722,10 @@ static const yytype_uint16 yyrline[] = 660, 663, 666, 669, 672, 675, 678, 681, 684, 687, 690, 697, 701, 705, 717, 722, 723, 724, 725, 728, 731, 736, 741, 745, 748, 753, 756, 761, 764, 769, - 772, 775, 778, 783, 786, 789, 792, 795, 798, 801, + 772, 775, 778, 781, 786, 789, 792, 795, 798, 801, 804, 807, 810, 813, 816, 819, 822, 825, 828, 831, - 834, 839, 842, 843, 844, 847, 850, 853, 856, 860, - 864, 867 + 834, 837, 842, 845, 846, 847, 850, 853, 856, 859, + 863, 867, 871, 874 }; #endif @@ -766,50 +766,51 @@ static const yytype_uint16 yytoknum[] = }; # endif -#define YYPACT_NINF -171 +#define YYPACT_NINF -141 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-171))) + (!!((Yystate) == (-141))) -#define YYTABLE_NINF -142 +#define YYTABLE_NINF -143 #define yytable_value_is_error(Yytable_value) \ - (!!((Yytable_value) == (-142))) + (!!((Yytable_value) == (-143))) /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const yytype_int16 yypact[] = { - 19, 862, 41, 28, 48, -2, -171, 25, -171, 53, - 862, 152, 152, 862, 56, 1, -171, 862, 508, 21, - 267, 482, 329, 1323, 862, -171, 6, -171, 3, 862, - 28, 862, -171, -171, -20, 1698, 8, 10, 81, 73, - -171, 111, -171, 9, 59, 1168, -171, -171, -171, 116, - 25, 64, 57, -171, 950, -31, 63, -171, -171, -171, - -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, - -171, -171, -171, -171, -171, 569, 67, 69, 65, 86, - 862, 862, 862, 862, 862, 862, 862, 862, 862, 862, - 862, 862, 862, 862, 862, 862, 862, 862, 862, 862, - 862, 862, 862, 862, -171, -171, 1852, 78, -23, 3, - 419, 121, -171, 1852, 862, -171, 1852, -12, -171, -171, - 18, 862, 595, -23, -23, 656, 91, -171, 13, -171, - -171, -171, -171, -171, -171, 382, -171, 144, 83, 1199, - 144, 144, -171, 382, 1914, 324, 324, 1883, 1088, 1932, - 1914, 1914, 1914, 1914, 1914, 1914, 324, 324, 1852, 1883, - 1914, 324, 324, 9, 9, 84, 84, 84, -171, 137, - -23, 1093, 98, 89, 82, 862, 92, 904, 54, -171, - 862, -171, 32, -171, 141, -8, -171, 1370, -171, 1652, - 97, 99, -171, -171, 862, -171, 862, -171, 109, -171, - 144, 117, 50, 103, 104, 117, 117, -171, -171, -171, - -14, 105, 862, 106, -18, -171, 108, 862, -171, -171, - 996, -171, 682, 114, 742, 165, -171, -171, -171, 18, - 112, -171, 862, 862, -171, 862, 862, 1852, 1729, -171, - 144, 144, 144, -23, -171, -23, 1230, -23, 1093, -171, - -23, 1852, 118, 122, 1042, -171, -171, 1417, 802, -171, - 862, 1775, 1821, 1464, 1511, -171, 117, 117, 117, -171, - -171, 119, -171, -171, -171, -171, -171, 123, -171, -171, - 1558, 1605, -171, 862, 862, 862, -23, -171, -171, -171, - 1652, 1261, 1119, -171, -171, -171, 862, -171, 1292, -171 + 25, 806, 31, 33, -5, -2, -141, 17, -141, 64, + 806, 666, 666, 806, 18, 0, -141, 806, 452, 11, + 271, 426, 333, 1284, 806, -141, 6, -141, 3, 806, + 33, 806, -141, -141, -21, 1659, 9, 48, 45, 71, + -141, 73, -141, -6, 56, 1129, -141, -141, -141, 78, + 17, 63, 57, -141, 942, -32, 68, -141, -141, -141, + -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, + -141, -141, -141, -141, -141, 513, 116, 69, 72, 59, + 85, 806, 806, 806, 806, 806, 806, 806, 806, 806, + 806, 806, 806, 806, 806, 806, 806, 806, 806, 806, + 806, 806, 806, 806, 806, -141, -141, 1813, 79, -24, + 3, 143, 122, -141, 1813, 806, -141, 1813, 16, -141, + -141, 2, 806, 539, -24, -24, 600, 92, -141, 14, + -141, -141, -141, -141, -141, -141, 386, -141, 204, 83, + 1160, -141, 204, 204, -141, 386, 1875, 328, 328, 1844, + 1922, 1893, 1875, 1875, 1875, 1875, 1875, 1875, 328, 328, + 1813, 1844, 1875, 328, 328, -6, -6, 87, 87, 87, + -141, 138, -24, 861, 99, 91, 90, 806, 100, 896, + 20, -141, 806, -141, 22, -141, 149, 61, -141, 1331, + -141, 1613, 102, 103, -141, -141, 806, -141, 806, -141, + 110, -141, 204, 112, 54, 104, 107, 112, 112, -141, + -141, -141, -19, 108, 806, 157, 111, -20, -141, 114, + 806, -141, -141, 988, -141, 626, 121, 686, 158, -141, + -141, -141, 2, 118, -141, 806, 806, -141, 806, 806, + 1813, 1690, -141, 204, 204, 204, -24, -141, -24, 1191, + -141, -24, 861, -141, -24, 1813, 124, 125, 1034, -141, + -141, 1378, 746, -141, 806, 1736, 1782, 1425, 1472, -141, + 112, 112, 112, -141, -141, 126, -141, -141, -141, -141, + -141, 129, -141, -141, 1519, 1566, -141, 806, 806, 806, + -24, -141, -141, -141, 1613, 1222, 1080, -141, -141, -141, + 806, -141, 1253, -141 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -822,47 +823,48 @@ static const yytype_uint8 yydefact[] = 0, 0, 0, 0, 0, 95, 47, 1, 0, 8, 6, 0, 75, 60, 0, 0, 0, 0, 18, 0, 73, 0, 62, 32, 0, 0, 102, 101, 82, 0, - 0, 81, 0, 99, 0, 0, 149, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 0, 148, 0, 0, 142, + 0, 81, 0, 99, 0, 0, 151, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 0, 0, 149, 0, 0, + 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 21, 5, 10, 78, 0, 0, - 0, 0, 3, 2, 8, 7, 111, 0, 109, 62, - 0, 0, 0, 0, 0, 0, 0, 72, 0, 105, - 97, 83, 77, 106, 98, 0, 108, 0, 0, 0, - 0, 0, 100, 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, 74, 0, - 0, 0, 0, 80, 0, 0, 87, 0, 0, 9, - 0, 104, 0, 57, 0, 0, 54, 0, 16, 0, - 0, 0, 19, 17, 0, 63, 0, 59, 0, 144, - 0, 145, 69, 0, 0, 147, 146, 143, 112, 115, - 0, 0, 0, 0, 0, 117, 0, 0, 76, 107, - 0, 86, 0, 85, 0, 0, 110, 61, 56, 0, - 0, 52, 0, 0, 15, 0, 0, 20, 0, 68, - 0, 0, 0, 0, 113, 0, 0, 0, 0, 114, - 0, 11, 93, 92, 0, 84, 49, 0, 0, 55, - 0, 0, 0, 0, 0, 64, 67, 151, 150, 116, - 119, 0, 121, 118, 120, 90, 89, 91, 50, 48, - 0, 0, 66, 0, 0, 0, 0, 88, 51, 53, - 0, 0, 0, 122, 65, 12, 0, 14, 0, 13 + 0, 0, 0, 0, 0, 21, 5, 10, 78, 0, + 0, 0, 0, 3, 2, 8, 7, 111, 0, 109, + 62, 0, 0, 0, 0, 0, 0, 0, 72, 0, + 105, 97, 83, 77, 106, 98, 0, 108, 0, 0, + 0, 150, 0, 0, 100, 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, + 74, 0, 0, 0, 0, 80, 0, 0, 87, 0, + 0, 9, 0, 104, 0, 57, 0, 0, 54, 0, + 16, 0, 0, 0, 19, 17, 0, 63, 0, 59, + 0, 145, 0, 146, 69, 0, 0, 148, 147, 144, + 112, 115, 0, 0, 0, 0, 0, 0, 117, 0, + 0, 76, 107, 0, 86, 0, 85, 0, 0, 110, + 61, 56, 0, 0, 52, 0, 0, 15, 0, 0, + 20, 0, 68, 0, 0, 0, 0, 113, 0, 0, + 119, 0, 0, 114, 0, 11, 93, 92, 0, 84, + 49, 0, 0, 55, 0, 0, 0, 0, 0, 64, + 67, 153, 152, 116, 120, 0, 122, 118, 121, 90, + 89, 91, 50, 48, 0, 0, 66, 0, 0, 0, + 0, 88, 51, 53, 0, 0, 0, 123, 65, 12, + 0, 14, 0, 13 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -171, -171, -171, 140, 66, -1, -171, -11, -171, -47, - 4, -171, -171, 68, -105, -135, -4, -171, 12, -120, - -171, -171, -64, -170, -106, -171 + -141, -141, -141, 150, 74, -1, -141, -11, -141, -48, + 1, -141, -141, 66, -107, -138, -4, -141, 8, -122, + -141, -141, -64, -140, -109, -141 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 2, 3, 29, 112, 106, 30, 24, 185, 186, - 25, 42, 119, 128, 234, 201, 26, 117, 118, 172, - 210, 214, 215, 77, 78, 79 + -1, 2, 3, 29, 113, 107, 30, 24, 187, 188, + 25, 42, 120, 129, 237, 203, 26, 118, 119, 174, + 212, 217, 218, 78, 79, 80 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -870,332 +872,324 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 23, 216, 40, 190, 191, 205, 206, 36, 37, 35, - 50, 107, 38, 107, 135, 107, 43, 45, 114, 108, - 54, 123, 183, 124, 51, 46, 76, 248, 113, 199, - 116, 243, 111, 136, 1, 169, 120, 207, 170, 121, - 171, 27, 16, 180, 28, 181, 249, 229, 244, 230, - 209, 47, 32, 195, 196, 107, 197, 34, 224, 41, - 101, 102, 103, 104, 33, 239, 109, 110, 109, 110, - 109, 110, 195, 196, 139, 227, 184, 126, 216, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 114, 31, 266, 267, 268, 125, 177, - 109, 110, 225, 173, 39, 127, 129, 131, 132, 133, - 187, 189, 137, 269, 193, 270, 140, 272, 141, 142, - 274, 143, 168, 202, 178, 194, 202, 202, 104, 76, - 203, 208, 217, 218, 219, 228, 221, 76, 4, 5, - 6, 7, 8, 235, 135, 236, 4, 5, 6, 7, - 8, 240, 241, 242, 245, 247, 293, 250, 255, 258, - 115, 260, 275, 15, 220, 213, 276, 287, 286, 116, - 179, 15, 259, 16, 273, 294, 0, 182, 0, 0, - 0, 16, 226, 237, 200, 238, 202, 0, 0, 0, - 18, 0, 19, 0, 20, 21, 0, 22, 18, 0, - 19, 246, 20, 21, 0, 22, 251, 0, 0, 0, - 0, 254, 0, 257, 0, 0, 0, 0, 0, 0, - 0, 261, 262, 0, 263, 264, 202, 202, 202, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 213, 0, 0, 0, 0, 280, 0, 281, - 0, 0, 0, 0, 0, 0, 0, -70, 48, 0, - 0, 49, -70, 0, 50, 0, -70, -70, -70, -70, - -70, 0, 290, 291, 292, -70, -70, -70, 0, 0, - -70, -70, -70, 0, -70, 298, 0, 0, -70, -70, - -70, -70, -70, -70, -70, -70, 16, 0, 0, -70, - 0, -70, -70, -70, -70, -70, -70, -70, -70, -70, - -70, -70, -70, 0, -70, 0, -70, -70, -70, -70, - 55, -70, 0, 56, -142, -142, 50, 0, 0, 0, - 0, 0, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 0, -142, -142, 0, 0, 0, 0, 0, 16, 0, - 0, -142, -142, 99, 100, 101, 102, 103, 104, 0, - 0, 0, 0, 198, 0, 75, 56, 0, 0, 50, - 0, 0, 0, -141, 0, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 0, 0, 0, 0, 0, 0, 0, - 174, 16, 0, 4, 5, 6, 7, 8, 0, 0, - 0, 0, 0, 9, 0, 0, 10, 0, 75, 0, - 11, 12, 0, 0, 0, 13, -141, 14, 15, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, - 0, 0, 0, 0, 0, 18, 0, 19, 175, 20, - 21, 176, 22, 52, 0, 0, 4, 5, 6, 7, - 8, 0, 0, 0, 0, 0, 9, 0, 0, 10, - 0, 0, 0, 11, 12, 0, 0, 0, 13, 44, - 14, 15, 4, 5, 6, 7, 8, 0, 0, 0, - 0, 16, 9, 0, 0, 10, 0, 0, 0, 11, - 12, 0, 17, 0, 13, 0, 14, 15, 18, 0, - 19, 0, 20, 21, 53, 22, 0, 16, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, - 0, 0, 0, 0, 18, 0, 19, 0, 20, 21, - 138, 22, 0, 4, 5, 6, 7, 8, 0, 0, - 0, 0, 0, 9, 0, 0, 10, 0, 0, 0, - 11, 12, 0, 0, 0, 13, 188, 14, 15, 4, - 5, 6, 7, 8, 0, 0, 0, 0, 16, 9, - 0, 0, 10, 0, 0, 0, 11, 12, 0, 17, - 0, 13, 0, 14, 15, 18, 0, 19, 0, 20, - 21, 0, 22, 0, 16, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, - 0, 18, 0, 19, 0, 20, 21, 192, 22, 0, + 23, 40, 192, 193, 207, 208, 185, 36, 37, 35, + 50, 108, 38, 136, 108, 46, 43, 45, 115, 109, + 54, 51, 124, 77, 227, 252, 246, 201, 114, 112, + 117, 27, 137, 219, 171, 121, 209, 172, 122, 173, + 1, 47, 16, 247, 253, 102, 103, 104, 105, 28, + 211, 31, 32, 108, 197, 198, 33, 199, 41, 108, + 186, 125, 197, 198, 242, 230, 110, 111, 34, 110, + 111, 182, 126, 183, 140, 127, 39, 128, 228, 132, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 115, 270, 271, 272, 110, 111, + 179, 175, 219, 130, 110, 111, 232, 133, 233, 134, + 141, 189, 191, 144, 273, 195, 274, 138, 142, 276, + 145, 143, 278, 170, 204, 180, 196, 77, 204, 204, + 205, 105, 210, 220, 176, 221, 77, 4, 5, 6, + 7, 8, 222, 231, 224, 136, 243, 9, 238, 239, + 10, 250, 262, 244, 11, 12, 245, 248, 297, 13, + 251, 14, 15, 254, 216, 259, 223, 264, 279, 280, + 116, 117, 16, 291, 263, 290, 184, 298, 277, 181, + 229, 0, 0, 17, 0, 240, 0, 241, 204, 18, + 0, 19, 177, 20, 21, 178, 22, 0, 4, 5, + 6, 7, 8, 249, 0, 0, 0, 0, 0, 255, + 0, 0, 0, 0, 258, 0, 261, 0, 0, 0, + 0, 0, 0, 15, 265, 266, 0, 267, 268, 204, + 204, 204, 0, 16, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 216, 202, 0, 0, 0, 0, 0, + 18, 284, 19, 285, 20, 21, 0, 22, 0, 0, + 0, -70, 48, 0, 0, 49, -70, 0, 50, 0, + -70, -70, -70, -70, -70, 0, 294, 295, 296, -70, + -70, -70, 0, 0, -70, -70, -70, 0, -70, 302, + 0, 0, -70, -70, -70, -70, -70, -70, -70, -70, + 16, 0, 0, -70, 0, -70, -70, -70, -70, -70, + -70, -70, -70, -70, -70, -70, -70, 0, -70, 0, + -70, -70, -70, -70, 55, -70, 0, 56, -143, -143, + 50, 0, 0, 0, 0, 0, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 0, -143, -143, 0, 0, 0, + 0, 0, 16, 0, 0, -143, -143, 100, 101, 102, + 103, 104, 105, 0, 0, 0, 0, 200, 0, 75, + 56, 76, 0, 50, 0, 0, 0, -142, 0, 57, + 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 0, 0, 0, + 0, 0, 0, 0, 0, 16, 0, 52, 0, 0, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, - 9, 0, 0, 10, 0, 0, 0, 11, 12, 0, - 0, 0, 13, 0, 14, 15, 4, 5, 6, 7, + 9, 0, 75, 10, 76, 0, 0, 11, 12, 0, + -142, 0, 13, 44, 14, 15, 4, 5, 6, 7, 8, 0, 0, 0, 0, 16, 9, 0, 0, 10, 0, 0, 0, 11, 12, 0, 17, 0, 13, 0, - 14, 15, 18, 0, 19, 0, 20, 21, 0, 22, + 14, 15, 18, 0, 19, 0, 20, 21, 53, 22, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 18, 0, - 19, 0, 20, 21, 253, 22, 4, 5, 6, 7, - 8, 0, 0, 0, 0, 0, 9, 0, 0, 10, - 0, 0, 0, 11, 12, 0, 0, 0, 13, 0, - 14, 15, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 17, 0, 0, 0, 0, 256, 18, 0, - 19, 0, 20, 21, 0, 22, 4, 5, 6, 7, - 8, 0, 0, 0, 0, 0, 9, 0, 0, 10, - 0, 0, 0, 11, 12, 0, 0, 0, 13, 0, - 14, 15, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 17, 0, 0, 0, 0, 279, 18, 0, - 19, 0, 20, 21, 0, 22, 4, 5, 6, 7, - 8, 0, 0, 0, 0, 0, 9, 0, 0, 10, - 0, 0, 0, 11, 12, 0, 0, 0, 13, 0, - 14, 15, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 17, 80, 81, 82, 83, 0, 18, 0, - 19, 0, 20, 21, 0, 22, 0, 0, 84, 85, - 0, 0, 0, 0, 0, 86, 87, 88, 89, 90, - 91, 92, 93, 0, 0, 0, 0, 0, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 80, - 81, 82, 83, 222, 0, 0, 223, 0, 0, 0, - 0, 0, 0, 0, 84, 85, 0, 0, 0, 0, - 0, 86, 87, 88, 89, 90, 91, 92, 93, 0, - 0, 0, 0, 0, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 80, 81, 82, 83, 0, - 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, - 84, 85, 0, 0, 0, 0, 0, 86, 87, 88, - 89, 90, 91, 92, 93, 0, 0, 0, 0, 0, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 80, 81, 82, 83, 0, 0, 0, 252, 0, - 0, 0, 0, 0, 0, 0, 84, 85, 0, 0, - 0, 0, 0, 86, 87, 88, 89, 90, 91, 92, - 93, 0, 0, 0, 0, 0, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 211, 81, 82, - 50, 0, 0, 0, 277, 0, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 0, 92, 93, 0, 80, 81, - 82, 83, 16, 0, 0, 97, 98, 99, 100, 101, - 102, 103, 104, 84, 85, 0, 0, 0, 0, 212, - 86, 87, 88, 89, 90, 91, 92, 93, 0, 0, - 0, 0, 0, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 296, 0, 297, 80, 81, 82, - 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 84, 85, 0, 0, 0, 0, 0, 86, - 87, 88, 89, 90, 91, 92, 93, 0, 80, 81, - 82, 83, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 84, 85, 130, 0, 0, 0, 0, - 86, 87, 88, 89, 90, 91, 92, 93, 0, 80, - 81, 82, 83, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 84, 85, 204, 0, 0, 0, - 0, 86, 87, 88, 89, 90, 91, 92, 93, 0, - 80, 81, 82, 83, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 84, 85, 271, 0, 0, - 0, 0, 86, 87, 88, 89, 90, 91, 92, 93, - 0, 80, 81, 82, 83, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 84, 85, 295, 0, - 0, 0, 0, 86, 87, 88, 89, 90, 91, 92, - 93, 0, 80, 81, 82, 83, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 84, 85, 299, - 0, 0, 0, 0, 86, 87, 88, 89, 90, 91, - 92, 93, 0, 0, 0, 0, 0, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 80, - 81, 82, 83, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 84, 85, 0, 0, 0, 0, - 0, 86, 87, 88, 89, 90, 91, 92, 93, 0, - 0, 0, 0, 0, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 231, 80, 81, 82, 83, + 19, 0, 20, 21, 139, 22, 0, 4, 5, 6, + 7, 8, 0, 0, 0, 0, 0, 9, 0, 0, + 10, 0, 0, 0, 11, 12, 0, 0, 0, 13, + 190, 14, 15, 4, 5, 6, 7, 8, 0, 0, + 0, 0, 16, 9, 0, 0, 10, 0, 0, 0, + 11, 12, 0, 17, 0, 13, 0, 14, 15, 18, + 0, 19, 0, 20, 21, 0, 22, 0, 16, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, + 0, 0, 0, 0, 0, 18, 0, 19, 0, 20, + 21, 194, 22, 0, 4, 5, 6, 7, 8, 0, + 0, 0, 0, 0, 9, 0, 0, 10, 0, 0, + 0, 11, 12, 0, 0, 0, 13, 0, 14, 15, + 4, 5, 6, 7, 8, 0, 0, 0, 0, 16, + 9, 0, 0, 10, 0, 0, 0, 11, 12, 0, + 17, 0, 13, 0, 14, 15, 18, 0, 19, 0, + 20, 21, 0, 22, 0, 16, 0, 0, 0, 0, + 4, 5, 6, 7, 8, 0, 17, 0, 0, 0, + 0, 0, 18, 0, 19, 0, 20, 21, 257, 22, + 4, 5, 6, 7, 8, 15, 0, 0, 0, 0, + 9, 0, 0, 10, 0, 16, 0, 11, 12, 0, + 0, 0, 13, 0, 14, 15, 0, 0, 0, 0, + 0, 0, 18, 0, 19, 16, 20, 21, 0, 22, + 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, + 0, 260, 18, 0, 19, 0, 20, 21, 0, 22, + 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, + 9, 0, 0, 10, 0, 0, 0, 11, 12, 0, + 0, 0, 13, 0, 14, 15, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, + 0, 283, 18, 0, 19, 0, 20, 21, 0, 22, + 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, + 9, 0, 0, 10, 0, 0, 0, 11, 12, 0, + 0, 0, 13, 0, 14, 15, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, + 0, 0, 18, 0, 19, 213, 20, 21, 50, 22, + 0, 0, 0, 0, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 0, 0, 0, 0, 0, 0, 0, 0, + 16, 0, 0, 0, 0, 81, 82, 83, 84, 0, + 0, 0, 0, 0, 0, 0, 0, 214, 0, 215, + 85, 86, 0, 0, 0, 0, 0, 87, 88, 89, + 90, 91, 92, 93, 94, 0, 0, 0, 0, 0, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 81, 82, 83, 84, 225, 0, 0, 226, 0, + 0, 0, 0, 0, 0, 0, 85, 86, 0, 0, + 0, 0, 0, 87, 88, 89, 90, 91, 92, 93, + 94, 0, 0, 0, 0, 0, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 81, 82, 83, + 84, 0, 0, 0, 135, 0, 0, 0, 0, 0, + 0, 0, 85, 86, 0, 0, 0, 0, 0, 87, + 88, 89, 90, 91, 92, 93, 94, 0, 0, 0, + 0, 0, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 81, 82, 83, 84, 0, 0, 0, + 256, 0, 0, 0, 0, 0, 0, 0, 85, 86, + 0, 0, 0, 0, 0, 87, 88, 89, 90, 91, + 92, 93, 94, 0, 0, 0, 0, 0, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 81, + 82, 83, 84, 0, 0, 0, 281, 0, 0, 0, + 0, 0, 0, 0, 85, 86, 0, 0, 0, 0, + 0, 87, 88, 89, 90, 91, 92, 93, 94, 0, + 0, 0, 0, 0, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 300, 0, 301, 81, 82, + 83, 84, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 85, 86, 0, 0, 0, 0, 0, + 87, 88, 89, 90, 91, 92, 93, 94, 0, 81, + 82, 83, 84, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 85, 86, 131, 0, 0, 0, + 0, 87, 88, 89, 90, 91, 92, 93, 94, 0, + 81, 82, 83, 84, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 85, 86, 206, 0, 0, + 0, 0, 87, 88, 89, 90, 91, 92, 93, 94, + 0, 81, 82, 83, 84, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 85, 86, 275, 0, + 0, 0, 0, 87, 88, 89, 90, 91, 92, 93, + 94, 0, 81, 82, 83, 84, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 85, 86, 299, + 0, 0, 0, 0, 87, 88, 89, 90, 91, 92, + 93, 94, 0, 81, 82, 83, 84, 95, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 105, 85, 86, + 303, 0, 0, 0, 0, 87, 88, 89, 90, 91, + 92, 93, 94, 0, 0, 0, 0, 0, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 81, 82, 83, 84, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 85, 86, 0, 0, 0, + 0, 0, 87, 88, 89, 90, 91, 92, 93, 94, + 0, 0, 0, 0, 0, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 234, 81, 82, 83, + 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 85, 86, 0, 0, 0, 0, 0, 87, + 88, 89, 90, 91, 92, 93, 94, 0, 0, 0, + 0, 0, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 282, 81, 82, 83, 84, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, + 86, 0, 0, 0, 0, 0, 87, 88, 89, 90, + 91, 92, 93, 94, 0, 0, 0, 0, 0, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 288, 81, 82, 83, 84, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 85, 86, 0, 0, + 0, 0, 0, 87, 88, 89, 90, 91, 92, 93, + 94, 0, 0, 0, 0, 0, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 289, 81, 82, + 83, 84, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 85, 86, 0, 0, 0, 0, 0, + 87, 88, 89, 90, 91, 92, 93, 94, 0, 0, + 0, 0, 0, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 292, 81, 82, 83, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 84, 85, 0, 0, 0, 0, 0, 86, 87, - 88, 89, 90, 91, 92, 93, 0, 0, 0, 0, - 0, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 278, 80, 81, 82, 83, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 84, 85, - 0, 0, 0, 0, 0, 86, 87, 88, 89, 90, - 91, 92, 93, 0, 0, 0, 0, 0, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 284, - 80, 81, 82, 83, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 84, 85, 0, 0, 0, - 0, 0, 86, 87, 88, 89, 90, 91, 92, 93, - 0, 0, 0, 0, 0, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 285, 80, 81, 82, - 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 84, 85, 0, 0, 0, 0, 0, 86, - 87, 88, 89, 90, 91, 92, 93, 0, 0, 0, - 0, 0, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 288, 80, 81, 82, 83, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, - 85, 0, 0, 0, 0, 0, 86, 87, 88, 89, - 90, 91, 92, 93, 0, 0, 0, 0, 0, 94, + 85, 86, 0, 0, 0, 0, 0, 87, 88, 89, + 90, 91, 92, 93, 94, 0, 0, 0, 0, 0, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 289, 80, 81, 82, 83, 0, 0, 0, 0, 0, - 0, 232, 233, 0, 0, 0, 84, 85, 0, 0, - 0, 0, 0, 86, 87, 88, 89, 90, 91, 92, - 93, 0, 0, 0, 0, 0, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 80, 81, 82, - 83, 0, 0, 0, 0, 0, 122, 0, 0, 0, - 0, 0, 84, 85, 0, 0, 0, 0, 0, 86, - 87, 88, 89, 90, 91, 92, 93, 0, 80, 81, - 82, 83, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 84, 85, 0, 0, 0, 0, 0, - 86, 87, 88, 89, 90, 91, 92, 93, 0, 0, - 0, 265, 0, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 80, 81, 82, 83, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 282, 84, - 85, 0, 0, 0, 0, 0, 86, 87, 88, 89, - 90, 91, 92, 93, 0, 0, 0, 0, 0, 94, + 105, 293, 81, 82, 83, 84, 0, 0, 0, 0, + 0, 0, 235, 236, 0, 0, 0, 85, 86, 0, + 0, 0, 0, 0, 87, 88, 89, 90, 91, 92, + 93, 94, 0, 0, 0, 0, 0, 95, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 105, 81, 82, + 83, 84, 0, 0, 0, 0, 0, 123, 0, 0, + 0, 0, 0, 85, 86, 0, 0, 0, 0, 0, + 87, 88, 89, 90, 91, 92, 93, 94, 0, 81, + 82, 83, 84, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 85, 86, 0, 0, 0, 0, + 0, 87, 88, 89, 90, 91, 92, 93, 94, 0, + 0, 0, 269, 0, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 81, 82, 83, 84, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, + 85, 86, 0, 0, 0, 0, 0, 87, 88, 89, + 90, 91, 92, 93, 94, 0, 0, 0, 0, 0, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 80, 81, 82, 83, 0, 0, 0, 0, 0, 283, - 0, 0, 0, 0, 0, 84, 85, 0, 0, 0, - 0, 0, 86, 87, 88, 89, 90, 91, 92, 93, - 0, 80, 81, 82, 83, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 84, 85, 0, 0, - 0, 0, 0, 86, 87, 88, 89, 90, 91, 92, - 93, 0, 80, 81, 82, 83, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 84, 85, 0, - 0, 0, 0, 0, 86, 87, 88, 89, 90, 91, - 92, 93, 0, -142, 81, 82, 0, 0, 0, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 84, 85, - 0, 0, 81, 82, 0, -142, -142, -142, -142, -142, - -142, 92, 93, 0, 0, 0, 84, 0, 0, 0, - -142, 97, 98, 99, 100, 101, 102, 103, 104, 92, - 93, 0, 0, 0, 0, 0, 0, 0, 0, 97, - 98, 99, 100, 101, 102, 103, 104 + 105, 81, 82, 83, 84, 0, 0, 0, 0, 0, + 287, 0, 0, 0, 0, 0, 85, 86, 0, 0, + 0, 0, 0, 87, 88, 89, 90, 91, 92, 93, + 94, 0, 81, 82, 83, 84, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 85, 86, 0, + 0, 0, 0, 0, 87, 88, 89, 90, 91, 92, + 93, 94, 0, 81, 82, 83, 84, 95, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 105, 85, 86, + 0, 0, 0, 0, 0, 87, 88, 89, 90, 91, + 92, 93, 94, 0, -143, 82, 83, 0, 0, 0, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 85, + 86, 0, 0, 82, 83, 0, -143, -143, -143, -143, + -143, -143, 93, 94, 0, 0, 0, 85, 0, 0, + 0, -143, 98, 99, 100, 101, 102, 103, 104, 105, + 93, 94, 82, 83, 0, 0, 0, 0, 0, 0, + 98, 99, 100, 101, 102, 103, 104, 105, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, + 94, 0, 0, 0, 0, 0, 0, 0, 0, 98, + 99, 100, 101, 102, 103, 104, 105 }; static const yytype_int16 yycheck[] = { - 1, 171, 1, 123, 124, 140, 141, 11, 12, 10, - 7, 5, 13, 5, 45, 5, 17, 18, 29, 13, - 21, 13, 4, 13, 20, 4, 22, 45, 29, 135, - 31, 45, 28, 64, 15, 58, 56, 143, 61, 59, - 63, 0, 39, 55, 16, 57, 64, 55, 62, 57, - 170, 30, 54, 40, 41, 5, 43, 4, 4, 58, - 51, 52, 53, 54, 39, 200, 60, 61, 60, 61, - 60, 61, 40, 41, 75, 43, 58, 4, 248, 80, + 1, 1, 124, 125, 142, 143, 4, 11, 12, 10, + 7, 5, 13, 45, 5, 4, 17, 18, 29, 13, + 21, 20, 13, 22, 4, 45, 45, 136, 29, 28, + 31, 0, 64, 173, 58, 56, 145, 61, 59, 63, + 15, 30, 39, 62, 64, 51, 52, 53, 54, 16, + 172, 56, 54, 5, 40, 41, 39, 43, 58, 5, + 58, 13, 40, 41, 202, 43, 60, 61, 4, 60, + 61, 55, 27, 57, 75, 4, 58, 4, 58, 1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 114, 56, 240, 241, 242, 27, 110, - 60, 61, 58, 109, 58, 4, 57, 1, 54, 62, - 121, 122, 59, 243, 125, 245, 59, 247, 59, 64, - 250, 45, 54, 137, 13, 44, 140, 141, 54, 135, - 57, 4, 44, 54, 62, 4, 54, 143, 4, 5, - 6, 7, 8, 56, 45, 56, 4, 5, 6, 7, - 8, 44, 59, 59, 59, 59, 286, 59, 54, 4, - 30, 59, 54, 29, 175, 171, 54, 54, 59, 180, - 114, 29, 229, 39, 248, 290, -1, 119, -1, -1, - -1, 39, 180, 194, 50, 196, 200, -1, -1, -1, - 56, -1, 58, -1, 60, 61, -1, 63, 56, -1, - 58, 212, 60, 61, -1, 63, 217, -1, -1, -1, - -1, 222, -1, 224, -1, -1, -1, -1, -1, -1, - -1, 232, 233, -1, 235, 236, 240, 241, 242, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 248, -1, -1, -1, -1, 258, -1, 260, - -1, -1, -1, -1, -1, -1, -1, 0, 1, -1, - -1, 4, 5, -1, 7, -1, 9, 10, 11, 12, - 13, -1, 283, 284, 285, 18, 19, 20, -1, -1, - 23, 24, 25, -1, 27, 296, -1, -1, 31, 32, - 33, 34, 35, 36, 37, 38, 39, -1, -1, 42, - -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, -1, 57, -1, 59, 60, 61, 62, - 1, 64, -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, - -1, 37, 38, -1, -1, -1, -1, -1, 39, -1, - -1, 47, 48, 49, 50, 51, 52, 53, 54, -1, - -1, -1, -1, 1, -1, 56, 4, -1, -1, 7, - -1, -1, -1, 64, -1, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, -1, -1, -1, -1, -1, -1, -1, - 1, 39, -1, 4, 5, 6, 7, 8, -1, -1, - -1, -1, -1, 14, -1, -1, 17, -1, 56, -1, - 21, 22, -1, -1, -1, 26, 64, 28, 29, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 39, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 50, - -1, -1, -1, -1, -1, 56, -1, 58, 59, 60, - 61, 62, 63, 1, -1, -1, 4, 5, 6, 7, - 8, -1, -1, -1, -1, -1, 14, -1, -1, 17, - -1, -1, -1, 21, 22, -1, -1, -1, 26, 1, - 28, 29, 4, 5, 6, 7, 8, -1, -1, -1, - -1, 39, 14, -1, -1, 17, -1, -1, -1, 21, - 22, -1, 50, -1, 26, -1, 28, 29, 56, -1, - 58, -1, 60, 61, 62, 63, -1, 39, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 50, -1, - -1, -1, -1, -1, 56, -1, 58, -1, 60, 61, - 1, 63, -1, 4, 5, 6, 7, 8, -1, -1, - -1, -1, -1, 14, -1, -1, 17, -1, -1, -1, - 21, 22, -1, -1, -1, 26, 1, 28, 29, 4, - 5, 6, 7, 8, -1, -1, -1, -1, 39, 14, - -1, -1, 17, -1, -1, -1, 21, 22, -1, 50, - -1, 26, -1, 28, 29, 56, -1, 58, -1, 60, - 61, -1, 63, -1, 39, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 50, -1, -1, -1, -1, - -1, 56, -1, 58, -1, 60, 61, 1, 63, -1, + 101, 102, 103, 104, 115, 243, 244, 245, 60, 61, + 111, 110, 252, 57, 60, 61, 55, 54, 57, 62, + 4, 122, 123, 64, 246, 126, 248, 59, 59, 251, + 45, 59, 254, 54, 138, 13, 44, 136, 142, 143, + 57, 54, 4, 44, 1, 54, 145, 4, 5, 6, + 7, 8, 62, 4, 54, 45, 44, 14, 56, 56, + 17, 4, 4, 59, 21, 22, 59, 59, 290, 26, + 59, 28, 29, 59, 173, 54, 177, 59, 54, 54, + 30, 182, 39, 54, 232, 59, 120, 294, 252, 115, + 182, -1, -1, 50, -1, 196, -1, 198, 202, 56, + -1, 58, 59, 60, 61, 62, 63, -1, 4, 5, + 6, 7, 8, 214, -1, -1, -1, -1, -1, 220, + -1, -1, -1, -1, 225, -1, 227, -1, -1, -1, + -1, -1, -1, 29, 235, 236, -1, 238, 239, 243, + 244, 245, -1, 39, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 252, 50, -1, -1, -1, -1, -1, + 56, 262, 58, 264, 60, 61, -1, 63, -1, -1, + -1, 0, 1, -1, -1, 4, 5, -1, 7, -1, + 9, 10, 11, 12, 13, -1, 287, 288, 289, 18, + 19, 20, -1, -1, 23, 24, 25, -1, 27, 300, + -1, -1, 31, 32, 33, 34, 35, 36, 37, 38, + 39, -1, -1, 42, -1, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, -1, 57, -1, + 59, 60, 61, 62, 1, 64, -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, -1, 37, 38, -1, -1, -1, + -1, -1, 39, -1, -1, 47, 48, 49, 50, 51, + 52, 53, 54, -1, -1, -1, -1, 1, -1, 56, + 4, 58, -1, 7, -1, -1, -1, 64, -1, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, -1, -1, -1, + -1, -1, -1, -1, -1, 39, -1, 1, -1, -1, 4, 5, 6, 7, 8, -1, -1, -1, -1, -1, - 14, -1, -1, 17, -1, -1, -1, 21, 22, -1, - -1, -1, 26, -1, 28, 29, 4, 5, 6, 7, + 14, -1, 56, 17, 58, -1, -1, 21, 22, -1, + 64, -1, 26, 1, 28, 29, 4, 5, 6, 7, 8, -1, -1, -1, -1, 39, 14, -1, -1, 17, -1, -1, -1, 21, 22, -1, 50, -1, 26, -1, - 28, 29, 56, -1, 58, -1, 60, 61, -1, 63, + 28, 29, 56, -1, 58, -1, 60, 61, 62, 63, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 50, -1, -1, -1, -1, -1, 56, -1, - 58, -1, 60, 61, 62, 63, 4, 5, 6, 7, - 8, -1, -1, -1, -1, -1, 14, -1, -1, 17, - -1, -1, -1, 21, 22, -1, -1, -1, 26, -1, - 28, 29, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 50, -1, -1, -1, -1, 55, 56, -1, - 58, -1, 60, 61, -1, 63, 4, 5, 6, 7, - 8, -1, -1, -1, -1, -1, 14, -1, -1, 17, - -1, -1, -1, 21, 22, -1, -1, -1, 26, -1, - 28, 29, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 50, -1, -1, -1, -1, 55, 56, -1, - 58, -1, 60, 61, -1, 63, 4, 5, 6, 7, - 8, -1, -1, -1, -1, -1, 14, -1, -1, 17, - -1, -1, -1, 21, 22, -1, -1, -1, 26, -1, - 28, 29, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 50, 9, 10, 11, 12, -1, 56, -1, - 58, -1, 60, 61, -1, 63, -1, -1, 24, 25, - -1, -1, -1, -1, -1, 31, 32, 33, 34, 35, - 36, 37, 38, -1, -1, -1, -1, -1, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 9, - 10, 11, 12, 59, -1, -1, 62, -1, -1, -1, - -1, -1, -1, -1, 24, 25, -1, -1, -1, -1, - -1, 31, 32, 33, 34, 35, 36, 37, 38, -1, - -1, -1, -1, -1, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 9, 10, 11, 12, -1, - -1, -1, 62, -1, -1, -1, -1, -1, -1, -1, + 58, -1, 60, 61, 1, 63, -1, 4, 5, 6, + 7, 8, -1, -1, -1, -1, -1, 14, -1, -1, + 17, -1, -1, -1, 21, 22, -1, -1, -1, 26, + 1, 28, 29, 4, 5, 6, 7, 8, -1, -1, + -1, -1, 39, 14, -1, -1, 17, -1, -1, -1, + 21, 22, -1, 50, -1, 26, -1, 28, 29, 56, + -1, 58, -1, 60, 61, -1, 63, -1, 39, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 50, + -1, -1, -1, -1, -1, 56, -1, 58, -1, 60, + 61, 1, 63, -1, 4, 5, 6, 7, 8, -1, + -1, -1, -1, -1, 14, -1, -1, 17, -1, -1, + -1, 21, 22, -1, -1, -1, 26, -1, 28, 29, + 4, 5, 6, 7, 8, -1, -1, -1, -1, 39, + 14, -1, -1, 17, -1, -1, -1, 21, 22, -1, + 50, -1, 26, -1, 28, 29, 56, -1, 58, -1, + 60, 61, -1, 63, -1, 39, -1, -1, -1, -1, + 4, 5, 6, 7, 8, -1, 50, -1, -1, -1, + -1, -1, 56, -1, 58, -1, 60, 61, 62, 63, + 4, 5, 6, 7, 8, 29, -1, -1, -1, -1, + 14, -1, -1, 17, -1, 39, -1, 21, 22, -1, + -1, -1, 26, -1, 28, 29, -1, -1, -1, -1, + -1, -1, 56, -1, 58, 39, 60, 61, -1, 63, + -1, -1, -1, -1, -1, -1, 50, -1, -1, -1, + -1, 55, 56, -1, 58, -1, 60, 61, -1, 63, + 4, 5, 6, 7, 8, -1, -1, -1, -1, -1, + 14, -1, -1, 17, -1, -1, -1, 21, 22, -1, + -1, -1, 26, -1, 28, 29, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 50, -1, -1, -1, + -1, 55, 56, -1, 58, -1, 60, 61, -1, 63, + 4, 5, 6, 7, 8, -1, -1, -1, -1, -1, + 14, -1, -1, 17, -1, -1, -1, 21, 22, -1, + -1, -1, 26, -1, 28, 29, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 50, -1, -1, -1, + -1, -1, 56, -1, 58, 4, 60, 61, 7, 63, + -1, -1, -1, -1, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, -1, -1, -1, -1, -1, -1, -1, + 39, -1, -1, -1, -1, 9, 10, 11, 12, -1, + -1, -1, -1, -1, -1, -1, -1, 56, -1, 58, 24, 25, -1, -1, -1, -1, -1, 31, 32, 33, 34, 35, 36, 37, 38, -1, -1, -1, -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 9, 10, 11, 12, -1, -1, -1, 62, -1, + 54, 9, 10, 11, 12, 59, -1, -1, 62, -1, -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, -1, -1, -1, 31, 32, 33, 34, 35, 36, 37, 38, -1, -1, -1, -1, -1, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 4, 10, 11, - 7, -1, -1, -1, 62, -1, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, -1, 37, 38, -1, 9, 10, - 11, 12, 39, -1, -1, 47, 48, 49, 50, 51, - 52, 53, 54, 24, 25, -1, -1, -1, -1, 56, - 31, 32, 33, 34, 35, 36, 37, 38, -1, -1, - -1, -1, -1, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, -1, 57, 9, 10, 11, - 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 48, 49, 50, 51, 52, 53, 54, 9, 10, 11, + 12, -1, -1, -1, 62, -1, -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, -1, -1, -1, 31, - 32, 33, 34, 35, 36, 37, 38, -1, 9, 10, - 11, 12, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 24, 25, 57, -1, -1, -1, -1, + 32, 33, 34, 35, 36, 37, 38, -1, -1, -1, + -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 9, 10, 11, 12, -1, -1, -1, + 62, -1, -1, -1, -1, -1, -1, -1, 24, 25, + -1, -1, -1, -1, -1, 31, 32, 33, 34, 35, + 36, 37, 38, -1, -1, -1, -1, -1, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 9, + 10, 11, 12, -1, -1, -1, 62, -1, -1, -1, + -1, -1, -1, -1, 24, 25, -1, -1, -1, -1, + -1, 31, 32, 33, 34, 35, 36, 37, 38, -1, + -1, -1, -1, -1, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, -1, 57, 9, 10, + 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 24, 25, -1, -1, -1, -1, -1, 31, 32, 33, 34, 35, 36, 37, 38, -1, 9, 10, 11, 12, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 24, 25, 57, -1, -1, -1, @@ -1209,20 +1203,9 @@ static const yytype_int16 yycheck[] = 38, -1, 9, 10, 11, 12, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 24, 25, 57, -1, -1, -1, -1, 31, 32, 33, 34, 35, 36, - 37, 38, -1, -1, -1, -1, -1, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 9, - 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 24, 25, -1, -1, -1, -1, - -1, 31, 32, 33, 34, 35, 36, 37, 38, -1, - -1, -1, -1, -1, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 9, 10, 11, 12, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 24, 25, -1, -1, -1, -1, -1, 31, 32, - 33, 34, 35, 36, 37, 38, -1, -1, -1, -1, - -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 9, 10, 11, 12, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, - -1, -1, -1, -1, -1, 31, 32, 33, 34, 35, + 37, 38, -1, 9, 10, 11, 12, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 24, 25, + 57, -1, -1, -1, -1, 31, 32, 33, 34, 35, 36, 37, 38, -1, -1, -1, -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, @@ -1240,36 +1223,53 @@ static const yytype_int16 yycheck[] = 35, 36, 37, 38, -1, -1, -1, -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 9, 10, 11, 12, -1, -1, -1, -1, -1, - -1, 19, 20, -1, -1, -1, 24, 25, -1, -1, + -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, -1, -1, -1, 31, 32, 33, 34, 35, 36, 37, 38, -1, -1, -1, -1, -1, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 9, 10, 11, - 12, -1, -1, -1, -1, -1, 18, -1, -1, -1, - -1, -1, 24, 25, -1, -1, -1, -1, -1, 31, - 32, 33, 34, 35, 36, 37, 38, -1, 9, 10, - 11, 12, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 24, 25, -1, -1, -1, -1, -1, + 48, 49, 50, 51, 52, 53, 54, 55, 9, 10, + 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 24, 25, -1, -1, -1, -1, -1, 31, 32, 33, 34, 35, 36, 37, 38, -1, -1, - -1, 42, -1, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 9, 10, 11, 12, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 23, 24, - 25, -1, -1, -1, -1, -1, 31, 32, 33, 34, - 35, 36, 37, 38, -1, -1, -1, -1, -1, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 9, 10, 11, 12, -1, -1, -1, -1, -1, 18, - -1, -1, -1, -1, -1, 24, 25, -1, -1, -1, - -1, -1, 31, 32, 33, 34, 35, 36, 37, 38, - -1, 9, 10, 11, 12, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 24, 25, -1, -1, + -1, -1, -1, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 9, 10, 11, 12, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 24, 25, -1, -1, -1, -1, -1, 31, 32, 33, + 34, 35, 36, 37, 38, -1, -1, -1, -1, -1, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 9, 10, 11, 12, -1, -1, -1, -1, + -1, -1, 19, 20, -1, -1, -1, 24, 25, -1, + -1, -1, -1, -1, 31, 32, 33, 34, 35, 36, + 37, 38, -1, -1, -1, -1, -1, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 9, 10, + 11, 12, -1, -1, -1, -1, -1, 18, -1, -1, + -1, -1, -1, 24, 25, -1, -1, -1, -1, -1, + 31, 32, 33, 34, 35, 36, 37, 38, -1, 9, + 10, 11, 12, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 24, 25, -1, -1, -1, -1, + -1, 31, 32, 33, 34, 35, 36, 37, 38, -1, + -1, -1, 42, -1, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 9, 10, 11, 12, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 23, + 24, 25, -1, -1, -1, -1, -1, 31, 32, 33, + 34, 35, 36, 37, 38, -1, -1, -1, -1, -1, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 9, 10, 11, 12, -1, -1, -1, -1, -1, + 18, -1, -1, -1, -1, -1, 24, 25, -1, -1, -1, -1, -1, 31, 32, 33, 34, 35, 36, 37, 38, -1, 9, 10, 11, 12, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 24, 25, -1, -1, -1, -1, -1, 31, 32, 33, 34, 35, 36, - 37, 38, -1, 9, 10, 11, -1, -1, -1, 46, + 37, 38, -1, 9, 10, 11, 12, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 24, 25, - -1, -1, 10, 11, -1, 31, 32, 33, 34, 35, - 36, 37, 38, -1, -1, -1, 24, -1, -1, -1, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 37, + -1, -1, -1, -1, -1, 31, 32, 33, 34, 35, + 36, 37, 38, -1, 9, 10, 11, -1, -1, -1, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 24, + 25, -1, -1, 10, 11, -1, 31, 32, 33, 34, + 35, 36, 37, 38, -1, -1, -1, 24, -1, -1, + -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 37, 38, 10, 11, -1, -1, -1, -1, -1, -1, + 47, 48, 49, 50, 51, 52, 53, 54, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, -1, -1, -1, -1, -1, -1, -1, 47, 48, 49, 50, 51, 52, 53, 54 }; @@ -1285,29 +1285,30 @@ static const yytype_uint8 yystos[] = 1, 58, 76, 70, 1, 70, 4, 30, 1, 4, 7, 75, 1, 62, 70, 1, 4, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 56, 75, 88, 89, 90, - 9, 10, 11, 12, 24, 25, 31, 32, 33, 34, - 35, 36, 37, 38, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 70, 5, 13, 60, - 61, 75, 69, 70, 72, 68, 70, 82, 83, 77, - 56, 59, 18, 13, 13, 27, 4, 4, 78, 57, - 57, 1, 54, 62, 62, 45, 64, 59, 1, 70, - 59, 59, 64, 45, 70, 70, 70, 70, 70, 70, + 26, 27, 28, 29, 30, 56, 58, 75, 88, 89, + 90, 9, 10, 11, 12, 24, 25, 31, 32, 33, + 34, 35, 36, 37, 38, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 70, 5, 13, + 60, 61, 75, 69, 70, 72, 68, 70, 82, 83, + 77, 56, 59, 18, 13, 13, 27, 4, 4, 78, + 57, 57, 1, 54, 62, 62, 45, 64, 59, 1, + 70, 4, 59, 59, 64, 45, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 70, 70, 70, 70, 70, 70, 54, 58, - 61, 63, 84, 75, 1, 59, 62, 70, 13, 69, - 55, 57, 78, 4, 58, 73, 74, 70, 1, 70, - 84, 84, 1, 70, 44, 40, 41, 43, 1, 89, - 50, 80, 81, 57, 57, 80, 80, 89, 4, 84, - 85, 4, 56, 75, 86, 87, 88, 44, 54, 62, - 70, 54, 59, 62, 4, 58, 83, 43, 4, 55, - 57, 55, 19, 20, 79, 56, 56, 70, 70, 80, - 44, 59, 59, 45, 62, 59, 70, 59, 45, 64, - 59, 70, 62, 62, 70, 54, 55, 70, 4, 74, - 59, 70, 70, 70, 70, 42, 80, 80, 80, 84, - 84, 57, 84, 87, 84, 54, 54, 62, 55, 55, - 70, 70, 23, 18, 55, 55, 59, 54, 55, 55, - 70, 70, 70, 84, 79, 57, 55, 57, 70, 57 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, + 54, 58, 61, 63, 84, 75, 1, 59, 62, 70, + 13, 69, 55, 57, 78, 4, 58, 73, 74, 70, + 1, 70, 84, 84, 1, 70, 44, 40, 41, 43, + 1, 89, 50, 80, 81, 57, 57, 80, 80, 89, + 4, 84, 85, 4, 56, 58, 75, 86, 87, 88, + 44, 54, 62, 70, 54, 59, 62, 4, 58, 83, + 43, 4, 55, 57, 55, 19, 20, 79, 56, 56, + 70, 70, 80, 44, 59, 59, 45, 62, 59, 70, + 4, 59, 45, 64, 59, 70, 62, 62, 70, 54, + 55, 70, 4, 74, 59, 70, 70, 70, 70, 42, + 80, 80, 80, 84, 84, 57, 84, 87, 84, 54, + 54, 62, 55, 55, 70, 70, 23, 18, 55, 55, + 59, 54, 55, 55, 70, 70, 70, 84, 79, 57, + 55, 57, 70, 57 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ @@ -1325,10 +1326,10 @@ static const yytype_uint8 yyr1[] = 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 82, 82, 83, 84, 84, 84, 85, 85, 86, 86, 87, - 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, + 87, 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, - 88, 89, 89, 89, 89, 90, 90, 90, 90, 90, - 90, 90 + 88, 88, 89, 89, 89, 89, 90, 90, 90, 90, + 90, 90, 90, 90 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -1345,11 +1346,11 @@ static const yytype_uint8 yyr2[] = 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, 2, 3, 3, 1, 3, 1, 3, 3, - 3, 3, 5, 1, 1, 1, 1, 1, 1, 1, + 3, 1, 2, 3, 3, 1, 3, 1, 3, 2, + 3, 3, 3, 5, 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, 1, - 5, 5 + 1, 1, 0, 1, 3, 3, 3, 3, 3, 1, + 2, 1, 5, 5 }; @@ -1852,163 +1853,163 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio case 4: /* IDENT */ #line 36 "parser.y" /* yacc.c:1257 */ { jv_free(((*yyvaluep).literal)); } -#line 1856 "parser.c" /* yacc.c:1257 */ +#line 1857 "parser.c" /* yacc.c:1257 */ break; case 5: /* FIELD */ #line 36 "parser.y" /* yacc.c:1257 */ { jv_free(((*yyvaluep).literal)); } -#line 1862 "parser.c" /* yacc.c:1257 */ +#line 1863 "parser.c" /* yacc.c:1257 */ break; case 6: /* LITERAL */ #line 36 "parser.y" /* yacc.c:1257 */ { jv_free(((*yyvaluep).literal)); } -#line 1868 "parser.c" /* yacc.c:1257 */ +#line 1869 "parser.c" /* yacc.c:1257 */ break; case 7: /* FORMAT */ #line 36 "parser.y" /* yacc.c:1257 */ { jv_free(((*yyvaluep).literal)); } -#line 1874 "parser.c" /* yacc.c:1257 */ +#line 1875 "parser.c" /* yacc.c:1257 */ break; case 40: /* QQSTRING_TEXT */ #line 36 "parser.y" /* yacc.c:1257 */ { jv_free(((*yyvaluep).literal)); } -#line 1880 "parser.c" /* yacc.c:1257 */ +#line 1881 "parser.c" /* yacc.c:1257 */ break; case 67: /* Module */ #line 37 "parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1886 "parser.c" /* yacc.c:1257 */ +#line 1887 "parser.c" /* yacc.c:1257 */ break; case 68: /* Imports */ #line 37 "parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1892 "parser.c" /* yacc.c:1257 */ +#line 1893 "parser.c" /* yacc.c:1257 */ break; case 69: /* FuncDefs */ #line 37 "parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1898 "parser.c" /* yacc.c:1257 */ +#line 1899 "parser.c" /* yacc.c:1257 */ break; case 70: /* Exp */ #line 37 "parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1904 "parser.c" /* yacc.c:1257 */ +#line 1905 "parser.c" /* yacc.c:1257 */ break; case 71: /* Import */ #line 37 "parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1910 "parser.c" /* yacc.c:1257 */ +#line 1911 "parser.c" /* yacc.c:1257 */ break; case 72: /* FuncDef */ #line 37 "parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1916 "parser.c" /* yacc.c:1257 */ +#line 1917 "parser.c" /* yacc.c:1257 */ break; case 73: /* Params */ #line 37 "parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1922 "parser.c" /* yacc.c:1257 */ +#line 1923 "parser.c" /* yacc.c:1257 */ break; case 74: /* Param */ #line 37 "parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1928 "parser.c" /* yacc.c:1257 */ +#line 1929 "parser.c" /* yacc.c:1257 */ break; case 75: /* String */ #line 37 "parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1934 "parser.c" /* yacc.c:1257 */ +#line 1935 "parser.c" /* yacc.c:1257 */ break; case 78: /* QQString */ #line 37 "parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1940 "parser.c" /* yacc.c:1257 */ +#line 1941 "parser.c" /* yacc.c:1257 */ break; case 79: /* ElseBody */ #line 37 "parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1946 "parser.c" /* yacc.c:1257 */ +#line 1947 "parser.c" /* yacc.c:1257 */ break; case 80: /* ExpD */ #line 37 "parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1952 "parser.c" /* yacc.c:1257 */ +#line 1953 "parser.c" /* yacc.c:1257 */ break; case 81: /* Term */ #line 37 "parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1958 "parser.c" /* yacc.c:1257 */ +#line 1959 "parser.c" /* yacc.c:1257 */ break; case 82: /* Args */ #line 37 "parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1964 "parser.c" /* yacc.c:1257 */ +#line 1965 "parser.c" /* yacc.c:1257 */ break; case 83: /* Arg */ #line 37 "parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1970 "parser.c" /* yacc.c:1257 */ +#line 1971 "parser.c" /* yacc.c:1257 */ break; case 84: /* Pattern */ #line 37 "parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1976 "parser.c" /* yacc.c:1257 */ +#line 1977 "parser.c" /* yacc.c:1257 */ break; case 85: /* ArrayPats */ #line 37 "parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1982 "parser.c" /* yacc.c:1257 */ +#line 1983 "parser.c" /* yacc.c:1257 */ break; case 86: /* ObjPats */ #line 37 "parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1988 "parser.c" /* yacc.c:1257 */ +#line 1989 "parser.c" /* yacc.c:1257 */ break; case 87: /* ObjPat */ #line 37 "parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1994 "parser.c" /* yacc.c:1257 */ +#line 1995 "parser.c" /* yacc.c:1257 */ break; case 88: /* Keyword */ #line 36 "parser.y" /* yacc.c:1257 */ { jv_free(((*yyvaluep).literal)); } -#line 2000 "parser.c" /* yacc.c:1257 */ +#line 2001 "parser.c" /* yacc.c:1257 */ break; case 89: /* MkDict */ #line 37 "parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 2006 "parser.c" /* yacc.c:1257 */ +#line 2007 "parser.c" /* yacc.c:1257 */ break; case 90: /* MkDictPair */ #line 37 "parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 2012 "parser.c" /* yacc.c:1257 */ +#line 2013 "parser.c" /* yacc.c:1257 */ break; @@ -2304,7 +2305,7 @@ yyreduce: { *answer = BLOCK((yyvsp[-2].blk), (yyvsp[-1].blk), gen_op_simple(TOP), (yyvsp[0].blk)); } -#line 2308 "parser.c" /* yacc.c:1646 */ +#line 2309 "parser.c" /* yacc.c:1646 */ break; case 3: @@ -2312,7 +2313,7 @@ yyreduce: { *answer = BLOCK((yyvsp[-2].blk), (yyvsp[-1].blk), (yyvsp[0].blk)); } -#line 2316 "parser.c" /* yacc.c:1646 */ +#line 2317 "parser.c" /* yacc.c:1646 */ break; case 4: @@ -2320,7 +2321,7 @@ yyreduce: { (yyval.blk) = gen_noop(); } -#line 2324 "parser.c" /* yacc.c:1646 */ +#line 2325 "parser.c" /* yacc.c:1646 */ break; case 5: @@ -2333,7 +2334,7 @@ yyreduce: (yyval.blk) = gen_module((yyvsp[-1].blk)); } } -#line 2337 "parser.c" /* yacc.c:1646 */ +#line 2338 "parser.c" /* yacc.c:1646 */ break; case 6: @@ -2341,7 +2342,7 @@ yyreduce: { (yyval.blk) = gen_noop(); } -#line 2345 "parser.c" /* yacc.c:1646 */ +#line 2346 "parser.c" /* yacc.c:1646 */ break; case 7: @@ -2349,7 +2350,7 @@ yyreduce: { (yyval.blk) = BLOCK((yyvsp[-1].blk), (yyvsp[0].blk)); } -#line 2353 "parser.c" /* yacc.c:1646 */ +#line 2354 "parser.c" /* yacc.c:1646 */ break; case 8: @@ -2357,7 +2358,7 @@ yyreduce: { (yyval.blk) = gen_noop(); } -#line 2361 "parser.c" /* yacc.c:1646 */ +#line 2362 "parser.c" /* yacc.c:1646 */ break; case 9: @@ -2365,7 +2366,7 @@ yyreduce: { (yyval.blk) = block_bind((yyvsp[-1].blk), (yyvsp[0].blk), OP_IS_CALL_PSEUDO); } -#line 2369 "parser.c" /* yacc.c:1646 */ +#line 2370 "parser.c" /* yacc.c:1646 */ break; case 10: @@ -2373,7 +2374,7 @@ yyreduce: { (yyval.blk) = block_bind_referenced((yyvsp[-1].blk), (yyvsp[0].blk), OP_IS_CALL_PSEUDO); } -#line 2377 "parser.c" /* yacc.c:1646 */ +#line 2378 "parser.c" /* yacc.c:1646 */ break; case 11: @@ -2381,7 +2382,7 @@ yyreduce: { (yyval.blk) = gen_destructure((yyvsp[-4].blk), (yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2385 "parser.c" /* yacc.c:1646 */ +#line 2386 "parser.c" /* yacc.c:1646 */ break; case 12: @@ -2389,7 +2390,7 @@ yyreduce: { (yyval.blk) = gen_reduce((yyvsp[-7].blk), (yyvsp[-5].blk), (yyvsp[-3].blk), (yyvsp[-1].blk)); } -#line 2393 "parser.c" /* yacc.c:1646 */ +#line 2394 "parser.c" /* yacc.c:1646 */ break; case 13: @@ -2397,7 +2398,7 @@ yyreduce: { (yyval.blk) = gen_foreach((yyvsp[-9].blk), (yyvsp[-7].blk), (yyvsp[-5].blk), (yyvsp[-3].blk), (yyvsp[-1].blk)); } -#line 2401 "parser.c" /* yacc.c:1646 */ +#line 2402 "parser.c" /* yacc.c:1646 */ break; case 14: @@ -2405,7 +2406,7 @@ yyreduce: { (yyval.blk) = gen_foreach((yyvsp[-7].blk), (yyvsp[-5].blk), (yyvsp[-3].blk), (yyvsp[-1].blk), gen_noop()); } -#line 2409 "parser.c" /* yacc.c:1646 */ +#line 2410 "parser.c" /* yacc.c:1646 */ break; case 15: @@ -2413,7 +2414,7 @@ yyreduce: { (yyval.blk) = gen_cond((yyvsp[-3].blk), (yyvsp[-1].blk), (yyvsp[0].blk)); } -#line 2417 "parser.c" /* yacc.c:1646 */ +#line 2418 "parser.c" /* yacc.c:1646 */ break; case 16: @@ -2422,7 +2423,7 @@ yyreduce: FAIL((yyloc), "Possibly unterminated 'if' statement"); (yyval.blk) = (yyvsp[-2].blk); } -#line 2426 "parser.c" /* yacc.c:1646 */ +#line 2427 "parser.c" /* yacc.c:1646 */ break; case 17: @@ -2431,7 +2432,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 2435 "parser.c" /* yacc.c:1646 */ +#line 2436 "parser.c" /* yacc.c:1646 */ break; case 18: @@ -2440,7 +2441,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 2444 "parser.c" /* yacc.c:1646 */ +#line 2445 "parser.c" /* yacc.c:1646 */ break; case 19: @@ -2449,7 +2450,7 @@ yyreduce: FAIL((yyloc), "Possibly unterminated 'try' statement"); (yyval.blk) = (yyvsp[-2].blk); } -#line 2453 "parser.c" /* yacc.c:1646 */ +#line 2454 "parser.c" /* yacc.c:1646 */ break; case 20: @@ -2460,7 +2461,7 @@ yyreduce: jv_free((yyvsp[-2].literal)); jv_free(v); } -#line 2464 "parser.c" /* yacc.c:1646 */ +#line 2465 "parser.c" /* yacc.c:1646 */ break; case 21: @@ -2468,7 +2469,7 @@ yyreduce: { (yyval.blk) = gen_try((yyvsp[-1].blk), gen_op_simple(BACKTRACK)); } -#line 2472 "parser.c" /* yacc.c:1646 */ +#line 2473 "parser.c" /* yacc.c:1646 */ break; case 22: @@ -2476,7 +2477,7 @@ yyreduce: { (yyval.blk) = gen_call("_assign", BLOCK(gen_lambda((yyvsp[-2].blk)), gen_lambda((yyvsp[0].blk)))); } -#line 2480 "parser.c" /* yacc.c:1646 */ +#line 2481 "parser.c" /* yacc.c:1646 */ break; case 23: @@ -2484,7 +2485,7 @@ yyreduce: { (yyval.blk) = gen_or((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2488 "parser.c" /* yacc.c:1646 */ +#line 2489 "parser.c" /* yacc.c:1646 */ break; case 24: @@ -2492,7 +2493,7 @@ yyreduce: { (yyval.blk) = gen_and((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2496 "parser.c" /* yacc.c:1646 */ +#line 2497 "parser.c" /* yacc.c:1646 */ break; case 25: @@ -2500,7 +2501,7 @@ yyreduce: { (yyval.blk) = gen_definedor((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2504 "parser.c" /* yacc.c:1646 */ +#line 2505 "parser.c" /* yacc.c:1646 */ break; case 26: @@ -2508,7 +2509,7 @@ yyreduce: { (yyval.blk) = gen_definedor_assign((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2512 "parser.c" /* yacc.c:1646 */ +#line 2513 "parser.c" /* yacc.c:1646 */ break; case 27: @@ -2516,7 +2517,7 @@ yyreduce: { (yyval.blk) = gen_call("_modify", BLOCK(gen_lambda((yyvsp[-2].blk)), gen_lambda((yyvsp[0].blk)))); } -#line 2520 "parser.c" /* yacc.c:1646 */ +#line 2521 "parser.c" /* yacc.c:1646 */ break; case 28: @@ -2524,7 +2525,7 @@ yyreduce: { (yyval.blk) = block_join((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2528 "parser.c" /* yacc.c:1646 */ +#line 2529 "parser.c" /* yacc.c:1646 */ break; case 29: @@ -2532,7 +2533,7 @@ yyreduce: { (yyval.blk) = gen_both((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2536 "parser.c" /* yacc.c:1646 */ +#line 2537 "parser.c" /* yacc.c:1646 */ break; case 30: @@ -2540,7 +2541,7 @@ yyreduce: { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '+'); } -#line 2544 "parser.c" /* yacc.c:1646 */ +#line 2545 "parser.c" /* yacc.c:1646 */ break; case 31: @@ -2548,7 +2549,7 @@ yyreduce: { (yyval.blk) = gen_update((yyvsp[-2].blk), (yyvsp[0].blk), '+'); } -#line 2552 "parser.c" /* yacc.c:1646 */ +#line 2553 "parser.c" /* yacc.c:1646 */ break; case 32: @@ -2556,7 +2557,7 @@ yyreduce: { (yyval.blk) = BLOCK((yyvsp[0].blk), gen_call("_negate", gen_noop())); } -#line 2560 "parser.c" /* yacc.c:1646 */ +#line 2561 "parser.c" /* yacc.c:1646 */ break; case 33: @@ -2564,7 +2565,7 @@ yyreduce: { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '-'); } -#line 2568 "parser.c" /* yacc.c:1646 */ +#line 2569 "parser.c" /* yacc.c:1646 */ break; case 34: @@ -2572,7 +2573,7 @@ yyreduce: { (yyval.blk) = gen_update((yyvsp[-2].blk), (yyvsp[0].blk), '-'); } -#line 2576 "parser.c" /* yacc.c:1646 */ +#line 2577 "parser.c" /* yacc.c:1646 */ break; case 35: @@ -2580,7 +2581,7 @@ yyreduce: { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '*'); } -#line 2584 "parser.c" /* yacc.c:1646 */ +#line 2585 "parser.c" /* yacc.c:1646 */ break; case 36: @@ -2588,7 +2589,7 @@ yyreduce: { (yyval.blk) = gen_update((yyvsp[-2].blk), (yyvsp[0].blk), '*'); } -#line 2592 "parser.c" /* yacc.c:1646 */ +#line 2593 "parser.c" /* yacc.c:1646 */ break; case 37: @@ -2598,7 +2599,7 @@ yyreduce: if (block_is_const_inf((yyval.blk))) FAIL((yyloc), "Division by zero?"); } -#line 2602 "parser.c" /* yacc.c:1646 */ +#line 2603 "parser.c" /* yacc.c:1646 */ break; case 38: @@ -2608,7 +2609,7 @@ yyreduce: if (block_is_const_inf((yyval.blk))) FAIL((yyloc), "Remainder by zero?"); } -#line 2612 "parser.c" /* yacc.c:1646 */ +#line 2613 "parser.c" /* yacc.c:1646 */ break; case 39: @@ -2616,7 +2617,7 @@ yyreduce: { (yyval.blk) = gen_update((yyvsp[-2].blk), (yyvsp[0].blk), '/'); } -#line 2620 "parser.c" /* yacc.c:1646 */ +#line 2621 "parser.c" /* yacc.c:1646 */ break; case 40: @@ -2624,7 +2625,7 @@ yyreduce: { (yyval.blk) = gen_update((yyvsp[-2].blk), (yyvsp[0].blk), '%'); } -#line 2628 "parser.c" /* yacc.c:1646 */ +#line 2629 "parser.c" /* yacc.c:1646 */ break; case 41: @@ -2632,7 +2633,7 @@ yyreduce: { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), EQ); } -#line 2636 "parser.c" /* yacc.c:1646 */ +#line 2637 "parser.c" /* yacc.c:1646 */ break; case 42: @@ -2640,7 +2641,7 @@ yyreduce: { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), NEQ); } -#line 2644 "parser.c" /* yacc.c:1646 */ +#line 2645 "parser.c" /* yacc.c:1646 */ break; case 43: @@ -2648,7 +2649,7 @@ yyreduce: { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '<'); } -#line 2652 "parser.c" /* yacc.c:1646 */ +#line 2653 "parser.c" /* yacc.c:1646 */ break; case 44: @@ -2656,7 +2657,7 @@ yyreduce: { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '>'); } -#line 2660 "parser.c" /* yacc.c:1646 */ +#line 2661 "parser.c" /* yacc.c:1646 */ break; case 45: @@ -2664,7 +2665,7 @@ yyreduce: { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), LESSEQ); } -#line 2668 "parser.c" /* yacc.c:1646 */ +#line 2669 "parser.c" /* yacc.c:1646 */ break; case 46: @@ -2672,7 +2673,7 @@ yyreduce: { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), GREATEREQ); } -#line 2676 "parser.c" /* yacc.c:1646 */ +#line 2677 "parser.c" /* yacc.c:1646 */ break; case 47: @@ -2680,7 +2681,7 @@ yyreduce: { (yyval.blk) = (yyvsp[0].blk); } -#line 2684 "parser.c" /* yacc.c:1646 */ +#line 2685 "parser.c" /* yacc.c:1646 */ break; case 48: @@ -2694,7 +2695,7 @@ yyreduce: jv_free((yyvsp[-1].literal)); jv_free(v); } -#line 2698 "parser.c" /* yacc.c:1646 */ +#line 2699 "parser.c" /* yacc.c:1646 */ break; case 49: @@ -2706,7 +2707,7 @@ yyreduce: jv_free((yyvsp[-1].literal)); jv_free(v); } -#line 2710 "parser.c" /* yacc.c:1646 */ +#line 2711 "parser.c" /* yacc.c:1646 */ break; case 50: @@ -2723,7 +2724,7 @@ yyreduce: block_free((yyvsp[-4].blk)); jv_free((yyvsp[-2].literal)); } -#line 2727 "parser.c" /* yacc.c:1646 */ +#line 2728 "parser.c" /* yacc.c:1646 */ break; case 51: @@ -2740,7 +2741,7 @@ yyreduce: block_free((yyvsp[-5].blk)); jv_free((yyvsp[-2].literal)); } -#line 2744 "parser.c" /* yacc.c:1646 */ +#line 2745 "parser.c" /* yacc.c:1646 */ break; case 52: @@ -2749,7 +2750,7 @@ yyreduce: (yyval.blk) = gen_function(jv_string_value((yyvsp[-3].literal)), gen_noop(), (yyvsp[-1].blk)); jv_free((yyvsp[-3].literal)); } -#line 2753 "parser.c" /* yacc.c:1646 */ +#line 2754 "parser.c" /* yacc.c:1646 */ break; case 53: @@ -2758,7 +2759,7 @@ yyreduce: (yyval.blk) = gen_function(jv_string_value((yyvsp[-6].literal)), (yyvsp[-4].blk), (yyvsp[-1].blk)); jv_free((yyvsp[-6].literal)); } -#line 2762 "parser.c" /* yacc.c:1646 */ +#line 2763 "parser.c" /* yacc.c:1646 */ break; case 54: @@ -2766,7 +2767,7 @@ yyreduce: { (yyval.blk) = (yyvsp[0].blk); } -#line 2770 "parser.c" /* yacc.c:1646 */ +#line 2771 "parser.c" /* yacc.c:1646 */ break; case 55: @@ -2774,7 +2775,7 @@ yyreduce: { (yyval.blk) = BLOCK((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2778 "parser.c" /* yacc.c:1646 */ +#line 2779 "parser.c" /* yacc.c:1646 */ break; case 56: @@ -2783,7 +2784,7 @@ yyreduce: (yyval.blk) = gen_param_regular(jv_string_value((yyvsp[0].literal))); jv_free((yyvsp[0].literal)); } -#line 2787 "parser.c" /* yacc.c:1646 */ +#line 2788 "parser.c" /* yacc.c:1646 */ break; case 57: @@ -2792,13 +2793,13 @@ yyreduce: (yyval.blk) = gen_param(jv_string_value((yyvsp[0].literal))); jv_free((yyvsp[0].literal)); } -#line 2796 "parser.c" /* yacc.c:1646 */ +#line 2797 "parser.c" /* yacc.c:1646 */ break; case 58: #line 547 "parser.y" /* yacc.c:1646 */ { (yyval.literal) = jv_string("text"); } -#line 2802 "parser.c" /* yacc.c:1646 */ +#line 2803 "parser.c" /* yacc.c:1646 */ break; case 59: @@ -2807,13 +2808,13 @@ yyreduce: (yyval.blk) = (yyvsp[-1].blk); jv_free((yyvsp[-2].literal)); } -#line 2811 "parser.c" /* yacc.c:1646 */ +#line 2812 "parser.c" /* yacc.c:1646 */ break; case 60: #line 551 "parser.y" /* yacc.c:1646 */ { (yyval.literal) = (yyvsp[-1].literal); } -#line 2817 "parser.c" /* yacc.c:1646 */ +#line 2818 "parser.c" /* yacc.c:1646 */ break; case 61: @@ -2822,7 +2823,7 @@ yyreduce: (yyval.blk) = (yyvsp[-1].blk); jv_free((yyvsp[-2].literal)); } -#line 2826 "parser.c" /* yacc.c:1646 */ +#line 2827 "parser.c" /* yacc.c:1646 */ break; case 62: @@ -2830,7 +2831,7 @@ yyreduce: { (yyval.blk) = gen_const(jv_string("")); } -#line 2834 "parser.c" /* yacc.c:1646 */ +#line 2835 "parser.c" /* yacc.c:1646 */ break; case 63: @@ -2838,7 +2839,7 @@ yyreduce: { (yyval.blk) = gen_binop((yyvsp[-1].blk), gen_const((yyvsp[0].literal)), '+'); } -#line 2842 "parser.c" /* yacc.c:1646 */ +#line 2843 "parser.c" /* yacc.c:1646 */ break; case 64: @@ -2846,7 +2847,7 @@ yyreduce: { (yyval.blk) = gen_binop((yyvsp[-3].blk), gen_format((yyvsp[-1].blk), jv_copy((yyvsp[-4].literal))), '+'); } -#line 2850 "parser.c" /* yacc.c:1646 */ +#line 2851 "parser.c" /* yacc.c:1646 */ break; case 65: @@ -2854,7 +2855,7 @@ yyreduce: { (yyval.blk) = gen_cond((yyvsp[-3].blk), (yyvsp[-1].blk), (yyvsp[0].blk)); } -#line 2858 "parser.c" /* yacc.c:1646 */ +#line 2859 "parser.c" /* yacc.c:1646 */ break; case 66: @@ -2862,7 +2863,7 @@ yyreduce: { (yyval.blk) = (yyvsp[-1].blk); } -#line 2866 "parser.c" /* yacc.c:1646 */ +#line 2867 "parser.c" /* yacc.c:1646 */ break; case 67: @@ -2870,7 +2871,7 @@ yyreduce: { (yyval.blk) = block_join((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2874 "parser.c" /* yacc.c:1646 */ +#line 2875 "parser.c" /* yacc.c:1646 */ break; case 68: @@ -2878,7 +2879,7 @@ yyreduce: { (yyval.blk) = BLOCK((yyvsp[0].blk), gen_call("_negate", gen_noop())); } -#line 2882 "parser.c" /* yacc.c:1646 */ +#line 2883 "parser.c" /* yacc.c:1646 */ break; case 69: @@ -2886,7 +2887,7 @@ yyreduce: { (yyval.blk) = (yyvsp[0].blk); } -#line 2890 "parser.c" /* yacc.c:1646 */ +#line 2891 "parser.c" /* yacc.c:1646 */ break; case 70: @@ -2894,7 +2895,7 @@ yyreduce: { (yyval.blk) = gen_noop(); } -#line 2898 "parser.c" /* yacc.c:1646 */ +#line 2899 "parser.c" /* yacc.c:1646 */ break; case 71: @@ -2902,7 +2903,7 @@ yyreduce: { (yyval.blk) = gen_call("recurse", gen_noop()); } -#line 2906 "parser.c" /* yacc.c:1646 */ +#line 2907 "parser.c" /* yacc.c:1646 */ break; case 72: @@ -2915,7 +2916,7 @@ yyreduce: jv_free(v); jv_free((yyvsp[0].literal)); } -#line 2919 "parser.c" /* yacc.c:1646 */ +#line 2920 "parser.c" /* yacc.c:1646 */ break; case 73: @@ -2924,7 +2925,7 @@ yyreduce: FAIL((yyloc), "break requires a label to break to"); (yyval.blk) = gen_noop(); } -#line 2928 "parser.c" /* yacc.c:1646 */ +#line 2929 "parser.c" /* yacc.c:1646 */ break; case 74: @@ -2932,7 +2933,7 @@ yyreduce: { (yyval.blk) = gen_index_opt((yyvsp[-2].blk), gen_const((yyvsp[-1].literal))); } -#line 2936 "parser.c" /* yacc.c:1646 */ +#line 2937 "parser.c" /* yacc.c:1646 */ break; case 75: @@ -2940,7 +2941,7 @@ yyreduce: { (yyval.blk) = gen_index_opt(gen_noop(), gen_const((yyvsp[-1].literal))); } -#line 2944 "parser.c" /* yacc.c:1646 */ +#line 2945 "parser.c" /* yacc.c:1646 */ break; case 76: @@ -2948,7 +2949,7 @@ yyreduce: { (yyval.blk) = gen_index_opt((yyvsp[-3].blk), (yyvsp[-1].blk)); } -#line 2952 "parser.c" /* yacc.c:1646 */ +#line 2953 "parser.c" /* yacc.c:1646 */ break; case 77: @@ -2956,7 +2957,7 @@ yyreduce: { (yyval.blk) = gen_index_opt(gen_noop(), (yyvsp[-1].blk)); } -#line 2960 "parser.c" /* yacc.c:1646 */ +#line 2961 "parser.c" /* yacc.c:1646 */ break; case 78: @@ -2964,7 +2965,7 @@ yyreduce: { (yyval.blk) = gen_index((yyvsp[-1].blk), gen_const((yyvsp[0].literal))); } -#line 2968 "parser.c" /* yacc.c:1646 */ +#line 2969 "parser.c" /* yacc.c:1646 */ break; case 79: @@ -2972,7 +2973,7 @@ yyreduce: { (yyval.blk) = gen_index(gen_noop(), gen_const((yyvsp[0].literal))); } -#line 2976 "parser.c" /* yacc.c:1646 */ +#line 2977 "parser.c" /* yacc.c:1646 */ break; case 80: @@ -2980,7 +2981,7 @@ yyreduce: { (yyval.blk) = gen_index((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2984 "parser.c" /* yacc.c:1646 */ +#line 2985 "parser.c" /* yacc.c:1646 */ break; case 81: @@ -2988,7 +2989,7 @@ yyreduce: { (yyval.blk) = gen_index(gen_noop(), (yyvsp[0].blk)); } -#line 2992 "parser.c" /* yacc.c:1646 */ +#line 2993 "parser.c" /* yacc.c:1646 */ break; case 82: @@ -2997,7 +2998,7 @@ yyreduce: FAIL((yyloc), "try .[\"field\"] instead of .field for unusually named fields"); (yyval.blk) = gen_noop(); } -#line 3001 "parser.c" /* yacc.c:1646 */ +#line 3002 "parser.c" /* yacc.c:1646 */ break; case 83: @@ -3007,7 +3008,7 @@ yyreduce: FAIL((yyloc), "try .[\"field\"] instead of .field for unusually named fields"); (yyval.blk) = gen_noop(); } -#line 3011 "parser.c" /* yacc.c:1646 */ +#line 3012 "parser.c" /* yacc.c:1646 */ break; case 84: @@ -3015,7 +3016,7 @@ yyreduce: { (yyval.blk) = gen_index_opt((yyvsp[-4].blk), (yyvsp[-2].blk)); } -#line 3019 "parser.c" /* yacc.c:1646 */ +#line 3020 "parser.c" /* yacc.c:1646 */ break; case 85: @@ -3023,7 +3024,7 @@ yyreduce: { (yyval.blk) = gen_index((yyvsp[-3].blk), (yyvsp[-1].blk)); } -#line 3027 "parser.c" /* yacc.c:1646 */ +#line 3028 "parser.c" /* yacc.c:1646 */ break; case 86: @@ -3031,7 +3032,7 @@ yyreduce: { (yyval.blk) = block_join((yyvsp[-3].blk), gen_op_simple(EACH_OPT)); } -#line 3035 "parser.c" /* yacc.c:1646 */ +#line 3036 "parser.c" /* yacc.c:1646 */ break; case 87: @@ -3039,7 +3040,7 @@ yyreduce: { (yyval.blk) = block_join((yyvsp[-2].blk), gen_op_simple(EACH)); } -#line 3043 "parser.c" /* yacc.c:1646 */ +#line 3044 "parser.c" /* yacc.c:1646 */ break; case 88: @@ -3047,7 +3048,7 @@ yyreduce: { (yyval.blk) = gen_slice_index((yyvsp[-6].blk), (yyvsp[-4].blk), (yyvsp[-2].blk), INDEX_OPT); } -#line 3051 "parser.c" /* yacc.c:1646 */ +#line 3052 "parser.c" /* yacc.c:1646 */ break; case 89: @@ -3055,7 +3056,7 @@ yyreduce: { (yyval.blk) = gen_slice_index((yyvsp[-5].blk), (yyvsp[-3].blk), gen_const(jv_null()), INDEX_OPT); } -#line 3059 "parser.c" /* yacc.c:1646 */ +#line 3060 "parser.c" /* yacc.c:1646 */ break; case 90: @@ -3063,7 +3064,7 @@ yyreduce: { (yyval.blk) = gen_slice_index((yyvsp[-5].blk), gen_const(jv_null()), (yyvsp[-2].blk), INDEX_OPT); } -#line 3067 "parser.c" /* yacc.c:1646 */ +#line 3068 "parser.c" /* yacc.c:1646 */ break; case 91: @@ -3071,7 +3072,7 @@ yyreduce: { (yyval.blk) = gen_slice_index((yyvsp[-5].blk), (yyvsp[-3].blk), (yyvsp[-1].blk), INDEX); } -#line 3075 "parser.c" /* yacc.c:1646 */ +#line 3076 "parser.c" /* yacc.c:1646 */ break; case 92: @@ -3079,7 +3080,7 @@ yyreduce: { (yyval.blk) = gen_slice_index((yyvsp[-4].blk), (yyvsp[-2].blk), gen_const(jv_null()), INDEX); } -#line 3083 "parser.c" /* yacc.c:1646 */ +#line 3084 "parser.c" /* yacc.c:1646 */ break; case 93: @@ -3087,7 +3088,7 @@ yyreduce: { (yyval.blk) = gen_slice_index((yyvsp[-4].blk), gen_const(jv_null()), (yyvsp[-1].blk), INDEX); } -#line 3091 "parser.c" /* yacc.c:1646 */ +#line 3092 "parser.c" /* yacc.c:1646 */ break; case 94: @@ -3095,7 +3096,7 @@ yyreduce: { (yyval.blk) = gen_const((yyvsp[0].literal)); } -#line 3099 "parser.c" /* yacc.c:1646 */ +#line 3100 "parser.c" /* yacc.c:1646 */ break; case 95: @@ -3103,7 +3104,7 @@ yyreduce: { (yyval.blk) = (yyvsp[0].blk); } -#line 3107 "parser.c" /* yacc.c:1646 */ +#line 3108 "parser.c" /* yacc.c:1646 */ break; case 96: @@ -3111,7 +3112,7 @@ yyreduce: { (yyval.blk) = gen_format(gen_noop(), (yyvsp[0].literal)); } -#line 3115 "parser.c" /* yacc.c:1646 */ +#line 3116 "parser.c" /* yacc.c:1646 */ break; case 97: @@ -3119,7 +3120,7 @@ yyreduce: { (yyval.blk) = (yyvsp[-1].blk); } -#line 3123 "parser.c" /* yacc.c:1646 */ +#line 3124 "parser.c" /* yacc.c:1646 */ break; case 98: @@ -3127,7 +3128,7 @@ yyreduce: { (yyval.blk) = gen_collect((yyvsp[-1].blk)); } -#line 3131 "parser.c" /* yacc.c:1646 */ +#line 3132 "parser.c" /* yacc.c:1646 */ break; case 99: @@ -3135,7 +3136,7 @@ yyreduce: { (yyval.blk) = gen_const(jv_array()); } -#line 3139 "parser.c" /* yacc.c:1646 */ +#line 3140 "parser.c" /* yacc.c:1646 */ break; case 100: @@ -3147,7 +3148,7 @@ yyreduce: else (yyval.blk) = BLOCK(gen_subexp(gen_const(jv_object())), (yyvsp[-1].blk), gen_op_simple(POP)); } -#line 3151 "parser.c" /* yacc.c:1646 */ +#line 3152 "parser.c" /* yacc.c:1646 */ break; case 101: @@ -3156,7 +3157,7 @@ yyreduce: (yyval.blk) = gen_const(JV_OBJECT(jv_string("file"), jv_copy(locations->fname), jv_string("line"), jv_number(locfile_get_line(locations, (yyloc).start) + 1))); } -#line 3160 "parser.c" /* yacc.c:1646 */ +#line 3161 "parser.c" /* yacc.c:1646 */ break; case 102: @@ -3165,7 +3166,7 @@ yyreduce: (yyval.blk) = gen_location((yyloc), locations, gen_op_unbound(LOADV, jv_string_value((yyvsp[0].literal)))); jv_free((yyvsp[0].literal)); } -#line 3169 "parser.c" /* yacc.c:1646 */ +#line 3170 "parser.c" /* yacc.c:1646 */ break; case 103: @@ -3182,7 +3183,7 @@ yyreduce: (yyval.blk) = gen_location((yyloc), locations, gen_call(s, gen_noop())); jv_free((yyvsp[0].literal)); } -#line 3186 "parser.c" /* yacc.c:1646 */ +#line 3187 "parser.c" /* yacc.c:1646 */ break; case 104: @@ -3192,31 +3193,31 @@ yyreduce: (yyval.blk) = gen_location((yylsp[-3]), locations, (yyval.blk)); jv_free((yyvsp[-3].literal)); } -#line 3196 "parser.c" /* yacc.c:1646 */ +#line 3197 "parser.c" /* yacc.c:1646 */ break; case 105: #line 722 "parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_noop(); } -#line 3202 "parser.c" /* yacc.c:1646 */ +#line 3203 "parser.c" /* yacc.c:1646 */ break; case 106: #line 723 "parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_noop(); } -#line 3208 "parser.c" /* yacc.c:1646 */ +#line 3209 "parser.c" /* yacc.c:1646 */ break; case 107: #line 724 "parser.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[-3].blk); } -#line 3214 "parser.c" /* yacc.c:1646 */ +#line 3215 "parser.c" /* yacc.c:1646 */ break; case 108: #line 725 "parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_noop(); } -#line 3220 "parser.c" /* yacc.c:1646 */ +#line 3221 "parser.c" /* yacc.c:1646 */ break; case 109: @@ -3224,7 +3225,7 @@ yyreduce: { (yyval.blk) = (yyvsp[0].blk); } -#line 3228 "parser.c" /* yacc.c:1646 */ +#line 3229 "parser.c" /* yacc.c:1646 */ break; case 110: @@ -3232,7 +3233,7 @@ yyreduce: { (yyval.blk) = BLOCK((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 3236 "parser.c" /* yacc.c:1646 */ +#line 3237 "parser.c" /* yacc.c:1646 */ break; case 111: @@ -3240,7 +3241,7 @@ yyreduce: { (yyval.blk) = gen_lambda((yyvsp[0].blk)); } -#line 3244 "parser.c" /* yacc.c:1646 */ +#line 3245 "parser.c" /* yacc.c:1646 */ break; case 112: @@ -3249,7 +3250,7 @@ yyreduce: (yyval.blk) = gen_op_unbound(STOREV, jv_string_value((yyvsp[0].literal))); jv_free((yyvsp[0].literal)); } -#line 3253 "parser.c" /* yacc.c:1646 */ +#line 3254 "parser.c" /* yacc.c:1646 */ break; case 113: @@ -3257,7 +3258,7 @@ yyreduce: { (yyval.blk) = BLOCK((yyvsp[-1].blk), gen_op_simple(POP)); } -#line 3261 "parser.c" /* yacc.c:1646 */ +#line 3262 "parser.c" /* yacc.c:1646 */ break; case 114: @@ -3265,7 +3266,7 @@ yyreduce: { (yyval.blk) = BLOCK((yyvsp[-1].blk), gen_op_simple(POP)); } -#line 3269 "parser.c" /* yacc.c:1646 */ +#line 3270 "parser.c" /* yacc.c:1646 */ break; case 115: @@ -3273,7 +3274,7 @@ yyreduce: { (yyval.blk) = gen_array_matcher(gen_noop(), (yyvsp[0].blk)); } -#line 3277 "parser.c" /* yacc.c:1646 */ +#line 3278 "parser.c" /* yacc.c:1646 */ break; case 116: @@ -3281,7 +3282,7 @@ yyreduce: { (yyval.blk) = gen_array_matcher((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 3285 "parser.c" /* yacc.c:1646 */ +#line 3286 "parser.c" /* yacc.c:1646 */ break; case 117: @@ -3289,7 +3290,7 @@ yyreduce: { (yyval.blk) = (yyvsp[0].blk); } -#line 3293 "parser.c" /* yacc.c:1646 */ +#line 3294 "parser.c" /* yacc.c:1646 */ break; case 118: @@ -3297,15 +3298,15 @@ yyreduce: { (yyval.blk) = BLOCK((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 3301 "parser.c" /* yacc.c:1646 */ +#line 3302 "parser.c" /* yacc.c:1646 */ break; case 119: #line 769 "parser.y" /* yacc.c:1646 */ { - (yyval.blk) = gen_object_matcher(gen_const((yyvsp[-2].literal)), (yyvsp[0].blk)); + (yyval.blk) = gen_object_matcher(gen_const((yyvsp[0].literal)), gen_op_unbound(STOREV, jv_string_value((yyvsp[0].literal)))); } -#line 3309 "parser.c" /* yacc.c:1646 */ +#line 3310 "parser.c" /* yacc.c:1646 */ break; case 120: @@ -3313,253 +3314,270 @@ yyreduce: { (yyval.blk) = gen_object_matcher(gen_const((yyvsp[-2].literal)), (yyvsp[0].blk)); } -#line 3317 "parser.c" /* yacc.c:1646 */ +#line 3318 "parser.c" /* yacc.c:1646 */ break; case 121: #line 775 "parser.y" /* yacc.c:1646 */ { - (yyval.blk) = gen_object_matcher((yyvsp[-2].blk), (yyvsp[0].blk)); + (yyval.blk) = gen_object_matcher(gen_const((yyvsp[-2].literal)), (yyvsp[0].blk)); } -#line 3325 "parser.c" /* yacc.c:1646 */ +#line 3326 "parser.c" /* yacc.c:1646 */ break; case 122: #line 778 "parser.y" /* yacc.c:1646 */ { - (yyval.blk) = gen_object_matcher((yyvsp[-3].blk), (yyvsp[0].blk)); + (yyval.blk) = gen_object_matcher((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 3333 "parser.c" /* yacc.c:1646 */ +#line 3334 "parser.c" /* yacc.c:1646 */ break; case 123: -#line 783 "parser.y" /* yacc.c:1646 */ +#line 781 "parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("as"); + (yyval.blk) = gen_object_matcher((yyvsp[-3].blk), (yyvsp[0].blk)); } -#line 3341 "parser.c" /* yacc.c:1646 */ +#line 3342 "parser.c" /* yacc.c:1646 */ break; case 124: #line 786 "parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("def"); + (yyval.literal) = jv_string("as"); } -#line 3349 "parser.c" /* yacc.c:1646 */ +#line 3350 "parser.c" /* yacc.c:1646 */ break; case 125: #line 789 "parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("module"); + (yyval.literal) = jv_string("def"); } -#line 3357 "parser.c" /* yacc.c:1646 */ +#line 3358 "parser.c" /* yacc.c:1646 */ break; case 126: #line 792 "parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("import"); + (yyval.literal) = jv_string("module"); } -#line 3365 "parser.c" /* yacc.c:1646 */ +#line 3366 "parser.c" /* yacc.c:1646 */ break; case 127: #line 795 "parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("if"); + (yyval.literal) = jv_string("import"); } -#line 3373 "parser.c" /* yacc.c:1646 */ +#line 3374 "parser.c" /* yacc.c:1646 */ break; case 128: #line 798 "parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("then"); + (yyval.literal) = jv_string("if"); } -#line 3381 "parser.c" /* yacc.c:1646 */ +#line 3382 "parser.c" /* yacc.c:1646 */ break; case 129: #line 801 "parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("else"); + (yyval.literal) = jv_string("then"); } -#line 3389 "parser.c" /* yacc.c:1646 */ +#line 3390 "parser.c" /* yacc.c:1646 */ break; case 130: #line 804 "parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("elif"); + (yyval.literal) = jv_string("else"); } -#line 3397 "parser.c" /* yacc.c:1646 */ +#line 3398 "parser.c" /* yacc.c:1646 */ break; case 131: #line 807 "parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("reduce"); + (yyval.literal) = jv_string("elif"); } -#line 3405 "parser.c" /* yacc.c:1646 */ +#line 3406 "parser.c" /* yacc.c:1646 */ break; case 132: #line 810 "parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("foreach"); + (yyval.literal) = jv_string("reduce"); } -#line 3413 "parser.c" /* yacc.c:1646 */ +#line 3414 "parser.c" /* yacc.c:1646 */ break; case 133: #line 813 "parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("end"); + (yyval.literal) = jv_string("foreach"); } -#line 3421 "parser.c" /* yacc.c:1646 */ +#line 3422 "parser.c" /* yacc.c:1646 */ break; case 134: #line 816 "parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("and"); + (yyval.literal) = jv_string("end"); } -#line 3429 "parser.c" /* yacc.c:1646 */ +#line 3430 "parser.c" /* yacc.c:1646 */ break; case 135: #line 819 "parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("or"); + (yyval.literal) = jv_string("and"); } -#line 3437 "parser.c" /* yacc.c:1646 */ +#line 3438 "parser.c" /* yacc.c:1646 */ break; case 136: #line 822 "parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("try"); + (yyval.literal) = jv_string("or"); } -#line 3445 "parser.c" /* yacc.c:1646 */ +#line 3446 "parser.c" /* yacc.c:1646 */ break; case 137: #line 825 "parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("catch"); + (yyval.literal) = jv_string("try"); } -#line 3453 "parser.c" /* yacc.c:1646 */ +#line 3454 "parser.c" /* yacc.c:1646 */ break; case 138: #line 828 "parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("label"); + (yyval.literal) = jv_string("catch"); } -#line 3461 "parser.c" /* yacc.c:1646 */ +#line 3462 "parser.c" /* yacc.c:1646 */ break; case 139: #line 831 "parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("break"); + (yyval.literal) = jv_string("label"); } -#line 3469 "parser.c" /* yacc.c:1646 */ +#line 3470 "parser.c" /* yacc.c:1646 */ break; case 140: #line 834 "parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("__loc__"); + (yyval.literal) = jv_string("break"); } -#line 3477 "parser.c" /* yacc.c:1646 */ +#line 3478 "parser.c" /* yacc.c:1646 */ break; case 141: -#line 839 "parser.y" /* yacc.c:1646 */ - { - (yyval.blk)=gen_noop(); +#line 837 "parser.y" /* yacc.c:1646 */ + { + (yyval.literal) = jv_string("__loc__"); } -#line 3485 "parser.c" /* yacc.c:1646 */ +#line 3486 "parser.c" /* yacc.c:1646 */ break; case 142: #line 842 "parser.y" /* yacc.c:1646 */ - { (yyval.blk) = (yyvsp[0].blk); } -#line 3491 "parser.c" /* yacc.c:1646 */ + { + (yyval.blk)=gen_noop(); +} +#line 3494 "parser.c" /* yacc.c:1646 */ break; case 143: -#line 843 "parser.y" /* yacc.c:1646 */ - { (yyval.blk)=block_join((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 3497 "parser.c" /* yacc.c:1646 */ +#line 845 "parser.y" /* yacc.c:1646 */ + { (yyval.blk) = (yyvsp[0].blk); } +#line 3500 "parser.c" /* yacc.c:1646 */ break; case 144: -#line 844 "parser.y" /* yacc.c:1646 */ - { (yyval.blk) = (yyvsp[0].blk); } -#line 3503 "parser.c" /* yacc.c:1646 */ +#line 846 "parser.y" /* yacc.c:1646 */ + { (yyval.blk)=block_join((yyvsp[-2].blk), (yyvsp[0].blk)); } +#line 3506 "parser.c" /* yacc.c:1646 */ break; case 145: #line 847 "parser.y" /* yacc.c:1646 */ - { - (yyval.blk) = gen_dictpair(gen_const((yyvsp[-2].literal)), (yyvsp[0].blk)); - } -#line 3511 "parser.c" /* yacc.c:1646 */ + { (yyval.blk) = (yyvsp[0].blk); } +#line 3512 "parser.c" /* yacc.c:1646 */ break; case 146: #line 850 "parser.y" /* yacc.c:1646 */ - { + { (yyval.blk) = gen_dictpair(gen_const((yyvsp[-2].literal)), (yyvsp[0].blk)); - } -#line 3519 "parser.c" /* yacc.c:1646 */ + } +#line 3520 "parser.c" /* yacc.c:1646 */ break; case 147: #line 853 "parser.y" /* yacc.c:1646 */ { - (yyval.blk) = gen_dictpair((yyvsp[-2].blk), (yyvsp[0].blk)); + (yyval.blk) = gen_dictpair(gen_const((yyvsp[-2].literal)), (yyvsp[0].blk)); } -#line 3527 "parser.c" /* yacc.c:1646 */ +#line 3528 "parser.c" /* yacc.c:1646 */ break; case 148: #line 856 "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))); + (yyval.blk) = gen_dictpair((yyvsp[-2].blk), (yyvsp[0].blk)); } #line 3536 "parser.c" /* yacc.c:1646 */ break; case 149: -#line 860 "parser.y" /* yacc.c:1646 */ +#line 859 "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)))); + (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 3545 "parser.c" /* yacc.c:1646 */ break; case 150: -#line 864 "parser.y" /* yacc.c:1646 */ +#line 863 "parser.y" /* yacc.c:1646 */ { - (yyval.blk) = gen_dictpair((yyvsp[-3].blk), (yyvsp[0].blk)); + (yyval.blk) = gen_dictpair(gen_const((yyvsp[0].literal)), + gen_location((yyloc), locations, gen_op_unbound(LOADV, jv_string_value((yyvsp[0].literal))))); } -#line 3553 "parser.c" /* yacc.c:1646 */ +#line 3554 "parser.c" /* yacc.c:1646 */ break; case 151: #line 867 "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 3563 "parser.c" /* yacc.c:1646 */ + break; + + case 152: +#line 871 "parser.y" /* yacc.c:1646 */ + { + (yyval.blk) = gen_dictpair((yyvsp[-3].blk), (yyvsp[0].blk)); + } +#line 3571 "parser.c" /* yacc.c:1646 */ + break; + + case 153: +#line 874 "parser.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[0].blk); } -#line 3559 "parser.c" /* yacc.c:1646 */ +#line 3577 "parser.c" /* yacc.c:1646 */ break; -#line 3563 "parser.c" /* yacc.c:1646 */ +#line 3581 "parser.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -3794,7 +3812,7 @@ yyreturn: #endif return yyresult; } -#line 868 "parser.y" /* yacc.c:1906 */ +#line 875 "parser.y" /* yacc.c:1906 */ int jq_parse(struct locfile* locations, block* answer) { diff --git a/parser.y b/parser.y index 494cfef..ab8854f 100644 --- a/parser.y +++ b/parser.y @@ -766,6 +766,9 @@ ObjPats ',' ObjPat { } ObjPat: +'$' IDENT { + $$ = gen_object_matcher(gen_const($2), gen_op_unbound(STOREV, jv_string_value($2))); +} | IDENT ':' Pattern { $$ = gen_object_matcher(gen_const($1), $3); } | @@ -857,6 +860,10 @@ IDENT ':' ExpD { $$ = gen_dictpair($1, BLOCK(gen_op_simple(POP), gen_op_simple(DUP2), gen_op_simple(DUP2), gen_op_simple(INDEX))); } +| '$' IDENT { + $$ = gen_dictpair(gen_const($2), + gen_location(@$, locations, gen_op_unbound(LOADV, jv_string_value($2)))); + } | IDENT { $$ = gen_dictpair(gen_const(jv_copy($1)), gen_index(gen_noop(), gen_const($1)));