diff --git a/src/parser.c b/src/parser.c index f0650184..50d34568 100644 --- a/src/parser.c +++ b/src/parser.c @@ -62,7 +62,7 @@ /* Copy the first part of user declarations. */ -#line 1 "parser.y" /* yacc.c:339 */ +#line 1 "src/parser.y" /* yacc.c:339 */ #include #include @@ -73,7 +73,7 @@ #define YYMALLOC jv_mem_alloc #define YYFREE jv_mem_free -#line 77 "parser.c" /* yacc.c:339 */ +#line 77 "src/parser.c" /* yacc.c:339 */ # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus @@ -93,8 +93,8 @@ /* In a future release of Bison, this section will be replaced by #include "y.tab.h". */ -#ifndef YY_YY_PARSER_H_INCLUDED -# define YY_YY_PARSER_H_INCLUDED +#ifndef YY_YY_SRC_PARSER_H_INCLUDED +# define YY_YY_SRC_PARSER_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 @@ -103,7 +103,7 @@ extern int yydebug; #endif /* "%code requires" blocks. */ -#line 11 "parser.y" /* yacc.c:355 */ +#line 11 "src/parser.y" /* yacc.c:355 */ #include "locfile.h" struct lexer_param; @@ -120,7 +120,7 @@ struct lexer_param; } \ } while (0) -#line 124 "parser.c" /* yacc.c:355 */ +#line 124 "src/parser.c" /* yacc.c:355 */ /* Token type. */ #ifndef YYTOKENTYPE @@ -224,12 +224,12 @@ struct lexer_param; typedef union YYSTYPE YYSTYPE; union YYSTYPE { -#line 31 "parser.y" /* yacc.c:355 */ +#line 31 "src/parser.y" /* yacc.c:355 */ jv literal; block blk; -#line 233 "parser.c" /* yacc.c:355 */ +#line 233 "src/parser.c" /* yacc.c:355 */ }; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 @@ -253,10 +253,10 @@ struct YYLTYPE int yyparse (block* answer, int* errors, struct locfile* locations, struct lexer_param* lexer_param_ptr); -#endif /* !YY_YY_PARSER_H_INCLUDED */ +#endif /* !YY_YY_SRC_PARSER_H_INCLUDED */ /* Copy the second part of user declarations. */ -#line 123 "parser.y" /* yacc.c:358 */ +#line 123 "src/parser.y" /* yacc.c:358 */ #include "lexer.h" struct lexer_param { @@ -422,7 +422,7 @@ static block gen_update(block object, block val, int optype) { } -#line 426 "parser.c" /* yacc.c:358 */ +#line 426 "src/parser.c" /* yacc.c:358 */ #ifdef short # undef short @@ -666,16 +666,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 27 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1938 +#define YYLAST 1871 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 68 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 28 /* YYNRULES -- Number of rules. */ -#define YYNRULES 156 +#define YYNRULES 157 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 306 +#define YYNSTATES 307 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ @@ -738,10 +738,10 @@ static const yytype_uint16 yyrline[] = 683, 686, 689, 692, 695, 698, 701, 704, 707, 710, 713, 716, 719, 726, 730, 734, 746, 751, 752, 753, 754, 757, 760, 765, 770, 774, 777, 782, 785, 790, - 793, 798, 801, 804, 807, 810, 815, 818, 821, 824, - 827, 830, 833, 836, 839, 842, 845, 848, 851, 854, - 857, 860, 863, 866, 869, 874, 877, 878, 879, 882, - 885, 888, 891, 895, 899, 903, 906 + 793, 798, 801, 804, 807, 810, 813, 819, 822, 825, + 828, 831, 834, 837, 840, 843, 846, 849, 852, 855, + 858, 861, 864, 867, 870, 873, 878, 881, 882, 883, + 886, 889, 892, 895, 899, 903, 907, 910 }; #endif @@ -783,51 +783,51 @@ static const yytype_uint16 yytoknum[] = }; # endif -#define YYPACT_NINF -180 +#define YYPACT_NINF -155 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-180))) + (!!((Yystate) == (-155))) -#define YYTABLE_NINF -146 +#define YYTABLE_NINF -147 #define yytable_value_is_error(Yytable_value) \ - (!!((Yytable_value) == (-146))) + (!!((Yytable_value) == (-147))) /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const yytype_int16 yypact[] = { - 27, 736, 13, 51, -5, -8, -180, 23, -180, 67, - 736, 779, 779, 736, 15, 3, -180, 736, 464, 20, - 274, 437, 339, 1282, 736, -180, 6, -180, 8, 8, - 736, 51, 646, 736, -180, -180, -7, 1631, 9, 52, - 46, 74, -180, 75, -180, -10, 22, 1117, -180, -180, - -180, 109, 23, 55, 49, -180, 918, -37, 61, -180, - -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, - -180, -180, -180, -180, -180, -180, -180, -180, 528, 113, - 64, 69, 68, 87, 736, 736, 736, 736, 736, 736, - 736, 736, 736, 736, 736, 736, 736, 736, 736, 736, - 736, 736, 736, 736, 736, 736, 736, 736, -180, -180, - 1795, 79, -25, 8, 148, 124, -180, -180, -180, 1795, - 736, -180, -180, 1332, 1795, -20, -180, -180, 14, 736, - 555, -25, -25, 619, 92, -180, 18, -180, -180, -180, - -180, -180, -180, 395, -180, 773, 82, 1150, -180, 773, - 773, -180, 395, 1861, 184, 184, 1828, 334, 1881, 1861, - 1861, 1861, 1861, 1861, 1861, 184, 184, 1795, 1828, 1861, - 184, 184, -10, -10, 83, 83, 83, -180, 135, -25, - 837, 97, 90, 85, 736, 94, 869, 19, -180, -180, - 736, -180, 80, -180, 140, -2, -180, 1382, -180, 1582, - 99, 100, -180, -180, 736, -180, 736, -180, 114, -180, - 773, 117, 56, 98, 103, 117, 117, -180, -180, -180, - -12, 105, 736, 164, 107, -21, -180, 110, 736, -180, - -180, 967, -180, 709, 116, -180, 170, -180, -180, -180, - 14, 118, -180, 736, 736, -180, 736, 736, 1795, 1664, - -180, 773, 773, 773, -25, -180, -25, 1183, -180, -25, - 837, -180, -25, 1795, 119, 122, 1016, -180, -180, -180, - 736, 1713, 1762, 1432, 1482, -180, 117, 117, 117, -180, - -180, 120, -180, -180, -180, -180, -180, 127, 1532, -180, - 736, 736, 736, -25, -180, -180, 1582, 1216, 1065, -180, - -180, -180, 736, -180, 1249, -180 + 20, 709, 42, 50, 14, -3, -155, 7, -155, 58, + 709, 191, 191, 709, 18, 2, -155, 709, 465, 19, + 275, 438, 340, 1215, 709, -155, 6, -155, -2, -2, + 709, 50, 619, 709, -155, -155, 9, 1564, 17, 46, + 54, 111, -155, 116, -155, 3, 62, 1050, -155, -155, + -155, 122, 7, 68, 66, -155, 851, -26, 72, -155, + -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, + -155, -155, -155, -155, -155, -155, -155, -155, 709, 131, + 74, 75, 71, 92, 709, 709, 709, 709, 709, 709, + 709, 709, 709, 709, 709, 709, 709, 709, 709, 709, + 709, 709, 709, 709, 709, 709, 709, 709, -155, -155, + 1728, 84, -21, -2, 148, 130, -155, -155, -155, 1728, + 709, -155, -155, 1265, 1728, -5, -155, -155, 0, 709, + 529, -21, -21, 556, 98, -155, 34, -155, -155, -155, + -155, -155, -155, 396, 689, -155, 689, 1083, -155, 689, + 689, -155, 396, 1794, 335, 335, 1761, 768, 1814, 1794, + 1794, 1794, 1794, 1794, 1794, 335, 335, 1728, 1761, 1794, + 335, 335, 3, 3, 90, 90, 90, -155, 146, -21, + 770, 105, 101, 94, 709, 103, 802, 11, -155, -155, + 709, -155, 70, -155, 157, 61, -155, 1315, -155, 1515, + 104, 106, -155, -155, 709, -155, 709, -155, -10, -155, + 689, 121, 1, 121, 107, 121, 121, -155, -155, -155, + -19, 110, 112, 709, 164, 114, -23, -155, 117, 709, + -155, -155, 900, -155, 646, 123, -155, 169, -155, -155, + -155, 0, 119, -155, 709, 709, -155, 709, 709, 1728, + 1597, -155, 689, 689, -21, -155, -21, -21, 1116, -155, + -21, 770, -155, -21, 1728, 125, 127, 949, -155, -155, + -155, 709, 1646, 1695, 1365, 1415, -155, 121, 121, -155, + -155, -155, 124, -155, -155, -155, -155, -155, 133, 1465, + -155, 709, 709, 709, -21, -155, -155, 1515, 1149, 998, + -155, -155, -155, 709, -155, 1182, -155 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -840,48 +840,48 @@ 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, 154, 126, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 0, 0, - 152, 0, 0, 146, 0, 0, 0, 0, 0, 0, + 84, 0, 0, 83, 0, 101, 0, 0, 155, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 139, 140, 141, 142, 143, 144, 145, 0, 0, + 153, 0, 0, 147, 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, 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, 110, 0, 0, 0, 153, 0, + 79, 108, 100, 0, 0, 110, 0, 0, 154, 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, 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, 148, - 0, 149, 71, 0, 0, 151, 150, 147, 114, 117, - 0, 0, 0, 0, 0, 0, 119, 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, 0, 115, 0, 0, 121, 0, - 0, 116, 0, 11, 95, 94, 0, 86, 50, 57, - 0, 0, 0, 0, 0, 66, 69, 156, 155, 118, - 122, 0, 124, 120, 123, 92, 91, 93, 0, 68, - 0, 0, 0, 0, 90, 55, 0, 0, 0, 125, - 67, 12, 0, 14, 0, 13 + 0, 0, 19, 17, 0, 65, 0, 61, 0, 149, + 0, 157, 71, 150, 0, 152, 151, 148, 114, 117, + 0, 0, 0, 0, 0, 0, 0, 119, 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, 115, 0, 0, 0, 121, + 0, 0, 116, 0, 11, 95, 94, 0, 86, 50, + 57, 0, 0, 0, 0, 0, 66, 69, 156, 118, + 126, 122, 0, 124, 120, 123, 92, 91, 93, 0, + 68, 0, 0, 0, 0, 90, 55, 0, 0, 0, + 125, 67, 12, 0, 14, 0, 13 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -180, -180, -180, 150, 66, -1, -180, -180, 158, -9, - -180, -50, 5, -180, -180, 65, -105, -144, -4, -180, - 7, -129, -180, -180, -67, -179, -115, -180 + -155, -155, -155, 156, 73, -1, -155, -155, 162, -12, + -155, -49, 5, -155, -155, 67, -96, -136, -4, -155, + 12, -130, -155, -155, -57, -154, -104, -155 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 2, 3, 30, 118, 110, 31, 32, 115, 24, - 195, 196, 25, 44, 127, 136, 245, 211, 26, 125, - 126, 181, 220, 225, 226, 81, 82, 83 + 195, 196, 25, 44, 127, 136, 246, 211, 26, 125, + 126, 181, 220, 226, 227, 81, 82, 83 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -889,322 +889,306 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 23, 227, 200, 201, 42, 215, 216, 38, 39, 37, - 143, 111, 40, 27, 111, 52, 45, 47, 193, 112, - 56, 120, 131, 235, 48, 53, 260, 80, 209, 119, - 144, 123, 124, 116, 116, 254, 178, 217, 190, 179, - 191, 180, 1, 105, 106, 107, 261, 108, 16, 34, - 219, 49, 128, 255, 33, 129, 240, 111, 241, 205, - 206, 111, 207, 35, 43, 132, 250, 28, 29, 113, - 114, 36, 113, 114, 133, 194, 41, 147, 134, 135, - 236, 227, 137, 153, 154, 155, 156, 157, 158, 159, + 23, 200, 201, 42, 193, 52, 111, 38, 39, 37, + 213, 111, 40, 215, 216, 236, 45, 47, 120, 112, + 56, 143, 111, 48, 261, 53, 228, 80, 254, 119, + 131, 123, 124, 116, 116, 1, 144, 143, 16, 209, + 178, 145, 27, 179, 262, 180, 255, 35, 217, 219, + 49, 111, 144, 190, 34, 191, 105, 106, 107, 132, + 108, 194, 36, 43, 113, 114, 28, 29, 128, 113, + 114, 129, 237, 33, 251, 205, 206, 147, 207, 41, + 113, 114, 133, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 276, 277, 278, - 139, 120, 140, 186, 141, 113, 114, 148, 182, 113, - 114, 205, 206, 145, 238, 279, 149, 280, 197, 199, - 282, 150, 203, 284, 152, 151, 177, 187, 204, 218, - 108, 212, 213, 228, 239, 212, 212, 229, 80, 183, - 230, 232, 4, 5, 6, 7, 8, 80, 246, 247, - 252, 143, 9, 251, 299, 253, 10, 256, 258, 259, - 11, 12, 262, 267, 268, 13, 285, 14, 15, 286, - 270, 121, 293, 231, 294, 224, 188, 117, 16, 124, - 269, 300, 192, 283, -146, -146, 0, 237, 0, 0, - 17, 0, 0, 248, 0, 249, 212, 18, 0, 19, + 170, 171, 172, 173, 174, 175, 176, 228, 120, 113, + 114, 205, 206, 186, 239, 134, 277, 278, 182, 241, + 135, 242, 137, 139, 279, 140, 280, 281, 197, 199, + 283, 141, 203, 285, 146, 148, 149, 150, 151, 152, + 212, 177, 212, 187, 204, 212, 212, 108, 80, 183, + 218, 229, 4, 5, 6, 7, 8, 80, 230, 231, + 233, 240, 9, 247, 300, 248, 10, 252, 259, 253, + 11, 12, 256, 269, 257, 13, 260, 14, 15, 263, + 268, 271, 286, 232, 287, 225, 294, 121, 16, 124, + 295, 117, 270, 188, 192, 4, 5, 6, 7, 8, + 17, 301, 238, 249, 284, 250, 212, 18, 0, 19, 184, 20, 21, 185, 22, 0, 0, 0, 0, 0, - 0, 257, -146, -146, 0, 0, 0, 263, 0, 0, - 0, 0, 266, -146, -146, 103, 104, 105, 106, 107, - 0, 108, 271, 272, 0, 273, 274, 212, 212, 212, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 224, 0, 0, 0, 288, - 0, 0, 0, 0, -72, 50, 0, 0, 51, -72, - 0, 52, 0, -72, -72, -72, -72, -72, 0, 296, - 297, 298, 0, -72, -72, -72, 0, 0, -72, -72, - -72, 304, -72, 0, 0, 0, -72, -72, -72, -72, - -72, -72, -72, -72, 16, 0, 0, -72, 0, 0, - -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, - 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, 16, - 0, 0, 0, 101, 102, 103, 104, 105, 106, 107, - 0, 108, 0, 0, 0, 0, 208, 0, 78, 58, - 79, 0, 52, 0, 0, 0, -145, 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, 16, 0, 0, 54, 0, - 0, 4, 5, 6, 7, 8, 0, 0, 0, 0, - 0, 9, 0, 0, 78, 10, 79, 0, 0, 11, - 12, 0, -145, 0, 13, 46, 14, 15, 4, 5, - 6, 7, 8, 0, 0, 0, 0, 16, 9, 0, - 0, 0, 10, 0, 0, 0, 11, 12, 0, 17, - 0, 13, 0, 14, 15, 0, 18, 0, 19, 0, - 20, 21, 55, 22, 16, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, - 0, 0, 0, 18, 0, 19, 0, 20, 21, 146, - 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, 198, 14, 15, 4, + 0, 15, 258, 0, 0, 0, 0, 0, 264, 0, + 0, 16, 0, 267, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 272, 273, 0, 274, 275, 212, 212, + 18, 0, 19, 0, 20, 21, 0, 22, 0, 0, + 0, 0, 0, 0, 0, 0, 225, 0, 0, 0, + 289, 0, 0, 0, 0, -72, 50, 0, 0, 51, + -72, 0, 52, 0, -72, -72, -72, -72, -72, 0, + 297, 298, 299, 0, -72, -72, -72, 0, 0, -72, + -72, -72, 305, -72, 0, 0, 0, -72, -72, -72, + -72, -72, -72, -72, -72, 16, 0, 0, -72, 0, + 0, -72, -72, -72, -72, -72, -72, -72, -72, -72, + -72, 0, -72, -72, 0, -72, 0, -72, -72, -72, + -72, 57, -72, 0, 58, -147, -147, 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, -147, -147, 0, 0, 0, 0, 0, + 16, 0, 0, 0, -147, -147, 103, 104, 105, 106, + 107, 0, 108, 0, 0, 0, 0, 208, 0, 78, + 58, 79, 0, 52, 0, 0, 0, -146, 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, 16, 0, 0, 54, + 0, 0, 4, 5, 6, 7, 8, 0, 0, 0, + 0, 0, 9, 0, 0, 78, 10, 79, 0, 0, + 11, 12, 0, -146, 0, 13, 46, 14, 15, 4, 5, 6, 7, 8, 0, 0, 0, 0, 16, 9, 0, 0, 0, 10, 0, 0, 0, 11, 12, 0, 17, 0, 13, 0, 14, 15, 0, 18, 0, 19, - 0, 20, 21, 0, 22, 16, 0, 0, 0, 0, + 0, 20, 21, 55, 22, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 18, 0, 19, 0, 20, 21, - 202, 22, 0, 4, 5, 6, 7, 8, 0, 0, + 198, 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, 11, 12, 0, 0, 0, 13, 202, 14, 15, 4, 5, 6, 7, 8, 0, 0, 0, 0, 16, 9, 0, 0, 0, 10, 0, 0, 0, 11, 12, 0, 17, 0, 13, 0, 14, 15, 0, 18, 0, 19, 0, 20, 21, 0, 22, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, - 0, 0, 0, 0, 122, 18, 0, 19, 0, 20, + 0, 0, 0, 0, 0, 18, 0, 19, 0, 20, 21, 0, 22, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 9, 0, 0, 0, 10, 0, 0, 0, 11, 12, 0, 0, 0, 13, 0, 14, 15, 4, 5, 6, 7, 8, 0, 0, 0, 0, 16, 9, 0, 0, 0, 10, 0, 0, 0, 11, 12, - 0, 17, 0, 13, 0, 14, 15, 0, 18, 0, - 19, 0, 20, 21, 265, 22, 16, 4, 5, 6, - 7, 8, 0, 4, 5, 6, 7, 8, 17, 0, + 0, 17, 0, 13, 0, 14, 15, 122, 18, 0, + 19, 0, 20, 21, 0, 22, 16, 0, 0, 0, + 0, 0, 0, 4, 5, 6, 7, 8, 17, 0, 0, 0, 0, 0, 0, 18, 0, 19, 0, 20, - 21, 0, 22, 15, 0, 0, 0, 0, 0, 15, - 0, 0, 0, 16, 0, 0, 0, 0, 0, 16, - 0, 0, 0, 0, 0, 210, 0, 0, 0, 0, - 0, 0, 18, 0, 19, 0, 20, 21, 18, 22, - 19, 221, 20, 21, 52, 22, 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, 16, 84, 85, - 86, 87, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 88, 89, 222, 0, 223, 0, + 21, 266, 22, 4, 5, 6, 7, 8, 0, 15, + 0, 0, 0, 9, 0, 0, 0, 10, 0, 16, + 0, 11, 12, 0, 0, 0, 13, 0, 14, 15, + 0, 210, 0, 0, 0, 0, 0, 0, 18, 16, + 19, 0, 20, 21, 0, 22, 0, 0, 0, 0, + 0, 17, 0, 0, 0, 0, 0, 0, 18, 0, + 19, 221, 20, 21, 222, 22, 0, 52, 85, 86, + 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, 96, 97, 0, 0, + 16, 84, 85, 86, 87, 0, 0, 101, 102, 103, + 104, 105, 106, 107, 0, 108, 0, 88, 89, 223, + 0, 224, 0, 0, 90, 91, 92, 93, 94, 95, + 96, 97, 0, 0, 0, 0, 0, 0, 98, 99, + 100, 101, 102, 103, 104, 105, 106, 107, 0, 108, + 84, 85, 86, 87, 234, 0, 0, 235, 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, 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, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 0, 108, 84, 85, + 86, 87, 0, 0, 0, 265, 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, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 0, 108, 84, 85, 86, - 87, 233, 0, 0, 234, 0, 0, 0, 0, 0, + 87, 0, 0, 0, 288, 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, 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, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 0, 108, 84, 85, 86, 87, 0, - 0, 0, 264, 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, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 0, 108, 84, 85, 86, 87, 0, 0, - 0, 287, 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, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 0, 108, 302, 0, 303, 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, 84, - 85, 86, 87, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 0, 108, 88, 89, 138, 0, 0, + 104, 105, 106, 107, 0, 108, 303, 0, 304, 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, 84, 85, 86, 87, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 0, 108, 88, 89, - 214, 0, 0, 0, 0, 90, 91, 92, 93, 94, + 138, 0, 0, 0, 0, 90, 91, 92, 93, 94, 95, 96, 97, 0, 0, 84, 85, 86, 87, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 0, - 108, 88, 89, 281, 0, 0, 0, 0, 90, 91, + 108, 88, 89, 214, 0, 0, 0, 0, 90, 91, 92, 93, 94, 95, 96, 97, 0, 0, 84, 85, 86, 87, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 0, 108, 88, 89, 301, 0, 0, 0, + 106, 107, 0, 108, 88, 89, 282, 0, 0, 0, 0, 90, 91, 92, 93, 94, 95, 96, 97, 0, 0, 84, 85, 86, 87, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 0, 108, 88, 89, 305, - 0, 0, 0, 0, 90, 91, 92, 93, 94, 95, - 96, 97, 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, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 0, 108, - 189, 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, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 0, 108, - 242, 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, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 0, 108, - 291, 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, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 0, 108, - 292, 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, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 0, 108, - 295, 84, 85, 86, 87, 0, 0, 0, 0, 0, - 0, 0, 243, 244, 0, 0, 0, 88, 89, 0, - 0, 0, 0, 0, 90, 91, 92, 93, 94, 95, - 96, 97, 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, 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, 275, 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, 289, 88, 89, - 0, 0, 0, 0, 0, 90, 91, 92, 93, 94, - 95, 96, 97, 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, 290, 0, 0, 0, 0, 0, 88, 89, 0, + 103, 104, 105, 106, 107, 0, 108, 88, 89, 302, 0, 0, 0, 0, 90, 91, 92, 93, 94, 95, 96, 97, 0, 0, 84, 85, 86, 87, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 0, 108, + 88, 89, 306, 0, 0, 0, 0, 90, 91, 92, + 93, 94, 95, 96, 97, 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, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 0, 108, 189, 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, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 0, 108, 243, 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, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 0, 108, 292, 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, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 0, 108, 293, 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, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 0, 108, 296, 84, 85, 86, 87, 0, 0, + 0, 0, 0, 0, 0, 244, 245, 0, 0, 0, + 88, 89, 0, 0, 0, 0, 0, 90, 91, 92, + 93, 94, 95, 96, 97, 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, 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, + 276, 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, + 290, 88, 89, 0, 0, 0, 0, 0, 90, 91, + 92, 93, 94, 95, 96, 97, 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, 291, 0, 0, 0, 0, 0, 88, 89, 0, 0, 0, 0, 0, 90, 91, 92, 93, 94, 95, 96, 97, 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, - -146, 85, 86, 0, 0, 0, 100, 101, 102, 103, + 84, 85, 86, 87, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 0, 108, 88, 89, 0, 0, - 0, 85, 86, -146, -146, -146, -146, -146, -146, 96, - 97, 0, 0, 0, 0, 0, 88, 0, 0, -146, - 101, 102, 103, 104, 105, 106, 107, 0, 108, 96, - 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 101, 102, 103, 104, 105, 106, 107, 0, 108 + 0, 0, 0, 90, 91, 92, 93, 94, 95, 96, + 97, 0, 0, -147, 85, 86, 0, 0, 0, 100, + 101, 102, 103, 104, 105, 106, 107, 0, 108, 88, + 89, 0, 0, 0, 85, 86, -147, -147, -147, -147, + -147, -147, 96, 97, 0, 0, 0, 0, 0, 88, + 0, 0, -147, 101, 102, 103, 104, 105, 106, 107, + 0, 108, 96, 97, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 101, 102, 103, 104, 105, 106, 107, + 0, 108 }; static const yytype_int16 yycheck[] = { - 1, 180, 131, 132, 1, 149, 150, 11, 12, 10, - 47, 5, 13, 0, 5, 7, 17, 18, 4, 13, - 21, 30, 13, 4, 4, 20, 47, 22, 143, 30, - 67, 32, 33, 28, 29, 47, 61, 152, 58, 64, - 60, 66, 15, 53, 54, 55, 67, 57, 40, 57, - 179, 31, 59, 65, 59, 62, 58, 5, 60, 41, - 42, 5, 44, 40, 61, 13, 210, 16, 17, 63, - 64, 4, 63, 64, 28, 61, 61, 78, 4, 4, - 61, 260, 60, 84, 85, 86, 87, 88, 89, 90, + 1, 131, 132, 1, 4, 7, 5, 11, 12, 10, + 146, 5, 13, 149, 150, 4, 17, 18, 30, 13, + 21, 47, 5, 4, 47, 20, 180, 22, 47, 30, + 13, 32, 33, 28, 29, 15, 62, 47, 40, 143, + 61, 67, 0, 64, 67, 66, 65, 40, 152, 179, + 31, 5, 62, 58, 57, 60, 53, 54, 55, 13, + 57, 61, 4, 61, 63, 64, 16, 17, 59, 63, + 64, 62, 61, 59, 210, 41, 42, 78, 44, 61, + 63, 64, 28, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 251, 252, 253, - 1, 120, 57, 114, 65, 63, 64, 4, 113, 63, - 64, 41, 42, 62, 44, 254, 62, 256, 129, 130, - 259, 62, 133, 262, 47, 67, 57, 13, 46, 4, - 57, 145, 60, 46, 4, 149, 150, 57, 143, 1, - 65, 57, 4, 5, 6, 7, 8, 152, 59, 59, - 62, 47, 14, 46, 293, 62, 18, 62, 4, 62, - 22, 23, 62, 57, 4, 27, 57, 29, 30, 57, - 62, 31, 62, 184, 57, 180, 120, 29, 40, 190, - 240, 296, 127, 260, 10, 11, -1, 190, -1, -1, - 52, -1, -1, 204, -1, 206, 210, 59, -1, 61, + 101, 102, 103, 104, 105, 106, 107, 261, 120, 63, + 64, 41, 42, 114, 44, 4, 252, 253, 113, 58, + 4, 60, 60, 1, 254, 57, 256, 257, 129, 130, + 260, 65, 133, 263, 62, 4, 62, 62, 67, 47, + 144, 57, 146, 13, 46, 149, 150, 57, 143, 1, + 4, 46, 4, 5, 6, 7, 8, 152, 57, 65, + 57, 4, 14, 59, 294, 59, 18, 46, 4, 62, + 22, 23, 62, 4, 62, 27, 62, 29, 30, 62, + 57, 62, 57, 184, 57, 180, 62, 31, 40, 190, + 57, 29, 241, 120, 127, 4, 5, 6, 7, 8, + 52, 297, 190, 204, 261, 206, 210, 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, -1, -1, -1, - -1, 222, 38, 39, -1, -1, -1, 228, -1, -1, - -1, -1, 233, 49, 50, 51, 52, 53, 54, 55, - -1, 57, 243, 244, -1, 246, 247, 251, 252, 253, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 260, -1, -1, -1, 270, - -1, -1, -1, -1, 0, 1, -1, -1, 4, 5, - -1, 7, -1, 9, 10, 11, 12, 13, -1, 290, - 291, 292, -1, 19, 20, 21, -1, -1, 24, 25, - 26, 302, 28, -1, -1, -1, 32, 33, 34, 35, - 36, 37, 38, 39, 40, -1, -1, 43, -1, -1, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, - 1, 67, -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, 40, - -1, -1, -1, 49, 50, 51, 52, 53, 54, 55, - -1, 57, -1, -1, -1, -1, 1, -1, 59, 4, - 61, -1, 7, -1, -1, -1, 67, -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, 40, -1, -1, 1, -1, - -1, 4, 5, 6, 7, 8, -1, -1, -1, -1, - -1, 14, -1, -1, 59, 18, 61, -1, -1, 22, - 23, -1, 67, -1, 27, 1, 29, 30, 4, 5, - 6, 7, 8, -1, -1, -1, -1, 40, 14, -1, - -1, -1, 18, -1, -1, -1, 22, 23, -1, 52, - -1, 27, -1, 29, 30, -1, 59, -1, 61, -1, - 63, 64, 65, 66, 40, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 52, -1, -1, -1, - -1, -1, -1, 59, -1, 61, -1, 63, 64, 1, - 66, -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, 4, + -1, 30, 223, -1, -1, -1, -1, -1, 229, -1, + -1, 40, -1, 234, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 244, 245, -1, 247, 248, 252, 253, + 59, -1, 61, -1, 63, 64, -1, 66, -1, -1, + -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, + 271, -1, -1, -1, -1, 0, 1, -1, -1, 4, + 5, -1, 7, -1, 9, 10, 11, 12, 13, -1, + 291, 292, 293, -1, 19, 20, 21, -1, -1, 24, + 25, 26, 303, 28, -1, -1, -1, 32, 33, 34, + 35, 36, 37, 38, 39, 40, -1, -1, 43, -1, + -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, + 65, 1, 67, -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, + 40, -1, -1, -1, 49, 50, 51, 52, 53, 54, + 55, -1, 57, -1, -1, -1, -1, 1, -1, 59, + 4, 61, -1, 7, -1, -1, -1, 67, -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, 40, -1, -1, 1, + -1, -1, 4, 5, 6, 7, 8, -1, -1, -1, + -1, -1, 14, -1, -1, 59, 18, 61, -1, -1, + 22, 23, -1, 67, -1, 27, 1, 29, 30, 4, 5, 6, 7, 8, -1, -1, -1, -1, 40, 14, -1, -1, -1, 18, -1, -1, -1, 22, 23, -1, 52, -1, 27, -1, 29, 30, -1, 59, -1, 61, - -1, 63, 64, -1, 66, 40, -1, -1, -1, -1, + -1, 63, 64, 65, 66, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 52, -1, -1, -1, -1, -1, -1, 59, -1, 61, -1, 63, 64, 1, 66, -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, 22, 23, -1, -1, -1, 27, 1, 29, 30, 4, 5, 6, 7, 8, -1, -1, -1, -1, 40, 14, -1, -1, -1, 18, -1, -1, -1, 22, 23, -1, 52, -1, 27, -1, 29, 30, -1, 59, -1, 61, -1, 63, 64, -1, 66, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 52, -1, - -1, -1, -1, -1, 58, 59, -1, 61, -1, 63, + -1, -1, -1, -1, -1, 59, -1, 61, -1, 63, 64, -1, 66, 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, 4, 5, 6, 7, 8, -1, -1, -1, -1, 40, 14, -1, -1, -1, 18, -1, -1, -1, 22, 23, - -1, 52, -1, 27, -1, 29, 30, -1, 59, -1, - 61, -1, 63, 64, 65, 66, 40, 4, 5, 6, - 7, 8, -1, 4, 5, 6, 7, 8, 52, -1, + -1, 52, -1, 27, -1, 29, 30, 58, 59, -1, + 61, -1, 63, 64, -1, 66, 40, -1, -1, -1, + -1, -1, -1, 4, 5, 6, 7, 8, 52, -1, -1, -1, -1, -1, -1, 59, -1, 61, -1, 63, - 64, -1, 66, 30, -1, -1, -1, -1, -1, 30, - -1, -1, -1, 40, -1, -1, -1, -1, -1, 40, - -1, -1, -1, -1, -1, 52, -1, -1, -1, -1, - -1, -1, 59, -1, 61, -1, 63, 64, 59, 66, - 61, 4, 63, 64, 7, 66, -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, 40, 9, 10, - 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 25, 26, 59, -1, 61, -1, + 64, 65, 66, 4, 5, 6, 7, 8, -1, 30, + -1, -1, -1, 14, -1, -1, -1, 18, -1, 40, + -1, 22, 23, -1, -1, -1, 27, -1, 29, 30, + -1, 52, -1, -1, -1, -1, -1, -1, 59, 40, + 61, -1, 63, 64, -1, 66, -1, -1, -1, -1, + -1, 52, -1, -1, -1, -1, -1, -1, 59, -1, + 61, 1, 63, 64, 4, 66, -1, 7, 10, 11, + -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, 38, 39, -1, -1, + 40, 9, 10, 11, 12, -1, -1, 49, 50, 51, + 52, 53, 54, 55, -1, 57, -1, 25, 26, 59, + -1, 61, -1, -1, 32, 33, 34, 35, 36, 37, + 38, 39, -1, -1, -1, -1, -1, -1, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, -1, 57, + 9, 10, 11, 12, 62, -1, -1, 65, -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, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, -1, 57, 9, + 10, 11, 12, -1, -1, -1, 65, -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, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, -1, 57, 9, 10, + 11, 12, -1, -1, -1, 65, -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, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, -1, 57, 9, 10, 11, - 12, 62, -1, -1, 65, -1, -1, -1, -1, -1, + 12, -1, -1, -1, 65, -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, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, -1, 57, 9, 10, 11, 12, - -1, -1, -1, 65, -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, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, -1, 57, 9, 10, 11, 12, -1, - -1, -1, 65, -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, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, -1, 57, 9, 10, 11, 12, -1, -1, - -1, 65, -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, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, -1, 57, 58, -1, 60, 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, 9, - 10, 11, 12, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, -1, 57, 25, 26, 60, -1, -1, + 52, 53, 54, 55, -1, 57, 58, -1, 60, 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, 9, 10, 11, 12, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, -1, 57, 25, 26, @@ -1219,68 +1203,72 @@ static const yytype_int16 yycheck[] = -1, 9, 10, 11, 12, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, -1, 57, 25, 26, 60, -1, -1, -1, -1, 32, 33, 34, 35, 36, 37, - 38, 39, -1, -1, -1, -1, -1, -1, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, -1, 57, - 58, 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, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, -1, 57, - 58, 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, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, -1, 57, - 58, 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, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, -1, 57, - 58, 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, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, -1, 57, - 58, 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, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, -1, 57, - 58, 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, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, -1, 57, - 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, 9, 10, 11, 12, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, -1, 57, 25, - 26, -1, -1, -1, -1, -1, 32, 33, 34, 35, - 36, 37, 38, 39, -1, -1, -1, 43, -1, -1, - 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, 26, - -1, -1, -1, -1, -1, 32, 33, 34, 35, 36, - 37, 38, 39, -1, -1, -1, -1, -1, -1, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, -1, - 57, 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, 9, 10, 11, 12, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, -1, 57, + 25, 26, 60, -1, -1, -1, -1, 32, 33, 34, + 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, + -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, -1, 57, 58, 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, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, -1, 57, 58, 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, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, -1, 57, 58, 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, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, -1, 57, 58, 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, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, -1, 57, 58, 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, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, -1, 57, 58, 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, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, -1, 57, 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, 9, 10, 11, 12, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + -1, 57, 25, 26, -1, -1, -1, -1, -1, 32, + 33, 34, 35, 36, 37, 38, 39, -1, -1, -1, + 43, -1, -1, 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, 26, -1, -1, -1, -1, -1, 32, 33, + 34, 35, 36, 37, 38, 39, -1, -1, -1, -1, + -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, -1, 57, 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, 9, 10, 11, 12, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, -1, 57, 25, 26, -1, -1, -1, -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, -1, -1, - 9, 10, 11, -1, -1, -1, 48, 49, 50, 51, + 9, 10, 11, 12, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, -1, 57, 25, 26, -1, -1, - -1, 10, 11, 32, 33, 34, 35, 36, 37, 38, - 39, -1, -1, -1, -1, -1, 25, -1, -1, 48, - 49, 50, 51, 52, 53, 54, 55, -1, 57, 38, - 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 49, 50, 51, 52, 53, 54, 55, -1, 57 + -1, -1, -1, 32, 33, 34, 35, 36, 37, 38, + 39, -1, -1, 9, 10, 11, -1, -1, -1, 48, + 49, 50, 51, 52, 53, 54, 55, -1, 57, 25, + 26, -1, -1, -1, 10, 11, 32, 33, 34, 35, + 36, 37, 38, 39, -1, -1, -1, -1, -1, 25, + -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, + -1, 57, 38, 39, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 49, 50, 51, 52, 53, 54, 55, + -1, 57 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1301,23 +1289,23 @@ static const yytype_uint8 yystos[] = 73, 5, 13, 63, 64, 76, 80, 76, 72, 73, 77, 71, 58, 73, 73, 87, 88, 82, 59, 62, 19, 13, 13, 28, 4, 4, 83, 60, 60, 1, - 57, 65, 65, 47, 67, 62, 1, 73, 4, 62, + 57, 65, 65, 47, 62, 67, 62, 73, 4, 62, 62, 67, 47, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 57, 61, 64, 66, 89, 80, 1, 62, 65, 73, 13, 72, 58, 58, 60, 83, 4, 61, 78, 79, 73, 1, 73, 89, 89, 1, 73, 46, 41, 42, 44, 1, 94, - 52, 85, 86, 60, 60, 85, 85, 94, 4, 89, - 90, 4, 59, 61, 80, 91, 92, 93, 46, 57, - 65, 73, 57, 62, 65, 4, 61, 88, 44, 4, - 58, 60, 58, 20, 21, 84, 59, 59, 73, 73, - 85, 46, 62, 62, 47, 65, 62, 73, 4, 62, - 47, 67, 62, 73, 65, 65, 73, 57, 4, 79, - 62, 73, 73, 73, 73, 43, 85, 85, 85, 89, - 89, 60, 89, 92, 89, 57, 57, 65, 73, 24, - 19, 58, 58, 62, 57, 58, 73, 73, 73, 89, - 84, 60, 58, 60, 73, 60 + 52, 85, 86, 85, 60, 85, 85, 94, 4, 89, + 90, 1, 4, 59, 61, 80, 91, 92, 93, 46, + 57, 65, 73, 57, 62, 65, 4, 61, 88, 44, + 4, 58, 60, 58, 20, 21, 84, 59, 59, 73, + 73, 85, 46, 62, 47, 65, 62, 62, 73, 4, + 62, 47, 67, 62, 73, 65, 65, 73, 57, 4, + 79, 62, 73, 73, 73, 73, 43, 85, 85, 89, + 89, 89, 60, 89, 92, 89, 57, 57, 65, 73, + 24, 19, 58, 58, 62, 57, 58, 73, 73, 73, + 89, 84, 60, 58, 60, 73, 60 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ @@ -1335,10 +1323,10 @@ static const yytype_uint8 yyr1[] = 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 87, 87, 88, 89, 89, 89, 90, 90, 91, - 91, 92, 92, 92, 92, 92, 93, 93, 93, 93, + 91, 92, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 93, 93, 94, 94, 94, 94, 95, - 95, 95, 95, 95, 95, 95, 95 + 93, 93, 93, 93, 93, 93, 94, 94, 94, 94, + 95, 95, 95, 95, 95, 95, 95, 95 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -1356,10 +1344,10 @@ static const yytype_uint8 yyr2[] = 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, 2, 3, 3, 3, 5, 1, 1, 1, 1, + 3, 2, 3, 3, 3, 5, 3, 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, 5 + 1, 1, 1, 1, 1, 1, 0, 1, 3, 3, + 3, 3, 3, 1, 2, 1, 5, 3 }; @@ -1860,177 +1848,177 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio switch (yytype) { case 4: /* IDENT */ -#line 36 "parser.y" /* yacc.c:1257 */ +#line 36 "src/parser.y" /* yacc.c:1257 */ { jv_free(((*yyvaluep).literal)); } -#line 1866 "parser.c" /* yacc.c:1257 */ +#line 1854 "src/parser.c" /* yacc.c:1257 */ break; case 5: /* FIELD */ -#line 36 "parser.y" /* yacc.c:1257 */ +#line 36 "src/parser.y" /* yacc.c:1257 */ { jv_free(((*yyvaluep).literal)); } -#line 1872 "parser.c" /* yacc.c:1257 */ +#line 1860 "src/parser.c" /* yacc.c:1257 */ break; case 6: /* LITERAL */ -#line 36 "parser.y" /* yacc.c:1257 */ +#line 36 "src/parser.y" /* yacc.c:1257 */ { jv_free(((*yyvaluep).literal)); } -#line 1878 "parser.c" /* yacc.c:1257 */ +#line 1866 "src/parser.c" /* yacc.c:1257 */ break; case 7: /* FORMAT */ -#line 36 "parser.y" /* yacc.c:1257 */ +#line 36 "src/parser.y" /* yacc.c:1257 */ { jv_free(((*yyvaluep).literal)); } -#line 1884 "parser.c" /* yacc.c:1257 */ +#line 1872 "src/parser.c" /* yacc.c:1257 */ break; case 41: /* QQSTRING_TEXT */ -#line 36 "parser.y" /* yacc.c:1257 */ +#line 36 "src/parser.y" /* yacc.c:1257 */ { jv_free(((*yyvaluep).literal)); } -#line 1890 "parser.c" /* yacc.c:1257 */ +#line 1878 "src/parser.c" /* yacc.c:1257 */ break; case 70: /* Module */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1896 "parser.c" /* yacc.c:1257 */ +#line 1884 "src/parser.c" /* yacc.c:1257 */ break; case 71: /* Imports */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1902 "parser.c" /* yacc.c:1257 */ +#line 1890 "src/parser.c" /* yacc.c:1257 */ break; case 72: /* FuncDefs */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1908 "parser.c" /* yacc.c:1257 */ +#line 1896 "src/parser.c" /* yacc.c:1257 */ break; case 73: /* Exp */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1914 "parser.c" /* yacc.c:1257 */ +#line 1902 "src/parser.c" /* yacc.c:1257 */ break; case 74: /* Import */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1920 "parser.c" /* yacc.c:1257 */ +#line 1908 "src/parser.c" /* yacc.c:1257 */ break; case 75: /* ImportWhat */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1926 "parser.c" /* yacc.c:1257 */ +#line 1914 "src/parser.c" /* yacc.c:1257 */ break; case 76: /* ImportFrom */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1932 "parser.c" /* yacc.c:1257 */ +#line 1920 "src/parser.c" /* yacc.c:1257 */ break; case 77: /* FuncDef */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1938 "parser.c" /* yacc.c:1257 */ +#line 1926 "src/parser.c" /* yacc.c:1257 */ break; case 78: /* Params */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1944 "parser.c" /* yacc.c:1257 */ +#line 1932 "src/parser.c" /* yacc.c:1257 */ break; case 79: /* Param */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1950 "parser.c" /* yacc.c:1257 */ +#line 1938 "src/parser.c" /* yacc.c:1257 */ break; case 80: /* String */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1956 "parser.c" /* yacc.c:1257 */ +#line 1944 "src/parser.c" /* yacc.c:1257 */ break; case 83: /* QQString */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1962 "parser.c" /* yacc.c:1257 */ +#line 1950 "src/parser.c" /* yacc.c:1257 */ break; case 84: /* ElseBody */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1968 "parser.c" /* yacc.c:1257 */ +#line 1956 "src/parser.c" /* yacc.c:1257 */ break; case 85: /* ExpD */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1974 "parser.c" /* yacc.c:1257 */ +#line 1962 "src/parser.c" /* yacc.c:1257 */ break; case 86: /* Term */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1980 "parser.c" /* yacc.c:1257 */ +#line 1968 "src/parser.c" /* yacc.c:1257 */ break; case 87: /* Args */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1986 "parser.c" /* yacc.c:1257 */ +#line 1974 "src/parser.c" /* yacc.c:1257 */ break; case 88: /* Arg */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1992 "parser.c" /* yacc.c:1257 */ +#line 1980 "src/parser.c" /* yacc.c:1257 */ break; case 89: /* Pattern */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 1998 "parser.c" /* yacc.c:1257 */ +#line 1986 "src/parser.c" /* yacc.c:1257 */ break; case 90: /* ArrayPats */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 2004 "parser.c" /* yacc.c:1257 */ +#line 1992 "src/parser.c" /* yacc.c:1257 */ break; case 91: /* ObjPats */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 2010 "parser.c" /* yacc.c:1257 */ +#line 1998 "src/parser.c" /* yacc.c:1257 */ break; case 92: /* ObjPat */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 2016 "parser.c" /* yacc.c:1257 */ +#line 2004 "src/parser.c" /* yacc.c:1257 */ break; case 93: /* Keyword */ -#line 36 "parser.y" /* yacc.c:1257 */ +#line 36 "src/parser.y" /* yacc.c:1257 */ { jv_free(((*yyvaluep).literal)); } -#line 2022 "parser.c" /* yacc.c:1257 */ +#line 2010 "src/parser.c" /* yacc.c:1257 */ break; case 94: /* MkDict */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 2028 "parser.c" /* yacc.c:1257 */ +#line 2016 "src/parser.c" /* yacc.c:1257 */ break; case 95: /* MkDictPair */ -#line 37 "parser.y" /* yacc.c:1257 */ +#line 37 "src/parser.y" /* yacc.c:1257 */ { block_free(((*yyvaluep).blk)); } -#line 2034 "parser.c" /* yacc.c:1257 */ +#line 2022 "src/parser.c" /* yacc.c:1257 */ break; @@ -2322,31 +2310,31 @@ yyreduce: switch (yyn) { case 2: -#line 291 "parser.y" /* yacc.c:1646 */ +#line 291 "src/parser.y" /* yacc.c:1646 */ { *answer = BLOCK((yyvsp[-2].blk), (yyvsp[-1].blk), gen_op_simple(TOP), (yyvsp[0].blk)); } -#line 2330 "parser.c" /* yacc.c:1646 */ +#line 2318 "src/parser.c" /* yacc.c:1646 */ break; case 3: -#line 294 "parser.y" /* yacc.c:1646 */ +#line 294 "src/parser.y" /* yacc.c:1646 */ { *answer = BLOCK((yyvsp[-2].blk), (yyvsp[-1].blk), (yyvsp[0].blk)); } -#line 2338 "parser.c" /* yacc.c:1646 */ +#line 2326 "src/parser.c" /* yacc.c:1646 */ break; case 4: -#line 299 "parser.y" /* yacc.c:1646 */ +#line 299 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_noop(); } -#line 2346 "parser.c" /* yacc.c:1646 */ +#line 2334 "src/parser.c" /* yacc.c:1646 */ break; case 5: -#line 302 "parser.y" /* yacc.c:1646 */ +#line 302 "src/parser.y" /* yacc.c:1646 */ { if (!block_is_const((yyvsp[-1].blk))) { FAIL((yyloc), "Module metadata must be constant"); @@ -2356,366 +2344,366 @@ yyreduce: (yyval.blk) = gen_module((yyvsp[-1].blk)); } } -#line 2360 "parser.c" /* yacc.c:1646 */ +#line 2348 "src/parser.c" /* yacc.c:1646 */ break; case 6: -#line 313 "parser.y" /* yacc.c:1646 */ +#line 313 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_noop(); } -#line 2368 "parser.c" /* yacc.c:1646 */ +#line 2356 "src/parser.c" /* yacc.c:1646 */ break; case 7: -#line 316 "parser.y" /* yacc.c:1646 */ +#line 316 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = BLOCK((yyvsp[-1].blk), (yyvsp[0].blk)); } -#line 2376 "parser.c" /* yacc.c:1646 */ +#line 2364 "src/parser.c" /* yacc.c:1646 */ break; case 8: -#line 321 "parser.y" /* yacc.c:1646 */ +#line 321 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_noop(); } -#line 2384 "parser.c" /* yacc.c:1646 */ +#line 2372 "src/parser.c" /* yacc.c:1646 */ break; case 9: -#line 324 "parser.y" /* yacc.c:1646 */ +#line 324 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = block_bind((yyvsp[-1].blk), (yyvsp[0].blk), OP_IS_CALL_PSEUDO); } -#line 2392 "parser.c" /* yacc.c:1646 */ +#line 2380 "src/parser.c" /* yacc.c:1646 */ break; case 10: -#line 329 "parser.y" /* yacc.c:1646 */ +#line 329 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = block_bind_referenced((yyvsp[-1].blk), (yyvsp[0].blk), OP_IS_CALL_PSEUDO); } -#line 2400 "parser.c" /* yacc.c:1646 */ +#line 2388 "src/parser.c" /* yacc.c:1646 */ break; case 11: -#line 333 "parser.y" /* yacc.c:1646 */ +#line 333 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_destructure((yyvsp[-4].blk), (yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2408 "parser.c" /* yacc.c:1646 */ +#line 2396 "src/parser.c" /* yacc.c:1646 */ break; case 12: -#line 337 "parser.y" /* yacc.c:1646 */ +#line 337 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_reduce((yyvsp[-7].blk), (yyvsp[-5].blk), (yyvsp[-3].blk), (yyvsp[-1].blk)); } -#line 2416 "parser.c" /* yacc.c:1646 */ +#line 2404 "src/parser.c" /* yacc.c:1646 */ break; case 13: -#line 341 "parser.y" /* yacc.c:1646 */ +#line 341 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_foreach((yyvsp[-9].blk), (yyvsp[-7].blk), (yyvsp[-5].blk), (yyvsp[-3].blk), (yyvsp[-1].blk)); } -#line 2424 "parser.c" /* yacc.c:1646 */ +#line 2412 "src/parser.c" /* yacc.c:1646 */ break; case 14: -#line 345 "parser.y" /* yacc.c:1646 */ +#line 345 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_foreach((yyvsp[-7].blk), (yyvsp[-5].blk), (yyvsp[-3].blk), (yyvsp[-1].blk), gen_noop()); } -#line 2432 "parser.c" /* yacc.c:1646 */ +#line 2420 "src/parser.c" /* yacc.c:1646 */ break; case 15: -#line 349 "parser.y" /* yacc.c:1646 */ +#line 349 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_cond((yyvsp[-3].blk), (yyvsp[-1].blk), (yyvsp[0].blk)); } -#line 2440 "parser.c" /* yacc.c:1646 */ +#line 2428 "src/parser.c" /* yacc.c:1646 */ break; case 16: -#line 352 "parser.y" /* yacc.c:1646 */ +#line 352 "src/parser.y" /* yacc.c:1646 */ { FAIL((yyloc), "Possibly unterminated 'if' statement"); (yyval.blk) = (yyvsp[-2].blk); } -#line 2449 "parser.c" /* yacc.c:1646 */ +#line 2437 "src/parser.c" /* yacc.c:1646 */ break; case 17: -#line 357 "parser.y" /* yacc.c:1646 */ +#line 357 "src/parser.y" /* yacc.c:1646 */ { //$$ = BLOCK(gen_op_target(FORK_OPT, $2), $2, $4); (yyval.blk) = gen_try((yyvsp[-2].blk), gen_try_handler((yyvsp[0].blk))); } -#line 2458 "parser.c" /* yacc.c:1646 */ +#line 2446 "src/parser.c" /* yacc.c:1646 */ break; case 18: -#line 361 "parser.y" /* yacc.c:1646 */ +#line 361 "src/parser.y" /* yacc.c:1646 */ { //$$ = BLOCK(gen_op_target(FORK_OPT, $2), $2, gen_op_simple(BACKTRACK)); (yyval.blk) = gen_try((yyvsp[0].blk), gen_op_simple(BACKTRACK)); } -#line 2467 "parser.c" /* yacc.c:1646 */ +#line 2455 "src/parser.c" /* yacc.c:1646 */ break; case 19: -#line 365 "parser.y" /* yacc.c:1646 */ +#line 365 "src/parser.y" /* yacc.c:1646 */ { FAIL((yyloc), "Possibly unterminated 'try' statement"); (yyval.blk) = (yyvsp[-2].blk); } -#line 2476 "parser.c" /* yacc.c:1646 */ +#line 2464 "src/parser.c" /* yacc.c:1646 */ break; case 20: -#line 370 "parser.y" /* yacc.c:1646 */ +#line 370 "src/parser.y" /* yacc.c:1646 */ { jv v = jv_string_fmt("*label-%s", jv_string_value((yyvsp[-2].literal))); (yyval.blk) = gen_location((yyloc), locations, gen_label(jv_string_value(v), (yyvsp[0].blk))); jv_free((yyvsp[-2].literal)); jv_free(v); } -#line 2487 "parser.c" /* yacc.c:1646 */ +#line 2475 "src/parser.c" /* yacc.c:1646 */ break; case 21: -#line 377 "parser.y" /* yacc.c:1646 */ +#line 377 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_try((yyvsp[-1].blk), gen_op_simple(BACKTRACK)); } -#line 2495 "parser.c" /* yacc.c:1646 */ +#line 2483 "src/parser.c" /* yacc.c:1646 */ break; case 22: -#line 381 "parser.y" /* yacc.c:1646 */ +#line 381 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_call("_assign", BLOCK(gen_lambda((yyvsp[-2].blk)), gen_lambda((yyvsp[0].blk)))); } -#line 2503 "parser.c" /* yacc.c:1646 */ +#line 2491 "src/parser.c" /* yacc.c:1646 */ break; case 23: -#line 385 "parser.y" /* yacc.c:1646 */ +#line 385 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_or((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2511 "parser.c" /* yacc.c:1646 */ +#line 2499 "src/parser.c" /* yacc.c:1646 */ break; case 24: -#line 389 "parser.y" /* yacc.c:1646 */ +#line 389 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_and((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2519 "parser.c" /* yacc.c:1646 */ +#line 2507 "src/parser.c" /* yacc.c:1646 */ break; case 25: -#line 393 "parser.y" /* yacc.c:1646 */ +#line 393 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_definedor((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2527 "parser.c" /* yacc.c:1646 */ +#line 2515 "src/parser.c" /* yacc.c:1646 */ break; case 26: -#line 397 "parser.y" /* yacc.c:1646 */ +#line 397 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_definedor_assign((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2535 "parser.c" /* yacc.c:1646 */ +#line 2523 "src/parser.c" /* yacc.c:1646 */ break; case 27: -#line 401 "parser.y" /* yacc.c:1646 */ +#line 401 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_call("_modify", BLOCK(gen_lambda((yyvsp[-2].blk)), gen_lambda((yyvsp[0].blk)))); } -#line 2543 "parser.c" /* yacc.c:1646 */ +#line 2531 "src/parser.c" /* yacc.c:1646 */ break; case 28: -#line 405 "parser.y" /* yacc.c:1646 */ +#line 405 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = block_join((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2551 "parser.c" /* yacc.c:1646 */ +#line 2539 "src/parser.c" /* yacc.c:1646 */ break; case 29: -#line 409 "parser.y" /* yacc.c:1646 */ +#line 409 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_both((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2559 "parser.c" /* yacc.c:1646 */ +#line 2547 "src/parser.c" /* yacc.c:1646 */ break; case 30: -#line 413 "parser.y" /* yacc.c:1646 */ +#line 413 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '+'); } -#line 2567 "parser.c" /* yacc.c:1646 */ +#line 2555 "src/parser.c" /* yacc.c:1646 */ break; case 31: -#line 417 "parser.y" /* yacc.c:1646 */ +#line 417 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_update((yyvsp[-2].blk), (yyvsp[0].blk), '+'); } -#line 2575 "parser.c" /* yacc.c:1646 */ +#line 2563 "src/parser.c" /* yacc.c:1646 */ break; case 32: -#line 421 "parser.y" /* yacc.c:1646 */ +#line 421 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = BLOCK((yyvsp[0].blk), gen_call("_negate", gen_noop())); } -#line 2583 "parser.c" /* yacc.c:1646 */ +#line 2571 "src/parser.c" /* yacc.c:1646 */ break; case 33: -#line 425 "parser.y" /* yacc.c:1646 */ +#line 425 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '-'); } -#line 2591 "parser.c" /* yacc.c:1646 */ +#line 2579 "src/parser.c" /* yacc.c:1646 */ break; case 34: -#line 429 "parser.y" /* yacc.c:1646 */ +#line 429 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_update((yyvsp[-2].blk), (yyvsp[0].blk), '-'); } -#line 2599 "parser.c" /* yacc.c:1646 */ +#line 2587 "src/parser.c" /* yacc.c:1646 */ break; case 35: -#line 433 "parser.y" /* yacc.c:1646 */ +#line 433 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '*'); } -#line 2607 "parser.c" /* yacc.c:1646 */ +#line 2595 "src/parser.c" /* yacc.c:1646 */ break; case 36: -#line 437 "parser.y" /* yacc.c:1646 */ +#line 437 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_update((yyvsp[-2].blk), (yyvsp[0].blk), '*'); } -#line 2615 "parser.c" /* yacc.c:1646 */ +#line 2603 "src/parser.c" /* yacc.c:1646 */ break; case 37: -#line 441 "parser.y" /* yacc.c:1646 */ +#line 441 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '/'); if (block_is_const_inf((yyval.blk))) FAIL((yyloc), "Division by zero?"); } -#line 2625 "parser.c" /* yacc.c:1646 */ +#line 2613 "src/parser.c" /* yacc.c:1646 */ break; case 38: -#line 447 "parser.y" /* yacc.c:1646 */ +#line 447 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '%'); if (block_is_const_inf((yyval.blk))) FAIL((yyloc), "Remainder by zero?"); } -#line 2635 "parser.c" /* yacc.c:1646 */ +#line 2623 "src/parser.c" /* yacc.c:1646 */ break; case 39: -#line 453 "parser.y" /* yacc.c:1646 */ +#line 453 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_update((yyvsp[-2].blk), (yyvsp[0].blk), '/'); } -#line 2643 "parser.c" /* yacc.c:1646 */ +#line 2631 "src/parser.c" /* yacc.c:1646 */ break; case 40: -#line 457 "parser.y" /* yacc.c:1646 */ +#line 457 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_update((yyvsp[-2].blk), (yyvsp[0].blk), '%'); } -#line 2651 "parser.c" /* yacc.c:1646 */ +#line 2639 "src/parser.c" /* yacc.c:1646 */ break; case 41: -#line 461 "parser.y" /* yacc.c:1646 */ +#line 461 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), EQ); } -#line 2659 "parser.c" /* yacc.c:1646 */ +#line 2647 "src/parser.c" /* yacc.c:1646 */ break; case 42: -#line 465 "parser.y" /* yacc.c:1646 */ +#line 465 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), NEQ); } -#line 2667 "parser.c" /* yacc.c:1646 */ +#line 2655 "src/parser.c" /* yacc.c:1646 */ break; case 43: -#line 469 "parser.y" /* yacc.c:1646 */ +#line 469 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '<'); } -#line 2675 "parser.c" /* yacc.c:1646 */ +#line 2663 "src/parser.c" /* yacc.c:1646 */ break; case 44: -#line 473 "parser.y" /* yacc.c:1646 */ +#line 473 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), '>'); } -#line 2683 "parser.c" /* yacc.c:1646 */ +#line 2671 "src/parser.c" /* yacc.c:1646 */ break; case 45: -#line 477 "parser.y" /* yacc.c:1646 */ +#line 477 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), LESSEQ); } -#line 2691 "parser.c" /* yacc.c:1646 */ +#line 2679 "src/parser.c" /* yacc.c:1646 */ break; case 46: -#line 481 "parser.y" /* yacc.c:1646 */ +#line 481 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_binop((yyvsp[-2].blk), (yyvsp[0].blk), GREATEREQ); } -#line 2699 "parser.c" /* yacc.c:1646 */ +#line 2687 "src/parser.c" /* yacc.c:1646 */ break; case 47: -#line 485 "parser.y" /* yacc.c:1646 */ +#line 485 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[0].blk); } -#line 2707 "parser.c" /* yacc.c:1646 */ +#line 2695 "src/parser.c" /* yacc.c:1646 */ break; case 48: -#line 490 "parser.y" /* yacc.c:1646 */ +#line 490 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[-1].blk); } -#line 2715 "parser.c" /* yacc.c:1646 */ +#line 2703 "src/parser.c" /* yacc.c:1646 */ break; case 49: -#line 493 "parser.y" /* yacc.c:1646 */ +#line 493 "src/parser.y" /* yacc.c:1646 */ { if (!block_is_const((yyvsp[-1].blk))) { FAIL((yyloc), "Module metadata must be constant"); @@ -2731,11 +2719,11 @@ yyreduce: (yyval.blk) = gen_import_meta((yyvsp[-2].blk), (yyvsp[-1].blk)); } } -#line 2735 "parser.c" /* yacc.c:1646 */ +#line 2723 "src/parser.c" /* yacc.c:1646 */ break; case 50: -#line 510 "parser.y" /* yacc.c:1646 */ +#line 510 "src/parser.y" /* yacc.c:1646 */ { jv v = block_const((yyvsp[-3].blk)); // XXX Make gen_import take only blocks and the int is_data so we @@ -2745,11 +2733,11 @@ yyreduce: jv_free((yyvsp[0].literal)); jv_free(v); } -#line 2749 "parser.c" /* yacc.c:1646 */ +#line 2737 "src/parser.c" /* yacc.c:1646 */ break; case 51: -#line 519 "parser.y" /* yacc.c:1646 */ +#line 519 "src/parser.y" /* yacc.c:1646 */ { jv v = block_const((yyvsp[-2].blk)); (yyval.blk) = gen_import(jv_string_value(v), jv_string_value((yyvsp[0].literal)), 0); @@ -2757,22 +2745,22 @@ yyreduce: jv_free((yyvsp[0].literal)); jv_free(v); } -#line 2761 "parser.c" /* yacc.c:1646 */ +#line 2749 "src/parser.c" /* yacc.c:1646 */ break; case 52: -#line 526 "parser.y" /* yacc.c:1646 */ +#line 526 "src/parser.y" /* yacc.c:1646 */ { jv v = block_const((yyvsp[0].blk)); (yyval.blk) = gen_import(jv_string_value(v), NULL, 0); block_free((yyvsp[0].blk)); jv_free(v); } -#line 2772 "parser.c" /* yacc.c:1646 */ +#line 2760 "src/parser.c" /* yacc.c:1646 */ break; case 53: -#line 534 "parser.y" /* yacc.c:1646 */ +#line 534 "src/parser.y" /* yacc.c:1646 */ { if (!block_is_const((yyvsp[0].blk))) { FAIL((yyloc), "Import path must be constant"); @@ -2782,173 +2770,173 @@ yyreduce: (yyval.blk) = (yyvsp[0].blk); } } -#line 2786 "parser.c" /* yacc.c:1646 */ +#line 2774 "src/parser.c" /* yacc.c:1646 */ break; case 54: -#line 545 "parser.y" /* yacc.c:1646 */ +#line 545 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_function(jv_string_value((yyvsp[-3].literal)), gen_noop(), (yyvsp[-1].blk)); jv_free((yyvsp[-3].literal)); } -#line 2795 "parser.c" /* yacc.c:1646 */ +#line 2783 "src/parser.c" /* yacc.c:1646 */ break; case 55: -#line 550 "parser.y" /* yacc.c:1646 */ +#line 550 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_function(jv_string_value((yyvsp[-6].literal)), (yyvsp[-4].blk), (yyvsp[-1].blk)); jv_free((yyvsp[-6].literal)); } -#line 2804 "parser.c" /* yacc.c:1646 */ +#line 2792 "src/parser.c" /* yacc.c:1646 */ break; case 56: -#line 556 "parser.y" /* yacc.c:1646 */ +#line 556 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[0].blk); } -#line 2812 "parser.c" /* yacc.c:1646 */ +#line 2800 "src/parser.c" /* yacc.c:1646 */ break; case 57: -#line 559 "parser.y" /* yacc.c:1646 */ +#line 559 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = BLOCK((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2820 "parser.c" /* yacc.c:1646 */ +#line 2808 "src/parser.c" /* yacc.c:1646 */ break; case 58: -#line 564 "parser.y" /* yacc.c:1646 */ +#line 564 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_param_regular(jv_string_value((yyvsp[0].literal))); jv_free((yyvsp[0].literal)); } -#line 2829 "parser.c" /* yacc.c:1646 */ +#line 2817 "src/parser.c" /* yacc.c:1646 */ break; case 59: -#line 569 "parser.y" /* yacc.c:1646 */ +#line 569 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_param(jv_string_value((yyvsp[0].literal))); jv_free((yyvsp[0].literal)); } -#line 2838 "parser.c" /* yacc.c:1646 */ +#line 2826 "src/parser.c" /* yacc.c:1646 */ break; case 60: -#line 576 "parser.y" /* yacc.c:1646 */ +#line 576 "src/parser.y" /* yacc.c:1646 */ { (yyval.literal) = jv_string("text"); } -#line 2844 "parser.c" /* yacc.c:1646 */ +#line 2832 "src/parser.c" /* yacc.c:1646 */ break; case 61: -#line 576 "parser.y" /* yacc.c:1646 */ +#line 576 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[-1].blk); jv_free((yyvsp[-2].literal)); } -#line 2853 "parser.c" /* yacc.c:1646 */ +#line 2841 "src/parser.c" /* yacc.c:1646 */ break; case 62: -#line 580 "parser.y" /* yacc.c:1646 */ +#line 580 "src/parser.y" /* yacc.c:1646 */ { (yyval.literal) = (yyvsp[-1].literal); } -#line 2859 "parser.c" /* yacc.c:1646 */ +#line 2847 "src/parser.c" /* yacc.c:1646 */ break; case 63: -#line 580 "parser.y" /* yacc.c:1646 */ +#line 580 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[-1].blk); jv_free((yyvsp[-2].literal)); } -#line 2868 "parser.c" /* yacc.c:1646 */ +#line 2856 "src/parser.c" /* yacc.c:1646 */ break; case 64: -#line 587 "parser.y" /* yacc.c:1646 */ +#line 587 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_const(jv_string("")); } -#line 2876 "parser.c" /* yacc.c:1646 */ +#line 2864 "src/parser.c" /* yacc.c:1646 */ break; case 65: -#line 590 "parser.y" /* yacc.c:1646 */ +#line 590 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_binop((yyvsp[-1].blk), gen_const((yyvsp[0].literal)), '+'); } -#line 2884 "parser.c" /* yacc.c:1646 */ +#line 2872 "src/parser.c" /* yacc.c:1646 */ break; case 66: -#line 593 "parser.y" /* yacc.c:1646 */ +#line 593 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_binop((yyvsp[-3].blk), gen_format((yyvsp[-1].blk), jv_copy((yyvsp[-4].literal))), '+'); } -#line 2892 "parser.c" /* yacc.c:1646 */ +#line 2880 "src/parser.c" /* yacc.c:1646 */ break; case 67: -#line 599 "parser.y" /* yacc.c:1646 */ +#line 599 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_cond((yyvsp[-3].blk), (yyvsp[-1].blk), (yyvsp[0].blk)); } -#line 2900 "parser.c" /* yacc.c:1646 */ +#line 2888 "src/parser.c" /* yacc.c:1646 */ break; case 68: -#line 602 "parser.y" /* yacc.c:1646 */ +#line 602 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[-1].blk); } -#line 2908 "parser.c" /* yacc.c:1646 */ +#line 2896 "src/parser.c" /* yacc.c:1646 */ break; case 69: -#line 607 "parser.y" /* yacc.c:1646 */ +#line 607 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = block_join((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 2916 "parser.c" /* yacc.c:1646 */ +#line 2904 "src/parser.c" /* yacc.c:1646 */ break; case 70: -#line 610 "parser.y" /* yacc.c:1646 */ +#line 610 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = BLOCK((yyvsp[0].blk), gen_call("_negate", gen_noop())); } -#line 2924 "parser.c" /* yacc.c:1646 */ +#line 2912 "src/parser.c" /* yacc.c:1646 */ break; case 71: -#line 613 "parser.y" /* yacc.c:1646 */ +#line 613 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[0].blk); } -#line 2932 "parser.c" /* yacc.c:1646 */ +#line 2920 "src/parser.c" /* yacc.c:1646 */ break; case 72: -#line 619 "parser.y" /* yacc.c:1646 */ +#line 619 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_noop(); } -#line 2940 "parser.c" /* yacc.c:1646 */ +#line 2928 "src/parser.c" /* yacc.c:1646 */ break; case 73: -#line 622 "parser.y" /* yacc.c:1646 */ +#line 622 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_call("recurse", gen_noop()); } -#line 2948 "parser.c" /* yacc.c:1646 */ +#line 2936 "src/parser.c" /* yacc.c:1646 */ break; case 74: -#line 625 "parser.y" /* yacc.c:1646 */ +#line 625 "src/parser.y" /* yacc.c:1646 */ { jv v = jv_string_fmt("*label-%s", jv_string_value((yyvsp[0].literal))); // impossible symbol (yyval.blk) = gen_location((yyloc), locations, @@ -2957,231 +2945,231 @@ yyreduce: jv_free(v); jv_free((yyvsp[0].literal)); } -#line 2961 "parser.c" /* yacc.c:1646 */ +#line 2949 "src/parser.c" /* yacc.c:1646 */ break; case 75: -#line 633 "parser.y" /* yacc.c:1646 */ +#line 633 "src/parser.y" /* yacc.c:1646 */ { FAIL((yyloc), "break requires a label to break to"); (yyval.blk) = gen_noop(); } -#line 2970 "parser.c" /* yacc.c:1646 */ +#line 2958 "src/parser.c" /* yacc.c:1646 */ break; case 76: -#line 637 "parser.y" /* yacc.c:1646 */ +#line 637 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_index_opt((yyvsp[-2].blk), gen_const((yyvsp[-1].literal))); } -#line 2978 "parser.c" /* yacc.c:1646 */ +#line 2966 "src/parser.c" /* yacc.c:1646 */ break; case 77: -#line 640 "parser.y" /* yacc.c:1646 */ +#line 640 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_index_opt(gen_noop(), gen_const((yyvsp[-1].literal))); } -#line 2986 "parser.c" /* yacc.c:1646 */ +#line 2974 "src/parser.c" /* yacc.c:1646 */ break; case 78: -#line 643 "parser.y" /* yacc.c:1646 */ +#line 643 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_index_opt((yyvsp[-3].blk), (yyvsp[-1].blk)); } -#line 2994 "parser.c" /* yacc.c:1646 */ +#line 2982 "src/parser.c" /* yacc.c:1646 */ break; case 79: -#line 646 "parser.y" /* yacc.c:1646 */ +#line 646 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_index_opt(gen_noop(), (yyvsp[-1].blk)); } -#line 3002 "parser.c" /* yacc.c:1646 */ +#line 2990 "src/parser.c" /* yacc.c:1646 */ break; case 80: -#line 649 "parser.y" /* yacc.c:1646 */ +#line 649 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_index((yyvsp[-1].blk), gen_const((yyvsp[0].literal))); } -#line 3010 "parser.c" /* yacc.c:1646 */ +#line 2998 "src/parser.c" /* yacc.c:1646 */ break; case 81: -#line 652 "parser.y" /* yacc.c:1646 */ +#line 652 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_index(gen_noop(), gen_const((yyvsp[0].literal))); } -#line 3018 "parser.c" /* yacc.c:1646 */ +#line 3006 "src/parser.c" /* yacc.c:1646 */ break; case 82: -#line 655 "parser.y" /* yacc.c:1646 */ +#line 655 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_index((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 3026 "parser.c" /* yacc.c:1646 */ +#line 3014 "src/parser.c" /* yacc.c:1646 */ break; case 83: -#line 658 "parser.y" /* yacc.c:1646 */ +#line 658 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_index(gen_noop(), (yyvsp[0].blk)); } -#line 3034 "parser.c" /* yacc.c:1646 */ +#line 3022 "src/parser.c" /* yacc.c:1646 */ break; case 84: -#line 661 "parser.y" /* yacc.c:1646 */ +#line 661 "src/parser.y" /* yacc.c:1646 */ { FAIL((yyloc), "try .[\"field\"] instead of .field for unusually named fields"); (yyval.blk) = gen_noop(); } -#line 3043 "parser.c" /* yacc.c:1646 */ +#line 3031 "src/parser.c" /* yacc.c:1646 */ break; case 85: -#line 665 "parser.y" /* yacc.c:1646 */ +#line 665 "src/parser.y" /* yacc.c:1646 */ { jv_free((yyvsp[-1].literal)); FAIL((yyloc), "try .[\"field\"] instead of .field for unusually named fields"); (yyval.blk) = gen_noop(); } -#line 3053 "parser.c" /* yacc.c:1646 */ +#line 3041 "src/parser.c" /* yacc.c:1646 */ break; case 86: -#line 671 "parser.y" /* yacc.c:1646 */ +#line 671 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_index_opt((yyvsp[-4].blk), (yyvsp[-2].blk)); } -#line 3061 "parser.c" /* yacc.c:1646 */ +#line 3049 "src/parser.c" /* yacc.c:1646 */ break; case 87: -#line 674 "parser.y" /* yacc.c:1646 */ +#line 674 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_index((yyvsp[-3].blk), (yyvsp[-1].blk)); } -#line 3069 "parser.c" /* yacc.c:1646 */ +#line 3057 "src/parser.c" /* yacc.c:1646 */ break; case 88: -#line 677 "parser.y" /* yacc.c:1646 */ +#line 677 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = block_join((yyvsp[-3].blk), gen_op_simple(EACH_OPT)); } -#line 3077 "parser.c" /* yacc.c:1646 */ +#line 3065 "src/parser.c" /* yacc.c:1646 */ break; case 89: -#line 680 "parser.y" /* yacc.c:1646 */ +#line 680 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = block_join((yyvsp[-2].blk), gen_op_simple(EACH)); } -#line 3085 "parser.c" /* yacc.c:1646 */ +#line 3073 "src/parser.c" /* yacc.c:1646 */ break; case 90: -#line 683 "parser.y" /* yacc.c:1646 */ +#line 683 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_slice_index((yyvsp[-6].blk), (yyvsp[-4].blk), (yyvsp[-2].blk), INDEX_OPT); } -#line 3093 "parser.c" /* yacc.c:1646 */ +#line 3081 "src/parser.c" /* yacc.c:1646 */ break; case 91: -#line 686 "parser.y" /* yacc.c:1646 */ +#line 686 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_slice_index((yyvsp[-5].blk), (yyvsp[-3].blk), gen_const(jv_null()), INDEX_OPT); } -#line 3101 "parser.c" /* yacc.c:1646 */ +#line 3089 "src/parser.c" /* yacc.c:1646 */ break; case 92: -#line 689 "parser.y" /* yacc.c:1646 */ +#line 689 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_slice_index((yyvsp[-5].blk), gen_const(jv_null()), (yyvsp[-2].blk), INDEX_OPT); } -#line 3109 "parser.c" /* yacc.c:1646 */ +#line 3097 "src/parser.c" /* yacc.c:1646 */ break; case 93: -#line 692 "parser.y" /* yacc.c:1646 */ +#line 692 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_slice_index((yyvsp[-5].blk), (yyvsp[-3].blk), (yyvsp[-1].blk), INDEX); } -#line 3117 "parser.c" /* yacc.c:1646 */ +#line 3105 "src/parser.c" /* yacc.c:1646 */ break; case 94: -#line 695 "parser.y" /* yacc.c:1646 */ +#line 695 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_slice_index((yyvsp[-4].blk), (yyvsp[-2].blk), gen_const(jv_null()), INDEX); } -#line 3125 "parser.c" /* yacc.c:1646 */ +#line 3113 "src/parser.c" /* yacc.c:1646 */ break; case 95: -#line 698 "parser.y" /* yacc.c:1646 */ +#line 698 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_slice_index((yyvsp[-4].blk), gen_const(jv_null()), (yyvsp[-1].blk), INDEX); } -#line 3133 "parser.c" /* yacc.c:1646 */ +#line 3121 "src/parser.c" /* yacc.c:1646 */ break; case 96: -#line 701 "parser.y" /* yacc.c:1646 */ +#line 701 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_const((yyvsp[0].literal)); } -#line 3141 "parser.c" /* yacc.c:1646 */ +#line 3129 "src/parser.c" /* yacc.c:1646 */ break; case 97: -#line 704 "parser.y" /* yacc.c:1646 */ +#line 704 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[0].blk); } -#line 3149 "parser.c" /* yacc.c:1646 */ +#line 3137 "src/parser.c" /* yacc.c:1646 */ break; case 98: -#line 707 "parser.y" /* yacc.c:1646 */ +#line 707 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_format(gen_noop(), (yyvsp[0].literal)); } -#line 3157 "parser.c" /* yacc.c:1646 */ +#line 3145 "src/parser.c" /* yacc.c:1646 */ break; case 99: -#line 710 "parser.y" /* yacc.c:1646 */ +#line 710 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[-1].blk); } -#line 3165 "parser.c" /* yacc.c:1646 */ +#line 3153 "src/parser.c" /* yacc.c:1646 */ break; case 100: -#line 713 "parser.y" /* yacc.c:1646 */ +#line 713 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_collect((yyvsp[-1].blk)); } -#line 3173 "parser.c" /* yacc.c:1646 */ +#line 3161 "src/parser.c" /* yacc.c:1646 */ break; case 101: -#line 716 "parser.y" /* yacc.c:1646 */ +#line 716 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_const(jv_array()); } -#line 3181 "parser.c" /* yacc.c:1646 */ +#line 3169 "src/parser.c" /* yacc.c:1646 */ break; case 102: -#line 719 "parser.y" /* yacc.c:1646 */ +#line 719 "src/parser.y" /* yacc.c:1646 */ { block o = gen_const_object((yyvsp[-1].blk)); if (o.first != NULL) @@ -3189,29 +3177,29 @@ yyreduce: else (yyval.blk) = BLOCK(gen_subexp(gen_const(jv_object())), (yyvsp[-1].blk), gen_op_simple(POP)); } -#line 3193 "parser.c" /* yacc.c:1646 */ +#line 3181 "src/parser.c" /* yacc.c:1646 */ break; case 103: -#line 726 "parser.y" /* yacc.c:1646 */ +#line 726 "src/parser.y" /* yacc.c:1646 */ { (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 3202 "parser.c" /* yacc.c:1646 */ +#line 3190 "src/parser.c" /* yacc.c:1646 */ break; case 104: -#line 730 "parser.y" /* yacc.c:1646 */ +#line 730 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_location((yyloc), locations, gen_op_unbound(LOADV, jv_string_value((yyvsp[0].literal)))); jv_free((yyvsp[0].literal)); } -#line 3211 "parser.c" /* yacc.c:1646 */ +#line 3199 "src/parser.c" /* yacc.c:1646 */ break; case 105: -#line 734 "parser.y" /* yacc.c:1646 */ +#line 734 "src/parser.y" /* yacc.c:1646 */ { const char *s = jv_string_value((yyvsp[0].literal)); if (strcmp(s, "false") == 0) @@ -3224,409 +3212,421 @@ yyreduce: (yyval.blk) = gen_location((yyloc), locations, gen_call(s, gen_noop())); jv_free((yyvsp[0].literal)); } -#line 3228 "parser.c" /* yacc.c:1646 */ +#line 3216 "src/parser.c" /* yacc.c:1646 */ break; case 106: -#line 746 "parser.y" /* yacc.c:1646 */ +#line 746 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_call(jv_string_value((yyvsp[-3].literal)), (yyvsp[-1].blk)); (yyval.blk) = gen_location((yylsp[-3]), locations, (yyval.blk)); jv_free((yyvsp[-3].literal)); } -#line 3238 "parser.c" /* yacc.c:1646 */ +#line 3226 "src/parser.c" /* yacc.c:1646 */ break; case 107: -#line 751 "parser.y" /* yacc.c:1646 */ +#line 751 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_noop(); } -#line 3244 "parser.c" /* yacc.c:1646 */ +#line 3232 "src/parser.c" /* yacc.c:1646 */ break; case 108: -#line 752 "parser.y" /* yacc.c:1646 */ +#line 752 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_noop(); } -#line 3250 "parser.c" /* yacc.c:1646 */ +#line 3238 "src/parser.c" /* yacc.c:1646 */ break; case 109: -#line 753 "parser.y" /* yacc.c:1646 */ +#line 753 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[-3].blk); } -#line 3256 "parser.c" /* yacc.c:1646 */ +#line 3244 "src/parser.c" /* yacc.c:1646 */ break; case 110: -#line 754 "parser.y" /* yacc.c:1646 */ +#line 754 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_noop(); } -#line 3262 "parser.c" /* yacc.c:1646 */ +#line 3250 "src/parser.c" /* yacc.c:1646 */ break; case 111: -#line 757 "parser.y" /* yacc.c:1646 */ +#line 757 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[0].blk); } -#line 3270 "parser.c" /* yacc.c:1646 */ +#line 3258 "src/parser.c" /* yacc.c:1646 */ break; case 112: -#line 760 "parser.y" /* yacc.c:1646 */ +#line 760 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = BLOCK((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 3278 "parser.c" /* yacc.c:1646 */ +#line 3266 "src/parser.c" /* yacc.c:1646 */ break; case 113: -#line 765 "parser.y" /* yacc.c:1646 */ +#line 765 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_lambda((yyvsp[0].blk)); } -#line 3286 "parser.c" /* yacc.c:1646 */ +#line 3274 "src/parser.c" /* yacc.c:1646 */ break; case 114: -#line 770 "parser.y" /* yacc.c:1646 */ +#line 770 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_op_unbound(STOREV, jv_string_value((yyvsp[0].literal))); jv_free((yyvsp[0].literal)); } -#line 3295 "parser.c" /* yacc.c:1646 */ +#line 3283 "src/parser.c" /* yacc.c:1646 */ break; case 115: -#line 774 "parser.y" /* yacc.c:1646 */ +#line 774 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = BLOCK((yyvsp[-1].blk), gen_op_simple(POP)); } -#line 3303 "parser.c" /* yacc.c:1646 */ +#line 3291 "src/parser.c" /* yacc.c:1646 */ break; case 116: -#line 777 "parser.y" /* yacc.c:1646 */ +#line 777 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = BLOCK((yyvsp[-1].blk), gen_op_simple(POP)); } -#line 3311 "parser.c" /* yacc.c:1646 */ +#line 3299 "src/parser.c" /* yacc.c:1646 */ break; case 117: -#line 782 "parser.y" /* yacc.c:1646 */ +#line 782 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_array_matcher(gen_noop(), (yyvsp[0].blk)); } -#line 3319 "parser.c" /* yacc.c:1646 */ +#line 3307 "src/parser.c" /* yacc.c:1646 */ break; case 118: -#line 785 "parser.y" /* yacc.c:1646 */ +#line 785 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_array_matcher((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 3327 "parser.c" /* yacc.c:1646 */ +#line 3315 "src/parser.c" /* yacc.c:1646 */ break; case 119: -#line 790 "parser.y" /* yacc.c:1646 */ +#line 790 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[0].blk); } -#line 3335 "parser.c" /* yacc.c:1646 */ +#line 3323 "src/parser.c" /* yacc.c:1646 */ break; case 120: -#line 793 "parser.y" /* yacc.c:1646 */ +#line 793 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = BLOCK((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 3343 "parser.c" /* yacc.c:1646 */ +#line 3331 "src/parser.c" /* yacc.c:1646 */ break; case 121: -#line 798 "parser.y" /* yacc.c:1646 */ +#line 798 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_object_matcher(gen_const((yyvsp[0].literal)), gen_op_unbound(STOREV, jv_string_value((yyvsp[0].literal)))); } -#line 3351 "parser.c" /* yacc.c:1646 */ +#line 3339 "src/parser.c" /* yacc.c:1646 */ break; case 122: -#line 801 "parser.y" /* yacc.c:1646 */ +#line 801 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_object_matcher(gen_const((yyvsp[-2].literal)), (yyvsp[0].blk)); } -#line 3359 "parser.c" /* yacc.c:1646 */ +#line 3347 "src/parser.c" /* yacc.c:1646 */ break; case 123: -#line 804 "parser.y" /* yacc.c:1646 */ +#line 804 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_object_matcher(gen_const((yyvsp[-2].literal)), (yyvsp[0].blk)); } -#line 3367 "parser.c" /* yacc.c:1646 */ +#line 3355 "src/parser.c" /* yacc.c:1646 */ break; case 124: -#line 807 "parser.y" /* yacc.c:1646 */ +#line 807 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_object_matcher((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 3375 "parser.c" /* yacc.c:1646 */ +#line 3363 "src/parser.c" /* yacc.c:1646 */ break; case 125: -#line 810 "parser.y" /* yacc.c:1646 */ +#line 810 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_object_matcher((yyvsp[-3].blk), (yyvsp[0].blk)); } -#line 3383 "parser.c" /* yacc.c:1646 */ +#line 3371 "src/parser.c" /* yacc.c:1646 */ break; case 126: -#line 815 "parser.y" /* yacc.c:1646 */ +#line 813 "src/parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("as"); + FAIL((yyloc), "May need parentheses around object key"); + (yyval.blk) = (yyvsp[0].blk); } -#line 3391 "parser.c" /* yacc.c:1646 */ +#line 3380 "src/parser.c" /* yacc.c:1646 */ break; case 127: -#line 818 "parser.y" /* yacc.c:1646 */ +#line 819 "src/parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("def"); + (yyval.literal) = jv_string("as"); } -#line 3399 "parser.c" /* yacc.c:1646 */ +#line 3388 "src/parser.c" /* yacc.c:1646 */ break; case 128: -#line 821 "parser.y" /* yacc.c:1646 */ +#line 822 "src/parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("module"); + (yyval.literal) = jv_string("def"); } -#line 3407 "parser.c" /* yacc.c:1646 */ +#line 3396 "src/parser.c" /* yacc.c:1646 */ break; case 129: -#line 824 "parser.y" /* yacc.c:1646 */ +#line 825 "src/parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("import"); + (yyval.literal) = jv_string("module"); } -#line 3415 "parser.c" /* yacc.c:1646 */ +#line 3404 "src/parser.c" /* yacc.c:1646 */ break; case 130: -#line 827 "parser.y" /* yacc.c:1646 */ +#line 828 "src/parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("include"); + (yyval.literal) = jv_string("import"); } -#line 3423 "parser.c" /* yacc.c:1646 */ +#line 3412 "src/parser.c" /* yacc.c:1646 */ break; case 131: -#line 830 "parser.y" /* yacc.c:1646 */ +#line 831 "src/parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("if"); + (yyval.literal) = jv_string("include"); } -#line 3431 "parser.c" /* yacc.c:1646 */ +#line 3420 "src/parser.c" /* yacc.c:1646 */ break; case 132: -#line 833 "parser.y" /* yacc.c:1646 */ +#line 834 "src/parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("then"); + (yyval.literal) = jv_string("if"); } -#line 3439 "parser.c" /* yacc.c:1646 */ +#line 3428 "src/parser.c" /* yacc.c:1646 */ break; case 133: -#line 836 "parser.y" /* yacc.c:1646 */ +#line 837 "src/parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("else"); + (yyval.literal) = jv_string("then"); } -#line 3447 "parser.c" /* yacc.c:1646 */ +#line 3436 "src/parser.c" /* yacc.c:1646 */ break; case 134: -#line 839 "parser.y" /* yacc.c:1646 */ +#line 840 "src/parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("elif"); + (yyval.literal) = jv_string("else"); } -#line 3455 "parser.c" /* yacc.c:1646 */ +#line 3444 "src/parser.c" /* yacc.c:1646 */ break; case 135: -#line 842 "parser.y" /* yacc.c:1646 */ +#line 843 "src/parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("reduce"); + (yyval.literal) = jv_string("elif"); } -#line 3463 "parser.c" /* yacc.c:1646 */ +#line 3452 "src/parser.c" /* yacc.c:1646 */ break; case 136: -#line 845 "parser.y" /* yacc.c:1646 */ +#line 846 "src/parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("foreach"); + (yyval.literal) = jv_string("reduce"); } -#line 3471 "parser.c" /* yacc.c:1646 */ +#line 3460 "src/parser.c" /* yacc.c:1646 */ break; case 137: -#line 848 "parser.y" /* yacc.c:1646 */ +#line 849 "src/parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("end"); + (yyval.literal) = jv_string("foreach"); } -#line 3479 "parser.c" /* yacc.c:1646 */ +#line 3468 "src/parser.c" /* yacc.c:1646 */ break; case 138: -#line 851 "parser.y" /* yacc.c:1646 */ +#line 852 "src/parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("and"); + (yyval.literal) = jv_string("end"); } -#line 3487 "parser.c" /* yacc.c:1646 */ +#line 3476 "src/parser.c" /* yacc.c:1646 */ break; case 139: -#line 854 "parser.y" /* yacc.c:1646 */ +#line 855 "src/parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("or"); + (yyval.literal) = jv_string("and"); } -#line 3495 "parser.c" /* yacc.c:1646 */ +#line 3484 "src/parser.c" /* yacc.c:1646 */ break; case 140: -#line 857 "parser.y" /* yacc.c:1646 */ +#line 858 "src/parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("try"); + (yyval.literal) = jv_string("or"); } -#line 3503 "parser.c" /* yacc.c:1646 */ +#line 3492 "src/parser.c" /* yacc.c:1646 */ break; case 141: -#line 860 "parser.y" /* yacc.c:1646 */ +#line 861 "src/parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("catch"); + (yyval.literal) = jv_string("try"); } -#line 3511 "parser.c" /* yacc.c:1646 */ +#line 3500 "src/parser.c" /* yacc.c:1646 */ break; case 142: -#line 863 "parser.y" /* yacc.c:1646 */ +#line 864 "src/parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("label"); + (yyval.literal) = jv_string("catch"); } -#line 3519 "parser.c" /* yacc.c:1646 */ +#line 3508 "src/parser.c" /* yacc.c:1646 */ break; case 143: -#line 866 "parser.y" /* yacc.c:1646 */ +#line 867 "src/parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("break"); + (yyval.literal) = jv_string("label"); } -#line 3527 "parser.c" /* yacc.c:1646 */ +#line 3516 "src/parser.c" /* yacc.c:1646 */ break; case 144: -#line 869 "parser.y" /* yacc.c:1646 */ +#line 870 "src/parser.y" /* yacc.c:1646 */ { - (yyval.literal) = jv_string("__loc__"); + (yyval.literal) = jv_string("break"); } -#line 3535 "parser.c" /* yacc.c:1646 */ +#line 3524 "src/parser.c" /* yacc.c:1646 */ break; case 145: -#line 874 "parser.y" /* yacc.c:1646 */ +#line 873 "src/parser.y" /* yacc.c:1646 */ { - (yyval.blk)=gen_noop(); + (yyval.literal) = jv_string("__loc__"); } -#line 3543 "parser.c" /* yacc.c:1646 */ +#line 3532 "src/parser.c" /* yacc.c:1646 */ break; case 146: -#line 877 "parser.y" /* yacc.c:1646 */ - { (yyval.blk) = (yyvsp[0].blk); } -#line 3549 "parser.c" /* yacc.c:1646 */ +#line 878 "src/parser.y" /* yacc.c:1646 */ + { + (yyval.blk)=gen_noop(); +} +#line 3540 "src/parser.c" /* yacc.c:1646 */ break; case 147: -#line 878 "parser.y" /* yacc.c:1646 */ - { (yyval.blk)=block_join((yyvsp[-2].blk), (yyvsp[0].blk)); } -#line 3555 "parser.c" /* yacc.c:1646 */ +#line 881 "src/parser.y" /* yacc.c:1646 */ + { (yyval.blk) = (yyvsp[0].blk); } +#line 3546 "src/parser.c" /* yacc.c:1646 */ break; case 148: -#line 879 "parser.y" /* yacc.c:1646 */ - { (yyval.blk) = (yyvsp[0].blk); } -#line 3561 "parser.c" /* yacc.c:1646 */ +#line 882 "src/parser.y" /* yacc.c:1646 */ + { (yyval.blk)=block_join((yyvsp[-2].blk), (yyvsp[0].blk)); } +#line 3552 "src/parser.c" /* yacc.c:1646 */ break; case 149: -#line 882 "parser.y" /* yacc.c:1646 */ - { - (yyval.blk) = gen_dictpair(gen_const((yyvsp[-2].literal)), (yyvsp[0].blk)); - } -#line 3569 "parser.c" /* yacc.c:1646 */ +#line 883 "src/parser.y" /* yacc.c:1646 */ + { (yyval.blk) = (yyvsp[0].blk); } +#line 3558 "src/parser.c" /* yacc.c:1646 */ break; case 150: -#line 885 "parser.y" /* yacc.c:1646 */ +#line 886 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_dictpair(gen_const((yyvsp[-2].literal)), (yyvsp[0].blk)); - } -#line 3577 "parser.c" /* yacc.c:1646 */ + } +#line 3566 "src/parser.c" /* yacc.c:1646 */ break; case 151: -#line 888 "parser.y" /* yacc.c:1646 */ +#line 889 "src/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 3585 "parser.c" /* yacc.c:1646 */ +#line 3574 "src/parser.c" /* yacc.c:1646 */ break; case 152: -#line 891 "parser.y" /* yacc.c:1646 */ +#line 892 "src/parser.y" /* yacc.c:1646 */ + { + (yyval.blk) = gen_dictpair((yyvsp[-2].blk), (yyvsp[0].blk)); + } +#line 3582 "src/parser.c" /* yacc.c:1646 */ + break; + + case 153: +#line 895 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_dictpair((yyvsp[0].blk), BLOCK(gen_op_simple(POP), gen_op_simple(DUP2), gen_op_simple(DUP2), gen_op_simple(INDEX))); } -#line 3594 "parser.c" /* yacc.c:1646 */ +#line 3591 "src/parser.c" /* yacc.c:1646 */ break; - case 153: -#line 895 "parser.y" /* yacc.c:1646 */ + case 154: +#line 899 "src/parser.y" /* yacc.c:1646 */ { (yyval.blk) = gen_dictpair(gen_const((yyvsp[0].literal)), gen_location((yyloc), locations, gen_op_unbound(LOADV, jv_string_value((yyvsp[0].literal))))); } -#line 3603 "parser.c" /* yacc.c:1646 */ +#line 3600 "src/parser.c" /* yacc.c:1646 */ break; - case 154: -#line 899 "parser.y" /* yacc.c:1646 */ + case 155: +#line 903 "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 3612 "parser.c" /* yacc.c:1646 */ - break; - - case 155: -#line 903 "parser.y" /* yacc.c:1646 */ - { - (yyval.blk) = gen_dictpair((yyvsp[-3].blk), (yyvsp[0].blk)); - } -#line 3620 "parser.c" /* yacc.c:1646 */ +#line 3609 "src/parser.c" /* yacc.c:1646 */ break; case 156: -#line 906 "parser.y" /* yacc.c:1646 */ - { (yyval.blk) = (yyvsp[0].blk); } -#line 3626 "parser.c" /* yacc.c:1646 */ +#line 907 "src/parser.y" /* yacc.c:1646 */ + { + (yyval.blk) = gen_dictpair((yyvsp[-3].blk), (yyvsp[0].blk)); + } +#line 3617 "src/parser.c" /* yacc.c:1646 */ + break; + + case 157: +#line 910 "src/parser.y" /* yacc.c:1646 */ + { + FAIL((yyloc), "May need parentheses around object key"); + (yyval.blk) = (yyvsp[0].blk); + } +#line 3626 "src/parser.c" /* yacc.c:1646 */ break; -#line 3630 "parser.c" /* yacc.c:1646 */ +#line 3630 "src/parser.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -3861,7 +3861,7 @@ yyreturn: #endif return yyresult; } -#line 907 "parser.y" /* yacc.c:1906 */ +#line 914 "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 d57e5c8a..ddc0eb05 100644 --- a/src/parser.y +++ b/src/parser.y @@ -809,6 +809,10 @@ String ':' Pattern { } | '(' Exp ')' ':' Pattern { $$ = gen_object_matcher($2, $5); +} | +error ':' Pattern { + FAIL(@$, "May need parentheses around object key"); + $$ = $3; } Keyword: @@ -903,7 +907,10 @@ IDENT ':' ExpD { | '(' Exp ')' ':' ExpD { $$ = gen_dictpair($2, $5); } -| '(' error ')' ':' ExpD { $$ = $5; } +| error ':' ExpD { + FAIL(@$, "May need parentheses around object key"); + $$ = $3; + } %% int jq_parse(struct locfile* locations, block* answer) {