diff --git a/docs/content/3.manual/manual.yml b/docs/content/3.manual/manual.yml index bfb17f48f4..e6d4e57a1f 100644 --- a/docs/content/3.manual/manual.yml +++ b/docs/content/3.manual/manual.yml @@ -549,13 +549,16 @@ sections: dictionaries or hashes), as in: `{"a": 42, "b": 17}`. If the keys are "identifier-like", then the quotes can be left - off, as in `{a:42, b:17}`. Keys generated by expressions need - to be parenthesized, e.g., `{("a"+"b"):59}`. + off, as in `{a:42, b:17}`. Variable references as key + expressions use the value of the variable as the key. Key + expressions other than constant literals, identifiers, or + variable references, need to be parenthesized, e.g., + `{("a"+"b"):59}`. - The value can be any expression (although you may need to - wrap it in parentheses if it's a complicated one), which gets - applied to the {} expression's input (remember, all filters - have an input and an output). + The value can be any expression (although you may need to wrap + it in parentheses if, for example, it contains colons), which + gets applied to the {} expression's input (remember, all + filters have an input and an output). {foo: .bar} @@ -593,6 +596,16 @@ sections: {"stedolan": ["JQ Primer", "More JQ"]} + Variable references as keys use the value of the variable as + the key. Without a value then the variable's name becomes the + key and its value becomes the value, + + "f o o" as $foo | "b a r" as $bar | {$foo, $bar:$foo} + + produces + + {"f o o":"f o o","b a r":"f o o"} + examples: - program: '{user, title: .titles[]}' input: '{"user":"stedolan","titles":["JQ Primer", "More JQ"]}' diff --git a/src/parser.c b/src/parser.c index 309735039e..3b8cc7aef2 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 1972 +#define YYLAST 1964 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 69 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 30 /* YYNRULES -- Number of rules. */ -#define YYNRULES 162 +#define YYNRULES 163 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 313 +#define YYNSTATES 315 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ @@ -754,7 +754,7 @@ static const yytype_uint16 yyrline[] = 837, 845, 851, 854, 857, 860, 863, 866, 869, 872, 875, 878, 881, 884, 887, 890, 893, 896, 899, 902, 905, 910, 913, 914, 915, 918, 921, 924, 927, 931, - 935, 939, 947 + 935, 939, 943, 951 }; #endif @@ -797,10 +797,10 @@ static const yytype_uint16 yytoknum[] = }; # endif -#define YYPACT_NINF -158 +#define YYPACT_NINF -160 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-158))) + (!!((Yystate) == (-160))) #define YYTABLE_NINF -152 @@ -811,38 +811,38 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - 21, 772, 43, 63, -6, 12, -158, 80, -158, 122, - 772, 193, 193, 772, 74, 5, -158, 772, 522, 10, - 279, 455, 152, 1290, 772, -158, 8, -158, 3, 3, - 772, 63, 680, 772, -158, -158, 67, 1646, 58, 130, - 106, 133, -158, 135, -158, 20, 83, 1120, -158, -158, - -158, 140, 80, 93, 86, -158, 917, -23, 91, -158, - -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, - -158, -158, -158, -158, -158, -158, -158, -158, 772, 151, - 94, 97, 95, 113, 772, 772, 772, 772, 772, 772, - 772, 772, 772, 772, 772, 772, 772, 772, 772, 772, - 772, 772, 772, 772, 772, 772, 772, 772, -158, -158, - 1814, 104, -7, 3, 388, 171, -158, -158, -158, 1814, - 772, -158, -158, 1341, 1814, 59, -158, -158, 7, 772, - 587, -7, -7, 652, 117, -158, 4, -158, -158, -158, - -158, -158, -158, 345, -3, -158, -3, 1154, -158, -3, - -3, -158, 345, 1882, 370, 370, 1848, 436, 1914, 1882, - 1882, 1882, 1882, 1882, 1882, 370, 370, 1814, 1848, 1882, - 370, 370, 20, 20, 129, 129, 129, -158, 184, -7, - 834, 149, 143, 156, 134, 136, 772, 145, 867, 47, - -158, -158, 772, -158, 23, -158, 200, 72, -158, 1392, - -158, 1596, 146, 150, -158, -158, 772, -158, 772, -158, - -11, -158, -3, 162, 51, 162, 148, 162, 162, -158, - -158, -158, -24, 153, 154, 772, 209, 155, -15, -158, - 158, -7, 772, -158, -158, 967, -158, 744, 157, -158, - 215, -158, -158, -158, 7, 159, -158, 772, 772, -158, - 772, 772, 1814, 1680, -158, -3, -3, -7, -158, -7, - -7, 1188, 163, -7, 834, -158, -7, 185, 1814, 169, - 170, 1017, -158, -158, -158, 772, 1730, 1780, 1443, 1494, - -158, 162, 162, -158, -158, -158, 166, -7, -158, -158, - -158, -158, -158, 172, 1545, -158, 772, 772, 772, -7, - -158, -158, -158, 1596, 1222, 1067, -158, -158, -158, 772, - -158, 1256, -158 + 29, 764, 3, 59, -7, -10, -160, 16, -160, 57, + 764, 432, 432, 764, 18, 1, -160, 764, 514, 2, + 281, 174, 347, 1282, 764, -160, 5, -160, 4, 4, + 764, 59, 672, 764, -160, -160, -22, 1638, 9, 51, + 43, 74, -160, 75, -160, 66, 49, 1112, -160, -160, + -160, 113, 16, 72, 65, -160, 909, -21, 70, -160, + -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, + -160, -160, -160, -160, -160, -160, -160, -160, 764, 130, + 73, 76, 79, 95, 764, 764, 764, 764, 764, 764, + 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, + 764, 764, 764, 764, 764, 764, 764, 764, -160, -160, + 1806, 90, -13, 4, 447, 137, -160, -160, -160, 1806, + 764, -160, -160, 1333, 1806, -46, -160, -160, 19, 764, + 579, -13, -13, 644, 104, -160, 17, -160, -160, -160, + -160, -160, -160, 404, 213, -160, 213, 1146, 89, 213, + 213, -160, 404, 1874, 116, 116, 1840, 342, 1906, 1874, + 1874, 1874, 1874, 1874, 1874, 116, 116, 1806, 1840, 1874, + 116, 116, 66, 66, 98, 98, 98, -160, 149, -13, + 826, 117, 112, 120, 103, 96, 764, 105, 859, 20, + -160, -160, 764, -160, 23, -160, 160, 64, -160, 1384, + -160, 1588, 123, 124, -160, -160, 764, -160, 764, -160, + -12, -160, 213, 126, 53, 126, 127, 213, 126, 126, + -160, -160, -160, -23, 131, 132, 764, 172, 135, -18, + -160, 136, -13, 764, -160, -160, 959, -160, 736, 129, + -160, 185, -160, -160, -160, 19, 139, -160, 764, 764, + -160, 764, 764, 1806, 1672, -160, 213, 213, 126, -13, + -160, -13, -13, 1180, 143, -13, 826, -160, -13, 153, + 1806, 142, 151, 1009, -160, -160, -160, 764, 1722, 1772, + 1435, 1486, -160, 126, 126, -160, -160, -160, 147, -13, + -160, -160, -160, -160, -160, 154, 1537, -160, 764, 764, + 764, -13, -160, -160, -160, 1588, 1214, 1059, -160, -160, + -160, 764, -160, 1248, -160 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -855,7 +855,7 @@ static const yytype_uint8 yydefact[] = 0, 0, 0, 0, 0, 97, 47, 1, 0, 0, 8, 6, 0, 0, 77, 62, 0, 0, 0, 0, 18, 0, 75, 0, 64, 32, 0, 0, 104, 103, - 84, 0, 0, 83, 0, 101, 0, 0, 160, 132, + 84, 0, 0, 83, 0, 101, 0, 0, 161, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 0, 0, 158, 0, 0, 152, 0, 0, 0, 0, 0, 0, @@ -864,40 +864,40 @@ static const yytype_uint8 yydefact[] = 10, 80, 0, 0, 0, 0, 53, 52, 3, 2, 8, 7, 48, 0, 113, 0, 111, 64, 0, 0, 0, 0, 0, 0, 0, 74, 0, 107, 99, 85, - 79, 108, 100, 0, 0, 110, 0, 0, 159, 0, + 79, 108, 100, 0, 0, 110, 0, 0, 160, 0, 0, 102, 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, 76, 0, 0, 0, 0, 0, 117, 82, 0, 0, 89, 0, 0, 9, 49, 0, 106, 0, 59, 0, 0, 56, 0, 16, 0, 0, 0, 19, 17, 0, 65, 0, 61, - 0, 154, 0, 162, 71, 155, 0, 157, 156, 153, - 118, 121, 0, 0, 0, 0, 0, 0, 0, 123, - 0, 0, 0, 78, 109, 0, 88, 0, 87, 51, - 0, 112, 63, 58, 0, 0, 54, 0, 0, 15, - 0, 0, 20, 0, 70, 0, 0, 0, 119, 0, - 0, 0, 125, 0, 0, 120, 0, 116, 11, 95, - 94, 0, 86, 50, 57, 0, 0, 0, 0, 0, - 66, 69, 161, 122, 131, 127, 0, 0, 129, 124, - 128, 92, 91, 93, 0, 68, 0, 0, 0, 0, - 126, 90, 55, 0, 0, 0, 130, 67, 12, 0, - 14, 0, 13 + 0, 154, 0, 163, 71, 155, 0, 0, 157, 156, + 153, 118, 121, 0, 0, 0, 0, 0, 0, 0, + 123, 0, 0, 0, 78, 109, 0, 88, 0, 87, + 51, 0, 112, 63, 58, 0, 0, 54, 0, 0, + 15, 0, 0, 20, 0, 70, 0, 0, 159, 0, + 119, 0, 0, 0, 125, 0, 0, 120, 0, 116, + 11, 95, 94, 0, 86, 50, 57, 0, 0, 0, + 0, 0, 66, 69, 162, 122, 131, 127, 0, 0, + 129, 124, 128, 92, 91, 93, 0, 68, 0, 0, + 0, 0, 126, 90, 55, 0, 0, 0, 130, 67, + 12, 0, 14, 0, 13 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -158, -158, -158, 201, 115, -1, -158, -158, 204, -8, - -158, -5, 6, -158, -158, 110, -65, -131, -4, -158, - 48, -158, 16, -149, -158, -158, -22, -157, -104, -158 + -160, -160, -160, 180, 94, -1, -160, -160, 187, -11, + -160, -19, 6, -160, -160, 97, -83, -145, -4, -160, + 31, -160, -92, -124, -160, -160, -38, -159, -106, -160 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 2, 3, 30, 118, 110, 31, 32, 115, 24, - 197, 198, 25, 44, 127, 136, 249, 213, 26, 125, - 126, 181, 182, 183, 222, 228, 229, 81, 82, 83 + 197, 198, 25, 44, 127, 136, 250, 213, 26, 125, + 126, 181, 182, 183, 223, 229, 230, 81, 82, 83 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -905,323 +905,328 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 23, 4, 5, 6, 7, 8, 42, 38, 39, 37, - 52, 195, 40, 111, 48, 215, 45, 47, 217, 218, - 56, 112, 120, 230, 257, 143, 53, 15, 80, 119, - 221, 123, 124, 264, 116, 116, 1, 143, 16, 211, - 144, 49, 258, 27, 16, 145, 207, 208, 219, 209, - 212, 239, 144, 265, 33, 178, 111, 18, 179, 19, - 180, 20, 21, 111, 22, 207, 208, 43, 242, 196, - 34, 131, 113, 114, 105, 106, 107, 147, 108, 28, - 29, 254, 267, 153, 154, 155, 156, 157, 158, 159, + 23, 215, 42, 27, 218, 219, 48, 38, 39, 37, + 111, 52, 40, 192, 111, 193, 45, 47, 112, 120, + 56, 231, 131, 195, 240, 259, 53, 143, 80, 119, + 266, 123, 124, 49, 116, 116, 143, 211, 128, 202, + 203, 129, 144, 260, 1, 16, 220, 145, 34, 178, + 267, 144, 179, 33, 180, 222, 111, 35, 111, 207, + 208, 36, 209, 43, 132, 207, 208, 255, 243, 113, + 114, 133, 258, 113, 114, 28, 29, 147, 134, 135, + 41, 196, 241, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 230, 283, 240, - 284, 285, 120, 188, 288, 113, 114, 290, 192, 184, - 193, 35, 113, 114, 281, 282, 36, 128, 199, 201, - 129, 244, 205, 245, 133, 111, 41, 134, 300, 135, - 214, 139, 214, 132, 137, 214, 214, 202, 203, 80, - 306, 140, 141, 57, 146, 148, 58, 149, 80, 52, - 150, 152, 177, 151, 206, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 189, 235, 227, 108, 220, 231, - 232, 124, 233, 16, 113, 114, -115, 4, 5, 6, - 7, 8, 234, 236, 243, 252, 250, 253, 214, 255, - 251, 256, 78, 262, 79, 272, 259, 260, 263, 273, - -151, 266, 275, 15, 261, -114, 287, 291, 292, 299, - 301, 268, 121, 117, 16, 190, 271, 194, 307, 274, - 241, 0, 289, 0, 0, 0, 276, 277, 0, 278, - 279, 214, 214, 18, 0, 19, 0, 20, 21, 0, - 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 227, 0, 0, 0, 294, 0, 0, 0, 0, -72, - 50, 0, 0, 51, -72, 0, 52, 0, -72, -72, - -72, -72, -72, 0, 0, 303, 304, 305, -72, -72, - -72, 0, 0, -72, -72, -72, 0, -72, 311, 0, - 0, -72, -72, -72, -72, -72, -72, -72, -72, 0, - 16, 0, 0, -72, 0, 0, -72, -72, -72, -72, - -72, -72, -72, -72, -72, -72, 0, -72, -72, 0, - -72, 0, -72, -72, -72, -72, 210, -72, 0, 58, - 0, 0, 52, 0, 0, 0, 0, 0, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 0, 0, 0, - -152, -152, 0, 0, 0, 0, 16, 0, 0, 185, - 0, 0, 4, 5, 6, 7, 8, 0, 0, 0, - 0, 0, 9, 0, 0, 78, 10, 79, -152, -152, - 11, 12, 0, -151, 0, 13, 0, 14, 15, 0, - -152, -152, 103, 104, 105, 106, 107, 0, 108, 16, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 17, 0, 0, 0, 0, 85, 86, 18, 0, - 19, 186, 20, 21, 187, 22, 54, 0, 0, 4, - 5, 6, 7, 8, 0, 0, 0, 0, 0, 9, - 0, 0, 0, 10, 96, 97, 0, 11, 12, 0, - 0, 0, 13, 0, 14, 15, 101, 102, 103, 104, - 105, 106, 107, 0, 108, 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, 55, 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, 0, 17, 0, 0, 0, 0, - 0, 0, 18, 0, 19, 0, 20, 21, 200, 22, + 170, 171, 172, 173, 174, 175, 176, 231, 269, 120, + 137, 283, 284, 188, 139, 113, 114, 113, 114, 184, + 105, 106, 107, 245, 108, 246, -152, -152, 199, 201, + 140, 141, 205, 146, 148, 285, 149, 286, 287, 150, + 214, 290, 214, 152, 292, 214, 214, 151, 177, 80, + 189, 206, 217, 221, -152, -152, 108, 232, 80, 233, + -115, 234, 235, 237, 244, 302, -152, -152, 103, 104, + 105, 106, 107, 256, 108, 54, 264, 308, 4, 5, + 6, 7, 8, 251, 252, 236, 228, 274, 9, 275, + 257, 124, 10, -114, 261, 262, 11, 12, 265, 268, + 293, 13, 277, 14, 15, 253, 289, 254, 214, 294, + 301, 121, 303, 214, 190, 16, 117, 4, 5, 6, + 7, 8, 309, 242, 194, 263, 276, 17, 291, 0, + 0, 0, 270, 0, 18, 0, 19, 273, 20, 21, + 55, 22, 0, 15, 0, 0, 0, 278, 279, 0, + 280, 281, 214, 214, 16, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 212, 0, 0, 0, + 0, 0, 228, 18, 0, 19, 296, 20, 21, 0, + 22, -72, 50, 0, 0, 51, -72, 0, 52, 0, + -72, -72, -72, -72, -72, 0, 0, 305, 306, 307, + -72, -72, -72, 0, 0, -72, -72, -72, 0, -72, + 313, 0, 0, -72, -72, -72, -72, -72, -72, -72, + -72, 0, 16, 0, 0, -72, 0, 0, -72, -72, + -72, -72, -72, -72, -72, -72, -72, -72, 0, -72, + -72, 0, -72, 0, -72, -72, -72, -72, 57, -72, + 0, 58, 85, 86, 52, 0, 0, 0, 0, 0, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 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, 210, 0, 78, 58, 79, + 0, 52, 0, 0, 0, -151, 0, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 4, 5, 6, 7, + 8, 0, 0, 0, 0, 16, 0, 0, 185, 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, 9, 15, 0, 78, 10, 79, 0, 0, 11, + 12, 0, -151, 16, 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, + 0, 0, 18, 0, 19, 0, 20, 21, 0, 22, 17, 0, 0, 0, 0, 0, 0, 18, 0, 19, - 0, 20, 21, 204, 22, 0, 4, 5, 6, 7, - 8, 0, 0, 0, 0, 0, 9, 0, 0, 0, - 10, 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, + 186, 20, 21, 187, 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, 0, 17, 0, 0, + 0, 0, 0, 0, 18, 0, 19, 0, 20, 21, + 200, 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, 204, 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, - 270, 22, 0, 16, 0, 0, 0, 0, 0, 0, + 0, 22, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, - 0, 0, 18, 0, 19, 223, 20, 21, 224, 22, - 0, 52, 0, 0, 0, 0, 0, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 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, 225, 0, 226, 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, - 237, 0, 0, 238, 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, 269, 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, 293, 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, 309, 0, 310, 84, - 85, 86, 87, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 88, 89, 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, 272, 22, 0, 16, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, + 0, 0, 0, 0, 18, 0, 19, 224, 20, 21, + 225, 22, 0, 52, 0, 0, 0, 0, 0, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 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, 226, 0, 227, 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, 238, 0, 0, 239, 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, 271, 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, 295, 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, 0, + 312, 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, + 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, 216, 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, 92, 93, + 89, 288, 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, 216, 0, 0, 0, 0, + 107, 0, 108, 88, 89, 310, 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, 286, - 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, 308, 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, 312, 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, 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, - 191, 84, 85, 86, 87, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 88, 89, 0, + 103, 104, 105, 106, 107, 0, 108, 88, 89, 314, 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, 246, 84, 85, 86, 87, 0, 0, 0, 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, 297, 84, 85, 86, 87, 0, 0, 0, + 0, 108, 191, 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, 298, 84, 85, 86, 87, 0, 0, + 107, 0, 108, 247, 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, 247, 248, 0, 0, + 106, 107, 0, 108, 299, 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, + 105, 106, 107, 0, 108, 300, 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, 304, 84, 85, 86, + 87, 0, 0, 0, 0, 0, 0, 0, 248, 249, + 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, + 0, 0, 0, 0, 90, 91, 92, 93, 94, 95, + 96, 97, 0, 0, 0, 0, 282, 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, 297, 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, 298, 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, 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, 280, 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, 295, 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, 296, - 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, + 0, 0, 0, -152, 85, 86, 0, 0, 0, 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, 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, -152, 85, 86, 0, 0, 0, 100, 101, 102, - 103, 104, 105, 106, 107, 0, 108, 88, 89, 0, - 0, 0, 0, 0, -152, -152, -152, -152, -152, -152, - 96, 97, 0, 0, 85, 86, 0, 0, 0, 0, - 0, -152, 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, 0, 108 + 89, 0, 0, 0, 0, 0, -152, -152, -152, -152, + -152, -152, 96, 97, 0, 0, 85, 86, 0, 0, + 0, 0, 0, -152, 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, 0, 108 }; static const yytype_int16 yycheck[] = { - 1, 4, 5, 6, 7, 8, 1, 11, 12, 10, - 7, 4, 13, 5, 4, 146, 17, 18, 149, 150, - 21, 13, 30, 180, 48, 48, 20, 30, 22, 30, - 179, 32, 33, 48, 28, 29, 15, 48, 41, 143, - 63, 31, 66, 0, 41, 68, 42, 43, 152, 45, - 53, 4, 63, 68, 60, 62, 5, 60, 65, 62, - 67, 64, 65, 5, 67, 42, 43, 62, 45, 62, - 58, 13, 64, 65, 54, 55, 56, 78, 58, 16, - 17, 212, 231, 84, 85, 86, 87, 88, 89, 90, + 1, 146, 1, 0, 149, 150, 4, 11, 12, 10, + 5, 7, 13, 59, 5, 61, 17, 18, 13, 30, + 21, 180, 13, 4, 4, 48, 20, 48, 22, 30, + 48, 32, 33, 31, 28, 29, 48, 143, 60, 131, + 132, 63, 63, 66, 15, 41, 152, 68, 58, 62, + 68, 63, 65, 60, 67, 179, 5, 41, 5, 42, + 43, 4, 45, 62, 13, 42, 43, 212, 45, 64, + 65, 28, 217, 64, 65, 16, 17, 78, 4, 4, + 62, 62, 62, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 264, 257, 62, - 259, 260, 120, 114, 263, 64, 65, 266, 59, 113, - 61, 41, 64, 65, 255, 256, 4, 60, 129, 130, - 63, 59, 133, 61, 28, 5, 62, 4, 287, 4, - 144, 1, 146, 13, 61, 149, 150, 131, 132, 143, - 299, 58, 66, 1, 63, 4, 4, 63, 152, 7, - 63, 48, 58, 68, 47, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 13, 186, 180, 58, 4, 40, - 47, 192, 58, 41, 64, 65, 40, 4, 5, 6, - 7, 8, 66, 58, 4, 206, 60, 208, 212, 47, - 60, 63, 60, 4, 62, 58, 63, 63, 63, 4, - 68, 63, 63, 30, 225, 40, 63, 58, 58, 63, - 58, 232, 31, 29, 41, 120, 237, 127, 303, 244, - 192, -1, 264, -1, -1, -1, 247, 248, -1, 250, - 251, 255, 256, 60, -1, 62, -1, 64, 65, -1, - 67, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 264, -1, -1, -1, 275, -1, -1, -1, -1, 0, - 1, -1, -1, 4, 5, -1, 7, -1, 9, 10, - 11, 12, 13, -1, -1, 296, 297, 298, 19, 20, - 21, -1, -1, 24, 25, 26, -1, 28, 309, -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, - -1, -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, - 10, 11, -1, -1, -1, -1, 41, -1, -1, 1, - -1, -1, 4, 5, 6, 7, 8, -1, -1, -1, - -1, -1, 14, -1, -1, 60, 18, 62, 38, 39, - 22, 23, -1, 68, -1, 27, -1, 29, 30, -1, - 50, 51, 52, 53, 54, 55, 56, -1, 58, 41, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 53, -1, -1, -1, -1, 10, 11, 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, 38, 39, -1, 22, 23, -1, - -1, -1, 27, -1, 29, 30, 50, 51, 52, 53, - 54, 55, 56, -1, 58, -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, -1, 53, -1, -1, -1, -1, - -1, -1, 60, -1, 62, -1, 64, 65, 1, 67, + 101, 102, 103, 104, 105, 106, 107, 266, 232, 120, + 61, 256, 257, 114, 1, 64, 65, 64, 65, 113, + 54, 55, 56, 59, 58, 61, 10, 11, 129, 130, + 58, 66, 133, 63, 4, 259, 63, 261, 262, 63, + 144, 265, 146, 48, 268, 149, 150, 68, 58, 143, + 13, 47, 63, 4, 38, 39, 58, 40, 152, 47, + 40, 58, 66, 58, 4, 289, 50, 51, 52, 53, + 54, 55, 56, 47, 58, 1, 4, 301, 4, 5, + 6, 7, 8, 60, 60, 186, 180, 58, 14, 4, + 63, 192, 18, 40, 63, 63, 22, 23, 63, 63, + 58, 27, 63, 29, 30, 206, 63, 208, 212, 58, + 63, 31, 58, 217, 120, 41, 29, 4, 5, 6, + 7, 8, 305, 192, 127, 226, 245, 53, 266, -1, + -1, -1, 233, -1, 60, -1, 62, 238, 64, 65, + 66, 67, -1, 30, -1, -1, -1, 248, 249, -1, + 251, 252, 256, 257, 41, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 53, -1, -1, -1, + -1, -1, 266, 60, -1, 62, 277, 64, 65, -1, + 67, 0, 1, -1, -1, 4, 5, -1, 7, -1, + 9, 10, 11, 12, 13, -1, -1, 298, 299, 300, + 19, 20, 21, -1, -1, 24, 25, 26, -1, 28, + 311, -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, -1, -1, -1, 18, -1, -1, -1, 22, - 23, -1, -1, -1, 27, -1, 29, 30, -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, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 60, -1, 62, -1, 64, 65, -1, 67, 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, + 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, + 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, 53, -1, 27, -1, 29, 30, -1, 60, -1, 62, -1, 64, 65, - 66, 67, -1, 41, -1, -1, -1, -1, -1, -1, + -1, 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, 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, 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, + 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, 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, @@ -1233,23 +1238,6 @@ 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, 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, 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, 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, @@ -1268,43 +1256,53 @@ static const yytype_int16 yycheck[] = 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, + -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, + 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, -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, + -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, 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, + -1, -1, -1, 9, 10, 11, -1, -1, -1, 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, - 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, 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, 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, -1, 58 + 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, -1, 58 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1332,17 +1330,17 @@ static const yytype_uint8 yystos[] = 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, 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, 59, 61, 59, 20, 21, 85, - 60, 60, 74, 74, 86, 47, 63, 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 + 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, 59, 61, 59, 20, 21, + 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 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ @@ -1364,7 +1362,7 @@ static const yytype_uint8 yyr1[] = 95, 95, 96, 96, 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, 98 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -1385,8 +1383,8 @@ static const yytype_uint8 yyr2[] = 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, 1, - 1, 0, 1, 3, 3, 3, 3, 3, 1, 2, - 1, 5, 3 + 1, 0, 1, 3, 3, 3, 3, 3, 1, 4, + 2, 1, 5, 3 }; @@ -1889,187 +1887,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 1893 "src/parser.c" /* yacc.c:1257 */ +#line 1891 "src/parser.c" /* yacc.c:1257 */ break; case 5: /* FIELD */ #line 36 "src/parser.y" /* yacc.c:1257 */ { jv_free(((*yyvaluep).literal)); } -#line 1899 "src/parser.c" /* yacc.c:1257 */ +#line 1897 "src/parser.c" /* yacc.c:1257 */ break; case 6: /* LITERAL */ #line 36 "src/parser.y" /* yacc.c:1257 */ { jv_free(((*yyvaluep).literal)); } -#line 1905 "src/parser.c" /* yacc.c:1257 */ +#line 1903 "src/parser.c" /* yacc.c:1257 */ break; case 7: /* FORMAT */ #line 36 "src/parser.y" /* yacc.c:1257 */ { jv_free(((*yyvaluep).literal)); } -#line 1911 "src/parser.c" /* yacc.c:1257 */ +#line 1909 "src/parser.c" /* yacc.c:1257 */ break; case 42: /* QQSTRING_TEXT */ #line 36 "src/parser.y" /* yacc.c:1257 */ { jv_free(((*yyvaluep).literal)); } -#line 1917 "src/parser.c" /* yacc.c:1257 */ +#line 1915 "src/parser.c" /* yacc.c:1257 */ break; case 71: /* Module */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1923 "src/parser.c" /* yacc.c:1257 */ +#line 1921 "src/parser.c" /* yacc.c:1257 */ break; case 72: /* Imports */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1929 "src/parser.c" /* yacc.c:1257 */ +#line 1927 "src/parser.c" /* yacc.c:1257 */ break; case 73: /* FuncDefs */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1935 "src/parser.c" /* yacc.c:1257 */ +#line 1933 "src/parser.c" /* yacc.c:1257 */ break; case 74: /* Exp */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1941 "src/parser.c" /* yacc.c:1257 */ +#line 1939 "src/parser.c" /* yacc.c:1257 */ break; case 75: /* Import */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1947 "src/parser.c" /* yacc.c:1257 */ +#line 1945 "src/parser.c" /* yacc.c:1257 */ break; case 76: /* ImportWhat */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1953 "src/parser.c" /* yacc.c:1257 */ +#line 1951 "src/parser.c" /* yacc.c:1257 */ break; case 77: /* ImportFrom */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1959 "src/parser.c" /* yacc.c:1257 */ +#line 1957 "src/parser.c" /* yacc.c:1257 */ break; case 78: /* FuncDef */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1965 "src/parser.c" /* yacc.c:1257 */ +#line 1963 "src/parser.c" /* yacc.c:1257 */ break; case 79: /* Params */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1971 "src/parser.c" /* yacc.c:1257 */ +#line 1969 "src/parser.c" /* yacc.c:1257 */ break; case 80: /* Param */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1977 "src/parser.c" /* yacc.c:1257 */ +#line 1975 "src/parser.c" /* yacc.c:1257 */ break; case 81: /* String */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1983 "src/parser.c" /* yacc.c:1257 */ +#line 1981 "src/parser.c" /* yacc.c:1257 */ break; case 84: /* QQString */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1989 "src/parser.c" /* yacc.c:1257 */ +#line 1987 "src/parser.c" /* yacc.c:1257 */ break; case 85: /* ElseBody */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1995 "src/parser.c" /* yacc.c:1257 */ +#line 1993 "src/parser.c" /* yacc.c:1257 */ break; case 86: /* ExpD */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 2001 "src/parser.c" /* yacc.c:1257 */ +#line 1999 "src/parser.c" /* yacc.c:1257 */ break; case 87: /* Term */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 2007 "src/parser.c" /* yacc.c:1257 */ +#line 2005 "src/parser.c" /* yacc.c:1257 */ break; case 88: /* Args */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 2013 "src/parser.c" /* yacc.c:1257 */ +#line 2011 "src/parser.c" /* yacc.c:1257 */ break; case 89: /* Arg */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 2019 "src/parser.c" /* yacc.c:1257 */ +#line 2017 "src/parser.c" /* yacc.c:1257 */ break; case 90: /* RepPatterns */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 2025 "src/parser.c" /* yacc.c:1257 */ +#line 2023 "src/parser.c" /* yacc.c:1257 */ break; case 91: /* Patterns */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 2031 "src/parser.c" /* yacc.c:1257 */ +#line 2029 "src/parser.c" /* yacc.c:1257 */ break; case 92: /* Pattern */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 2037 "src/parser.c" /* yacc.c:1257 */ +#line 2035 "src/parser.c" /* yacc.c:1257 */ break; case 93: /* ArrayPats */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 2043 "src/parser.c" /* yacc.c:1257 */ +#line 2041 "src/parser.c" /* yacc.c:1257 */ break; case 94: /* ObjPats */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 2049 "src/parser.c" /* yacc.c:1257 */ +#line 2047 "src/parser.c" /* yacc.c:1257 */ break; case 95: /* ObjPat */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 2055 "src/parser.c" /* yacc.c:1257 */ +#line 2053 "src/parser.c" /* yacc.c:1257 */ break; case 96: /* Keyword */ #line 36 "src/parser.y" /* yacc.c:1257 */ { jv_free(((*yyvaluep).literal)); } -#line 2061 "src/parser.c" /* yacc.c:1257 */ +#line 2059 "src/parser.c" /* yacc.c:1257 */ break; case 97: /* MkDict */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 2067 "src/parser.c" /* yacc.c:1257 */ +#line 2065 "src/parser.c" /* yacc.c:1257 */ break; case 98: /* MkDictPair */ #line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 2073 "src/parser.c" /* yacc.c:1257 */ +#line 2071 "src/parser.c" /* yacc.c:1257 */ break; @@ -2365,7 +2363,7 @@ YYLTYPE yylloc = yyloc_default; { *answer = BLOCK((yyvsp[-2].blk), (yyvsp[-1].blk), gen_op_simple(TOP), (yyvsp[0].blk)); } -#line 2369 "src/parser.c" /* yacc.c:1646 */ +#line 2367 "src/parser.c" /* yacc.c:1646 */ break; case 3: @@ -2373,7 +2371,7 @@ YYLTYPE yylloc = yyloc_default; { *answer = BLOCK((yyvsp[-2].blk), (yyvsp[-1].blk), (yyvsp[0].blk)); } -#line 2377 "src/parser.c" /* yacc.c:1646 */ +#line 2375 "src/parser.c" /* yacc.c:1646 */ break; case 4: @@ -2381,7 +2379,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_noop(); } -#line 2385 "src/parser.c" /* yacc.c:1646 */ +#line 2383 "src/parser.c" /* yacc.c:1646 */ break; case 5: @@ -2395,7 +2393,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.blk) = gen_module((yyvsp[-1].blk)); } } -#line 2399 "src/parser.c" /* yacc.c:1646 */ +#line 2397 "src/parser.c" /* yacc.c:1646 */ break; case 6: @@ -2403,7 +2401,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_noop(); } -#line 2407 "src/parser.c" /* yacc.c:1646 */ +#line 2405 "src/parser.c" /* yacc.c:1646 */ break; case 7: @@ -2411,7 +2409,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = BLOCK((yyvsp[-1].blk), (yyvsp[0].blk)); } -#line 2415 "src/parser.c" /* yacc.c:1646 */ +#line 2413 "src/parser.c" /* yacc.c:1646 */ break; case 8: @@ -2419,7 +2417,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_noop(); } -#line 2423 "src/parser.c" /* yacc.c:1646 */ +#line 2421 "src/parser.c" /* yacc.c:1646 */ break; case 9: @@ -2427,7 +2425,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = block_bind((yyvsp[-1].blk), (yyvsp[0].blk), OP_IS_CALL_PSEUDO); } -#line 2431 "src/parser.c" /* yacc.c:1646 */ +#line 2429 "src/parser.c" /* yacc.c:1646 */ break; case 10: @@ -2435,7 +2433,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = block_bind_referenced((yyvsp[-1].blk), (yyvsp[0].blk), OP_IS_CALL_PSEUDO); } -#line 2439 "src/parser.c" /* yacc.c:1646 */ +#line 2437 "src/parser.c" /* yacc.c:1646 */ break; case 11: @@ -2443,7 +2441,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_destructure((yyvsp[-4].blk), (yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2447 "src/parser.c" /* yacc.c:1646 */ +#line 2445 "src/parser.c" /* yacc.c:1646 */ break; case 12: @@ -2451,7 +2449,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_reduce((yyvsp[-7].blk), (yyvsp[-5].blk), (yyvsp[-3].blk), (yyvsp[-1].blk)); } -#line 2455 "src/parser.c" /* yacc.c:1646 */ +#line 2453 "src/parser.c" /* yacc.c:1646 */ break; case 13: @@ -2459,7 +2457,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_foreach((yyvsp[-9].blk), (yyvsp[-7].blk), (yyvsp[-5].blk), (yyvsp[-3].blk), (yyvsp[-1].blk)); } -#line 2463 "src/parser.c" /* yacc.c:1646 */ +#line 2461 "src/parser.c" /* yacc.c:1646 */ break; case 14: @@ -2467,7 +2465,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_foreach((yyvsp[-7].blk), (yyvsp[-5].blk), (yyvsp[-3].blk), (yyvsp[-1].blk), gen_noop()); } -#line 2471 "src/parser.c" /* yacc.c:1646 */ +#line 2469 "src/parser.c" /* yacc.c:1646 */ break; case 15: @@ -2475,7 +2473,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_cond((yyvsp[-3].blk), (yyvsp[-1].blk), (yyvsp[0].blk)); } -#line 2479 "src/parser.c" /* yacc.c:1646 */ +#line 2477 "src/parser.c" /* yacc.c:1646 */ break; case 16: @@ -2484,7 +2482,7 @@ YYLTYPE yylloc = yyloc_default; FAIL((yyloc), "Possibly unterminated 'if' statement"); (yyval.blk) = (yyvsp[-2].blk); } -#line 2488 "src/parser.c" /* yacc.c:1646 */ +#line 2486 "src/parser.c" /* yacc.c:1646 */ break; case 17: @@ -2493,7 +2491,7 @@ YYLTYPE yylloc = yyloc_default; //$$ = BLOCK(gen_op_target(FORK_OPT, $2), $2, $4); (yyval.blk) = gen_try((yyvsp[-2].blk), gen_try_handler((yyvsp[0].blk))); } -#line 2497 "src/parser.c" /* yacc.c:1646 */ +#line 2495 "src/parser.c" /* yacc.c:1646 */ break; case 18: @@ -2502,7 +2500,7 @@ YYLTYPE yylloc = yyloc_default; //$$ = BLOCK(gen_op_target(FORK_OPT, $2), $2, gen_op_simple(BACKTRACK)); (yyval.blk) = gen_try((yyvsp[0].blk), gen_op_simple(BACKTRACK)); } -#line 2506 "src/parser.c" /* yacc.c:1646 */ +#line 2504 "src/parser.c" /* yacc.c:1646 */ break; case 19: @@ -2511,7 +2509,7 @@ YYLTYPE yylloc = yyloc_default; FAIL((yyloc), "Possibly unterminated 'try' statement"); (yyval.blk) = (yyvsp[-2].blk); } -#line 2515 "src/parser.c" /* yacc.c:1646 */ +#line 2513 "src/parser.c" /* yacc.c:1646 */ break; case 20: @@ -2522,7 +2520,7 @@ YYLTYPE yylloc = yyloc_default; jv_free((yyvsp[-2].literal)); jv_free(v); } -#line 2526 "src/parser.c" /* yacc.c:1646 */ +#line 2524 "src/parser.c" /* yacc.c:1646 */ break; case 21: @@ -2530,7 +2528,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_try((yyvsp[-1].blk), gen_op_simple(BACKTRACK)); } -#line 2534 "src/parser.c" /* yacc.c:1646 */ +#line 2532 "src/parser.c" /* yacc.c:1646 */ break; case 22: @@ -2538,7 +2536,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_call("_assign", BLOCK(gen_lambda((yyvsp[-2].blk)), gen_lambda((yyvsp[0].blk)))); } -#line 2542 "src/parser.c" /* yacc.c:1646 */ +#line 2540 "src/parser.c" /* yacc.c:1646 */ break; case 23: @@ -2546,7 +2544,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_or((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2550 "src/parser.c" /* yacc.c:1646 */ +#line 2548 "src/parser.c" /* yacc.c:1646 */ break; case 24: @@ -2554,7 +2552,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_and((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2558 "src/parser.c" /* yacc.c:1646 */ +#line 2556 "src/parser.c" /* yacc.c:1646 */ break; case 25: @@ -2562,7 +2560,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_definedor((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2566 "src/parser.c" /* yacc.c:1646 */ +#line 2564 "src/parser.c" /* yacc.c:1646 */ break; case 26: @@ -2570,7 +2568,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_definedor_assign((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2574 "src/parser.c" /* yacc.c:1646 */ +#line 2572 "src/parser.c" /* yacc.c:1646 */ break; case 27: @@ -2578,7 +2576,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_call("_modify", BLOCK(gen_lambda((yyvsp[-2].blk)), gen_lambda((yyvsp[0].blk)))); } -#line 2582 "src/parser.c" /* yacc.c:1646 */ +#line 2580 "src/parser.c" /* yacc.c:1646 */ break; case 28: @@ -2586,7 +2584,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = block_join((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2590 "src/parser.c" /* yacc.c:1646 */ +#line 2588 "src/parser.c" /* yacc.c:1646 */ break; case 29: @@ -2594,7 +2592,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_both((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2598 "src/parser.c" /* yacc.c:1646 */ +#line 2596 "src/parser.c" /* yacc.c:1646 */ break; case 30: @@ -2602,7 +2600,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '+'); } -#line 2606 "src/parser.c" /* yacc.c:1646 */ +#line 2604 "src/parser.c" /* yacc.c:1646 */ break; case 31: @@ -2610,7 +2608,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_update((yyvsp[-2].blk), (yyvsp[0].blk), '+'); } -#line 2614 "src/parser.c" /* yacc.c:1646 */ +#line 2612 "src/parser.c" /* yacc.c:1646 */ break; case 32: @@ -2618,7 +2616,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = BLOCK((yyvsp[0].blk), gen_call("_negate", gen_noop())); } -#line 2622 "src/parser.c" /* yacc.c:1646 */ +#line 2620 "src/parser.c" /* yacc.c:1646 */ break; case 33: @@ -2626,7 +2624,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '-'); } -#line 2630 "src/parser.c" /* yacc.c:1646 */ +#line 2628 "src/parser.c" /* yacc.c:1646 */ break; case 34: @@ -2634,7 +2632,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_update((yyvsp[-2].blk), (yyvsp[0].blk), '-'); } -#line 2638 "src/parser.c" /* yacc.c:1646 */ +#line 2636 "src/parser.c" /* yacc.c:1646 */ break; case 35: @@ -2642,7 +2640,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '*'); } -#line 2646 "src/parser.c" /* yacc.c:1646 */ +#line 2644 "src/parser.c" /* yacc.c:1646 */ break; case 36: @@ -2650,7 +2648,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_update((yyvsp[-2].blk), (yyvsp[0].blk), '*'); } -#line 2654 "src/parser.c" /* yacc.c:1646 */ +#line 2652 "src/parser.c" /* yacc.c:1646 */ break; case 37: @@ -2660,7 +2658,7 @@ YYLTYPE yylloc = yyloc_default; if (block_is_const_inf((yyval.blk))) FAIL((yyloc), "Division by zero?"); } -#line 2664 "src/parser.c" /* yacc.c:1646 */ +#line 2662 "src/parser.c" /* yacc.c:1646 */ break; case 38: @@ -2670,7 +2668,7 @@ YYLTYPE yylloc = yyloc_default; if (block_is_const_inf((yyval.blk))) FAIL((yyloc), "Remainder by zero?"); } -#line 2674 "src/parser.c" /* yacc.c:1646 */ +#line 2672 "src/parser.c" /* yacc.c:1646 */ break; case 39: @@ -2678,7 +2676,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_update((yyvsp[-2].blk), (yyvsp[0].blk), '/'); } -#line 2682 "src/parser.c" /* yacc.c:1646 */ +#line 2680 "src/parser.c" /* yacc.c:1646 */ break; case 40: @@ -2686,7 +2684,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_update((yyvsp[-2].blk), (yyvsp[0].blk), '%'); } -#line 2690 "src/parser.c" /* yacc.c:1646 */ +#line 2688 "src/parser.c" /* yacc.c:1646 */ break; case 41: @@ -2694,7 +2692,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), EQ); } -#line 2698 "src/parser.c" /* yacc.c:1646 */ +#line 2696 "src/parser.c" /* yacc.c:1646 */ break; case 42: @@ -2702,7 +2700,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), NEQ); } -#line 2706 "src/parser.c" /* yacc.c:1646 */ +#line 2704 "src/parser.c" /* yacc.c:1646 */ break; case 43: @@ -2710,7 +2708,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '<'); } -#line 2714 "src/parser.c" /* yacc.c:1646 */ +#line 2712 "src/parser.c" /* yacc.c:1646 */ break; case 44: @@ -2718,7 +2716,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '>'); } -#line 2722 "src/parser.c" /* yacc.c:1646 */ +#line 2720 "src/parser.c" /* yacc.c:1646 */ break; case 45: @@ -2726,7 +2724,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), LESSEQ); } -#line 2730 "src/parser.c" /* yacc.c:1646 */ +#line 2728 "src/parser.c" /* yacc.c:1646 */ break; case 46: @@ -2734,7 +2732,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), GREATEREQ); } -#line 2738 "src/parser.c" /* yacc.c:1646 */ +#line 2736 "src/parser.c" /* yacc.c:1646 */ break; case 47: @@ -2742,7 +2740,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = (yyvsp[0].blk); } -#line 2746 "src/parser.c" /* yacc.c:1646 */ +#line 2744 "src/parser.c" /* yacc.c:1646 */ break; case 48: @@ -2750,7 +2748,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = (yyvsp[-1].blk); } -#line 2754 "src/parser.c" /* yacc.c:1646 */ +#line 2752 "src/parser.c" /* yacc.c:1646 */ break; case 49: @@ -2770,7 +2768,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.blk) = gen_import_meta((yyvsp[-2].blk), (yyvsp[-1].blk)); } } -#line 2774 "src/parser.c" /* yacc.c:1646 */ +#line 2772 "src/parser.c" /* yacc.c:1646 */ break; case 50: @@ -2784,7 +2782,7 @@ YYLTYPE yylloc = yyloc_default; jv_free((yyvsp[0].literal)); jv_free(v); } -#line 2788 "src/parser.c" /* yacc.c:1646 */ +#line 2786 "src/parser.c" /* yacc.c:1646 */ break; case 51: @@ -2796,7 +2794,7 @@ YYLTYPE yylloc = yyloc_default; jv_free((yyvsp[0].literal)); jv_free(v); } -#line 2800 "src/parser.c" /* yacc.c:1646 */ +#line 2798 "src/parser.c" /* yacc.c:1646 */ break; case 52: @@ -2807,7 +2805,7 @@ YYLTYPE yylloc = yyloc_default; block_free((yyvsp[0].blk)); jv_free(v); } -#line 2811 "src/parser.c" /* yacc.c:1646 */ +#line 2809 "src/parser.c" /* yacc.c:1646 */ break; case 53: @@ -2821,7 +2819,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.blk) = (yyvsp[0].blk); } } -#line 2825 "src/parser.c" /* yacc.c:1646 */ +#line 2823 "src/parser.c" /* yacc.c:1646 */ break; case 54: @@ -2830,7 +2828,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.blk) = gen_function(jv_string_value((yyvsp[-3].literal)), gen_noop(), (yyvsp[-1].blk)); jv_free((yyvsp[-3].literal)); } -#line 2834 "src/parser.c" /* yacc.c:1646 */ +#line 2832 "src/parser.c" /* yacc.c:1646 */ break; case 55: @@ -2839,7 +2837,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.blk) = gen_function(jv_string_value((yyvsp[-6].literal)), (yyvsp[-4].blk), (yyvsp[-1].blk)); jv_free((yyvsp[-6].literal)); } -#line 2843 "src/parser.c" /* yacc.c:1646 */ +#line 2841 "src/parser.c" /* yacc.c:1646 */ break; case 56: @@ -2847,7 +2845,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = (yyvsp[0].blk); } -#line 2851 "src/parser.c" /* yacc.c:1646 */ +#line 2849 "src/parser.c" /* yacc.c:1646 */ break; case 57: @@ -2855,7 +2853,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = BLOCK((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2859 "src/parser.c" /* yacc.c:1646 */ +#line 2857 "src/parser.c" /* yacc.c:1646 */ break; case 58: @@ -2864,7 +2862,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.blk) = gen_param_regular(jv_string_value((yyvsp[0].literal))); jv_free((yyvsp[0].literal)); } -#line 2868 "src/parser.c" /* yacc.c:1646 */ +#line 2866 "src/parser.c" /* yacc.c:1646 */ break; case 59: @@ -2873,13 +2871,13 @@ YYLTYPE yylloc = yyloc_default; (yyval.blk) = gen_param(jv_string_value((yyvsp[0].literal))); jv_free((yyvsp[0].literal)); } -#line 2877 "src/parser.c" /* yacc.c:1646 */ +#line 2875 "src/parser.c" /* yacc.c:1646 */ break; case 60: #line 584 "src/parser.y" /* yacc.c:1646 */ { (yyval.literal) = jv_string("text"); } -#line 2883 "src/parser.c" /* yacc.c:1646 */ +#line 2881 "src/parser.c" /* yacc.c:1646 */ break; case 61: @@ -2888,13 +2886,13 @@ YYLTYPE yylloc = yyloc_default; (yyval.blk) = (yyvsp[-1].blk); jv_free((yyvsp[-2].literal)); } -#line 2892 "src/parser.c" /* yacc.c:1646 */ +#line 2890 "src/parser.c" /* yacc.c:1646 */ break; case 62: #line 588 "src/parser.y" /* yacc.c:1646 */ { (yyval.literal) = (yyvsp[-1].literal); } -#line 2898 "src/parser.c" /* yacc.c:1646 */ +#line 2896 "src/parser.c" /* yacc.c:1646 */ break; case 63: @@ -2903,7 +2901,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.blk) = (yyvsp[-1].blk); jv_free((yyvsp[-2].literal)); } -#line 2907 "src/parser.c" /* yacc.c:1646 */ +#line 2905 "src/parser.c" /* yacc.c:1646 */ break; case 64: @@ -2911,7 +2909,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_const(jv_string("")); } -#line 2915 "src/parser.c" /* yacc.c:1646 */ +#line 2913 "src/parser.c" /* yacc.c:1646 */ break; case 65: @@ -2919,7 +2917,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_binop((yyvsp[-1].blk), gen_const((yyvsp[0].literal)), '+'); } -#line 2923 "src/parser.c" /* yacc.c:1646 */ +#line 2921 "src/parser.c" /* yacc.c:1646 */ break; case 66: @@ -2927,7 +2925,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_binop((yyvsp[-3].blk), gen_format((yyvsp[-1].blk), jv_copy((yyvsp[-4].literal))), '+'); } -#line 2931 "src/parser.c" /* yacc.c:1646 */ +#line 2929 "src/parser.c" /* yacc.c:1646 */ break; case 67: @@ -2935,7 +2933,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_cond((yyvsp[-3].blk), (yyvsp[-1].blk), (yyvsp[0].blk)); } -#line 2939 "src/parser.c" /* yacc.c:1646 */ +#line 2937 "src/parser.c" /* yacc.c:1646 */ break; case 68: @@ -2943,7 +2941,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = (yyvsp[-1].blk); } -#line 2947 "src/parser.c" /* yacc.c:1646 */ +#line 2945 "src/parser.c" /* yacc.c:1646 */ break; case 69: @@ -2951,7 +2949,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = block_join((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2955 "src/parser.c" /* yacc.c:1646 */ +#line 2953 "src/parser.c" /* yacc.c:1646 */ break; case 70: @@ -2959,7 +2957,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = BLOCK((yyvsp[0].blk), gen_call("_negate", gen_noop())); } -#line 2963 "src/parser.c" /* yacc.c:1646 */ +#line 2961 "src/parser.c" /* yacc.c:1646 */ break; case 71: @@ -2967,7 +2965,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = (yyvsp[0].blk); } -#line 2971 "src/parser.c" /* yacc.c:1646 */ +#line 2969 "src/parser.c" /* yacc.c:1646 */ break; case 72: @@ -2975,7 +2973,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_noop(); } -#line 2979 "src/parser.c" /* yacc.c:1646 */ +#line 2977 "src/parser.c" /* yacc.c:1646 */ break; case 73: @@ -2983,7 +2981,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_call("recurse", gen_noop()); } -#line 2987 "src/parser.c" /* yacc.c:1646 */ +#line 2985 "src/parser.c" /* yacc.c:1646 */ break; case 74: @@ -2996,7 +2994,7 @@ YYLTYPE yylloc = yyloc_default; jv_free(v); jv_free((yyvsp[0].literal)); } -#line 3000 "src/parser.c" /* yacc.c:1646 */ +#line 2998 "src/parser.c" /* yacc.c:1646 */ break; case 75: @@ -3005,7 +3003,7 @@ YYLTYPE yylloc = yyloc_default; FAIL((yyloc), "break requires a label to break to"); (yyval.blk) = gen_noop(); } -#line 3009 "src/parser.c" /* yacc.c:1646 */ +#line 3007 "src/parser.c" /* yacc.c:1646 */ break; case 76: @@ -3013,7 +3011,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_index_opt((yyvsp[-2].blk), gen_const((yyvsp[-1].literal))); } -#line 3017 "src/parser.c" /* yacc.c:1646 */ +#line 3015 "src/parser.c" /* yacc.c:1646 */ break; case 77: @@ -3021,7 +3019,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_index_opt(gen_noop(), gen_const((yyvsp[-1].literal))); } -#line 3025 "src/parser.c" /* yacc.c:1646 */ +#line 3023 "src/parser.c" /* yacc.c:1646 */ break; case 78: @@ -3029,7 +3027,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_index_opt((yyvsp[-3].blk), (yyvsp[-1].blk)); } -#line 3033 "src/parser.c" /* yacc.c:1646 */ +#line 3031 "src/parser.c" /* yacc.c:1646 */ break; case 79: @@ -3037,7 +3035,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_index_opt(gen_noop(), (yyvsp[-1].blk)); } -#line 3041 "src/parser.c" /* yacc.c:1646 */ +#line 3039 "src/parser.c" /* yacc.c:1646 */ break; case 80: @@ -3045,7 +3043,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_index((yyvsp[-1].blk), gen_const((yyvsp[0].literal))); } -#line 3049 "src/parser.c" /* yacc.c:1646 */ +#line 3047 "src/parser.c" /* yacc.c:1646 */ break; case 81: @@ -3053,7 +3051,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_index(gen_noop(), gen_const((yyvsp[0].literal))); } -#line 3057 "src/parser.c" /* yacc.c:1646 */ +#line 3055 "src/parser.c" /* yacc.c:1646 */ break; case 82: @@ -3061,7 +3059,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_index((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 3065 "src/parser.c" /* yacc.c:1646 */ +#line 3063 "src/parser.c" /* yacc.c:1646 */ break; case 83: @@ -3069,7 +3067,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_index(gen_noop(), (yyvsp[0].blk)); } -#line 3073 "src/parser.c" /* yacc.c:1646 */ +#line 3071 "src/parser.c" /* yacc.c:1646 */ break; case 84: @@ -3078,7 +3076,7 @@ YYLTYPE yylloc = yyloc_default; FAIL((yyloc), "try .[\"field\"] instead of .field for unusually named fields"); (yyval.blk) = gen_noop(); } -#line 3082 "src/parser.c" /* yacc.c:1646 */ +#line 3080 "src/parser.c" /* yacc.c:1646 */ break; case 85: @@ -3088,7 +3086,7 @@ YYLTYPE yylloc = yyloc_default; FAIL((yyloc), "try .[\"field\"] instead of .field for unusually named fields"); (yyval.blk) = gen_noop(); } -#line 3092 "src/parser.c" /* yacc.c:1646 */ +#line 3090 "src/parser.c" /* yacc.c:1646 */ break; case 86: @@ -3096,7 +3094,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_index_opt((yyvsp[-4].blk), (yyvsp[-2].blk)); } -#line 3100 "src/parser.c" /* yacc.c:1646 */ +#line 3098 "src/parser.c" /* yacc.c:1646 */ break; case 87: @@ -3104,7 +3102,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_index((yyvsp[-3].blk), (yyvsp[-1].blk)); } -#line 3108 "src/parser.c" /* yacc.c:1646 */ +#line 3106 "src/parser.c" /* yacc.c:1646 */ break; case 88: @@ -3112,7 +3110,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = block_join((yyvsp[-3].blk), gen_op_simple(EACH_OPT)); } -#line 3116 "src/parser.c" /* yacc.c:1646 */ +#line 3114 "src/parser.c" /* yacc.c:1646 */ break; case 89: @@ -3120,7 +3118,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = block_join((yyvsp[-2].blk), gen_op_simple(EACH)); } -#line 3124 "src/parser.c" /* yacc.c:1646 */ +#line 3122 "src/parser.c" /* yacc.c:1646 */ break; case 90: @@ -3128,7 +3126,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_slice_index((yyvsp[-6].blk), (yyvsp[-4].blk), (yyvsp[-2].blk), INDEX_OPT); } -#line 3132 "src/parser.c" /* yacc.c:1646 */ +#line 3130 "src/parser.c" /* yacc.c:1646 */ break; case 91: @@ -3136,7 +3134,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_slice_index((yyvsp[-5].blk), (yyvsp[-3].blk), gen_const(jv_null()), INDEX_OPT); } -#line 3140 "src/parser.c" /* yacc.c:1646 */ +#line 3138 "src/parser.c" /* yacc.c:1646 */ break; case 92: @@ -3144,7 +3142,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_slice_index((yyvsp[-5].blk), gen_const(jv_null()), (yyvsp[-2].blk), INDEX_OPT); } -#line 3148 "src/parser.c" /* yacc.c:1646 */ +#line 3146 "src/parser.c" /* yacc.c:1646 */ break; case 93: @@ -3152,7 +3150,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_slice_index((yyvsp[-5].blk), (yyvsp[-3].blk), (yyvsp[-1].blk), INDEX); } -#line 3156 "src/parser.c" /* yacc.c:1646 */ +#line 3154 "src/parser.c" /* yacc.c:1646 */ break; case 94: @@ -3160,7 +3158,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_slice_index((yyvsp[-4].blk), (yyvsp[-2].blk), gen_const(jv_null()), INDEX); } -#line 3164 "src/parser.c" /* yacc.c:1646 */ +#line 3162 "src/parser.c" /* yacc.c:1646 */ break; case 95: @@ -3168,7 +3166,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_slice_index((yyvsp[-4].blk), gen_const(jv_null()), (yyvsp[-1].blk), INDEX); } -#line 3172 "src/parser.c" /* yacc.c:1646 */ +#line 3170 "src/parser.c" /* yacc.c:1646 */ break; case 96: @@ -3176,7 +3174,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_const((yyvsp[0].literal)); } -#line 3180 "src/parser.c" /* yacc.c:1646 */ +#line 3178 "src/parser.c" /* yacc.c:1646 */ break; case 97: @@ -3184,7 +3182,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = (yyvsp[0].blk); } -#line 3188 "src/parser.c" /* yacc.c:1646 */ +#line 3186 "src/parser.c" /* yacc.c:1646 */ break; case 98: @@ -3192,7 +3190,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_format(gen_noop(), (yyvsp[0].literal)); } -#line 3196 "src/parser.c" /* yacc.c:1646 */ +#line 3194 "src/parser.c" /* yacc.c:1646 */ break; case 99: @@ -3200,7 +3198,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = (yyvsp[-1].blk); } -#line 3204 "src/parser.c" /* yacc.c:1646 */ +#line 3202 "src/parser.c" /* yacc.c:1646 */ break; case 100: @@ -3208,7 +3206,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_collect((yyvsp[-1].blk)); } -#line 3212 "src/parser.c" /* yacc.c:1646 */ +#line 3210 "src/parser.c" /* yacc.c:1646 */ break; case 101: @@ -3216,7 +3214,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_const(jv_array()); } -#line 3220 "src/parser.c" /* yacc.c:1646 */ +#line 3218 "src/parser.c" /* yacc.c:1646 */ break; case 102: @@ -3228,7 +3226,7 @@ YYLTYPE yylloc = yyloc_default; else (yyval.blk) = BLOCK(gen_subexp(gen_const(jv_object())), (yyvsp[-1].blk), gen_op_simple(POP)); } -#line 3232 "src/parser.c" /* yacc.c:1646 */ +#line 3230 "src/parser.c" /* yacc.c:1646 */ break; case 103: @@ -3237,7 +3235,7 @@ YYLTYPE yylloc = yyloc_default; (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 3241 "src/parser.c" /* yacc.c:1646 */ +#line 3239 "src/parser.c" /* yacc.c:1646 */ break; case 104: @@ -3246,7 +3244,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.blk) = gen_location((yyloc), locations, gen_op_unbound(LOADV, jv_string_value((yyvsp[0].literal)))); jv_free((yyvsp[0].literal)); } -#line 3250 "src/parser.c" /* yacc.c:1646 */ +#line 3248 "src/parser.c" /* yacc.c:1646 */ break; case 105: @@ -3263,7 +3261,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.blk) = gen_location((yyloc), locations, gen_call(s, gen_noop())); jv_free((yyvsp[0].literal)); } -#line 3267 "src/parser.c" /* yacc.c:1646 */ +#line 3265 "src/parser.c" /* yacc.c:1646 */ break; case 106: @@ -3273,31 +3271,31 @@ YYLTYPE yylloc = yyloc_default; (yyval.blk) = gen_location((yylsp[-3]), locations, (yyval.blk)); jv_free((yyvsp[-3].literal)); } -#line 3277 "src/parser.c" /* yacc.c:1646 */ +#line 3275 "src/parser.c" /* yacc.c:1646 */ break; case 107: #line 759 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_noop(); } -#line 3283 "src/parser.c" /* yacc.c:1646 */ +#line 3281 "src/parser.c" /* yacc.c:1646 */ break; case 108: #line 760 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_noop(); } -#line 3289 "src/parser.c" /* yacc.c:1646 */ +#line 3287 "src/parser.c" /* yacc.c:1646 */ break; case 109: #line 761 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[-3].blk); } -#line 3295 "src/parser.c" /* yacc.c:1646 */ +#line 3293 "src/parser.c" /* yacc.c:1646 */ break; case 110: #line 762 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_noop(); } -#line 3301 "src/parser.c" /* yacc.c:1646 */ +#line 3299 "src/parser.c" /* yacc.c:1646 */ break; case 111: @@ -3305,7 +3303,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = (yyvsp[0].blk); } -#line 3309 "src/parser.c" /* yacc.c:1646 */ +#line 3307 "src/parser.c" /* yacc.c:1646 */ break; case 112: @@ -3313,7 +3311,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = BLOCK((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 3317 "src/parser.c" /* yacc.c:1646 */ +#line 3315 "src/parser.c" /* yacc.c:1646 */ break; case 113: @@ -3321,7 +3319,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_lambda((yyvsp[0].blk)); } -#line 3325 "src/parser.c" /* yacc.c:1646 */ +#line 3323 "src/parser.c" /* yacc.c:1646 */ break; case 114: @@ -3329,7 +3327,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = BLOCK((yyvsp[-2].blk), gen_destructure_alt((yyvsp[0].blk))); } -#line 3333 "src/parser.c" /* yacc.c:1646 */ +#line 3331 "src/parser.c" /* yacc.c:1646 */ break; case 115: @@ -3337,7 +3335,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_destructure_alt((yyvsp[0].blk)); } -#line 3341 "src/parser.c" /* yacc.c:1646 */ +#line 3339 "src/parser.c" /* yacc.c:1646 */ break; case 116: @@ -3345,7 +3343,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = BLOCK((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 3349 "src/parser.c" /* yacc.c:1646 */ +#line 3347 "src/parser.c" /* yacc.c:1646 */ break; case 117: @@ -3353,7 +3351,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = (yyvsp[0].blk); } -#line 3357 "src/parser.c" /* yacc.c:1646 */ +#line 3355 "src/parser.c" /* yacc.c:1646 */ break; case 118: @@ -3362,7 +3360,7 @@ YYLTYPE yylloc = yyloc_default; (yyval.blk) = gen_op_unbound(STOREV, jv_string_value((yyvsp[0].literal))); jv_free((yyvsp[0].literal)); } -#line 3366 "src/parser.c" /* yacc.c:1646 */ +#line 3364 "src/parser.c" /* yacc.c:1646 */ break; case 119: @@ -3370,7 +3368,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = BLOCK((yyvsp[-1].blk), gen_op_simple(POP)); } -#line 3374 "src/parser.c" /* yacc.c:1646 */ +#line 3372 "src/parser.c" /* yacc.c:1646 */ break; case 120: @@ -3378,7 +3376,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = BLOCK((yyvsp[-1].blk), gen_op_simple(POP)); } -#line 3382 "src/parser.c" /* yacc.c:1646 */ +#line 3380 "src/parser.c" /* yacc.c:1646 */ break; case 121: @@ -3386,7 +3384,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_array_matcher(gen_noop(), (yyvsp[0].blk)); } -#line 3390 "src/parser.c" /* yacc.c:1646 */ +#line 3388 "src/parser.c" /* yacc.c:1646 */ break; case 122: @@ -3394,7 +3392,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_array_matcher((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 3398 "src/parser.c" /* yacc.c:1646 */ +#line 3396 "src/parser.c" /* yacc.c:1646 */ break; case 123: @@ -3402,7 +3400,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = (yyvsp[0].blk); } -#line 3406 "src/parser.c" /* yacc.c:1646 */ +#line 3404 "src/parser.c" /* yacc.c:1646 */ break; case 124: @@ -3410,7 +3408,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = BLOCK((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 3414 "src/parser.c" /* yacc.c:1646 */ +#line 3412 "src/parser.c" /* yacc.c:1646 */ break; case 125: @@ -3418,7 +3416,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_object_matcher(gen_const((yyvsp[0].literal)), gen_op_unbound(STOREV, jv_string_value((yyvsp[0].literal)))); } -#line 3422 "src/parser.c" /* yacc.c:1646 */ +#line 3420 "src/parser.c" /* yacc.c:1646 */ break; case 126: @@ -3426,7 +3424,7 @@ YYLTYPE yylloc = yyloc_default; { (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 3430 "src/parser.c" /* yacc.c:1646 */ +#line 3428 "src/parser.c" /* yacc.c:1646 */ break; case 127: @@ -3434,7 +3432,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_object_matcher(gen_const((yyvsp[-2].literal)), (yyvsp[0].blk)); } -#line 3438 "src/parser.c" /* yacc.c:1646 */ +#line 3436 "src/parser.c" /* yacc.c:1646 */ break; case 128: @@ -3442,7 +3440,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_object_matcher(gen_const((yyvsp[-2].literal)), (yyvsp[0].blk)); } -#line 3446 "src/parser.c" /* yacc.c:1646 */ +#line 3444 "src/parser.c" /* yacc.c:1646 */ break; case 129: @@ -3450,7 +3448,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_object_matcher((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 3454 "src/parser.c" /* yacc.c:1646 */ +#line 3452 "src/parser.c" /* yacc.c:1646 */ break; case 130: @@ -3463,7 +3461,7 @@ YYLTYPE yylloc = yyloc_default; jv_free(msg); (yyval.blk) = gen_object_matcher((yyvsp[-3].blk), (yyvsp[0].blk)); } -#line 3467 "src/parser.c" /* yacc.c:1646 */ +#line 3465 "src/parser.c" /* yacc.c:1646 */ break; case 131: @@ -3472,7 +3470,7 @@ YYLTYPE yylloc = yyloc_default; FAIL((yyloc), "May need parentheses around object key expression"); (yyval.blk) = (yyvsp[0].blk); } -#line 3476 "src/parser.c" /* yacc.c:1646 */ +#line 3474 "src/parser.c" /* yacc.c:1646 */ break; case 132: @@ -3480,7 +3478,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.literal) = jv_string("as"); } -#line 3484 "src/parser.c" /* yacc.c:1646 */ +#line 3482 "src/parser.c" /* yacc.c:1646 */ break; case 133: @@ -3488,7 +3486,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.literal) = jv_string("def"); } -#line 3492 "src/parser.c" /* yacc.c:1646 */ +#line 3490 "src/parser.c" /* yacc.c:1646 */ break; case 134: @@ -3496,7 +3494,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.literal) = jv_string("module"); } -#line 3500 "src/parser.c" /* yacc.c:1646 */ +#line 3498 "src/parser.c" /* yacc.c:1646 */ break; case 135: @@ -3504,7 +3502,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.literal) = jv_string("import"); } -#line 3508 "src/parser.c" /* yacc.c:1646 */ +#line 3506 "src/parser.c" /* yacc.c:1646 */ break; case 136: @@ -3512,7 +3510,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.literal) = jv_string("include"); } -#line 3516 "src/parser.c" /* yacc.c:1646 */ +#line 3514 "src/parser.c" /* yacc.c:1646 */ break; case 137: @@ -3520,7 +3518,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.literal) = jv_string("if"); } -#line 3524 "src/parser.c" /* yacc.c:1646 */ +#line 3522 "src/parser.c" /* yacc.c:1646 */ break; case 138: @@ -3528,7 +3526,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.literal) = jv_string("then"); } -#line 3532 "src/parser.c" /* yacc.c:1646 */ +#line 3530 "src/parser.c" /* yacc.c:1646 */ break; case 139: @@ -3536,7 +3534,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.literal) = jv_string("else"); } -#line 3540 "src/parser.c" /* yacc.c:1646 */ +#line 3538 "src/parser.c" /* yacc.c:1646 */ break; case 140: @@ -3544,7 +3542,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.literal) = jv_string("elif"); } -#line 3548 "src/parser.c" /* yacc.c:1646 */ +#line 3546 "src/parser.c" /* yacc.c:1646 */ break; case 141: @@ -3552,7 +3550,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.literal) = jv_string("reduce"); } -#line 3556 "src/parser.c" /* yacc.c:1646 */ +#line 3554 "src/parser.c" /* yacc.c:1646 */ break; case 142: @@ -3560,7 +3558,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.literal) = jv_string("foreach"); } -#line 3564 "src/parser.c" /* yacc.c:1646 */ +#line 3562 "src/parser.c" /* yacc.c:1646 */ break; case 143: @@ -3568,7 +3566,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.literal) = jv_string("end"); } -#line 3572 "src/parser.c" /* yacc.c:1646 */ +#line 3570 "src/parser.c" /* yacc.c:1646 */ break; case 144: @@ -3576,7 +3574,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.literal) = jv_string("and"); } -#line 3580 "src/parser.c" /* yacc.c:1646 */ +#line 3578 "src/parser.c" /* yacc.c:1646 */ break; case 145: @@ -3584,7 +3582,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.literal) = jv_string("or"); } -#line 3588 "src/parser.c" /* yacc.c:1646 */ +#line 3586 "src/parser.c" /* yacc.c:1646 */ break; case 146: @@ -3592,7 +3590,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.literal) = jv_string("try"); } -#line 3596 "src/parser.c" /* yacc.c:1646 */ +#line 3594 "src/parser.c" /* yacc.c:1646 */ break; case 147: @@ -3600,7 +3598,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.literal) = jv_string("catch"); } -#line 3604 "src/parser.c" /* yacc.c:1646 */ +#line 3602 "src/parser.c" /* yacc.c:1646 */ break; case 148: @@ -3608,7 +3606,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.literal) = jv_string("label"); } -#line 3612 "src/parser.c" /* yacc.c:1646 */ +#line 3610 "src/parser.c" /* yacc.c:1646 */ break; case 149: @@ -3616,7 +3614,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.literal) = jv_string("break"); } -#line 3620 "src/parser.c" /* yacc.c:1646 */ +#line 3618 "src/parser.c" /* yacc.c:1646 */ break; case 150: @@ -3624,7 +3622,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.literal) = jv_string("__loc__"); } -#line 3628 "src/parser.c" /* yacc.c:1646 */ +#line 3626 "src/parser.c" /* yacc.c:1646 */ break; case 151: @@ -3632,25 +3630,25 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk)=gen_noop(); } -#line 3636 "src/parser.c" /* yacc.c:1646 */ +#line 3634 "src/parser.c" /* yacc.c:1646 */ break; case 152: #line 913 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[0].blk); } -#line 3642 "src/parser.c" /* yacc.c:1646 */ +#line 3640 "src/parser.c" /* yacc.c:1646 */ break; case 153: #line 914 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk)=block_join((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 3648 "src/parser.c" /* yacc.c:1646 */ +#line 3646 "src/parser.c" /* yacc.c:1646 */ break; case 154: #line 915 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[0].blk); } -#line 3654 "src/parser.c" /* yacc.c:1646 */ +#line 3652 "src/parser.c" /* yacc.c:1646 */ break; case 155: @@ -3658,7 +3656,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_dictpair(gen_const((yyvsp[-2].literal)), (yyvsp[0].blk)); } -#line 3662 "src/parser.c" /* yacc.c:1646 */ +#line 3660 "src/parser.c" /* yacc.c:1646 */ break; case 156: @@ -3666,7 +3664,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_dictpair(gen_const((yyvsp[-2].literal)), (yyvsp[0].blk)); } -#line 3670 "src/parser.c" /* yacc.c:1646 */ +#line 3668 "src/parser.c" /* yacc.c:1646 */ break; case 157: @@ -3674,7 +3672,7 @@ YYLTYPE yylloc = yyloc_default; { (yyval.blk) = gen_dictpair((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 3678 "src/parser.c" /* yacc.c:1646 */ +#line 3676 "src/parser.c" /* yacc.c:1646 */ break; case 158: @@ -3683,30 +3681,39 @@ YYLTYPE yylloc = yyloc_default; (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 3687 "src/parser.c" /* yacc.c:1646 */ +#line 3685 "src/parser.c" /* yacc.c:1646 */ break; case 159: #line 931 "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))))); + (yyval.blk) = gen_dictpair(gen_location((yyloc), locations, gen_op_unbound(LOADV, jv_string_value((yyvsp[-2].literal)))), + (yyvsp[0].blk)); } -#line 3696 "src/parser.c" /* yacc.c:1646 */ +#line 3694 "src/parser.c" /* yacc.c:1646 */ break; case 160: #line 935 "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)))); + (yyval.blk) = gen_dictpair(gen_const((yyvsp[0].literal)), + gen_location((yyloc), locations, gen_op_unbound(LOADV, jv_string_value((yyvsp[0].literal))))); } -#line 3705 "src/parser.c" /* yacc.c:1646 */ +#line 3703 "src/parser.c" /* yacc.c:1646 */ break; case 161: #line 939 "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 3712 "src/parser.c" /* yacc.c:1646 */ + break; + + case 162: +#line 943 "src/parser.y" /* yacc.c:1646 */ + { jv msg = check_object_key((yyvsp[-3].blk)); if (jv_is_valid(msg)) { FAIL((yyloc), jv_string_value(msg)); @@ -3714,20 +3721,20 @@ YYLTYPE yylloc = yyloc_default; jv_free(msg); (yyval.blk) = gen_dictpair((yyvsp[-3].blk), (yyvsp[0].blk)); } -#line 3718 "src/parser.c" /* yacc.c:1646 */ +#line 3725 "src/parser.c" /* yacc.c:1646 */ break; - case 162: -#line 947 "src/parser.y" /* yacc.c:1646 */ + case 163: +#line 951 "src/parser.y" /* yacc.c:1646 */ { FAIL((yyloc), "May need parentheses around object key expression"); (yyval.blk) = (yyvsp[0].blk); } -#line 3727 "src/parser.c" /* yacc.c:1646 */ +#line 3734 "src/parser.c" /* yacc.c:1646 */ break; -#line 3731 "src/parser.c" /* yacc.c:1646 */ +#line 3738 "src/parser.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -3962,7 +3969,7 @@ YYLTYPE yylloc = yyloc_default; #endif return yyresult; } -#line 951 "src/parser.y" /* yacc.c:1906 */ +#line 955 "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 78782ddea4..2fb8187187 100644 --- a/src/parser.y +++ b/src/parser.y @@ -928,6 +928,10 @@ IDENT ':' ExpD { $$ = gen_dictpair($1, BLOCK(gen_op_simple(POP), gen_op_simple(DUP2), gen_op_simple(DUP2), gen_op_simple(INDEX))); } +| '$' IDENT ':' ExpD { + $$ = gen_dictpair(gen_location(@$, locations, gen_op_unbound(LOADV, jv_string_value($2))), + $4); + } | '$' IDENT { $$ = gen_dictpair(gen_const($2), gen_location(@$, locations, gen_op_unbound(LOADV, jv_string_value($2))));