diff --git a/src/parser/bison_parser.cpp b/src/parser/bison_parser.cpp index c723e00..3410be9 100644 --- a/src/parser/bison_parser.cpp +++ b/src/parser/bison_parser.cpp @@ -620,16 +620,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 52 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 494 +#define YYLAST 537 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 151 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 88 /* YYNRULES -- Number of rules. */ -#define YYNRULES 205 +#define YYNRULES 213 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 380 +#define YYNSTATES 392 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ @@ -697,18 +697,19 @@ static const yytype_uint16 yyrline[] = 571, 572, 589, 590, 594, 595, 599, 609, 626, 630, 631, 632, 636, 637, 641, 653, 654, 658, 662, 667, 668, 672, 677, 681, 682, 685, 686, 690, 691, 695, - 699, 700, 701, 707, 708, 712, 713, 714, 721, 722, - 726, 727, 731, 738, 739, 740, 741, 742, 746, 747, - 748, 749, 750, 751, 752, 753, 754, 758, 759, 763, - 764, 765, 766, 767, 771, 772, 773, 774, 775, 776, - 777, 778, 779, 780, 781, 785, 786, 790, 791, 792, - 793, 799, 800, 801, 802, 806, 807, 811, 812, 816, - 817, 818, 819, 820, 821, 825, 826, 830, 834, 838, - 842, 843, 844, 845, 849, 850, 851, 852, 856, 861, - 862, 866, 870, 874, 886, 887, 897, 898, 902, 903, - 912, 913, 918, 929, 938, 939, 944, 945, 949, 950, - 958, 966, 976, 995, 996, 997, 998, 999, 1000, 1001, - 1002, 1007, 1016, 1017, 1022, 1023 + 699, 700, 701, 707, 708, 712, 713, 714, 715, 716, + 717, 718, 719, 726, 727, 731, 732, 736, 743, 744, + 745, 746, 747, 751, 752, 753, 754, 755, 756, 757, + 758, 759, 763, 764, 768, 769, 770, 771, 772, 776, + 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, + 790, 791, 795, 796, 797, 798, 804, 805, 806, 807, + 811, 812, 816, 817, 821, 822, 823, 824, 825, 826, + 827, 831, 832, 836, 840, 844, 848, 849, 850, 851, + 855, 856, 857, 858, 862, 867, 868, 872, 876, 880, + 892, 893, 903, 904, 908, 909, 918, 919, 924, 935, + 944, 945, 950, 951, 955, 956, 964, 972, 982, 1001, + 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1015, + 1024, 1025, 1030, 1031 }; #endif @@ -786,58 +787,60 @@ static const yytype_uint16 yytoknum[] = }; # endif -#define YYPACT_NINF -285 +#define YYPACT_NINF -306 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-285))) + (!!((Yystate) == (-306))) -#define YYTABLE_NINF -201 +#define YYTABLE_NINF -209 #define yytable_value_is_error(Yytable_value) \ - (!!((Yytable_value) == (-201))) + (!!((Yytable_value) == (-209))) /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const yytype_int16 yypact[] = { - 17, 6, 61, 91, 124, -22, 80, 85, 70, 95, - 61, -21, 40, -41, 220, 87, -285, 157, 157, -285, - -285, -285, -285, -285, -285, -285, -285, -285, -285, 31, - -285, 176, 230, 97, -285, 103, 182, 151, 151, 61, - 167, 61, 263, 273, 164, -285, 170, 170, 61, -285, - 150, 159, -285, 17, -285, 203, -285, -285, -285, -285, - -285, -41, 206, 196, -41, 253, -285, 328, 10, 332, - 228, 61, 61, 265, -285, 259, 199, -285, -285, -285, - 84, 338, 305, 61, 61, -285, -285, -285, -285, 202, - -285, 279, -285, -285, -285, 84, 279, 263, -285, -285, - -285, -285, -285, -285, 32, -285, -285, -285, -285, -285, - -285, -285, -285, 308, -61, 199, 84, -285, 348, 353, - 54, 57, 215, 74, 165, 224, 183, -285, 116, 288, - 221, -285, 4, 225, -285, -285, -285, -285, -285, -285, - -285, -285, -285, -285, -285, -285, -285, -285, 247, -48, - -285, -285, -285, -285, 371, 253, 226, -285, -40, 253, - 330, -285, 10, -285, 267, 374, 268, -9, 296, -285, - -285, 134, 239, -285, 1, 8, 336, 84, 143, -52, - 241, 183, 295, 84, 184, 242, -64, 3, 265, 84, - -285, 84, 386, 84, -285, -285, 183, -285, 183, -62, - 245, 105, 183, 183, 183, 183, 183, 183, 183, 183, - 183, 183, 183, 183, 183, 183, 263, 84, 338, -285, - 246, 135, -285, -285, 84, -285, -285, -285, -285, 263, - -285, 312, -2, 145, -285, -41, 61, -285, 397, 10, - -285, 84, -285, -285, 255, 55, 96, 84, 84, -285, - 336, 323, 102, -285, -285, -41, -285, 141, -285, 277, - -285, 15, -285, 354, -285, -285, -285, 314, 269, 327, - 183, 272, 116, -285, 337, 275, 327, 327, 327, 351, - 351, 351, 351, 184, 184, -96, -96, -96, 107, 278, - -9, -285, 10, -285, 371, -285, -285, 348, -285, -285, - -285, -285, -285, -285, 374, -285, -285, -285, 149, 155, - -285, 84, 84, -285, 77, 128, 284, -285, 291, 355, - -285, -285, -285, 372, 375, 356, 3, -285, 324, -285, - 183, 327, 116, 298, 163, -285, -285, 180, -285, -285, - -285, -285, -285, -9, 111, -285, 84, -285, 15, 3, - -285, -285, 3, 231, 84, 295, 300, 186, -285, -285, - -285, -285, -9, -285, -285, 210, -32, -285, -285, 302, - 84, 84, -285, 14, -9, -285, -9, 301, 303, -285 + 260, 35, 37, 65, 101, -45, 31, 45, 49, 43, + 37, -34, 78, -38, 177, 22, -306, 82, 82, -306, + -306, -306, -306, -306, -306, -306, -306, -306, -306, 17, + -306, 162, 187, 56, -306, 63, 145, 118, 118, 37, + 137, 37, 242, 235, 143, -306, 139, 139, 37, -306, + 115, 116, -306, 260, -306, 184, -306, -306, -306, -306, + -306, -38, 169, 175, -38, -18, -306, 281, 3, 287, + 192, 37, 37, 223, -306, 222, 161, -306, -306, -306, + 170, 309, 271, 37, 37, -306, -306, -306, -306, 179, + -306, 249, -306, -306, -306, 170, 249, 242, 21, -306, + -306, -306, -306, -306, -306, -95, -306, -306, -306, -306, + -306, -306, -306, -306, 277, -63, 161, 170, -306, 327, + 329, -5, -20, 189, 114, 190, 193, 210, -306, 160, + 256, 194, -306, 66, 241, -306, -306, -306, -306, -306, + -306, -306, -306, -306, -306, -306, -306, -306, -306, 213, + -53, -306, -306, -306, -306, 338, -18, 195, -306, -56, + -18, -306, 299, 300, 303, -306, 3, -306, 240, 351, + 243, 57, 276, -306, -306, -71, 211, -306, 12, 13, + 313, 170, 119, 113, 218, 210, 341, 170, 308, 226, + -22, 10, 223, 170, -306, 170, 361, 170, -306, -306, + 210, -306, 210, -59, 228, 79, 210, 210, 210, 210, + 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, + 210, 242, 170, 309, -306, 231, 73, -306, -306, 170, + -306, -306, -306, -306, 242, 242, 242, -306, 310, 6, + 93, -306, -38, 37, -306, 385, 3, -306, 170, -306, + -306, 245, 84, 127, 170, 170, -306, 313, 301, -107, + -306, -306, -38, -306, 8, -306, 246, -306, 9, -306, + 332, -306, -306, -306, 294, 297, 365, 210, 253, 160, + -306, 311, 257, 365, 365, 365, 365, 394, 394, 394, + 394, 308, 308, -10, -10, -10, 59, 258, 57, -306, + 3, -306, 338, -306, -306, -306, -306, 327, -306, -306, + -306, -306, -306, -306, 351, -306, -306, -306, 100, 128, + -306, 170, 170, -306, 151, 136, 263, -306, 265, 317, + -306, -306, -306, 336, 340, 345, 328, 10, -306, 302, + -306, 210, 365, 160, 270, 132, -306, -306, 172, -306, + -306, -306, -306, -306, 57, 171, -306, 170, -306, 9, + 10, -306, -306, -306, 10, 23, 170, 341, 272, 176, + -306, -306, -306, -306, 57, -306, -306, 325, -28, -306, + -306, 274, 170, 170, -306, 14, 57, -306, 57, 273, + 282, -306 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -846,71 +849,73 @@ static const yytype_int16 yypact[] = static const yytype_uint8 yydefact[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, - 0, 0, 0, 0, 0, 203, 3, 18, 18, 16, + 0, 0, 0, 0, 0, 211, 3, 18, 18, 16, 9, 7, 10, 15, 12, 13, 11, 14, 8, 59, - 60, 86, 0, 184, 50, 25, 0, 36, 36, 0, - 0, 0, 0, 76, 0, 183, 48, 48, 0, 30, - 0, 0, 1, 202, 2, 0, 6, 5, 70, 71, - 69, 0, 73, 0, 0, 97, 46, 0, 0, 0, - 0, 0, 0, 80, 28, 0, 54, 171, 93, 75, + 60, 86, 0, 190, 50, 25, 0, 36, 36, 0, + 0, 0, 0, 76, 0, 189, 48, 48, 0, 30, + 0, 0, 1, 210, 2, 0, 6, 5, 70, 71, + 69, 0, 73, 0, 0, 102, 46, 0, 0, 0, + 0, 0, 0, 80, 28, 0, 54, 177, 93, 75, 0, 0, 0, 0, 0, 31, 63, 62, 4, 0, - 64, 86, 65, 72, 68, 0, 86, 0, 66, 185, - 168, 169, 172, 173, 0, 100, 164, 165, 170, 166, - 167, 24, 23, 0, 0, 54, 0, 49, 0, 0, - 0, 160, 0, 0, 0, 0, 0, 162, 0, 0, - 77, 98, 189, 103, 110, 111, 112, 105, 107, 113, - 106, 124, 114, 115, 109, 104, 117, 118, 0, 80, - 56, 47, 44, 45, 0, 97, 85, 87, 92, 97, - 95, 26, 0, 35, 0, 0, 0, 79, 0, 29, - 204, 0, 0, 52, 76, 0, 0, 0, 0, 0, - 0, 0, 120, 0, 119, 0, 0, 0, 80, 0, - 187, 0, 0, 0, 188, 102, 0, 121, 0, 0, + 64, 86, 65, 72, 68, 0, 86, 0, 0, 66, + 191, 174, 175, 178, 179, 0, 105, 170, 171, 176, + 172, 173, 24, 23, 0, 0, 54, 0, 49, 0, + 0, 0, 166, 0, 0, 0, 0, 0, 168, 0, + 0, 77, 103, 195, 108, 115, 116, 117, 110, 112, + 118, 111, 129, 119, 120, 114, 109, 122, 123, 0, + 80, 56, 47, 44, 45, 0, 102, 85, 87, 92, + 102, 97, 99, 98, 95, 26, 0, 35, 0, 0, + 0, 79, 0, 29, 212, 0, 0, 52, 76, 0, + 0, 0, 0, 0, 0, 0, 125, 0, 124, 0, + 0, 0, 80, 0, 193, 0, 0, 0, 194, 107, + 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, - 21, 0, 19, 61, 0, 91, 90, 89, 67, 0, - 101, 0, 0, 0, 37, 0, 0, 53, 0, 0, - 155, 0, 161, 163, 0, 0, 0, 0, 0, 143, - 0, 0, 0, 116, 108, 0, 78, 174, 176, 0, - 178, 189, 177, 82, 99, 135, 186, 136, 0, 131, - 0, 0, 0, 122, 0, 134, 133, 149, 150, 151, - 152, 153, 154, 126, 125, 128, 127, 129, 130, 0, - 58, 57, 0, 17, 0, 88, 96, 0, 41, 42, - 43, 40, 39, 33, 0, 34, 27, 205, 0, 0, - 147, 0, 0, 141, 0, 0, 0, 157, 0, 0, - 199, 193, 194, 198, 197, 0, 0, 182, 0, 74, - 0, 132, 0, 0, 0, 123, 158, 0, 20, 32, - 38, 51, 156, 145, 0, 144, 0, 148, 189, 0, - 196, 195, 0, 175, 0, 159, 0, 0, 139, 137, - 22, 142, 146, 179, 190, 200, 84, 140, 138, 0, - 0, 0, 81, 0, 201, 191, 83, 160, 0, 192 + 0, 0, 0, 0, 55, 21, 0, 19, 61, 0, + 91, 90, 89, 67, 0, 0, 0, 106, 0, 0, + 0, 37, 0, 0, 53, 0, 0, 161, 0, 167, + 169, 0, 0, 0, 0, 0, 148, 0, 0, 0, + 121, 113, 0, 78, 180, 182, 0, 184, 195, 183, + 82, 104, 140, 192, 141, 0, 136, 0, 0, 0, + 127, 0, 139, 138, 154, 155, 156, 157, 158, 159, + 160, 131, 130, 133, 132, 134, 135, 0, 58, 57, + 0, 17, 0, 88, 101, 100, 96, 0, 41, 42, + 43, 40, 39, 33, 0, 34, 27, 213, 0, 0, + 152, 0, 0, 146, 0, 0, 0, 163, 0, 0, + 207, 199, 205, 203, 206, 201, 0, 0, 188, 0, + 74, 0, 137, 0, 0, 0, 128, 164, 0, 20, + 32, 38, 51, 162, 150, 0, 149, 0, 153, 195, + 0, 202, 204, 200, 0, 181, 0, 165, 0, 0, + 144, 142, 22, 147, 151, 185, 196, 208, 84, 145, + 143, 0, 0, 0, 81, 0, 209, 197, 83, 166, + 0, 198 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -285, -285, -285, 401, -285, 432, -285, 168, -285, -285, - -285, -285, -285, 161, -285, -285, 421, -285, 169, -285, - -285, 424, -285, -285, -285, 357, -285, -285, 256, -104, - 52, 412, -13, 446, -285, -285, 201, 304, -285, -285, - -119, -285, -285, -60, -285, 258, -285, -285, 37, -174, - -220, 290, -94, -70, -285, -285, -285, -285, -285, -285, - 315, -285, -285, -285, -285, -285, -285, 110, -66, -113, - -285, -39, -285, -285, -285, -284, 137, -285, -285, -285, - 2, -285, -240, -285, -285, -285, -285, -285 + -306, -306, -306, 388, -306, 424, -306, 141, -306, -306, + -306, -306, -306, 147, -306, -306, 406, -306, 138, -306, + -306, 408, -306, -306, -306, 342, -306, -306, 233, -209, + 25, 393, -13, 429, -306, -306, 262, 283, -306, -306, + -128, -306, -306, -17, -306, 234, -306, -306, 64, -181, + -227, 269, -94, -70, -306, -306, -306, -306, -306, -306, + 290, -306, -306, -306, -306, -306, -306, 88, -64, -116, + -306, -37, -306, -306, -306, -305, 104, -306, -306, -306, + 0, -306, -253, -306, -306, -306, -306, -306 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 14, 15, 16, 17, 56, 221, 222, 18, 112, - 19, 20, 75, 168, 21, 22, 71, 233, 234, 302, - 23, 83, 24, 25, 26, 120, 27, 149, 150, 28, - 29, 91, 30, 61, 62, 94, 31, 80, 129, 188, - 117, 329, 372, 65, 156, 157, 227, 43, 98, 130, - 104, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 179, 140, 141, 142, 143, 144, 145, 146, 147, 106, - 107, 108, 109, 110, 256, 257, 258, 259, 260, 44, - 261, 194, 195, 262, 325, 375, 54, 171 + -1, 14, 15, 16, 17, 56, 226, 227, 18, 113, + 19, 20, 75, 172, 21, 22, 71, 240, 241, 312, + 23, 83, 24, 25, 26, 121, 27, 150, 151, 28, + 29, 91, 30, 61, 62, 94, 31, 80, 130, 192, + 118, 340, 384, 65, 157, 158, 232, 43, 99, 131, + 105, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 183, 141, 142, 143, 144, 145, 146, 147, 148, 107, + 108, 109, 110, 111, 263, 264, 265, 266, 267, 44, + 268, 198, 199, 269, 336, 387, 54, 175 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -918,110 +923,118 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 51, 158, 105, 78, 34, 169, 33, 190, 9, 252, - 371, 242, 45, 79, 100, 101, 77, 377, 190, 308, - 164, 327, 167, 298, 1, 116, 270, 247, 202, 178, - 219, 155, 2, 32, 186, 299, 159, 225, 191, 3, - 58, 73, 353, 76, 4, 215, 248, 216, 37, 46, - 85, 5, 6, 249, 182, 271, 184, 193, 160, 48, - 7, 8, 191, 226, 33, 50, 9, 309, 365, 263, - 59, 10, 337, 114, 115, 38, 47, 121, 100, 101, - 77, 193, 254, 245, 165, 152, 153, 121, 100, 101, - 77, 49, 300, 191, 35, 11, 230, 265, 334, 267, - 102, 218, 60, 9, 13, 301, 191, 173, 363, 172, - 12, 182, 193, 90, 122, 185, 90, 189, 192, 121, - 100, 101, 77, 290, 122, 193, 268, 36, 269, 192, - 158, 305, 275, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 287, 288, 243, 240, 255, 123, - 311, 318, 127, 314, 315, 41, 122, 191, 357, 123, - 103, 39, 13, 244, 102, 9, 40, 319, 121, 100, - 101, 77, 177, 105, 102, 312, 193, 289, 161, 191, - 366, 162, 345, 124, 169, 58, 121, 100, 101, 77, - 296, 123, 223, 124, 248, 273, 228, 125, 193, 320, - 331, 313, 174, 321, 175, 180, 102, 125, 42, 322, - 323, 126, 127, 191, 274, 59, 361, 343, 344, 128, - 52, 126, 127, 346, 103, 124, 105, -200, 324, 128, - 191, 202, 193, 66, 103, 53, 319, 316, 306, 125, - 123, 177, 196, 63, 67, 191, 317, 60, 68, 193, - 216, 189, 362, 126, 127, 102, 55, 319, 123, 333, - 355, 128, 92, 69, 193, 92, 103, 70, 320, 77, - 197, 74, 321, 102, 181, 81, 374, 376, 322, 323, - 237, 293, 369, 238, 294, 79, 82, 89, 125, 320, - -180, 303, 181, 321, 304, 341, 86, 324, 162, 322, - 323, 342, 126, 127, 189, 87, 125, 93, 202, 359, - 128, 95, 189, 198, 197, 103, 97, -200, 324, 356, - 126, 127, 212, 213, 214, 215, 360, 216, 128, 162, - 370, 99, 368, 103, 199, 189, 111, 113, 116, 118, - 197, 148, 200, 201, 119, 151, 63, 154, 163, 202, - 203, 204, 100, 205, 206, 207, 170, 198, 208, 209, - 176, 210, 211, 212, 213, 214, 215, 183, 216, 187, - 189, 330, 197, 217, 220, 224, 229, 232, 251, 231, - -181, 236, 235, 198, 239, 9, 250, 201, 253, 266, - 272, 292, 297, 202, 203, 204, 197, 205, 206, 207, - 307, 310, 208, 209, 251, 210, 211, 212, 213, 214, - 215, 270, 216, 201, 328, -201, 191, 332, 216, 202, - 203, 204, 336, 205, 206, 207, 326, 335, 208, 209, - 347, 210, 211, 212, 213, 214, 215, 348, 216, 354, - 350, 349, 352, 351, 358, 201, 367, 373, 175, 379, - 57, 202, -201, -201, 88, -201, 206, 207, 339, 72, - 208, 209, 338, 210, 211, 212, 213, 214, 215, 201, - 216, 84, 166, 340, 291, 202, 96, 64, 241, 264, - -201, -201, 295, 378, -201, -201, 364, 210, 211, 212, - 213, 214, 215, 246, 216 + 51, 159, 34, 173, 106, 78, 259, 101, 102, 77, + 45, 9, 194, 33, 383, 338, 249, 389, 168, 318, + 117, 230, 224, 171, 79, 37, 58, 77, 97, 277, + 182, 308, 365, 315, 329, 190, 46, 327, 50, 73, + 33, 76, 193, 309, 9, 98, 195, 231, 85, 329, + 176, 165, 38, 328, 166, 186, 59, 188, 278, 377, + 161, 164, 32, 47, 270, 197, 330, 319, 35, 194, + 331, 115, 116, 348, 156, 244, 332, 333, 245, 160, + 195, 330, 169, 153, 154, 331, 90, 252, 60, 90, + 334, 332, 333, 103, -208, 335, 223, 48, 345, 197, + 310, 272, 237, 274, 36, 334, 375, 13, 177, -208, + 335, 162, 39, 311, 206, 186, 189, 122, 101, 102, + 77, 193, 163, 196, 261, 178, 40, 179, 298, 49, + 275, 220, 276, 221, 41, 159, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 250, 128, 104, 123, 262, 42, -186, 247, 195, + 324, 325, 369, 122, 101, 102, 77, 251, 195, 280, + 53, 58, -187, 122, 101, 102, 77, 52, 197, 321, + 196, 55, 106, 206, 297, 378, 195, 197, 281, 124, + 66, 173, 254, 122, 101, 102, 77, 304, 305, 306, + 123, 59, 221, 67, 103, 197, 322, 342, 68, 9, + 123, 255, 181, 122, 101, 102, 77, 181, 256, 301, + 228, 195, 302, 125, 233, 255, 69, 354, 355, 63, + 184, 357, 323, 60, 70, 124, 106, 126, 195, 313, + 197, 74, 314, 316, 326, 124, 352, 79, 77, 166, + 103, 127, 128, 195, 81, 82, 356, 197, 200, 129, + 103, 86, 87, 374, 104, 124, 344, 1, 89, 125, + 93, 367, 197, 195, 353, 2, 373, 193, 371, 125, + 103, 193, 3, 126, 100, 124, 201, 4, 386, 388, + 95, 112, 197, 126, 5, 6, 117, 127, 128, 185, + 103, 114, 119, 7, 8, 129, 120, 127, 128, 9, + 104, 152, 149, 126, 10, 129, 63, 167, 372, 185, + 104, 166, 380, 92, 155, 193, 92, 127, 128, 202, + 368, 101, 174, 126, 180, 129, 187, 191, 11, 222, + 104, 225, 201, 193, 229, 234, 235, 127, 128, 236, + 203, 329, 238, 12, 239, 129, 246, 242, 204, 205, + 104, 243, 9, 257, 273, 206, 207, 208, 209, 210, + 211, 212, 260, 279, 213, 214, 300, 215, 216, 217, + 218, 219, 220, 330, 221, 202, 201, 331, 317, 277, + 307, 320, 339, 332, 333, 337, 195, 381, 343, 341, + 221, 346, 347, 360, 361, 13, 258, 334, 362, 358, + 201, 359, 335, 363, 364, 205, 370, 366, 379, 385, + 179, 206, 207, 208, 209, 210, 211, 212, 391, 202, + 213, 214, 206, 215, 216, 217, 218, 219, 220, 201, + 221, 88, 57, 349, 72, 382, 217, 218, 219, 220, + 258, 221, 351, -209, 350, 84, 299, 96, 170, 205, + 64, 248, 271, 303, 376, 206, 207, 208, 209, 210, + 211, 212, 253, 390, 213, 214, 0, 215, 216, 217, + 218, 219, 220, 205, 221, 0, 0, 0, 0, 206, + -209, -209, -209, -209, 211, 212, 0, 0, 213, 214, + 0, 215, 216, 217, 218, 219, 220, 0, 221, 0, + 0, 0, 205, 0, 0, 0, 0, 0, 206, 0, + 0, 0, 0, -209, -209, 0, 0, -209, -209, 0, + 215, 216, 217, 218, 219, 220, 0, 221 }; -static const yytype_uint16 yycheck[] = +static const yytype_int16 yycheck[] = { - 13, 95, 68, 42, 2, 118, 3, 3, 49, 183, - 42, 3, 10, 12, 4, 5, 6, 3, 3, 239, - 81, 261, 116, 25, 7, 73, 88, 79, 124, 123, - 149, 91, 15, 27, 128, 37, 96, 77, 102, 22, - 9, 39, 326, 41, 27, 141, 98, 143, 70, 70, - 48, 34, 35, 105, 124, 117, 126, 121, 97, 19, - 43, 44, 102, 103, 3, 13, 49, 241, 352, 188, - 39, 54, 292, 71, 72, 97, 97, 3, 4, 5, - 6, 121, 146, 177, 145, 83, 84, 3, 4, 5, - 6, 51, 94, 102, 3, 78, 162, 191, 272, 193, - 90, 149, 71, 49, 145, 107, 102, 120, 348, 55, - 93, 181, 121, 61, 40, 128, 64, 149, 114, 3, - 4, 5, 6, 217, 40, 121, 196, 3, 198, 114, - 224, 235, 202, 203, 204, 205, 206, 207, 208, 209, - 210, 211, 212, 213, 214, 215, 138, 146, 145, 75, - 95, 255, 138, 247, 248, 85, 40, 102, 332, 75, - 150, 81, 145, 176, 90, 49, 81, 26, 3, 4, - 5, 6, 98, 239, 90, 79, 121, 216, 146, 102, - 354, 149, 105, 109, 297, 9, 3, 4, 5, 6, - 229, 75, 155, 109, 98, 90, 159, 123, 121, 58, - 270, 105, 145, 62, 147, 40, 90, 123, 113, 68, - 69, 137, 138, 102, 109, 39, 105, 311, 312, 145, - 0, 137, 138, 95, 150, 109, 292, 86, 87, 145, - 102, 124, 121, 3, 150, 148, 26, 250, 236, 123, - 75, 98, 17, 67, 147, 102, 144, 71, 145, 121, - 143, 149, 346, 137, 138, 90, 99, 26, 75, 272, - 330, 145, 61, 81, 121, 64, 150, 116, 58, 6, - 45, 104, 62, 90, 109, 111, 370, 371, 68, 69, - 146, 146, 72, 149, 149, 12, 116, 84, 123, 58, - 149, 146, 109, 62, 149, 146, 146, 87, 149, 68, - 69, 146, 137, 138, 149, 146, 123, 101, 124, 146, - 145, 115, 149, 88, 45, 150, 63, 86, 87, 332, - 137, 138, 138, 139, 140, 141, 146, 143, 145, 149, - 120, 3, 146, 150, 109, 149, 4, 109, 73, 80, - 45, 3, 117, 118, 145, 40, 67, 145, 40, 124, - 125, 126, 4, 128, 129, 130, 3, 88, 133, 134, - 145, 136, 137, 138, 139, 140, 141, 143, 143, 81, - 149, 102, 45, 126, 3, 149, 46, 3, 109, 112, - 149, 85, 114, 88, 145, 49, 145, 118, 146, 3, - 145, 145, 80, 124, 125, 126, 45, 128, 129, 130, - 3, 146, 133, 134, 109, 136, 137, 138, 139, 140, - 141, 88, 143, 118, 60, 88, 102, 145, 143, 124, - 125, 126, 144, 128, 129, 130, 149, 90, 133, 134, - 146, 136, 137, 138, 139, 140, 141, 146, 143, 115, - 68, 86, 86, 68, 146, 118, 146, 145, 147, 146, - 18, 124, 125, 126, 53, 128, 129, 130, 297, 38, - 133, 134, 294, 136, 137, 138, 139, 140, 141, 118, - 143, 47, 115, 304, 218, 124, 64, 31, 174, 189, - 129, 130, 224, 373, 133, 134, 349, 136, 137, 138, - 139, 140, 141, 178, 143 + 13, 95, 2, 119, 68, 42, 187, 4, 5, 6, + 10, 49, 3, 3, 42, 268, 3, 3, 81, 246, + 73, 77, 150, 117, 12, 70, 9, 6, 46, 88, + 124, 25, 337, 242, 26, 129, 70, 144, 13, 39, + 3, 41, 149, 37, 49, 63, 102, 103, 48, 26, + 55, 146, 97, 262, 149, 125, 39, 127, 117, 364, + 97, 98, 27, 97, 192, 121, 58, 248, 3, 3, + 62, 71, 72, 300, 91, 146, 68, 69, 149, 96, + 102, 58, 145, 83, 84, 62, 61, 181, 71, 64, + 82, 68, 69, 90, 86, 87, 149, 19, 279, 121, + 94, 195, 166, 197, 3, 82, 359, 145, 121, 86, + 87, 90, 81, 107, 124, 185, 129, 3, 4, 5, + 6, 149, 101, 114, 146, 145, 81, 147, 222, 51, + 200, 141, 202, 143, 85, 229, 206, 207, 208, 209, + 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, + 220, 138, 138, 150, 40, 145, 113, 149, 146, 102, + 254, 255, 343, 3, 4, 5, 6, 180, 102, 90, + 148, 9, 149, 3, 4, 5, 6, 0, 121, 95, + 114, 99, 246, 124, 221, 366, 102, 121, 109, 75, + 3, 307, 79, 3, 4, 5, 6, 234, 235, 236, + 40, 39, 143, 147, 90, 121, 79, 277, 145, 49, + 40, 98, 98, 3, 4, 5, 6, 98, 105, 146, + 156, 102, 149, 109, 160, 98, 81, 321, 322, 67, + 40, 95, 105, 71, 116, 75, 300, 123, 102, 146, + 121, 104, 149, 243, 257, 75, 146, 12, 6, 149, + 90, 137, 138, 102, 111, 116, 105, 121, 17, 145, + 90, 146, 146, 357, 150, 75, 279, 7, 84, 109, + 101, 341, 121, 102, 146, 15, 105, 149, 146, 109, + 90, 149, 22, 123, 3, 75, 45, 27, 382, 383, + 115, 4, 121, 123, 34, 35, 73, 137, 138, 109, + 90, 109, 80, 43, 44, 145, 145, 137, 138, 49, + 150, 40, 3, 123, 54, 145, 67, 40, 146, 109, + 150, 149, 146, 61, 145, 149, 64, 137, 138, 88, + 343, 4, 3, 123, 145, 145, 143, 81, 78, 126, + 150, 3, 45, 149, 149, 46, 46, 137, 138, 46, + 109, 26, 112, 93, 3, 145, 145, 114, 117, 118, + 150, 85, 49, 145, 3, 124, 125, 126, 127, 128, + 129, 130, 146, 145, 133, 134, 145, 136, 137, 138, + 139, 140, 141, 58, 143, 88, 45, 62, 3, 88, + 80, 146, 60, 68, 69, 149, 102, 72, 145, 102, + 143, 90, 144, 86, 68, 145, 109, 82, 68, 146, + 45, 146, 87, 68, 86, 118, 146, 115, 146, 145, + 147, 124, 125, 126, 127, 128, 129, 130, 146, 88, + 133, 134, 124, 136, 137, 138, 139, 140, 141, 45, + 143, 53, 18, 302, 38, 120, 138, 139, 140, 141, + 109, 143, 314, 88, 307, 47, 223, 64, 116, 118, + 31, 178, 193, 229, 360, 124, 125, 126, 127, 128, + 129, 130, 182, 385, 133, 134, -1, 136, 137, 138, + 139, 140, 141, 118, 143, -1, -1, -1, -1, 124, + 125, 126, 127, 128, 129, 130, -1, -1, 133, 134, + -1, 136, 137, 138, 139, 140, 141, -1, 143, -1, + -1, -1, 118, -1, -1, -1, -1, -1, 124, -1, + -1, -1, -1, 129, 130, -1, -1, 133, 134, -1, + 136, 137, 138, 139, 140, 141, -1, 143 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1037,35 +1050,37 @@ static const yytype_uint8 yystos[] = 71, 184, 185, 67, 184, 194, 3, 147, 145, 81, 116, 167, 167, 231, 104, 163, 231, 6, 222, 12, 188, 111, 116, 172, 172, 231, 146, 146, 154, 84, - 181, 182, 187, 101, 186, 115, 182, 63, 199, 3, - 4, 5, 90, 150, 201, 219, 220, 221, 222, 223, - 224, 4, 160, 109, 231, 231, 73, 191, 80, 145, - 176, 3, 40, 75, 109, 123, 137, 138, 145, 189, - 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, - 212, 213, 214, 215, 216, 217, 218, 219, 3, 178, - 179, 40, 231, 231, 145, 194, 195, 196, 203, 194, - 222, 146, 149, 40, 81, 145, 176, 203, 164, 220, - 3, 238, 55, 183, 145, 147, 145, 98, 203, 211, - 40, 109, 204, 143, 204, 183, 203, 81, 190, 149, - 3, 102, 114, 121, 232, 233, 17, 45, 88, 109, - 117, 118, 124, 125, 126, 128, 129, 130, 133, 134, - 136, 137, 138, 139, 140, 141, 143, 126, 149, 191, - 3, 157, 158, 199, 149, 77, 103, 197, 199, 46, - 219, 112, 3, 168, 169, 114, 85, 146, 149, 145, - 146, 188, 3, 138, 183, 203, 211, 79, 98, 105, - 145, 109, 200, 146, 146, 145, 225, 226, 227, 228, - 229, 231, 234, 191, 202, 203, 3, 203, 204, 204, - 88, 117, 145, 90, 109, 204, 204, 204, 204, 204, - 204, 204, 204, 204, 204, 204, 204, 204, 204, 222, - 203, 179, 145, 146, 149, 196, 222, 80, 25, 37, + 181, 182, 187, 101, 186, 115, 182, 46, 63, 199, + 3, 4, 5, 90, 150, 201, 219, 220, 221, 222, + 223, 224, 4, 160, 109, 231, 231, 73, 191, 80, + 145, 176, 3, 40, 75, 109, 123, 137, 138, 145, + 189, 200, 202, 203, 204, 205, 206, 207, 208, 209, + 210, 212, 213, 214, 215, 216, 217, 218, 219, 3, + 178, 179, 40, 231, 231, 145, 194, 195, 196, 203, + 194, 222, 90, 101, 222, 146, 149, 40, 81, 145, + 176, 203, 164, 220, 3, 238, 55, 183, 145, 147, + 145, 98, 203, 211, 40, 109, 204, 143, 204, 183, + 203, 81, 190, 149, 3, 102, 114, 121, 232, 233, + 17, 45, 88, 109, 117, 118, 124, 125, 126, 127, + 128, 129, 130, 133, 134, 136, 137, 138, 139, 140, + 141, 143, 126, 149, 191, 3, 157, 158, 199, 149, + 77, 103, 197, 199, 46, 46, 46, 219, 112, 3, + 168, 169, 114, 85, 146, 149, 145, 146, 188, 3, + 138, 183, 203, 211, 79, 98, 105, 145, 109, 200, + 146, 146, 145, 225, 226, 227, 228, 229, 231, 234, + 191, 202, 203, 3, 203, 204, 204, 88, 117, 145, + 90, 109, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 222, 203, 179, + 145, 146, 149, 196, 222, 222, 222, 80, 25, 37, 94, 107, 170, 146, 149, 180, 231, 3, 201, 200, 146, 95, 79, 105, 203, 203, 183, 144, 180, 26, - 58, 62, 68, 69, 87, 235, 149, 233, 60, 192, - 102, 204, 145, 183, 200, 90, 144, 201, 158, 164, - 169, 146, 146, 203, 203, 105, 95, 146, 146, 86, - 68, 68, 86, 226, 115, 204, 183, 200, 146, 146, - 146, 105, 203, 233, 227, 226, 200, 146, 146, 72, - 120, 42, 193, 145, 203, 236, 203, 3, 218, 146 + 58, 62, 68, 69, 82, 87, 235, 149, 233, 60, + 192, 102, 204, 145, 183, 200, 90, 144, 201, 158, + 164, 169, 146, 146, 203, 203, 105, 95, 146, 146, + 86, 68, 68, 68, 86, 226, 115, 204, 183, 200, + 146, 146, 146, 105, 203, 233, 227, 226, 200, 146, + 146, 72, 120, 42, 193, 145, 203, 236, 203, 3, + 218, 146 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ @@ -1080,18 +1095,19 @@ static const yytype_uint8 yyr1[] = 180, 180, 181, 181, 182, 182, 183, 183, 184, 185, 185, 185, 186, 186, 187, 188, 188, 189, 190, 191, 191, 192, 192, 193, 193, 194, 194, 195, 195, 196, - 197, 197, 197, 198, 198, 199, 199, 199, 200, 200, - 201, 201, 202, 203, 203, 203, 203, 203, 204, 204, - 204, 204, 204, 204, 204, 204, 204, 205, 205, 206, - 206, 206, 206, 206, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 208, 208, 209, 209, 209, - 209, 210, 210, 210, 210, 211, 211, 212, 212, 213, - 213, 213, 213, 213, 213, 214, 214, 215, 216, 217, - 218, 218, 218, 218, 219, 219, 219, 219, 220, 221, - 221, 222, 223, 224, 225, 225, 226, 226, 227, 227, - 228, 228, 229, 230, 231, 231, 232, 232, 233, 233, - 234, 234, 234, 235, 235, 235, 235, 235, 235, 235, - 235, 236, 237, 237, 238, 238 + 197, 197, 197, 198, 198, 199, 199, 199, 199, 199, + 199, 199, 199, 200, 200, 201, 201, 202, 203, 203, + 203, 203, 203, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 205, 205, 206, 206, 206, 206, 206, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 208, 208, 209, 209, 209, 209, 210, 210, 210, 210, + 211, 211, 212, 212, 213, 213, 213, 213, 213, 213, + 213, 214, 214, 215, 216, 217, 218, 218, 218, 218, + 219, 219, 219, 219, 220, 221, 221, 222, 223, 224, + 225, 225, 226, 226, 227, 227, 228, 228, 229, 230, + 231, 231, 232, 232, 233, 233, 234, 234, 234, 235, + 235, 235, 235, 235, 235, 235, 235, 235, 235, 236, + 237, 237, 238, 238 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -1106,18 +1122,19 @@ static const yytype_uint8 yyr2[] = 1, 5, 3, 3, 1, 1, 3, 5, 2, 1, 1, 1, 1, 0, 7, 1, 0, 1, 2, 2, 0, 4, 0, 2, 0, 3, 0, 1, 3, 2, - 1, 1, 0, 2, 0, 2, 4, 0, 1, 3, - 1, 3, 2, 1, 1, 1, 1, 1, 3, 1, - 1, 1, 1, 1, 1, 1, 3, 1, 1, 2, - 2, 2, 3, 4, 1, 3, 3, 3, 3, 3, - 3, 3, 4, 3, 3, 3, 3, 5, 6, 5, - 6, 4, 6, 3, 5, 4, 5, 4, 5, 3, - 3, 3, 3, 3, 3, 3, 5, 4, 4, 5, - 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 3, 1, 1, 1, 4, - 1, 3, 2, 1, 1, 3, 2, 1, 1, 0, - 4, 6, 8, 1, 1, 2, 2, 1, 1, 1, - 0, 1, 1, 0, 1, 3 + 1, 1, 0, 2, 0, 2, 4, 2, 2, 2, + 4, 4, 0, 1, 3, 1, 3, 2, 1, 1, + 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, + 1, 3, 1, 1, 2, 2, 2, 3, 4, 1, + 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, + 3, 3, 5, 6, 5, 6, 4, 6, 3, 5, + 4, 5, 4, 5, 3, 3, 3, 3, 3, 3, + 3, 3, 5, 4, 4, 5, 1, 3, 1, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 3, 1, 1, 1, 4, 1, 3, 2, 1, + 1, 3, 2, 1, 1, 0, 4, 6, 8, 1, + 2, 1, 2, 1, 2, 1, 1, 1, 0, 1, + 1, 0, 1, 3 }; @@ -1616,25 +1633,25 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio case 3: /* IDENTIFIER */ #line 140 "bison_parser.y" /* yacc.c:1257 */ { free( (((*yyvaluep).sval)) ); } -#line 1620 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1637 "bison_parser.cpp" /* yacc.c:1257 */ break; case 4: /* STRING */ #line 140 "bison_parser.y" /* yacc.c:1257 */ { free( (((*yyvaluep).sval)) ); } -#line 1626 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1643 "bison_parser.cpp" /* yacc.c:1257 */ break; case 5: /* FLOATVAL */ #line 138 "bison_parser.y" /* yacc.c:1257 */ { } -#line 1632 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1649 "bison_parser.cpp" /* yacc.c:1257 */ break; case 6: /* INTVAL */ #line 138 "bison_parser.y" /* yacc.c:1257 */ { } -#line 1638 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1655 "bison_parser.cpp" /* yacc.c:1257 */ break; case 153: /* statement_list */ @@ -1647,19 +1664,19 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).stmt_vec)); } -#line 1651 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1668 "bison_parser.cpp" /* yacc.c:1257 */ break; case 154: /* statement */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).statement)); } -#line 1657 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1674 "bison_parser.cpp" /* yacc.c:1257 */ break; case 155: /* preparable_statement */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).statement)); } -#line 1663 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1680 "bison_parser.cpp" /* yacc.c:1257 */ break; case 156: /* opt_hints */ @@ -1672,7 +1689,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).expr_vec)); } -#line 1676 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1693 "bison_parser.cpp" /* yacc.c:1257 */ break; case 157: /* hint_list */ @@ -1685,67 +1702,67 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).expr_vec)); } -#line 1689 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1706 "bison_parser.cpp" /* yacc.c:1257 */ break; case 158: /* hint */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 1695 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1712 "bison_parser.cpp" /* yacc.c:1257 */ break; case 159: /* prepare_statement */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).prep_stmt)); } -#line 1701 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1718 "bison_parser.cpp" /* yacc.c:1257 */ break; case 160: /* prepare_target_query */ #line 140 "bison_parser.y" /* yacc.c:1257 */ { free( (((*yyvaluep).sval)) ); } -#line 1707 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1724 "bison_parser.cpp" /* yacc.c:1257 */ break; case 161: /* execute_statement */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).exec_stmt)); } -#line 1713 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1730 "bison_parser.cpp" /* yacc.c:1257 */ break; case 162: /* import_statement */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).import_stmt)); } -#line 1719 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1736 "bison_parser.cpp" /* yacc.c:1257 */ break; case 163: /* import_file_type */ #line 138 "bison_parser.y" /* yacc.c:1257 */ { } -#line 1725 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1742 "bison_parser.cpp" /* yacc.c:1257 */ break; case 164: /* file_path */ #line 140 "bison_parser.y" /* yacc.c:1257 */ { free( (((*yyvaluep).sval)) ); } -#line 1731 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1748 "bison_parser.cpp" /* yacc.c:1257 */ break; case 165: /* show_statement */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).show_stmt)); } -#line 1737 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1754 "bison_parser.cpp" /* yacc.c:1257 */ break; case 166: /* create_statement */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).create_stmt)); } -#line 1743 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1760 "bison_parser.cpp" /* yacc.c:1257 */ break; case 167: /* opt_not_exists */ #line 138 "bison_parser.y" /* yacc.c:1257 */ { } -#line 1749 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1766 "bison_parser.cpp" /* yacc.c:1257 */ break; case 168: /* column_def_commalist */ @@ -1758,49 +1775,49 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).column_vec)); } -#line 1762 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1779 "bison_parser.cpp" /* yacc.c:1257 */ break; case 169: /* column_def */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).column_t)); } -#line 1768 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1785 "bison_parser.cpp" /* yacc.c:1257 */ break; case 170: /* column_type */ #line 138 "bison_parser.y" /* yacc.c:1257 */ { } -#line 1774 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1791 "bison_parser.cpp" /* yacc.c:1257 */ break; case 171: /* drop_statement */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).drop_stmt)); } -#line 1780 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1797 "bison_parser.cpp" /* yacc.c:1257 */ break; case 172: /* opt_exists */ #line 138 "bison_parser.y" /* yacc.c:1257 */ { } -#line 1786 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1803 "bison_parser.cpp" /* yacc.c:1257 */ break; case 173: /* delete_statement */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).delete_stmt)); } -#line 1792 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1809 "bison_parser.cpp" /* yacc.c:1257 */ break; case 174: /* truncate_statement */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).delete_stmt)); } -#line 1798 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1815 "bison_parser.cpp" /* yacc.c:1257 */ break; case 175: /* insert_statement */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).insert_stmt)); } -#line 1804 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1821 "bison_parser.cpp" /* yacc.c:1257 */ break; case 176: /* opt_column_list */ @@ -1813,13 +1830,13 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).str_vec)); } -#line 1817 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1834 "bison_parser.cpp" /* yacc.c:1257 */ break; case 177: /* update_statement */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).update_stmt)); } -#line 1823 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1840 "bison_parser.cpp" /* yacc.c:1257 */ break; case 178: /* update_clause_commalist */ @@ -1832,49 +1849,49 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).update_vec)); } -#line 1836 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1853 "bison_parser.cpp" /* yacc.c:1257 */ break; case 179: /* update_clause */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).update_t)); } -#line 1842 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1859 "bison_parser.cpp" /* yacc.c:1257 */ break; case 180: /* select_statement */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).select_stmt)); } -#line 1848 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1865 "bison_parser.cpp" /* yacc.c:1257 */ break; case 181: /* select_with_paren */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).select_stmt)); } -#line 1854 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1871 "bison_parser.cpp" /* yacc.c:1257 */ break; case 182: /* select_paren_or_clause */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).select_stmt)); } -#line 1860 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1877 "bison_parser.cpp" /* yacc.c:1257 */ break; case 183: /* select_no_paren */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).select_stmt)); } -#line 1866 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1883 "bison_parser.cpp" /* yacc.c:1257 */ break; case 187: /* select_clause */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).select_stmt)); } -#line 1872 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1889 "bison_parser.cpp" /* yacc.c:1257 */ break; case 188: /* opt_distinct */ #line 138 "bison_parser.y" /* yacc.c:1257 */ { } -#line 1878 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1895 "bison_parser.cpp" /* yacc.c:1257 */ break; case 189: /* select_list */ @@ -1887,31 +1904,31 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).expr_vec)); } -#line 1891 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1908 "bison_parser.cpp" /* yacc.c:1257 */ break; case 190: /* from_clause */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).table)); } -#line 1897 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1914 "bison_parser.cpp" /* yacc.c:1257 */ break; case 191: /* opt_where */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 1903 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1920 "bison_parser.cpp" /* yacc.c:1257 */ break; case 192: /* opt_group */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).group_t)); } -#line 1909 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1926 "bison_parser.cpp" /* yacc.c:1257 */ break; case 193: /* opt_having */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 1915 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1932 "bison_parser.cpp" /* yacc.c:1257 */ break; case 194: /* opt_order */ @@ -1924,7 +1941,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).order_vec)); } -#line 1928 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1945 "bison_parser.cpp" /* yacc.c:1257 */ break; case 195: /* order_list */ @@ -1937,31 +1954,31 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).order_vec)); } -#line 1941 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1958 "bison_parser.cpp" /* yacc.c:1257 */ break; case 196: /* order_desc */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).order)); } -#line 1947 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1964 "bison_parser.cpp" /* yacc.c:1257 */ break; case 197: /* opt_order_type */ #line 138 "bison_parser.y" /* yacc.c:1257 */ { } -#line 1953 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1970 "bison_parser.cpp" /* yacc.c:1257 */ break; case 198: /* opt_top */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).limit)); } -#line 1959 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1976 "bison_parser.cpp" /* yacc.c:1257 */ break; case 199: /* opt_limit */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).limit)); } -#line 1965 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1982 "bison_parser.cpp" /* yacc.c:1257 */ break; case 200: /* expr_list */ @@ -1974,7 +1991,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).expr_vec)); } -#line 1978 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1995 "bison_parser.cpp" /* yacc.c:1257 */ break; case 201: /* literal_list */ @@ -1987,163 +2004,163 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).expr_vec)); } -#line 1991 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2008 "bison_parser.cpp" /* yacc.c:1257 */ break; case 202: /* expr_alias */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 1997 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2014 "bison_parser.cpp" /* yacc.c:1257 */ break; case 203: /* expr */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2003 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2020 "bison_parser.cpp" /* yacc.c:1257 */ break; case 204: /* operand */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2009 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2026 "bison_parser.cpp" /* yacc.c:1257 */ break; case 205: /* scalar_expr */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2015 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2032 "bison_parser.cpp" /* yacc.c:1257 */ break; case 206: /* unary_expr */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2021 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2038 "bison_parser.cpp" /* yacc.c:1257 */ break; case 207: /* binary_expr */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2027 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2044 "bison_parser.cpp" /* yacc.c:1257 */ break; case 208: /* logic_expr */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2033 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2050 "bison_parser.cpp" /* yacc.c:1257 */ break; case 209: /* in_expr */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2039 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2056 "bison_parser.cpp" /* yacc.c:1257 */ break; case 210: /* case_expr */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2045 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2062 "bison_parser.cpp" /* yacc.c:1257 */ break; case 211: /* case_list */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2051 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2068 "bison_parser.cpp" /* yacc.c:1257 */ break; case 212: /* exists_expr */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2057 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2074 "bison_parser.cpp" /* yacc.c:1257 */ break; case 213: /* comp_expr */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2063 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2080 "bison_parser.cpp" /* yacc.c:1257 */ break; case 214: /* function_expr */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2069 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2086 "bison_parser.cpp" /* yacc.c:1257 */ break; case 215: /* array_expr */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2075 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2092 "bison_parser.cpp" /* yacc.c:1257 */ break; case 216: /* array_index */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2081 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2098 "bison_parser.cpp" /* yacc.c:1257 */ break; case 217: /* between_expr */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2087 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2104 "bison_parser.cpp" /* yacc.c:1257 */ break; case 218: /* column_name */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2093 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2110 "bison_parser.cpp" /* yacc.c:1257 */ break; case 219: /* literal */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2099 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2116 "bison_parser.cpp" /* yacc.c:1257 */ break; case 220: /* string_literal */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2105 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2122 "bison_parser.cpp" /* yacc.c:1257 */ break; case 221: /* num_literal */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2111 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2128 "bison_parser.cpp" /* yacc.c:1257 */ break; case 222: /* int_literal */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2117 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2134 "bison_parser.cpp" /* yacc.c:1257 */ break; case 223: /* null_literal */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2123 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2140 "bison_parser.cpp" /* yacc.c:1257 */ break; case 224: /* param_expr */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2129 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2146 "bison_parser.cpp" /* yacc.c:1257 */ break; case 225: /* table_ref */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).table)); } -#line 2135 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2152 "bison_parser.cpp" /* yacc.c:1257 */ break; case 226: /* table_ref_atomic */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).table)); } -#line 2141 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2158 "bison_parser.cpp" /* yacc.c:1257 */ break; case 227: /* nonjoin_table_ref_atomic */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).table)); } -#line 2147 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2164 "bison_parser.cpp" /* yacc.c:1257 */ break; case 228: /* table_ref_commalist */ @@ -2156,55 +2173,55 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).table_vec)); } -#line 2160 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2177 "bison_parser.cpp" /* yacc.c:1257 */ break; case 229: /* table_ref_name */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).table)); } -#line 2166 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2183 "bison_parser.cpp" /* yacc.c:1257 */ break; case 230: /* table_ref_name_no_alias */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).table)); } -#line 2172 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2189 "bison_parser.cpp" /* yacc.c:1257 */ break; case 231: /* table_name */ #line 139 "bison_parser.y" /* yacc.c:1257 */ { free( (((*yyvaluep).table_name).name) ); free( (((*yyvaluep).table_name).schema) ); } -#line 2178 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2195 "bison_parser.cpp" /* yacc.c:1257 */ break; case 232: /* alias */ #line 140 "bison_parser.y" /* yacc.c:1257 */ { free( (((*yyvaluep).sval)) ); } -#line 2184 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2201 "bison_parser.cpp" /* yacc.c:1257 */ break; case 233: /* opt_alias */ #line 140 "bison_parser.y" /* yacc.c:1257 */ { free( (((*yyvaluep).sval)) ); } -#line 2190 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2207 "bison_parser.cpp" /* yacc.c:1257 */ break; case 234: /* join_clause */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).table)); } -#line 2196 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2213 "bison_parser.cpp" /* yacc.c:1257 */ break; case 235: /* opt_join_type */ #line 138 "bison_parser.y" /* yacc.c:1257 */ { } -#line 2202 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2219 "bison_parser.cpp" /* yacc.c:1257 */ break; case 236: /* join_condition */ #line 149 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2208 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2225 "bison_parser.cpp" /* yacc.c:1257 */ break; case 238: /* ident_commalist */ @@ -2217,7 +2234,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).str_vec)); } -#line 2221 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2238 "bison_parser.cpp" /* yacc.c:1257 */ break; @@ -2325,7 +2342,7 @@ YYLTYPE yylloc = yyloc_default; yychar = YYEMPTY; /* Cause a token to be read. */ /* User initialization code. */ -#line 73 "bison_parser.y" /* yacc.c:1436 */ +#line 73 "bison_parser.y" /* yacc.c:1429 */ { // Initialize yylloc.first_column = 0; @@ -2336,7 +2353,7 @@ YYLTYPE yylloc = yyloc_default; yylloc.string_length = 0; } -#line 2340 "bison_parser.cpp" /* yacc.c:1436 */ +#line 2357 "bison_parser.cpp" /* yacc.c:1429 */ yylsp[0] = yylloc; goto yysetstate; @@ -2523,7 +2540,7 @@ yyreduce: switch (yyn) { case 2: -#line 247 "bison_parser.y" /* yacc.c:1661 */ +#line 247 "bison_parser.y" /* yacc.c:1646 */ { for (SQLStatement* stmt : *(yyvsp[-1].stmt_vec)) { // Transfers ownership of the statement. @@ -2541,226 +2558,226 @@ yyreduce: } delete (yyvsp[-1].stmt_vec); } -#line 2545 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2562 "bison_parser.cpp" /* yacc.c:1646 */ break; case 3: -#line 268 "bison_parser.y" /* yacc.c:1661 */ +#line 268 "bison_parser.y" /* yacc.c:1646 */ { (yyvsp[0].statement)->stringLength = yylloc.string_length; yylloc.string_length = 0; (yyval.stmt_vec) = new std::vector(); (yyval.stmt_vec)->push_back((yyvsp[0].statement)); } -#line 2556 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2573 "bison_parser.cpp" /* yacc.c:1646 */ break; case 4: -#line 274 "bison_parser.y" /* yacc.c:1661 */ +#line 274 "bison_parser.y" /* yacc.c:1646 */ { (yyvsp[0].statement)->stringLength = yylloc.string_length; yylloc.string_length = 0; (yyvsp[-2].stmt_vec)->push_back((yyvsp[0].statement)); (yyval.stmt_vec) = (yyvsp[-2].stmt_vec); } -#line 2567 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2584 "bison_parser.cpp" /* yacc.c:1646 */ break; case 5: -#line 283 "bison_parser.y" /* yacc.c:1661 */ +#line 283 "bison_parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[-1].prep_stmt); (yyval.statement)->hints = (yyvsp[0].expr_vec); } -#line 2576 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2593 "bison_parser.cpp" /* yacc.c:1646 */ break; case 6: -#line 287 "bison_parser.y" /* yacc.c:1661 */ +#line 287 "bison_parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[-1].statement); (yyval.statement)->hints = (yyvsp[0].expr_vec); } -#line 2585 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2602 "bison_parser.cpp" /* yacc.c:1646 */ break; case 7: -#line 291 "bison_parser.y" /* yacc.c:1661 */ +#line 291 "bison_parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[0].show_stmt); } -#line 2593 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2610 "bison_parser.cpp" /* yacc.c:1646 */ break; case 8: -#line 298 "bison_parser.y" /* yacc.c:1661 */ +#line 298 "bison_parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[0].select_stmt); } -#line 2599 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2616 "bison_parser.cpp" /* yacc.c:1646 */ break; case 9: -#line 299 "bison_parser.y" /* yacc.c:1661 */ +#line 299 "bison_parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[0].import_stmt); } -#line 2605 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2622 "bison_parser.cpp" /* yacc.c:1646 */ break; case 10: -#line 300 "bison_parser.y" /* yacc.c:1661 */ +#line 300 "bison_parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[0].create_stmt); } -#line 2611 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2628 "bison_parser.cpp" /* yacc.c:1646 */ break; case 11: -#line 301 "bison_parser.y" /* yacc.c:1661 */ +#line 301 "bison_parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[0].insert_stmt); } -#line 2617 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2634 "bison_parser.cpp" /* yacc.c:1646 */ break; case 12: -#line 302 "bison_parser.y" /* yacc.c:1661 */ +#line 302 "bison_parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[0].delete_stmt); } -#line 2623 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2640 "bison_parser.cpp" /* yacc.c:1646 */ break; case 13: -#line 303 "bison_parser.y" /* yacc.c:1661 */ +#line 303 "bison_parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[0].delete_stmt); } -#line 2629 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2646 "bison_parser.cpp" /* yacc.c:1646 */ break; case 14: -#line 304 "bison_parser.y" /* yacc.c:1661 */ +#line 304 "bison_parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[0].update_stmt); } -#line 2635 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2652 "bison_parser.cpp" /* yacc.c:1646 */ break; case 15: -#line 305 "bison_parser.y" /* yacc.c:1661 */ +#line 305 "bison_parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[0].drop_stmt); } -#line 2641 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2658 "bison_parser.cpp" /* yacc.c:1646 */ break; case 16: -#line 306 "bison_parser.y" /* yacc.c:1661 */ +#line 306 "bison_parser.y" /* yacc.c:1646 */ { (yyval.statement) = (yyvsp[0].exec_stmt); } -#line 2647 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2664 "bison_parser.cpp" /* yacc.c:1646 */ break; case 17: -#line 315 "bison_parser.y" /* yacc.c:1661 */ +#line 315 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr_vec) = (yyvsp[-1].expr_vec); } -#line 2653 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2670 "bison_parser.cpp" /* yacc.c:1646 */ break; case 18: -#line 316 "bison_parser.y" /* yacc.c:1661 */ +#line 316 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr_vec) = nullptr; } -#line 2659 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2676 "bison_parser.cpp" /* yacc.c:1646 */ break; case 19: -#line 321 "bison_parser.y" /* yacc.c:1661 */ +#line 321 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr_vec) = new std::vector(); (yyval.expr_vec)->push_back((yyvsp[0].expr)); } -#line 2665 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2682 "bison_parser.cpp" /* yacc.c:1646 */ break; case 20: -#line 322 "bison_parser.y" /* yacc.c:1661 */ +#line 322 "bison_parser.y" /* yacc.c:1646 */ { (yyvsp[-2].expr_vec)->push_back((yyvsp[0].expr)); (yyval.expr_vec) = (yyvsp[-2].expr_vec); } -#line 2671 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2688 "bison_parser.cpp" /* yacc.c:1646 */ break; case 21: -#line 326 "bison_parser.y" /* yacc.c:1661 */ +#line 326 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::make(kExprHint); (yyval.expr)->name = (yyvsp[0].sval); } -#line 2680 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2697 "bison_parser.cpp" /* yacc.c:1646 */ break; case 22: -#line 330 "bison_parser.y" /* yacc.c:1661 */ +#line 330 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::make(kExprHint); (yyval.expr)->name = (yyvsp[-3].sval); (yyval.expr)->exprList = (yyvsp[-1].expr_vec); } -#line 2690 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2707 "bison_parser.cpp" /* yacc.c:1646 */ break; case 23: -#line 342 "bison_parser.y" /* yacc.c:1661 */ +#line 342 "bison_parser.y" /* yacc.c:1646 */ { (yyval.prep_stmt) = new PrepareStatement(); (yyval.prep_stmt)->name = (yyvsp[-2].sval); (yyval.prep_stmt)->query = (yyvsp[0].sval); } -#line 2700 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2717 "bison_parser.cpp" /* yacc.c:1646 */ break; case 25: -#line 352 "bison_parser.y" /* yacc.c:1661 */ +#line 352 "bison_parser.y" /* yacc.c:1646 */ { (yyval.exec_stmt) = new ExecuteStatement(); (yyval.exec_stmt)->name = (yyvsp[0].sval); } -#line 2709 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2726 "bison_parser.cpp" /* yacc.c:1646 */ break; case 26: -#line 356 "bison_parser.y" /* yacc.c:1661 */ +#line 356 "bison_parser.y" /* yacc.c:1646 */ { (yyval.exec_stmt) = new ExecuteStatement(); (yyval.exec_stmt)->name = (yyvsp[-3].sval); (yyval.exec_stmt)->parameters = (yyvsp[-1].expr_vec); } -#line 2719 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2736 "bison_parser.cpp" /* yacc.c:1646 */ break; case 27: -#line 368 "bison_parser.y" /* yacc.c:1661 */ +#line 368 "bison_parser.y" /* yacc.c:1646 */ { (yyval.import_stmt) = new ImportStatement((ImportType) (yyvsp[-4].uval)); (yyval.import_stmt)->filePath = (yyvsp[-2].sval); (yyval.import_stmt)->schema = (yyvsp[0].table_name).schema; (yyval.import_stmt)->tableName = (yyvsp[0].table_name).name; } -#line 2730 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2747 "bison_parser.cpp" /* yacc.c:1646 */ break; case 28: -#line 377 "bison_parser.y" /* yacc.c:1661 */ +#line 377 "bison_parser.y" /* yacc.c:1646 */ { (yyval.uval) = kImportCSV; } -#line 2736 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2753 "bison_parser.cpp" /* yacc.c:1646 */ break; case 29: -#line 381 "bison_parser.y" /* yacc.c:1661 */ +#line 381 "bison_parser.y" /* yacc.c:1646 */ { (yyval.sval) = strdup((yyvsp[0].expr)->name); delete (yyvsp[0].expr); } -#line 2742 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2759 "bison_parser.cpp" /* yacc.c:1646 */ break; case 30: -#line 391 "bison_parser.y" /* yacc.c:1661 */ +#line 391 "bison_parser.y" /* yacc.c:1646 */ { (yyval.show_stmt) = new ShowStatement(kShowTables); } -#line 2750 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2767 "bison_parser.cpp" /* yacc.c:1646 */ break; case 31: -#line 394 "bison_parser.y" /* yacc.c:1661 */ +#line 394 "bison_parser.y" /* yacc.c:1646 */ { (yyval.show_stmt) = new ShowStatement(kShowColumns); (yyval.show_stmt)->schema = (yyvsp[0].table_name).schema; (yyval.show_stmt)->name = (yyvsp[0].table_name).name; } -#line 2760 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2777 "bison_parser.cpp" /* yacc.c:1646 */ break; case 32: -#line 408 "bison_parser.y" /* yacc.c:1661 */ +#line 408 "bison_parser.y" /* yacc.c:1646 */ { (yyval.create_stmt) = new CreateStatement(kCreateTableFromTbl); (yyval.create_stmt)->ifNotExists = (yyvsp[-5].bval); @@ -2768,11 +2785,11 @@ yyreduce: (yyval.create_stmt)->tableName = (yyvsp[-4].table_name).name; (yyval.create_stmt)->filePath = (yyvsp[0].sval); } -#line 2772 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2789 "bison_parser.cpp" /* yacc.c:1646 */ break; case 33: -#line 415 "bison_parser.y" /* yacc.c:1661 */ +#line 415 "bison_parser.y" /* yacc.c:1646 */ { (yyval.create_stmt) = new CreateStatement(kCreateTable); (yyval.create_stmt)->ifNotExists = (yyvsp[-4].bval); @@ -2780,11 +2797,11 @@ yyreduce: (yyval.create_stmt)->tableName = (yyvsp[-3].table_name).name; (yyval.create_stmt)->columns = (yyvsp[-1].column_vec); } -#line 2784 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2801 "bison_parser.cpp" /* yacc.c:1646 */ break; case 34: -#line 422 "bison_parser.y" /* yacc.c:1661 */ +#line 422 "bison_parser.y" /* yacc.c:1646 */ { (yyval.create_stmt) = new CreateStatement(kCreateView); (yyval.create_stmt)->ifNotExists = (yyvsp[-4].bval); @@ -2793,132 +2810,132 @@ yyreduce: (yyval.create_stmt)->viewColumns = (yyvsp[-2].str_vec); (yyval.create_stmt)->select = (yyvsp[0].select_stmt); } -#line 2797 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2814 "bison_parser.cpp" /* yacc.c:1646 */ break; case 35: -#line 433 "bison_parser.y" /* yacc.c:1661 */ +#line 433 "bison_parser.y" /* yacc.c:1646 */ { (yyval.bval) = true; } -#line 2803 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2820 "bison_parser.cpp" /* yacc.c:1646 */ break; case 36: -#line 434 "bison_parser.y" /* yacc.c:1661 */ +#line 434 "bison_parser.y" /* yacc.c:1646 */ { (yyval.bval) = false; } -#line 2809 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2826 "bison_parser.cpp" /* yacc.c:1646 */ break; case 37: -#line 438 "bison_parser.y" /* yacc.c:1661 */ +#line 438 "bison_parser.y" /* yacc.c:1646 */ { (yyval.column_vec) = new std::vector(); (yyval.column_vec)->push_back((yyvsp[0].column_t)); } -#line 2815 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2832 "bison_parser.cpp" /* yacc.c:1646 */ break; case 38: -#line 439 "bison_parser.y" /* yacc.c:1661 */ +#line 439 "bison_parser.y" /* yacc.c:1646 */ { (yyvsp[-2].column_vec)->push_back((yyvsp[0].column_t)); (yyval.column_vec) = (yyvsp[-2].column_vec); } -#line 2821 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2838 "bison_parser.cpp" /* yacc.c:1646 */ break; case 39: -#line 443 "bison_parser.y" /* yacc.c:1661 */ +#line 443 "bison_parser.y" /* yacc.c:1646 */ { (yyval.column_t) = new ColumnDefinition((yyvsp[-1].sval), (ColumnDefinition::DataType) (yyvsp[0].uval)); } -#line 2829 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2846 "bison_parser.cpp" /* yacc.c:1646 */ break; case 40: -#line 450 "bison_parser.y" /* yacc.c:1661 */ +#line 450 "bison_parser.y" /* yacc.c:1646 */ { (yyval.uval) = ColumnDefinition::INT; } -#line 2835 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2852 "bison_parser.cpp" /* yacc.c:1646 */ break; case 41: -#line 451 "bison_parser.y" /* yacc.c:1661 */ +#line 451 "bison_parser.y" /* yacc.c:1646 */ { (yyval.uval) = ColumnDefinition::INT; } -#line 2841 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2858 "bison_parser.cpp" /* yacc.c:1646 */ break; case 42: -#line 452 "bison_parser.y" /* yacc.c:1661 */ +#line 452 "bison_parser.y" /* yacc.c:1646 */ { (yyval.uval) = ColumnDefinition::DOUBLE; } -#line 2847 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2864 "bison_parser.cpp" /* yacc.c:1646 */ break; case 43: -#line 453 "bison_parser.y" /* yacc.c:1661 */ +#line 453 "bison_parser.y" /* yacc.c:1646 */ { (yyval.uval) = ColumnDefinition::TEXT; } -#line 2853 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2870 "bison_parser.cpp" /* yacc.c:1646 */ break; case 44: -#line 463 "bison_parser.y" /* yacc.c:1661 */ +#line 463 "bison_parser.y" /* yacc.c:1646 */ { (yyval.drop_stmt) = new DropStatement(kDropTable); (yyval.drop_stmt)->ifExists = (yyvsp[-1].bval); (yyval.drop_stmt)->schema = (yyvsp[0].table_name).schema; (yyval.drop_stmt)->name = (yyvsp[0].table_name).name; } -#line 2864 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2881 "bison_parser.cpp" /* yacc.c:1646 */ break; case 45: -#line 469 "bison_parser.y" /* yacc.c:1661 */ +#line 469 "bison_parser.y" /* yacc.c:1646 */ { (yyval.drop_stmt) = new DropStatement(kDropView); (yyval.drop_stmt)->ifExists = (yyvsp[-1].bval); (yyval.drop_stmt)->schema = (yyvsp[0].table_name).schema; (yyval.drop_stmt)->name = (yyvsp[0].table_name).name; } -#line 2875 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2892 "bison_parser.cpp" /* yacc.c:1646 */ break; case 46: -#line 475 "bison_parser.y" /* yacc.c:1661 */ +#line 475 "bison_parser.y" /* yacc.c:1646 */ { (yyval.drop_stmt) = new DropStatement(kDropPreparedStatement); (yyval.drop_stmt)->ifExists = false; (yyval.drop_stmt)->name = (yyvsp[0].sval); } -#line 2885 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2902 "bison_parser.cpp" /* yacc.c:1646 */ break; case 47: -#line 483 "bison_parser.y" /* yacc.c:1661 */ +#line 483 "bison_parser.y" /* yacc.c:1646 */ { (yyval.bval) = true; } -#line 2891 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2908 "bison_parser.cpp" /* yacc.c:1646 */ break; case 48: -#line 484 "bison_parser.y" /* yacc.c:1661 */ +#line 484 "bison_parser.y" /* yacc.c:1646 */ { (yyval.bval) = false; } -#line 2897 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2914 "bison_parser.cpp" /* yacc.c:1646 */ break; case 49: -#line 493 "bison_parser.y" /* yacc.c:1661 */ +#line 493 "bison_parser.y" /* yacc.c:1646 */ { (yyval.delete_stmt) = new DeleteStatement(); (yyval.delete_stmt)->schema = (yyvsp[-1].table_name).schema; (yyval.delete_stmt)->tableName = (yyvsp[-1].table_name).name; (yyval.delete_stmt)->expr = (yyvsp[0].expr); } -#line 2908 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2925 "bison_parser.cpp" /* yacc.c:1646 */ break; case 50: -#line 502 "bison_parser.y" /* yacc.c:1661 */ +#line 502 "bison_parser.y" /* yacc.c:1646 */ { (yyval.delete_stmt) = new DeleteStatement(); (yyval.delete_stmt)->schema = (yyvsp[0].table_name).schema; (yyval.delete_stmt)->tableName = (yyvsp[0].table_name).name; } -#line 2918 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2935 "bison_parser.cpp" /* yacc.c:1646 */ break; case 51: -#line 515 "bison_parser.y" /* yacc.c:1661 */ +#line 515 "bison_parser.y" /* yacc.c:1646 */ { (yyval.insert_stmt) = new InsertStatement(kInsertValues); (yyval.insert_stmt)->schema = (yyvsp[-5].table_name).schema; @@ -2926,11 +2943,11 @@ yyreduce: (yyval.insert_stmt)->columns = (yyvsp[-4].str_vec); (yyval.insert_stmt)->values = (yyvsp[-1].expr_vec); } -#line 2930 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2947 "bison_parser.cpp" /* yacc.c:1646 */ break; case 52: -#line 522 "bison_parser.y" /* yacc.c:1661 */ +#line 522 "bison_parser.y" /* yacc.c:1646 */ { (yyval.insert_stmt) = new InsertStatement(kInsertSelect); (yyval.insert_stmt)->schema = (yyvsp[-2].table_name).schema; @@ -2938,56 +2955,56 @@ yyreduce: (yyval.insert_stmt)->columns = (yyvsp[-1].str_vec); (yyval.insert_stmt)->select = (yyvsp[0].select_stmt); } -#line 2942 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2959 "bison_parser.cpp" /* yacc.c:1646 */ break; case 53: -#line 533 "bison_parser.y" /* yacc.c:1661 */ +#line 533 "bison_parser.y" /* yacc.c:1646 */ { (yyval.str_vec) = (yyvsp[-1].str_vec); } -#line 2948 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2965 "bison_parser.cpp" /* yacc.c:1646 */ break; case 54: -#line 534 "bison_parser.y" /* yacc.c:1661 */ +#line 534 "bison_parser.y" /* yacc.c:1646 */ { (yyval.str_vec) = nullptr; } -#line 2954 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2971 "bison_parser.cpp" /* yacc.c:1646 */ break; case 55: -#line 544 "bison_parser.y" /* yacc.c:1661 */ +#line 544 "bison_parser.y" /* yacc.c:1646 */ { (yyval.update_stmt) = new UpdateStatement(); (yyval.update_stmt)->table = (yyvsp[-3].table); (yyval.update_stmt)->updates = (yyvsp[-1].update_vec); (yyval.update_stmt)->where = (yyvsp[0].expr); } -#line 2965 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2982 "bison_parser.cpp" /* yacc.c:1646 */ break; case 56: -#line 553 "bison_parser.y" /* yacc.c:1661 */ +#line 553 "bison_parser.y" /* yacc.c:1646 */ { (yyval.update_vec) = new std::vector(); (yyval.update_vec)->push_back((yyvsp[0].update_t)); } -#line 2971 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2988 "bison_parser.cpp" /* yacc.c:1646 */ break; case 57: -#line 554 "bison_parser.y" /* yacc.c:1661 */ +#line 554 "bison_parser.y" /* yacc.c:1646 */ { (yyvsp[-2].update_vec)->push_back((yyvsp[0].update_t)); (yyval.update_vec) = (yyvsp[-2].update_vec); } -#line 2977 "bison_parser.cpp" /* yacc.c:1661 */ +#line 2994 "bison_parser.cpp" /* yacc.c:1646 */ break; case 58: -#line 558 "bison_parser.y" /* yacc.c:1661 */ +#line 558 "bison_parser.y" /* yacc.c:1646 */ { (yyval.update_t) = new UpdateClause(); (yyval.update_t)->column = (yyvsp[-2].sval); (yyval.update_t)->value = (yyvsp[0].expr); } -#line 2987 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3004 "bison_parser.cpp" /* yacc.c:1646 */ break; case 61: -#line 572 "bison_parser.y" /* yacc.c:1661 */ +#line 572 "bison_parser.y" /* yacc.c:1646 */ { // TODO: allow multiple unions (through linked list) // TODO: capture type of set_operator @@ -3002,23 +3019,23 @@ yyreduce: (yyval.select_stmt)->limit = (yyvsp[0].limit); } } -#line 3006 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3023 "bison_parser.cpp" /* yacc.c:1646 */ break; case 62: -#line 589 "bison_parser.y" /* yacc.c:1661 */ +#line 589 "bison_parser.y" /* yacc.c:1646 */ { (yyval.select_stmt) = (yyvsp[-1].select_stmt); } -#line 3012 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3029 "bison_parser.cpp" /* yacc.c:1646 */ break; case 63: -#line 590 "bison_parser.y" /* yacc.c:1661 */ +#line 590 "bison_parser.y" /* yacc.c:1646 */ { (yyval.select_stmt) = (yyvsp[-1].select_stmt); } -#line 3018 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3035 "bison_parser.cpp" /* yacc.c:1646 */ break; case 66: -#line 599 "bison_parser.y" /* yacc.c:1661 */ +#line 599 "bison_parser.y" /* yacc.c:1646 */ { (yyval.select_stmt) = (yyvsp[-2].select_stmt); (yyval.select_stmt)->order = (yyvsp[-1].order_vec); @@ -3029,11 +3046,11 @@ yyreduce: (yyval.select_stmt)->limit = (yyvsp[0].limit); } } -#line 3033 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3050 "bison_parser.cpp" /* yacc.c:1646 */ break; case 67: -#line 609 "bison_parser.y" /* yacc.c:1661 */ +#line 609 "bison_parser.y" /* yacc.c:1646 */ { // TODO: allow multiple unions (through linked list) // TODO: capture type of set_operator @@ -3048,11 +3065,11 @@ yyreduce: (yyval.select_stmt)->limit = (yyvsp[0].limit); } } -#line 3052 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3069 "bison_parser.cpp" /* yacc.c:1646 */ break; case 74: -#line 641 "bison_parser.y" /* yacc.c:1661 */ +#line 641 "bison_parser.y" /* yacc.c:1646 */ { (yyval.select_stmt) = new SelectStatement(); (yyval.select_stmt)->limit = (yyvsp[-5].limit); @@ -3062,524 +3079,560 @@ yyreduce: (yyval.select_stmt)->whereClause = (yyvsp[-1].expr); (yyval.select_stmt)->groupBy = (yyvsp[0].group_t); } -#line 3066 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3083 "bison_parser.cpp" /* yacc.c:1646 */ break; case 75: -#line 653 "bison_parser.y" /* yacc.c:1661 */ +#line 653 "bison_parser.y" /* yacc.c:1646 */ { (yyval.bval) = true; } -#line 3072 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3089 "bison_parser.cpp" /* yacc.c:1646 */ break; case 76: -#line 654 "bison_parser.y" /* yacc.c:1661 */ +#line 654 "bison_parser.y" /* yacc.c:1646 */ { (yyval.bval) = false; } -#line 3078 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3095 "bison_parser.cpp" /* yacc.c:1646 */ break; case 78: -#line 662 "bison_parser.y" /* yacc.c:1661 */ +#line 662 "bison_parser.y" /* yacc.c:1646 */ { (yyval.table) = (yyvsp[0].table); } -#line 3084 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3101 "bison_parser.cpp" /* yacc.c:1646 */ break; case 79: -#line 667 "bison_parser.y" /* yacc.c:1661 */ +#line 667 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = (yyvsp[0].expr); } -#line 3090 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3107 "bison_parser.cpp" /* yacc.c:1646 */ break; case 80: -#line 668 "bison_parser.y" /* yacc.c:1661 */ +#line 668 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = nullptr; } -#line 3096 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3113 "bison_parser.cpp" /* yacc.c:1646 */ break; case 81: -#line 672 "bison_parser.y" /* yacc.c:1661 */ +#line 672 "bison_parser.y" /* yacc.c:1646 */ { (yyval.group_t) = new GroupByDescription(); (yyval.group_t)->columns = (yyvsp[-1].expr_vec); (yyval.group_t)->having = (yyvsp[0].expr); } -#line 3106 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3123 "bison_parser.cpp" /* yacc.c:1646 */ break; case 82: -#line 677 "bison_parser.y" /* yacc.c:1661 */ +#line 677 "bison_parser.y" /* yacc.c:1646 */ { (yyval.group_t) = nullptr; } -#line 3112 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3129 "bison_parser.cpp" /* yacc.c:1646 */ break; case 83: -#line 681 "bison_parser.y" /* yacc.c:1661 */ +#line 681 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = (yyvsp[0].expr); } -#line 3118 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3135 "bison_parser.cpp" /* yacc.c:1646 */ break; case 84: -#line 682 "bison_parser.y" /* yacc.c:1661 */ +#line 682 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = nullptr; } -#line 3124 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3141 "bison_parser.cpp" /* yacc.c:1646 */ break; case 85: -#line 685 "bison_parser.y" /* yacc.c:1661 */ +#line 685 "bison_parser.y" /* yacc.c:1646 */ { (yyval.order_vec) = (yyvsp[0].order_vec); } -#line 3130 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3147 "bison_parser.cpp" /* yacc.c:1646 */ break; case 86: -#line 686 "bison_parser.y" /* yacc.c:1661 */ +#line 686 "bison_parser.y" /* yacc.c:1646 */ { (yyval.order_vec) = nullptr; } -#line 3136 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3153 "bison_parser.cpp" /* yacc.c:1646 */ break; case 87: -#line 690 "bison_parser.y" /* yacc.c:1661 */ +#line 690 "bison_parser.y" /* yacc.c:1646 */ { (yyval.order_vec) = new std::vector(); (yyval.order_vec)->push_back((yyvsp[0].order)); } -#line 3142 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3159 "bison_parser.cpp" /* yacc.c:1646 */ break; case 88: -#line 691 "bison_parser.y" /* yacc.c:1661 */ +#line 691 "bison_parser.y" /* yacc.c:1646 */ { (yyvsp[-2].order_vec)->push_back((yyvsp[0].order)); (yyval.order_vec) = (yyvsp[-2].order_vec); } -#line 3148 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3165 "bison_parser.cpp" /* yacc.c:1646 */ break; case 89: -#line 695 "bison_parser.y" /* yacc.c:1661 */ +#line 695 "bison_parser.y" /* yacc.c:1646 */ { (yyval.order) = new OrderDescription((yyvsp[0].order_type), (yyvsp[-1].expr)); } -#line 3154 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3171 "bison_parser.cpp" /* yacc.c:1646 */ break; case 90: -#line 699 "bison_parser.y" /* yacc.c:1661 */ +#line 699 "bison_parser.y" /* yacc.c:1646 */ { (yyval.order_type) = kOrderAsc; } -#line 3160 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3177 "bison_parser.cpp" /* yacc.c:1646 */ break; case 91: -#line 700 "bison_parser.y" /* yacc.c:1661 */ +#line 700 "bison_parser.y" /* yacc.c:1646 */ { (yyval.order_type) = kOrderDesc; } -#line 3166 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3183 "bison_parser.cpp" /* yacc.c:1646 */ break; case 92: -#line 701 "bison_parser.y" /* yacc.c:1661 */ +#line 701 "bison_parser.y" /* yacc.c:1646 */ { (yyval.order_type) = kOrderAsc; } -#line 3172 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3189 "bison_parser.cpp" /* yacc.c:1646 */ break; case 93: -#line 707 "bison_parser.y" /* yacc.c:1661 */ +#line 707 "bison_parser.y" /* yacc.c:1646 */ { (yyval.limit) = new LimitDescription((yyvsp[0].expr)->ival, kNoOffset); delete (yyvsp[0].expr); } -#line 3178 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3195 "bison_parser.cpp" /* yacc.c:1646 */ break; case 94: -#line 708 "bison_parser.y" /* yacc.c:1661 */ +#line 708 "bison_parser.y" /* yacc.c:1646 */ { (yyval.limit) = nullptr; } -#line 3184 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3201 "bison_parser.cpp" /* yacc.c:1646 */ break; case 95: -#line 712 "bison_parser.y" /* yacc.c:1661 */ +#line 712 "bison_parser.y" /* yacc.c:1646 */ { (yyval.limit) = new LimitDescription((yyvsp[0].expr)->ival, kNoOffset); delete (yyvsp[0].expr); } -#line 3190 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3207 "bison_parser.cpp" /* yacc.c:1646 */ break; case 96: -#line 713 "bison_parser.y" /* yacc.c:1661 */ +#line 713 "bison_parser.y" /* yacc.c:1646 */ { (yyval.limit) = new LimitDescription((yyvsp[-2].expr)->ival, (yyvsp[0].expr)->ival); delete (yyvsp[-2].expr); delete (yyvsp[0].expr); } -#line 3196 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3213 "bison_parser.cpp" /* yacc.c:1646 */ break; case 97: -#line 714 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.limit) = nullptr; } -#line 3202 "bison_parser.cpp" /* yacc.c:1661 */ +#line 714 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.limit) = new LimitDescription(kNoLimit, (yyvsp[0].expr)->ival); delete (yyvsp[0].expr); } +#line 3219 "bison_parser.cpp" /* yacc.c:1646 */ break; case 98: -#line 721 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr_vec) = new std::vector(); (yyval.expr_vec)->push_back((yyvsp[0].expr)); } -#line 3208 "bison_parser.cpp" /* yacc.c:1661 */ +#line 715 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.limit) = nullptr; } +#line 3225 "bison_parser.cpp" /* yacc.c:1646 */ break; case 99: -#line 722 "bison_parser.y" /* yacc.c:1661 */ - { (yyvsp[-2].expr_vec)->push_back((yyvsp[0].expr)); (yyval.expr_vec) = (yyvsp[-2].expr_vec); } -#line 3214 "bison_parser.cpp" /* yacc.c:1661 */ +#line 716 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.limit) = nullptr; } +#line 3231 "bison_parser.cpp" /* yacc.c:1646 */ break; case 100: -#line 726 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr_vec) = new std::vector(); (yyval.expr_vec)->push_back((yyvsp[0].expr)); } -#line 3220 "bison_parser.cpp" /* yacc.c:1661 */ +#line 717 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.limit) = new LimitDescription(kNoLimit, (yyvsp[0].expr)->ival); delete (yyvsp[0].expr); } +#line 3237 "bison_parser.cpp" /* yacc.c:1646 */ break; case 101: -#line 727 "bison_parser.y" /* yacc.c:1661 */ - { (yyvsp[-2].expr_vec)->push_back((yyvsp[0].expr)); (yyval.expr_vec) = (yyvsp[-2].expr_vec); } -#line 3226 "bison_parser.cpp" /* yacc.c:1661 */ +#line 718 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.limit) = new LimitDescription(kNoLimit, (yyvsp[0].expr)->ival);; delete (yyvsp[0].expr); } +#line 3243 "bison_parser.cpp" /* yacc.c:1646 */ break; case 102: -#line 731 "bison_parser.y" /* yacc.c:1661 */ +#line 719 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.limit) = nullptr; } +#line 3249 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 103: +#line 726 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr_vec) = new std::vector(); (yyval.expr_vec)->push_back((yyvsp[0].expr)); } +#line 3255 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 104: +#line 727 "bison_parser.y" /* yacc.c:1646 */ + { (yyvsp[-2].expr_vec)->push_back((yyvsp[0].expr)); (yyval.expr_vec) = (yyvsp[-2].expr_vec); } +#line 3261 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 105: +#line 731 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr_vec) = new std::vector(); (yyval.expr_vec)->push_back((yyvsp[0].expr)); } +#line 3267 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 106: +#line 732 "bison_parser.y" /* yacc.c:1646 */ + { (yyvsp[-2].expr_vec)->push_back((yyvsp[0].expr)); (yyval.expr_vec) = (yyvsp[-2].expr_vec); } +#line 3273 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 107: +#line 736 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = (yyvsp[-1].expr); (yyval.expr)->alias = (yyvsp[0].sval); } -#line 3235 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3282 "bison_parser.cpp" /* yacc.c:1646 */ break; - case 108: -#line 746 "bison_parser.y" /* yacc.c:1661 */ + case 113: +#line 751 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = (yyvsp[-1].expr); } -#line 3241 "bison_parser.cpp" /* yacc.c:1661 */ - break; - - case 116: -#line 754 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeSelect((yyvsp[-1].select_stmt)); } -#line 3247 "bison_parser.cpp" /* yacc.c:1661 */ - break; - - case 119: -#line 763 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpUnary(kOpUnaryMinus, (yyvsp[0].expr)); } -#line 3253 "bison_parser.cpp" /* yacc.c:1661 */ - break; - - case 120: -#line 764 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpUnary(kOpNot, (yyvsp[0].expr)); } -#line 3259 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3288 "bison_parser.cpp" /* yacc.c:1646 */ break; case 121: -#line 765 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpUnary(kOpIsNull, (yyvsp[-1].expr)); } -#line 3265 "bison_parser.cpp" /* yacc.c:1661 */ +#line 759 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeSelect((yyvsp[-1].select_stmt)); } +#line 3294 "bison_parser.cpp" /* yacc.c:1646 */ break; - case 122: -#line 766 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpUnary(kOpIsNull, (yyvsp[-2].expr)); } -#line 3271 "bison_parser.cpp" /* yacc.c:1661 */ - break; - - case 123: -#line 767 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpUnary(kOpNot, Expr::makeOpUnary(kOpIsNull, (yyvsp[-3].expr))); } -#line 3277 "bison_parser.cpp" /* yacc.c:1661 */ + case 124: +#line 768 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpUnary(kOpUnaryMinus, (yyvsp[0].expr)); } +#line 3300 "bison_parser.cpp" /* yacc.c:1646 */ break; case 125: -#line 772 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpMinus, (yyvsp[0].expr)); } -#line 3283 "bison_parser.cpp" /* yacc.c:1661 */ +#line 769 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpUnary(kOpNot, (yyvsp[0].expr)); } +#line 3306 "bison_parser.cpp" /* yacc.c:1646 */ break; case 126: -#line 773 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpPlus, (yyvsp[0].expr)); } -#line 3289 "bison_parser.cpp" /* yacc.c:1661 */ +#line 770 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpUnary(kOpIsNull, (yyvsp[-1].expr)); } +#line 3312 "bison_parser.cpp" /* yacc.c:1646 */ break; case 127: -#line 774 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpSlash, (yyvsp[0].expr)); } -#line 3295 "bison_parser.cpp" /* yacc.c:1661 */ +#line 771 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpUnary(kOpIsNull, (yyvsp[-2].expr)); } +#line 3318 "bison_parser.cpp" /* yacc.c:1646 */ break; case 128: -#line 775 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpAsterisk, (yyvsp[0].expr)); } -#line 3301 "bison_parser.cpp" /* yacc.c:1661 */ - break; - - case 129: -#line 776 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpPercentage, (yyvsp[0].expr)); } -#line 3307 "bison_parser.cpp" /* yacc.c:1661 */ +#line 772 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpUnary(kOpNot, Expr::makeOpUnary(kOpIsNull, (yyvsp[-3].expr))); } +#line 3324 "bison_parser.cpp" /* yacc.c:1646 */ break; case 130: -#line 777 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpCaret, (yyvsp[0].expr)); } -#line 3313 "bison_parser.cpp" /* yacc.c:1661 */ +#line 777 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpMinus, (yyvsp[0].expr)); } +#line 3330 "bison_parser.cpp" /* yacc.c:1646 */ break; case 131: -#line 778 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpLike, (yyvsp[0].expr)); } -#line 3319 "bison_parser.cpp" /* yacc.c:1661 */ +#line 778 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpPlus, (yyvsp[0].expr)); } +#line 3336 "bison_parser.cpp" /* yacc.c:1646 */ break; case 132: -#line 779 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-3].expr), kOpNotLike, (yyvsp[0].expr)); } -#line 3325 "bison_parser.cpp" /* yacc.c:1661 */ +#line 779 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpSlash, (yyvsp[0].expr)); } +#line 3342 "bison_parser.cpp" /* yacc.c:1646 */ break; case 133: -#line 780 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpILike, (yyvsp[0].expr)); } -#line 3331 "bison_parser.cpp" /* yacc.c:1661 */ +#line 780 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpAsterisk, (yyvsp[0].expr)); } +#line 3348 "bison_parser.cpp" /* yacc.c:1646 */ break; case 134: -#line 781 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpConcat, (yyvsp[0].expr)); } -#line 3337 "bison_parser.cpp" /* yacc.c:1661 */ +#line 781 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpPercentage, (yyvsp[0].expr)); } +#line 3354 "bison_parser.cpp" /* yacc.c:1646 */ break; case 135: -#line 785 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpAnd, (yyvsp[0].expr)); } -#line 3343 "bison_parser.cpp" /* yacc.c:1661 */ +#line 782 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpCaret, (yyvsp[0].expr)); } +#line 3360 "bison_parser.cpp" /* yacc.c:1646 */ break; case 136: -#line 786 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpOr, (yyvsp[0].expr)); } -#line 3349 "bison_parser.cpp" /* yacc.c:1661 */ +#line 783 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpLike, (yyvsp[0].expr)); } +#line 3366 "bison_parser.cpp" /* yacc.c:1646 */ break; case 137: -#line 790 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeInOperator((yyvsp[-4].expr), (yyvsp[-1].expr_vec)); } -#line 3355 "bison_parser.cpp" /* yacc.c:1661 */ +#line 784 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-3].expr), kOpNotLike, (yyvsp[0].expr)); } +#line 3372 "bison_parser.cpp" /* yacc.c:1646 */ break; case 138: -#line 791 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpUnary(kOpNot, Expr::makeInOperator((yyvsp[-5].expr), (yyvsp[-1].expr_vec))); } -#line 3361 "bison_parser.cpp" /* yacc.c:1661 */ +#line 785 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpILike, (yyvsp[0].expr)); } +#line 3378 "bison_parser.cpp" /* yacc.c:1646 */ break; case 139: -#line 792 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeInOperator((yyvsp[-4].expr), (yyvsp[-1].select_stmt)); } -#line 3367 "bison_parser.cpp" /* yacc.c:1661 */ +#line 786 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpConcat, (yyvsp[0].expr)); } +#line 3384 "bison_parser.cpp" /* yacc.c:1646 */ break; case 140: -#line 793 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpUnary(kOpNot, Expr::makeInOperator((yyvsp[-5].expr), (yyvsp[-1].select_stmt))); } -#line 3373 "bison_parser.cpp" /* yacc.c:1661 */ +#line 790 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpAnd, (yyvsp[0].expr)); } +#line 3390 "bison_parser.cpp" /* yacc.c:1646 */ break; case 141: -#line 799 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeCase((yyvsp[-2].expr), (yyvsp[-1].expr), nullptr); } -#line 3379 "bison_parser.cpp" /* yacc.c:1661 */ +#line 791 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpOr, (yyvsp[0].expr)); } +#line 3396 "bison_parser.cpp" /* yacc.c:1646 */ break; case 142: -#line 800 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeCase((yyvsp[-4].expr), (yyvsp[-3].expr), (yyvsp[-1].expr)); } -#line 3385 "bison_parser.cpp" /* yacc.c:1661 */ +#line 795 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeInOperator((yyvsp[-4].expr), (yyvsp[-1].expr_vec)); } +#line 3402 "bison_parser.cpp" /* yacc.c:1646 */ break; case 143: -#line 801 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeCase(nullptr, (yyvsp[-1].expr), nullptr); } -#line 3391 "bison_parser.cpp" /* yacc.c:1661 */ +#line 796 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpUnary(kOpNot, Expr::makeInOperator((yyvsp[-5].expr), (yyvsp[-1].expr_vec))); } +#line 3408 "bison_parser.cpp" /* yacc.c:1646 */ break; case 144: -#line 802 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeCase(nullptr, (yyvsp[-3].expr), (yyvsp[-1].expr)); } -#line 3397 "bison_parser.cpp" /* yacc.c:1661 */ +#line 797 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeInOperator((yyvsp[-4].expr), (yyvsp[-1].select_stmt)); } +#line 3414 "bison_parser.cpp" /* yacc.c:1646 */ break; case 145: -#line 806 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeCaseList(Expr::makeCaseListElement((yyvsp[-2].expr), (yyvsp[0].expr))); } -#line 3403 "bison_parser.cpp" /* yacc.c:1661 */ +#line 798 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpUnary(kOpNot, Expr::makeInOperator((yyvsp[-5].expr), (yyvsp[-1].select_stmt))); } +#line 3420 "bison_parser.cpp" /* yacc.c:1646 */ break; case 146: -#line 807 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::caseListAppend((yyvsp[-4].expr), Expr::makeCaseListElement((yyvsp[-2].expr), (yyvsp[0].expr))); } -#line 3409 "bison_parser.cpp" /* yacc.c:1661 */ +#line 804 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeCase((yyvsp[-2].expr), (yyvsp[-1].expr), nullptr); } +#line 3426 "bison_parser.cpp" /* yacc.c:1646 */ break; case 147: -#line 811 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeExists((yyvsp[-1].select_stmt)); } -#line 3415 "bison_parser.cpp" /* yacc.c:1661 */ +#line 805 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeCase((yyvsp[-4].expr), (yyvsp[-3].expr), (yyvsp[-1].expr)); } +#line 3432 "bison_parser.cpp" /* yacc.c:1646 */ break; case 148: -#line 812 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpUnary(kOpNot, Expr::makeExists((yyvsp[-1].select_stmt))); } -#line 3421 "bison_parser.cpp" /* yacc.c:1661 */ +#line 806 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeCase(nullptr, (yyvsp[-1].expr), nullptr); } +#line 3438 "bison_parser.cpp" /* yacc.c:1646 */ break; case 149: -#line 816 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpEquals, (yyvsp[0].expr)); } -#line 3427 "bison_parser.cpp" /* yacc.c:1661 */ +#line 807 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeCase(nullptr, (yyvsp[-3].expr), (yyvsp[-1].expr)); } +#line 3444 "bison_parser.cpp" /* yacc.c:1646 */ break; case 150: -#line 817 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpNotEquals, (yyvsp[0].expr)); } -#line 3433 "bison_parser.cpp" /* yacc.c:1661 */ +#line 811 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeCaseList(Expr::makeCaseListElement((yyvsp[-2].expr), (yyvsp[0].expr))); } +#line 3450 "bison_parser.cpp" /* yacc.c:1646 */ break; case 151: -#line 818 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpLess, (yyvsp[0].expr)); } -#line 3439 "bison_parser.cpp" /* yacc.c:1661 */ +#line 812 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::caseListAppend((yyvsp[-4].expr), Expr::makeCaseListElement((yyvsp[-2].expr), (yyvsp[0].expr))); } +#line 3456 "bison_parser.cpp" /* yacc.c:1646 */ break; case 152: -#line 819 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpGreater, (yyvsp[0].expr)); } -#line 3445 "bison_parser.cpp" /* yacc.c:1661 */ +#line 816 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeExists((yyvsp[-1].select_stmt)); } +#line 3462 "bison_parser.cpp" /* yacc.c:1646 */ break; case 153: -#line 820 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpLessEq, (yyvsp[0].expr)); } -#line 3451 "bison_parser.cpp" /* yacc.c:1661 */ +#line 817 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpUnary(kOpNot, Expr::makeExists((yyvsp[-1].select_stmt))); } +#line 3468 "bison_parser.cpp" /* yacc.c:1646 */ break; case 154: -#line 821 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpGreaterEq, (yyvsp[0].expr)); } -#line 3457 "bison_parser.cpp" /* yacc.c:1661 */ +#line 821 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpEquals, (yyvsp[0].expr)); } +#line 3474 "bison_parser.cpp" /* yacc.c:1646 */ break; case 155: -#line 825 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeFunctionRef((yyvsp[-2].sval), new std::vector(), false); } -#line 3463 "bison_parser.cpp" /* yacc.c:1661 */ +#line 822 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpEquals, (yyvsp[0].expr)); } +#line 3480 "bison_parser.cpp" /* yacc.c:1646 */ break; case 156: -#line 826 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeFunctionRef((yyvsp[-4].sval), (yyvsp[-1].expr_vec), (yyvsp[-2].bval)); } -#line 3469 "bison_parser.cpp" /* yacc.c:1661 */ +#line 823 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpNotEquals, (yyvsp[0].expr)); } +#line 3486 "bison_parser.cpp" /* yacc.c:1646 */ break; case 157: -#line 830 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeArray((yyvsp[-1].expr_vec)); } -#line 3475 "bison_parser.cpp" /* yacc.c:1661 */ +#line 824 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpLess, (yyvsp[0].expr)); } +#line 3492 "bison_parser.cpp" /* yacc.c:1646 */ break; case 158: -#line 834 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeArrayIndex((yyvsp[-3].expr), (yyvsp[-1].expr)->ival); } -#line 3481 "bison_parser.cpp" /* yacc.c:1661 */ +#line 825 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpGreater, (yyvsp[0].expr)); } +#line 3498 "bison_parser.cpp" /* yacc.c:1646 */ break; case 159: -#line 838 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeBetween((yyvsp[-4].expr), (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3487 "bison_parser.cpp" /* yacc.c:1661 */ +#line 826 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpLessEq, (yyvsp[0].expr)); } +#line 3504 "bison_parser.cpp" /* yacc.c:1646 */ break; case 160: -#line 842 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeColumnRef((yyvsp[0].sval)); } -#line 3493 "bison_parser.cpp" /* yacc.c:1661 */ +#line 827 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpGreaterEq, (yyvsp[0].expr)); } +#line 3510 "bison_parser.cpp" /* yacc.c:1646 */ break; case 161: -#line 843 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeColumnRef((yyvsp[-2].sval), (yyvsp[0].sval)); } -#line 3499 "bison_parser.cpp" /* yacc.c:1661 */ +#line 831 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeFunctionRef((yyvsp[-2].sval), new std::vector(), false); } +#line 3516 "bison_parser.cpp" /* yacc.c:1646 */ break; case 162: -#line 844 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeStar(); } -#line 3505 "bison_parser.cpp" /* yacc.c:1661 */ +#line 832 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeFunctionRef((yyvsp[-4].sval), (yyvsp[-1].expr_vec), (yyvsp[-2].bval)); } +#line 3522 "bison_parser.cpp" /* yacc.c:1646 */ break; case 163: -#line 845 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeStar((yyvsp[-2].sval)); } -#line 3511 "bison_parser.cpp" /* yacc.c:1661 */ +#line 836 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeArray((yyvsp[-1].expr_vec)); } +#line 3528 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 164: +#line 840 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeArrayIndex((yyvsp[-3].expr), (yyvsp[-1].expr)->ival); } +#line 3534 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 165: +#line 844 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeBetween((yyvsp[-4].expr), (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3540 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 166: +#line 848 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeColumnRef((yyvsp[0].sval)); } +#line 3546 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 167: +#line 849 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeColumnRef((yyvsp[-2].sval), (yyvsp[0].sval)); } +#line 3552 "bison_parser.cpp" /* yacc.c:1646 */ break; case 168: -#line 856 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.expr) = Expr::makeLiteral((yyvsp[0].sval)); } -#line 3517 "bison_parser.cpp" /* yacc.c:1661 */ +#line 850 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeStar(); } +#line 3558 "bison_parser.cpp" /* yacc.c:1646 */ break; case 169: -#line 861 "bison_parser.y" /* yacc.c:1661 */ +#line 851 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeStar((yyvsp[-2].sval)); } +#line 3564 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 174: +#line 862 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.expr) = Expr::makeLiteral((yyvsp[0].sval)); } +#line 3570 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 175: +#line 867 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeLiteral((yyvsp[0].fval)); } -#line 3523 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3576 "bison_parser.cpp" /* yacc.c:1646 */ break; - case 171: -#line 866 "bison_parser.y" /* yacc.c:1661 */ + case 177: +#line 872 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeLiteral((yyvsp[0].ival)); } -#line 3529 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3582 "bison_parser.cpp" /* yacc.c:1646 */ break; - case 172: -#line 870 "bison_parser.y" /* yacc.c:1661 */ + case 178: +#line 876 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeNullLiteral(); } -#line 3535 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3588 "bison_parser.cpp" /* yacc.c:1646 */ break; - case 173: -#line 874 "bison_parser.y" /* yacc.c:1661 */ + case 179: +#line 880 "bison_parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::makeParameter(yylloc.total_column); (yyval.expr)->ival2 = yyloc.param_list.size(); yyloc.param_list.push_back((yyval.expr)); } -#line 3545 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3598 "bison_parser.cpp" /* yacc.c:1646 */ break; - case 175: -#line 887 "bison_parser.y" /* yacc.c:1661 */ + case 181: +#line 893 "bison_parser.y" /* yacc.c:1646 */ { (yyvsp[-2].table_vec)->push_back((yyvsp[0].table)); auto tbl = new TableRef(kTableCrossProduct); tbl->list = (yyvsp[-2].table_vec); (yyval.table) = tbl; } -#line 3556 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3609 "bison_parser.cpp" /* yacc.c:1646 */ break; - case 179: -#line 903 "bison_parser.y" /* yacc.c:1661 */ + case 185: +#line 909 "bison_parser.y" /* yacc.c:1646 */ { auto tbl = new TableRef(kTableSelect); tbl->select = (yyvsp[-2].select_stmt); tbl->alias = (yyvsp[0].sval); (yyval.table) = tbl; } -#line 3567 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3620 "bison_parser.cpp" /* yacc.c:1646 */ break; - case 180: -#line 912 "bison_parser.y" /* yacc.c:1661 */ + case 186: +#line 918 "bison_parser.y" /* yacc.c:1646 */ { (yyval.table_vec) = new std::vector(); (yyval.table_vec)->push_back((yyvsp[0].table)); } -#line 3573 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3626 "bison_parser.cpp" /* yacc.c:1646 */ break; - case 181: -#line 913 "bison_parser.y" /* yacc.c:1661 */ + case 187: +#line 919 "bison_parser.y" /* yacc.c:1646 */ { (yyvsp[-2].table_vec)->push_back((yyvsp[0].table)); (yyval.table_vec) = (yyvsp[-2].table_vec); } -#line 3579 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3632 "bison_parser.cpp" /* yacc.c:1646 */ break; - case 182: -#line 918 "bison_parser.y" /* yacc.c:1661 */ + case 188: +#line 924 "bison_parser.y" /* yacc.c:1646 */ { auto tbl = new TableRef(kTableName); tbl->schema = (yyvsp[-1].table_name).schema; @@ -3587,45 +3640,45 @@ yyreduce: tbl->alias = (yyvsp[0].sval); (yyval.table) = tbl; } -#line 3591 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3644 "bison_parser.cpp" /* yacc.c:1646 */ break; - case 183: -#line 929 "bison_parser.y" /* yacc.c:1661 */ + case 189: +#line 935 "bison_parser.y" /* yacc.c:1646 */ { (yyval.table) = new TableRef(kTableName); (yyval.table)->schema = (yyvsp[0].table_name).schema; (yyval.table)->name = (yyvsp[0].table_name).name; } -#line 3601 "bison_parser.cpp" /* yacc.c:1661 */ - break; - - case 184: -#line 938 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.table_name).schema = nullptr; (yyval.table_name).name = (yyvsp[0].sval);} -#line 3607 "bison_parser.cpp" /* yacc.c:1661 */ - break; - - case 185: -#line 939 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.table_name).schema = (yyvsp[-2].sval); (yyval.table_name).name = (yyvsp[0].sval); } -#line 3613 "bison_parser.cpp" /* yacc.c:1661 */ - break; - - case 186: -#line 944 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.sval) = (yyvsp[0].sval); } -#line 3619 "bison_parser.cpp" /* yacc.c:1661 */ - break; - - case 189: -#line 950 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.sval) = nullptr; } -#line 3625 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3654 "bison_parser.cpp" /* yacc.c:1646 */ break; case 190: -#line 959 "bison_parser.y" /* yacc.c:1661 */ +#line 944 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.table_name).schema = nullptr; (yyval.table_name).name = (yyvsp[0].sval);} +#line 3660 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 191: +#line 945 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.table_name).schema = (yyvsp[-2].sval); (yyval.table_name).name = (yyvsp[0].sval); } +#line 3666 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 192: +#line 950 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.sval) = (yyvsp[0].sval); } +#line 3672 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 195: +#line 956 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.sval) = nullptr; } +#line 3678 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 196: +#line 965 "bison_parser.y" /* yacc.c:1646 */ { (yyval.table) = new TableRef(kTableJoin); (yyval.table)->join = new JoinDefinition(); @@ -3633,11 +3686,11 @@ yyreduce: (yyval.table)->join->left = (yyvsp[-3].table); (yyval.table)->join->right = (yyvsp[0].table); } -#line 3637 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3690 "bison_parser.cpp" /* yacc.c:1646 */ break; - case 191: -#line 967 "bison_parser.y" /* yacc.c:1661 */ + case 197: +#line 973 "bison_parser.y" /* yacc.c:1646 */ { (yyval.table) = new TableRef(kTableJoin); (yyval.table)->join = new JoinDefinition(); @@ -3646,11 +3699,11 @@ yyreduce: (yyval.table)->join->right = (yyvsp[-2].table); (yyval.table)->join->condition = (yyvsp[0].expr); } -#line 3650 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3703 "bison_parser.cpp" /* yacc.c:1646 */ break; - case 192: -#line 977 "bison_parser.y" /* yacc.c:1661 */ + case 198: +#line 983 "bison_parser.y" /* yacc.c:1646 */ { (yyval.table) = new TableRef(kTableJoin); (yyval.table)->join = new JoinDefinition(); @@ -3666,71 +3719,83 @@ yyreduce: (yyval.table)->join->condition = Expr::makeOpBinary(left_col, kOpEquals, right_col); delete (yyvsp[-1].expr); } -#line 3670 "bison_parser.cpp" /* yacc.c:1661 */ - break; - - case 193: -#line 995 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.uval) = kJoinInner; } -#line 3676 "bison_parser.cpp" /* yacc.c:1661 */ - break; - - case 194: -#line 996 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.uval) = kJoinOuter; } -#line 3682 "bison_parser.cpp" /* yacc.c:1661 */ - break; - - case 195: -#line 997 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.uval) = kJoinLeftOuter; } -#line 3688 "bison_parser.cpp" /* yacc.c:1661 */ - break; - - case 196: -#line 998 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.uval) = kJoinRightOuter; } -#line 3694 "bison_parser.cpp" /* yacc.c:1661 */ - break; - - case 197: -#line 999 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.uval) = kJoinLeft; } -#line 3700 "bison_parser.cpp" /* yacc.c:1661 */ - break; - - case 198: -#line 1000 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.uval) = kJoinRight; } -#line 3706 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3723 "bison_parser.cpp" /* yacc.c:1646 */ break; case 199: -#line 1001 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.uval) = kJoinCross; } -#line 3712 "bison_parser.cpp" /* yacc.c:1661 */ +#line 1001 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.uval) = kJoinInner; } +#line 3729 "bison_parser.cpp" /* yacc.c:1646 */ break; case 200: -#line 1002 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.uval) = kJoinInner; } -#line 3718 "bison_parser.cpp" /* yacc.c:1661 */ +#line 1002 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.uval) = kJoinLeft; } +#line 3735 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 201: +#line 1003 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.uval) = kJoinLeft; } +#line 3741 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 202: +#line 1004 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.uval) = kJoinRight; } +#line 3747 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 203: +#line 1005 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.uval) = kJoinRight; } +#line 3753 "bison_parser.cpp" /* yacc.c:1646 */ break; case 204: -#line 1022 "bison_parser.y" /* yacc.c:1661 */ - { (yyval.str_vec) = new std::vector(); (yyval.str_vec)->push_back((yyvsp[0].sval)); } -#line 3724 "bison_parser.cpp" /* yacc.c:1661 */ +#line 1006 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.uval) = kJoinFull; } +#line 3759 "bison_parser.cpp" /* yacc.c:1646 */ break; case 205: -#line 1023 "bison_parser.y" /* yacc.c:1661 */ +#line 1007 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.uval) = kJoinFull; } +#line 3765 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 206: +#line 1008 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.uval) = kJoinFull; } +#line 3771 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 207: +#line 1009 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.uval) = kJoinCross; } +#line 3777 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 208: +#line 1010 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.uval) = kJoinInner; } +#line 3783 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 212: +#line 1030 "bison_parser.y" /* yacc.c:1646 */ + { (yyval.str_vec) = new std::vector(); (yyval.str_vec)->push_back((yyvsp[0].sval)); } +#line 3789 "bison_parser.cpp" /* yacc.c:1646 */ + break; + + case 213: +#line 1031 "bison_parser.y" /* yacc.c:1646 */ { (yyvsp[-2].str_vec)->push_back((yyvsp[0].sval)); (yyval.str_vec) = (yyvsp[-2].str_vec); } -#line 3730 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3795 "bison_parser.cpp" /* yacc.c:1646 */ break; -#line 3734 "bison_parser.cpp" /* yacc.c:1661 */ +#line 3799 "bison_parser.cpp" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -3965,7 +4030,7 @@ yyreturn: #endif return yyresult; } -#line 1026 "bison_parser.y" /* yacc.c:1906 */ +#line 1034 "bison_parser.y" /* yacc.c:1906 */ /********************************* ** Section 4: Additional C code diff --git a/src/parser/bison_parser.h b/src/parser/bison_parser.h index 7b6edc9..0d89603 100644 --- a/src/parser/bison_parser.h +++ b/src/parser/bison_parser.h @@ -48,7 +48,7 @@ extern int hsql_debug; #endif /* "%code requires" blocks. */ -#line 35 "bison_parser.y" /* yacc.c:1915 */ +#line 35 "bison_parser.y" /* yacc.c:1909 */ // %code requires block @@ -72,7 +72,7 @@ extern int hsql_debug; } \ } -#line 76 "bison_parser.h" /* yacc.c:1915 */ +#line 76 "bison_parser.h" /* yacc.c:1909 */ /* Token type. */ #ifndef HSQL_TOKENTYPE @@ -218,7 +218,7 @@ extern int hsql_debug; union HSQL_STYPE { -#line 95 "bison_parser.y" /* yacc.c:1915 */ +#line 95 "bison_parser.y" /* yacc.c:1909 */ double fval; int64_t ival; @@ -257,7 +257,7 @@ union HSQL_STYPE std::vector* expr_vec; std::vector* order_vec; -#line 261 "bison_parser.h" /* yacc.c:1915 */ +#line 261 "bison_parser.h" /* yacc.c:1909 */ }; typedef union HSQL_STYPE HSQL_STYPE; diff --git a/src/parser/flex_lexer.cpp b/src/parser/flex_lexer.cpp index 094f831..75f61de 100644 --- a/src/parser/flex_lexer.cpp +++ b/src/parser/flex_lexer.cpp @@ -9,7 +9,7 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 6 -#define YY_FLEX_SUBMINOR_VERSION 1 +#define YY_FLEX_SUBMINOR_VERSION 0 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -88,13 +88,25 @@ typedef unsigned int flex_uint32_t; #endif /* ! FLEXINT_H */ -/* TODO: this is always defined, so inline it */ -#define yyconst const +#ifdef __cplusplus -#if defined(__GNUC__) && __GNUC__ >= 3 -#define yynoreturn __attribute__((__noreturn__)) +/* The "const" storage-class-modifier is valid. */ +#define YY_USE_CONST + +#else /* ! __cplusplus */ + +/* C99 requires __STDC__ to be defined as 1. */ +#if defined (__STDC__) + +#define YY_USE_CONST + +#endif /* defined (__STDC__) */ +#endif /* ! __cplusplus */ + +#ifdef YY_USE_CONST +#define yyconst const #else -#define yynoreturn +#define yyconst #endif /* Returned upon end-of-file. */ @@ -207,7 +219,7 @@ struct yy_buffer_state /* Size of input buffer in bytes, not including room for EOB * characters. */ - int yy_buf_size; + yy_size_t yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. @@ -235,7 +247,7 @@ struct yy_buffer_state int yy_bs_lineno; /**< The line count. */ int yy_bs_column; /**< The column count. */ - + /* Whether to try to fill the input buffer when we reach the * end of it. */ @@ -291,7 +303,7 @@ static void hsql__init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner YY_BUFFER_STATE hsql__scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); YY_BUFFER_STATE hsql__scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); -YY_BUFFER_STATE hsql__scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner ); +YY_BUFFER_STATE hsql__scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner ); void *hsql_alloc (yy_size_t ,yyscan_t yyscanner ); void *hsql_realloc (void *,yy_size_t ,yyscan_t yyscanner ); @@ -335,20 +347,23 @@ typedef int yy_state_type; static yy_state_type yy_get_previous_state (yyscan_t yyscanner ); static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner); static int yy_get_next_buffer (yyscan_t yyscanner ); -static void yynoreturn yy_fatal_error (yyconst char* msg ,yyscan_t yyscanner ); +#if defined(__GNUC__) && __GNUC__ >= 3 +__attribute__((__noreturn__)) +#endif +static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); /* Done after the current pattern has been matched and before the * corresponding action - sets up yytext. */ #define YY_DO_BEFORE_ACTION \ yyg->yytext_ptr = yy_bp; \ - yyleng = (int) (yy_cp - yy_bp); \ + yyleng = (size_t) (yy_cp - yy_bp); \ yyg->yy_hold_char = *yy_cp; \ *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 136 -#define YY_END_OF_BUFFER 137 +#define YY_NUM_RULES 137 +#define YY_END_OF_BUFFER 138 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -356,27 +371,27 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[938] = +static yyconst flex_int16_t yy_accept[942] = { 0, - 0, 0, 2, 2, 137, 135, 4, 4, 135, 135, - 128, 135, 128, 128, 131, 128, 128, 133, 133, 133, - 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, - 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, - 128, 2, 2, 3, 2, 2, 2, 2, 2, 2, + 0, 0, 2, 2, 138, 136, 4, 4, 136, 136, + 129, 136, 129, 129, 132, 129, 129, 129, 134, 134, + 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, + 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, + 134, 129, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 4, 123, 0, - 0, 134, 1, 131, 130, 129, 125, 124, 126, 133, - 133, 133, 133, 133, 133, 114, 133, 115, 133, 133, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, + 124, 0, 0, 135, 1, 132, 131, 130, 126, 125, + 123, 127, 134, 134, 134, 134, 134, 134, 114, 134, - 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, - 133, 133, 133, 133, 133, 133, 133, 133, 133, 116, - 133, 133, 117, 118, 133, 133, 133, 133, 133, 133, - 133, 133, 133, 133, 133, 119, 120, 121, 133, 133, - 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, - 133, 133, 133, 133, 122, 133, 133, 133, 133, 133, - 133, 133, 133, 127, 2, 2, 2, 2, 2, 2, - 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 115, 134, 134, 134, 134, 134, 134, 134, 134, 134, + 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, + 134, 134, 116, 134, 134, 117, 118, 134, 134, 134, + 134, 134, 134, 134, 134, 134, 134, 134, 119, 120, + 121, 134, 134, 134, 134, 134, 134, 134, 134, 134, + 134, 134, 134, 134, 134, 134, 134, 122, 134, 134, + 134, 134, 134, 134, 134, 134, 128, 2, 2, 2, + 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -385,18 +400,18 @@ static yyconst flex_int16_t yy_accept[938] = 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 132, 129, 100, 133, 101, 133, 133, 102, - 133, 103, 133, 133, 133, 133, 133, 133, 133, 133, - 104, 133, 133, 133, 133, 133, 133, 133, 133, 133, - 133, 105, 133, 133, 133, 133, 133, 133, 106, 133, - 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 2, 2, 2, 2, 2, 2, 133, 130, 100, 134, + 101, 134, 134, 102, 134, 103, 134, 134, 134, 134, + 134, 134, 134, 134, 104, 134, 134, 134, 134, 134, + 134, 134, 134, 134, 134, 105, 134, 134, 134, 134, + 134, 134, 106, 134, 134, 134, 134, 134, 134, 134, - 133, 133, 107, 133, 133, 108, 133, 133, 133, 133, - 133, 133, 133, 133, 109, 133, 133, 110, 133, 133, - 133, 133, 133, 133, 133, 133, 133, 133, 133, 111, - 133, 133, 133, 133, 112, 133, 133, 133, 133, 113, - 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 134, 134, 134, 134, 134, 134, 107, 134, 134, 108, + 134, 134, 134, 134, 134, 134, 134, 134, 109, 134, + 134, 110, 134, 134, 134, 134, 134, 134, 134, 134, + 134, 134, 134, 111, 134, 134, 134, 134, 112, 134, + 134, 134, 134, 113, 134, 134, 134, 134, 134, 134, + 134, 134, 134, 134, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -406,18 +421,18 @@ static yyconst flex_int16_t yy_accept[938] = 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 133, 133, - 133, 133, 133, 133, 73, 133, 74, 133, 133, 133, - 133, 75, 133, 133, 133, 133, 76, 133, 133, 133, - 77, 78, 133, 133, 133, 133, 133, 79, 80, 81, - 133, 133, 82, 133, 83, 133, 133, 133, 133, 133, - 133, 133, 84, 133, 85, 86, 87, 133, 89, 133, - - 133, 133, 133, 90, 133, 133, 133, 133, 133, 91, - 92, 133, 133, 133, 133, 133, 133, 133, 93, 133, - 133, 133, 133, 94, 95, 96, 133, 133, 133, 133, - 133, 133, 133, 97, 133, 98, 133, 99, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 134, 134, 134, 134, 134, 134, 73, 134, + 74, 134, 134, 134, 134, 75, 134, 134, 134, 134, + 76, 134, 134, 134, 77, 78, 134, 134, 134, 134, + 134, 79, 80, 81, 134, 134, 82, 134, 83, 134, + 134, 134, 134, 134, 134, 134, 84, 134, 85, 86, + + 87, 134, 89, 134, 134, 134, 134, 90, 134, 134, + 134, 134, 134, 91, 92, 134, 134, 134, 134, 134, + 134, 134, 93, 134, 134, 134, 134, 94, 95, 96, + 134, 134, 134, 134, 134, 134, 134, 97, 134, 98, + 134, 99, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -426,14 +441,14 @@ static yyconst flex_int16_t yy_accept[938] = 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 54, 55, - 133, 56, 133, 133, 133, 133, 133, 133, 57, 133, - 133, 133, 58, 133, 133, 133, 133, 133, 133, 133, - 133, 133, 59, 133, 133, 88, 133, 60, 61, 133, - 133, 133, 133, 62, 63, 64, 65, 133, 133, 133, - 66, 67, 133, 133, 133, 133, 133, 68, 133, 133, - 133, 133, 69, 133, 133, 133, 70, 133, 133, 133, - 71, 133, 133, 72, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 54, 55, 134, 56, 134, 134, 134, 134, + 134, 134, 57, 134, 134, 134, 58, 134, 134, 134, + 134, 134, 134, 134, 134, 134, 59, 134, 134, 88, + 134, 60, 61, 134, 134, 134, 134, 62, 63, 64, + 65, 134, 134, 134, 66, 67, 134, 134, 134, 134, + 134, 68, 134, 134, 134, 134, 69, 134, 134, 134, + 70, 134, 134, 134, 71, 134, 134, 72, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -441,26 +456,27 @@ static yyconst flex_int16_t yy_accept[938] = 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 133, 30, 133, 133, 31, 133, 32, 133, 133, 33, - 34, 133, 35, 36, 37, 133, 38, 133, 39, 40, - 133, 41, 42, 133, 133, 43, 133, 133, 44, 133, - 133, 133, 45, 133, 46, 47, 48, 133, 49, 133, + 2, 2, 2, 2, 134, 30, 134, 134, 31, 134, + 32, 134, 134, 33, 34, 134, 35, 36, 37, 134, + 38, 134, 39, 40, 134, 41, 42, 134, 134, 43, + 134, 134, 44, 134, 134, 134, 45, 134, 46, 47, - 133, 133, 50, 51, 52, 53, 133, 2, 2, 2, + 48, 134, 49, 134, 134, 134, 50, 51, 52, 53, + 134, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 14, 15, 16, 17, 18, 133, - 19, 133, 20, 21, 22, 23, 133, 24, 133, 133, - 25, 26, 133, 27, 28, 133, 133, 133, 29, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 14, 15, + 16, 17, 18, 134, 19, 134, 20, 21, 22, 23, + 134, 24, 134, 134, 25, 26, 134, 27, 28, 134, + 134, 134, 29, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 133, 10, 133, 11, 133, 12, - 133, 133, 13, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 133, 7, 133, 8, 9, 2, 2, 2, - 2, 2, 5, 6, 2, 2, 0 + 2, 2, 2, 2, 2, 2, 2, 2, 134, 10, + 134, 11, 134, 12, 134, 134, 13, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 134, 7, 134, 8, + 9, 2, 2, 2, 2, 2, 5, 6, 2, 2, + 0 } ; static yyconst YY_CHAR yy_ec[256] = @@ -506,639 +522,639 @@ static yyconst YY_CHAR yy_meta[68] = 4, 4, 4, 4, 4, 4, 1 } ; -static yyconst flex_uint16_t yy_base[945] = +static yyconst flex_uint16_t yy_base[949] = { 0, - 0, 0, 67, 0, 433, 3713, 133, 135, 418, 0, - 3713, 410, 131, 401, 133, 132, 384, 129, 129, 137, - 135, 145, 179, 127, 184, 189, 131, 144, 201, 200, - 224, 193, 230, 0, 208, 246, 289, 241, 284, 287, - 320, 0, 200, 229, 363, 341, 0, 322, 268, 314, - 271, 271, 303, 347, 414, 468, 520, 568, 616, 274, - 343, 664, 345, 278, 406, 364, 716, 764, 422, 324, - 419, 814, 866, 465, 424, 480, 223, 311, 3713, 272, - 265, 3713, 3713, 312, 259, 207, 3713, 3713, 3713, 0, - 147, 203, 343, 353, 229, 250, 352, 0, 418, 463, + 0, 0, 67, 0, 454, 3713, 133, 135, 423, 0, + 3713, 426, 131, 420, 133, 132, 405, 399, 129, 129, + 137, 135, 145, 179, 127, 184, 189, 131, 144, 201, + 200, 224, 193, 230, 0, 208, 246, 289, 241, 284, + 287, 329, 0, 200, 229, 375, 370, 0, 339, 268, + 319, 271, 271, 312, 303, 347, 414, 468, 520, 568, + 616, 274, 343, 664, 345, 278, 406, 364, 716, 764, + 422, 324, 419, 814, 866, 465, 424, 480, 223, 311, + 3713, 272, 265, 3713, 3713, 312, 259, 207, 3713, 3713, + 3713, 3713, 0, 147, 203, 343, 353, 229, 250, 352, - 421, 283, 317, 518, 504, 346, 376, 413, 431, 442, - 531, 453, 462, 467, 479, 484, 486, 520, 540, 0, - 522, 517, 564, 529, 535, 550, 570, 566, 587, 567, - 575, 571, 576, 585, 598, 595, 0, 604, 593, 604, - 626, 624, 625, 623, 624, 626, 621, 627, 646, 651, - 643, 662, 662, 666, 665, 663, 676, 683, 682, 680, - 702, 690, 678, 3713, 0, 325, 0, 206, 198, 0, - 0, 331, 190, 161, 0, 0, 0, 704, 728, 725, - 761, 806, 769, 820, 857, 766, 868, 871, 900, 894, - 908, 960, 912, 942, 944, 801, 946, 970, 998, 979, + 0, 418, 463, 421, 283, 317, 518, 504, 346, 376, + 413, 431, 442, 531, 453, 462, 467, 479, 484, 486, + 520, 540, 0, 522, 517, 564, 529, 535, 550, 570, + 566, 587, 567, 575, 571, 576, 585, 598, 595, 0, + 604, 593, 604, 626, 624, 625, 623, 624, 626, 621, + 627, 646, 651, 643, 662, 662, 666, 665, 663, 676, + 683, 682, 680, 702, 690, 678, 3713, 0, 325, 0, + 206, 198, 0, 0, 331, 190, 161, 0, 0, 0, + 0, 704, 728, 725, 761, 806, 769, 820, 857, 766, + 868, 871, 900, 894, 908, 960, 912, 942, 944, 801, - 992, 1000, 1004, 1030, 1033, 1035, 1054, 854, 1044, 1058, - 1107, 1083, 1084, 916, 1014, 1112, 1140, 1046, 1108, 1126, - 1137, 1151, 1166, 1174, 1150, 1183, 1180, 1191, 1192, 1216, - 1214, 1206, 1229, 1237, 1248, 1254, 1246, 1280, 1282, 1278, - 1245, 1283, 1288, 1312, 1333, 1321, 1334, 1336, 1331, 1322, - 1357, 0, 3713, 145, 0, 694, 0, 695, 689, 0, - 723, 0, 720, 717, 737, 758, 731, 755, 814, 805, - 0, 822, 816, 842, 1072, 858, 860, 877, 925, 913, - 930, 0, 952, 976, 1099, 1084, 1095, 1142, 0, 1164, - 1183, 1227, 1244, 1287, 1292, 1304, 1337, 1356, 1356, 1373, + 946, 970, 998, 979, 992, 1000, 1004, 1030, 1033, 1035, + 1054, 854, 1044, 1058, 1107, 1083, 1084, 916, 1014, 1112, + 1140, 1046, 1108, 1126, 1137, 1151, 1166, 1174, 1150, 1183, + 1180, 1191, 1192, 1216, 1214, 1206, 1229, 1237, 1248, 1254, + 1246, 1280, 1282, 1278, 1245, 1283, 1288, 1312, 1333, 1321, + 1334, 1336, 1331, 1322, 1357, 0, 3713, 145, 0, 694, + 0, 695, 689, 0, 723, 0, 720, 717, 737, 758, + 731, 755, 814, 805, 0, 822, 816, 842, 1072, 858, + 860, 877, 925, 913, 930, 0, 952, 976, 1099, 1084, + 1095, 1142, 0, 1164, 1183, 1227, 1244, 1287, 1292, 1304, - 1374, 1375, 1376, 1366, 1376, 0, 1372, 1388, 1386, 1392, - 1396, 1392, 1379, 1380, 0, 1390, 1385, 1391, 1406, 1407, - 1412, 1401, 1400, 1408, 1424, 1411, 1425, 1429, 1430, 0, - 1413, 1421, 1424, 1433, 0, 1430, 1427, 1435, 1445, 0, - 1437, 1438, 1439, 1455, 1443, 1443, 1442, 1446, 1461, 1459, - 0, 140, 1464, 1465, 1480, 1482, 1483, 1493, 1498, 1495, - 1496, 1508, 1524, 1534, 1536, 1547, 1550, 1564, 1548, 1549, - 1565, 1586, 1587, 1590, 1598, 1601, 1603, 1620, 1619, 1622, - 1636, 1624, 1654, 1641, 1653, 1657, 1665, 1670, 1686, 1675, - 1691, 1716, 1694, 1708, 1724, 1742, 1727, 1729, 1732, 1740, + 1337, 1356, 1356, 1373, 1374, 1375, 1376, 1366, 1376, 0, + 1372, 1388, 1386, 1392, 1396, 1392, 1379, 1380, 0, 1390, + 1385, 1391, 1406, 1407, 1412, 1401, 1400, 1408, 1424, 1411, + 1425, 1429, 1430, 0, 1413, 1421, 1424, 1433, 0, 1430, + 1427, 1435, 1445, 0, 1437, 1438, 1439, 1455, 1443, 1443, + 1442, 1446, 1461, 1459, 0, 140, 1464, 1465, 1480, 1482, + 1483, 1493, 1498, 1495, 1496, 1508, 1524, 1534, 1536, 1547, + 1550, 1564, 1548, 1549, 1565, 1586, 1587, 1590, 1598, 1601, + 1603, 1620, 1619, 1622, 1636, 1624, 1654, 1641, 1653, 1657, + 1665, 1670, 1686, 1675, 1691, 1716, 1694, 1708, 1724, 1742, - 1758, 1745, 1773, 1757, 1781, 1770, 1794, 1807, 1815, 1810, - 1802, 1816, 1799, 1824, 1840, 1850, 1848, 1852, 1869, 1873, - 1874, 1878, 1906, 1861, 1904, 1890, 1915, 1918, 1923, 1932, - 1940, 1949, 1919, 1961, 1958, 1971, 1957, 1975, 1992, 2003, - 2006, 1994, 2011, 2009, 2037, 2034, 2059, 2060, 1501, 1526, - 1588, 1642, 1663, 1726, 0, 1790, 0, 1848, 1914, 1921, - 1983, 0, 2028, 2028, 2031, 2052, 0, 2053, 2061, 2059, - 0, 0, 2056, 2058, 2054, 2059, 2081, 0, 0, 0, - 2087, 2074, 0, 2079, 0, 2079, 2091, 2085, 2081, 2089, - 2090, 2106, 0, 2098, 0, 0, 0, 2094, 0, 2104, + 1727, 1729, 1732, 1740, 1758, 1745, 1773, 1757, 1781, 1770, + 1794, 1807, 1815, 1810, 1802, 1816, 1799, 1824, 1840, 1850, + 1848, 1852, 1869, 1873, 1874, 1878, 1906, 1861, 1904, 1890, + 1915, 1918, 1923, 1932, 1940, 1949, 1919, 1961, 1958, 1971, + 1957, 1975, 1992, 2003, 2006, 1994, 2011, 2009, 2037, 2034, + 2059, 2060, 1501, 1526, 1588, 1642, 1663, 1726, 0, 1790, + 0, 1848, 1914, 1921, 1983, 0, 2028, 2028, 2031, 2052, + 0, 2053, 2061, 2059, 0, 0, 2056, 2058, 2054, 2059, + 2081, 0, 0, 0, 2087, 2074, 0, 2079, 0, 2079, + 2091, 2085, 2081, 2089, 2090, 2106, 0, 2098, 0, 0, - 2113, 2100, 2104, 0, 2122, 2121, 2109, 2110, 2116, 0, - 0, 2130, 2132, 2123, 2120, 2119, 2129, 2141, 0, 2142, - 2139, 2145, 2142, 0, 0, 2140, 2158, 2148, 2143, 2166, - 2148, 2163, 2167, 0, 2152, 0, 2171, 0, 2180, 2188, - 2176, 2177, 2199, 2182, 2191, 2210, 2205, 2214, 2231, 2240, - 2236, 2242, 2259, 2248, 2265, 2274, 2276, 2290, 2298, 2304, - 2299, 2300, 2322, 2328, 2314, 2343, 2344, 2332, 2353, 2354, - 2372, 2376, 2362, 2377, 2378, 2402, 2388, 2407, 2411, 2428, - 2432, 2440, 2416, 2444, 2446, 2450, 2456, 2474, 2461, 2485, - 2482, 2484, 2486, 2490, 2520, 2495, 2514, 2523, 2538, 2524, + 0, 2094, 0, 2104, 2113, 2100, 2104, 0, 2122, 2121, + 2109, 2110, 2116, 0, 0, 2130, 2132, 2123, 2120, 2119, + 2129, 2141, 0, 2142, 2139, 2145, 2142, 0, 0, 2140, + 2158, 2148, 2143, 2166, 2148, 2163, 2167, 0, 2152, 0, + 2171, 0, 2180, 2188, 2176, 2177, 2199, 2182, 2191, 2210, + 2205, 2214, 2231, 2240, 2236, 2242, 2259, 2248, 2265, 2274, + 2276, 2290, 2298, 2304, 2299, 2300, 2322, 2328, 2314, 2343, + 2344, 2332, 2353, 2354, 2372, 2376, 2362, 2377, 2378, 2402, + 2388, 2407, 2411, 2428, 2432, 2440, 2416, 2444, 2446, 2450, + 2456, 2474, 2461, 2485, 2482, 2484, 2486, 2490, 2520, 2495, - 2528, 2539, 2556, 2560, 2564, 2574, 2582, 2598, 2572, 2588, - 2593, 2606, 2612, 2610, 2614, 2628, 2638, 2647, 2644, 2650, - 2666, 2676, 2652, 2662, 2668, 2680, 2690, 2692, 0, 0, - 2195, 0, 2245, 2254, 2309, 2300, 2346, 2394, 0, 2396, - 2403, 2530, 0, 2563, 2591, 2698, 2701, 2687, 2689, 2692, - 2710, 2709, 0, 2716, 2707, 0, 2706, 0, 0, 2707, - 2724, 2712, 2723, 0, 0, 0, 0, 2736, 2731, 2720, - 0, 0, 2736, 2725, 2727, 2742, 2740, 0, 2750, 2735, - 2753, 2758, 2741, 2743, 2743, 2764, 0, 2764, 2767, 2768, - 0, 2756, 2776, 0, 2774, 2776, 2784, 2780, 2786, 2788, + 2514, 2523, 2538, 2524, 2528, 2539, 2556, 2560, 2564, 2574, + 2582, 2598, 2572, 2588, 2593, 2606, 2612, 2610, 2614, 2628, + 2638, 2647, 2644, 2650, 2666, 2676, 2652, 2662, 2668, 2680, + 2690, 2692, 0, 0, 2195, 0, 2245, 2254, 2309, 2300, + 2346, 2394, 0, 2396, 2403, 2530, 0, 2563, 2591, 2698, + 2701, 2687, 2689, 2692, 2710, 2709, 0, 2716, 2707, 0, + 2706, 0, 0, 2707, 2724, 2712, 2723, 0, 0, 0, + 0, 2736, 2731, 2720, 0, 0, 2736, 2725, 2727, 2742, + 2740, 0, 2750, 2735, 2753, 2758, 2741, 2743, 2743, 2764, + 0, 2764, 2767, 2768, 0, 2756, 2776, 0, 2774, 2776, - 2790, 2809, 2814, 2792, 2820, 2828, 2842, 2826, 2830, 2843, - 2859, 2844, 2854, 2872, 2878, 2880, 2884, 2896, 2882, 2908, - 2913, 2897, 2932, 2918, 2922, 2936, 2934, 2948, 2950, 2946, - 2967, 2971, 2972, 2980, 2982, 2986, 2988, 2990, 2996, 3011, - 3021, 3005, 3022, 3020, 3050, 3039, 3045, 3060, 3062, 3075, - 3064, 3078, 3090, 3093, 3119, 3094, 3096, 3124, 3108, 3127, - 2775, 0, 2789, 2912, 3016, 3029, 0, 3087, 3084, 0, - 0, 3131, 0, 0, 0, 3130, 0, 3123, 0, 0, - 3113, 0, 0, 3121, 3136, 0, 3135, 3152, 0, 3134, - 3150, 3132, 0, 3155, 3144, 0, 0, 3155, 0, 3168, + 2784, 2780, 2786, 2788, 2790, 2809, 2814, 2792, 2820, 2828, + 2842, 2826, 2830, 2843, 2859, 2844, 2854, 2872, 2878, 2880, + 2884, 2896, 2882, 2908, 2913, 2897, 2932, 2918, 2922, 2936, + 2934, 2948, 2950, 2946, 2967, 2971, 2972, 2980, 2982, 2986, + 2988, 2990, 2996, 3011, 3021, 3005, 3022, 3020, 3050, 3039, + 3045, 3060, 3062, 3075, 3064, 3078, 3090, 3093, 3119, 3094, + 3096, 3124, 3108, 3127, 2775, 0, 2789, 2912, 3016, 3029, + 0, 3087, 3084, 0, 0, 3131, 0, 0, 0, 3130, + 0, 3123, 0, 0, 3113, 0, 0, 3121, 3136, 0, + 3135, 3152, 0, 3134, 3150, 3132, 0, 3155, 3144, 0, - 3171, 3153, 0, 0, 0, 0, 3163, 3172, 3173, 3178, - 3181, 3182, 3183, 3184, 3215, 3206, 3207, 3212, 3218, 3224, - 3236, 3237, 3241, 3246, 3249, 3247, 3250, 3252, 3255, 3260, - 3278, 3281, 3286, 3303, 3304, 3289, 3314, 3292, 3295, 3320, - 3345, 3332, 3335, 3344, 3368, 3349, 3357, 3358, 3374, 3363, - 3366, 3387, 3397, 3399, 0, 0, 0, 0, 0, 3294, - 0, 3296, 0, 0, 0, 0, 3323, 0, 3385, 3400, - 0, 0, 3388, 0, 0, 3395, 3401, 3411, 0, 3412, - 3420, 3422, 3423, 3428, 3441, 3431, 3445, 3453, 3454, 3456, - 3457, 3491, 3466, 3482, 3479, 3485, 3490, 3508, 3494, 3507, + 0, 3155, 0, 3168, 3171, 3153, 0, 0, 0, 0, + 3163, 3172, 3173, 3178, 3181, 3182, 3183, 3184, 3215, 3206, + 3207, 3212, 3218, 3224, 3236, 3237, 3241, 3246, 3249, 3247, + 3250, 3252, 3255, 3260, 3278, 3281, 3286, 3303, 3304, 3289, + 3314, 3292, 3295, 3320, 3345, 3332, 3335, 3344, 3368, 3349, + 3357, 3358, 3374, 3363, 3366, 3387, 3397, 3399, 0, 0, + 0, 0, 0, 3294, 0, 3296, 0, 0, 0, 0, + 3323, 0, 3385, 3400, 0, 0, 3388, 0, 0, 3395, + 3401, 3411, 0, 3412, 3420, 3422, 3423, 3428, 3441, 3431, + 3445, 3453, 3454, 3456, 3457, 3491, 3466, 3482, 3479, 3485, - 3520, 3531, 3525, 3536, 3456, 0, 3482, 0, 3502, 0, - 3499, 3519, 0, 3544, 3548, 3561, 3553, 3569, 3565, 3570, - 3587, 3574, 3577, 0, 3565, 0, 0, 3593, 3599, 3610, - 3602, 3611, 0, 0, 3615, 3623, 3713, 3688, 3692, 136, - 3696, 3700, 3704, 3708 + 3490, 3508, 3494, 3507, 3520, 3531, 3525, 3536, 3456, 0, + 3482, 0, 3502, 0, 3499, 3519, 0, 3544, 3548, 3561, + 3553, 3569, 3565, 3570, 3587, 3574, 3577, 0, 3565, 0, + 0, 3593, 3599, 3610, 3602, 3611, 0, 0, 3615, 3623, + 3713, 3688, 3692, 136, 3696, 3700, 3704, 3708 } ; -static yyconst flex_int16_t yy_def[945] = +static yyconst flex_int16_t yy_def[949] = { 0, - 937, 1, 937, 3, 937, 937, 937, 937, 937, 938, - 937, 939, 937, 937, 937, 937, 937, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 937, 941, 941, 937, 941, 942, 941, 943, 941, 941, - 941, 941, 941, 944, 944, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 941, 937, 937, 938, - 939, 937, 937, 937, 937, 937, 937, 937, 937, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, + 941, 1, 941, 3, 941, 941, 941, 941, 941, 942, + 941, 943, 941, 941, 941, 941, 941, 941, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 941, 945, 945, 941, 945, 946, 945, 947, 945, + 945, 945, 945, 945, 945, 948, 948, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 945, 941, + 941, 942, 943, 941, 941, 941, 941, 941, 941, 941, + 941, 941, 944, 944, 944, 944, 944, 944, 944, 944, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 937, 941, 941, 941, 942, 943, 941, - 941, 941, 941, 941, 941, 941, 941, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 941, 945, 945, 945, + 946, 947, 945, 945, 945, 945, 945, 945, 945, 945, + 945, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 941, 937, 937, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 945, 941, 941, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 941, 941, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 945, 945, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 55, 55, 55, 55, 55, 55, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 57, 57, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, - 940, 940, 940, 940, 940, 940, 940, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 940, 940, 940, 940, 940, 940, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 55, 55, 55, 55, 940, 940, 940, 940, 940, 940, - 940, 940, 940, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 940, 940, 940, 940, 940, 55, 55, 55, - 55, 55, 940, 940, 55, 55, 0, 937, 937, 937, - 937, 937, 937, 937 + 57, 57, 57, 57, 57, 57, 57, 57, 944, 944, + 944, 944, 944, 944, 944, 944, 944, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 944, 944, 944, 944, + 944, 57, 57, 57, 57, 57, 944, 944, 57, 57, + 0, 941, 941, 941, 941, 941, 941, 941 } ; static yyconst flex_uint16_t yy_nxt[3781] = { 0, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 11, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 34, 34, 34, 6, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 34, 34, 34, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 47, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 35, 35, 35, 6, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 35, 35, 35, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 74, 75, 76, 70, 70, 70, 42, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 70, 70, 70, 77, 78, 78, 78, 78, 83, 90, - 84, 86, 84, 87, 88, 91, 97, 92, 103, 352, - 99, 116, 104, 93, 254, 94, 105, 117, 125, 95, - 96, 126, 106, 255, 100, 107, 98, 101, 102, 108, - 352, 109, 91, 97, 92, 103, 110, 99, 116, 104, - 93, 111, 94, 105, 117, 125, 95, 96, 126, 106, - 255, 100, 107, 98, 101, 102, 108, 118, 109, 173, + 76, 77, 78, 72, 72, 72, 43, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 72, 72, 72, 79, 80, 80, 80, 80, 85, 93, + 86, 88, 86, 89, 90, 94, 100, 95, 106, 356, + 102, 119, 107, 96, 258, 97, 108, 120, 128, 98, + 99, 129, 109, 259, 103, 110, 101, 104, 105, 111, + 356, 112, 94, 100, 95, 106, 113, 102, 119, 107, + 96, 114, 97, 108, 120, 128, 98, 99, 129, 109, + 259, 103, 110, 101, 104, 105, 111, 121, 112, 176, - 112, 166, 78, 110, 170, 119, 113, 120, 111, 114, - 351, 136, 115, 121, 122, 123, 254, 130, 127, 137, - 124, 131, 128, 138, 118, 143, 139, 112, 129, 144, - 78, 78, 119, 113, 120, 256, 114, 132, 136, 115, - 121, 122, 123, 140, 130, 127, 137, 124, 131, 128, - 138, 133, 143, 139, 141, 129, 144, 134, 135, 261, - 142, 145, 256, 146, 132, 262, 147, 157, 85, 158, - 140, 82, 159, 148, 149, 171, 253, 172, 133, 174, - 172, 141, 175, 176, 134, 135, 261, 142, 145, 252, - 146, 178, 262, 147, 157, 214, 158, 160, 204, 159, + 115, 169, 80, 113, 173, 122, 116, 123, 114, 117, + 355, 139, 118, 124, 125, 126, 258, 133, 130, 140, + 127, 134, 131, 141, 121, 146, 142, 115, 132, 147, + 80, 80, 122, 116, 123, 260, 117, 135, 139, 118, + 124, 125, 126, 143, 133, 130, 140, 127, 134, 131, + 141, 136, 146, 142, 144, 132, 147, 137, 138, 265, + 145, 148, 260, 149, 135, 266, 150, 160, 87, 161, + 143, 84, 162, 151, 152, 174, 257, 175, 136, 177, + 175, 144, 178, 179, 137, 138, 265, 145, 148, 256, + 149, 182, 266, 150, 160, 218, 161, 163, 208, 162, - 148, 149, 150, 151, 205, 161, 152, 162, 163, 153, - 154, 178, 78, 78, 177, 178, 155, 271, 178, 156, - 86, 84, 214, 173, 160, 204, 166, 78, 170, 150, - 151, 205, 161, 152, 162, 163, 153, 154, 178, 174, - 172, 178, 178, 155, 271, 165, 156, 165, 165, 272, - 165, 165, 165, 165, 165, 165, 206, 165, 165, 165, - 178, 178, 178, 179, 207, 180, 259, 257, 178, 260, - 263, 181, 213, 182, 167, 258, 272, 183, 184, 279, - 178, 218, 178, 206, 264, 219, 164, 178, 178, 178, - 179, 207, 180, 259, 257, 89, 260, 263, 181, 213, + 151, 152, 153, 154, 209, 164, 155, 165, 166, 156, + 157, 182, 80, 80, 181, 182, 158, 275, 182, 159, + 88, 86, 218, 180, 163, 208, 169, 80, 176, 153, + 154, 209, 164, 155, 165, 166, 156, 157, 182, 177, + 175, 182, 182, 158, 275, 173, 159, 168, 168, 276, + 168, 168, 168, 168, 168, 168, 210, 168, 168, 168, + 182, 182, 182, 183, 211, 184, 263, 261, 182, 264, + 267, 185, 217, 186, 168, 262, 276, 187, 188, 283, + 182, 222, 182, 210, 268, 223, 170, 182, 182, 182, + 183, 211, 184, 263, 261, 167, 264, 267, 185, 217, - 182, 178, 258, 280, 183, 184, 279, 178, 218, 178, - 85, 264, 219, 165, 165, 165, 82, 165, 165, 165, - 165, 165, 165, 215, 165, 165, 165, 216, 178, 79, - 280, 185, 937, 217, 937, 228, 231, 248, 269, 178, - 232, 178, 265, 178, 281, 249, 229, 282, 270, 266, - 215, 186, 230, 937, 216, 937, 178, 283, 185, 178, - 217, 178, 228, 231, 248, 269, 178, 232, 178, 265, - 178, 281, 249, 229, 282, 270, 266, 288, 186, 230, - 165, 187, 178, 178, 283, 178, 178, 267, 178, 268, - 937, 245, 289, 246, 290, 188, 247, 178, 189, 190, + 186, 182, 262, 284, 187, 188, 283, 182, 222, 182, + 92, 268, 223, 168, 168, 168, 91, 168, 168, 168, + 168, 168, 168, 219, 168, 168, 168, 220, 182, 87, + 284, 189, 84, 221, 81, 232, 235, 252, 273, 182, + 236, 182, 269, 182, 285, 253, 233, 286, 274, 270, + 219, 190, 234, 941, 220, 941, 182, 287, 189, 182, + 221, 182, 232, 235, 252, 273, 182, 236, 182, 269, + 182, 285, 253, 233, 286, 274, 270, 292, 190, 234, + 168, 191, 182, 182, 287, 182, 182, 271, 182, 272, + 941, 249, 293, 250, 294, 192, 251, 182, 193, 194, - 250, 251, 178, 291, 288, 178, 937, 937, 187, 178, - 937, 292, 178, 293, 267, 937, 268, 178, 245, 289, - 246, 290, 188, 247, 178, 189, 190, 250, 251, 178, - 291, 273, 178, 191, 277, 278, 274, 192, 292, 937, - 293, 193, 275, 298, 178, 299, 284, 194, 285, 276, - 195, 294, 286, 937, 295, 304, 305, 178, 273, 287, - 191, 277, 278, 274, 192, 937, 296, 937, 193, 275, - 298, 297, 299, 284, 194, 285, 276, 195, 294, 286, - 300, 295, 304, 305, 178, 178, 287, 306, 307, 308, - 301, 309, 196, 296, 197, 302, 303, 312, 297, 198, + 254, 255, 182, 295, 292, 182, 941, 941, 191, 182, + 941, 296, 182, 297, 271, 941, 272, 182, 249, 293, + 250, 294, 192, 251, 182, 193, 194, 254, 255, 182, + 295, 277, 182, 195, 281, 282, 278, 196, 296, 941, + 297, 197, 279, 302, 182, 303, 288, 198, 289, 280, + 199, 298, 290, 941, 299, 308, 309, 182, 277, 291, + 195, 281, 282, 278, 196, 941, 300, 941, 197, 279, + 302, 301, 303, 288, 198, 289, 280, 199, 298, 290, + 304, 299, 308, 309, 182, 182, 291, 310, 311, 312, + 305, 313, 200, 300, 201, 306, 307, 316, 301, 202, - 310, 313, 311, 314, 199, 178, 937, 300, 315, 316, - 937, 317, 178, 318, 306, 307, 308, 301, 309, 196, - 319, 197, 302, 303, 312, 320, 198, 310, 313, 311, - 314, 199, 178, 178, 321, 315, 316, 200, 317, 322, - 318, 323, 327, 201, 328, 324, 202, 319, 331, 203, - 329, 325, 320, 178, 937, 937, 326, 332, 330, 333, - 178, 321, 937, 937, 200, 334, 322, 335, 323, 327, - 201, 328, 324, 202, 937, 331, 203, 329, 325, 338, - 178, 178, 208, 326, 332, 330, 333, 336, 209, 210, - 211, 339, 334, 340, 335, 212, 341, 342, 337, 344, + 314, 317, 315, 318, 203, 182, 941, 304, 319, 320, + 941, 321, 182, 322, 310, 311, 312, 305, 313, 200, + 323, 201, 306, 307, 316, 324, 202, 314, 317, 315, + 318, 203, 182, 182, 325, 319, 320, 204, 321, 326, + 322, 327, 331, 205, 332, 328, 206, 323, 335, 207, + 333, 329, 324, 182, 941, 941, 330, 336, 334, 337, + 182, 325, 941, 941, 204, 338, 326, 339, 327, 331, + 205, 332, 328, 206, 941, 335, 207, 333, 329, 342, + 182, 182, 212, 330, 336, 334, 337, 340, 213, 214, + 215, 343, 338, 344, 339, 216, 345, 346, 341, 348, - 343, 178, 937, 345, 346, 937, 338, 349, 178, 208, - 350, 449, 450, 451, 336, 209, 210, 211, 339, 347, - 340, 178, 212, 341, 342, 337, 344, 343, 178, 220, - 345, 346, 348, 178, 349, 937, 452, 350, 449, 450, - 451, 178, 178, 221, 353, 178, 347, 453, 178, 222, - 223, 937, 454, 178, 937, 937, 220, 354, 937, 348, - 178, 455, 178, 452, 458, 178, 937, 937, 178, 178, - 221, 353, 178, 456, 453, 457, 222, 223, 178, 454, - 178, 178, 224, 178, 354, 355, 178, 459, 455, 178, - 225, 458, 178, 356, 226, 937, 937, 227, 178, 359, + 347, 182, 941, 349, 350, 941, 342, 353, 182, 212, + 354, 453, 454, 455, 340, 213, 214, 215, 343, 351, + 344, 182, 216, 345, 346, 341, 348, 347, 182, 224, + 349, 350, 352, 182, 353, 941, 456, 354, 453, 454, + 455, 182, 182, 225, 357, 182, 351, 457, 182, 226, + 227, 941, 458, 182, 941, 941, 224, 358, 941, 352, + 182, 459, 182, 456, 462, 182, 941, 941, 182, 182, + 225, 357, 182, 460, 457, 461, 226, 227, 182, 458, + 182, 182, 228, 182, 358, 359, 182, 463, 459, 182, + 229, 462, 182, 360, 230, 941, 941, 231, 182, 363, - 456, 178, 457, 178, 937, 178, 178, 937, 178, 224, - 178, 937, 355, 178, 459, 937, 937, 225, 178, 357, - 356, 226, 358, 178, 227, 178, 359, 460, 178, 233, - 178, 234, 379, 178, 235, 360, 461, 178, 178, 462, - 463, 236, 237, 178, 937, 178, 357, 937, 937, 358, - 178, 178, 937, 937, 460, 464, 233, 178, 234, 379, - 937, 235, 360, 461, 178, 178, 462, 463, 236, 237, - 178, 178, 937, 467, 178, 361, 937, 468, 178, 238, - 239, 937, 464, 240, 178, 178, 241, 242, 178, 362, - 937, 178, 363, 243, 178, 365, 244, 366, 178, 364, + 460, 182, 461, 182, 941, 182, 182, 941, 182, 228, + 182, 941, 359, 182, 463, 941, 941, 229, 182, 361, + 360, 230, 362, 182, 231, 182, 363, 464, 182, 237, + 182, 238, 383, 182, 239, 364, 465, 182, 182, 466, + 467, 240, 241, 182, 941, 182, 361, 941, 941, 362, + 182, 182, 941, 941, 464, 468, 237, 182, 238, 383, + 941, 239, 364, 465, 182, 182, 466, 467, 240, 241, + 182, 182, 941, 471, 182, 365, 941, 472, 182, 242, + 243, 941, 468, 244, 182, 182, 245, 246, 182, 366, + 941, 182, 367, 247, 182, 369, 248, 370, 182, 368, - 467, 178, 361, 178, 468, 178, 238, 239, 178, 469, - 240, 178, 178, 241, 242, 178, 362, 367, 178, 363, - 243, 178, 365, 244, 366, 178, 364, 368, 369, 178, - 178, 178, 178, 178, 937, 178, 469, 178, 178, 470, - 370, 471, 375, 376, 367, 178, 937, 472, 937, 178, - 937, 937, 178, 404, 368, 369, 178, 937, 178, 178, - 178, 178, 380, 178, 178, 473, 470, 370, 471, 375, - 376, 378, 178, 371, 472, 377, 178, 178, 372, 178, - 404, 178, 937, 178, 373, 381, 178, 178, 178, 380, - 178, 374, 473, 474, 937, 937, 178, 178, 378, 937, + 471, 182, 365, 182, 472, 182, 242, 243, 182, 473, + 244, 182, 182, 245, 246, 182, 366, 371, 182, 367, + 247, 182, 369, 248, 370, 182, 368, 372, 373, 182, + 182, 182, 182, 182, 941, 182, 473, 182, 182, 474, + 374, 475, 379, 380, 371, 182, 941, 476, 941, 182, + 941, 941, 182, 408, 372, 373, 182, 941, 182, 182, + 182, 182, 384, 182, 182, 477, 474, 374, 475, 379, + 380, 382, 182, 375, 476, 381, 182, 182, 376, 182, + 408, 182, 941, 182, 377, 385, 182, 182, 182, 384, + 182, 378, 477, 478, 941, 941, 182, 182, 382, 941, - 371, 937, 377, 386, 178, 372, 178, 178, 178, 178, - 178, 373, 381, 382, 178, 383, 178, 178, 374, 384, - 474, 178, 387, 178, 178, 937, 385, 388, 389, 178, - 386, 178, 405, 937, 178, 178, 178, 178, 937, 937, - 382, 178, 383, 178, 178, 937, 384, 178, 178, 387, - 178, 178, 178, 385, 388, 389, 178, 390, 178, 405, - 391, 178, 178, 178, 178, 396, 392, 178, 178, 393, - 178, 178, 178, 937, 178, 178, 410, 178, 178, 178, - 394, 178, 937, 178, 390, 395, 397, 391, 178, 465, - 178, 178, 396, 392, 178, 178, 393, 178, 178, 178, + 375, 941, 381, 390, 182, 376, 182, 182, 182, 182, + 182, 377, 385, 386, 182, 387, 182, 182, 378, 388, + 478, 182, 391, 182, 182, 941, 389, 392, 393, 182, + 390, 182, 409, 941, 182, 182, 182, 182, 941, 941, + 386, 182, 387, 182, 182, 941, 388, 182, 182, 391, + 182, 182, 182, 389, 392, 393, 182, 394, 182, 409, + 395, 182, 182, 182, 182, 400, 396, 182, 182, 397, + 182, 182, 182, 941, 182, 182, 414, 182, 182, 182, + 398, 182, 941, 182, 394, 399, 401, 395, 182, 469, + 182, 182, 400, 396, 182, 182, 397, 182, 182, 182, - 178, 178, 178, 410, 466, 403, 937, 394, 178, 402, - 178, 937, 395, 397, 475, 476, 465, 937, 178, 477, - 178, 178, 178, 398, 178, 178, 937, 178, 178, 178, - 937, 466, 403, 399, 411, 406, 402, 407, 400, 401, - 937, 475, 476, 178, 178, 178, 477, 178, 178, 178, - 398, 178, 178, 408, 178, 409, 178, 178, 412, 478, - 399, 411, 406, 178, 407, 400, 401, 178, 178, 413, - 178, 178, 178, 937, 178, 414, 178, 178, 937, 415, - 408, 178, 409, 178, 178, 412, 478, 178, 178, 479, - 178, 178, 416, 937, 178, 178, 413, 178, 937, 417, + 182, 182, 182, 414, 470, 407, 941, 398, 182, 406, + 182, 941, 399, 401, 479, 480, 469, 941, 182, 481, + 182, 182, 182, 402, 182, 182, 941, 182, 182, 182, + 941, 470, 407, 403, 415, 410, 406, 411, 404, 405, + 941, 479, 480, 182, 182, 182, 481, 182, 182, 182, + 402, 182, 182, 412, 182, 413, 182, 182, 416, 482, + 403, 415, 410, 182, 411, 404, 405, 182, 182, 417, + 182, 182, 182, 941, 182, 418, 182, 182, 941, 419, + 412, 182, 413, 182, 182, 416, 482, 182, 182, 483, + 182, 182, 420, 941, 182, 182, 417, 182, 941, 421, - 178, 178, 414, 178, 178, 420, 415, 480, 178, 178, - 178, 178, 418, 937, 178, 178, 479, 178, 178, 416, - 178, 419, 937, 178, 178, 425, 417, 178, 178, 178, - 178, 178, 420, 421, 480, 178, 178, 422, 178, 418, - 423, 481, 937, 178, 178, 424, 178, 178, 419, 426, - 178, 178, 425, 178, 178, 178, 178, 937, 178, 431, - 421, 427, 436, 178, 422, 178, 178, 423, 481, 428, - 178, 178, 424, 178, 178, 429, 426, 482, 178, 937, - 178, 178, 178, 178, 430, 178, 431, 937, 427, 436, - 178, 178, 178, 178, 432, 178, 428, 178, 178, 178, + 182, 182, 418, 182, 182, 424, 419, 484, 182, 182, + 182, 182, 422, 941, 182, 182, 483, 182, 182, 420, + 182, 423, 941, 182, 182, 429, 421, 182, 182, 182, + 182, 182, 424, 425, 484, 182, 182, 426, 182, 422, + 427, 485, 941, 182, 182, 428, 182, 182, 423, 430, + 182, 182, 429, 182, 182, 182, 182, 941, 182, 435, + 425, 431, 440, 182, 426, 182, 182, 427, 485, 432, + 182, 182, 428, 182, 182, 433, 430, 486, 182, 941, + 182, 182, 182, 182, 434, 182, 435, 941, 431, 440, + 182, 182, 182, 182, 436, 182, 432, 182, 182, 182, - 178, 178, 429, 434, 482, 178, 433, 483, 437, 178, - 178, 430, 178, 484, 435, 178, 438, 178, 178, 178, - 178, 432, 178, 937, 178, 178, 178, 178, 937, 178, - 434, 937, 178, 433, 483, 437, 485, 442, 178, 447, - 484, 435, 178, 438, 178, 439, 178, 178, 445, 178, - 178, 178, 178, 178, 440, 443, 178, 441, 178, 178, - 444, 446, 937, 485, 442, 178, 447, 937, 178, 486, - 178, 178, 439, 178, 178, 445, 178, 178, 178, 487, - 178, 440, 443, 488, 441, 178, 178, 444, 446, 448, - 489, 490, 491, 492, 178, 178, 486, 178, 178, 494, + 182, 182, 433, 438, 486, 182, 437, 487, 441, 182, + 182, 434, 182, 488, 439, 182, 442, 182, 182, 182, + 182, 436, 182, 941, 182, 182, 182, 182, 941, 182, + 438, 941, 182, 437, 487, 441, 489, 446, 182, 451, + 488, 439, 182, 442, 182, 443, 182, 182, 449, 182, + 182, 182, 182, 182, 444, 447, 182, 445, 182, 182, + 448, 450, 941, 489, 446, 182, 451, 941, 182, 490, + 182, 182, 443, 182, 182, 449, 182, 182, 182, 491, + 182, 444, 447, 492, 445, 182, 182, 448, 450, 452, + 493, 494, 495, 496, 182, 182, 490, 182, 182, 498, - 178, 178, 495, 493, 496, 497, 487, 498, 499, 500, - 488, 501, 502, 503, 504, 505, 448, 489, 490, 491, - 492, 178, 506, 507, 508, 509, 494, 511, 512, 495, - 493, 496, 497, 513, 498, 499, 500, 514, 501, 502, - 503, 504, 505, 515, 510, 516, 517, 518, 519, 506, - 507, 508, 509, 520, 511, 512, 521, 522, 523, 524, - 513, 525, 526, 527, 514, 528, 530, 529, 531, 532, - 515, 510, 516, 517, 518, 519, 533, 534, 535, 538, - 520, 178, 539, 521, 522, 523, 524, 536, 525, 526, - 527, 537, 528, 530, 529, 531, 532, 178, 937, 540, + 182, 182, 499, 497, 500, 501, 491, 502, 503, 504, + 492, 505, 506, 507, 508, 509, 452, 493, 494, 495, + 496, 182, 510, 511, 512, 513, 498, 515, 516, 499, + 497, 500, 501, 517, 502, 503, 504, 518, 505, 506, + 507, 508, 509, 519, 514, 520, 521, 522, 523, 510, + 511, 512, 513, 524, 515, 516, 525, 526, 527, 528, + 517, 529, 530, 531, 518, 532, 534, 533, 535, 536, + 519, 514, 520, 521, 522, 523, 537, 538, 539, 542, + 524, 182, 543, 525, 526, 527, 528, 540, 529, 530, + 531, 541, 532, 534, 533, 535, 536, 182, 941, 544, - 178, 178, 178, 533, 534, 535, 538, 541, 178, 539, - 178, 542, 178, 178, 536, 178, 937, 178, 537, 178, - 178, 937, 937, 543, 178, 178, 540, 178, 178, 178, - 178, 629, 178, 178, 541, 178, 937, 178, 542, 178, - 178, 178, 178, 544, 178, 178, 178, 178, 545, 546, - 543, 547, 178, 178, 937, 937, 630, 178, 629, 178, - 178, 178, 178, 550, 178, 178, 552, 178, 178, 548, - 544, 178, 178, 178, 937, 545, 546, 937, 547, 549, - 178, 178, 178, 630, 178, 178, 178, 178, 178, 553, - 550, 178, 178, 552, 178, 551, 548, 937, 178, 554, + 182, 182, 182, 537, 538, 539, 542, 545, 182, 543, + 182, 546, 182, 182, 540, 182, 941, 182, 541, 182, + 182, 941, 941, 547, 182, 182, 544, 182, 182, 182, + 182, 633, 182, 182, 545, 182, 941, 182, 546, 182, + 182, 182, 182, 548, 182, 182, 182, 182, 549, 550, + 547, 551, 182, 182, 941, 941, 634, 182, 633, 182, + 182, 182, 182, 554, 182, 182, 556, 182, 182, 552, + 548, 182, 182, 182, 941, 549, 550, 941, 551, 553, + 182, 182, 182, 634, 182, 182, 182, 182, 182, 557, + 554, 182, 182, 556, 182, 555, 552, 941, 182, 558, - 178, 178, 178, 178, 555, 557, 549, 178, 178, 178, - 937, 178, 178, 178, 178, 558, 553, 560, 178, 556, - 178, 937, 551, 178, 178, 631, 554, 178, 178, 178, - 178, 555, 557, 559, 178, 178, 562, 178, 178, 178, - 178, 564, 558, 937, 560, 178, 556, 178, 561, 563, - 178, 178, 631, 178, 178, 937, 178, 178, 178, 178, - 559, 178, 178, 562, 178, 178, 178, 178, 564, 565, - 178, 178, 566, 178, 568, 561, 563, 567, 178, 632, - 178, 937, 178, 178, 178, 178, 178, 178, 178, 571, - 178, 178, 178, 633, 178, 569, 565, 178, 178, 566, + 182, 182, 182, 182, 559, 561, 553, 182, 182, 182, + 941, 182, 182, 182, 182, 562, 557, 564, 182, 560, + 182, 941, 555, 182, 182, 635, 558, 182, 182, 182, + 182, 559, 561, 563, 182, 182, 566, 182, 182, 182, + 182, 568, 562, 941, 564, 182, 560, 182, 565, 567, + 182, 182, 635, 182, 182, 941, 182, 182, 182, 182, + 563, 182, 182, 566, 182, 182, 182, 182, 568, 569, + 182, 182, 570, 182, 572, 565, 567, 571, 182, 636, + 182, 941, 182, 182, 182, 182, 182, 182, 182, 575, + 182, 182, 182, 637, 182, 573, 569, 182, 182, 570, - 178, 568, 178, 178, 567, 178, 632, 178, 178, 178, - 570, 178, 178, 937, 178, 574, 571, 178, 178, 178, - 633, 178, 569, 178, 572, 178, 937, 937, 178, 178, - 178, 178, 937, 178, 178, 178, 573, 570, 178, 178, - 575, 178, 574, 634, 178, 178, 579, 937, 937, 580, - 178, 572, 178, 178, 578, 178, 576, 581, 178, 178, - 178, 178, 178, 573, 178, 577, 178, 575, 178, 178, - 634, 178, 178, 579, 178, 582, 580, 178, 584, 178, - 178, 578, 178, 576, 581, 583, 178, 587, 178, 178, - 178, 178, 577, 178, 178, 178, 178, 937, 178, 585, + 182, 572, 182, 182, 571, 182, 636, 182, 182, 182, + 574, 182, 182, 941, 182, 578, 575, 182, 182, 182, + 637, 182, 573, 182, 576, 182, 941, 941, 182, 182, + 182, 182, 941, 182, 182, 182, 577, 574, 182, 182, + 579, 182, 578, 638, 182, 182, 583, 941, 941, 584, + 182, 576, 182, 182, 582, 182, 580, 585, 182, 182, + 182, 182, 182, 577, 182, 581, 182, 579, 182, 182, + 638, 182, 182, 583, 182, 586, 584, 182, 588, 182, + 182, 582, 182, 580, 585, 587, 182, 591, 182, 182, + 182, 182, 581, 182, 182, 182, 182, 941, 182, 589, - 937, 178, 582, 635, 178, 584, 178, 178, 937, 178, - 178, 178, 583, 586, 587, 588, 178, 178, 178, 178, - 937, 178, 178, 589, 178, 178, 585, 178, 590, 591, - 635, 178, 178, 178, 178, 592, 178, 178, 178, 178, - 586, 178, 588, 178, 178, 178, 178, 178, 594, 593, - 589, 178, 178, 178, 178, 590, 591, 178, 178, 178, - 178, 178, 592, 178, 937, 597, 178, 178, 178, 598, - 595, 178, 937, 636, 178, 594, 593, 178, 178, 178, - 178, 596, 599, 937, 178, 178, 178, 178, 178, 178, - 178, 178, 597, 605, 178, 178, 598, 595, 178, 601, + 941, 182, 586, 639, 182, 588, 182, 182, 941, 182, + 182, 182, 587, 590, 591, 592, 182, 182, 182, 182, + 941, 182, 182, 593, 182, 182, 589, 182, 594, 595, + 639, 182, 182, 182, 182, 596, 182, 182, 182, 182, + 590, 182, 592, 182, 182, 182, 182, 182, 598, 597, + 593, 182, 182, 182, 182, 594, 595, 182, 182, 182, + 182, 182, 596, 182, 941, 601, 182, 182, 182, 602, + 599, 182, 941, 640, 182, 598, 597, 182, 182, 182, + 182, 600, 603, 941, 182, 182, 182, 182, 182, 182, + 182, 182, 601, 609, 182, 182, 602, 599, 182, 605, - 636, 600, 602, 603, 178, 178, 178, 607, 596, 599, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 604, - 605, 178, 178, 178, 606, 178, 601, 178, 600, 602, - 603, 937, 608, 178, 607, 178, 178, 178, 178, 937, - 178, 178, 178, 178, 637, 937, 604, 937, 178, 178, - 178, 606, 178, 638, 178, 178, 178, 178, 609, 608, - 178, 937, 178, 178, 610, 937, 178, 178, 178, 178, - 178, 637, 611, 612, 616, 178, 178, 178, 178, 178, - 638, 937, 178, 178, 178, 609, 178, 178, 178, 613, - 614, 610, 178, 178, 178, 178, 178, 615, 178, 611, + 640, 604, 606, 607, 182, 182, 182, 611, 600, 603, + 182, 182, 182, 182, 182, 182, 182, 182, 182, 608, + 609, 182, 182, 182, 610, 182, 605, 182, 604, 606, + 607, 941, 612, 182, 611, 182, 182, 182, 182, 941, + 182, 182, 182, 182, 641, 941, 608, 941, 182, 182, + 182, 610, 182, 642, 182, 182, 182, 182, 613, 612, + 182, 941, 182, 182, 614, 941, 182, 182, 182, 182, + 182, 641, 615, 616, 620, 182, 182, 182, 182, 182, + 642, 941, 182, 182, 182, 613, 182, 182, 182, 617, + 618, 614, 182, 182, 182, 182, 182, 619, 182, 615, - 612, 616, 178, 937, 178, 178, 937, 621, 178, 178, - 937, 178, 178, 178, 639, 178, 613, 614, 617, 178, - 178, 178, 178, 178, 615, 178, 178, 937, 178, 178, - 618, 178, 619, 620, 621, 178, 178, 622, 178, 178, - 178, 639, 623, 178, 937, 617, 178, 178, 178, 937, - 178, 178, 640, 178, 178, 178, 178, 618, 178, 619, - 620, 641, 937, 642, 622, 643, 625, 178, 644, 623, - 178, 178, 624, 178, 178, 178, 178, 178, 178, 640, - 628, 178, 645, 646, 647, 626, 648, 649, 641, 627, - 642, 650, 643, 625, 651, 644, 178, 178, 178, 624, + 616, 620, 182, 941, 182, 182, 941, 625, 182, 182, + 941, 182, 182, 182, 643, 182, 617, 618, 621, 182, + 182, 182, 182, 182, 619, 182, 182, 941, 182, 182, + 622, 182, 623, 624, 625, 182, 182, 626, 182, 182, + 182, 643, 627, 182, 941, 621, 182, 182, 182, 941, + 182, 182, 644, 182, 182, 182, 182, 622, 182, 623, + 624, 645, 941, 646, 626, 647, 629, 182, 648, 627, + 182, 182, 628, 182, 182, 182, 182, 182, 182, 644, + 632, 182, 649, 650, 651, 630, 652, 653, 645, 631, + 646, 654, 647, 629, 655, 648, 182, 182, 182, 628, - 652, 178, 653, 178, 178, 654, 655, 628, 656, 645, - 646, 647, 626, 648, 649, 657, 627, 658, 650, 659, - 660, 651, 663, 178, 178, 661, 664, 652, 665, 653, - 666, 667, 654, 655, 668, 656, 662, 669, 670, 671, - 672, 673, 657, 674, 658, 675, 659, 660, 676, 663, - 677, 678, 661, 664, 679, 665, 680, 666, 667, 681, - 682, 668, 683, 662, 669, 670, 671, 672, 673, 684, - 674, 685, 675, 686, 687, 676, 688, 677, 678, 689, - 690, 679, 691, 680, 692, 693, 681, 682, 694, 683, - 937, 937, 937, 178, 178, 937, 684, 178, 685, 700, + 656, 182, 657, 182, 182, 658, 659, 632, 660, 649, + 650, 651, 630, 652, 653, 661, 631, 662, 654, 663, + 664, 655, 667, 182, 182, 665, 668, 656, 669, 657, + 670, 671, 658, 659, 672, 660, 666, 673, 674, 675, + 676, 677, 661, 678, 662, 679, 663, 664, 680, 667, + 681, 682, 665, 668, 683, 669, 684, 670, 671, 685, + 686, 672, 687, 666, 673, 674, 675, 676, 677, 688, + 678, 689, 679, 690, 691, 680, 692, 681, 682, 693, + 694, 683, 695, 684, 696, 697, 685, 686, 698, 687, + 941, 941, 941, 182, 182, 941, 688, 182, 689, 704, - 686, 687, 937, 688, 937, 178, 689, 690, 178, 691, - 695, 692, 693, 697, 698, 694, 178, 178, 696, 178, - 178, 178, 178, 701, 178, 178, 700, 178, 178, 699, - 937, 178, 178, 761, 937, 178, 178, 695, 937, 702, - 697, 698, 178, 178, 178, 696, 178, 178, 178, 178, - 701, 178, 178, 178, 178, 178, 699, 178, 178, 178, - 761, 703, 762, 178, 937, 178, 702, 705, 178, 178, - 937, 763, 704, 178, 178, 178, 178, 178, 178, 178, - 178, 707, 178, 706, 178, 178, 178, 709, 703, 762, - 937, 178, 178, 178, 705, 178, 178, 708, 763, 704, + 690, 691, 941, 692, 941, 182, 693, 694, 182, 695, + 699, 696, 697, 701, 702, 698, 182, 182, 700, 182, + 182, 182, 182, 705, 182, 182, 704, 182, 182, 703, + 941, 182, 182, 765, 941, 182, 182, 699, 941, 706, + 701, 702, 182, 182, 182, 700, 182, 182, 182, 182, + 705, 182, 182, 182, 182, 182, 703, 182, 182, 182, + 765, 707, 766, 182, 941, 182, 706, 709, 182, 182, + 941, 767, 708, 182, 182, 182, 182, 182, 182, 182, + 182, 711, 182, 710, 182, 182, 182, 713, 707, 766, + 941, 182, 182, 182, 709, 182, 182, 712, 767, 708, - 178, 937, 178, 178, 178, 710, 178, 178, 707, 178, - 706, 178, 178, 178, 709, 178, 178, 178, 178, 711, - 178, 178, 937, 178, 708, 764, 765, 178, 712, 178, - 937, 178, 710, 937, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 711, 715, 178, 178, - 713, 178, 764, 765, 178, 712, 714, 717, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 937, 178, 178, - 178, 178, 178, 766, 715, 716, 178, 713, 178, 178, - 178, 178, 937, 714, 717, 718, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 182, 941, 182, 182, 182, 714, 182, 182, 711, 182, + 710, 182, 182, 182, 713, 182, 182, 182, 182, 715, + 182, 182, 941, 182, 712, 768, 769, 182, 716, 182, + 941, 182, 714, 941, 182, 182, 182, 182, 182, 182, + 182, 182, 182, 182, 182, 182, 715, 719, 182, 182, + 717, 182, 768, 769, 182, 716, 718, 721, 182, 182, + 182, 182, 182, 182, 182, 182, 182, 941, 182, 182, + 182, 182, 182, 770, 719, 720, 182, 717, 182, 182, + 182, 182, 941, 718, 721, 722, 182, 182, 182, 182, + 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, - 766, 937, 716, 720, 719, 722, 178, 178, 178, 178, - 937, 767, 718, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 768, 178, 178, 178, 769, 178, 721, - 720, 719, 722, 178, 937, 937, 178, 723, 767, 178, - 178, 178, 178, 937, 178, 178, 178, 724, 178, 178, - 768, 178, 178, 178, 769, 178, 721, 178, 725, 727, - 178, 178, 726, 178, 723, 178, 178, 178, 729, 178, - 728, 178, 178, 178, 724, 178, 178, 178, 178, 937, - 178, 178, 937, 178, 178, 725, 727, 178, 178, 726, - 178, 178, 178, 178, 178, 729, 178, 728, 178, 732, + 770, 941, 720, 724, 723, 726, 182, 182, 182, 182, + 941, 771, 722, 182, 182, 182, 182, 182, 182, 182, + 182, 182, 182, 772, 182, 182, 182, 773, 182, 725, + 724, 723, 726, 182, 941, 941, 182, 727, 771, 182, + 182, 182, 182, 941, 182, 182, 182, 728, 182, 182, + 772, 182, 182, 182, 773, 182, 725, 182, 729, 731, + 182, 182, 730, 182, 727, 182, 182, 182, 733, 182, + 732, 182, 182, 182, 728, 182, 182, 182, 182, 941, + 182, 182, 941, 182, 182, 729, 731, 182, 182, 730, + 182, 182, 182, 182, 182, 733, 182, 732, 182, 736, - 178, 178, 178, 178, 178, 178, 730, 178, 178, 731, - 178, 178, 736, 937, 178, 733, 734, 937, 178, 178, - 178, 178, 178, 178, 937, 178, 732, 178, 178, 178, - 178, 178, 178, 730, 178, 735, 731, 178, 178, 736, - 178, 178, 733, 734, 737, 178, 178, 770, 178, 178, - 178, 178, 740, 738, 178, 178, 178, 178, 178, 178, - 178, 178, 735, 739, 178, 178, 937, 178, 178, 741, - 937, 737, 178, 178, 770, 178, 178, 178, 178, 740, - 738, 178, 178, 178, 178, 742, 937, 178, 178, 178, - 739, 178, 178, 178, 743, 771, 741, 178, 937, 178, + 182, 182, 182, 182, 182, 182, 734, 182, 182, 735, + 182, 182, 740, 941, 182, 737, 738, 941, 182, 182, + 182, 182, 182, 182, 941, 182, 736, 182, 182, 182, + 182, 182, 182, 734, 182, 739, 735, 182, 182, 740, + 182, 182, 737, 738, 741, 182, 182, 774, 182, 182, + 182, 182, 744, 742, 182, 182, 182, 182, 182, 182, + 182, 182, 739, 743, 182, 182, 941, 182, 182, 745, + 941, 741, 182, 182, 774, 182, 182, 182, 182, 744, + 742, 182, 182, 182, 182, 746, 941, 182, 182, 182, + 743, 182, 182, 182, 747, 775, 745, 182, 941, 182, - 178, 178, 178, 178, 178, 747, 744, 745, 178, 178, - 178, 178, 742, 746, 748, 178, 178, 772, 178, 178, - 178, 743, 771, 749, 178, 178, 178, 178, 178, 178, - 178, 178, 747, 744, 745, 178, 178, 178, 178, 750, - 746, 748, 178, 178, 772, 178, 178, 178, 937, 178, - 749, 178, 178, 752, 178, 178, 178, 178, 178, 751, - 937, 178, 178, 755, 178, 178, 750, 178, 937, 758, - 178, 937, 178, 753, 178, 178, 178, 754, 178, 178, - 752, 178, 178, 178, 178, 178, 751, 178, 178, 178, - 755, 178, 178, 178, 178, 757, 758, 178, 756, 178, + 182, 182, 182, 182, 182, 751, 748, 749, 182, 182, + 182, 182, 746, 750, 752, 182, 182, 776, 182, 182, + 182, 747, 775, 753, 182, 182, 182, 182, 182, 182, + 182, 182, 751, 748, 749, 182, 182, 182, 182, 754, + 750, 752, 182, 182, 776, 182, 182, 182, 941, 182, + 753, 182, 182, 756, 182, 182, 182, 182, 182, 755, + 941, 182, 182, 759, 182, 182, 754, 182, 941, 762, + 182, 941, 182, 757, 182, 182, 182, 758, 182, 182, + 756, 182, 182, 182, 182, 182, 755, 182, 182, 182, + 759, 182, 182, 182, 182, 761, 762, 182, 760, 182, - 753, 759, 178, 178, 754, 178, 178, 760, 178, 178, - 178, 178, 178, 178, 178, 773, 178, 178, 774, 775, - 178, 776, 757, 777, 178, 756, 178, 178, 759, 178, - 178, 778, 178, 779, 760, 780, 178, 781, 782, 783, - 178, 784, 773, 785, 178, 774, 775, 786, 776, 787, - 777, 788, 789, 790, 178, 791, 178, 792, 778, 793, - 779, 794, 780, 795, 781, 782, 783, 796, 784, 797, - 785, 798, 799, 800, 786, 801, 787, 802, 788, 789, - 790, 803, 791, 804, 792, 805, 793, 806, 794, 807, - 795, 178, 855, 178, 796, 937, 797, 178, 798, 799, + 757, 763, 182, 182, 758, 182, 182, 764, 182, 182, + 182, 182, 182, 182, 182, 777, 182, 182, 778, 779, + 182, 780, 761, 781, 182, 760, 182, 182, 763, 182, + 182, 782, 182, 783, 764, 784, 182, 785, 786, 787, + 182, 788, 777, 789, 182, 778, 779, 790, 780, 791, + 781, 792, 793, 794, 182, 795, 182, 796, 782, 797, + 783, 798, 784, 799, 785, 786, 787, 800, 788, 801, + 789, 802, 803, 804, 790, 805, 791, 806, 792, 793, + 794, 807, 795, 808, 796, 809, 797, 810, 798, 811, + 799, 182, 859, 182, 800, 941, 801, 182, 802, 803, - 800, 178, 801, 809, 802, 810, 811, 178, 803, 814, - 804, 178, 805, 178, 806, 856, 807, 178, 178, 855, - 178, 178, 808, 178, 178, 178, 178, 178, 178, 178, - 809, 178, 810, 811, 178, 812, 814, 178, 178, 937, - 178, 813, 856, 817, 178, 178, 178, 178, 178, 808, - 178, 178, 178, 178, 178, 815, 178, 178, 178, 178, - 178, 820, 812, 178, 178, 178, 816, 178, 813, 937, - 817, 821, 178, 178, 178, 818, 178, 937, 178, 178, - 178, 178, 815, 937, 178, 819, 178, 178, 820, 178, - 178, 178, 178, 816, 178, 178, 178, 178, 821, 178, + 804, 182, 805, 813, 806, 814, 815, 182, 807, 818, + 808, 182, 809, 182, 810, 860, 811, 182, 182, 859, + 182, 182, 812, 182, 182, 182, 182, 182, 182, 182, + 813, 182, 814, 815, 182, 816, 818, 182, 182, 941, + 182, 817, 860, 821, 182, 182, 182, 182, 182, 812, + 182, 182, 182, 182, 182, 819, 182, 182, 182, 182, + 182, 824, 816, 182, 182, 182, 820, 182, 817, 941, + 821, 825, 182, 182, 182, 822, 182, 941, 182, 182, + 182, 182, 819, 941, 182, 823, 182, 182, 824, 182, + 182, 182, 182, 820, 182, 182, 182, 182, 825, 182, - 937, 178, 818, 178, 822, 825, 178, 178, 178, 178, - 823, 824, 819, 178, 178, 178, 178, 178, 178, 178, - 826, 178, 178, 178, 178, 178, 178, 827, 178, 857, - 178, 822, 825, 178, 178, 178, 178, 823, 824, 178, - 178, 178, 178, 828, 178, 178, 178, 826, 178, 178, - 178, 831, 178, 178, 827, 178, 857, 178, 937, 178, - 178, 178, 178, 178, 829, 178, 178, 178, 830, 178, - 828, 178, 178, 178, 833, 937, 178, 178, 831, 832, - 178, 937, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 829, 178, 834, 178, 830, 178, 178, 178, 178, + 941, 182, 822, 182, 826, 829, 182, 182, 182, 182, + 827, 828, 823, 182, 182, 182, 182, 182, 182, 182, + 830, 182, 182, 182, 182, 182, 182, 831, 182, 861, + 182, 826, 829, 182, 182, 182, 182, 827, 828, 182, + 182, 182, 182, 832, 182, 182, 182, 830, 182, 182, + 182, 835, 182, 182, 831, 182, 861, 182, 941, 182, + 182, 182, 182, 182, 833, 182, 182, 182, 834, 182, + 832, 182, 182, 182, 837, 941, 182, 182, 835, 836, + 182, 941, 182, 182, 182, 182, 182, 182, 182, 182, + 182, 833, 182, 838, 182, 834, 182, 182, 182, 182, - 178, 833, 835, 178, 178, 178, 832, 178, 178, 178, - 178, 178, 178, 837, 178, 178, 178, 178, 836, 178, - 834, 937, 840, 178, 178, 178, 178, 178, 178, 835, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 837, 838, 178, 841, 178, 836, 178, 858, 178, 840, - 178, 839, 178, 859, 178, 178, 178, 178, 178, 178, - 178, 844, 178, 842, 178, 178, 178, 178, 838, 178, - 841, 843, 937, 845, 858, 178, 178, 178, 839, 178, - 859, 178, 178, 178, 178, 178, 178, 178, 844, 178, - 842, 849, 178, 846, 178, 178, 848, 178, 843, 178, + 182, 837, 839, 182, 182, 182, 836, 182, 182, 182, + 182, 182, 182, 841, 182, 182, 182, 182, 840, 182, + 838, 941, 844, 182, 182, 182, 182, 182, 182, 839, + 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, + 841, 842, 182, 845, 182, 840, 182, 862, 182, 844, + 182, 843, 182, 863, 182, 182, 182, 182, 182, 182, + 182, 848, 182, 846, 182, 182, 182, 182, 842, 182, + 845, 847, 941, 849, 862, 182, 182, 182, 843, 182, + 863, 182, 182, 182, 182, 182, 182, 182, 848, 182, + 846, 853, 182, 850, 182, 182, 852, 182, 847, 182, - 845, 178, 860, 178, 178, 847, 178, 178, 178, 178, - 850, 852, 178, 178, 178, 178, 861, 937, 849, 178, - 846, 854, 178, 848, 178, 178, 178, 178, 178, 860, - 178, 178, 847, 178, 178, 851, 178, 850, 852, 178, - 178, 178, 178, 861, 178, 178, 862, 863, 854, 864, - 865, 866, 178, 867, 178, 853, 178, 178, 178, 868, - 178, 178, 851, 178, 178, 869, 870, 871, 178, 872, - 873, 178, 178, 862, 863, 874, 864, 865, 866, 875, - 867, 876, 853, 178, 877, 878, 868, 879, 178, 880, - 178, 178, 869, 870, 871, 178, 872, 873, 882, 178, + 849, 182, 864, 182, 182, 851, 182, 182, 182, 182, + 854, 856, 182, 182, 182, 182, 865, 941, 853, 182, + 850, 858, 182, 852, 182, 182, 182, 182, 182, 864, + 182, 182, 851, 182, 182, 855, 182, 854, 856, 182, + 182, 182, 182, 865, 182, 182, 866, 867, 858, 868, + 869, 870, 182, 871, 182, 857, 182, 182, 182, 872, + 182, 182, 855, 182, 182, 873, 874, 875, 182, 876, + 877, 182, 182, 866, 867, 878, 868, 869, 870, 879, + 871, 880, 857, 182, 881, 882, 872, 883, 182, 884, + 182, 182, 873, 874, 875, 182, 876, 877, 886, 182, - 178, 178, 874, 937, 881, 937, 875, 884, 876, 178, - 178, 877, 878, 883, 879, 178, 880, 178, 178, 178, - 178, 178, 178, 178, 178, 882, 178, 178, 178, 178, - 885, 881, 178, 887, 884, 178, 178, 178, 886, 937, - 883, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 885, 888, 178, - 887, 178, 178, 178, 178, 886, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 889, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 888, 178, 178, 178, 890, - 178, 178, 178, 178, 178, 178, 178, 178, 892, 178, + 182, 182, 878, 941, 885, 941, 879, 888, 880, 182, + 182, 881, 882, 887, 883, 182, 884, 182, 182, 182, + 182, 182, 182, 182, 182, 886, 182, 182, 182, 182, + 889, 885, 182, 891, 888, 182, 182, 182, 890, 941, + 887, 182, 182, 182, 182, 182, 182, 182, 182, 182, + 182, 182, 182, 182, 182, 182, 182, 889, 892, 182, + 891, 182, 182, 182, 182, 890, 182, 182, 182, 182, + 182, 182, 182, 182, 182, 893, 182, 182, 182, 182, + 182, 182, 182, 182, 182, 892, 182, 182, 182, 894, + 182, 182, 182, 182, 182, 182, 182, 182, 896, 182, - 178, 178, 889, 178, 178, 178, 178, 905, 891, 896, - 178, 178, 178, 178, 178, 178, 890, 894, 178, 178, - 178, 178, 178, 178, 178, 892, 178, 893, 906, 178, - 178, 178, 897, 178, 905, 891, 896, 178, 907, 178, - 178, 178, 178, 937, 894, 178, 895, 178, 178, 178, - 178, 178, 178, 178, 893, 906, 178, 178, 178, 897, - 898, 178, 178, 899, 178, 907, 178, 178, 178, 178, - 901, 902, 178, 895, 178, 178, 178, 937, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 898, 178, 178, - 899, 178, 900, 178, 178, 178, 178, 901, 902, 178, + 182, 182, 893, 182, 182, 182, 182, 909, 895, 900, + 182, 182, 182, 182, 182, 182, 894, 898, 182, 182, + 182, 182, 182, 182, 182, 896, 182, 897, 910, 182, + 182, 182, 901, 182, 909, 895, 900, 182, 911, 182, + 182, 182, 182, 941, 898, 182, 899, 182, 182, 182, + 182, 182, 182, 182, 897, 910, 182, 182, 182, 901, + 902, 182, 182, 903, 182, 911, 182, 182, 182, 182, + 905, 906, 182, 899, 182, 182, 182, 941, 182, 182, + 182, 182, 182, 182, 182, 182, 182, 902, 182, 182, + 903, 182, 904, 182, 182, 182, 182, 905, 906, 182, - 178, 178, 178, 178, 178, 178, 903, 178, 178, 178, - 178, 178, 178, 178, 178, 908, 178, 909, 178, 900, - 910, 178, 178, 904, 178, 911, 912, 178, 913, 178, - 178, 178, 178, 903, 178, 937, 178, 178, 178, 178, - 178, 178, 908, 178, 909, 178, 937, 910, 178, 178, - 904, 178, 911, 912, 914, 913, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 937, - 178, 178, 178, 178, 178, 178, 178, 915, 178, 937, - 937, 914, 178, 178, 178, 178, 178, 178, 923, 178, - 178, 178, 178, 178, 178, 178, 918, 178, 178, 178, + 182, 182, 182, 182, 182, 182, 907, 182, 182, 182, + 182, 182, 182, 182, 182, 912, 182, 913, 182, 904, + 914, 182, 182, 908, 182, 915, 916, 182, 917, 182, + 182, 182, 182, 907, 182, 941, 182, 182, 182, 182, + 182, 182, 912, 182, 913, 182, 941, 914, 182, 182, + 908, 182, 915, 916, 918, 917, 182, 182, 182, 182, + 182, 182, 182, 182, 182, 182, 182, 182, 182, 941, + 182, 182, 182, 182, 182, 182, 182, 919, 182, 941, + 941, 918, 182, 182, 182, 182, 182, 182, 927, 182, + 182, 182, 182, 182, 182, 182, 922, 182, 182, 182, - 178, 178, 178, 178, 915, 178, 916, 178, 178, 178, - 178, 178, 917, 937, 924, 923, 178, 178, 178, 178, - 178, 178, 178, 918, 178, 178, 178, 178, 178, 178, - 178, 178, 925, 916, 178, 178, 926, 178, 178, 917, - 919, 924, 922, 178, 178, 178, 178, 927, 178, 178, - 920, 178, 178, 178, 178, 178, 921, 178, 178, 925, - 937, 178, 178, 926, 178, 178, 937, 919, 178, 922, - 178, 178, 178, 178, 927, 178, 928, 920, 178, 937, - 178, 178, 178, 921, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 929, 933, 178, 934, 178, 178, 930, + 182, 182, 182, 182, 919, 182, 920, 182, 182, 182, + 182, 182, 921, 941, 928, 927, 182, 182, 182, 182, + 182, 182, 182, 922, 182, 182, 182, 182, 182, 182, + 182, 182, 929, 920, 182, 182, 930, 182, 182, 921, + 923, 928, 926, 182, 182, 182, 182, 931, 182, 182, + 924, 182, 182, 182, 182, 182, 925, 182, 182, 929, + 941, 182, 182, 930, 182, 182, 941, 923, 182, 926, + 182, 182, 182, 182, 931, 182, 932, 924, 182, 941, + 182, 182, 182, 925, 182, 182, 182, 182, 182, 182, + 182, 182, 182, 933, 937, 182, 938, 182, 182, 934, - 178, 937, 178, 928, 178, 178, 178, 931, 178, 178, - 935, 178, 178, 178, 178, 932, 178, 178, 178, 178, - 929, 933, 937, 934, 178, 178, 930, 178, 178, 178, - 178, 178, 178, 178, 931, 937, 178, 935, 178, 178, - 178, 936, 932, 178, 937, 937, 178, 178, 178, 937, - 937, 178, 178, 937, 178, 178, 937, 178, 937, 178, - 178, 937, 937, 178, 937, 937, 178, 178, 936, 937, - 937, 937, 937, 937, 178, 178, 937, 937, 937, 178, - 937, 937, 937, 937, 937, 937, 937, 178, 80, 937, - 937, 80, 81, 937, 81, 81, 165, 937, 165, 165, + 182, 941, 182, 932, 182, 182, 182, 935, 182, 182, + 939, 182, 182, 182, 182, 936, 182, 182, 182, 182, + 933, 937, 941, 938, 182, 182, 934, 182, 182, 182, + 182, 182, 182, 182, 935, 941, 182, 939, 182, 182, + 182, 940, 936, 182, 941, 941, 182, 182, 182, 941, + 941, 182, 182, 941, 182, 182, 941, 182, 941, 182, + 182, 941, 941, 182, 941, 941, 182, 182, 940, 941, + 941, 941, 941, 941, 182, 182, 941, 941, 941, 182, + 941, 941, 941, 941, 941, 941, 941, 182, 82, 941, + 941, 82, 83, 941, 83, 83, 168, 941, 168, 168, - 168, 937, 168, 168, 169, 937, 169, 169, 178, 937, - 178, 178, 5, 937, 937, 937, 937, 937, 937, 937, - 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, - 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, - 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, - 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, - 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, - 937, 937, 937, 937, 937, 937, 937, 937, 937, 937 + 171, 941, 171, 171, 172, 941, 172, 172, 182, 941, + 182, 182, 5, 941, 941, 941, 941, 941, 941, 941, + 941, 941, 941, 941, 941, 941, 941, 941, 941, 941, + 941, 941, 941, 941, 941, 941, 941, 941, 941, 941, + 941, 941, 941, 941, 941, 941, 941, 941, 941, 941, + 941, 941, 941, 941, 941, 941, 941, 941, 941, 941, + 941, 941, 941, 941, 941, 941, 941, 941, 941, 941, + 941, 941, 941, 941, 941, 941, 941, 941, 941, 941 } ; static yyconst flex_int16_t yy_chk[3781] = @@ -1157,407 +1173,407 @@ static yyconst flex_int16_t yy_chk[3781] = 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 7, 7, 8, 8, 13, 940, - 13, 15, 15, 16, 16, 18, 19, 18, 21, 352, - 20, 24, 21, 18, 254, 18, 21, 24, 27, 18, - 18, 28, 21, 91, 20, 21, 19, 20, 20, 22, - 174, 22, 18, 19, 18, 21, 22, 20, 24, 21, - 18, 22, 18, 21, 24, 27, 18, 18, 28, 21, - 91, 20, 21, 19, 20, 20, 22, 25, 22, 173, + 3, 3, 3, 3, 7, 7, 8, 8, 13, 944, + 13, 15, 15, 16, 16, 19, 20, 19, 22, 356, + 21, 25, 22, 19, 258, 19, 22, 25, 28, 19, + 19, 29, 22, 94, 21, 22, 20, 21, 21, 23, + 177, 23, 19, 20, 19, 22, 23, 21, 25, 22, + 19, 23, 19, 22, 25, 28, 19, 19, 29, 22, + 94, 21, 22, 20, 21, 21, 23, 26, 23, 176, - 23, 43, 43, 22, 169, 25, 23, 26, 22, 23, - 168, 32, 23, 26, 26, 26, 86, 30, 29, 32, - 26, 30, 29, 32, 25, 35, 32, 23, 29, 35, - 44, 44, 25, 23, 26, 92, 23, 31, 32, 23, - 26, 26, 26, 33, 30, 29, 32, 26, 30, 29, - 32, 31, 35, 32, 33, 29, 35, 31, 31, 95, - 33, 36, 92, 36, 31, 96, 36, 38, 85, 38, - 33, 81, 38, 36, 36, 49, 80, 49, 31, 51, - 51, 33, 52, 52, 31, 31, 95, 33, 36, 77, - 36, 60, 96, 36, 38, 64, 38, 39, 60, 38, + 24, 44, 44, 23, 172, 26, 24, 27, 23, 24, + 171, 33, 24, 27, 27, 27, 88, 31, 30, 33, + 27, 31, 30, 33, 26, 36, 33, 24, 30, 36, + 45, 45, 26, 24, 27, 95, 24, 32, 33, 24, + 27, 27, 27, 34, 31, 30, 33, 27, 31, 30, + 33, 32, 36, 33, 34, 30, 36, 32, 32, 98, + 34, 37, 95, 37, 32, 99, 37, 39, 87, 39, + 34, 83, 39, 37, 37, 50, 82, 50, 32, 52, + 52, 34, 53, 53, 32, 32, 98, 34, 37, 79, + 37, 62, 99, 37, 39, 66, 39, 40, 62, 39, - 36, 36, 37, 37, 60, 39, 37, 40, 40, 37, - 37, 60, 78, 78, 53, 64, 37, 102, 60, 37, - 84, 84, 64, 50, 39, 60, 166, 166, 48, 37, - 37, 60, 39, 37, 40, 40, 37, 37, 60, 172, - 172, 70, 64, 37, 102, 46, 37, 54, 54, 103, - 54, 54, 54, 54, 54, 54, 61, 54, 54, 54, - 61, 70, 63, 54, 61, 54, 94, 93, 70, 94, - 97, 54, 63, 54, 45, 93, 103, 54, 54, 106, - 61, 66, 63, 61, 97, 66, 41, 61, 70, 63, - 54, 61, 54, 94, 93, 17, 94, 97, 54, 63, + 37, 37, 38, 38, 62, 40, 38, 41, 41, 38, + 38, 62, 80, 80, 55, 66, 38, 105, 62, 38, + 86, 86, 66, 54, 40, 62, 169, 169, 51, 38, + 38, 62, 40, 38, 41, 41, 38, 38, 62, 175, + 175, 72, 66, 38, 105, 49, 38, 56, 56, 106, + 56, 56, 56, 56, 56, 56, 63, 56, 56, 56, + 63, 72, 65, 56, 63, 56, 97, 96, 72, 97, + 100, 56, 65, 56, 47, 96, 106, 56, 56, 109, + 63, 68, 65, 63, 100, 68, 46, 63, 72, 65, + 56, 63, 56, 97, 96, 42, 97, 100, 56, 65, - 54, 66, 93, 107, 54, 54, 106, 61, 66, 63, - 14, 97, 66, 54, 55, 55, 12, 55, 55, 55, - 55, 55, 55, 65, 55, 55, 55, 65, 66, 9, - 107, 55, 5, 65, 0, 69, 71, 75, 101, 69, - 71, 75, 99, 65, 108, 75, 69, 109, 101, 99, - 65, 55, 69, 0, 65, 0, 71, 110, 55, 69, - 65, 75, 69, 71, 75, 101, 69, 71, 75, 99, - 65, 108, 75, 69, 109, 101, 99, 112, 55, 69, - 55, 56, 74, 71, 110, 56, 69, 100, 75, 100, - 0, 74, 113, 74, 114, 56, 74, 76, 56, 56, + 56, 68, 96, 110, 56, 56, 109, 63, 68, 65, + 18, 100, 68, 56, 57, 57, 17, 57, 57, 57, + 57, 57, 57, 67, 57, 57, 57, 67, 68, 14, + 110, 57, 12, 67, 9, 71, 73, 77, 104, 71, + 73, 77, 102, 67, 111, 77, 71, 112, 104, 102, + 67, 57, 71, 5, 67, 0, 73, 113, 57, 71, + 67, 77, 71, 73, 77, 104, 71, 73, 77, 102, + 67, 111, 77, 71, 112, 104, 102, 115, 57, 71, + 57, 58, 76, 73, 113, 58, 71, 103, 77, 103, + 0, 76, 116, 76, 117, 58, 76, 78, 58, 58, - 76, 76, 74, 115, 112, 56, 0, 0, 56, 74, - 0, 116, 56, 117, 100, 0, 100, 76, 74, 113, - 74, 114, 56, 74, 76, 56, 56, 76, 76, 74, - 115, 104, 56, 57, 105, 105, 104, 57, 116, 0, - 117, 57, 104, 121, 76, 122, 111, 57, 111, 104, - 57, 118, 111, 0, 118, 124, 125, 57, 104, 111, - 57, 105, 105, 104, 57, 0, 119, 0, 57, 104, - 121, 119, 122, 111, 57, 111, 104, 57, 118, 111, - 123, 118, 124, 125, 57, 58, 111, 126, 127, 128, - 123, 128, 58, 119, 58, 123, 123, 130, 119, 58, + 78, 78, 76, 118, 115, 58, 0, 0, 58, 76, + 0, 119, 58, 120, 103, 0, 103, 78, 76, 116, + 76, 117, 58, 76, 78, 58, 58, 78, 78, 76, + 118, 107, 58, 59, 108, 108, 107, 59, 119, 0, + 120, 59, 107, 124, 78, 125, 114, 59, 114, 107, + 59, 121, 114, 0, 121, 127, 128, 59, 107, 114, + 59, 108, 108, 107, 59, 0, 122, 0, 59, 107, + 124, 122, 125, 114, 59, 114, 107, 59, 121, 114, + 126, 121, 127, 128, 59, 60, 114, 129, 130, 131, + 126, 131, 60, 122, 60, 126, 126, 133, 122, 60, - 129, 131, 129, 132, 58, 58, 0, 123, 133, 134, - 0, 135, 58, 136, 126, 127, 128, 123, 128, 58, - 138, 58, 123, 123, 130, 139, 58, 129, 131, 129, - 132, 58, 58, 59, 140, 133, 134, 59, 135, 141, - 136, 142, 144, 59, 145, 142, 59, 138, 147, 59, - 146, 143, 139, 59, 0, 0, 143, 148, 146, 149, - 59, 140, 0, 0, 59, 150, 141, 151, 142, 144, - 59, 145, 142, 59, 0, 147, 59, 146, 143, 153, - 59, 62, 62, 143, 148, 146, 149, 152, 62, 62, - 62, 154, 150, 155, 151, 62, 156, 157, 152, 158, + 132, 134, 132, 135, 60, 60, 0, 126, 136, 137, + 0, 138, 60, 139, 129, 130, 131, 126, 131, 60, + 141, 60, 126, 126, 133, 142, 60, 132, 134, 132, + 135, 60, 60, 61, 143, 136, 137, 61, 138, 144, + 139, 145, 147, 61, 148, 145, 61, 141, 150, 61, + 149, 146, 142, 61, 0, 0, 146, 151, 149, 152, + 61, 143, 0, 0, 61, 153, 144, 154, 145, 147, + 61, 148, 145, 61, 0, 150, 61, 149, 146, 156, + 61, 64, 64, 146, 151, 149, 152, 155, 64, 64, + 64, 157, 153, 158, 154, 64, 159, 160, 155, 161, - 157, 62, 0, 159, 160, 0, 153, 162, 62, 62, - 163, 256, 258, 259, 152, 62, 62, 62, 154, 161, - 155, 178, 62, 156, 157, 152, 158, 157, 62, 67, - 159, 160, 161, 67, 162, 0, 261, 163, 256, 258, - 259, 178, 180, 67, 179, 179, 161, 263, 178, 67, - 67, 0, 264, 67, 0, 0, 67, 180, 0, 161, - 67, 265, 180, 261, 267, 179, 0, 0, 178, 180, - 67, 179, 179, 266, 263, 266, 67, 67, 181, 264, - 67, 68, 68, 186, 180, 181, 183, 268, 265, 180, - 68, 267, 179, 181, 68, 0, 0, 68, 181, 183, + 160, 64, 0, 162, 163, 0, 156, 165, 64, 64, + 166, 260, 262, 263, 155, 64, 64, 64, 157, 164, + 158, 182, 64, 159, 160, 155, 161, 160, 64, 69, + 162, 163, 164, 69, 165, 0, 265, 166, 260, 262, + 263, 182, 184, 69, 183, 183, 164, 267, 182, 69, + 69, 0, 268, 69, 0, 0, 69, 184, 0, 164, + 69, 269, 184, 265, 271, 183, 0, 0, 182, 184, + 69, 183, 183, 270, 267, 270, 69, 69, 185, 268, + 69, 70, 70, 190, 184, 185, 187, 272, 269, 184, + 70, 271, 183, 185, 70, 0, 0, 70, 185, 187, - 266, 68, 266, 186, 0, 181, 183, 0, 68, 68, - 186, 0, 181, 183, 268, 0, 0, 68, 196, 182, - 181, 68, 182, 182, 68, 181, 183, 269, 68, 72, - 186, 72, 196, 183, 72, 184, 270, 184, 196, 272, - 273, 72, 72, 182, 0, 196, 182, 0, 0, 182, - 182, 72, 0, 0, 269, 274, 72, 184, 72, 196, - 0, 72, 184, 270, 184, 196, 272, 273, 72, 72, - 182, 208, 0, 276, 185, 185, 0, 277, 72, 73, - 73, 0, 274, 73, 184, 187, 73, 73, 188, 185, - 0, 208, 187, 73, 185, 188, 73, 188, 208, 187, + 270, 70, 270, 190, 0, 185, 187, 0, 70, 70, + 190, 0, 185, 187, 272, 0, 0, 70, 200, 186, + 185, 70, 186, 186, 70, 185, 187, 273, 70, 74, + 190, 74, 200, 187, 74, 188, 274, 188, 200, 276, + 277, 74, 74, 186, 0, 200, 186, 0, 0, 186, + 186, 74, 0, 0, 273, 278, 74, 188, 74, 200, + 0, 74, 188, 274, 188, 200, 276, 277, 74, 74, + 186, 212, 0, 280, 189, 189, 0, 281, 74, 75, + 75, 0, 278, 75, 188, 191, 75, 75, 192, 189, + 0, 212, 191, 75, 189, 192, 75, 192, 212, 191, - 276, 185, 185, 73, 277, 187, 73, 73, 188, 278, - 73, 190, 187, 73, 73, 188, 185, 189, 208, 187, - 73, 185, 188, 73, 188, 191, 187, 189, 190, 193, - 73, 190, 187, 214, 0, 188, 278, 189, 190, 279, - 191, 280, 193, 193, 189, 191, 0, 281, 0, 193, - 0, 0, 191, 214, 189, 190, 193, 0, 190, 194, - 214, 195, 197, 197, 189, 283, 279, 191, 280, 193, - 193, 195, 191, 192, 281, 194, 193, 192, 192, 194, - 214, 195, 0, 197, 192, 198, 194, 198, 195, 197, - 197, 192, 283, 284, 0, 0, 200, 192, 195, 0, + 280, 189, 189, 75, 281, 191, 75, 75, 192, 282, + 75, 194, 191, 75, 75, 192, 189, 193, 212, 191, + 75, 189, 192, 75, 192, 195, 191, 193, 194, 197, + 75, 194, 191, 218, 0, 192, 282, 193, 194, 283, + 195, 284, 197, 197, 193, 195, 0, 285, 0, 197, + 0, 0, 195, 218, 193, 194, 197, 0, 194, 198, + 218, 199, 201, 201, 193, 287, 283, 195, 284, 197, + 197, 199, 195, 196, 285, 198, 197, 196, 196, 198, + 218, 199, 0, 201, 196, 202, 198, 202, 199, 201, + 201, 196, 287, 288, 0, 0, 204, 196, 199, 0, - 192, 0, 194, 200, 192, 192, 194, 198, 195, 201, - 197, 192, 198, 199, 198, 199, 200, 202, 192, 199, - 284, 203, 201, 200, 192, 0, 199, 202, 203, 201, - 200, 215, 215, 0, 198, 199, 201, 202, 0, 0, - 199, 203, 199, 200, 202, 0, 199, 204, 203, 201, - 205, 215, 206, 199, 202, 203, 201, 204, 215, 215, - 205, 209, 199, 218, 202, 209, 206, 204, 203, 206, - 205, 207, 206, 0, 204, 210, 218, 205, 215, 206, - 207, 209, 0, 218, 204, 207, 210, 205, 209, 275, - 218, 207, 209, 206, 204, 210, 206, 205, 207, 206, + 196, 0, 198, 204, 196, 196, 198, 202, 199, 205, + 201, 196, 202, 203, 202, 203, 204, 206, 196, 203, + 288, 207, 205, 204, 196, 0, 203, 206, 207, 205, + 204, 219, 219, 0, 202, 203, 205, 206, 0, 0, + 203, 207, 203, 204, 206, 0, 203, 208, 207, 205, + 209, 219, 210, 203, 206, 207, 205, 208, 219, 219, + 209, 213, 203, 222, 206, 213, 210, 208, 207, 210, + 209, 211, 210, 0, 208, 214, 222, 209, 219, 210, + 211, 213, 0, 222, 208, 211, 214, 209, 213, 279, + 222, 211, 213, 210, 208, 214, 210, 209, 211, 210, - 212, 213, 210, 218, 275, 213, 0, 207, 209, 212, - 218, 0, 207, 210, 285, 286, 275, 0, 207, 287, - 212, 213, 210, 211, 211, 219, 0, 212, 213, 216, - 0, 275, 213, 211, 219, 216, 212, 216, 211, 211, - 0, 285, 286, 220, 211, 219, 287, 212, 213, 216, - 211, 211, 219, 217, 221, 217, 216, 217, 220, 288, - 211, 219, 216, 220, 216, 211, 211, 225, 222, 221, - 220, 211, 219, 0, 221, 222, 216, 217, 0, 223, - 217, 221, 217, 223, 217, 220, 288, 225, 222, 290, - 220, 224, 224, 0, 225, 222, 221, 227, 0, 226, + 216, 217, 214, 222, 279, 217, 0, 211, 213, 216, + 222, 0, 211, 214, 289, 290, 279, 0, 211, 291, + 216, 217, 214, 215, 215, 223, 0, 216, 217, 220, + 0, 279, 217, 215, 223, 220, 216, 220, 215, 215, + 0, 289, 290, 224, 215, 223, 291, 216, 217, 220, + 215, 215, 223, 221, 225, 221, 220, 221, 224, 292, + 215, 223, 220, 224, 220, 215, 215, 229, 226, 225, + 224, 215, 223, 0, 225, 226, 220, 221, 0, 227, + 221, 225, 221, 227, 221, 224, 292, 229, 226, 294, + 224, 228, 228, 0, 229, 226, 225, 231, 0, 230, - 226, 221, 222, 223, 217, 229, 223, 291, 228, 229, - 223, 224, 227, 0, 225, 222, 290, 227, 224, 224, - 226, 228, 0, 232, 227, 232, 226, 226, 228, 229, - 223, 231, 229, 230, 291, 228, 229, 230, 224, 227, - 231, 292, 0, 232, 227, 231, 233, 226, 228, 233, - 232, 231, 232, 230, 234, 228, 229, 0, 231, 237, - 230, 234, 241, 237, 230, 235, 233, 231, 292, 234, - 232, 236, 231, 233, 234, 235, 233, 293, 231, 0, - 230, 234, 241, 237, 236, 235, 237, 0, 234, 241, - 237, 236, 235, 233, 238, 240, 234, 238, 236, 239, + 230, 225, 226, 227, 221, 233, 227, 295, 232, 233, + 227, 228, 231, 0, 229, 226, 294, 231, 228, 228, + 230, 232, 0, 236, 231, 236, 230, 230, 232, 233, + 227, 235, 233, 234, 295, 232, 233, 234, 228, 231, + 235, 296, 0, 236, 231, 235, 237, 230, 232, 237, + 236, 235, 236, 234, 238, 232, 233, 0, 235, 241, + 234, 238, 245, 241, 234, 239, 237, 235, 296, 238, + 236, 240, 235, 237, 238, 239, 237, 297, 235, 0, + 234, 238, 245, 241, 240, 239, 241, 0, 238, 245, + 241, 240, 239, 237, 242, 244, 238, 242, 240, 243, - 242, 234, 235, 240, 293, 243, 239, 294, 242, 241, - 237, 236, 235, 295, 240, 240, 243, 238, 236, 239, - 242, 238, 240, 0, 238, 243, 239, 242, 0, 244, - 240, 0, 243, 239, 294, 242, 296, 246, 246, 250, - 295, 240, 240, 243, 238, 244, 239, 242, 249, 244, - 245, 247, 243, 248, 245, 247, 244, 245, 246, 250, - 248, 249, 0, 296, 246, 246, 250, 0, 249, 297, - 245, 247, 244, 248, 251, 249, 244, 245, 247, 298, - 248, 245, 247, 299, 245, 246, 250, 248, 249, 251, - 300, 301, 302, 303, 251, 249, 297, 245, 247, 304, + 246, 238, 239, 244, 297, 247, 243, 298, 246, 245, + 241, 240, 239, 299, 244, 244, 247, 242, 240, 243, + 246, 242, 244, 0, 242, 247, 243, 246, 0, 248, + 244, 0, 247, 243, 298, 246, 300, 250, 250, 254, + 299, 244, 244, 247, 242, 248, 243, 246, 253, 248, + 249, 251, 247, 252, 249, 251, 248, 249, 250, 254, + 252, 253, 0, 300, 250, 250, 254, 0, 253, 301, + 249, 251, 248, 252, 255, 253, 248, 249, 251, 302, + 252, 249, 251, 303, 249, 250, 254, 252, 253, 255, + 304, 305, 306, 307, 255, 253, 301, 249, 251, 308, - 248, 251, 305, 303, 307, 308, 298, 309, 310, 311, - 299, 312, 313, 314, 316, 317, 251, 300, 301, 302, - 303, 251, 318, 319, 320, 321, 304, 322, 323, 305, - 303, 307, 308, 324, 309, 310, 311, 325, 312, 313, - 314, 316, 317, 326, 321, 327, 328, 329, 331, 318, - 319, 320, 321, 332, 322, 323, 333, 334, 336, 337, - 324, 338, 339, 341, 325, 342, 343, 342, 344, 345, - 326, 321, 327, 328, 329, 331, 346, 347, 348, 350, - 332, 353, 354, 333, 334, 336, 337, 349, 338, 339, - 341, 349, 342, 343, 342, 344, 345, 355, 0, 356, + 252, 255, 309, 307, 311, 312, 302, 313, 314, 315, + 303, 316, 317, 318, 320, 321, 255, 304, 305, 306, + 307, 255, 322, 323, 324, 325, 308, 326, 327, 309, + 307, 311, 312, 328, 313, 314, 315, 329, 316, 317, + 318, 320, 321, 330, 325, 331, 332, 333, 335, 322, + 323, 324, 325, 336, 326, 327, 337, 338, 340, 341, + 328, 342, 343, 345, 329, 346, 347, 346, 348, 349, + 330, 325, 331, 332, 333, 335, 350, 351, 352, 354, + 336, 357, 358, 337, 338, 340, 341, 353, 342, 343, + 345, 353, 346, 347, 346, 348, 349, 359, 0, 360, - 357, 353, 354, 346, 347, 348, 350, 357, 353, 354, - 358, 359, 360, 361, 349, 359, 0, 355, 349, 356, - 357, 0, 0, 361, 355, 362, 356, 357, 353, 354, - 358, 449, 360, 361, 357, 359, 0, 358, 359, 360, - 361, 363, 359, 362, 355, 362, 356, 357, 363, 364, - 361, 364, 362, 365, 0, 0, 450, 358, 449, 360, - 361, 363, 359, 367, 366, 369, 370, 367, 363, 365, - 362, 364, 362, 365, 0, 363, 364, 0, 364, 366, - 365, 368, 371, 450, 366, 369, 370, 367, 363, 371, - 367, 366, 369, 370, 367, 368, 365, 0, 364, 372, + 361, 357, 358, 350, 351, 352, 354, 361, 357, 358, + 362, 363, 364, 365, 353, 363, 0, 359, 353, 360, + 361, 0, 0, 365, 359, 366, 360, 361, 357, 358, + 362, 453, 364, 365, 361, 363, 0, 362, 363, 364, + 365, 367, 363, 366, 359, 366, 360, 361, 367, 368, + 365, 368, 366, 369, 0, 0, 454, 362, 453, 364, + 365, 367, 363, 371, 370, 373, 374, 371, 367, 369, + 366, 368, 366, 369, 0, 367, 368, 0, 368, 370, + 369, 372, 375, 454, 370, 373, 374, 371, 367, 375, + 371, 370, 373, 374, 371, 372, 369, 0, 368, 376, - 365, 368, 371, 372, 373, 374, 366, 374, 368, 371, - 0, 366, 369, 370, 367, 375, 371, 377, 376, 373, - 377, 0, 368, 372, 373, 451, 372, 374, 368, 371, - 372, 373, 374, 376, 374, 375, 379, 378, 376, 380, - 377, 382, 375, 0, 377, 376, 373, 377, 378, 381, - 372, 373, 451, 381, 374, 0, 379, 378, 384, 380, - 376, 382, 375, 379, 378, 376, 380, 377, 382, 383, - 385, 383, 384, 381, 386, 378, 381, 385, 384, 452, - 381, 0, 387, 379, 378, 384, 380, 388, 382, 390, - 385, 383, 390, 453, 386, 388, 383, 385, 383, 384, + 369, 372, 375, 376, 377, 378, 370, 378, 372, 375, + 0, 370, 373, 374, 371, 379, 375, 381, 380, 377, + 381, 0, 372, 376, 377, 455, 376, 378, 372, 375, + 376, 377, 378, 380, 378, 379, 383, 382, 380, 384, + 381, 386, 379, 0, 381, 380, 377, 381, 382, 385, + 376, 377, 455, 385, 378, 0, 383, 382, 388, 384, + 380, 386, 379, 383, 382, 380, 384, 381, 386, 387, + 389, 387, 388, 385, 390, 382, 385, 389, 388, 456, + 385, 0, 391, 383, 382, 388, 384, 392, 386, 394, + 389, 387, 394, 457, 390, 392, 387, 389, 387, 388, - 381, 386, 387, 389, 385, 384, 452, 388, 391, 387, - 389, 393, 390, 0, 388, 393, 390, 385, 383, 390, - 453, 386, 388, 389, 391, 394, 0, 0, 391, 387, - 389, 393, 0, 392, 388, 391, 392, 389, 393, 390, - 394, 395, 393, 454, 397, 394, 398, 0, 0, 399, - 389, 391, 394, 392, 397, 391, 395, 400, 393, 396, - 392, 395, 402, 392, 397, 396, 398, 394, 395, 399, - 454, 397, 394, 398, 404, 401, 399, 400, 402, 396, - 392, 397, 402, 395, 400, 401, 396, 406, 395, 402, - 403, 397, 396, 398, 404, 401, 399, 0, 405, 403, + 385, 390, 391, 393, 389, 388, 456, 392, 395, 391, + 393, 397, 394, 0, 392, 397, 394, 389, 387, 394, + 457, 390, 392, 393, 395, 398, 0, 0, 395, 391, + 393, 397, 0, 396, 392, 395, 396, 393, 397, 394, + 398, 399, 397, 458, 401, 398, 402, 0, 0, 403, + 393, 395, 398, 396, 401, 395, 399, 404, 397, 400, + 396, 399, 406, 396, 401, 400, 402, 398, 399, 403, + 458, 401, 398, 402, 408, 405, 403, 404, 406, 400, + 396, 401, 406, 399, 404, 405, 400, 410, 399, 406, + 407, 401, 400, 402, 408, 405, 403, 0, 409, 407, - 0, 404, 401, 456, 400, 402, 396, 406, 0, 402, - 403, 407, 401, 405, 406, 407, 413, 403, 405, 411, - 0, 404, 401, 408, 408, 405, 403, 410, 409, 410, - 456, 407, 409, 412, 406, 411, 413, 403, 407, 411, - 405, 414, 407, 413, 408, 405, 411, 410, 414, 412, - 408, 408, 409, 412, 410, 409, 410, 415, 407, 409, - 412, 414, 411, 413, 0, 417, 411, 416, 414, 418, - 415, 408, 0, 458, 410, 414, 412, 415, 424, 409, - 412, 416, 419, 0, 415, 417, 419, 416, 414, 418, - 420, 421, 417, 424, 416, 422, 418, 415, 424, 420, + 0, 408, 405, 460, 404, 406, 400, 410, 0, 406, + 407, 411, 405, 409, 410, 411, 417, 407, 409, 415, + 0, 408, 405, 412, 412, 409, 407, 414, 413, 414, + 460, 411, 413, 416, 410, 415, 417, 407, 411, 415, + 409, 418, 411, 417, 412, 409, 415, 414, 418, 416, + 412, 412, 413, 416, 414, 413, 414, 419, 411, 413, + 416, 418, 415, 417, 0, 421, 415, 420, 418, 422, + 419, 412, 0, 462, 414, 418, 416, 419, 428, 413, + 416, 420, 423, 0, 419, 421, 423, 420, 418, 422, + 424, 425, 421, 428, 420, 426, 422, 419, 428, 424, - 458, 419, 421, 422, 415, 424, 419, 426, 416, 419, - 420, 421, 417, 419, 416, 422, 418, 420, 421, 423, - 424, 425, 422, 423, 425, 424, 420, 426, 419, 421, - 422, 0, 427, 419, 426, 428, 433, 420, 421, 0, - 429, 425, 422, 423, 459, 0, 423, 0, 425, 430, - 423, 425, 427, 460, 426, 428, 433, 431, 429, 427, - 429, 0, 428, 433, 430, 0, 432, 429, 425, 430, - 423, 459, 431, 432, 437, 435, 430, 431, 434, 427, - 460, 0, 428, 433, 431, 429, 432, 429, 436, 434, - 435, 430, 438, 432, 437, 435, 430, 436, 434, 431, + 462, 423, 425, 426, 419, 428, 423, 430, 420, 423, + 424, 425, 421, 423, 420, 426, 422, 424, 425, 427, + 428, 429, 426, 427, 429, 428, 424, 430, 423, 425, + 426, 0, 431, 423, 430, 432, 437, 424, 425, 0, + 433, 429, 426, 427, 463, 0, 427, 0, 429, 434, + 427, 429, 431, 464, 430, 432, 437, 435, 433, 431, + 433, 0, 432, 437, 434, 0, 436, 433, 429, 434, + 427, 463, 435, 436, 441, 439, 434, 435, 438, 431, + 464, 0, 432, 437, 435, 433, 436, 433, 440, 438, + 439, 434, 442, 436, 441, 439, 434, 440, 438, 435, - 432, 437, 435, 0, 431, 434, 0, 442, 436, 439, - 0, 442, 438, 432, 461, 436, 434, 435, 439, 438, - 440, 437, 435, 441, 436, 434, 444, 0, 443, 439, - 440, 442, 440, 441, 442, 436, 439, 443, 442, 438, - 440, 461, 444, 441, 0, 439, 444, 440, 443, 0, - 441, 446, 463, 444, 445, 443, 439, 440, 442, 440, - 441, 464, 0, 465, 443, 466, 446, 440, 468, 444, - 441, 446, 445, 444, 445, 443, 447, 448, 446, 463, - 448, 445, 469, 470, 473, 447, 474, 475, 464, 447, - 465, 476, 466, 446, 477, 468, 447, 448, 446, 445, + 436, 441, 439, 0, 435, 438, 0, 446, 440, 443, + 0, 446, 442, 436, 465, 440, 438, 439, 443, 442, + 444, 441, 439, 445, 440, 438, 448, 0, 447, 443, + 444, 446, 444, 445, 446, 440, 443, 447, 446, 442, + 444, 465, 448, 445, 0, 443, 448, 444, 447, 0, + 445, 450, 467, 448, 449, 447, 443, 444, 446, 444, + 445, 468, 0, 469, 447, 470, 450, 444, 472, 448, + 445, 450, 449, 448, 449, 447, 451, 452, 450, 467, + 452, 449, 473, 474, 477, 451, 478, 479, 468, 451, + 469, 480, 470, 450, 481, 472, 451, 452, 450, 449, - 481, 445, 482, 447, 448, 484, 486, 448, 487, 469, - 470, 473, 447, 474, 475, 488, 447, 489, 476, 490, - 491, 477, 494, 447, 448, 492, 498, 481, 500, 482, - 501, 502, 484, 486, 503, 487, 492, 505, 506, 507, - 508, 509, 488, 512, 489, 513, 490, 491, 514, 494, - 515, 516, 492, 498, 517, 500, 518, 501, 502, 520, - 521, 503, 522, 492, 505, 506, 507, 508, 509, 523, - 512, 526, 513, 527, 528, 514, 529, 515, 516, 530, - 531, 517, 532, 518, 533, 535, 520, 521, 537, 522, - 0, 0, 0, 541, 542, 0, 523, 539, 526, 544, + 485, 449, 486, 451, 452, 488, 490, 452, 491, 473, + 474, 477, 451, 478, 479, 492, 451, 493, 480, 494, + 495, 481, 498, 451, 452, 496, 502, 485, 504, 486, + 505, 506, 488, 490, 507, 491, 496, 509, 510, 511, + 512, 513, 492, 516, 493, 517, 494, 495, 518, 498, + 519, 520, 496, 502, 521, 504, 522, 505, 506, 524, + 525, 507, 526, 496, 509, 510, 511, 512, 513, 527, + 516, 530, 517, 531, 532, 518, 533, 519, 520, 534, + 535, 521, 536, 522, 537, 539, 524, 525, 541, 526, + 0, 0, 0, 545, 546, 0, 527, 543, 530, 548, - 527, 528, 0, 529, 0, 540, 530, 531, 545, 532, - 539, 533, 535, 541, 542, 537, 543, 539, 540, 544, - 541, 542, 547, 546, 539, 540, 544, 546, 545, 543, - 0, 548, 540, 631, 0, 545, 543, 539, 0, 548, - 541, 542, 547, 543, 539, 540, 544, 546, 549, 547, - 546, 548, 540, 551, 546, 545, 543, 550, 548, 552, - 631, 549, 633, 543, 0, 554, 548, 551, 549, 547, - 0, 634, 550, 551, 546, 549, 553, 550, 548, 552, - 551, 554, 555, 553, 550, 554, 552, 556, 549, 633, - 0, 556, 554, 557, 551, 549, 553, 555, 634, 550, + 531, 532, 0, 533, 0, 544, 534, 535, 549, 536, + 543, 537, 539, 545, 546, 541, 547, 543, 544, 548, + 545, 546, 551, 550, 543, 544, 548, 550, 549, 547, + 0, 552, 544, 635, 0, 549, 547, 543, 0, 552, + 545, 546, 551, 547, 543, 544, 548, 550, 553, 551, + 550, 552, 544, 555, 550, 549, 547, 554, 552, 556, + 635, 553, 637, 547, 0, 558, 552, 555, 553, 551, + 0, 638, 554, 555, 550, 553, 557, 554, 552, 556, + 555, 558, 559, 557, 554, 558, 556, 560, 553, 637, + 0, 560, 558, 561, 555, 553, 557, 559, 638, 554, - 551, 0, 555, 553, 550, 558, 552, 558, 554, 555, - 553, 556, 554, 557, 556, 559, 561, 562, 556, 559, - 557, 560, 0, 553, 555, 635, 636, 558, 560, 555, - 0, 565, 558, 0, 558, 559, 561, 562, 556, 563, - 557, 560, 559, 561, 562, 564, 559, 565, 560, 568, - 563, 565, 635, 636, 558, 560, 564, 567, 565, 563, - 566, 567, 559, 561, 562, 564, 563, 0, 560, 568, - 569, 570, 564, 637, 565, 566, 568, 563, 565, 573, - 566, 567, 0, 564, 567, 571, 563, 566, 567, 571, - 569, 570, 564, 572, 574, 575, 568, 569, 570, 573, + 555, 0, 559, 557, 554, 562, 556, 562, 558, 559, + 557, 560, 558, 561, 560, 563, 565, 566, 560, 563, + 561, 564, 0, 557, 559, 639, 640, 562, 564, 559, + 0, 569, 562, 0, 562, 563, 565, 566, 560, 567, + 561, 564, 563, 565, 566, 568, 563, 569, 564, 572, + 567, 569, 639, 640, 562, 564, 568, 571, 569, 567, + 570, 571, 563, 565, 566, 568, 567, 0, 564, 572, + 573, 574, 568, 641, 569, 570, 572, 567, 569, 577, + 570, 571, 0, 568, 571, 575, 567, 570, 571, 575, + 573, 574, 568, 576, 578, 579, 572, 573, 574, 577, - 637, 0, 566, 574, 572, 577, 573, 566, 567, 571, - 0, 638, 571, 572, 574, 575, 571, 569, 570, 576, - 572, 574, 575, 640, 578, 577, 573, 641, 579, 576, - 574, 572, 577, 583, 0, 0, 571, 578, 638, 576, - 572, 574, 575, 0, 578, 580, 576, 579, 579, 581, - 640, 578, 577, 583, 641, 579, 576, 582, 580, 582, - 583, 584, 581, 585, 578, 580, 576, 586, 584, 581, - 582, 578, 580, 587, 579, 579, 581, 582, 589, 0, - 583, 584, 0, 585, 582, 580, 582, 586, 584, 581, - 585, 588, 580, 587, 586, 584, 581, 582, 589, 591, + 641, 0, 570, 578, 576, 581, 577, 570, 571, 575, + 0, 642, 575, 576, 578, 579, 575, 573, 574, 580, + 576, 578, 579, 644, 582, 581, 577, 645, 583, 580, + 578, 576, 581, 587, 0, 0, 575, 582, 642, 580, + 576, 578, 579, 0, 582, 584, 580, 583, 583, 585, + 644, 582, 581, 587, 645, 583, 580, 586, 584, 586, + 587, 588, 585, 589, 582, 584, 580, 590, 588, 585, + 586, 582, 584, 591, 583, 583, 585, 586, 593, 0, + 587, 588, 0, 589, 586, 584, 586, 590, 588, 585, + 589, 592, 584, 591, 590, 588, 585, 586, 593, 595, - 587, 592, 590, 593, 582, 589, 588, 594, 584, 590, - 585, 588, 596, 0, 586, 592, 593, 0, 588, 591, - 587, 592, 590, 593, 0, 589, 591, 594, 592, 590, - 593, 597, 596, 588, 594, 595, 590, 595, 588, 596, - 598, 600, 592, 593, 597, 601, 591, 642, 592, 590, - 593, 597, 602, 598, 594, 599, 602, 595, 597, 596, - 598, 600, 595, 599, 595, 601, 0, 598, 600, 603, - 0, 597, 601, 603, 642, 599, 602, 604, 597, 602, - 598, 605, 599, 602, 595, 604, 0, 598, 600, 609, - 599, 606, 601, 603, 605, 644, 603, 604, 0, 607, + 591, 596, 594, 597, 586, 593, 592, 598, 588, 594, + 589, 592, 600, 0, 590, 596, 597, 0, 592, 595, + 591, 596, 594, 597, 0, 593, 595, 598, 596, 594, + 597, 601, 600, 592, 598, 599, 594, 599, 592, 600, + 602, 604, 596, 597, 601, 605, 595, 646, 596, 594, + 597, 601, 606, 602, 598, 603, 606, 599, 601, 600, + 602, 604, 599, 603, 599, 605, 0, 602, 604, 607, + 0, 601, 605, 607, 646, 603, 606, 608, 601, 606, + 602, 609, 603, 606, 599, 608, 0, 602, 604, 613, + 603, 610, 605, 607, 609, 648, 607, 608, 0, 611, - 603, 605, 599, 602, 604, 610, 606, 607, 605, 609, - 611, 606, 604, 608, 611, 608, 609, 645, 606, 607, - 603, 605, 644, 612, 604, 610, 607, 614, 605, 613, - 611, 615, 610, 606, 607, 608, 609, 611, 606, 613, - 608, 611, 608, 612, 645, 616, 607, 614, 0, 613, - 612, 615, 610, 617, 614, 617, 613, 611, 615, 616, - 0, 619, 608, 620, 618, 616, 613, 620, 0, 623, - 612, 0, 616, 618, 614, 617, 613, 619, 615, 624, - 617, 619, 617, 621, 618, 625, 616, 620, 619, 623, - 620, 618, 616, 622, 620, 622, 623, 626, 621, 624, + 607, 609, 603, 606, 608, 614, 610, 611, 609, 613, + 615, 610, 608, 612, 615, 612, 613, 649, 610, 611, + 607, 609, 648, 616, 608, 614, 611, 618, 609, 617, + 615, 619, 614, 610, 611, 612, 613, 615, 610, 617, + 612, 615, 612, 616, 649, 620, 611, 618, 0, 617, + 616, 619, 614, 621, 618, 621, 617, 615, 619, 620, + 0, 623, 612, 624, 622, 620, 617, 624, 0, 627, + 616, 0, 620, 622, 618, 621, 617, 623, 619, 628, + 621, 623, 621, 625, 622, 629, 620, 624, 623, 627, + 624, 622, 620, 626, 624, 626, 627, 630, 625, 628, - 618, 625, 617, 621, 619, 625, 624, 627, 619, 628, - 621, 618, 625, 622, 620, 646, 623, 626, 647, 648, - 622, 649, 622, 650, 626, 621, 624, 627, 625, 628, - 621, 651, 625, 652, 627, 654, 628, 655, 657, 660, - 622, 661, 646, 662, 626, 647, 648, 663, 649, 668, - 650, 669, 670, 673, 627, 674, 628, 675, 651, 676, - 652, 677, 654, 679, 655, 657, 660, 680, 661, 681, - 662, 682, 683, 684, 663, 685, 668, 686, 669, 670, - 673, 688, 674, 689, 675, 690, 676, 692, 677, 693, - 679, 695, 761, 696, 680, 0, 681, 698, 682, 683, + 622, 629, 621, 625, 623, 629, 628, 631, 623, 632, + 625, 622, 629, 626, 624, 650, 627, 630, 651, 652, + 626, 653, 626, 654, 630, 625, 628, 631, 629, 632, + 625, 655, 629, 656, 631, 658, 632, 659, 661, 664, + 626, 665, 650, 666, 630, 651, 652, 667, 653, 672, + 654, 673, 674, 677, 631, 678, 632, 679, 655, 680, + 656, 681, 658, 683, 659, 661, 664, 684, 665, 685, + 666, 686, 687, 688, 667, 689, 672, 690, 673, 674, + 677, 692, 678, 693, 679, 694, 680, 696, 681, 697, + 683, 699, 765, 700, 684, 0, 685, 702, 686, 687, - 684, 697, 685, 699, 686, 700, 701, 701, 688, 704, - 689, 695, 690, 696, 692, 763, 693, 698, 695, 761, - 696, 697, 697, 699, 698, 700, 702, 701, 697, 704, - 699, 703, 700, 701, 701, 702, 704, 705, 695, 0, - 696, 703, 763, 708, 698, 706, 702, 709, 697, 697, - 699, 703, 700, 702, 701, 706, 704, 705, 703, 707, - 710, 712, 702, 708, 705, 706, 707, 709, 703, 0, - 708, 713, 706, 702, 709, 710, 711, 0, 703, 707, - 710, 712, 706, 0, 705, 711, 707, 710, 712, 714, - 708, 713, 706, 707, 709, 715, 711, 716, 713, 719, + 688, 701, 689, 703, 690, 704, 705, 705, 692, 708, + 693, 699, 694, 700, 696, 767, 697, 702, 699, 765, + 700, 701, 701, 703, 702, 704, 706, 705, 701, 708, + 703, 707, 704, 705, 705, 706, 708, 709, 699, 0, + 700, 707, 767, 712, 702, 710, 706, 713, 701, 701, + 703, 707, 704, 706, 705, 710, 708, 709, 707, 711, + 714, 716, 706, 712, 709, 710, 711, 713, 707, 0, + 712, 717, 710, 706, 713, 714, 715, 0, 707, 711, + 714, 716, 710, 0, 709, 715, 711, 714, 716, 718, + 712, 717, 710, 711, 713, 719, 715, 720, 717, 723, - 0, 717, 710, 711, 714, 717, 707, 710, 712, 714, - 715, 716, 711, 718, 722, 715, 714, 716, 713, 719, - 718, 717, 715, 711, 716, 720, 719, 720, 717, 764, - 721, 714, 717, 718, 722, 724, 714, 715, 716, 725, - 718, 722, 715, 721, 716, 720, 719, 718, 717, 723, - 721, 727, 720, 726, 720, 724, 764, 721, 0, 725, - 718, 722, 724, 730, 723, 728, 725, 729, 726, 723, - 721, 727, 720, 726, 729, 0, 723, 721, 727, 728, - 726, 0, 724, 730, 731, 728, 725, 729, 732, 733, - 730, 723, 728, 734, 729, 726, 723, 734, 727, 735, + 0, 721, 714, 715, 718, 721, 711, 714, 716, 718, + 719, 720, 715, 722, 726, 719, 718, 720, 717, 723, + 722, 721, 719, 715, 720, 724, 723, 724, 721, 768, + 725, 718, 721, 722, 726, 728, 718, 719, 720, 729, + 722, 726, 719, 725, 720, 724, 723, 722, 721, 727, + 725, 731, 724, 730, 724, 728, 768, 725, 0, 729, + 722, 726, 728, 734, 727, 732, 729, 733, 730, 727, + 725, 731, 724, 730, 733, 0, 727, 725, 731, 732, + 730, 0, 728, 734, 735, 732, 729, 733, 736, 737, + 734, 727, 732, 738, 733, 730, 727, 738, 731, 739, - 726, 729, 735, 736, 731, 737, 728, 738, 732, 733, - 730, 731, 728, 739, 729, 732, 733, 734, 736, 735, - 734, 0, 742, 736, 734, 737, 735, 738, 740, 735, - 736, 731, 737, 739, 738, 732, 733, 744, 741, 743, - 739, 740, 742, 743, 734, 736, 735, 765, 740, 742, - 736, 741, 737, 766, 738, 740, 746, 744, 741, 743, - 739, 747, 747, 745, 744, 741, 743, 745, 740, 742, - 743, 746, 0, 748, 765, 740, 746, 748, 741, 749, - 766, 751, 747, 746, 744, 741, 743, 745, 747, 747, - 745, 752, 750, 749, 745, 752, 751, 748, 746, 749, + 730, 733, 739, 740, 735, 741, 732, 742, 736, 737, + 734, 735, 732, 743, 733, 736, 737, 738, 740, 739, + 738, 0, 746, 740, 738, 741, 739, 742, 744, 739, + 740, 735, 741, 743, 742, 736, 737, 748, 745, 747, + 743, 744, 746, 747, 738, 740, 739, 769, 744, 746, + 740, 745, 741, 770, 742, 744, 750, 748, 745, 747, + 743, 751, 751, 749, 748, 745, 747, 749, 744, 746, + 747, 750, 0, 752, 769, 744, 750, 752, 745, 753, + 770, 755, 751, 750, 748, 745, 747, 749, 751, 751, + 749, 756, 754, 753, 749, 756, 755, 752, 750, 753, - 748, 751, 768, 746, 748, 750, 749, 753, 751, 747, - 754, 756, 750, 757, 745, 752, 769, 0, 752, 750, - 749, 759, 752, 751, 748, 759, 749, 753, 751, 768, - 754, 756, 750, 757, 753, 755, 755, 754, 756, 750, - 757, 758, 752, 769, 760, 759, 772, 776, 759, 778, - 781, 784, 759, 785, 753, 758, 755, 754, 756, 787, - 757, 758, 755, 755, 760, 788, 790, 791, 758, 792, - 794, 760, 759, 772, 776, 795, 778, 781, 784, 798, - 785, 800, 758, 755, 801, 802, 787, 807, 758, 808, - 809, 760, 788, 790, 791, 810, 792, 794, 811, 812, + 752, 755, 772, 750, 752, 754, 753, 757, 755, 751, + 758, 760, 754, 761, 749, 756, 773, 0, 756, 754, + 753, 763, 756, 755, 752, 763, 753, 757, 755, 772, + 758, 760, 754, 761, 757, 759, 759, 758, 760, 754, + 761, 762, 756, 773, 764, 763, 776, 780, 763, 782, + 785, 788, 763, 789, 757, 762, 759, 758, 760, 791, + 761, 762, 759, 759, 764, 792, 794, 795, 762, 796, + 798, 764, 763, 776, 780, 799, 782, 785, 788, 802, + 789, 804, 762, 759, 805, 806, 791, 811, 762, 812, + 813, 764, 792, 794, 795, 814, 796, 798, 815, 816, - 813, 814, 795, 0, 810, 0, 798, 813, 800, 808, - 809, 801, 802, 812, 807, 810, 808, 809, 811, 812, - 813, 814, 810, 816, 817, 811, 812, 813, 814, 818, - 815, 810, 815, 819, 813, 819, 808, 809, 816, 0, - 812, 820, 810, 816, 817, 811, 812, 813, 814, 818, - 816, 817, 815, 821, 822, 819, 818, 815, 823, 815, - 819, 820, 819, 824, 826, 816, 825, 827, 820, 828, - 816, 817, 829, 821, 822, 825, 818, 830, 823, 815, - 821, 822, 819, 824, 826, 823, 825, 827, 820, 828, - 824, 826, 829, 825, 827, 831, 828, 830, 832, 829, + 817, 818, 799, 0, 814, 0, 802, 817, 804, 812, + 813, 805, 806, 816, 811, 814, 812, 813, 815, 816, + 817, 818, 814, 820, 821, 815, 816, 817, 818, 822, + 819, 814, 819, 823, 817, 823, 812, 813, 820, 0, + 816, 824, 814, 820, 821, 815, 816, 817, 818, 822, + 820, 821, 819, 825, 826, 823, 822, 819, 827, 819, + 823, 824, 823, 828, 830, 820, 829, 831, 824, 832, + 820, 821, 833, 825, 826, 829, 822, 834, 827, 819, + 825, 826, 823, 828, 830, 827, 829, 831, 824, 832, + 828, 830, 833, 829, 831, 835, 832, 834, 836, 833, - 821, 822, 825, 833, 830, 823, 836, 860, 831, 838, - 824, 826, 839, 825, 827, 831, 828, 835, 832, 829, - 834, 835, 831, 833, 830, 832, 836, 834, 862, 838, - 833, 837, 839, 836, 860, 831, 838, 840, 867, 839, - 834, 835, 831, 0, 835, 832, 837, 834, 835, 842, - 833, 837, 843, 836, 834, 862, 838, 840, 837, 839, - 841, 844, 841, 842, 840, 867, 846, 834, 835, 842, - 847, 848, 843, 837, 847, 848, 842, 0, 837, 843, - 850, 844, 841, 851, 840, 845, 846, 841, 844, 841, - 842, 849, 845, 846, 847, 848, 842, 847, 848, 843, + 825, 826, 829, 837, 834, 827, 840, 864, 835, 842, + 828, 830, 843, 829, 831, 835, 832, 839, 836, 833, + 838, 839, 835, 837, 834, 836, 840, 838, 866, 842, + 837, 841, 843, 840, 864, 835, 842, 844, 871, 843, + 838, 839, 835, 0, 839, 836, 841, 838, 839, 846, + 837, 841, 847, 840, 838, 866, 842, 844, 841, 843, + 845, 848, 845, 846, 844, 871, 850, 838, 839, 846, + 851, 852, 847, 841, 851, 852, 846, 0, 841, 847, + 854, 848, 845, 855, 844, 849, 850, 845, 848, 845, + 846, 853, 849, 850, 851, 852, 846, 851, 852, 847, - 850, 847, 848, 851, 852, 845, 849, 850, 844, 841, - 851, 849, 845, 846, 853, 869, 854, 870, 849, 845, - 873, 847, 848, 854, 852, 876, 877, 850, 878, 880, - 851, 852, 845, 849, 853, 0, 854, 881, 849, 882, - 883, 853, 869, 854, 870, 884, 0, 873, 886, 880, - 854, 852, 876, 877, 885, 878, 880, 881, 885, 882, - 883, 853, 887, 854, 881, 884, 882, 883, 886, 0, - 888, 889, 884, 890, 891, 886, 880, 887, 885, 0, - 0, 885, 887, 893, 881, 885, 882, 883, 905, 887, - 888, 889, 884, 890, 891, 886, 895, 888, 889, 894, + 854, 851, 852, 855, 856, 849, 853, 854, 848, 845, + 855, 853, 849, 850, 857, 873, 858, 874, 853, 849, + 877, 851, 852, 858, 856, 880, 881, 854, 882, 884, + 855, 856, 849, 853, 857, 0, 858, 885, 853, 886, + 887, 857, 873, 858, 874, 888, 0, 877, 890, 884, + 858, 856, 880, 881, 889, 882, 884, 885, 889, 886, + 887, 857, 891, 858, 885, 888, 886, 887, 890, 0, + 892, 893, 888, 894, 895, 890, 884, 891, 889, 0, + 0, 889, 891, 897, 885, 889, 886, 887, 909, 891, + 892, 893, 888, 894, 895, 890, 899, 892, 893, 898, - 890, 891, 896, 893, 887, 885, 892, 897, 892, 887, - 893, 899, 894, 0, 907, 905, 895, 888, 889, 894, - 890, 891, 896, 895, 900, 898, 894, 897, 892, 896, - 893, 899, 909, 892, 897, 892, 911, 901, 899, 894, - 898, 907, 903, 895, 900, 898, 894, 912, 902, 896, - 901, 900, 898, 904, 897, 892, 902, 901, 899, 909, - 0, 914, 903, 911, 901, 915, 0, 898, 902, 903, - 917, 900, 898, 904, 912, 902, 914, 901, 916, 0, - 904, 914, 919, 902, 901, 915, 918, 920, 914, 903, - 917, 922, 915, 916, 923, 902, 925, 917, 916, 918, + 894, 895, 900, 897, 891, 889, 896, 901, 896, 891, + 897, 903, 898, 0, 911, 909, 899, 892, 893, 898, + 894, 895, 900, 899, 904, 902, 898, 901, 896, 900, + 897, 903, 913, 896, 901, 896, 915, 905, 903, 898, + 902, 911, 907, 899, 904, 902, 898, 916, 906, 900, + 905, 904, 902, 908, 901, 896, 906, 905, 903, 913, + 0, 918, 907, 915, 905, 919, 0, 902, 906, 907, + 921, 904, 902, 908, 916, 906, 918, 905, 920, 0, + 908, 918, 923, 906, 905, 919, 922, 924, 918, 907, + 921, 926, 919, 920, 927, 906, 929, 921, 920, 922, - 904, 0, 919, 914, 921, 916, 918, 920, 914, 919, - 928, 922, 915, 918, 920, 921, 929, 917, 922, 931, - 916, 923, 0, 925, 921, 916, 918, 930, 932, 919, - 928, 921, 935, 918, 920, 0, 929, 928, 922, 931, - 936, 930, 921, 929, 0, 0, 931, 930, 932, 0, - 0, 921, 935, 0, 930, 932, 0, 928, 0, 935, - 936, 0, 0, 929, 0, 0, 931, 936, 930, 0, - 0, 0, 0, 0, 930, 932, 0, 0, 0, 935, - 0, 0, 0, 0, 0, 0, 0, 936, 938, 0, - 0, 938, 939, 0, 939, 939, 941, 0, 941, 941, + 908, 0, 923, 918, 925, 920, 922, 924, 918, 923, + 932, 926, 919, 922, 924, 925, 933, 921, 926, 935, + 920, 927, 0, 929, 925, 920, 922, 934, 936, 923, + 932, 925, 939, 922, 924, 0, 933, 932, 926, 935, + 940, 934, 925, 933, 0, 0, 935, 934, 936, 0, + 0, 925, 939, 0, 934, 936, 0, 932, 0, 939, + 940, 0, 0, 933, 0, 0, 935, 940, 934, 0, + 0, 0, 0, 0, 934, 936, 0, 0, 0, 939, + 0, 0, 0, 0, 0, 0, 0, 940, 942, 0, + 0, 942, 943, 0, 943, 943, 945, 0, 945, 945, - 942, 0, 942, 942, 943, 0, 943, 943, 944, 0, - 944, 944, 937, 937, 937, 937, 937, 937, 937, 937, - 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, - 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, - 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, - 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, - 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, - 937, 937, 937, 937, 937, 937, 937, 937, 937, 937 + 946, 0, 946, 946, 947, 0, 947, 947, 948, 0, + 948, 948, 941, 941, 941, 941, 941, 941, 941, 941, + 941, 941, 941, 941, 941, 941, 941, 941, 941, 941, + 941, 941, 941, 941, 941, 941, 941, 941, 941, 941, + 941, 941, 941, 941, 941, 941, 941, 941, 941, 941, + 941, 941, 941, 941, 941, 941, 941, 941, 941, 941, + 941, 941, 941, 941, 941, 941, 941, 941, 941, 941, + 941, 941, 941, 941, 941, 941, 941, 941, 941, 941 } ; /* The intent behind this definition is that it'll catch @@ -1596,7 +1612,7 @@ static yyconst flex_int16_t yy_chk[3781] = /*************************** ** Section 3: Rules ***************************/ -#line 1600 "flex_lexer.cpp" +#line 1616 "flex_lexer.cpp" #define INITIAL 0 #define COMMENT 1 @@ -1627,7 +1643,7 @@ struct yyguts_t YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */ char yy_hold_char; int yy_n_chars; - int yyleng_r; + yy_size_t yyleng_r; char *yy_c_buf_p; int yy_init; int yy_start; @@ -1684,7 +1700,7 @@ FILE *hsql_get_out (yyscan_t yyscanner ); void hsql_set_out (FILE * _out_str ,yyscan_t yyscanner ); - int hsql_get_leng (yyscan_t yyscanner ); +yy_size_t hsql_get_leng (yyscan_t yyscanner ); char *hsql_get_text (yyscan_t yyscanner ); @@ -1753,7 +1769,7 @@ static int input (yyscan_t yyscanner ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) +#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -1777,7 +1793,7 @@ static int input (yyscan_t yyscanner ); else \ { \ errno=0; \ - while ( (result = (int) fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ + while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ { \ if( errno != EINTR) \ { \ @@ -1883,7 +1899,7 @@ YY_DECL #line 51 "flex_lexer.l" -#line 1887 "flex_lexer.cpp" +#line 1903 "flex_lexer.cpp" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -1910,13 +1926,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 938 ) + if ( yy_current_state >= 942 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_current_state != 937 ); + while ( yy_current_state != 941 ); yy_cp = yyg->yy_last_accepting_cpos; yy_current_state = yyg->yy_last_accepting_state; @@ -2548,91 +2564,97 @@ YY_RULE_SETUP #line 176 "flex_lexer.l" TOKEN(TO) YY_BREAK +/* Allow =/== see https://sqlite.org/lang_expr.html#collateop */ case 123: YY_RULE_SETUP -#line 178 "flex_lexer.l" -TOKEN(NOTEQUALS) +#line 179 "flex_lexer.l" +TOKEN(EQUALS) YY_BREAK case 124: YY_RULE_SETUP -#line 179 "flex_lexer.l" +#line 180 "flex_lexer.l" TOKEN(NOTEQUALS) YY_BREAK case 125: YY_RULE_SETUP -#line 180 "flex_lexer.l" -TOKEN(LESSEQ) +#line 181 "flex_lexer.l" +TOKEN(NOTEQUALS) YY_BREAK case 126: YY_RULE_SETUP -#line 181 "flex_lexer.l" -TOKEN(GREATEREQ) +#line 182 "flex_lexer.l" +TOKEN(LESSEQ) YY_BREAK case 127: YY_RULE_SETUP -#line 182 "flex_lexer.l" -TOKEN(CONCAT) +#line 183 "flex_lexer.l" +TOKEN(GREATEREQ) YY_BREAK case 128: YY_RULE_SETUP #line 184 "flex_lexer.l" -{ return yytext[0]; } +TOKEN(CONCAT) YY_BREAK case 129: -#line 187 "flex_lexer.l" -case 130: YY_RULE_SETUP -#line 187 "flex_lexer.l" +#line 186 "flex_lexer.l" +{ return yytext[0]; } + YY_BREAK +case 130: +#line 189 "flex_lexer.l" +case 131: +YY_RULE_SETUP +#line 189 "flex_lexer.l" { yylval->fval = atof(yytext); return SQL_FLOATVAL; } YY_BREAK -case 131: +case 132: YY_RULE_SETUP -#line 192 "flex_lexer.l" +#line 194 "flex_lexer.l" { yylval->ival = atol(yytext); return SQL_INTVAL; } YY_BREAK -case 132: +case 133: YY_RULE_SETUP -#line 197 "flex_lexer.l" +#line 199 "flex_lexer.l" { // Crop the leading and trailing quote char yylval->sval = hsql::substr(yytext, 1, strlen(yytext)-1); return SQL_IDENTIFIER; } YY_BREAK -case 133: +case 134: YY_RULE_SETUP -#line 203 "flex_lexer.l" +#line 205 "flex_lexer.l" { yylval->sval = strdup(yytext); return SQL_IDENTIFIER; } YY_BREAK -case 134: +case 135: YY_RULE_SETUP -#line 208 "flex_lexer.l" +#line 210 "flex_lexer.l" { // Crop the leading and trailing quote char yylval->sval = hsql::substr(yytext, 1, strlen(yytext)-1); return SQL_STRING; } YY_BREAK -case 135: -YY_RULE_SETUP -#line 214 "flex_lexer.l" -{ fprintf(stderr, "[SQL-Lexer-Error] Unknown Character: %c\n", yytext[0]); return 0; } - YY_BREAK case 136: YY_RULE_SETUP -#line 217 "flex_lexer.l" +#line 216 "flex_lexer.l" +{ fprintf(stderr, "[SQL-Lexer-Error] Unknown Character: %c\n", yytext[0]); return 0; } + YY_BREAK +case 137: +YY_RULE_SETUP +#line 219 "flex_lexer.l" ECHO; YY_BREAK -#line 2636 "flex_lexer.cpp" +#line 2658 "flex_lexer.cpp" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(COMMENT): yyterminate(); @@ -2780,7 +2802,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; char *source = yyg->yytext_ptr; - int number_to_move, i; + yy_size_t number_to_move, i; int ret_val; if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] ) @@ -2809,7 +2831,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr - 1); + number_to_move = (yy_size_t) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -2822,7 +2844,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) else { - int num_to_read = + yy_size_t num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) @@ -2836,7 +2858,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) if ( b->yy_is_our_buffer ) { - int new_size = b->yy_buf_size * 2; + yy_size_t new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -2849,7 +2871,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) } else /* Can't grow it, we don't own it. */ - b->yy_ch_buf = NULL; + b->yy_ch_buf = 0; if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( @@ -2891,7 +2913,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) else ret_val = EOB_ACT_CONTINUE_SCAN; - if ((yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + if ((int) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1); YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) hsql_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner ); @@ -2929,10 +2951,10 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 938 ) + if ( yy_current_state >= 942 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; } return yy_current_state; @@ -2958,11 +2980,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 938 ) + if ( yy_current_state >= 942 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; - yy_is_jam = (yy_current_state == 937); + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_is_jam = (yy_current_state == 941); (void)yyg; return yy_is_jam ? 0 : yy_current_state; @@ -2997,7 +3019,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) else { /* need more input */ - int offset = yyg->yy_c_buf_p - yyg->yytext_ptr; + yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr; ++yyg->yy_c_buf_p; switch ( yy_get_next_buffer( yyscanner ) ) @@ -3021,7 +3043,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) case EOB_ACT_END_OF_FILE: { if ( hsql_wrap(yyscanner ) ) - return 0; + return EOF; if ( ! yyg->yy_did_buffer_switch_on_eof ) YY_NEW_FILE; @@ -3277,7 +3299,7 @@ void hsql_pop_buffer_state (yyscan_t yyscanner) */ static void hsql_ensure_buffer_stack (yyscan_t yyscanner) { - int num_to_alloc; + yy_size_t num_to_alloc; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; if (!yyg->yy_buffer_stack) { @@ -3286,15 +3308,15 @@ static void hsql_ensure_buffer_stack (yyscan_t yyscanner) * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ - num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ + num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ yyg->yy_buffer_stack = (struct yy_buffer_state**)hsql_alloc (num_to_alloc * sizeof(struct yy_buffer_state*) , yyscanner); if ( ! yyg->yy_buffer_stack ) YY_FATAL_ERROR( "out of dynamic memory in hsql_ensure_buffer_stack()" ); - + memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*)); - + yyg->yy_buffer_stack_max = num_to_alloc; yyg->yy_buffer_stack_top = 0; return; @@ -3323,7 +3345,7 @@ static void hsql_ensure_buffer_stack (yyscan_t yyscanner) * @param base the character buffer * @param size the size in bytes of the character buffer * @param yyscanner The scanner object. - * @return the newly allocated buffer state object. + * @return the newly allocated buffer state object. */ YY_BUFFER_STATE hsql__scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner) { @@ -3333,7 +3355,7 @@ YY_BUFFER_STATE hsql__scan_buffer (char * base, yy_size_t size , yyscan_t yysc base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ - return NULL; + return 0; b = (YY_BUFFER_STATE) hsql_alloc(sizeof( struct yy_buffer_state ) ,yyscanner ); if ( ! b ) @@ -3342,7 +3364,7 @@ YY_BUFFER_STATE hsql__scan_buffer (char * base, yy_size_t size , yyscan_t yysc b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; - b->yy_input_file = NULL; + b->yy_input_file = 0; b->yy_n_chars = b->yy_buf_size; b->yy_is_interactive = 0; b->yy_at_bol = 1; @@ -3365,7 +3387,7 @@ YY_BUFFER_STATE hsql__scan_buffer (char * base, yy_size_t size , yyscan_t yysc YY_BUFFER_STATE hsql__scan_string (yyconst char * yystr , yyscan_t yyscanner) { - return hsql__scan_bytes(yystr,(int) strlen(yystr) ,yyscanner); + return hsql__scan_bytes(yystr,strlen(yystr) ,yyscanner); } /** Setup the input buffer state to scan the given bytes. The next call to hsql_lex() will @@ -3375,15 +3397,15 @@ YY_BUFFER_STATE hsql__scan_string (yyconst char * yystr , yyscan_t yyscanner) * @param yyscanner The scanner object. * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE hsql__scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner) +YY_BUFFER_STATE hsql__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner) { YY_BUFFER_STATE b; char *buf; yy_size_t n; - int i; + yy_size_t i; /* Get memory for full buffer, including space for trailing EOB's. */ - n = (yy_size_t) (_yybytes_len + 2); + n = _yybytes_len + 2; buf = (char *) hsql_alloc(n ,yyscanner ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in hsql__scan_bytes()" ); @@ -3409,7 +3431,7 @@ YY_BUFFER_STATE hsql__scan_bytes (yyconst char * yybytes, int _yybytes_len , y #define YY_EXIT_FAILURE 2 #endif -static void yynoreturn yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) +static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; (void)yyg; @@ -3451,7 +3473,7 @@ YY_EXTRA_TYPE hsql_get_extra (yyscan_t yyscanner) int hsql_get_lineno (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - + if (! YY_CURRENT_BUFFER) return 0; @@ -3464,7 +3486,7 @@ int hsql_get_lineno (yyscan_t yyscanner) int hsql_get_column (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - + if (! YY_CURRENT_BUFFER) return 0; @@ -3492,7 +3514,7 @@ FILE *hsql_get_out (yyscan_t yyscanner) /** Get the length of the current token. * @param yyscanner The scanner object. */ -int hsql_get_leng (yyscan_t yyscanner) +yy_size_t hsql_get_leng (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; return yyleng; @@ -3651,20 +3673,20 @@ int hsql_lex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals ) errno = EINVAL; return 1; } - + *ptr_yy_globals = (yyscan_t) hsql_alloc ( sizeof( struct yyguts_t ), &dummy_yyguts ); - + if (*ptr_yy_globals == NULL){ errno = ENOMEM; return 1; } - + /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */ memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t)); - + hsql_set_extra (yy_user_defined, *ptr_yy_globals); - + return yy_init_globals ( *ptr_yy_globals ); } @@ -3675,10 +3697,10 @@ static int yy_init_globals (yyscan_t yyscanner) * This function is called from hsql_lex_destroy(), so don't allocate here. */ - yyg->yy_buffer_stack = NULL; + yyg->yy_buffer_stack = 0; yyg->yy_buffer_stack_top = 0; yyg->yy_buffer_stack_max = 0; - yyg->yy_c_buf_p = NULL; + yyg->yy_c_buf_p = (char *) 0; yyg->yy_init = 0; yyg->yy_start = 0; @@ -3691,8 +3713,8 @@ static int yy_init_globals (yyscan_t yyscanner) yyin = stdin; yyout = stdout; #else - yyin = NULL; - yyout = NULL; + yyin = (FILE *) 0; + yyout = (FILE *) 0; #endif /* For future reference: Set errno on error, since we are called by @@ -3762,7 +3784,7 @@ void *hsql_alloc (yy_size_t size , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; (void)yyg; - return malloc(size); + return (void *) malloc( size ); } void *hsql_realloc (void * ptr, yy_size_t size , yyscan_t yyscanner) @@ -3777,7 +3799,7 @@ void *hsql_realloc (void * ptr, yy_size_t size , yyscan_t yyscanner) * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ - return realloc(ptr, size); + return (void *) realloc( (char *) ptr, size ); } void hsql_free (void * ptr , yyscan_t yyscanner) @@ -3789,7 +3811,7 @@ void hsql_free (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 217 "flex_lexer.l" +#line 219 "flex_lexer.l" /*************************** diff --git a/src/parser/flex_lexer.h b/src/parser/flex_lexer.h index cedea38..ce06407 100644 --- a/src/parser/flex_lexer.h +++ b/src/parser/flex_lexer.h @@ -13,7 +13,7 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 6 -#define YY_FLEX_SUBMINOR_VERSION 1 +#define YY_FLEX_SUBMINOR_VERSION 0 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -92,13 +92,25 @@ typedef unsigned int flex_uint32_t; #endif /* ! FLEXINT_H */ -/* TODO: this is always defined, so inline it */ -#define yyconst const +#ifdef __cplusplus -#if defined(__GNUC__) && __GNUC__ >= 3 -#define yynoreturn __attribute__((__noreturn__)) +/* The "const" storage-class-modifier is valid. */ +#define YY_USE_CONST + +#else /* ! __cplusplus */ + +/* C99 requires __STDC__ to be defined as 1. */ +#if defined (__STDC__) + +#define YY_USE_CONST + +#endif /* defined (__STDC__) */ +#endif /* ! __cplusplus */ + +#ifdef YY_USE_CONST +#define yyconst const #else -#define yynoreturn +#define yyconst #endif /* An opaque pointer. */ @@ -153,7 +165,7 @@ struct yy_buffer_state /* Size of input buffer in bytes, not including room for EOB * characters. */ - int yy_buf_size; + yy_size_t yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. @@ -181,7 +193,7 @@ struct yy_buffer_state int yy_bs_lineno; /**< The line count. */ int yy_bs_column; /**< The column count. */ - + /* Whether to try to fill the input buffer when we reach the * end of it. */ @@ -202,7 +214,7 @@ void hsql_pop_buffer_state (yyscan_t yyscanner ); YY_BUFFER_STATE hsql__scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); YY_BUFFER_STATE hsql__scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); -YY_BUFFER_STATE hsql__scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner ); +YY_BUFFER_STATE hsql__scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner ); void *hsql_alloc (yy_size_t ,yyscan_t yyscanner ); void *hsql_realloc (void *,yy_size_t ,yyscan_t yyscanner ); @@ -258,7 +270,7 @@ FILE *hsql_get_out (yyscan_t yyscanner ); void hsql_set_out (FILE * _out_str ,yyscan_t yyscanner ); - int hsql_get_leng (yyscan_t yyscanner ); +yy_size_t hsql_get_leng (yyscan_t yyscanner ); char *hsql_get_text (yyscan_t yyscanner ); @@ -344,9 +356,9 @@ extern int hsql_lex \ #undef YY_DECL #endif -#line 217 "flex_lexer.l" +#line 219 "flex_lexer.l" -#line 351 "flex_lexer.h" +#line 363 "flex_lexer.h" #undef hsql_IN_HEADER #endif /* hsql_HEADER_H */