diff --git a/src/parser/bison_parser.cpp b/src/parser/bison_parser.cpp index 539b436..4ff2751 100644 --- a/src/parser/bison_parser.cpp +++ b/src/parser/bison_parser.cpp @@ -204,119 +204,120 @@ extern int hsql_debug; SQL_SPATIAL = 284, SQL_VARCHAR = 285, SQL_VIRTUAL = 286, - SQL_BEFORE = 287, - SQL_COLUMN = 288, - SQL_CREATE = 289, - SQL_DELETE = 290, - SQL_DIRECT = 291, - SQL_DOUBLE = 292, - SQL_ESCAPE = 293, - SQL_EXCEPT = 294, - SQL_EXISTS = 295, - SQL_EXTRACT = 296, - SQL_GLOBAL = 297, - SQL_HAVING = 298, - SQL_IMPORT = 299, - SQL_INSERT = 300, - SQL_ISNULL = 301, - SQL_OFFSET = 302, - SQL_RENAME = 303, - SQL_SCHEMA = 304, - SQL_SELECT = 305, - SQL_SORTED = 306, - SQL_TABLES = 307, - SQL_UNIQUE = 308, - SQL_UNLOAD = 309, - SQL_UPDATE = 310, - SQL_VALUES = 311, - SQL_AFTER = 312, - SQL_ALTER = 313, - SQL_CROSS = 314, - SQL_DELTA = 315, - SQL_FLOAT = 316, - SQL_GROUP = 317, - SQL_INDEX = 318, - SQL_INNER = 319, - SQL_LIMIT = 320, - SQL_LOCAL = 321, - SQL_MERGE = 322, - SQL_MINUS = 323, - SQL_ORDER = 324, - SQL_OUTER = 325, - SQL_RIGHT = 326, - SQL_TABLE = 327, - SQL_UNION = 328, - SQL_USING = 329, - SQL_WHERE = 330, - SQL_CALL = 331, - SQL_CASE = 332, - SQL_CHAR = 333, - SQL_DATE = 334, - SQL_DESC = 335, - SQL_DROP = 336, - SQL_ELSE = 337, - SQL_FILE = 338, - SQL_FROM = 339, - SQL_FULL = 340, - SQL_HASH = 341, - SQL_HINT = 342, - SQL_INTO = 343, - SQL_JOIN = 344, - SQL_LEFT = 345, - SQL_LIKE = 346, - SQL_LOAD = 347, - SQL_LONG = 348, - SQL_NULL = 349, - SQL_PLAN = 350, - SQL_SHOW = 351, - SQL_TEXT = 352, - SQL_THEN = 353, - SQL_TIME = 354, - SQL_VIEW = 355, - SQL_WHEN = 356, - SQL_WITH = 357, - SQL_ADD = 358, - SQL_ALL = 359, - SQL_AND = 360, - SQL_ASC = 361, - SQL_CSV = 362, - SQL_END = 363, - SQL_FOR = 364, - SQL_INT = 365, - SQL_KEY = 366, - SQL_NOT = 367, - SQL_OFF = 368, - SQL_SET = 369, - SQL_TBL = 370, - SQL_TOP = 371, - SQL_AS = 372, - SQL_BY = 373, - SQL_IF = 374, - SQL_IN = 375, - SQL_IS = 376, - SQL_OF = 377, - SQL_ON = 378, - SQL_OR = 379, - SQL_TO = 380, - SQL_ARRAY = 381, - SQL_CONCAT = 382, - SQL_ILIKE = 383, - SQL_SECOND = 384, - SQL_MINUTE = 385, - SQL_HOUR = 386, - SQL_DAY = 387, - SQL_MONTH = 388, - SQL_YEAR = 389, - SQL_TRUE = 390, - SQL_FALSE = 391, - SQL_EQUALS = 392, - SQL_NOTEQUALS = 393, - SQL_LESS = 394, - SQL_GREATER = 395, - SQL_LESSEQ = 396, - SQL_GREATEREQ = 397, - SQL_NOTNULL = 398, - SQL_UMINUS = 399 + SQL_DESCRIBE = 287, + SQL_BEFORE = 288, + SQL_COLUMN = 289, + SQL_CREATE = 290, + SQL_DELETE = 291, + SQL_DIRECT = 292, + SQL_DOUBLE = 293, + SQL_ESCAPE = 294, + SQL_EXCEPT = 295, + SQL_EXISTS = 296, + SQL_EXTRACT = 297, + SQL_GLOBAL = 298, + SQL_HAVING = 299, + SQL_IMPORT = 300, + SQL_INSERT = 301, + SQL_ISNULL = 302, + SQL_OFFSET = 303, + SQL_RENAME = 304, + SQL_SCHEMA = 305, + SQL_SELECT = 306, + SQL_SORTED = 307, + SQL_TABLES = 308, + SQL_UNIQUE = 309, + SQL_UNLOAD = 310, + SQL_UPDATE = 311, + SQL_VALUES = 312, + SQL_AFTER = 313, + SQL_ALTER = 314, + SQL_CROSS = 315, + SQL_DELTA = 316, + SQL_FLOAT = 317, + SQL_GROUP = 318, + SQL_INDEX = 319, + SQL_INNER = 320, + SQL_LIMIT = 321, + SQL_LOCAL = 322, + SQL_MERGE = 323, + SQL_MINUS = 324, + SQL_ORDER = 325, + SQL_OUTER = 326, + SQL_RIGHT = 327, + SQL_TABLE = 328, + SQL_UNION = 329, + SQL_USING = 330, + SQL_WHERE = 331, + SQL_CALL = 332, + SQL_CASE = 333, + SQL_CHAR = 334, + SQL_DATE = 335, + SQL_DESC = 336, + SQL_DROP = 337, + SQL_ELSE = 338, + SQL_FILE = 339, + SQL_FROM = 340, + SQL_FULL = 341, + SQL_HASH = 342, + SQL_HINT = 343, + SQL_INTO = 344, + SQL_JOIN = 345, + SQL_LEFT = 346, + SQL_LIKE = 347, + SQL_LOAD = 348, + SQL_LONG = 349, + SQL_NULL = 350, + SQL_PLAN = 351, + SQL_SHOW = 352, + SQL_TEXT = 353, + SQL_THEN = 354, + SQL_TIME = 355, + SQL_VIEW = 356, + SQL_WHEN = 357, + SQL_WITH = 358, + SQL_ADD = 359, + SQL_ALL = 360, + SQL_AND = 361, + SQL_ASC = 362, + SQL_CSV = 363, + SQL_END = 364, + SQL_FOR = 365, + SQL_INT = 366, + SQL_KEY = 367, + SQL_NOT = 368, + SQL_OFF = 369, + SQL_SET = 370, + SQL_TBL = 371, + SQL_TOP = 372, + SQL_AS = 373, + SQL_BY = 374, + SQL_IF = 375, + SQL_IN = 376, + SQL_IS = 377, + SQL_OF = 378, + SQL_ON = 379, + SQL_OR = 380, + SQL_TO = 381, + SQL_ARRAY = 382, + SQL_CONCAT = 383, + SQL_ILIKE = 384, + SQL_SECOND = 385, + SQL_MINUTE = 386, + SQL_HOUR = 387, + SQL_DAY = 388, + SQL_MONTH = 389, + SQL_YEAR = 390, + SQL_TRUE = 391, + SQL_FALSE = 392, + SQL_EQUALS = 393, + SQL_NOTEQUALS = 394, + SQL_LESS = 395, + SQL_GREATER = 396, + SQL_LESSEQ = 397, + SQL_GREATEREQ = 398, + SQL_NOTNULL = 399, + SQL_UMINUS = 400 }; #endif @@ -369,7 +370,7 @@ union HSQL_STYPE std::vector* order_vec; std::vector* with_description_vec; -#line 373 "bison_parser.cpp" /* yacc.c:352 */ +#line 374 "bison_parser.cpp" /* yacc.c:352 */ }; typedef union HSQL_STYPE HSQL_STYPE; @@ -630,21 +631,21 @@ union yyalloc #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 49 +#define YYFINAL 51 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 729 +#define YYLAST 762 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 162 +#define YYNTOKENS 163 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 100 /* YYNRULES -- Number of rules. */ -#define YYNRULES 244 +#define YYNRULES 245 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 440 +#define YYNSTATES 442 #define YYUNDEFTOK 2 -#define YYMAXUTOK 399 +#define YYMAXUTOK 400 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM as returned by yylex, with out-of-bounds checking. */ @@ -658,13 +659,13 @@ static const yytype_uint8 yytranslate[] = 0, 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, 151, 2, 2, - 156, 157, 149, 147, 160, 148, 158, 150, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 159, - 140, 137, 141, 161, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 152, 2, 2, + 157, 158, 150, 148, 161, 149, 159, 151, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 160, + 141, 138, 142, 162, 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, 154, 2, 155, 152, 2, 2, 2, 2, 2, + 2, 155, 2, 156, 153, 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, @@ -694,7 +695,8 @@ static const yytype_uint8 yytranslate[] = 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 138, 139, 142, 143, 144, 145, 146, 153 + 135, 136, 137, 139, 140, 143, 144, 145, 146, 147, + 154 }; #if HSQL_DEBUG @@ -704,28 +706,28 @@ static const yytype_uint16 yyrline[] = 0, 258, 258, 279, 285, 294, 298, 302, 309, 310, 311, 312, 313, 314, 315, 316, 317, 326, 327, 332, 333, 337, 341, 353, 360, 363, 367, 379, 388, 392, - 402, 405, 419, 426, 433, 440, 451, 452, 456, 457, - 461, 467, 468, 469, 470, 471, 472, 473, 474, 478, - 479, 480, 490, 496, 502, 510, 511, 520, 529, 542, - 549, 560, 561, 571, 580, 581, 585, 597, 601, 605, - 623, 624, 628, 629, 633, 643, 660, 664, 665, 666, - 670, 671, 675, 687, 688, 692, 696, 697, 700, 705, - 706, 710, 715, 719, 720, 723, 724, 728, 729, 733, - 737, 738, 739, 745, 746, 750, 751, 752, 753, 754, - 755, 762, 763, 767, 768, 772, 773, 777, 787, 788, - 789, 790, 791, 795, 796, 797, 798, 799, 800, 801, - 802, 803, 804, 808, 809, 813, 814, 815, 816, 817, - 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, - 831, 835, 836, 840, 841, 842, 843, 849, 850, 851, - 852, 856, 857, 861, 862, 866, 867, 868, 869, 870, - 871, 872, 876, 877, 881, 885, 886, 887, 888, 889, - 890, 893, 897, 901, 905, 906, 907, 908, 912, 913, - 914, 915, 916, 920, 924, 925, 929, 930, 934, 938, - 942, 954, 955, 965, 966, 970, 971, 980, 981, 986, - 997, 1006, 1007, 1012, 1013, 1018, 1019, 1023, 1024, 1029, - 1030, 1038, 1039, 1043, 1047, 1051, 1058, 1071, 1079, 1089, - 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, - 1122, 1131, 1132, 1137, 1138 + 402, 405, 410, 424, 431, 438, 445, 456, 457, 461, + 462, 466, 472, 473, 474, 475, 476, 477, 478, 479, + 483, 484, 485, 495, 501, 507, 515, 516, 525, 534, + 547, 554, 565, 566, 576, 585, 586, 590, 602, 606, + 610, 628, 629, 633, 634, 638, 648, 665, 669, 670, + 671, 675, 676, 680, 692, 693, 697, 701, 702, 705, + 710, 711, 715, 720, 724, 725, 728, 729, 733, 734, + 738, 742, 743, 744, 750, 751, 755, 756, 757, 758, + 759, 760, 767, 768, 772, 773, 777, 778, 782, 792, + 793, 794, 795, 796, 800, 801, 802, 803, 804, 805, + 806, 807, 808, 809, 813, 814, 818, 819, 820, 821, + 822, 826, 827, 828, 829, 830, 831, 832, 833, 834, + 835, 836, 840, 841, 845, 846, 847, 848, 854, 855, + 856, 857, 861, 862, 866, 867, 871, 872, 873, 874, + 875, 876, 877, 881, 882, 886, 890, 891, 892, 893, + 894, 895, 898, 902, 906, 910, 911, 912, 913, 917, + 918, 919, 920, 921, 925, 929, 930, 934, 935, 939, + 943, 947, 959, 960, 970, 971, 975, 976, 985, 986, + 991, 1002, 1011, 1012, 1017, 1018, 1023, 1024, 1028, 1029, + 1034, 1035, 1043, 1044, 1048, 1052, 1056, 1063, 1076, 1084, + 1094, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, + 1122, 1127, 1136, 1137, 1142, 1143 }; #endif @@ -739,23 +741,23 @@ static const char *const yytname[] = "TIMESTAMP", "DISTINCT", "NVARCHAR", "RESTRICT", "TRUNCATE", "ANALYZE", "BETWEEN", "CASCADE", "COLUMNS", "CONTROL", "DEFAULT", "EXECUTE", "EXPLAIN", "INTEGER", "NATURAL", "PREPARE", "PRIMARY", "SCHEMAS", - "SPATIAL", "VARCHAR", "VIRTUAL", "BEFORE", "COLUMN", "CREATE", "DELETE", - "DIRECT", "DOUBLE", "ESCAPE", "EXCEPT", "EXISTS", "EXTRACT", "GLOBAL", - "HAVING", "IMPORT", "INSERT", "ISNULL", "OFFSET", "RENAME", "SCHEMA", - "SELECT", "SORTED", "TABLES", "UNIQUE", "UNLOAD", "UPDATE", "VALUES", - "AFTER", "ALTER", "CROSS", "DELTA", "FLOAT", "GROUP", "INDEX", "INNER", - "LIMIT", "LOCAL", "MERGE", "MINUS", "ORDER", "OUTER", "RIGHT", "TABLE", - "UNION", "USING", "WHERE", "CALL", "CASE", "CHAR", "DATE", "DESC", - "DROP", "ELSE", "FILE", "FROM", "FULL", "HASH", "HINT", "INTO", "JOIN", - "LEFT", "LIKE", "LOAD", "LONG", "NULL", "PLAN", "SHOW", "TEXT", "THEN", - "TIME", "VIEW", "WHEN", "WITH", "ADD", "ALL", "AND", "ASC", "CSV", "END", - "FOR", "INT", "KEY", "NOT", "OFF", "SET", "TBL", "TOP", "AS", "BY", "IF", - "IN", "IS", "OF", "ON", "OR", "TO", "ARRAY", "CONCAT", "ILIKE", "SECOND", - "MINUTE", "HOUR", "DAY", "MONTH", "YEAR", "TRUE", "FALSE", "'='", - "EQUALS", "NOTEQUALS", "'<'", "'>'", "LESS", "GREATER", "LESSEQ", - "GREATEREQ", "NOTNULL", "'+'", "'-'", "'*'", "'/'", "'%'", "'^'", - "UMINUS", "'['", "']'", "'('", "')'", "'.'", "';'", "','", "'?'", - "$accept", "input", "statement_list", "statement", + "SPATIAL", "VARCHAR", "VIRTUAL", "DESCRIBE", "BEFORE", "COLUMN", + "CREATE", "DELETE", "DIRECT", "DOUBLE", "ESCAPE", "EXCEPT", "EXISTS", + "EXTRACT", "GLOBAL", "HAVING", "IMPORT", "INSERT", "ISNULL", "OFFSET", + "RENAME", "SCHEMA", "SELECT", "SORTED", "TABLES", "UNIQUE", "UNLOAD", + "UPDATE", "VALUES", "AFTER", "ALTER", "CROSS", "DELTA", "FLOAT", "GROUP", + "INDEX", "INNER", "LIMIT", "LOCAL", "MERGE", "MINUS", "ORDER", "OUTER", + "RIGHT", "TABLE", "UNION", "USING", "WHERE", "CALL", "CASE", "CHAR", + "DATE", "DESC", "DROP", "ELSE", "FILE", "FROM", "FULL", "HASH", "HINT", + "INTO", "JOIN", "LEFT", "LIKE", "LOAD", "LONG", "NULL", "PLAN", "SHOW", + "TEXT", "THEN", "TIME", "VIEW", "WHEN", "WITH", "ADD", "ALL", "AND", + "ASC", "CSV", "END", "FOR", "INT", "KEY", "NOT", "OFF", "SET", "TBL", + "TOP", "AS", "BY", "IF", "IN", "IS", "OF", "ON", "OR", "TO", "ARRAY", + "CONCAT", "ILIKE", "SECOND", "MINUTE", "HOUR", "DAY", "MONTH", "YEAR", + "TRUE", "FALSE", "'='", "EQUALS", "NOTEQUALS", "'<'", "'>'", "LESS", + "GREATER", "LESSEQ", "GREATEREQ", "NOTNULL", "'+'", "'-'", "'*'", "'/'", + "'%'", "'^'", "UMINUS", "'['", "']'", "'('", "')'", "'.'", "';'", "','", + "'?'", "$accept", "input", "statement_list", "statement", "preparable_statement", "opt_hints", "hint_list", "hint", "prepare_statement", "prepare_target_query", "execute_statement", "import_statement", "import_file_type", "file_path", "show_statement", @@ -803,71 +805,72 @@ static const yytype_uint16 yytoknum[] = 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 61, 392, 393, - 60, 62, 394, 395, 396, 397, 398, 43, 45, 42, - 47, 37, 94, 399, 91, 93, 40, 41, 46, 59, - 44, 63 + 385, 386, 387, 388, 389, 390, 391, 392, 61, 393, + 394, 60, 62, 395, 396, 397, 398, 399, 43, 45, + 42, 47, 37, 94, 400, 91, 93, 40, 41, 46, + 59, 44, 63 }; # endif -#define YYPACT_NINF -275 +#define YYPACT_NINF -330 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-275))) + (!!((Yystate) == (-330))) -#define YYTABLE_NINF -242 +#define YYTABLE_NINF -243 #define yytable_value_is_error(Yytable_value) \ - (!!((Yytable_value) == (-242))) + (!!((Yytable_value) == (-243))) /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const yytype_int16 yypact[] = { - 627, 7, 61, 108, 125, -38, 49, 78, 28, 61, - 40, 3, 161, 179, -55, -275, 88, 88, -275, -275, - -275, -275, -275, -275, -275, -275, -275, -275, -35, -275, - 189, 48, -275, 42, 123, 110, 110, 61, 132, 61, - 147, -275, 151, 151, 61, -275, 152, 65, -275, -275, - 610, -275, 197, -275, -275, 170, -35, 113, -275, 62, - -275, 285, 12, 287, 180, 61, 61, 219, -275, 212, - 140, 295, 259, 61, 61, -275, 144, 161, -275, 145, - 296, 291, 148, 154, -275, -275, -275, -35, 204, 191, - -35, -2, -275, -275, -275, -275, -275, -275, -275, -275, - 155, 153, -275, -275, -275, -275, -275, -275, -275, -275, - -275, 281, -56, 140, 216, -275, 320, 322, -10, 186, - -46, -275, -275, -275, -275, -275, -275, 326, -275, -275, - 216, -275, -275, -275, 261, -275, -275, -275, 216, 261, - 216, 32, -275, -275, 12, -275, 218, 229, 331, 220, - -106, 182, 183, 171, 249, 187, 276, -275, 210, -73, - 301, -275, -275, -275, -275, -275, -275, -275, -275, -275, - -275, -275, -275, -275, -275, -275, 252, -275, -275, -33, - 192, -275, 216, 295, -275, 193, -7, -275, 266, 194, - -275, 8, -2, 195, -275, 37, -2, -73, 309, -26, - -275, 274, -275, 393, 81, -275, 229, 13, 16, 312, - 101, 216, 86, 38, 207, 276, 411, 216, 45, 203, - -6, 216, 216, 276, -275, 276, -61, 211, 29, 276, - 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, - 276, 276, 276, 276, 296, 61, -275, 365, 12, -73, - -275, 12, -275, 326, 1, 219, -275, 216, -275, 370, - -275, -275, -275, 216, -275, -275, -275, -275, 216, 216, - 320, -275, 223, -275, -275, 226, -275, -275, -275, 124, - -275, 331, -275, -275, 216, -275, -275, 230, -275, -275, - -275, -275, -275, -275, 292, 80, 100, 216, 216, -275, - 312, 300, -113, -275, -275, -275, 288, 368, 445, 276, - 238, 210, -275, 302, 232, 445, 445, 445, 445, 479, - 479, 479, 479, 45, 45, -96, -96, -96, -24, 246, - -275, -275, 102, 106, -275, 229, -275, 310, -275, 243, - -275, 17, -275, 344, -275, -275, -275, -73, -73, -275, - 401, 409, -275, 324, -275, -275, 107, -275, 216, 216, - 216, -275, 118, 104, 262, -275, 276, 445, 210, 263, - 111, -275, -275, -275, -275, 269, 327, -275, -275, -275, - 357, 361, 363, 345, 1, 432, -275, -275, -275, 318, - -275, 286, 290, -275, -275, 14, -73, 119, -275, 216, - -275, 411, 299, 116, -275, -275, 17, 1, -275, -275, - -275, 1, 319, 304, 216, -275, -275, -275, -275, -73, - -275, -275, -275, -275, 517, 322, -31, 305, 216, 117, - 216, -275, 20, -73, -275, -275, -73, 306, 308, -275 + 659, 24, 68, 69, 99, 68, -35, 25, 26, 58, + 68, -15, 3, 100, 152, 0, -330, 56, 56, -330, + -330, -330, -330, -330, -330, -330, -330, -330, -330, -20, + -330, 158, 10, -330, 20, 101, -330, 65, 65, 68, + 83, 68, 77, -330, 89, 89, 68, -330, 86, 57, + -330, -330, 641, -330, 117, -330, -330, 102, -20, 19, + -330, 11, -330, 222, 9, 227, 113, 68, 68, 159, + -330, 177, 97, 265, 237, 68, 68, -330, 122, 100, + -330, 123, 278, 288, 147, 151, -330, -330, -330, -20, + 205, 203, -20, 28, -330, -330, -330, -330, -330, -330, + -330, -330, 166, 167, -330, -330, -330, -330, -330, -330, + -330, -330, -330, 301, -56, 97, 234, -330, 340, 347, + -11, 215, -66, -330, -330, -330, -330, -330, -330, 353, + -330, -330, 234, -330, -330, -330, 289, -330, -330, -330, + 234, 289, 234, 137, -330, -330, 9, -330, 241, 255, + 359, 242, 84, 206, 207, 170, 298, 210, 331, -330, + 218, -70, 357, -330, -330, -330, -330, -330, -330, -330, + -330, -330, -330, -330, -330, -330, -330, -330, 280, -330, + -330, 109, 220, -330, 234, 265, -330, 221, 130, -330, + 294, 211, -330, 64, 28, 225, -330, -46, 28, -70, + 334, -16, -330, 303, -330, 287, 132, -330, 255, 7, + 8, 337, 282, 234, 128, 118, 232, 331, 442, 234, + 44, 236, -83, 234, 234, 331, -330, 331, -58, 233, + 55, 331, 331, 331, 331, 331, 331, 331, 331, 331, + 331, 331, 331, 331, 331, 331, 278, 68, -330, 389, + 9, -70, -330, 9, -330, 353, 5, 159, -330, 234, + -330, 392, -330, -330, -330, 234, -330, -330, -330, -330, + 234, 234, 340, -330, 240, -330, -330, 243, -330, -330, + -330, 85, -330, 359, -330, -330, 234, -330, -330, 244, + -330, -330, -330, -330, -330, -330, 314, -10, 127, 234, + 234, -330, 337, 309, -17, -330, -330, -330, 297, 398, + 474, 331, 248, 218, -330, 311, 252, 474, 474, 474, + 474, 509, 509, 509, 509, 44, 44, 53, 53, 53, + -75, 254, -330, -330, 160, 165, -330, 255, -330, 27, + -330, 247, -330, 18, -330, 355, -330, -330, -330, -70, + -70, -330, 413, 414, -330, 326, -330, -330, 172, -330, + 234, 234, 234, -330, 146, 13, 264, -330, 331, 474, + 218, 266, 180, -330, -330, -330, -330, 269, 333, -330, + -330, -330, 358, 360, 361, 338, 5, 427, -330, -330, + -330, 317, -330, 275, 279, -330, -330, -76, -70, 183, + -330, 234, -330, 442, 281, 185, -330, -330, 18, 5, + -330, -330, -330, 5, 191, 283, 234, -330, -330, -330, + -330, -70, -330, -330, -330, -330, 142, 347, -26, 284, + 234, 190, 234, -330, 14, -70, -330, -330, -70, 291, + 285, -330 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -875,80 +878,81 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 242, 3, 18, 18, 16, 9, - 7, 10, 15, 12, 13, 11, 14, 8, 0, 221, - 0, 211, 58, 25, 0, 37, 37, 0, 0, 0, - 0, 210, 56, 56, 0, 30, 0, 223, 224, 1, - 222, 2, 0, 6, 5, 104, 0, 67, 68, 96, - 54, 0, 114, 0, 0, 0, 0, 90, 28, 0, - 62, 0, 0, 0, 0, 31, 0, 0, 4, 0, - 0, 84, 0, 0, 78, 79, 77, 0, 81, 0, - 0, 110, 212, 193, 196, 198, 199, 194, 195, 200, - 0, 113, 115, 188, 189, 190, 197, 191, 192, 24, - 23, 0, 0, 62, 0, 57, 0, 0, 0, 0, - 90, 64, 55, 52, 53, 226, 225, 0, 103, 83, - 0, 71, 70, 72, 96, 73, 80, 76, 0, 96, - 0, 0, 74, 26, 0, 36, 0, 222, 0, 0, - 184, 0, 0, 0, 0, 0, 0, 186, 0, 89, - 118, 125, 126, 127, 120, 122, 128, 121, 140, 129, - 130, 131, 124, 119, 133, 134, 0, 29, 243, 0, - 0, 60, 0, 0, 63, 21, 0, 19, 87, 85, - 111, 220, 110, 95, 97, 102, 110, 106, 108, 105, - 116, 0, 34, 0, 0, 38, 222, 84, 0, 0, - 0, 0, 0, 0, 0, 0, 136, 0, 135, 0, - 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, + 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 243, 3, 18, 18, 16, + 9, 7, 10, 15, 12, 13, 11, 14, 8, 0, + 222, 0, 212, 59, 25, 0, 32, 38, 38, 0, + 0, 0, 0, 211, 57, 57, 0, 30, 0, 224, + 225, 1, 223, 2, 0, 6, 5, 105, 0, 68, + 69, 97, 55, 0, 115, 0, 0, 0, 0, 91, + 28, 0, 63, 0, 0, 0, 0, 31, 0, 0, + 4, 0, 0, 85, 0, 0, 79, 80, 78, 0, + 82, 0, 0, 111, 213, 194, 197, 199, 200, 195, + 196, 201, 0, 114, 116, 189, 190, 191, 198, 192, + 193, 24, 23, 0, 0, 63, 0, 58, 0, 0, + 0, 0, 91, 65, 56, 53, 54, 227, 226, 0, + 104, 84, 0, 72, 71, 73, 97, 74, 81, 77, + 0, 97, 0, 0, 75, 26, 0, 37, 0, 223, + 0, 0, 185, 0, 0, 0, 0, 0, 0, 187, + 0, 90, 119, 126, 127, 128, 121, 123, 129, 122, + 141, 130, 131, 132, 125, 120, 134, 135, 0, 29, + 244, 0, 0, 61, 0, 0, 64, 21, 0, 19, + 88, 86, 112, 221, 111, 96, 98, 103, 111, 107, + 109, 106, 117, 0, 35, 0, 0, 39, 223, 85, + 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, + 136, 0, 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 61, 0, 0, 66, - 65, 0, 17, 0, 0, 90, 86, 0, 218, 0, - 219, 117, 69, 0, 101, 100, 99, 75, 0, 0, - 0, 42, 0, 45, 44, 0, 43, 48, 41, 51, - 33, 0, 35, 172, 0, 185, 187, 0, 175, 176, - 177, 178, 179, 180, 0, 0, 0, 0, 0, 159, - 0, 0, 0, 132, 123, 151, 152, 0, 147, 0, - 0, 0, 138, 0, 150, 149, 165, 166, 167, 168, - 169, 170, 171, 142, 141, 144, 143, 145, 146, 0, - 27, 244, 0, 0, 20, 222, 88, 201, 203, 0, - 205, 216, 204, 92, 112, 217, 98, 109, 107, 32, - 0, 0, 49, 0, 40, 39, 0, 163, 0, 0, - 0, 157, 0, 0, 0, 181, 0, 148, 0, 0, - 0, 139, 182, 59, 22, 0, 0, 238, 230, 236, - 234, 237, 232, 0, 0, 0, 215, 209, 213, 0, - 82, 0, 0, 50, 173, 0, 161, 0, 160, 0, - 164, 183, 0, 0, 155, 153, 216, 0, 233, 235, - 231, 0, 202, 217, 0, 46, 47, 174, 158, 162, - 156, 154, 206, 227, 239, 0, 94, 0, 0, 0, - 0, 91, 0, 240, 228, 214, 93, 184, 0, 229 + 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, + 0, 67, 66, 0, 17, 0, 0, 91, 87, 0, + 219, 0, 220, 118, 70, 0, 102, 101, 100, 76, + 0, 0, 0, 43, 0, 46, 45, 0, 44, 49, + 42, 52, 34, 0, 36, 173, 0, 186, 188, 0, + 176, 177, 178, 179, 180, 181, 0, 0, 0, 0, + 0, 160, 0, 0, 0, 133, 124, 152, 153, 0, + 148, 0, 0, 0, 139, 0, 151, 150, 166, 167, + 168, 169, 170, 171, 172, 143, 142, 145, 144, 146, + 147, 0, 27, 245, 0, 0, 20, 223, 89, 202, + 204, 0, 206, 217, 205, 93, 113, 218, 99, 110, + 108, 33, 0, 0, 50, 0, 41, 40, 0, 164, + 0, 0, 0, 158, 0, 0, 0, 182, 0, 149, + 0, 0, 0, 140, 183, 60, 22, 0, 0, 239, + 231, 237, 235, 238, 233, 0, 0, 0, 216, 210, + 214, 0, 83, 0, 0, 51, 174, 0, 162, 0, + 161, 0, 165, 184, 0, 0, 156, 154, 217, 0, + 234, 236, 232, 0, 203, 218, 0, 47, 48, 175, + 159, 163, 157, 155, 207, 228, 240, 0, 95, 0, + 0, 0, 0, 92, 0, 241, 229, 215, 94, 185, + 0, 230 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -275, -275, -275, 394, -275, 441, -275, 209, -275, -275, - -275, -275, -275, 196, -275, -275, 427, -275, 188, -275, - -275, -275, 424, -275, -275, -275, 355, -275, -275, 289, - -146, 39, 384, -53, 416, -275, -275, 150, 270, -275, - -275, -275, -110, -275, -275, -85, -275, 213, -275, -275, - -139, -209, -275, 27, 221, -114, -149, -275, -275, -275, - -275, -275, -275, 271, -275, -275, -275, -275, -275, -275, - -275, -275, 50, -48, -107, -275, -275, -78, -275, -275, - -275, -274, 74, -275, -275, -275, 4, -275, 79, 293, - -275, -275, -275, -275, 410, -275, -275, -275, -275, 63 + -330, -330, -330, 386, -330, 424, -330, 196, -330, -330, + -330, -330, -330, 174, -330, -330, 415, -330, 169, -330, + -330, -330, 409, -330, -330, -330, 341, -330, -330, 272, + -144, -4, 367, -55, 400, -330, -330, -1, 253, -330, + -330, -330, -106, -330, -330, 12, -330, 198, -330, -330, + -161, -213, -330, 45, 212, -116, -111, -330, -330, -330, + -330, -330, -330, 250, -330, -330, -330, -330, -330, -330, + -330, -330, 31, -63, -109, -330, -330, -80, -330, -330, + -330, -329, 60, -330, -330, -330, 2, -330, 66, 273, + -330, -330, -330, -330, 393, -330, -330, -330, -330, 46 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 13, 14, 15, 16, 53, 186, 187, 17, 110, - 18, 19, 69, 176, 20, 21, 65, 204, 205, 279, - 354, 22, 73, 23, 24, 25, 118, 26, 120, 121, - 27, 133, 134, 58, 87, 88, 137, 59, 130, 188, - 255, 256, 115, 390, 431, 91, 193, 194, 266, 81, - 142, 189, 100, 101, 190, 191, 160, 161, 162, 163, - 164, 165, 166, 213, 167, 168, 169, 170, 294, 171, - 172, 173, 174, 175, 103, 104, 105, 106, 107, 108, - 336, 337, 338, 339, 340, 40, 341, 386, 387, 388, - 261, 28, 29, 47, 48, 342, 383, 434, 51, 179 + -1, 14, 15, 16, 17, 55, 188, 189, 18, 112, + 19, 20, 71, 178, 21, 22, 67, 206, 207, 281, + 356, 23, 75, 24, 25, 26, 120, 27, 122, 123, + 28, 135, 136, 60, 89, 90, 139, 61, 132, 190, + 257, 258, 117, 392, 433, 93, 195, 196, 268, 83, + 144, 191, 102, 103, 192, 193, 162, 163, 164, 165, + 166, 167, 168, 215, 169, 170, 171, 172, 296, 173, + 174, 175, 176, 177, 105, 106, 107, 108, 109, 110, + 338, 339, 340, 341, 342, 42, 343, 388, 389, 390, + 263, 29, 30, 49, 50, 344, 385, 436, 53, 181 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -956,236 +960,245 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 159, 202, 128, 83, 31, 216, 32, 218, 302, 177, - 184, 258, 430, 41, 102, 55, 93, 94, 95, 285, - 258, 269, 44, 437, 195, 129, 197, 199, 146, 114, - 309, 229, 221, 30, 35, 150, 93, 94, 95, 212, - 55, 67, 365, 70, 220, 140, 180, 257, 75, 192, - 207, 222, 208, 262, 196, 45, 243, 267, 244, 310, - 282, 147, 36, 141, 31, 181, 216, 57, 249, 112, - 113, 84, 151, 152, 307, 356, 308, 123, 124, 221, - 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 82, 200, 295, 222, 221, - 148, 85, 370, 229, 50, 219, 96, 305, 306, 153, - 412, 33, 42, 221, 183, 125, 39, 264, 222, 221, - 297, 56, 84, 312, 246, 259, 96, 247, 34, 257, - 244, 89, 222, 37, 385, 86, 198, 424, 222, 298, - 43, 313, 221, 265, 154, 343, 299, 97, 98, 195, - 252, 304, 85, 253, 347, 348, 287, 335, 155, 403, - 367, 222, 38, 177, 46, 286, 329, 97, 98, 157, - 283, 417, 229, 99, 150, 93, 94, 95, 359, 49, - 156, 157, 360, 362, 363, 221, 86, 211, 158, 375, - 52, 221, 60, 99, 240, 241, 242, 243, 62, 244, - 102, 298, 399, 102, 222, 426, 61, 63, 361, 221, - 222, 151, 152, 150, 93, 94, 95, 401, 352, 150, - 93, 94, 95, 221, 221, 77, 398, 418, 222, 64, - 288, 289, 290, 291, 292, 293, 353, 135, 280, 68, - 135, 281, 222, 222, 395, 396, 397, 364, 153, 330, - 151, 152, 150, 93, 94, 95, 151, 152, 369, 373, - 55, 71, 144, 374, 394, 96, 144, 257, 405, 76, - 72, 257, 211, 421, 435, 332, 257, 247, 333, 150, - 93, 94, 95, 154, 79, 419, 80, 153, 92, 214, - 152, 109, 111, 153, 114, 116, 117, 155, 119, 122, - 56, 127, 95, 129, 96, 131, 97, 98, 136, 138, - 96, 132, 143, 144, 433, 402, 436, 152, 223, 156, - 157, 145, 154, 182, 93, 178, 153, 158, 154, 185, - 89, 12, 99, 201, 203, 376, 155, 206, 209, 210, - 245, 217, 155, 96, 376, 97, 98, 224, 248, 251, - 254, 97, 98, 153, 257, 263, 268, 270, 156, 157, - 303, 215, 55, 300, 156, 157, 158, 311, 331, 377, - 96, 99, 158, 345, 378, 155, 358, 99, 377, 350, - 379, 380, 351, 378, 97, 98, 244, 357, 215, 379, - 380, 309, 225, 221, 368, 381, 371, 156, 157, -239, - 382, 372, 155, 384, 381, 158, 389, 391, -239, 382, - 99, 97, 98, 226, 224, 392, 407, 271, 393, 400, - 404, 227, 228, 272, 156, 157, 406, 408, 229, 230, - 273, 409, 158, 410, 411, 413, 414, 99, 231, 232, - 233, 234, 235, 415, 78, 236, 237, 416, 238, 239, - 240, 241, 242, 243, 274, 244, 420, 224, 54, 225, - 425, 432, 334, 66, 208, 439, 349, 74, 149, 355, - -207, 275, 250, 366, 139, 90, 346, 284, 344, -208, - 301, 423, 438, 296, 260, 422, 276, 126, 429, 228, - 277, 224, 0, 0, 0, 229, 230, 0, 0, 0, - 0, 0, 225, 278, 0, 231, 232, 233, 234, 235, - 0, 0, 236, 237, 0, 238, 239, 240, 241, 242, - 243, 0, 244, 301, 0, 224, 0, 0, 0, 0, - 0, 0, 228, 0, 0, 0, -242, 0, 229, 230, - 0, 0, 376, 0, 0, 0, 0, 0, 231, 232, - 233, 234, 235, 0, 0, 236, 237, 0, 238, 239, - 240, 241, 242, 243, 0, 244, 228, 0, 0, 0, - 0, 0, 229, -242, 0, 0, 377, 0, 0, 0, - 0, 378, -242, -242, -242, 234, 235, 379, 380, 236, - 237, 427, 238, 239, 240, 241, 242, 243, 0, 244, - 228, 0, 381, 0, 0, 0, 229, 382, 0, 0, - -241, 0, 0, 0, 0, 0, 0, 1, 0, -242, - -242, 0, 0, -242, -242, 2, 238, 239, 240, 241, - 242, 243, 3, 244, 1, 0, 4, 0, 0, 0, - 428, 0, 2, 0, 5, 6, 0, 0, 0, 3, - 0, 0, 0, 4, 7, 8, 0, 0, 0, 0, - 0, 5, 6, 0, 0, 9, 0, 0, 0, 0, - 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 11, 0, 10, 0, - 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 11, 0, 0, 0, 0, 0, 12 + 161, 104, 130, 85, 33, 204, 304, 36, 32, 179, + 116, 287, 43, 95, 96, 97, 186, 439, 432, 131, + 86, 260, 46, 223, 197, 59, 199, 201, 86, 148, + 223, 57, 271, 264, 311, 266, 223, 269, 37, 214, + 57, 69, 224, 72, 222, 218, 182, 220, 77, 224, + 31, 87, 378, 231, 84, 224, 47, 414, 44, 87, + 223, 267, 149, 312, 284, 183, 38, 260, 251, 114, + 115, 32, 34, 358, 127, 306, 142, 125, 126, 224, + 246, 91, 419, 202, 426, 88, 45, 379, 137, 361, + 223, 137, 380, 88, 143, 185, 223, 297, 381, 382, + 372, 150, 35, 48, 98, 221, 218, 307, 308, 224, + 39, 40, 401, 383, 309, 224, 310, -240, 384, 223, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 259, 387, 58, 224, 367, + 152, 95, 96, 97, 259, 99, 100, 41, 194, 197, + 314, 345, 51, 198, 349, 350, 289, 405, 288, 54, + 52, 62, 337, 179, 159, 285, 331, 378, 315, 63, + 223, 101, 231, 152, 95, 96, 97, 64, 153, 154, + 354, 231, 261, 364, 365, 66, 65, 104, -208, 224, + 104, 70, 73, 377, 242, 243, 244, 245, 355, 246, + 369, 299, 379, 428, 78, 81, 245, 380, 246, 74, + 362, 153, 154, 381, 382, 155, 378, 429, 79, 82, + 300, 152, 95, 96, 97, 94, 113, 301, 383, 300, + 213, 111, 98, 384, 223, 116, 363, 152, 95, 96, + 97, 209, 200, 210, 397, 398, 399, 366, 155, 332, + 156, 379, 223, 224, 119, 400, 380, 403, 371, 153, + 154, 118, 381, 382, 157, 98, 430, 248, 121, 57, + 249, 224, 213, 99, 100, 153, 154, 383, 124, 58, + 129, -240, 384, 156, 97, 421, 158, 159, 254, 223, + 282, 255, 420, 283, 160, 334, 155, 157, 335, 101, + 131, 152, 95, 96, 97, 133, 99, 100, 224, 134, + 138, 273, 155, 98, 435, 404, 438, 274, 375, 158, + 159, 146, 140, 376, 145, 275, 146, 160, 146, 98, + 396, 156, 101, 259, 152, 95, 96, 97, 407, 216, + 154, 259, 147, 423, 95, 157, 259, 156, 437, 276, + 180, 249, -209, 184, 99, 100, 187, 203, 13, 91, + 208, 157, 205, 211, 212, 219, 277, 158, 159, 247, + 99, 100, 259, 154, 225, 160, 155, 250, 253, 256, + 101, 278, 270, 158, 159, 279, 265, 272, 57, 302, + 313, 160, 333, 98, 305, 347, 101, 352, 280, 360, + 353, 311, 359, 223, 226, 370, 373, 246, 386, 155, + 374, 217, 290, 291, 292, 293, 294, 295, 391, 393, + 394, 395, 402, 409, 406, 157, 98, 408, 413, 410, + 415, 411, 412, 417, 99, 100, 416, 418, 80, 422, + 427, 434, 56, 441, 217, 226, 351, 158, 159, 227, + 210, 336, 357, 68, 76, 160, 151, 252, 157, 141, + 101, 92, 286, 348, 298, 440, 262, 99, 100, 425, + 228, 346, 128, 431, 424, 0, 0, 0, 229, 230, + 158, 159, 0, 0, 0, 231, 232, 0, 160, 226, + 227, 0, 0, 101, 0, 233, 234, 235, 236, 237, + 0, 0, 238, 239, 368, 240, 241, 242, 243, 244, + 245, 303, 246, 0, 0, 0, 0, 0, 0, 0, + 230, 226, 0, 0, 0, 0, 231, 232, 0, 0, + 0, 0, 0, 0, 227, 0, 233, 234, 235, 236, + 237, 0, 0, 238, 239, 0, 240, 241, 242, 243, + 244, 245, 0, 246, 0, 303, 226, 0, 0, 0, + 0, 0, 0, 0, 230, 0, -243, 0, 0, 0, + 231, 232, 0, 0, 0, 0, 0, 0, 0, 0, + 233, 234, 235, 236, 237, 0, 0, 238, 239, 0, + 240, 241, 242, 243, 244, 245, 230, 246, 0, 0, + 0, 0, 231, -243, 0, 0, 0, 0, 0, 0, + 0, 0, -243, -243, -243, 236, 237, 0, 0, 238, + 239, 0, 240, 241, 242, 243, 244, 245, 0, 246, + 0, 230, 0, 0, 0, 0, 0, 231, 0, 0, + 0, -242, 0, 0, 0, 0, 0, 0, 1, 0, + -243, -243, 0, 0, -243, -243, 2, 240, 241, 242, + 243, 244, 245, 3, 246, 0, 1, 4, 0, 0, + 0, 0, 0, 5, 2, 0, 6, 7, 0, 0, + 0, 3, 0, 0, 0, 4, 8, 9, 0, 0, + 0, 5, 0, 0, 6, 7, 0, 10, 0, 0, + 0, 0, 0, 0, 8, 9, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, + 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, + 0, 11, 0, 0, 13, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, + 0, 0, 13 }; static const yytype_int16 yycheck[] = { - 114, 147, 80, 56, 3, 154, 2, 156, 217, 116, - 120, 3, 43, 9, 62, 50, 4, 5, 6, 3, - 3, 47, 19, 3, 138, 12, 140, 141, 84, 75, - 91, 127, 105, 26, 72, 3, 4, 5, 6, 153, - 50, 37, 155, 39, 158, 47, 56, 160, 44, 134, - 156, 124, 158, 192, 139, 52, 152, 196, 154, 120, - 206, 117, 100, 65, 3, 118, 215, 28, 182, 65, - 66, 9, 40, 41, 223, 284, 225, 73, 74, 105, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 56, 144, 211, 124, 105, - 156, 39, 311, 127, 159, 158, 94, 221, 222, 77, - 384, 3, 72, 105, 160, 76, 88, 80, 124, 105, - 82, 156, 9, 94, 157, 117, 94, 160, 3, 160, - 154, 69, 124, 84, 117, 73, 104, 411, 124, 101, - 100, 112, 105, 106, 112, 255, 108, 135, 136, 263, - 157, 157, 39, 160, 268, 269, 209, 156, 126, 368, - 309, 124, 84, 270, 3, 149, 244, 135, 136, 149, - 157, 157, 127, 161, 3, 4, 5, 6, 98, 0, - 148, 149, 82, 297, 298, 105, 73, 101, 156, 335, - 102, 105, 3, 161, 149, 150, 151, 152, 156, 154, - 248, 101, 98, 251, 124, 414, 158, 84, 108, 105, - 124, 40, 41, 3, 4, 5, 6, 366, 94, 3, - 4, 5, 6, 105, 105, 160, 108, 108, 124, 119, - 129, 130, 131, 132, 133, 134, 112, 87, 157, 107, - 90, 160, 124, 124, 358, 359, 360, 300, 77, 245, - 40, 41, 3, 4, 5, 6, 40, 41, 311, 157, - 50, 114, 160, 157, 157, 94, 160, 160, 157, 117, - 119, 160, 101, 157, 157, 248, 160, 160, 251, 3, - 4, 5, 6, 112, 87, 399, 116, 77, 3, 40, - 41, 4, 112, 77, 75, 83, 156, 126, 3, 40, - 156, 156, 6, 12, 94, 157, 135, 136, 104, 118, - 94, 157, 157, 160, 428, 368, 430, 41, 17, 148, - 149, 40, 112, 137, 4, 3, 77, 156, 112, 3, - 69, 102, 161, 115, 3, 25, 126, 117, 156, 156, - 88, 154, 126, 94, 25, 135, 136, 46, 156, 156, - 84, 135, 136, 77, 160, 160, 47, 83, 148, 149, - 157, 112, 50, 156, 148, 149, 156, 156, 3, 59, - 94, 161, 156, 3, 64, 126, 84, 161, 59, 156, - 70, 71, 156, 64, 135, 136, 154, 157, 112, 70, - 71, 91, 91, 105, 156, 85, 94, 148, 149, 89, - 90, 155, 126, 160, 85, 156, 62, 6, 89, 90, - 161, 135, 136, 112, 46, 6, 89, 24, 94, 157, - 157, 120, 121, 30, 148, 149, 157, 70, 127, 128, - 37, 70, 156, 70, 89, 3, 118, 161, 137, 138, - 139, 140, 141, 157, 50, 144, 145, 157, 147, 148, - 149, 150, 151, 152, 61, 154, 157, 46, 17, 91, - 156, 156, 253, 36, 158, 157, 270, 43, 113, 281, - 160, 78, 183, 105, 90, 59, 263, 207, 257, 160, - 112, 407, 432, 212, 191, 406, 93, 77, 425, 121, - 97, 46, -1, -1, -1, 127, 128, -1, -1, -1, - -1, -1, 91, 110, -1, 137, 138, 139, 140, 141, - -1, -1, 144, 145, -1, 147, 148, 149, 150, 151, - 152, -1, 154, 112, -1, 46, -1, -1, -1, -1, - -1, -1, 121, -1, -1, -1, 91, -1, 127, 128, - -1, -1, 25, -1, -1, -1, -1, -1, 137, 138, - 139, 140, 141, -1, -1, 144, 145, -1, 147, 148, - 149, 150, 151, 152, -1, 154, 121, -1, -1, -1, - -1, -1, 127, 128, -1, -1, 59, -1, -1, -1, - -1, 64, 137, 138, 139, 140, 141, 70, 71, 144, - 145, 74, 147, 148, 149, 150, 151, 152, -1, 154, - 121, -1, 85, -1, -1, -1, 127, 90, -1, -1, - 0, -1, -1, -1, -1, -1, -1, 7, -1, 140, - 141, -1, -1, 144, 145, 15, 147, 148, 149, 150, - 151, 152, 22, 154, 7, -1, 26, -1, -1, -1, - 123, -1, 15, -1, 34, 35, -1, -1, -1, 22, - -1, -1, -1, 26, 44, 45, -1, -1, -1, -1, - -1, 34, 35, -1, -1, 55, -1, -1, -1, -1, - -1, 44, 45, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 55, -1, -1, -1, -1, -1, -1, -1, - -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 96, -1, 81, -1, - -1, -1, 102, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 96, -1, -1, -1, -1, -1, 102 + 116, 64, 82, 58, 2, 149, 219, 5, 3, 118, + 76, 3, 10, 4, 5, 6, 122, 3, 44, 12, + 9, 3, 19, 106, 140, 29, 142, 143, 9, 85, + 106, 51, 48, 194, 92, 81, 106, 198, 73, 155, + 51, 39, 125, 41, 160, 156, 57, 158, 46, 125, + 26, 40, 25, 128, 58, 125, 53, 386, 73, 40, + 106, 107, 118, 121, 208, 120, 101, 3, 184, 67, + 68, 3, 3, 286, 78, 158, 48, 75, 76, 125, + 155, 70, 158, 146, 413, 74, 101, 60, 89, 99, + 106, 92, 65, 74, 66, 161, 106, 213, 71, 72, + 313, 157, 3, 3, 95, 160, 217, 223, 224, 125, + 85, 85, 99, 86, 225, 125, 227, 90, 91, 106, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 161, 118, 157, 125, 156, + 3, 4, 5, 6, 161, 136, 137, 89, 136, 265, + 95, 257, 0, 141, 270, 271, 211, 370, 150, 103, + 160, 3, 157, 272, 150, 158, 246, 25, 113, 159, + 106, 162, 128, 3, 4, 5, 6, 157, 41, 42, + 95, 128, 118, 299, 300, 120, 85, 250, 161, 125, + 253, 108, 115, 337, 150, 151, 152, 153, 113, 155, + 311, 83, 60, 416, 118, 88, 153, 65, 155, 120, + 83, 41, 42, 71, 72, 78, 25, 75, 161, 117, + 102, 3, 4, 5, 6, 3, 113, 109, 86, 102, + 102, 4, 95, 91, 106, 76, 109, 3, 4, 5, + 6, 157, 105, 159, 360, 361, 362, 302, 78, 247, + 113, 60, 106, 125, 157, 109, 65, 368, 313, 41, + 42, 84, 71, 72, 127, 95, 124, 158, 3, 51, + 161, 125, 102, 136, 137, 41, 42, 86, 41, 157, + 157, 90, 91, 113, 6, 401, 149, 150, 158, 106, + 158, 161, 109, 161, 157, 250, 78, 127, 253, 162, + 12, 3, 4, 5, 6, 158, 136, 137, 125, 158, + 105, 24, 78, 95, 430, 370, 432, 30, 158, 149, + 150, 161, 119, 158, 158, 38, 161, 157, 161, 95, + 158, 113, 162, 161, 3, 4, 5, 6, 158, 41, + 42, 161, 41, 158, 4, 127, 161, 113, 158, 62, + 3, 161, 161, 138, 136, 137, 3, 116, 103, 70, + 118, 127, 3, 157, 157, 155, 79, 149, 150, 89, + 136, 137, 161, 42, 17, 157, 78, 157, 157, 85, + 162, 94, 48, 149, 150, 98, 161, 84, 51, 157, + 157, 157, 3, 95, 158, 3, 162, 157, 111, 85, + 157, 92, 158, 106, 47, 157, 95, 155, 161, 78, + 156, 113, 130, 131, 132, 133, 134, 135, 63, 6, + 6, 95, 158, 90, 158, 127, 95, 158, 90, 71, + 3, 71, 71, 158, 136, 137, 119, 158, 52, 158, + 157, 157, 18, 158, 113, 47, 272, 149, 150, 92, + 159, 255, 283, 38, 45, 157, 115, 185, 127, 92, + 162, 61, 209, 265, 214, 434, 193, 136, 137, 409, + 113, 259, 79, 427, 408, -1, -1, -1, 121, 122, + 149, 150, -1, -1, -1, 128, 129, -1, 157, 47, + 92, -1, -1, 162, -1, 138, 139, 140, 141, 142, + -1, -1, 145, 146, 106, 148, 149, 150, 151, 152, + 153, 113, 155, -1, -1, -1, -1, -1, -1, -1, + 122, 47, -1, -1, -1, -1, 128, 129, -1, -1, + -1, -1, -1, -1, 92, -1, 138, 139, 140, 141, + 142, -1, -1, 145, 146, -1, 148, 149, 150, 151, + 152, 153, -1, 155, -1, 113, 47, -1, -1, -1, + -1, -1, -1, -1, 122, -1, 92, -1, -1, -1, + 128, 129, -1, -1, -1, -1, -1, -1, -1, -1, + 138, 139, 140, 141, 142, -1, -1, 145, 146, -1, + 148, 149, 150, 151, 152, 153, 122, 155, -1, -1, + -1, -1, 128, 129, -1, -1, -1, -1, -1, -1, + -1, -1, 138, 139, 140, 141, 142, -1, -1, 145, + 146, -1, 148, 149, 150, 151, 152, 153, -1, 155, + -1, 122, -1, -1, -1, -1, -1, 128, -1, -1, + -1, 0, -1, -1, -1, -1, -1, -1, 7, -1, + 141, 142, -1, -1, 145, 146, 15, 148, 149, 150, + 151, 152, 153, 22, 155, -1, 7, 26, -1, -1, + -1, -1, -1, 32, 15, -1, 35, 36, -1, -1, + -1, 22, -1, -1, -1, 26, 45, 46, -1, -1, + -1, 32, -1, -1, 35, 36, -1, 56, -1, -1, + -1, -1, -1, -1, 45, 46, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, + -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 97, -1, + -1, 82, -1, -1, 103, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 97, -1, -1, -1, + -1, -1, 103 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { - 0, 7, 15, 22, 26, 34, 35, 44, 45, 55, - 81, 96, 102, 163, 164, 165, 166, 170, 172, 173, - 176, 177, 183, 185, 186, 187, 189, 192, 253, 254, - 26, 3, 248, 3, 3, 72, 100, 84, 84, 88, - 247, 248, 72, 100, 19, 52, 3, 255, 256, 0, - 159, 260, 102, 167, 167, 50, 156, 193, 195, 199, - 3, 158, 156, 84, 119, 178, 178, 248, 107, 174, - 248, 114, 119, 184, 184, 248, 117, 160, 165, 87, - 116, 211, 193, 195, 9, 39, 73, 196, 197, 69, - 196, 207, 3, 4, 5, 6, 94, 135, 136, 161, - 214, 215, 235, 236, 237, 238, 239, 240, 241, 4, - 171, 112, 248, 248, 75, 204, 83, 156, 188, 3, - 190, 191, 40, 248, 248, 193, 256, 156, 239, 12, - 200, 157, 157, 193, 194, 199, 104, 198, 118, 194, - 47, 65, 212, 157, 160, 40, 84, 117, 156, 188, - 3, 40, 41, 77, 112, 126, 148, 149, 156, 217, - 218, 219, 220, 221, 222, 223, 224, 226, 227, 228, - 229, 231, 232, 233, 234, 235, 175, 236, 3, 261, - 56, 195, 137, 160, 204, 3, 168, 169, 201, 213, - 216, 217, 207, 208, 209, 217, 207, 217, 104, 217, - 235, 115, 192, 3, 179, 180, 117, 156, 158, 156, - 156, 101, 217, 225, 40, 112, 218, 154, 218, 195, - 217, 105, 124, 17, 46, 91, 112, 120, 121, 127, - 128, 137, 138, 139, 140, 141, 144, 145, 147, 148, - 149, 150, 151, 152, 154, 88, 157, 160, 156, 217, - 191, 156, 157, 160, 84, 202, 203, 160, 3, 117, - 251, 252, 212, 160, 80, 106, 210, 212, 47, 47, - 83, 24, 30, 37, 61, 78, 93, 97, 110, 181, - 157, 160, 192, 157, 200, 3, 149, 195, 129, 130, - 131, 132, 133, 134, 230, 217, 225, 82, 101, 108, - 156, 112, 213, 157, 157, 217, 217, 218, 218, 91, - 120, 156, 94, 112, 218, 218, 218, 218, 218, 218, - 218, 218, 218, 218, 218, 218, 218, 218, 218, 239, - 248, 3, 215, 215, 169, 156, 242, 243, 244, 245, - 246, 248, 257, 204, 216, 3, 209, 217, 217, 175, - 156, 156, 94, 112, 182, 180, 213, 157, 84, 98, - 82, 108, 217, 217, 195, 155, 105, 218, 156, 195, - 213, 94, 155, 157, 157, 192, 25, 59, 64, 70, - 71, 85, 90, 258, 160, 117, 249, 250, 251, 62, - 205, 6, 6, 94, 157, 217, 217, 217, 108, 98, - 157, 218, 195, 213, 157, 157, 157, 89, 70, 70, - 70, 89, 243, 3, 118, 157, 157, 157, 108, 217, - 157, 157, 250, 244, 243, 156, 213, 74, 123, 261, - 43, 206, 156, 217, 259, 157, 217, 3, 234, 157 + 0, 7, 15, 22, 26, 32, 35, 36, 45, 46, + 56, 82, 97, 103, 164, 165, 166, 167, 171, 173, + 174, 177, 178, 184, 186, 187, 188, 190, 193, 254, + 255, 26, 3, 249, 3, 3, 249, 73, 101, 85, + 85, 89, 248, 249, 73, 101, 19, 53, 3, 256, + 257, 0, 160, 261, 103, 168, 168, 51, 157, 194, + 196, 200, 3, 159, 157, 85, 120, 179, 179, 249, + 108, 175, 249, 115, 120, 185, 185, 249, 118, 161, + 166, 88, 117, 212, 194, 196, 9, 40, 74, 197, + 198, 70, 197, 208, 3, 4, 5, 6, 95, 136, + 137, 162, 215, 216, 236, 237, 238, 239, 240, 241, + 242, 4, 172, 113, 249, 249, 76, 205, 84, 157, + 189, 3, 191, 192, 41, 249, 249, 194, 257, 157, + 240, 12, 201, 158, 158, 194, 195, 200, 105, 199, + 119, 195, 48, 66, 213, 158, 161, 41, 85, 118, + 157, 189, 3, 41, 42, 78, 113, 127, 149, 150, + 157, 218, 219, 220, 221, 222, 223, 224, 225, 227, + 228, 229, 230, 232, 233, 234, 235, 236, 176, 237, + 3, 262, 57, 196, 138, 161, 205, 3, 169, 170, + 202, 214, 217, 218, 208, 209, 210, 218, 208, 218, + 105, 218, 236, 116, 193, 3, 180, 181, 118, 157, + 159, 157, 157, 102, 218, 226, 41, 113, 219, 155, + 219, 196, 218, 106, 125, 17, 47, 92, 113, 121, + 122, 128, 129, 138, 139, 140, 141, 142, 145, 146, + 148, 149, 150, 151, 152, 153, 155, 89, 158, 161, + 157, 218, 192, 157, 158, 161, 85, 203, 204, 161, + 3, 118, 252, 253, 213, 161, 81, 107, 211, 213, + 48, 48, 84, 24, 30, 38, 62, 79, 94, 98, + 111, 182, 158, 161, 193, 158, 201, 3, 150, 196, + 130, 131, 132, 133, 134, 135, 231, 218, 226, 83, + 102, 109, 157, 113, 214, 158, 158, 218, 218, 219, + 219, 92, 121, 157, 95, 113, 219, 219, 219, 219, + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, + 219, 240, 249, 3, 216, 216, 170, 157, 243, 244, + 245, 246, 247, 249, 258, 205, 217, 3, 210, 218, + 218, 176, 157, 157, 95, 113, 183, 181, 214, 158, + 85, 99, 83, 109, 218, 218, 196, 156, 106, 219, + 157, 196, 214, 95, 156, 158, 158, 193, 25, 60, + 65, 71, 72, 86, 91, 259, 161, 118, 250, 251, + 252, 63, 206, 6, 6, 95, 158, 218, 218, 218, + 109, 99, 158, 219, 196, 214, 158, 158, 158, 90, + 71, 71, 71, 90, 244, 3, 119, 158, 158, 158, + 109, 218, 158, 158, 251, 245, 244, 157, 214, 75, + 124, 262, 44, 207, 157, 218, 260, 158, 218, 3, + 235, 158 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 162, 163, 164, 164, 165, 165, 165, 166, 166, - 166, 166, 166, 166, 166, 166, 166, 167, 167, 168, - 168, 169, 169, 170, 171, 172, 172, 173, 174, 175, - 176, 176, 177, 177, 177, 177, 178, 178, 179, 179, - 180, 181, 181, 181, 181, 181, 181, 181, 181, 182, - 182, 182, 183, 183, 183, 184, 184, 185, 186, 187, - 187, 188, 188, 189, 190, 190, 191, 192, 192, 192, - 193, 193, 194, 194, 195, 195, 196, 197, 197, 197, - 198, 198, 199, 200, 200, 201, 202, 202, 203, 204, - 204, 205, 205, 206, 206, 207, 207, 208, 208, 209, - 210, 210, 210, 211, 211, 212, 212, 212, 212, 212, - 212, 213, 213, 214, 214, 215, 215, 216, 217, 217, - 217, 217, 217, 218, 218, 218, 218, 218, 218, 218, - 218, 218, 218, 219, 219, 220, 220, 220, 220, 220, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 222, 222, 223, 223, 223, 223, 224, 224, 224, - 224, 225, 225, 226, 226, 227, 227, 227, 227, 227, - 227, 227, 228, 228, 229, 230, 230, 230, 230, 230, - 230, 231, 232, 233, 234, 234, 234, 234, 235, 235, - 235, 235, 235, 236, 237, 237, 238, 238, 239, 240, - 241, 242, 242, 243, 243, 244, 244, 245, 245, 246, - 247, 248, 248, 249, 249, 250, 250, 251, 251, 252, - 252, 253, 253, 254, 255, 255, 256, 257, 257, 257, - 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, - 259, 260, 260, 261, 261 + 0, 163, 164, 165, 165, 166, 166, 166, 167, 167, + 167, 167, 167, 167, 167, 167, 167, 168, 168, 169, + 169, 170, 170, 171, 172, 173, 173, 174, 175, 176, + 177, 177, 177, 178, 178, 178, 178, 179, 179, 180, + 180, 181, 182, 182, 182, 182, 182, 182, 182, 182, + 183, 183, 183, 184, 184, 184, 185, 185, 186, 187, + 188, 188, 189, 189, 190, 191, 191, 192, 193, 193, + 193, 194, 194, 195, 195, 196, 196, 197, 198, 198, + 198, 199, 199, 200, 201, 201, 202, 203, 203, 204, + 205, 205, 206, 206, 207, 207, 208, 208, 209, 209, + 210, 211, 211, 211, 212, 212, 213, 213, 213, 213, + 213, 213, 214, 214, 215, 215, 216, 216, 217, 218, + 218, 218, 218, 218, 219, 219, 219, 219, 219, 219, + 219, 219, 219, 219, 220, 220, 221, 221, 221, 221, + 221, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 223, 223, 224, 224, 224, 224, 225, 225, + 225, 225, 226, 226, 227, 227, 228, 228, 228, 228, + 228, 228, 228, 229, 229, 230, 231, 231, 231, 231, + 231, 231, 232, 233, 234, 235, 235, 235, 235, 236, + 236, 236, 236, 236, 237, 238, 238, 239, 239, 240, + 241, 242, 243, 243, 244, 244, 245, 245, 246, 246, + 247, 248, 249, 249, 250, 250, 251, 251, 252, 252, + 253, 253, 254, 254, 255, 256, 256, 257, 258, 258, + 258, 259, 259, 259, 259, 259, 259, 259, 259, 259, + 259, 260, 261, 261, 262, 262 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -1194,28 +1207,28 @@ static const yytype_uint8 yyr2[] = 0, 2, 2, 1, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 0, 1, 3, 1, 4, 4, 1, 2, 5, 7, 1, 1, - 2, 3, 8, 7, 6, 7, 3, 0, 1, 3, - 3, 1, 1, 1, 1, 1, 4, 4, 1, 1, - 2, 0, 4, 4, 3, 2, 0, 4, 2, 8, - 5, 3, 0, 5, 1, 3, 3, 2, 2, 6, - 3, 3, 1, 1, 3, 5, 2, 1, 1, 1, - 1, 0, 7, 1, 0, 1, 1, 0, 2, 2, - 0, 4, 0, 2, 0, 3, 0, 1, 3, 2, - 1, 1, 0, 2, 0, 2, 2, 4, 2, 4, - 0, 1, 3, 1, 0, 1, 3, 2, 1, 1, - 1, 1, 1, 3, 1, 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, 6, 1, 1, 1, 1, 1, - 1, 4, 4, 5, 1, 3, 1, 3, 1, 1, + 2, 3, 2, 8, 7, 6, 7, 3, 0, 1, + 3, 3, 1, 1, 1, 1, 1, 4, 4, 1, + 1, 2, 0, 4, 4, 3, 2, 0, 4, 2, + 8, 5, 3, 0, 5, 1, 3, 3, 2, 2, + 6, 3, 3, 1, 1, 3, 5, 2, 1, 1, + 1, 1, 0, 7, 1, 0, 1, 1, 0, 2, + 2, 0, 4, 0, 2, 0, 3, 0, 1, 3, + 2, 1, 1, 0, 2, 0, 2, 2, 4, 2, + 4, 0, 1, 3, 1, 0, 1, 3, 2, 1, + 1, 1, 1, 1, 3, 1, 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, 6, 1, 1, 1, 1, + 1, 1, 4, 4, 5, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 1, 1, 1, 4, 1, 3, 2, - 1, 1, 3, 1, 5, 1, 0, 2, 1, 1, - 0, 1, 0, 2, 1, 3, 3, 4, 6, 8, - 1, 2, 1, 2, 1, 2, 1, 1, 1, 0, - 1, 1, 0, 1, 3 + 1, 1, 1, 3, 1, 1, 1, 4, 1, 3, + 2, 1, 1, 3, 1, 5, 1, 0, 2, 1, + 1, 0, 1, 0, 2, 1, 3, 3, 4, 6, + 8, 1, 2, 1, 2, 1, 2, 1, 1, 1, + 0, 1, 1, 0, 1, 3 }; @@ -1719,28 +1732,28 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio case 3: /* IDENTIFIER */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { free( (((*yyvaluep).sval)) ); } -#line 1723 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1736 "bison_parser.cpp" /* yacc.c:1257 */ break; case 4: /* STRING */ #line 145 "bison_parser.y" /* yacc.c:1257 */ { free( (((*yyvaluep).sval)) ); } -#line 1729 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1742 "bison_parser.cpp" /* yacc.c:1257 */ break; case 5: /* FLOATVAL */ #line 143 "bison_parser.y" /* yacc.c:1257 */ { } -#line 1735 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1748 "bison_parser.cpp" /* yacc.c:1257 */ break; case 6: /* INTVAL */ #line 143 "bison_parser.y" /* yacc.c:1257 */ { } -#line 1741 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1754 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 164: /* statement_list */ + case 165: /* statement_list */ #line 146 "bison_parser.y" /* yacc.c:1257 */ { if ((((*yyvaluep).stmt_vec)) != nullptr) { @@ -1750,35 +1763,22 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).stmt_vec)); } -#line 1754 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1767 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 165: /* statement */ + case 166: /* statement */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).statement)); } -#line 1760 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1773 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 166: /* preparable_statement */ + case 167: /* preparable_statement */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).statement)); } -#line 1766 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 167: /* opt_hints */ -#line 146 "bison_parser.y" /* yacc.c:1257 */ - { - if ((((*yyvaluep).expr_vec)) != nullptr) { - for (auto ptr : *(((*yyvaluep).expr_vec))) { - delete ptr; - } - } - delete (((*yyvaluep).expr_vec)); -} #line 1779 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 168: /* hint_list */ + case 168: /* opt_hints */ #line 146 "bison_parser.y" /* yacc.c:1257 */ { if ((((*yyvaluep).expr_vec)) != nullptr) { @@ -1791,202 +1791,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio #line 1792 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 169: /* hint */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).expr)); } -#line 1798 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 170: /* prepare_statement */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).prep_stmt)); } -#line 1804 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 171: /* prepare_target_query */ -#line 145 "bison_parser.y" /* yacc.c:1257 */ - { free( (((*yyvaluep).sval)) ); } -#line 1810 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 172: /* execute_statement */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).exec_stmt)); } -#line 1816 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 173: /* import_statement */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).import_stmt)); } -#line 1822 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 174: /* import_file_type */ -#line 143 "bison_parser.y" /* yacc.c:1257 */ - { } -#line 1828 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 175: /* file_path */ -#line 145 "bison_parser.y" /* yacc.c:1257 */ - { free( (((*yyvaluep).sval)) ); } -#line 1834 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 176: /* show_statement */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).show_stmt)); } -#line 1840 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 177: /* create_statement */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).create_stmt)); } -#line 1846 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 178: /* opt_not_exists */ -#line 143 "bison_parser.y" /* yacc.c:1257 */ - { } -#line 1852 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 179: /* column_def_commalist */ -#line 146 "bison_parser.y" /* yacc.c:1257 */ - { - if ((((*yyvaluep).column_vec)) != nullptr) { - for (auto ptr : *(((*yyvaluep).column_vec))) { - delete ptr; - } - } - delete (((*yyvaluep).column_vec)); -} -#line 1865 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 180: /* column_def */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).column_t)); } -#line 1871 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 181: /* column_type */ -#line 143 "bison_parser.y" /* yacc.c:1257 */ - { } -#line 1877 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 182: /* opt_column_nullable */ -#line 143 "bison_parser.y" /* yacc.c:1257 */ - { } -#line 1883 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 183: /* drop_statement */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).drop_stmt)); } -#line 1889 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 184: /* opt_exists */ -#line 143 "bison_parser.y" /* yacc.c:1257 */ - { } -#line 1895 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 185: /* delete_statement */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).delete_stmt)); } -#line 1901 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 186: /* truncate_statement */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).delete_stmt)); } -#line 1907 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 187: /* insert_statement */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).insert_stmt)); } -#line 1913 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 188: /* opt_column_list */ -#line 146 "bison_parser.y" /* yacc.c:1257 */ - { - if ((((*yyvaluep).str_vec)) != nullptr) { - for (auto ptr : *(((*yyvaluep).str_vec))) { - delete ptr; - } - } - delete (((*yyvaluep).str_vec)); -} -#line 1926 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 189: /* update_statement */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).update_stmt)); } -#line 1932 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 190: /* update_clause_commalist */ -#line 146 "bison_parser.y" /* yacc.c:1257 */ - { - if ((((*yyvaluep).update_vec)) != nullptr) { - for (auto ptr : *(((*yyvaluep).update_vec))) { - delete ptr; - } - } - delete (((*yyvaluep).update_vec)); -} -#line 1945 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 191: /* update_clause */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).update_t)); } -#line 1951 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 192: /* select_statement */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).select_stmt)); } -#line 1957 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 193: /* select_with_paren */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).select_stmt)); } -#line 1963 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 194: /* select_paren_or_clause */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).select_stmt)); } -#line 1969 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 195: /* select_no_paren */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).select_stmt)); } -#line 1975 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 199: /* select_clause */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).select_stmt)); } -#line 1981 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 200: /* opt_distinct */ -#line 143 "bison_parser.y" /* yacc.c:1257 */ - { } -#line 1987 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 201: /* select_list */ + case 169: /* hint_list */ #line 146 "bison_parser.y" /* yacc.c:1257 */ { if ((((*yyvaluep).expr_vec)) != nullptr) { @@ -1996,53 +1801,248 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).expr_vec)); } -#line 2000 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1805 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 202: /* opt_from_clause */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).table)); } -#line 2006 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 203: /* from_clause */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).table)); } -#line 2012 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 204: /* opt_where */ + case 170: /* hint */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2018 "bison_parser.cpp" /* yacc.c:1257 */ +#line 1811 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 205: /* opt_group */ + case 171: /* prepare_statement */ #line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).group_t)); } -#line 2024 "bison_parser.cpp" /* yacc.c:1257 */ + { delete (((*yyvaluep).prep_stmt)); } +#line 1817 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 206: /* opt_having */ + case 172: /* prepare_target_query */ +#line 145 "bison_parser.y" /* yacc.c:1257 */ + { free( (((*yyvaluep).sval)) ); } +#line 1823 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 173: /* execute_statement */ #line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).expr)); } -#line 2030 "bison_parser.cpp" /* yacc.c:1257 */ + { delete (((*yyvaluep).exec_stmt)); } +#line 1829 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 207: /* opt_order */ + case 174: /* import_statement */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).import_stmt)); } +#line 1835 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 175: /* import_file_type */ +#line 143 "bison_parser.y" /* yacc.c:1257 */ + { } +#line 1841 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 176: /* file_path */ +#line 145 "bison_parser.y" /* yacc.c:1257 */ + { free( (((*yyvaluep).sval)) ); } +#line 1847 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 177: /* show_statement */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).show_stmt)); } +#line 1853 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 178: /* create_statement */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).create_stmt)); } +#line 1859 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 179: /* opt_not_exists */ +#line 143 "bison_parser.y" /* yacc.c:1257 */ + { } +#line 1865 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 180: /* column_def_commalist */ #line 146 "bison_parser.y" /* yacc.c:1257 */ { - if ((((*yyvaluep).order_vec)) != nullptr) { - for (auto ptr : *(((*yyvaluep).order_vec))) { + if ((((*yyvaluep).column_vec)) != nullptr) { + for (auto ptr : *(((*yyvaluep).column_vec))) { delete ptr; } } - delete (((*yyvaluep).order_vec)); + delete (((*yyvaluep).column_vec)); } +#line 1878 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 181: /* column_def */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).column_t)); } +#line 1884 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 182: /* column_type */ +#line 143 "bison_parser.y" /* yacc.c:1257 */ + { } +#line 1890 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 183: /* opt_column_nullable */ +#line 143 "bison_parser.y" /* yacc.c:1257 */ + { } +#line 1896 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 184: /* drop_statement */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).drop_stmt)); } +#line 1902 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 185: /* opt_exists */ +#line 143 "bison_parser.y" /* yacc.c:1257 */ + { } +#line 1908 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 186: /* delete_statement */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).delete_stmt)); } +#line 1914 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 187: /* truncate_statement */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).delete_stmt)); } +#line 1920 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 188: /* insert_statement */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).insert_stmt)); } +#line 1926 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 189: /* opt_column_list */ +#line 146 "bison_parser.y" /* yacc.c:1257 */ + { + if ((((*yyvaluep).str_vec)) != nullptr) { + for (auto ptr : *(((*yyvaluep).str_vec))) { + delete ptr; + } + } + delete (((*yyvaluep).str_vec)); +} +#line 1939 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 190: /* update_statement */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).update_stmt)); } +#line 1945 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 191: /* update_clause_commalist */ +#line 146 "bison_parser.y" /* yacc.c:1257 */ + { + if ((((*yyvaluep).update_vec)) != nullptr) { + for (auto ptr : *(((*yyvaluep).update_vec))) { + delete ptr; + } + } + delete (((*yyvaluep).update_vec)); +} +#line 1958 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 192: /* update_clause */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).update_t)); } +#line 1964 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 193: /* select_statement */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).select_stmt)); } +#line 1970 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 194: /* select_with_paren */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).select_stmt)); } +#line 1976 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 195: /* select_paren_or_clause */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).select_stmt)); } +#line 1982 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 196: /* select_no_paren */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).select_stmt)); } +#line 1988 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 200: /* select_clause */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).select_stmt)); } +#line 1994 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 201: /* opt_distinct */ +#line 143 "bison_parser.y" /* yacc.c:1257 */ + { } +#line 2000 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 202: /* select_list */ +#line 146 "bison_parser.y" /* yacc.c:1257 */ + { + if ((((*yyvaluep).expr_vec)) != nullptr) { + for (auto ptr : *(((*yyvaluep).expr_vec))) { + delete ptr; + } + } + delete (((*yyvaluep).expr_vec)); +} +#line 2013 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 203: /* opt_from_clause */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).table)); } +#line 2019 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 204: /* from_clause */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).table)); } +#line 2025 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 205: /* opt_where */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).expr)); } +#line 2031 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 206: /* opt_group */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).group_t)); } +#line 2037 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 207: /* opt_having */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).expr)); } #line 2043 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 208: /* order_list */ + case 208: /* opt_order */ #line 146 "bison_parser.y" /* yacc.c:1257 */ { if ((((*yyvaluep).order_vec)) != nullptr) { @@ -2055,44 +2055,44 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio #line 2056 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 209: /* order_desc */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).order)); } -#line 2062 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 210: /* opt_order_type */ -#line 143 "bison_parser.y" /* yacc.c:1257 */ - { } -#line 2068 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 211: /* opt_top */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).limit)); } -#line 2074 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 212: /* opt_limit */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).limit)); } -#line 2080 "bison_parser.cpp" /* yacc.c:1257 */ - break; - - case 213: /* expr_list */ + case 209: /* order_list */ #line 146 "bison_parser.y" /* yacc.c:1257 */ { - if ((((*yyvaluep).expr_vec)) != nullptr) { - for (auto ptr : *(((*yyvaluep).expr_vec))) { + if ((((*yyvaluep).order_vec)) != nullptr) { + for (auto ptr : *(((*yyvaluep).order_vec))) { delete ptr; } } - delete (((*yyvaluep).expr_vec)); + delete (((*yyvaluep).order_vec)); } +#line 2069 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 210: /* order_desc */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).order)); } +#line 2075 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 211: /* opt_order_type */ +#line 143 "bison_parser.y" /* yacc.c:1257 */ + { } +#line 2081 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 212: /* opt_top */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).limit)); } +#line 2087 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 213: /* opt_limit */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).limit)); } #line 2093 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 214: /* opt_literal_list */ + case 214: /* expr_list */ #line 146 "bison_parser.y" /* yacc.c:1257 */ { if ((((*yyvaluep).expr_vec)) != nullptr) { @@ -2105,7 +2105,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio #line 2106 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 215: /* literal_list */ + case 215: /* opt_literal_list */ #line 146 "bison_parser.y" /* yacc.c:1257 */ { if ((((*yyvaluep).expr_vec)) != nullptr) { @@ -2118,181 +2118,194 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio #line 2119 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 216: /* expr_alias */ -#line 154 "bison_parser.y" /* yacc.c:1257 */ - { delete (((*yyvaluep).expr)); } -#line 2125 "bison_parser.cpp" /* yacc.c:1257 */ + case 216: /* literal_list */ +#line 146 "bison_parser.y" /* yacc.c:1257 */ + { + if ((((*yyvaluep).expr_vec)) != nullptr) { + for (auto ptr : *(((*yyvaluep).expr_vec))) { + delete ptr; + } + } + delete (((*yyvaluep).expr_vec)); +} +#line 2132 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 217: /* expr */ + case 217: /* expr_alias */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2131 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2138 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 218: /* operand */ + case 218: /* expr */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2137 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2144 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 219: /* scalar_expr */ + case 219: /* operand */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2143 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2150 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 220: /* unary_expr */ + case 220: /* scalar_expr */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2149 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2156 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 221: /* binary_expr */ + case 221: /* unary_expr */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2155 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2162 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 222: /* logic_expr */ + case 222: /* binary_expr */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2161 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2168 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 223: /* in_expr */ + case 223: /* logic_expr */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2167 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2174 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 224: /* case_expr */ + case 224: /* in_expr */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2173 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2180 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 225: /* case_list */ + case 225: /* case_expr */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2179 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2186 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 226: /* exists_expr */ + case 226: /* case_list */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2185 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2192 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 227: /* comp_expr */ + case 227: /* exists_expr */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2191 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2198 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 228: /* function_expr */ + case 228: /* comp_expr */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2197 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2204 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 229: /* extract_expr */ + case 229: /* function_expr */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2203 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2210 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 230: /* datetime_field */ + case 230: /* extract_expr */ +#line 154 "bison_parser.y" /* yacc.c:1257 */ + { delete (((*yyvaluep).expr)); } +#line 2216 "bison_parser.cpp" /* yacc.c:1257 */ + break; + + case 231: /* datetime_field */ #line 143 "bison_parser.y" /* yacc.c:1257 */ { } -#line 2209 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2222 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 231: /* array_expr */ + case 232: /* array_expr */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2215 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2228 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 232: /* array_index */ + case 233: /* array_index */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2221 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2234 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 233: /* between_expr */ + case 234: /* between_expr */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2227 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2240 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 234: /* column_name */ + case 235: /* column_name */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2233 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2246 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 235: /* literal */ + case 236: /* literal */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2239 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2252 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 236: /* string_literal */ + case 237: /* string_literal */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2245 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2258 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 237: /* bool_literal */ + case 238: /* bool_literal */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2251 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2264 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 238: /* num_literal */ + case 239: /* num_literal */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2257 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2270 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 239: /* int_literal */ + case 240: /* int_literal */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2263 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2276 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 240: /* null_literal */ + case 241: /* null_literal */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2269 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2282 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 241: /* param_expr */ + case 242: /* param_expr */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2275 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2288 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 242: /* table_ref */ + case 243: /* table_ref */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).table)); } -#line 2281 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2294 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 243: /* table_ref_atomic */ + case 244: /* table_ref_atomic */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).table)); } -#line 2287 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2300 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 244: /* nonjoin_table_ref_atomic */ + case 245: /* nonjoin_table_ref_atomic */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).table)); } -#line 2293 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2306 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 245: /* table_ref_commalist */ + case 246: /* table_ref_commalist */ #line 146 "bison_parser.y" /* yacc.c:1257 */ { if ((((*yyvaluep).table_vec)) != nullptr) { @@ -2302,94 +2315,94 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).table_vec)); } -#line 2306 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2319 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 246: /* table_ref_name */ + case 247: /* table_ref_name */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).table)); } -#line 2312 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2325 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 247: /* table_ref_name_no_alias */ + case 248: /* table_ref_name_no_alias */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).table)); } -#line 2318 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2331 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 248: /* table_name */ + case 249: /* table_name */ #line 144 "bison_parser.y" /* yacc.c:1257 */ { free( (((*yyvaluep).table_name).name) ); free( (((*yyvaluep).table_name).schema) ); } -#line 2324 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2337 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 249: /* table_alias */ + case 250: /* table_alias */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).alias_t)); } -#line 2330 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2343 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 250: /* opt_table_alias */ + case 251: /* opt_table_alias */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).alias_t)); } -#line 2336 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2349 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 251: /* alias */ + case 252: /* alias */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).alias_t)); } -#line 2342 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2355 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 252: /* opt_alias */ + case 253: /* opt_alias */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).alias_t)); } -#line 2348 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2361 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 253: /* opt_with_clause */ + case 254: /* opt_with_clause */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).with_description_vec)); } -#line 2354 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2367 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 254: /* with_clause */ + case 255: /* with_clause */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).with_description_vec)); } -#line 2360 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2373 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 255: /* with_description_list */ + case 256: /* with_description_list */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).with_description_vec)); } -#line 2366 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2379 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 256: /* with_description */ + case 257: /* with_description */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).with_description_t)); } -#line 2372 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2385 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 257: /* join_clause */ + case 258: /* join_clause */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).table)); } -#line 2378 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2391 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 258: /* opt_join_type */ + case 259: /* opt_join_type */ #line 143 "bison_parser.y" /* yacc.c:1257 */ { } -#line 2384 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2397 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 259: /* join_condition */ + case 260: /* join_condition */ #line 154 "bison_parser.y" /* yacc.c:1257 */ { delete (((*yyvaluep).expr)); } -#line 2390 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2403 "bison_parser.cpp" /* yacc.c:1257 */ break; - case 261: /* ident_commalist */ + case 262: /* ident_commalist */ #line 146 "bison_parser.y" /* yacc.c:1257 */ { if ((((*yyvaluep).str_vec)) != nullptr) { @@ -2399,7 +2412,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio } delete (((*yyvaluep).str_vec)); } -#line 2403 "bison_parser.cpp" /* yacc.c:1257 */ +#line 2416 "bison_parser.cpp" /* yacc.c:1257 */ break; default: @@ -2517,7 +2530,7 @@ YYLTYPE yylloc = yyloc_default; yylloc.string_length = 0; } -#line 2521 "bison_parser.cpp" /* yacc.c:1437 */ +#line 2534 "bison_parser.cpp" /* yacc.c:1437 */ yylsp[0] = yylloc; goto yysetstate; @@ -2727,7 +2740,7 @@ yyreduce: } delete (yyvsp[-1].stmt_vec); } -#line 2731 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2744 "bison_parser.cpp" /* yacc.c:1667 */ break; case 3: @@ -2738,7 +2751,7 @@ yyreduce: (yyval.stmt_vec) = new std::vector(); (yyval.stmt_vec)->push_back((yyvsp[0].statement)); } -#line 2742 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2755 "bison_parser.cpp" /* yacc.c:1667 */ break; case 4: @@ -2749,7 +2762,7 @@ yyreduce: (yyvsp[-2].stmt_vec)->push_back((yyvsp[0].statement)); (yyval.stmt_vec) = (yyvsp[-2].stmt_vec); } -#line 2753 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2766 "bison_parser.cpp" /* yacc.c:1667 */ break; case 5: @@ -2758,7 +2771,7 @@ yyreduce: (yyval.statement) = (yyvsp[-1].prep_stmt); (yyval.statement)->hints = (yyvsp[0].expr_vec); } -#line 2762 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2775 "bison_parser.cpp" /* yacc.c:1667 */ break; case 6: @@ -2767,7 +2780,7 @@ yyreduce: (yyval.statement) = (yyvsp[-1].statement); (yyval.statement)->hints = (yyvsp[0].expr_vec); } -#line 2771 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2784 "bison_parser.cpp" /* yacc.c:1667 */ break; case 7: @@ -2775,85 +2788,85 @@ yyreduce: { (yyval.statement) = (yyvsp[0].show_stmt); } -#line 2779 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2792 "bison_parser.cpp" /* yacc.c:1667 */ break; case 8: #line 309 "bison_parser.y" /* yacc.c:1667 */ { (yyval.statement) = (yyvsp[0].select_stmt); } -#line 2785 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2798 "bison_parser.cpp" /* yacc.c:1667 */ break; case 9: #line 310 "bison_parser.y" /* yacc.c:1667 */ { (yyval.statement) = (yyvsp[0].import_stmt); } -#line 2791 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2804 "bison_parser.cpp" /* yacc.c:1667 */ break; case 10: #line 311 "bison_parser.y" /* yacc.c:1667 */ { (yyval.statement) = (yyvsp[0].create_stmt); } -#line 2797 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2810 "bison_parser.cpp" /* yacc.c:1667 */ break; case 11: #line 312 "bison_parser.y" /* yacc.c:1667 */ { (yyval.statement) = (yyvsp[0].insert_stmt); } -#line 2803 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2816 "bison_parser.cpp" /* yacc.c:1667 */ break; case 12: #line 313 "bison_parser.y" /* yacc.c:1667 */ { (yyval.statement) = (yyvsp[0].delete_stmt); } -#line 2809 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2822 "bison_parser.cpp" /* yacc.c:1667 */ break; case 13: #line 314 "bison_parser.y" /* yacc.c:1667 */ { (yyval.statement) = (yyvsp[0].delete_stmt); } -#line 2815 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2828 "bison_parser.cpp" /* yacc.c:1667 */ break; case 14: #line 315 "bison_parser.y" /* yacc.c:1667 */ { (yyval.statement) = (yyvsp[0].update_stmt); } -#line 2821 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2834 "bison_parser.cpp" /* yacc.c:1667 */ break; case 15: #line 316 "bison_parser.y" /* yacc.c:1667 */ { (yyval.statement) = (yyvsp[0].drop_stmt); } -#line 2827 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2840 "bison_parser.cpp" /* yacc.c:1667 */ break; case 16: #line 317 "bison_parser.y" /* yacc.c:1667 */ { (yyval.statement) = (yyvsp[0].exec_stmt); } -#line 2833 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2846 "bison_parser.cpp" /* yacc.c:1667 */ break; case 17: #line 326 "bison_parser.y" /* yacc.c:1667 */ { (yyval.expr_vec) = (yyvsp[-1].expr_vec); } -#line 2839 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2852 "bison_parser.cpp" /* yacc.c:1667 */ break; case 18: #line 327 "bison_parser.y" /* yacc.c:1667 */ { (yyval.expr_vec) = nullptr; } -#line 2845 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2858 "bison_parser.cpp" /* yacc.c:1667 */ break; case 19: #line 332 "bison_parser.y" /* yacc.c:1667 */ { (yyval.expr_vec) = new std::vector(); (yyval.expr_vec)->push_back((yyvsp[0].expr)); } -#line 2851 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2864 "bison_parser.cpp" /* yacc.c:1667 */ break; case 20: #line 333 "bison_parser.y" /* yacc.c:1667 */ { (yyvsp[-2].expr_vec)->push_back((yyvsp[0].expr)); (yyval.expr_vec) = (yyvsp[-2].expr_vec); } -#line 2857 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2870 "bison_parser.cpp" /* yacc.c:1667 */ break; case 21: @@ -2862,7 +2875,7 @@ yyreduce: (yyval.expr) = Expr::make(kExprHint); (yyval.expr)->name = (yyvsp[0].sval); } -#line 2866 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2879 "bison_parser.cpp" /* yacc.c:1667 */ break; case 22: @@ -2872,7 +2885,7 @@ yyreduce: (yyval.expr)->name = (yyvsp[-3].sval); (yyval.expr)->exprList = (yyvsp[-1].expr_vec); } -#line 2876 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2889 "bison_parser.cpp" /* yacc.c:1667 */ break; case 23: @@ -2882,7 +2895,7 @@ yyreduce: (yyval.prep_stmt)->name = (yyvsp[-2].sval); (yyval.prep_stmt)->query = (yyvsp[0].sval); } -#line 2886 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2899 "bison_parser.cpp" /* yacc.c:1667 */ break; case 25: @@ -2891,7 +2904,7 @@ yyreduce: (yyval.exec_stmt) = new ExecuteStatement(); (yyval.exec_stmt)->name = (yyvsp[0].sval); } -#line 2895 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2908 "bison_parser.cpp" /* yacc.c:1667 */ break; case 26: @@ -2901,7 +2914,7 @@ yyreduce: (yyval.exec_stmt)->name = (yyvsp[-3].sval); (yyval.exec_stmt)->parameters = (yyvsp[-1].expr_vec); } -#line 2905 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2918 "bison_parser.cpp" /* yacc.c:1667 */ break; case 27: @@ -2912,19 +2925,19 @@ yyreduce: (yyval.import_stmt)->schema = (yyvsp[0].table_name).schema; (yyval.import_stmt)->tableName = (yyvsp[0].table_name).name; } -#line 2916 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2929 "bison_parser.cpp" /* yacc.c:1667 */ break; case 28: #line 388 "bison_parser.y" /* yacc.c:1667 */ { (yyval.uval) = kImportCSV; } -#line 2922 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2935 "bison_parser.cpp" /* yacc.c:1667 */ break; case 29: #line 392 "bison_parser.y" /* yacc.c:1667 */ { (yyval.sval) = strdup((yyvsp[0].expr)->name); delete (yyvsp[0].expr); } -#line 2928 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2941 "bison_parser.cpp" /* yacc.c:1667 */ break; case 30: @@ -2932,7 +2945,7 @@ yyreduce: { (yyval.show_stmt) = new ShowStatement(kShowTables); } -#line 2936 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2949 "bison_parser.cpp" /* yacc.c:1667 */ break; case 31: @@ -2942,11 +2955,21 @@ yyreduce: (yyval.show_stmt)->schema = (yyvsp[0].table_name).schema; (yyval.show_stmt)->name = (yyvsp[0].table_name).name; } -#line 2946 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2959 "bison_parser.cpp" /* yacc.c:1667 */ break; case 32: -#line 419 "bison_parser.y" /* yacc.c:1667 */ +#line 410 "bison_parser.y" /* yacc.c:1667 */ + { + (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 2969 "bison_parser.cpp" /* yacc.c:1667 */ + break; + + case 33: +#line 424 "bison_parser.y" /* yacc.c:1667 */ { (yyval.create_stmt) = new CreateStatement(kCreateTableFromTbl); (yyval.create_stmt)->ifNotExists = (yyvsp[-5].bval); @@ -2954,11 +2977,11 @@ yyreduce: (yyval.create_stmt)->tableName = (yyvsp[-4].table_name).name; (yyval.create_stmt)->filePath = (yyvsp[0].sval); } -#line 2958 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2981 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 33: -#line 426 "bison_parser.y" /* yacc.c:1667 */ + case 34: +#line 431 "bison_parser.y" /* yacc.c:1667 */ { (yyval.create_stmt) = new CreateStatement(kCreateTable); (yyval.create_stmt)->ifNotExists = (yyvsp[-4].bval); @@ -2966,11 +2989,11 @@ yyreduce: (yyval.create_stmt)->tableName = (yyvsp[-3].table_name).name; (yyval.create_stmt)->columns = (yyvsp[-1].column_vec); } -#line 2970 "bison_parser.cpp" /* yacc.c:1667 */ +#line 2993 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 34: -#line 433 "bison_parser.y" /* yacc.c:1667 */ + case 35: +#line 438 "bison_parser.y" /* yacc.c:1667 */ { (yyval.create_stmt) = new CreateStatement(kCreateTable); (yyval.create_stmt)->ifNotExists = (yyvsp[-3].bval); @@ -2978,11 +3001,11 @@ yyreduce: (yyval.create_stmt)->tableName = (yyvsp[-2].table_name).name; (yyval.create_stmt)->select = (yyvsp[0].select_stmt); } -#line 2982 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3005 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 35: -#line 440 "bison_parser.y" /* yacc.c:1667 */ + case 36: +#line 445 "bison_parser.y" /* yacc.c:1667 */ { (yyval.create_stmt) = new CreateStatement(kCreateView); (yyval.create_stmt)->ifNotExists = (yyvsp[-4].bval); @@ -2991,174 +3014,174 @@ yyreduce: (yyval.create_stmt)->viewColumns = (yyvsp[-2].str_vec); (yyval.create_stmt)->select = (yyvsp[0].select_stmt); } -#line 2995 "bison_parser.cpp" /* yacc.c:1667 */ - break; - - case 36: -#line 451 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.bval) = true; } -#line 3001 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3018 "bison_parser.cpp" /* yacc.c:1667 */ break; case 37: -#line 452 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.bval) = false; } -#line 3007 "bison_parser.cpp" /* yacc.c:1667 */ +#line 456 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.bval) = true; } +#line 3024 "bison_parser.cpp" /* yacc.c:1667 */ break; case 38: -#line 456 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.column_vec) = new std::vector(); (yyval.column_vec)->push_back((yyvsp[0].column_t)); } -#line 3013 "bison_parser.cpp" /* yacc.c:1667 */ +#line 457 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.bval) = false; } +#line 3030 "bison_parser.cpp" /* yacc.c:1667 */ break; case 39: -#line 457 "bison_parser.y" /* yacc.c:1667 */ - { (yyvsp[-2].column_vec)->push_back((yyvsp[0].column_t)); (yyval.column_vec) = (yyvsp[-2].column_vec); } -#line 3019 "bison_parser.cpp" /* yacc.c:1667 */ +#line 461 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.column_vec) = new std::vector(); (yyval.column_vec)->push_back((yyvsp[0].column_t)); } +#line 3036 "bison_parser.cpp" /* yacc.c:1667 */ break; case 40: -#line 461 "bison_parser.y" /* yacc.c:1667 */ - { - (yyval.column_t) = new ColumnDefinition((yyvsp[-2].sval), (yyvsp[-1].column_type_t), (yyvsp[0].bval)); - } -#line 3027 "bison_parser.cpp" /* yacc.c:1667 */ +#line 462 "bison_parser.y" /* yacc.c:1667 */ + { (yyvsp[-2].column_vec)->push_back((yyvsp[0].column_t)); (yyval.column_vec) = (yyvsp[-2].column_vec); } +#line 3042 "bison_parser.cpp" /* yacc.c:1667 */ break; case 41: -#line 467 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.column_type_t) = ColumnType{DataType::INT}; } -#line 3033 "bison_parser.cpp" /* yacc.c:1667 */ +#line 466 "bison_parser.y" /* yacc.c:1667 */ + { + (yyval.column_t) = new ColumnDefinition((yyvsp[-2].sval), (yyvsp[-1].column_type_t), (yyvsp[0].bval)); + } +#line 3050 "bison_parser.cpp" /* yacc.c:1667 */ break; case 42: -#line 468 "bison_parser.y" /* yacc.c:1667 */ +#line 472 "bison_parser.y" /* yacc.c:1667 */ { (yyval.column_type_t) = ColumnType{DataType::INT}; } -#line 3039 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3056 "bison_parser.cpp" /* yacc.c:1667 */ break; case 43: -#line 469 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.column_type_t) = ColumnType{DataType::LONG}; } -#line 3045 "bison_parser.cpp" /* yacc.c:1667 */ +#line 473 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.column_type_t) = ColumnType{DataType::INT}; } +#line 3062 "bison_parser.cpp" /* yacc.c:1667 */ break; case 44: -#line 470 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.column_type_t) = ColumnType{DataType::FLOAT}; } -#line 3051 "bison_parser.cpp" /* yacc.c:1667 */ +#line 474 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.column_type_t) = ColumnType{DataType::LONG}; } +#line 3068 "bison_parser.cpp" /* yacc.c:1667 */ break; case 45: -#line 471 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.column_type_t) = ColumnType{DataType::DOUBLE}; } -#line 3057 "bison_parser.cpp" /* yacc.c:1667 */ +#line 475 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.column_type_t) = ColumnType{DataType::FLOAT}; } +#line 3074 "bison_parser.cpp" /* yacc.c:1667 */ break; case 46: -#line 472 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.column_type_t) = ColumnType{DataType::VARCHAR, (yyvsp[-1].ival)}; } -#line 3063 "bison_parser.cpp" /* yacc.c:1667 */ +#line 476 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.column_type_t) = ColumnType{DataType::DOUBLE}; } +#line 3080 "bison_parser.cpp" /* yacc.c:1667 */ break; case 47: -#line 473 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.column_type_t) = ColumnType{DataType::CHAR, (yyvsp[-1].ival)}; } -#line 3069 "bison_parser.cpp" /* yacc.c:1667 */ +#line 477 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.column_type_t) = ColumnType{DataType::VARCHAR, (yyvsp[-1].ival)}; } +#line 3086 "bison_parser.cpp" /* yacc.c:1667 */ break; case 48: -#line 474 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.column_type_t) = ColumnType{DataType::TEXT}; } -#line 3075 "bison_parser.cpp" /* yacc.c:1667 */ +#line 478 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.column_type_t) = ColumnType{DataType::CHAR, (yyvsp[-1].ival)}; } +#line 3092 "bison_parser.cpp" /* yacc.c:1667 */ break; case 49: -#line 478 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.bval) = true; } -#line 3081 "bison_parser.cpp" /* yacc.c:1667 */ +#line 479 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.column_type_t) = ColumnType{DataType::TEXT}; } +#line 3098 "bison_parser.cpp" /* yacc.c:1667 */ break; case 50: -#line 479 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.bval) = false; } -#line 3087 "bison_parser.cpp" /* yacc.c:1667 */ +#line 483 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.bval) = true; } +#line 3104 "bison_parser.cpp" /* yacc.c:1667 */ break; case 51: -#line 480 "bison_parser.y" /* yacc.c:1667 */ +#line 484 "bison_parser.y" /* yacc.c:1667 */ { (yyval.bval) = false; } -#line 3093 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3110 "bison_parser.cpp" /* yacc.c:1667 */ break; case 52: -#line 490 "bison_parser.y" /* yacc.c:1667 */ +#line 485 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.bval) = false; } +#line 3116 "bison_parser.cpp" /* yacc.c:1667 */ + break; + + case 53: +#line 495 "bison_parser.y" /* yacc.c:1667 */ { (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 3104 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3127 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 53: -#line 496 "bison_parser.y" /* yacc.c:1667 */ + case 54: +#line 501 "bison_parser.y" /* yacc.c:1667 */ { (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 3115 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3138 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 54: -#line 502 "bison_parser.y" /* yacc.c:1667 */ + case 55: +#line 507 "bison_parser.y" /* yacc.c:1667 */ { (yyval.drop_stmt) = new DropStatement(kDropPreparedStatement); (yyval.drop_stmt)->ifExists = false; (yyval.drop_stmt)->name = (yyvsp[0].sval); } -#line 3125 "bison_parser.cpp" /* yacc.c:1667 */ - break; - - case 55: -#line 510 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.bval) = true; } -#line 3131 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3148 "bison_parser.cpp" /* yacc.c:1667 */ break; case 56: -#line 511 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.bval) = false; } -#line 3137 "bison_parser.cpp" /* yacc.c:1667 */ +#line 515 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.bval) = true; } +#line 3154 "bison_parser.cpp" /* yacc.c:1667 */ break; case 57: -#line 520 "bison_parser.y" /* yacc.c:1667 */ +#line 516 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.bval) = false; } +#line 3160 "bison_parser.cpp" /* yacc.c:1667 */ + break; + + case 58: +#line 525 "bison_parser.y" /* yacc.c:1667 */ { (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 3148 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3171 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 58: -#line 529 "bison_parser.y" /* yacc.c:1667 */ + case 59: +#line 534 "bison_parser.y" /* yacc.c:1667 */ { (yyval.delete_stmt) = new DeleteStatement(); (yyval.delete_stmt)->schema = (yyvsp[0].table_name).schema; (yyval.delete_stmt)->tableName = (yyvsp[0].table_name).name; } -#line 3158 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3181 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 59: -#line 542 "bison_parser.y" /* yacc.c:1667 */ + case 60: +#line 547 "bison_parser.y" /* yacc.c:1667 */ { (yyval.insert_stmt) = new InsertStatement(kInsertValues); (yyval.insert_stmt)->schema = (yyvsp[-5].table_name).schema; @@ -3166,11 +3189,11 @@ yyreduce: (yyval.insert_stmt)->columns = (yyvsp[-4].str_vec); (yyval.insert_stmt)->values = (yyvsp[-1].expr_vec); } -#line 3170 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3193 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 60: -#line 549 "bison_parser.y" /* yacc.c:1667 */ + case 61: +#line 554 "bison_parser.y" /* yacc.c:1667 */ { (yyval.insert_stmt) = new InsertStatement(kInsertSelect); (yyval.insert_stmt)->schema = (yyvsp[-2].table_name).schema; @@ -3178,74 +3201,74 @@ yyreduce: (yyval.insert_stmt)->columns = (yyvsp[-1].str_vec); (yyval.insert_stmt)->select = (yyvsp[0].select_stmt); } -#line 3182 "bison_parser.cpp" /* yacc.c:1667 */ - break; - - case 61: -#line 560 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.str_vec) = (yyvsp[-1].str_vec); } -#line 3188 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3205 "bison_parser.cpp" /* yacc.c:1667 */ break; case 62: -#line 561 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.str_vec) = nullptr; } -#line 3194 "bison_parser.cpp" /* yacc.c:1667 */ +#line 565 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.str_vec) = (yyvsp[-1].str_vec); } +#line 3211 "bison_parser.cpp" /* yacc.c:1667 */ break; case 63: -#line 571 "bison_parser.y" /* yacc.c:1667 */ +#line 566 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.str_vec) = nullptr; } +#line 3217 "bison_parser.cpp" /* yacc.c:1667 */ + break; + + case 64: +#line 576 "bison_parser.y" /* yacc.c:1667 */ { (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 3205 "bison_parser.cpp" /* yacc.c:1667 */ - break; - - case 64: -#line 580 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.update_vec) = new std::vector(); (yyval.update_vec)->push_back((yyvsp[0].update_t)); } -#line 3211 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3228 "bison_parser.cpp" /* yacc.c:1667 */ break; case 65: -#line 581 "bison_parser.y" /* yacc.c:1667 */ - { (yyvsp[-2].update_vec)->push_back((yyvsp[0].update_t)); (yyval.update_vec) = (yyvsp[-2].update_vec); } -#line 3217 "bison_parser.cpp" /* yacc.c:1667 */ +#line 585 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.update_vec) = new std::vector(); (yyval.update_vec)->push_back((yyvsp[0].update_t)); } +#line 3234 "bison_parser.cpp" /* yacc.c:1667 */ break; case 66: -#line 585 "bison_parser.y" /* yacc.c:1667 */ +#line 586 "bison_parser.y" /* yacc.c:1667 */ + { (yyvsp[-2].update_vec)->push_back((yyvsp[0].update_t)); (yyval.update_vec) = (yyvsp[-2].update_vec); } +#line 3240 "bison_parser.cpp" /* yacc.c:1667 */ + break; + + case 67: +#line 590 "bison_parser.y" /* yacc.c:1667 */ { (yyval.update_t) = new UpdateClause(); (yyval.update_t)->column = (yyvsp[-2].sval); (yyval.update_t)->value = (yyvsp[0].expr); } -#line 3227 "bison_parser.cpp" /* yacc.c:1667 */ - break; - - case 67: -#line 597 "bison_parser.y" /* yacc.c:1667 */ - { - (yyval.select_stmt) = (yyvsp[0].select_stmt); - (yyval.select_stmt)->withDescriptions = (yyvsp[-1].with_description_vec); - } -#line 3236 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3250 "bison_parser.cpp" /* yacc.c:1667 */ break; case 68: -#line 601 "bison_parser.y" /* yacc.c:1667 */ +#line 602 "bison_parser.y" /* yacc.c:1667 */ { (yyval.select_stmt) = (yyvsp[0].select_stmt); (yyval.select_stmt)->withDescriptions = (yyvsp[-1].with_description_vec); } -#line 3245 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3259 "bison_parser.cpp" /* yacc.c:1667 */ break; case 69: -#line 605 "bison_parser.y" /* yacc.c:1667 */ +#line 606 "bison_parser.y" /* yacc.c:1667 */ + { + (yyval.select_stmt) = (yyvsp[0].select_stmt); + (yyval.select_stmt)->withDescriptions = (yyvsp[-1].with_description_vec); + } +#line 3268 "bison_parser.cpp" /* yacc.c:1667 */ + break; + + case 70: +#line 610 "bison_parser.y" /* yacc.c:1667 */ { // TODO: allow multiple unions (through linked list) // TODO: capture type of set_operator @@ -3261,23 +3284,23 @@ yyreduce: (yyval.select_stmt)->limit = (yyvsp[0].limit); } } -#line 3265 "bison_parser.cpp" /* yacc.c:1667 */ - break; - - case 70: -#line 623 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.select_stmt) = (yyvsp[-1].select_stmt); } -#line 3271 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3288 "bison_parser.cpp" /* yacc.c:1667 */ break; case 71: -#line 624 "bison_parser.y" /* yacc.c:1667 */ +#line 628 "bison_parser.y" /* yacc.c:1667 */ { (yyval.select_stmt) = (yyvsp[-1].select_stmt); } -#line 3277 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3294 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 74: -#line 633 "bison_parser.y" /* yacc.c:1667 */ + case 72: +#line 629 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.select_stmt) = (yyvsp[-1].select_stmt); } +#line 3300 "bison_parser.cpp" /* yacc.c:1667 */ + break; + + case 75: +#line 638 "bison_parser.y" /* yacc.c:1667 */ { (yyval.select_stmt) = (yyvsp[-2].select_stmt); (yyval.select_stmt)->order = (yyvsp[-1].order_vec); @@ -3288,11 +3311,11 @@ yyreduce: (yyval.select_stmt)->limit = (yyvsp[0].limit); } } -#line 3292 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3315 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 75: -#line 643 "bison_parser.y" /* yacc.c:1667 */ + case 76: +#line 648 "bison_parser.y" /* yacc.c:1667 */ { // TODO: allow multiple unions (through linked list) // TODO: capture type of set_operator @@ -3307,11 +3330,11 @@ yyreduce: (yyval.select_stmt)->limit = (yyvsp[0].limit); } } -#line 3311 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3334 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 82: -#line 675 "bison_parser.y" /* yacc.c:1667 */ + case 83: +#line 680 "bison_parser.y" /* yacc.c:1667 */ { (yyval.select_stmt) = new SelectStatement(); (yyval.select_stmt)->limit = (yyvsp[-5].limit); @@ -3321,213 +3344,213 @@ yyreduce: (yyval.select_stmt)->whereClause = (yyvsp[-1].expr); (yyval.select_stmt)->groupBy = (yyvsp[0].group_t); } -#line 3325 "bison_parser.cpp" /* yacc.c:1667 */ - break; - - case 83: -#line 687 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.bval) = true; } -#line 3331 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3348 "bison_parser.cpp" /* yacc.c:1667 */ break; case 84: -#line 688 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.bval) = false; } -#line 3337 "bison_parser.cpp" /* yacc.c:1667 */ +#line 692 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.bval) = true; } +#line 3354 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 86: -#line 696 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.table) = (yyvsp[0].table); } -#line 3343 "bison_parser.cpp" /* yacc.c:1667 */ + case 85: +#line 693 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.bval) = false; } +#line 3360 "bison_parser.cpp" /* yacc.c:1667 */ break; case 87: -#line 697 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.table) = nullptr; } -#line 3349 "bison_parser.cpp" /* yacc.c:1667 */ +#line 701 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.table) = (yyvsp[0].table); } +#line 3366 "bison_parser.cpp" /* yacc.c:1667 */ break; case 88: -#line 700 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.table) = (yyvsp[0].table); } -#line 3355 "bison_parser.cpp" /* yacc.c:1667 */ +#line 702 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.table) = nullptr; } +#line 3372 "bison_parser.cpp" /* yacc.c:1667 */ break; case 89: #line 705 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = (yyvsp[0].expr); } -#line 3361 "bison_parser.cpp" /* yacc.c:1667 */ + { (yyval.table) = (yyvsp[0].table); } +#line 3378 "bison_parser.cpp" /* yacc.c:1667 */ break; case 90: -#line 706 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = nullptr; } -#line 3367 "bison_parser.cpp" /* yacc.c:1667 */ +#line 710 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = (yyvsp[0].expr); } +#line 3384 "bison_parser.cpp" /* yacc.c:1667 */ break; case 91: -#line 710 "bison_parser.y" /* yacc.c:1667 */ +#line 711 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = nullptr; } +#line 3390 "bison_parser.cpp" /* yacc.c:1667 */ + break; + + case 92: +#line 715 "bison_parser.y" /* yacc.c:1667 */ { (yyval.group_t) = new GroupByDescription(); (yyval.group_t)->columns = (yyvsp[-1].expr_vec); (yyval.group_t)->having = (yyvsp[0].expr); } -#line 3377 "bison_parser.cpp" /* yacc.c:1667 */ - break; - - case 92: -#line 715 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.group_t) = nullptr; } -#line 3383 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3400 "bison_parser.cpp" /* yacc.c:1667 */ break; case 93: -#line 719 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = (yyvsp[0].expr); } -#line 3389 "bison_parser.cpp" /* yacc.c:1667 */ +#line 720 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.group_t) = nullptr; } +#line 3406 "bison_parser.cpp" /* yacc.c:1667 */ break; case 94: -#line 720 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = nullptr; } -#line 3395 "bison_parser.cpp" /* yacc.c:1667 */ +#line 724 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = (yyvsp[0].expr); } +#line 3412 "bison_parser.cpp" /* yacc.c:1667 */ break; case 95: -#line 723 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.order_vec) = (yyvsp[0].order_vec); } -#line 3401 "bison_parser.cpp" /* yacc.c:1667 */ +#line 725 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = nullptr; } +#line 3418 "bison_parser.cpp" /* yacc.c:1667 */ break; case 96: -#line 724 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.order_vec) = nullptr; } -#line 3407 "bison_parser.cpp" /* yacc.c:1667 */ +#line 728 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.order_vec) = (yyvsp[0].order_vec); } +#line 3424 "bison_parser.cpp" /* yacc.c:1667 */ break; case 97: -#line 728 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.order_vec) = new std::vector(); (yyval.order_vec)->push_back((yyvsp[0].order)); } -#line 3413 "bison_parser.cpp" /* yacc.c:1667 */ +#line 729 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.order_vec) = nullptr; } +#line 3430 "bison_parser.cpp" /* yacc.c:1667 */ break; case 98: -#line 729 "bison_parser.y" /* yacc.c:1667 */ - { (yyvsp[-2].order_vec)->push_back((yyvsp[0].order)); (yyval.order_vec) = (yyvsp[-2].order_vec); } -#line 3419 "bison_parser.cpp" /* yacc.c:1667 */ +#line 733 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.order_vec) = new std::vector(); (yyval.order_vec)->push_back((yyvsp[0].order)); } +#line 3436 "bison_parser.cpp" /* yacc.c:1667 */ break; case 99: -#line 733 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.order) = new OrderDescription((yyvsp[0].order_type), (yyvsp[-1].expr)); } -#line 3425 "bison_parser.cpp" /* yacc.c:1667 */ +#line 734 "bison_parser.y" /* yacc.c:1667 */ + { (yyvsp[-2].order_vec)->push_back((yyvsp[0].order)); (yyval.order_vec) = (yyvsp[-2].order_vec); } +#line 3442 "bison_parser.cpp" /* yacc.c:1667 */ break; case 100: -#line 737 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.order_type) = kOrderAsc; } -#line 3431 "bison_parser.cpp" /* yacc.c:1667 */ +#line 738 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.order) = new OrderDescription((yyvsp[0].order_type), (yyvsp[-1].expr)); } +#line 3448 "bison_parser.cpp" /* yacc.c:1667 */ break; case 101: -#line 738 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.order_type) = kOrderDesc; } -#line 3437 "bison_parser.cpp" /* yacc.c:1667 */ +#line 742 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.order_type) = kOrderAsc; } +#line 3454 "bison_parser.cpp" /* yacc.c:1667 */ break; case 102: -#line 739 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.order_type) = kOrderAsc; } -#line 3443 "bison_parser.cpp" /* yacc.c:1667 */ +#line 743 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.order_type) = kOrderDesc; } +#line 3460 "bison_parser.cpp" /* yacc.c:1667 */ break; case 103: -#line 745 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.limit) = new LimitDescription((yyvsp[0].expr), nullptr); } -#line 3449 "bison_parser.cpp" /* yacc.c:1667 */ +#line 744 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.order_type) = kOrderAsc; } +#line 3466 "bison_parser.cpp" /* yacc.c:1667 */ break; case 104: -#line 746 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.limit) = nullptr; } -#line 3455 "bison_parser.cpp" /* yacc.c:1667 */ +#line 750 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.limit) = new LimitDescription((yyvsp[0].expr), nullptr); } +#line 3472 "bison_parser.cpp" /* yacc.c:1667 */ break; case 105: -#line 750 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.limit) = new LimitDescription((yyvsp[0].expr), nullptr); } -#line 3461 "bison_parser.cpp" /* yacc.c:1667 */ +#line 751 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.limit) = nullptr; } +#line 3478 "bison_parser.cpp" /* yacc.c:1667 */ break; case 106: -#line 751 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.limit) = new LimitDescription(nullptr, (yyvsp[0].expr)); } -#line 3467 "bison_parser.cpp" /* yacc.c:1667 */ +#line 755 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.limit) = new LimitDescription((yyvsp[0].expr), nullptr); } +#line 3484 "bison_parser.cpp" /* yacc.c:1667 */ break; case 107: -#line 752 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.limit) = new LimitDescription((yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3473 "bison_parser.cpp" /* yacc.c:1667 */ +#line 756 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.limit) = new LimitDescription(nullptr, (yyvsp[0].expr)); } +#line 3490 "bison_parser.cpp" /* yacc.c:1667 */ break; case 108: -#line 753 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.limit) = new LimitDescription(nullptr, nullptr); } -#line 3479 "bison_parser.cpp" /* yacc.c:1667 */ +#line 757 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.limit) = new LimitDescription((yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3496 "bison_parser.cpp" /* yacc.c:1667 */ break; case 109: -#line 754 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.limit) = new LimitDescription(nullptr, (yyvsp[0].expr)); } -#line 3485 "bison_parser.cpp" /* yacc.c:1667 */ +#line 758 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.limit) = new LimitDescription(nullptr, nullptr); } +#line 3502 "bison_parser.cpp" /* yacc.c:1667 */ break; case 110: -#line 755 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.limit) = nullptr; } -#line 3491 "bison_parser.cpp" /* yacc.c:1667 */ +#line 759 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.limit) = new LimitDescription(nullptr, (yyvsp[0].expr)); } +#line 3508 "bison_parser.cpp" /* yacc.c:1667 */ break; case 111: -#line 762 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr_vec) = new std::vector(); (yyval.expr_vec)->push_back((yyvsp[0].expr)); } -#line 3497 "bison_parser.cpp" /* yacc.c:1667 */ +#line 760 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.limit) = nullptr; } +#line 3514 "bison_parser.cpp" /* yacc.c:1667 */ break; case 112: -#line 763 "bison_parser.y" /* yacc.c:1667 */ - { (yyvsp[-2].expr_vec)->push_back((yyvsp[0].expr)); (yyval.expr_vec) = (yyvsp[-2].expr_vec); } -#line 3503 "bison_parser.cpp" /* yacc.c:1667 */ +#line 767 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr_vec) = new std::vector(); (yyval.expr_vec)->push_back((yyvsp[0].expr)); } +#line 3520 "bison_parser.cpp" /* yacc.c:1667 */ break; case 113: -#line 767 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr_vec) = (yyvsp[0].expr_vec); } -#line 3509 "bison_parser.cpp" /* yacc.c:1667 */ +#line 768 "bison_parser.y" /* yacc.c:1667 */ + { (yyvsp[-2].expr_vec)->push_back((yyvsp[0].expr)); (yyval.expr_vec) = (yyvsp[-2].expr_vec); } +#line 3526 "bison_parser.cpp" /* yacc.c:1667 */ break; case 114: -#line 768 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr_vec) = nullptr; } -#line 3515 "bison_parser.cpp" /* yacc.c:1667 */ +#line 772 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr_vec) = (yyvsp[0].expr_vec); } +#line 3532 "bison_parser.cpp" /* yacc.c:1667 */ break; case 115: -#line 772 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr_vec) = new std::vector(); (yyval.expr_vec)->push_back((yyvsp[0].expr)); } -#line 3521 "bison_parser.cpp" /* yacc.c:1667 */ +#line 773 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr_vec) = nullptr; } +#line 3538 "bison_parser.cpp" /* yacc.c:1667 */ break; case 116: -#line 773 "bison_parser.y" /* yacc.c:1667 */ - { (yyvsp[-2].expr_vec)->push_back((yyvsp[0].expr)); (yyval.expr_vec) = (yyvsp[-2].expr_vec); } -#line 3527 "bison_parser.cpp" /* yacc.c:1667 */ +#line 777 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr_vec) = new std::vector(); (yyval.expr_vec)->push_back((yyvsp[0].expr)); } +#line 3544 "bison_parser.cpp" /* yacc.c:1667 */ break; case 117: -#line 777 "bison_parser.y" /* yacc.c:1667 */ +#line 778 "bison_parser.y" /* yacc.c:1667 */ + { (yyvsp[-2].expr_vec)->push_back((yyvsp[0].expr)); (yyval.expr_vec) = (yyvsp[-2].expr_vec); } +#line 3550 "bison_parser.cpp" /* yacc.c:1667 */ + break; + + case 118: +#line 782 "bison_parser.y" /* yacc.c:1667 */ { (yyval.expr) = (yyvsp[-1].expr); if ((yyvsp[0].alias_t)) { @@ -3535,415 +3558,415 @@ yyreduce: delete (yyvsp[0].alias_t); } } -#line 3539 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3562 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 123: -#line 795 "bison_parser.y" /* yacc.c:1667 */ + case 124: +#line 800 "bison_parser.y" /* yacc.c:1667 */ { (yyval.expr) = (yyvsp[-1].expr); } -#line 3545 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3568 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 132: -#line 804 "bison_parser.y" /* yacc.c:1667 */ + case 133: +#line 809 "bison_parser.y" /* yacc.c:1667 */ { (yyval.expr) = Expr::makeSelect((yyvsp[-1].select_stmt)); } -#line 3551 "bison_parser.cpp" /* yacc.c:1667 */ - break; - - case 135: -#line 813 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpUnary(kOpUnaryMinus, (yyvsp[0].expr)); } -#line 3557 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3574 "bison_parser.cpp" /* yacc.c:1667 */ break; case 136: -#line 814 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpUnary(kOpNot, (yyvsp[0].expr)); } -#line 3563 "bison_parser.cpp" /* yacc.c:1667 */ +#line 818 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpUnary(kOpUnaryMinus, (yyvsp[0].expr)); } +#line 3580 "bison_parser.cpp" /* yacc.c:1667 */ break; case 137: -#line 815 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpUnary(kOpIsNull, (yyvsp[-1].expr)); } -#line 3569 "bison_parser.cpp" /* yacc.c:1667 */ +#line 819 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpUnary(kOpNot, (yyvsp[0].expr)); } +#line 3586 "bison_parser.cpp" /* yacc.c:1667 */ break; case 138: -#line 816 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpUnary(kOpIsNull, (yyvsp[-2].expr)); } -#line 3575 "bison_parser.cpp" /* yacc.c:1667 */ +#line 820 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpUnary(kOpIsNull, (yyvsp[-1].expr)); } +#line 3592 "bison_parser.cpp" /* yacc.c:1667 */ break; case 139: -#line 817 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpUnary(kOpNot, Expr::makeOpUnary(kOpIsNull, (yyvsp[-3].expr))); } -#line 3581 "bison_parser.cpp" /* yacc.c:1667 */ +#line 821 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpUnary(kOpIsNull, (yyvsp[-2].expr)); } +#line 3598 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 141: + case 140: #line 822 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpMinus, (yyvsp[0].expr)); } -#line 3587 "bison_parser.cpp" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpUnary(kOpNot, Expr::makeOpUnary(kOpIsNull, (yyvsp[-3].expr))); } +#line 3604 "bison_parser.cpp" /* yacc.c:1667 */ break; case 142: -#line 823 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpPlus, (yyvsp[0].expr)); } -#line 3593 "bison_parser.cpp" /* yacc.c:1667 */ +#line 827 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpMinus, (yyvsp[0].expr)); } +#line 3610 "bison_parser.cpp" /* yacc.c:1667 */ break; case 143: -#line 824 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpSlash, (yyvsp[0].expr)); } -#line 3599 "bison_parser.cpp" /* yacc.c:1667 */ +#line 828 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpPlus, (yyvsp[0].expr)); } +#line 3616 "bison_parser.cpp" /* yacc.c:1667 */ break; case 144: -#line 825 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpAsterisk, (yyvsp[0].expr)); } -#line 3605 "bison_parser.cpp" /* yacc.c:1667 */ +#line 829 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpSlash, (yyvsp[0].expr)); } +#line 3622 "bison_parser.cpp" /* yacc.c:1667 */ break; case 145: -#line 826 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpPercentage, (yyvsp[0].expr)); } -#line 3611 "bison_parser.cpp" /* yacc.c:1667 */ +#line 830 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpAsterisk, (yyvsp[0].expr)); } +#line 3628 "bison_parser.cpp" /* yacc.c:1667 */ break; case 146: -#line 827 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpCaret, (yyvsp[0].expr)); } -#line 3617 "bison_parser.cpp" /* yacc.c:1667 */ +#line 831 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpPercentage, (yyvsp[0].expr)); } +#line 3634 "bison_parser.cpp" /* yacc.c:1667 */ break; case 147: -#line 828 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpLike, (yyvsp[0].expr)); } -#line 3623 "bison_parser.cpp" /* yacc.c:1667 */ +#line 832 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpCaret, (yyvsp[0].expr)); } +#line 3640 "bison_parser.cpp" /* yacc.c:1667 */ break; case 148: -#line 829 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-3].expr), kOpNotLike, (yyvsp[0].expr)); } -#line 3629 "bison_parser.cpp" /* yacc.c:1667 */ +#line 833 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpLike, (yyvsp[0].expr)); } +#line 3646 "bison_parser.cpp" /* yacc.c:1667 */ break; case 149: -#line 830 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpILike, (yyvsp[0].expr)); } -#line 3635 "bison_parser.cpp" /* yacc.c:1667 */ +#line 834 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-3].expr), kOpNotLike, (yyvsp[0].expr)); } +#line 3652 "bison_parser.cpp" /* yacc.c:1667 */ break; case 150: -#line 831 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpConcat, (yyvsp[0].expr)); } -#line 3641 "bison_parser.cpp" /* yacc.c:1667 */ +#line 835 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpILike, (yyvsp[0].expr)); } +#line 3658 "bison_parser.cpp" /* yacc.c:1667 */ break; case 151: -#line 835 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpAnd, (yyvsp[0].expr)); } -#line 3647 "bison_parser.cpp" /* yacc.c:1667 */ +#line 836 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpConcat, (yyvsp[0].expr)); } +#line 3664 "bison_parser.cpp" /* yacc.c:1667 */ break; case 152: -#line 836 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpOr, (yyvsp[0].expr)); } -#line 3653 "bison_parser.cpp" /* yacc.c:1667 */ +#line 840 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpAnd, (yyvsp[0].expr)); } +#line 3670 "bison_parser.cpp" /* yacc.c:1667 */ break; case 153: -#line 840 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeInOperator((yyvsp[-4].expr), (yyvsp[-1].expr_vec)); } -#line 3659 "bison_parser.cpp" /* yacc.c:1667 */ +#line 841 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpOr, (yyvsp[0].expr)); } +#line 3676 "bison_parser.cpp" /* yacc.c:1667 */ break; case 154: -#line 841 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpUnary(kOpNot, Expr::makeInOperator((yyvsp[-5].expr), (yyvsp[-1].expr_vec))); } -#line 3665 "bison_parser.cpp" /* yacc.c:1667 */ +#line 845 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeInOperator((yyvsp[-4].expr), (yyvsp[-1].expr_vec)); } +#line 3682 "bison_parser.cpp" /* yacc.c:1667 */ break; case 155: -#line 842 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeInOperator((yyvsp[-4].expr), (yyvsp[-1].select_stmt)); } -#line 3671 "bison_parser.cpp" /* yacc.c:1667 */ +#line 846 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpUnary(kOpNot, Expr::makeInOperator((yyvsp[-5].expr), (yyvsp[-1].expr_vec))); } +#line 3688 "bison_parser.cpp" /* yacc.c:1667 */ break; case 156: -#line 843 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpUnary(kOpNot, Expr::makeInOperator((yyvsp[-5].expr), (yyvsp[-1].select_stmt))); } -#line 3677 "bison_parser.cpp" /* yacc.c:1667 */ +#line 847 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeInOperator((yyvsp[-4].expr), (yyvsp[-1].select_stmt)); } +#line 3694 "bison_parser.cpp" /* yacc.c:1667 */ break; case 157: -#line 849 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeCase((yyvsp[-2].expr), (yyvsp[-1].expr), nullptr); } -#line 3683 "bison_parser.cpp" /* yacc.c:1667 */ +#line 848 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpUnary(kOpNot, Expr::makeInOperator((yyvsp[-5].expr), (yyvsp[-1].select_stmt))); } +#line 3700 "bison_parser.cpp" /* yacc.c:1667 */ break; case 158: -#line 850 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeCase((yyvsp[-4].expr), (yyvsp[-3].expr), (yyvsp[-1].expr)); } -#line 3689 "bison_parser.cpp" /* yacc.c:1667 */ +#line 854 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeCase((yyvsp[-2].expr), (yyvsp[-1].expr), nullptr); } +#line 3706 "bison_parser.cpp" /* yacc.c:1667 */ break; case 159: -#line 851 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeCase(nullptr, (yyvsp[-1].expr), nullptr); } -#line 3695 "bison_parser.cpp" /* yacc.c:1667 */ +#line 855 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeCase((yyvsp[-4].expr), (yyvsp[-3].expr), (yyvsp[-1].expr)); } +#line 3712 "bison_parser.cpp" /* yacc.c:1667 */ break; case 160: -#line 852 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeCase(nullptr, (yyvsp[-3].expr), (yyvsp[-1].expr)); } -#line 3701 "bison_parser.cpp" /* yacc.c:1667 */ +#line 856 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeCase(nullptr, (yyvsp[-1].expr), nullptr); } +#line 3718 "bison_parser.cpp" /* yacc.c:1667 */ break; case 161: -#line 856 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeCaseList(Expr::makeCaseListElement((yyvsp[-2].expr), (yyvsp[0].expr))); } -#line 3707 "bison_parser.cpp" /* yacc.c:1667 */ +#line 857 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeCase(nullptr, (yyvsp[-3].expr), (yyvsp[-1].expr)); } +#line 3724 "bison_parser.cpp" /* yacc.c:1667 */ break; case 162: -#line 857 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::caseListAppend((yyvsp[-4].expr), Expr::makeCaseListElement((yyvsp[-2].expr), (yyvsp[0].expr))); } -#line 3713 "bison_parser.cpp" /* yacc.c:1667 */ +#line 861 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeCaseList(Expr::makeCaseListElement((yyvsp[-2].expr), (yyvsp[0].expr))); } +#line 3730 "bison_parser.cpp" /* yacc.c:1667 */ break; case 163: -#line 861 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeExists((yyvsp[-1].select_stmt)); } -#line 3719 "bison_parser.cpp" /* yacc.c:1667 */ +#line 862 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::caseListAppend((yyvsp[-4].expr), Expr::makeCaseListElement((yyvsp[-2].expr), (yyvsp[0].expr))); } +#line 3736 "bison_parser.cpp" /* yacc.c:1667 */ break; case 164: -#line 862 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpUnary(kOpNot, Expr::makeExists((yyvsp[-1].select_stmt))); } -#line 3725 "bison_parser.cpp" /* yacc.c:1667 */ +#line 866 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeExists((yyvsp[-1].select_stmt)); } +#line 3742 "bison_parser.cpp" /* yacc.c:1667 */ break; case 165: -#line 866 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpEquals, (yyvsp[0].expr)); } -#line 3731 "bison_parser.cpp" /* yacc.c:1667 */ +#line 867 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpUnary(kOpNot, Expr::makeExists((yyvsp[-1].select_stmt))); } +#line 3748 "bison_parser.cpp" /* yacc.c:1667 */ break; case 166: -#line 867 "bison_parser.y" /* yacc.c:1667 */ +#line 871 "bison_parser.y" /* yacc.c:1667 */ { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpEquals, (yyvsp[0].expr)); } -#line 3737 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3754 "bison_parser.cpp" /* yacc.c:1667 */ break; case 167: -#line 868 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpNotEquals, (yyvsp[0].expr)); } -#line 3743 "bison_parser.cpp" /* yacc.c:1667 */ +#line 872 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpEquals, (yyvsp[0].expr)); } +#line 3760 "bison_parser.cpp" /* yacc.c:1667 */ break; case 168: -#line 869 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpLess, (yyvsp[0].expr)); } -#line 3749 "bison_parser.cpp" /* yacc.c:1667 */ +#line 873 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpNotEquals, (yyvsp[0].expr)); } +#line 3766 "bison_parser.cpp" /* yacc.c:1667 */ break; case 169: -#line 870 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpGreater, (yyvsp[0].expr)); } -#line 3755 "bison_parser.cpp" /* yacc.c:1667 */ +#line 874 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpLess, (yyvsp[0].expr)); } +#line 3772 "bison_parser.cpp" /* yacc.c:1667 */ break; case 170: -#line 871 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpLessEq, (yyvsp[0].expr)); } -#line 3761 "bison_parser.cpp" /* yacc.c:1667 */ +#line 875 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpGreater, (yyvsp[0].expr)); } +#line 3778 "bison_parser.cpp" /* yacc.c:1667 */ break; case 171: -#line 872 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpGreaterEq, (yyvsp[0].expr)); } -#line 3767 "bison_parser.cpp" /* yacc.c:1667 */ +#line 876 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpLessEq, (yyvsp[0].expr)); } +#line 3784 "bison_parser.cpp" /* yacc.c:1667 */ break; case 172: -#line 876 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeFunctionRef((yyvsp[-2].sval), new std::vector(), false); } -#line 3773 "bison_parser.cpp" /* yacc.c:1667 */ +#line 877 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeOpBinary((yyvsp[-2].expr), kOpGreaterEq, (yyvsp[0].expr)); } +#line 3790 "bison_parser.cpp" /* yacc.c:1667 */ break; case 173: -#line 877 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeFunctionRef((yyvsp[-4].sval), (yyvsp[-1].expr_vec), (yyvsp[-2].bval)); } -#line 3779 "bison_parser.cpp" /* yacc.c:1667 */ +#line 881 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeFunctionRef((yyvsp[-2].sval), new std::vector(), false); } +#line 3796 "bison_parser.cpp" /* yacc.c:1667 */ break; case 174: -#line 881 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeExtract((yyvsp[-3].datetime_field), (yyvsp[-1].expr)); } -#line 3785 "bison_parser.cpp" /* yacc.c:1667 */ +#line 882 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeFunctionRef((yyvsp[-4].sval), (yyvsp[-1].expr_vec), (yyvsp[-2].bval)); } +#line 3802 "bison_parser.cpp" /* yacc.c:1667 */ break; case 175: -#line 885 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.datetime_field) = kDatetimeSecond; } -#line 3791 "bison_parser.cpp" /* yacc.c:1667 */ +#line 886 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeExtract((yyvsp[-3].datetime_field), (yyvsp[-1].expr)); } +#line 3808 "bison_parser.cpp" /* yacc.c:1667 */ break; case 176: -#line 886 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.datetime_field) = kDatetimeMinute; } -#line 3797 "bison_parser.cpp" /* yacc.c:1667 */ +#line 890 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.datetime_field) = kDatetimeSecond; } +#line 3814 "bison_parser.cpp" /* yacc.c:1667 */ break; case 177: -#line 887 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.datetime_field) = kDatetimeHour; } -#line 3803 "bison_parser.cpp" /* yacc.c:1667 */ +#line 891 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.datetime_field) = kDatetimeMinute; } +#line 3820 "bison_parser.cpp" /* yacc.c:1667 */ break; case 178: -#line 888 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.datetime_field) = kDatetimeDay; } -#line 3809 "bison_parser.cpp" /* yacc.c:1667 */ +#line 892 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.datetime_field) = kDatetimeHour; } +#line 3826 "bison_parser.cpp" /* yacc.c:1667 */ break; case 179: -#line 889 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.datetime_field) = kDatetimeMonth; } -#line 3815 "bison_parser.cpp" /* yacc.c:1667 */ +#line 893 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.datetime_field) = kDatetimeDay; } +#line 3832 "bison_parser.cpp" /* yacc.c:1667 */ break; case 180: -#line 890 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.datetime_field) = kDatetimeYear; } -#line 3821 "bison_parser.cpp" /* yacc.c:1667 */ +#line 894 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.datetime_field) = kDatetimeMonth; } +#line 3838 "bison_parser.cpp" /* yacc.c:1667 */ break; case 181: -#line 893 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeArray((yyvsp[-1].expr_vec)); } -#line 3827 "bison_parser.cpp" /* yacc.c:1667 */ +#line 895 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.datetime_field) = kDatetimeYear; } +#line 3844 "bison_parser.cpp" /* yacc.c:1667 */ break; case 182: -#line 897 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeArrayIndex((yyvsp[-3].expr), (yyvsp[-1].expr)->ival); } -#line 3833 "bison_parser.cpp" /* yacc.c:1667 */ +#line 898 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeArray((yyvsp[-1].expr_vec)); } +#line 3850 "bison_parser.cpp" /* yacc.c:1667 */ break; case 183: -#line 901 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeBetween((yyvsp[-4].expr), (yyvsp[-2].expr), (yyvsp[0].expr)); } -#line 3839 "bison_parser.cpp" /* yacc.c:1667 */ +#line 902 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeArrayIndex((yyvsp[-3].expr), (yyvsp[-1].expr)->ival); } +#line 3856 "bison_parser.cpp" /* yacc.c:1667 */ break; case 184: -#line 905 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeColumnRef((yyvsp[0].sval)); } -#line 3845 "bison_parser.cpp" /* yacc.c:1667 */ +#line 906 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeBetween((yyvsp[-4].expr), (yyvsp[-2].expr), (yyvsp[0].expr)); } +#line 3862 "bison_parser.cpp" /* yacc.c:1667 */ break; case 185: -#line 906 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeColumnRef((yyvsp[-2].sval), (yyvsp[0].sval)); } -#line 3851 "bison_parser.cpp" /* yacc.c:1667 */ +#line 910 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeColumnRef((yyvsp[0].sval)); } +#line 3868 "bison_parser.cpp" /* yacc.c:1667 */ break; case 186: -#line 907 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeStar(); } -#line 3857 "bison_parser.cpp" /* yacc.c:1667 */ +#line 911 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeColumnRef((yyvsp[-2].sval), (yyvsp[0].sval)); } +#line 3874 "bison_parser.cpp" /* yacc.c:1667 */ break; case 187: -#line 908 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeStar((yyvsp[-2].sval)); } -#line 3863 "bison_parser.cpp" /* yacc.c:1667 */ +#line 912 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeStar(); } +#line 3880 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 193: -#line 920 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeLiteral((yyvsp[0].sval)); } -#line 3869 "bison_parser.cpp" /* yacc.c:1667 */ + case 188: +#line 913 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeStar((yyvsp[-2].sval)); } +#line 3886 "bison_parser.cpp" /* yacc.c:1667 */ break; case 194: -#line 924 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeLiteral(true); } -#line 3875 "bison_parser.cpp" /* yacc.c:1667 */ +#line 925 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeLiteral((yyvsp[0].sval)); } +#line 3892 "bison_parser.cpp" /* yacc.c:1667 */ break; case 195: -#line 925 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeLiteral(false); } -#line 3881 "bison_parser.cpp" /* yacc.c:1667 */ +#line 929 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeLiteral(true); } +#line 3898 "bison_parser.cpp" /* yacc.c:1667 */ break; case 196: -#line 929 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeLiteral((yyvsp[0].fval)); } -#line 3887 "bison_parser.cpp" /* yacc.c:1667 */ +#line 930 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeLiteral(false); } +#line 3904 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 198: + case 197: #line 934 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeLiteral((yyvsp[0].ival)); } -#line 3893 "bison_parser.cpp" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeLiteral((yyvsp[0].fval)); } +#line 3910 "bison_parser.cpp" /* yacc.c:1667 */ break; case 199: -#line 938 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.expr) = Expr::makeNullLiteral(); } -#line 3899 "bison_parser.cpp" /* yacc.c:1667 */ +#line 939 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeLiteral((yyvsp[0].ival)); } +#line 3916 "bison_parser.cpp" /* yacc.c:1667 */ break; case 200: -#line 942 "bison_parser.y" /* yacc.c:1667 */ +#line 943 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.expr) = Expr::makeNullLiteral(); } +#line 3922 "bison_parser.cpp" /* yacc.c:1667 */ + break; + + case 201: +#line 947 "bison_parser.y" /* yacc.c:1667 */ { (yyval.expr) = Expr::makeParameter(yylloc.total_column); (yyval.expr)->ival2 = yyloc.param_list.size(); yyloc.param_list.push_back((yyval.expr)); } -#line 3909 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3932 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 202: -#line 955 "bison_parser.y" /* yacc.c:1667 */ + case 203: +#line 960 "bison_parser.y" /* yacc.c:1667 */ { (yyvsp[-2].table_vec)->push_back((yyvsp[0].table)); auto tbl = new TableRef(kTableCrossProduct); tbl->list = (yyvsp[-2].table_vec); (yyval.table) = tbl; } -#line 3920 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3943 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 206: -#line 971 "bison_parser.y" /* yacc.c:1667 */ + case 207: +#line 976 "bison_parser.y" /* yacc.c:1667 */ { auto tbl = new TableRef(kTableSelect); tbl->select = (yyvsp[-2].select_stmt); tbl->alias = (yyvsp[0].alias_t); (yyval.table) = tbl; } -#line 3931 "bison_parser.cpp" /* yacc.c:1667 */ - break; - - case 207: -#line 980 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.table_vec) = new std::vector(); (yyval.table_vec)->push_back((yyvsp[0].table)); } -#line 3937 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3954 "bison_parser.cpp" /* yacc.c:1667 */ break; case 208: -#line 981 "bison_parser.y" /* yacc.c:1667 */ - { (yyvsp[-2].table_vec)->push_back((yyvsp[0].table)); (yyval.table_vec) = (yyvsp[-2].table_vec); } -#line 3943 "bison_parser.cpp" /* yacc.c:1667 */ +#line 985 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.table_vec) = new std::vector(); (yyval.table_vec)->push_back((yyvsp[0].table)); } +#line 3960 "bison_parser.cpp" /* yacc.c:1667 */ break; case 209: #line 986 "bison_parser.y" /* yacc.c:1667 */ + { (yyvsp[-2].table_vec)->push_back((yyvsp[0].table)); (yyval.table_vec) = (yyvsp[-2].table_vec); } +#line 3966 "bison_parser.cpp" /* yacc.c:1667 */ + break; + + case 210: +#line 991 "bison_parser.y" /* yacc.c:1667 */ { auto tbl = new TableRef(kTableName); tbl->schema = (yyvsp[-1].table_name).schema; @@ -3951,103 +3974,103 @@ yyreduce: tbl->alias = (yyvsp[0].alias_t); (yyval.table) = tbl; } -#line 3955 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3978 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 210: -#line 997 "bison_parser.y" /* yacc.c:1667 */ + case 211: +#line 1002 "bison_parser.y" /* yacc.c:1667 */ { (yyval.table) = new TableRef(kTableName); (yyval.table)->schema = (yyvsp[0].table_name).schema; (yyval.table)->name = (yyvsp[0].table_name).name; } -#line 3965 "bison_parser.cpp" /* yacc.c:1667 */ - break; - - case 211: -#line 1006 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.table_name).schema = nullptr; (yyval.table_name).name = (yyvsp[0].sval);} -#line 3971 "bison_parser.cpp" /* yacc.c:1667 */ +#line 3988 "bison_parser.cpp" /* yacc.c:1667 */ break; case 212: -#line 1007 "bison_parser.y" /* yacc.c:1667 */ +#line 1011 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.table_name).schema = nullptr; (yyval.table_name).name = (yyvsp[0].sval);} +#line 3994 "bison_parser.cpp" /* yacc.c:1667 */ + break; + + case 213: +#line 1012 "bison_parser.y" /* yacc.c:1667 */ { (yyval.table_name).schema = (yyvsp[-2].sval); (yyval.table_name).name = (yyvsp[0].sval); } -#line 3977 "bison_parser.cpp" /* yacc.c:1667 */ +#line 4000 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 214: -#line 1013 "bison_parser.y" /* yacc.c:1667 */ + case 215: +#line 1018 "bison_parser.y" /* yacc.c:1667 */ { (yyval.alias_t) = new Alias((yyvsp[-3].sval), (yyvsp[-1].str_vec)); } -#line 3983 "bison_parser.cpp" /* yacc.c:1667 */ - break; - - case 216: -#line 1019 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.alias_t) = nullptr; } -#line 3989 "bison_parser.cpp" /* yacc.c:1667 */ +#line 4006 "bison_parser.cpp" /* yacc.c:1667 */ break; case 217: -#line 1023 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.alias_t) = new Alias((yyvsp[0].sval)); } -#line 3995 "bison_parser.cpp" /* yacc.c:1667 */ +#line 1024 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.alias_t) = nullptr; } +#line 4012 "bison_parser.cpp" /* yacc.c:1667 */ break; case 218: -#line 1024 "bison_parser.y" /* yacc.c:1667 */ +#line 1028 "bison_parser.y" /* yacc.c:1667 */ { (yyval.alias_t) = new Alias((yyvsp[0].sval)); } -#line 4001 "bison_parser.cpp" /* yacc.c:1667 */ +#line 4018 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 220: -#line 1030 "bison_parser.y" /* yacc.c:1667 */ + case 219: +#line 1029 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.alias_t) = new Alias((yyvsp[0].sval)); } +#line 4024 "bison_parser.cpp" /* yacc.c:1667 */ + break; + + case 221: +#line 1035 "bison_parser.y" /* yacc.c:1667 */ { (yyval.alias_t) = nullptr; } -#line 4007 "bison_parser.cpp" /* yacc.c:1667 */ - break; - - case 222: -#line 1039 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.with_description_vec) = nullptr; } -#line 4013 "bison_parser.cpp" /* yacc.c:1667 */ +#line 4030 "bison_parser.cpp" /* yacc.c:1667 */ break; case 223: -#line 1043 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.with_description_vec) = (yyvsp[0].with_description_vec); } -#line 4019 "bison_parser.cpp" /* yacc.c:1667 */ +#line 1044 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.with_description_vec) = nullptr; } +#line 4036 "bison_parser.cpp" /* yacc.c:1667 */ break; case 224: -#line 1047 "bison_parser.y" /* yacc.c:1667 */ +#line 1048 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.with_description_vec) = (yyvsp[0].with_description_vec); } +#line 4042 "bison_parser.cpp" /* yacc.c:1667 */ + break; + + case 225: +#line 1052 "bison_parser.y" /* yacc.c:1667 */ { (yyval.with_description_vec) = new std::vector(); (yyval.with_description_vec)->push_back((yyvsp[0].with_description_t)); } -#line 4028 "bison_parser.cpp" /* yacc.c:1667 */ +#line 4051 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 225: -#line 1051 "bison_parser.y" /* yacc.c:1667 */ + case 226: +#line 1056 "bison_parser.y" /* yacc.c:1667 */ { (yyvsp[-2].with_description_vec)->push_back((yyvsp[0].with_description_t)); (yyval.with_description_vec) = (yyvsp[-2].with_description_vec); } -#line 4037 "bison_parser.cpp" /* yacc.c:1667 */ +#line 4060 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 226: -#line 1058 "bison_parser.y" /* yacc.c:1667 */ + case 227: +#line 1063 "bison_parser.y" /* yacc.c:1667 */ { (yyval.with_description_t) = new WithDescription(); (yyval.with_description_t)->alias = (yyvsp[-2].sval); (yyval.with_description_t)->select = (yyvsp[0].select_stmt); } -#line 4047 "bison_parser.cpp" /* yacc.c:1667 */ +#line 4070 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 227: -#line 1072 "bison_parser.y" /* yacc.c:1667 */ + case 228: +#line 1077 "bison_parser.y" /* yacc.c:1667 */ { (yyval.table) = new TableRef(kTableJoin); (yyval.table)->join = new JoinDefinition(); @@ -4055,11 +4078,11 @@ yyreduce: (yyval.table)->join->left = (yyvsp[-3].table); (yyval.table)->join->right = (yyvsp[0].table); } -#line 4059 "bison_parser.cpp" /* yacc.c:1667 */ +#line 4082 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 228: -#line 1080 "bison_parser.y" /* yacc.c:1667 */ + case 229: +#line 1085 "bison_parser.y" /* yacc.c:1667 */ { (yyval.table) = new TableRef(kTableJoin); (yyval.table)->join = new JoinDefinition(); @@ -4068,11 +4091,11 @@ yyreduce: (yyval.table)->join->right = (yyvsp[-2].table); (yyval.table)->join->condition = (yyvsp[0].expr); } -#line 4072 "bison_parser.cpp" /* yacc.c:1667 */ +#line 4095 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 229: -#line 1090 "bison_parser.y" /* yacc.c:1667 */ + case 230: +#line 1095 "bison_parser.y" /* yacc.c:1667 */ { (yyval.table) = new TableRef(kTableJoin); (yyval.table)->join = new JoinDefinition(); @@ -4088,83 +4111,83 @@ yyreduce: (yyval.table)->join->condition = Expr::makeOpBinary(left_col, kOpEquals, right_col); delete (yyvsp[-1].expr); } -#line 4092 "bison_parser.cpp" /* yacc.c:1667 */ - break; - - case 230: -#line 1108 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.uval) = kJoinInner; } -#line 4098 "bison_parser.cpp" /* yacc.c:1667 */ +#line 4115 "bison_parser.cpp" /* yacc.c:1667 */ break; case 231: -#line 1109 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.uval) = kJoinLeft; } -#line 4104 "bison_parser.cpp" /* yacc.c:1667 */ +#line 1113 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.uval) = kJoinInner; } +#line 4121 "bison_parser.cpp" /* yacc.c:1667 */ break; case 232: -#line 1110 "bison_parser.y" /* yacc.c:1667 */ +#line 1114 "bison_parser.y" /* yacc.c:1667 */ { (yyval.uval) = kJoinLeft; } -#line 4110 "bison_parser.cpp" /* yacc.c:1667 */ +#line 4127 "bison_parser.cpp" /* yacc.c:1667 */ break; case 233: -#line 1111 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.uval) = kJoinRight; } -#line 4116 "bison_parser.cpp" /* yacc.c:1667 */ +#line 1115 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.uval) = kJoinLeft; } +#line 4133 "bison_parser.cpp" /* yacc.c:1667 */ break; case 234: -#line 1112 "bison_parser.y" /* yacc.c:1667 */ +#line 1116 "bison_parser.y" /* yacc.c:1667 */ { (yyval.uval) = kJoinRight; } -#line 4122 "bison_parser.cpp" /* yacc.c:1667 */ +#line 4139 "bison_parser.cpp" /* yacc.c:1667 */ break; case 235: -#line 1113 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.uval) = kJoinFull; } -#line 4128 "bison_parser.cpp" /* yacc.c:1667 */ +#line 1117 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.uval) = kJoinRight; } +#line 4145 "bison_parser.cpp" /* yacc.c:1667 */ break; case 236: -#line 1114 "bison_parser.y" /* yacc.c:1667 */ +#line 1118 "bison_parser.y" /* yacc.c:1667 */ { (yyval.uval) = kJoinFull; } -#line 4134 "bison_parser.cpp" /* yacc.c:1667 */ +#line 4151 "bison_parser.cpp" /* yacc.c:1667 */ break; case 237: -#line 1115 "bison_parser.y" /* yacc.c:1667 */ +#line 1119 "bison_parser.y" /* yacc.c:1667 */ { (yyval.uval) = kJoinFull; } -#line 4140 "bison_parser.cpp" /* yacc.c:1667 */ +#line 4157 "bison_parser.cpp" /* yacc.c:1667 */ break; case 238: -#line 1116 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.uval) = kJoinCross; } -#line 4146 "bison_parser.cpp" /* yacc.c:1667 */ +#line 1120 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.uval) = kJoinFull; } +#line 4163 "bison_parser.cpp" /* yacc.c:1667 */ break; case 239: -#line 1117 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.uval) = kJoinInner; } -#line 4152 "bison_parser.cpp" /* yacc.c:1667 */ +#line 1121 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.uval) = kJoinCross; } +#line 4169 "bison_parser.cpp" /* yacc.c:1667 */ break; - case 243: -#line 1137 "bison_parser.y" /* yacc.c:1667 */ - { (yyval.str_vec) = new std::vector(); (yyval.str_vec)->push_back((yyvsp[0].sval)); } -#line 4158 "bison_parser.cpp" /* yacc.c:1667 */ + case 240: +#line 1122 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.uval) = kJoinInner; } +#line 4175 "bison_parser.cpp" /* yacc.c:1667 */ break; case 244: -#line 1138 "bison_parser.y" /* yacc.c:1667 */ +#line 1142 "bison_parser.y" /* yacc.c:1667 */ + { (yyval.str_vec) = new std::vector(); (yyval.str_vec)->push_back((yyvsp[0].sval)); } +#line 4181 "bison_parser.cpp" /* yacc.c:1667 */ + break; + + case 245: +#line 1143 "bison_parser.y" /* yacc.c:1667 */ { (yyvsp[-2].str_vec)->push_back((yyvsp[0].sval)); (yyval.str_vec) = (yyvsp[-2].str_vec); } -#line 4164 "bison_parser.cpp" /* yacc.c:1667 */ +#line 4187 "bison_parser.cpp" /* yacc.c:1667 */ break; -#line 4168 "bison_parser.cpp" /* yacc.c:1667 */ +#line 4191 "bison_parser.cpp" /* yacc.c:1667 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -4401,7 +4424,7 @@ yyreturn: #endif return yyresult; } -#line 1141 "bison_parser.y" /* yacc.c:1918 */ +#line 1146 "bison_parser.y" /* yacc.c:1918 */ /********************************* ** Section 4: Additional C code diff --git a/src/parser/bison_parser.h b/src/parser/bison_parser.h index f902ca0..c8a60a3 100644 --- a/src/parser/bison_parser.h +++ b/src/parser/bison_parser.h @@ -112,119 +112,120 @@ extern int hsql_debug; SQL_SPATIAL = 284, SQL_VARCHAR = 285, SQL_VIRTUAL = 286, - SQL_BEFORE = 287, - SQL_COLUMN = 288, - SQL_CREATE = 289, - SQL_DELETE = 290, - SQL_DIRECT = 291, - SQL_DOUBLE = 292, - SQL_ESCAPE = 293, - SQL_EXCEPT = 294, - SQL_EXISTS = 295, - SQL_EXTRACT = 296, - SQL_GLOBAL = 297, - SQL_HAVING = 298, - SQL_IMPORT = 299, - SQL_INSERT = 300, - SQL_ISNULL = 301, - SQL_OFFSET = 302, - SQL_RENAME = 303, - SQL_SCHEMA = 304, - SQL_SELECT = 305, - SQL_SORTED = 306, - SQL_TABLES = 307, - SQL_UNIQUE = 308, - SQL_UNLOAD = 309, - SQL_UPDATE = 310, - SQL_VALUES = 311, - SQL_AFTER = 312, - SQL_ALTER = 313, - SQL_CROSS = 314, - SQL_DELTA = 315, - SQL_FLOAT = 316, - SQL_GROUP = 317, - SQL_INDEX = 318, - SQL_INNER = 319, - SQL_LIMIT = 320, - SQL_LOCAL = 321, - SQL_MERGE = 322, - SQL_MINUS = 323, - SQL_ORDER = 324, - SQL_OUTER = 325, - SQL_RIGHT = 326, - SQL_TABLE = 327, - SQL_UNION = 328, - SQL_USING = 329, - SQL_WHERE = 330, - SQL_CALL = 331, - SQL_CASE = 332, - SQL_CHAR = 333, - SQL_DATE = 334, - SQL_DESC = 335, - SQL_DROP = 336, - SQL_ELSE = 337, - SQL_FILE = 338, - SQL_FROM = 339, - SQL_FULL = 340, - SQL_HASH = 341, - SQL_HINT = 342, - SQL_INTO = 343, - SQL_JOIN = 344, - SQL_LEFT = 345, - SQL_LIKE = 346, - SQL_LOAD = 347, - SQL_LONG = 348, - SQL_NULL = 349, - SQL_PLAN = 350, - SQL_SHOW = 351, - SQL_TEXT = 352, - SQL_THEN = 353, - SQL_TIME = 354, - SQL_VIEW = 355, - SQL_WHEN = 356, - SQL_WITH = 357, - SQL_ADD = 358, - SQL_ALL = 359, - SQL_AND = 360, - SQL_ASC = 361, - SQL_CSV = 362, - SQL_END = 363, - SQL_FOR = 364, - SQL_INT = 365, - SQL_KEY = 366, - SQL_NOT = 367, - SQL_OFF = 368, - SQL_SET = 369, - SQL_TBL = 370, - SQL_TOP = 371, - SQL_AS = 372, - SQL_BY = 373, - SQL_IF = 374, - SQL_IN = 375, - SQL_IS = 376, - SQL_OF = 377, - SQL_ON = 378, - SQL_OR = 379, - SQL_TO = 380, - SQL_ARRAY = 381, - SQL_CONCAT = 382, - SQL_ILIKE = 383, - SQL_SECOND = 384, - SQL_MINUTE = 385, - SQL_HOUR = 386, - SQL_DAY = 387, - SQL_MONTH = 388, - SQL_YEAR = 389, - SQL_TRUE = 390, - SQL_FALSE = 391, - SQL_EQUALS = 392, - SQL_NOTEQUALS = 393, - SQL_LESS = 394, - SQL_GREATER = 395, - SQL_LESSEQ = 396, - SQL_GREATEREQ = 397, - SQL_NOTNULL = 398, - SQL_UMINUS = 399 + SQL_DESCRIBE = 287, + SQL_BEFORE = 288, + SQL_COLUMN = 289, + SQL_CREATE = 290, + SQL_DELETE = 291, + SQL_DIRECT = 292, + SQL_DOUBLE = 293, + SQL_ESCAPE = 294, + SQL_EXCEPT = 295, + SQL_EXISTS = 296, + SQL_EXTRACT = 297, + SQL_GLOBAL = 298, + SQL_HAVING = 299, + SQL_IMPORT = 300, + SQL_INSERT = 301, + SQL_ISNULL = 302, + SQL_OFFSET = 303, + SQL_RENAME = 304, + SQL_SCHEMA = 305, + SQL_SELECT = 306, + SQL_SORTED = 307, + SQL_TABLES = 308, + SQL_UNIQUE = 309, + SQL_UNLOAD = 310, + SQL_UPDATE = 311, + SQL_VALUES = 312, + SQL_AFTER = 313, + SQL_ALTER = 314, + SQL_CROSS = 315, + SQL_DELTA = 316, + SQL_FLOAT = 317, + SQL_GROUP = 318, + SQL_INDEX = 319, + SQL_INNER = 320, + SQL_LIMIT = 321, + SQL_LOCAL = 322, + SQL_MERGE = 323, + SQL_MINUS = 324, + SQL_ORDER = 325, + SQL_OUTER = 326, + SQL_RIGHT = 327, + SQL_TABLE = 328, + SQL_UNION = 329, + SQL_USING = 330, + SQL_WHERE = 331, + SQL_CALL = 332, + SQL_CASE = 333, + SQL_CHAR = 334, + SQL_DATE = 335, + SQL_DESC = 336, + SQL_DROP = 337, + SQL_ELSE = 338, + SQL_FILE = 339, + SQL_FROM = 340, + SQL_FULL = 341, + SQL_HASH = 342, + SQL_HINT = 343, + SQL_INTO = 344, + SQL_JOIN = 345, + SQL_LEFT = 346, + SQL_LIKE = 347, + SQL_LOAD = 348, + SQL_LONG = 349, + SQL_NULL = 350, + SQL_PLAN = 351, + SQL_SHOW = 352, + SQL_TEXT = 353, + SQL_THEN = 354, + SQL_TIME = 355, + SQL_VIEW = 356, + SQL_WHEN = 357, + SQL_WITH = 358, + SQL_ADD = 359, + SQL_ALL = 360, + SQL_AND = 361, + SQL_ASC = 362, + SQL_CSV = 363, + SQL_END = 364, + SQL_FOR = 365, + SQL_INT = 366, + SQL_KEY = 367, + SQL_NOT = 368, + SQL_OFF = 369, + SQL_SET = 370, + SQL_TBL = 371, + SQL_TOP = 372, + SQL_AS = 373, + SQL_BY = 374, + SQL_IF = 375, + SQL_IN = 376, + SQL_IS = 377, + SQL_OF = 378, + SQL_ON = 379, + SQL_OR = 380, + SQL_TO = 381, + SQL_ARRAY = 382, + SQL_CONCAT = 383, + SQL_ILIKE = 384, + SQL_SECOND = 385, + SQL_MINUTE = 386, + SQL_HOUR = 387, + SQL_DAY = 388, + SQL_MONTH = 389, + SQL_YEAR = 390, + SQL_TRUE = 391, + SQL_FALSE = 392, + SQL_EQUALS = 393, + SQL_NOTEQUALS = 394, + SQL_LESS = 395, + SQL_GREATER = 396, + SQL_LESSEQ = 397, + SQL_GREATEREQ = 398, + SQL_NOTNULL = 399, + SQL_UMINUS = 400 }; #endif @@ -277,7 +278,7 @@ union HSQL_STYPE std::vector* order_vec; std::vector* with_description_vec; -#line 281 "bison_parser.h" /* yacc.c:1927 */ +#line 282 "bison_parser.h" /* yacc.c:1927 */ }; typedef union HSQL_STYPE HSQL_STYPE; diff --git a/src/parser/bison_parser.y b/src/parser/bison_parser.y index d3a19ac..a876036 100755 --- a/src/parser/bison_parser.y +++ b/src/parser/bison_parser.y @@ -166,7 +166,7 @@ int yyerror(YYLTYPE* llocp, SQLParserResult* result, yyscan_t scanner, const cha %token DISTINCT NVARCHAR RESTRICT TRUNCATE ANALYZE BETWEEN %token CASCADE COLUMNS CONTROL DEFAULT EXECUTE EXPLAIN %token INTEGER NATURAL PREPARE PRIMARY SCHEMAS -%token SPATIAL VARCHAR VIRTUAL BEFORE COLUMN CREATE DELETE DIRECT +%token SPATIAL VARCHAR VIRTUAL DESCRIBE BEFORE COLUMN CREATE DELETE DIRECT %token DOUBLE ESCAPE EXCEPT EXISTS EXTRACT GLOBAL HAVING IMPORT %token INSERT ISNULL OFFSET RENAME SCHEMA SELECT SORTED %token TABLES UNIQUE UNLOAD UPDATE VALUES AFTER ALTER CROSS @@ -407,6 +407,11 @@ show_statement: $$->schema = $3.schema; $$->name = $3.name; } + | DESCRIBE table_name { + $$ = new ShowStatement(kShowColumns); + $$->schema = $2.schema; + $$->name = $2.name; + } ; diff --git a/src/parser/flex_lexer.cpp b/src/parser/flex_lexer.cpp index 7b1cb4e..4a58910 100644 --- a/src/parser/flex_lexer.cpp +++ b/src/parser/flex_lexer.cpp @@ -573,8 +573,8 @@ static void yynoreturn yy_fatal_error ( const char* msg , yyscan_t yyscanner ); yyg->yy_hold_char = *yy_cp; \ *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 151 -#define YY_END_OF_BUFFER 152 +#define YY_NUM_RULES 152 +#define YY_END_OF_BUFFER 153 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -582,27 +582,27 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[1016] = +static const flex_int16_t yy_accept[1024] = { 0, - 0, 0, 148, 148, 2, 2, 152, 150, 4, 4, - 150, 150, 140, 146, 140, 140, 143, 140, 140, 140, - 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 140, 148, 149, 2, 2, 3, + 0, 0, 149, 149, 2, 2, 153, 151, 4, 4, + 151, 151, 141, 147, 141, 141, 144, 141, 141, 141, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, + 146, 146, 146, 146, 141, 149, 150, 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, 2, 2, 2, 4, 135, 0, 1, 143, - 142, 141, 137, 136, 134, 138, 145, 145, 145, 145, + 2, 2, 2, 2, 2, 4, 136, 0, 1, 144, + 143, 142, 138, 137, 135, 139, 146, 146, 146, 146, - 145, 145, 117, 145, 118, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, - 119, 145, 145, 120, 121, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 145, 145, 145, 122, 123, 124, - 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 145, 145, 125, 145, 145, 145, - 145, 145, 145, 145, 145, 145, 139, 148, 147, 2, + 146, 146, 118, 146, 119, 146, 146, 146, 146, 146, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, + 120, 146, 146, 121, 122, 146, 146, 146, 146, 146, + 146, 146, 146, 146, 146, 146, 146, 123, 124, 125, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, + 146, 146, 146, 146, 146, 146, 126, 146, 146, 146, + 146, 146, 146, 146, 146, 146, 140, 149, 148, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -613,18 +613,18 @@ static const flex_int16_t yy_accept[1016] = 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, 144, 141, 103, 145, 104, 145, 145, 105, - 145, 106, 145, 145, 145, 145, 145, 145, 145, 145, - 145, 107, 145, 129, 145, 145, 145, 145, 145, 145, + 2, 2, 145, 142, 104, 146, 105, 146, 146, 106, + 146, 107, 146, 146, 146, 146, 146, 146, 146, 146, + 146, 108, 146, 130, 146, 146, 146, 146, 146, 146, - 145, 145, 145, 108, 145, 145, 145, 145, 145, 145, - 145, 145, 145, 109, 145, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 145, 145, 145, 110, 145, 145, - 111, 145, 145, 145, 145, 145, 145, 145, 145, 145, - 145, 112, 145, 145, 113, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 145, 145, 145, 114, 145, 145, - 145, 145, 115, 145, 145, 145, 145, 116, 145, 145, - 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, + 146, 146, 146, 109, 146, 146, 146, 146, 146, 146, + 146, 146, 146, 110, 146, 146, 146, 146, 146, 146, + 146, 146, 146, 146, 146, 146, 146, 111, 146, 146, + 112, 146, 146, 146, 146, 146, 146, 146, 146, 146, + 146, 113, 146, 146, 114, 146, 146, 146, 146, 146, + 146, 146, 146, 146, 146, 146, 146, 115, 146, 146, + 146, 146, 116, 146, 146, 146, 146, 117, 146, 146, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -636,18 +636,18 @@ static const flex_int16_t yy_accept[1016] = 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, 145, 145, - 145, 145, 145, 145, 75, 145, 76, 77, 145, 145, + 2, 2, 2, 2, 2, 2, 2, 2, 146, 146, + 146, 146, 146, 146, 76, 146, 77, 78, 146, 146, - 145, 145, 78, 145, 145, 145, 145, 79, 145, 145, - 145, 80, 81, 145, 145, 145, 145, 145, 145, 145, - 82, 145, 83, 84, 145, 145, 85, 145, 86, 128, - 145, 145, 145, 145, 145, 145, 87, 145, 88, 89, - 90, 145, 92, 145, 93, 145, 145, 145, 145, 94, - 145, 145, 145, 145, 145, 95, 145, 145, 145, 145, - 145, 145, 145, 145, 96, 145, 145, 145, 145, 97, - 98, 99, 132, 145, 145, 145, 145, 145, 145, 145, - 145, 100, 145, 101, 145, 102, 131, 2, 2, 2, + 146, 146, 79, 146, 146, 146, 146, 80, 146, 146, + 146, 81, 82, 146, 146, 146, 146, 146, 146, 146, + 83, 146, 84, 85, 146, 146, 86, 146, 87, 129, + 146, 146, 146, 146, 146, 146, 88, 146, 89, 90, + 91, 146, 93, 146, 94, 146, 146, 146, 146, 95, + 146, 146, 146, 146, 146, 96, 146, 146, 146, 146, + 146, 146, 146, 146, 97, 146, 146, 146, 146, 98, + 99, 100, 133, 146, 146, 146, 146, 146, 146, 146, + 146, 101, 146, 102, 146, 103, 132, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -658,15 +658,15 @@ static const flex_int16_t yy_accept[1016] = 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, 55, 56, 145, 57, - 145, 145, 145, 145, 145, 145, 58, 145, 145, 145, + 2, 2, 2, 2, 2, 2, 56, 57, 146, 58, + 146, 146, 146, 146, 146, 146, 59, 146, 146, 146, - 59, 145, 145, 145, 145, 145, 145, 145, 145, 145, - 133, 60, 145, 61, 145, 91, 145, 62, 63, 145, - 145, 145, 145, 64, 65, 66, 67, 145, 130, 145, - 145, 145, 68, 69, 145, 145, 145, 145, 145, 70, - 145, 145, 145, 145, 145, 71, 145, 145, 145, 72, - 145, 145, 145, 73, 145, 145, 145, 74, 2, 2, + 60, 146, 146, 146, 146, 146, 146, 146, 146, 146, + 146, 134, 61, 146, 62, 146, 92, 146, 63, 64, + 146, 146, 146, 146, 65, 66, 67, 68, 146, 131, + 146, 146, 146, 69, 70, 146, 146, 146, 146, 146, + 71, 146, 146, 146, 146, 146, 72, 146, 146, 146, + 73, 146, 146, 146, 74, 146, 146, 146, 75, 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, @@ -675,27 +675,28 @@ static const flex_int16_t yy_accept[1016] = 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, - 145, 30, 145, 145, 31, 145, 32, 145, 145, 33, - 34, 145, 35, 36, 37, 145, 38, 145, 145, 40, - 41, 42, 43, 145, 145, 44, 127, 145, 145, 45, - 145, 145, 145, 46, 145, 47, 126, 48, 49, 145, - 50, 145, 145, 145, 51, 52, 53, 54, 145, 145, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 146, 31, 146, 146, 32, 146, 33, 146, + 146, 34, 146, 35, 146, 36, 37, 38, 146, 39, + 146, 146, 41, 42, 43, 44, 146, 146, 45, 128, + 146, 146, 46, 146, 146, 146, 47, 146, 48, 127, + 49, 50, 146, 51, 146, 146, 146, 52, 53, 54, + 55, 146, 146, 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, 145, 19, 145, 20, 21, - 39, 22, 145, 23, 145, 145, 24, 25, 145, 26, - 27, 145, 145, 145, 28, 29, 2, 2, 2, 2, + 2, 2, 2, 2, 15, 16, 17, 18, 19, 146, + 20, 146, 146, 21, 22, 40, 23, 146, 24, 146, + 146, 25, 26, 146, 27, 28, 146, 146, 146, 29, + 30, 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, 145, 10, 145, 11, 145, 12, 145, 145, - 13, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 146, 10, + 11, 146, 12, 146, 13, 146, 146, 14, 2, 2, - 145, 7, 145, 8, 9, 2, 2, 2, 2, 2, - 5, 6, 2, 2, 0 + 2, 2, 2, 2, 2, 2, 2, 2, 146, 7, + 146, 8, 9, 2, 2, 2, 2, 2, 5, 6, + 2, 2, 0 } ; static const YY_CHAR yy_ec[256] = @@ -741,18 +742,18 @@ static const YY_CHAR yy_meta[68] = 5, 5, 5, 5, 5, 5, 1 } ; -static const flex_int16_t yy_base[1023] = +static const flex_int16_t yy_base[1031] = { 0, - 0, 0, 470, 466, 67, 0, 470, 4023, 133, 135, - 428, 0, 4023, 4023, 131, 400, 133, 132, 387, 357, + 0, 0, 470, 466, 67, 0, 470, 4053, 133, 135, + 428, 0, 4053, 4053, 131, 400, 133, 132, 387, 357, 129, 129, 137, 135, 145, 196, 176, 184, 217, 124, 141, 201, 213, 238, 255, 250, 0, 243, 269, 312, 251, 191, 273, 144, 291, 0, 342, 0, 200, 212, 332, 315, 0, 0, 212, 296, 207, 247, 291, 284, 370, 437, 491, 543, 591, 643, 355, 301, 691, 300, 266, 366, 429, 743, 791, 438, 367, 442, 841, 893, - 479, 537, 450, 388, 210, 333, 4023, 262, 4023, 338, - 245, 237, 4023, 4023, 4023, 4023, 0, 147, 178, 365, + 479, 537, 450, 388, 210, 333, 4053, 262, 4053, 338, + 245, 237, 4053, 4053, 4053, 4053, 0, 147, 178, 365, 445, 195, 316, 481, 0, 371, 323, 491, 492, 306, 488, 544, 360, 374, 381, 395, 417, 442, 544, 440, @@ -761,7 +762,7 @@ static const flex_int16_t yy_base[1023] = 593, 598, 604, 602, 604, 634, 649, 647, 0, 650, 636, 639, 658, 657, 646, 656, 659, 695, 657, 656, 699, 700, 694, 695, 704, 698, 696, 692, 738, 710, - 709, 710, 748, 746, 732, 753, 4023, 0, 4023, 0, + 709, 710, 748, 746, 732, 753, 4053, 0, 4053, 0, 349, 0, 203, 0, 353, 190, 161, 0, 0, 0, 0, 751, 782, 779, 813, 836, 783, 845, 880, 795, @@ -772,7 +773,7 @@ static const flex_int16_t yy_base[1023] = 1145, 1219, 1232, 1135, 1241, 1238, 1243, 1251, 1269, 1272, 1255, 1291, 1297, 1305, 1307, 1310, 1326, 1328, 1341, 1309, 1343, 1366, 1364, 1365, 1382, 1394, 1403, 1406, 1395, 1420, - 1428, 0, 4023, 145, 0, 757, 0, 758, 755, 0, + 1428, 0, 4053, 145, 0, 757, 0, 758, 755, 0, 801, 0, 827, 828, 841, 1434, 836, 834, 843, 955, 969, 0, 998, 0, 1041, 1064, 1439, 1108, 1111, 1141, @@ -798,89 +799,89 @@ static const flex_int16_t yy_base[1023] = 2180, 2198, 2197, 2208, 2219, 2220, 2248, 2210, 1584, 1642, 1668, 1700, 1713, 1744, 0, 1787, 0, 0, 1808, 1866, - 1965, 2030, 0, 2049, 2063, 2085, 2133, 0, 2156, 2168, - 2170, 0, 0, 2198, 2204, 2215, 2217, 2242, 2247, 2249, - 0, 2237, 0, 0, 2258, 2251, 0, 2254, 0, 0, - 2264, 2256, 2252, 2259, 2260, 2272, 0, 2270, 0, 0, - 0, 2265, 0, 2275, 0, 2283, 2272, 2281, 2275, 0, - 2294, 2293, 2281, 2284, 2294, 0, 2307, 2309, 2298, 2295, - 2301, 2309, 2309, 2324, 0, 2323, 2321, 2326, 2317, 0, - 0, 2314, 0, 2333, 2325, 2320, 2341, 2323, 2337, 2340, - 2338, 0, 2326, 0, 2346, 0, 0, 2357, 2359, 2351, - 2356, 2362, 2360, 2374, 2385, 2390, 2391, 2414, 2400, 2415, + 1965, 2030, 0, 2049, 2063, 2085, 2133, 2141, 2174, 2173, + 2202, 0, 0, 2204, 2220, 2216, 2223, 2247, 2253, 2252, + 0, 2239, 0, 0, 2266, 2252, 0, 2255, 0, 0, + 2269, 2258, 2253, 2260, 2261, 2275, 0, 2273, 0, 0, + 0, 2267, 0, 2276, 0, 2284, 2271, 2284, 2279, 0, + 2295, 2294, 2284, 2289, 2295, 0, 2309, 2310, 2300, 2303, + 2302, 2310, 2313, 2325, 0, 2325, 2322, 2327, 2318, 0, + 0, 2317, 0, 2336, 2327, 2321, 2342, 2324, 2338, 2341, + 2339, 0, 2330, 0, 2347, 0, 0, 2357, 2359, 2351, + 2356, 2362, 2360, 2381, 2392, 2390, 2391, 2405, 2414, 2416, - 2419, 2396, 2424, 2436, 2450, 2468, 2428, 2469, 2478, 2473, - 2454, 2484, 2499, 2502, 2508, 2503, 2521, 2536, 2527, 2533, - 2542, 2538, 2552, 2570, 2567, 2561, 2582, 2576, 2586, 2592, - 2607, 2611, 2615, 2624, 2643, 2621, 2646, 2632, 2640, 2649, - 2674, 2661, 2675, 2665, 2677, 2691, 2700, 2715, 2699, 2725, - 2714, 2731, 2736, 2740, 2737, 2769, 2770, 2774, 2768, 2785, - 2791, 2804, 2822, 2759, 2803, 2825, 2814, 2833, 2819, 2828, - 2844, 2854, 2859, 2867, 2862, 2877, 2868, 2896, 2892, 2908, - 2893, 2902, 2907, 2917, 2921, 2926, 0, 0, 2405, 0, - 2445, 2459, 2486, 2478, 2561, 2573, 0, 2567, 2588, 2686, + 2430, 2422, 2426, 2435, 2459, 2468, 2467, 2472, 2485, 2476, + 2484, 2493, 2498, 2517, 2522, 2526, 2534, 2539, 2543, 2547, + 2556, 2552, 2558, 2584, 2582, 2588, 2592, 2596, 2597, 2606, + 2614, 2618, 2636, 2642, 2646, 2630, 2640, 2651, 2652, 2668, + 2670, 2680, 2684, 2681, 2694, 2705, 2703, 2709, 2724, 2737, + 2734, 2740, 2745, 2755, 2739, 2773, 2774, 2768, 2778, 2789, + 2799, 2808, 2812, 2813, 2822, 2823, 2838, 2841, 2847, 2852, + 2857, 2853, 2866, 2881, 2876, 2887, 2882, 2916, 2895, 2927, + 2905, 2921, 2906, 2911, 2935, 2939, 0, 0, 2372, 0, + 2394, 2396, 2430, 2439, 2471, 2500, 0, 2492, 2514, 2524, - 0, 2738, 2801, 2836, 2930, 2916, 2917, 2919, 2932, 2944, - 0, 0, 2940, 0, 2948, 0, 2936, 0, 0, 2937, - 2956, 2947, 2955, 0, 0, 0, 0, 2965, 0, 2970, - 2964, 2955, 0, 0, 2971, 2959, 2962, 2976, 2976, 0, - 2985, 2983, 2969, 2986, 2990, 2973, 2977, 2976, 2999, 0, - 2996, 3001, 3001, 0, 2990, 3009, 3010, 0, 3010, 3015, - 3019, 3016, 3021, 3024, 3050, 3025, 3054, 3038, 3053, 3059, - 3075, 3078, 3083, 3084, 3107, 3088, 3092, 3113, 3117, 3136, - 3138, 3147, 3094, 3146, 3161, 3151, 3180, 3170, 3176, 3179, - 3184, 3201, 3192, 3210, 3213, 3202, 3205, 3214, 3215, 3236, + 0, 2529, 2535, 2586, 2716, 2779, 2814, 2833, 2848, 2936, + 2946, 0, 0, 2939, 0, 2947, 0, 2935, 0, 0, + 2936, 2956, 2946, 2954, 0, 0, 0, 0, 2965, 0, + 2973, 2967, 2957, 0, 0, 2975, 2966, 2967, 2981, 2980, + 0, 2989, 2990, 2975, 2992, 2997, 2980, 2982, 2983, 3004, + 0, 3001, 3004, 3004, 0, 2991, 3013, 3014, 0, 3013, + 3014, 3023, 3015, 3019, 3029, 3048, 3045, 3053, 3057, 3058, + 3059, 3082, 3067, 3083, 3093, 3107, 3099, 3091, 3101, 3117, + 3136, 3125, 3153, 3162, 3123, 3141, 3174, 3165, 3175, 3171, + 3190, 3176, 3179, 3213, 3207, 3211, 3229, 3215, 3219, 3224, - 3238, 3250, 3264, 3254, 3255, 3259, 3268, 3280, 3290, 3272, - 3304, 3278, 3313, 3322, 3314, 3339, 3347, 3344, 3355, 3357, - 3380, 3326, 3363, 3388, 3378, 3389, 3392, 3397, 3422, 3401, - 3020, 0, 3020, 3060, 3079, 3141, 0, 3164, 3229, 0, - 0, 3291, 0, 0, 0, 3318, 0, 3314, 3337, 0, - 0, 0, 0, 3341, 3396, 0, 0, 3404, 3417, 0, - 3411, 3429, 3410, 0, 3433, 3418, 0, 0, 0, 3427, - 0, 3441, 3445, 3428, 0, 0, 0, 0, 3433, 3440, - 3451, 3452, 3466, 3460, 3462, 3477, 3463, 3494, 3481, 3485, - 3495, 3518, 3500, 3506, 3517, 3529, 3530, 3531, 3539, 3535, + 3230, 3241, 3245, 3247, 3275, 3264, 3253, 3269, 3281, 3290, + 3299, 3287, 3293, 3298, 3327, 3332, 3321, 3344, 3333, 3335, + 3365, 3357, 3373, 3361, 3367, 3390, 3375, 3386, 3401, 3407, + 3423, 3398, 3024, 0, 3079, 3131, 3128, 3186, 0, 3261, + 3267, 0, 3318, 0, 3399, 0, 0, 0, 3409, 0, + 3402, 3411, 0, 0, 0, 0, 3416, 3431, 0, 0, + 3425, 3439, 0, 3424, 3440, 3421, 0, 3446, 3433, 0, + 0, 0, 3442, 0, 3455, 3456, 3440, 0, 0, 0, + 0, 3444, 3453, 3461, 3463, 3477, 3465, 3475, 3473, 3491, + 3501, 3514, 3503, 3535, 3517, 3527, 3519, 3531, 3533, 3543, - 3548, 3552, 3560, 3570, 3569, 3571, 3573, 3585, 3588, 3574, - 3609, 3603, 3606, 3614, 3627, 3628, 3637, 3638, 3639, 3660, - 3643, 3672, 3677, 3676, 3662, 3678, 3681, 3693, 3702, 3710, - 0, 0, 0, 0, 0, 3538, 0, 3521, 0, 0, - 0, 0, 3606, 0, 3600, 3622, 0, 0, 3629, 0, - 0, 3666, 3703, 3712, 0, 0, 3714, 3716, 3726, 3727, - 3731, 3752, 3735, 3750, 3756, 3760, 3764, 3766, 3769, 3768, - 3785, 3781, 3790, 3800, 3804, 3802, 3806, 3821, 3830, 3835, - 3836, 3839, 3717, 0, 3803, 0, 3827, 0, 3822, 3832, - 0, 3858, 3844, 3860, 3852, 3876, 3854, 3884, 3895, 3890, + 3545, 3567, 3568, 3557, 3569, 3571, 3573, 3586, 3581, 3585, + 3597, 3602, 3611, 3619, 3625, 3621, 3623, 3627, 3637, 3651, + 3653, 3655, 3656, 3679, 3661, 3689, 3691, 3690, 3677, 3695, + 3701, 3707, 3720, 3723, 0, 0, 0, 0, 0, 3473, + 0, 3509, 3500, 0, 0, 0, 0, 3644, 0, 3706, + 3725, 0, 0, 3714, 0, 0, 3718, 3727, 3739, 0, + 0, 3741, 3744, 3745, 3749, 3753, 3755, 3759, 3763, 3774, + 3777, 3785, 3787, 3793, 3811, 3795, 3817, 3798, 3799, 3808, + 3833, 3823, 3827, 3839, 3841, 3851, 3862, 3863, 3814, 0, + 0, 3850, 0, 3854, 0, 3849, 3861, 0, 3885, 3877, - 3892, 0, 3879, 0, 0, 3894, 3898, 3912, 3908, 3909, - 0, 0, 3924, 3927, 4023, 3992, 3997, 135, 4002, 4007, - 4012, 4017 + 3881, 3887, 3891, 3893, 3895, 3903, 3925, 3917, 3916, 0, + 3905, 0, 0, 3921, 3931, 3935, 3939, 3947, 0, 0, + 3953, 3957, 4053, 4022, 4027, 135, 4032, 4037, 4042, 4047 } ; -static const flex_int16_t yy_def[1023] = +static const flex_int16_t yy_def[1031] = { 0, - 1015, 1, 1016, 1016, 1015, 5, 1015, 1015, 1015, 1015, - 1015, 1017, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1015, 1019, 1015, 1020, 1020, 1015, - 1020, 1021, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, - 1022, 1022, 62, 62, 62, 62, 62, 62, 62, 62, + 1023, 1, 1024, 1024, 1023, 5, 1023, 1023, 1023, 1023, + 1023, 1025, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1023, 1027, 1023, 1028, 1028, 1023, + 1028, 1029, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, + 1030, 1030, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 1020, 1015, 1015, 1017, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 1015, 1018, 1018, 1018, 1018, + 62, 62, 62, 62, 1028, 1023, 1023, 1025, 1023, 1023, + 1023, 1023, 1023, 1023, 1023, 1023, 1026, 1026, 1026, 1026, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1015, 1019, 1015, 1020, - 1020, 1020, 1021, 1020, 1020, 1020, 1020, 1020, 1020, 1020, - 1020, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1023, 1027, 1023, 1028, + 1028, 1028, 1029, 1028, 1028, 1028, 1028, 1028, 1028, 1028, + 1028, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, @@ -889,19 +890,19 @@ static const flex_int16_t yy_def[1023] = 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 1020, 1015, 1015, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + 62, 1028, 1023, 1023, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1020, 1020, 62, 62, 62, 62, 62, 62, 62, 62, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1028, 1028, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, @@ -912,18 +913,18 @@ static const flex_int16_t yy_def[1023] = 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + 62, 62, 62, 62, 62, 62, 62, 62, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 62, 62, 62, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, @@ -934,15 +935,15 @@ static const flex_int16_t yy_def[1023] = 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + 62, 62, 62, 62, 62, 62, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 62, 62, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, @@ -951,31 +952,31 @@ static const flex_int16_t yy_def[1023] = 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 62, 62, 62, 62, + 62, 62, 62, 62, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 62, 62, - 1018, 1018, 1018, 1018, 1018, 62, 62, 62, 62, 62, - 1018, 1018, 62, 62, 0, 1015, 1015, 1015, 1015, 1015, - 1015, 1015 + 62, 62, 62, 62, 62, 62, 62, 62, 1026, 1026, + 1026, 1026, 1026, 62, 62, 62, 62, 62, 1026, 1026, + 62, 62, 0, 1023, 1023, 1023, 1023, 1023, 1023, 1023 } ; -static const flex_int16_t yy_nxt[4091] = +static const flex_int16_t yy_nxt[4121] = { 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, @@ -1027,17 +1028,17 @@ static const flex_int16_t yy_nxt[4091] = 192, 192, 271, 304, 301, 302, 180, 180, 180, 87, 180, 180, 180, 180, 180, 180, 236, 180, 180, 180, 237, 247, 192, 303, 199, 192, 238, 305, 279, 250, - 304, 280, 248, 251, 311, 312, 192, 192, 249, 1015, + 304, 280, 248, 251, 311, 312, 192, 192, 249, 1023, 269, 270, 47, 236, 200, 192, 47, 237, 247, 192, - 1015, 199, 192, 238, 305, 279, 250, 192, 280, 248, + 1023, 199, 192, 238, 305, 279, 250, 192, 280, 248, 251, 311, 312, 192, 192, 249, 192, 269, 270, 283, 313, 200, 192, 180, 201, 264, 192, 265, 192, 290, 266, 202, 314, 284, 192, 288, 192, 289, 203, 291, - 293, 204, 205, 192, 315, 294, 283, 313, 192, 1015, - 1015, 201, 264, 1015, 265, 192, 290, 266, 202, 314, - 284, 1015, 288, 192, 289, 203, 291, 293, 204, 205, - 267, 315, 294, 1015, 192, 192, 206, 295, 268, 306, + 293, 204, 205, 192, 315, 294, 283, 313, 192, 1023, + 1023, 201, 264, 1023, 265, 192, 290, 266, 202, 314, + 284, 1023, 288, 192, 289, 203, 291, 293, 204, 205, + 267, 315, 294, 1023, 192, 192, 206, 295, 268, 306, 207, 307, 296, 316, 208, 308, 317, 318, 297, 321, 209, 322, 309, 210, 192, 298, 310, 267, 323, 319, 192, 192, 320, 206, 295, 268, 306, 207, 307, 296, @@ -1045,95 +1046,95 @@ static const flex_int16_t yy_nxt[4091] = 210, 192, 298, 310, 324, 323, 319, 192, 192, 320, 325, 329, 330, 331, 332, 211, 333, 212, 334, 335, - 326, 336, 213, 338, 339, 327, 328, 214, 192, 1015, - 340, 324, 337, 1015, 341, 192, 342, 325, 329, 330, + 326, 336, 213, 338, 339, 327, 328, 214, 192, 1023, + 340, 324, 337, 1023, 341, 192, 342, 325, 329, 330, 331, 332, 211, 333, 212, 334, 335, 326, 336, 213, 338, 339, 327, 328, 214, 192, 215, 340, 343, 337, 192, 341, 344, 342, 216, 345, 346, 217, 347, 348, 218, 349, 352, 219, 350, 354, 220, 353, 351, 355, - 192, 1015, 1015, 215, 359, 343, 360, 192, 1015, 344, - 1015, 216, 345, 346, 217, 347, 348, 218, 349, 352, + 192, 1023, 1023, 215, 359, 343, 360, 192, 1023, 344, + 1023, 216, 345, 346, 217, 347, 348, 218, 349, 352, 219, 350, 354, 220, 353, 351, 355, 192, 192, 226, 356, 359, 361, 360, 362, 227, 228, 229, 363, 357, - 364, 366, 230, 367, 368, 369, 372, 358, 192, 1015, - 373, 365, 1015, 1015, 374, 192, 226, 356, 1015, 361, + 364, 366, 230, 367, 368, 369, 372, 358, 192, 1023, + 373, 365, 1023, 1023, 374, 192, 226, 356, 1023, 361, 375, 362, 227, 228, 229, 363, 357, 364, 366, 230, 367, 368, 369, 372, 358, 192, 239, 373, 365, 370, - 192, 374, 371, 378, 379, 376, 380, 375, 192, 1015, - 240, 1015, 1015, 1015, 489, 490, 241, 242, 377, 491, - 192, 1015, 1015, 239, 1015, 1015, 370, 192, 192, 371, - 378, 379, 376, 380, 1015, 192, 192, 240, 383, 192, + 192, 374, 371, 378, 379, 376, 380, 375, 192, 1023, + 240, 1023, 1023, 1023, 489, 490, 241, 242, 377, 491, + 192, 1023, 1023, 239, 1023, 1023, 370, 192, 192, 371, + 378, 379, 376, 380, 1023, 192, 192, 240, 383, 192, 192, 489, 490, 241, 242, 377, 491, 192, 192, 243, - 1015, 384, 192, 389, 492, 192, 192, 244, 1015, 192, - 192, 245, 1015, 192, 246, 383, 192, 192, 192, 1015, - 192, 1015, 192, 1015, 1015, 192, 243, 385, 384, 192, - 389, 492, 1015, 192, 244, 386, 192, 192, 245, 387, + 1023, 384, 192, 389, 492, 192, 192, 244, 1023, 192, + 192, 245, 1023, 192, 246, 383, 192, 192, 192, 1023, + 192, 1023, 192, 1023, 1023, 192, 243, 385, 384, 192, + 389, 492, 1023, 192, 244, 386, 192, 192, 245, 387, 192, 246, 388, 192, 493, 192, 252, 192, 253, 192, 390, 254, 192, 494, 385, 495, 498, 499, 255, 256, - 1015, 1015, 386, 192, 1015, 500, 387, 192, 192, 388, - 192, 493, 192, 252, 192, 253, 1015, 390, 254, 192, - 494, 419, 495, 498, 499, 255, 256, 192, 391, 1015, + 1023, 1023, 386, 192, 1023, 500, 387, 192, 192, 388, + 192, 493, 192, 252, 192, 253, 1023, 390, 254, 192, + 494, 419, 495, 498, 499, 255, 256, 192, 391, 1023, - 192, 192, 500, 1015, 192, 192, 257, 258, 393, 192, - 259, 192, 392, 260, 261, 394, 1015, 192, 419, 1015, - 262, 192, 395, 263, 192, 391, 192, 1015, 192, 1015, + 192, 192, 500, 1023, 192, 192, 257, 258, 393, 192, + 259, 192, 392, 260, 261, 394, 1023, 192, 419, 1023, + 262, 192, 395, 263, 192, 391, 192, 1023, 192, 1023, 192, 192, 192, 257, 258, 393, 192, 259, 192, 392, 260, 261, 394, 396, 192, 397, 192, 262, 192, 395, 263, 398, 192, 192, 192, 400, 192, 192, 192, 192, - 1015, 399, 1015, 192, 1015, 192, 412, 192, 501, 401, - 396, 192, 397, 192, 402, 1015, 1015, 192, 398, 192, - 1015, 192, 400, 192, 1015, 192, 1015, 192, 399, 192, - 407, 408, 192, 412, 192, 501, 401, 192, 192, 1015, + 1023, 399, 1023, 192, 1023, 192, 412, 192, 501, 401, + 396, 192, 397, 192, 402, 1023, 1023, 192, 398, 192, + 1023, 192, 400, 192, 1023, 192, 1023, 192, 399, 192, + 407, 408, 192, 412, 192, 501, 401, 192, 192, 1023, 502, 402, 403, 432, 192, 409, 192, 404, 192, 192, - 1015, 192, 192, 405, 192, 503, 192, 407, 408, 192, + 1023, 192, 192, 405, 192, 503, 192, 407, 408, 192, 406, 410, 411, 413, 192, 192, 192, 502, 192, 403, 432, 192, 409, 192, 404, 192, 192, 192, 192, 192, - 405, 192, 503, 1015, 420, 192, 1015, 406, 410, 411, - 413, 421, 192, 192, 192, 192, 192, 192, 192, 1015, - 192, 192, 192, 1015, 192, 504, 423, 422, 192, 424, + 405, 192, 503, 1023, 420, 192, 1023, 406, 410, 411, + 413, 421, 192, 192, 192, 192, 192, 192, 192, 1023, + 192, 192, 192, 1023, 192, 504, 423, 422, 192, 424, 425, 420, 192, 414, 192, 415, 192, 505, 421, 416, - 192, 192, 192, 192, 192, 1015, 417, 192, 192, 192, - 418, 1015, 504, 423, 422, 192, 424, 425, 192, 192, + 192, 192, 192, 192, 192, 1023, 417, 192, 192, 192, + 418, 1023, 504, 423, 422, 192, 424, 425, 192, 192, - 414, 192, 415, 192, 505, 1015, 416, 192, 426, 192, - 192, 192, 192, 417, 1015, 430, 431, 418, 192, 192, - 429, 192, 192, 508, 427, 192, 192, 428, 509, 1015, - 192, 192, 192, 1015, 1015, 426, 192, 192, 192, 192, - 438, 439, 430, 431, 192, 192, 192, 429, 192, 1015, + 414, 192, 415, 192, 505, 1023, 416, 192, 426, 192, + 192, 192, 192, 417, 1023, 430, 431, 418, 192, 192, + 429, 192, 192, 508, 427, 192, 192, 428, 509, 1023, + 192, 192, 192, 1023, 1023, 426, 192, 192, 192, 192, + 438, 439, 430, 431, 192, 192, 192, 429, 192, 1023, 508, 427, 192, 437, 428, 509, 192, 192, 192, 192, 433, 192, 192, 192, 192, 192, 440, 438, 439, 451, - 434, 192, 192, 510, 1015, 435, 436, 1015, 192, 192, + 434, 192, 192, 510, 1023, 435, 436, 1023, 192, 192, 437, 192, 192, 192, 441, 192, 442, 433, 192, 192, - 1015, 192, 192, 440, 1015, 511, 451, 434, 192, 192, + 1023, 192, 192, 440, 1023, 511, 451, 434, 192, 192, - 510, 192, 435, 436, 192, 192, 192, 1015, 192, 192, + 510, 192, 435, 436, 192, 192, 192, 1023, 192, 192, 447, 441, 192, 442, 443, 448, 444, 446, 192, 192, - 192, 192, 511, 1015, 192, 192, 192, 445, 192, 1015, - 1015, 192, 452, 192, 449, 450, 192, 447, 192, 192, + 192, 192, 511, 1023, 192, 192, 192, 445, 192, 1023, + 1023, 192, 452, 192, 449, 450, 192, 447, 192, 192, 192, 443, 448, 444, 446, 192, 192, 192, 192, 192, 453, 192, 512, 192, 445, 192, 192, 454, 192, 452, 192, 449, 450, 192, 457, 192, 192, 192, 192, 192, - 455, 1015, 192, 456, 462, 192, 192, 453, 192, 512, - 192, 1015, 192, 192, 454, 192, 458, 192, 192, 192, - 459, 457, 192, 513, 1015, 192, 192, 455, 460, 192, + 455, 1023, 192, 456, 462, 192, 192, 453, 192, 512, + 192, 1023, 192, 192, 454, 192, 458, 192, 192, 192, + 459, 457, 192, 513, 1023, 192, 192, 455, 460, 192, 456, 462, 192, 461, 514, 192, 192, 192, 192, 192, - 1015, 463, 464, 458, 192, 192, 192, 459, 1015, 192, + 1023, 463, 464, 458, 192, 192, 192, 459, 1023, 192, 513, 465, 192, 469, 192, 460, 474, 192, 192, 466, 461, 514, 467, 192, 192, 192, 192, 468, 463, 464, 470, 192, 192, 192, 192, 192, 192, 192, 465, 192, 469, 192, 471, 474, 192, 192, 466, 515, 192, 467, - 192, 192, 1015, 192, 468, 192, 472, 470, 475, 192, - 192, 192, 192, 192, 192, 1015, 1015, 473, 192, 471, - 192, 192, 192, 192, 515, 192, 478, 192, 1015, 479, - 192, 516, 192, 472, 476, 475, 1015, 477, 480, 192, + 192, 192, 1023, 192, 468, 192, 472, 470, 475, 192, + 192, 192, 192, 192, 192, 1023, 1023, 473, 192, 471, + 192, 192, 192, 192, 515, 192, 478, 192, 1023, 479, + 192, 516, 192, 472, 476, 475, 1023, 477, 480, 192, - 1015, 192, 192, 192, 473, 192, 1015, 192, 192, 192, - 192, 192, 486, 478, 1015, 481, 479, 517, 516, 192, - 192, 476, 1015, 484, 477, 480, 192, 482, 192, 192, + 1023, 192, 192, 192, 473, 192, 1023, 192, 192, 192, + 192, 192, 486, 478, 1023, 481, 479, 517, 516, 192, + 192, 476, 1023, 484, 477, 480, 192, 482, 192, 192, 192, 192, 192, 483, 518, 519, 485, 192, 192, 486, 192, 488, 481, 192, 517, 192, 192, 192, 520, 496, 484, 497, 487, 521, 482, 522, 506, 192, 192, 192, @@ -1153,43 +1154,43 @@ static const flex_int16_t yy_nxt[4091] = 566, 579, 580, 567, 568, 581, 569, 570, 571, 582, 572, 573, 577, 583, 584, 586, 587, 192, 585, 588, - 574, 578, 1015, 1015, 575, 1015, 576, 192, 579, 580, + 574, 578, 1023, 1023, 575, 1023, 576, 192, 579, 580, 589, 192, 581, 192, 687, 192, 582, 192, 590, 192, 583, 584, 586, 587, 192, 585, 588, 192, 591, 192, - 192, 192, 192, 192, 192, 192, 1015, 589, 192, 592, + 192, 192, 192, 192, 192, 192, 1023, 589, 192, 592, 192, 687, 192, 192, 192, 590, 192, 192, 602, 192, - 1015, 595, 192, 596, 192, 591, 192, 192, 192, 192, + 1023, 595, 192, 596, 192, 591, 192, 192, 192, 192, 192, 593, 192, 192, 192, 192, 592, 192, 192, 192, 192, 594, 688, 192, 192, 602, 192, 192, 595, 192, 596, 598, 597, 600, 192, 192, 192, 192, 593, 192, - 192, 192, 192, 1015, 192, 192, 192, 192, 594, 688, + 192, 192, 192, 1023, 192, 192, 192, 192, 594, 688, - 192, 599, 1015, 192, 192, 689, 192, 192, 598, 597, - 600, 192, 192, 192, 192, 192, 192, 601, 1015, 1015, - 608, 604, 603, 192, 192, 192, 605, 1015, 599, 607, - 192, 192, 689, 192, 192, 192, 1015, 690, 1015, 192, + 192, 599, 1023, 192, 192, 689, 192, 192, 598, 597, + 600, 192, 192, 192, 192, 192, 192, 601, 1023, 1023, + 608, 604, 603, 192, 192, 192, 605, 1023, 599, 607, + 192, 192, 689, 192, 192, 192, 1023, 690, 1023, 192, 192, 606, 192, 691, 601, 192, 192, 608, 604, 603, 192, 192, 192, 605, 609, 612, 607, 610, 192, 192, - 192, 692, 192, 192, 690, 192, 192, 192, 606, 1015, + 192, 692, 192, 192, 690, 192, 192, 192, 606, 1023, 691, 614, 192, 192, 611, 192, 620, 615, 192, 192, 192, 609, 612, 192, 610, 192, 192, 192, 692, 613, - 192, 192, 192, 192, 192, 1015, 192, 1015, 614, 192, + 192, 192, 192, 192, 192, 1023, 192, 1023, 614, 192, 693, 611, 192, 620, 615, 192, 192, 192, 616, 192, - 192, 192, 192, 192, 192, 1015, 613, 192, 192, 619, - 192, 192, 618, 192, 617, 192, 192, 693, 1015, 192, + 192, 192, 192, 192, 192, 1023, 613, 192, 192, 619, + 192, 192, 618, 192, 617, 192, 192, 693, 1023, 192, 621, 192, 192, 694, 192, 616, 192, 192, 192, 192, - 192, 192, 624, 192, 192, 192, 619, 622, 1015, 618, - 623, 617, 192, 1015, 192, 192, 192, 621, 192, 192, - 694, 192, 1015, 192, 192, 192, 192, 192, 632, 624, - 192, 625, 192, 192, 622, 192, 626, 623, 1015, 192, - 629, 192, 192, 627, 1015, 192, 192, 192, 192, 192, + 192, 192, 624, 192, 192, 192, 619, 622, 1023, 618, + 623, 617, 192, 1023, 192, 192, 192, 621, 192, 192, + 694, 192, 1023, 192, 192, 192, 192, 192, 632, 624, + 192, 625, 192, 192, 622, 192, 626, 623, 1023, 192, + 629, 192, 192, 627, 1023, 192, 192, 192, 192, 192, 192, 630, 192, 192, 192, 632, 695, 633, 625, 192, - 192, 192, 192, 626, 628, 192, 192, 629, 1015, 192, + 192, 192, 192, 626, 628, 192, 192, 629, 1023, 192, 627, 631, 192, 634, 192, 192, 192, 192, 630, 635, - 192, 192, 192, 695, 633, 192, 192, 1015, 192, 636, - 1015, 628, 192, 192, 192, 192, 192, 640, 631, 192, + 192, 192, 192, 695, 633, 192, 192, 1023, 192, 636, + 1023, 628, 192, 192, 192, 192, 192, 640, 631, 192, 634, 637, 192, 638, 192, 192, 635, 192, 192, 192, 639, 641, 192, 192, 192, 192, 636, 192, 642, 192, 192, 192, 192, 192, 640, 644, 192, 192, 637, 192, @@ -1198,237 +1199,241 @@ static const flex_int16_t yy_nxt[4091] = 192, 647, 644, 192, 192, 192, 192, 696, 643, 652, 192, 653, 192, 192, 646, 192, 192, 192, 192, 648, - 192, 1015, 649, 192, 192, 192, 645, 192, 647, 192, + 192, 1023, 649, 192, 192, 192, 645, 192, 647, 192, 192, 192, 192, 192, 696, 192, 652, 192, 653, 654, 650, 646, 192, 192, 192, 192, 648, 192, 192, 649, - 192, 651, 192, 1015, 192, 1015, 192, 192, 192, 656, - 661, 655, 192, 192, 192, 192, 654, 650, 192, 1015, + 192, 651, 192, 1023, 192, 1023, 192, 192, 192, 656, + 661, 655, 192, 192, 192, 192, 654, 650, 192, 1023, 192, 697, 192, 657, 192, 192, 192, 658, 651, 192, - 192, 192, 663, 698, 192, 192, 656, 661, 655, 1015, + 192, 192, 663, 698, 192, 192, 656, 661, 655, 1023, 192, 659, 192, 192, 192, 192, 192, 660, 697, 192, 657, 192, 192, 192, 658, 192, 699, 192, 192, 663, - 698, 192, 192, 192, 192, 662, 192, 192, 659, 1015, - 192, 192, 1015, 192, 660, 192, 665, 700, 192, 192, - 192, 192, 192, 699, 664, 1015, 192, 192, 192, 192, + 698, 192, 192, 192, 192, 662, 192, 192, 659, 1023, + 192, 192, 1023, 192, 660, 192, 665, 700, 192, 192, + 192, 192, 192, 699, 664, 1023, 192, 192, 192, 192, 192, 192, 662, 192, 192, 666, 667, 192, 671, 192, - 192, 192, 192, 665, 700, 1015, 701, 192, 192, 192, - 668, 664, 669, 192, 192, 1015, 192, 192, 192, 192, + 192, 192, 192, 665, 700, 1023, 701, 192, 192, 192, + 668, 664, 669, 192, 192, 1023, 192, 192, 192, 192, 192, 192, 666, 667, 192, 671, 192, 192, 192, 670, - 1015, 702, 672, 701, 1015, 1015, 192, 668, 677, 669, + 1023, 702, 672, 701, 1023, 1023, 192, 668, 677, 669, 192, 673, 192, 192, 192, 192, 192, 192, 192, 703, - 1015, 192, 192, 674, 704, 675, 670, 192, 702, 672, + 1023, 192, 192, 674, 704, 675, 670, 192, 702, 672, - 1015, 676, 192, 192, 1015, 677, 678, 192, 673, 192, - 192, 192, 680, 1015, 192, 192, 703, 192, 192, 192, - 674, 704, 675, 1015, 192, 192, 705, 192, 676, 192, + 1023, 676, 192, 192, 1023, 677, 678, 192, 673, 192, + 192, 192, 680, 1023, 192, 192, 703, 192, 192, 192, + 674, 704, 675, 1023, 192, 192, 705, 192, 676, 192, 192, 679, 706, 678, 192, 192, 192, 192, 192, 680, 686, 192, 192, 681, 192, 192, 683, 192, 707, 708, 684, 682, 192, 705, 192, 709, 192, 192, 679, 706, 710, 192, 192, 192, 192, 192, 711, 686, 685, 712, 681, 713, 192, 683, 192, 707, 708, 684, 682, 714, 715, 716, 709, 192, 192, 192, 717, 710, 718, 719, - 720, 721, 192, 711, 723, 685, 712, 724, 713, 725, + 720, 721, 192, 711, 722, 685, 712, 724, 713, 725, - 726, 729, 722, 727, 728, 730, 714, 715, 716, 731, + 726, 727, 728, 729, 730, 723, 714, 715, 716, 731, 732, 733, 192, 717, 734, 718, 719, 720, 721, 735, - 736, 723, 737, 738, 724, 739, 725, 726, 729, 722, - 727, 728, 730, 740, 741, 742, 731, 732, 733, 743, + 736, 722, 737, 738, 724, 739, 725, 726, 727, 728, + 729, 730, 723, 740, 741, 742, 731, 732, 733, 743, 744, 734, 745, 746, 747, 748, 735, 736, 749, 737, 738, 750, 739, 751, 752, 753, 754, 755, 756, 757, - 740, 741, 742, 758, 1015, 1015, 743, 744, 192, 745, - 746, 747, 748, 192, 192, 749, 192, 764, 750, 192, - 751, 752, 753, 754, 755, 756, 757, 759, 761, 760, - 758, 192, 763, 762, 192, 192, 192, 192, 765, 192, + 740, 741, 742, 758, 759, 1023, 743, 744, 192, 745, + 746, 747, 748, 192, 192, 749, 192, 765, 750, 192, + 751, 752, 753, 754, 755, 756, 757, 760, 762, 761, + 758, 759, 764, 763, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 764, 1015, 192, 192, 192, 1015, - 1015, 192, 1015, 192, 759, 761, 760, 192, 192, 763, - 762, 192, 192, 192, 192, 765, 192, 192, 192, 192, - 767, 192, 192, 192, 192, 192, 192, 192, 192, 766, - 192, 192, 1015, 831, 192, 192, 1015, 768, 770, 192, - 769, 192, 192, 192, 192, 192, 192, 767, 192, 192, - 192, 192, 832, 192, 192, 192, 766, 192, 192, 771, - 831, 192, 192, 192, 768, 770, 833, 769, 192, 192, - 192, 773, 772, 192, 774, 192, 192, 192, 192, 832, - 192, 192, 192, 1015, 192, 192, 771, 776, 192, 775, + 192, 192, 1023, 192, 765, 766, 192, 192, 192, 192, + 833, 834, 1023, 835, 760, 762, 761, 1023, 192, 764, + 763, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 767, 192, 766, 192, 192, 192, 192, 833, 834, 192, + 835, 1023, 192, 192, 768, 192, 836, 192, 769, 192, + 771, 192, 192, 192, 192, 192, 192, 767, 192, 192, + 192, 770, 1023, 192, 1023, 837, 192, 192, 772, 192, + 192, 768, 192, 836, 192, 769, 192, 771, 192, 192, + 192, 774, 1023, 1023, 192, 192, 192, 776, 770, 192, + 192, 773, 837, 192, 192, 772, 192, 775, 838, 192, - 192, 192, 834, 833, 835, 192, 192, 1015, 773, 772, - 192, 774, 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 1015, 776, 192, 775, 777, 192, 834, - 778, 835, 192, 192, 781, 780, 192, 192, 192, 192, - 192, 779, 192, 192, 783, 192, 192, 192, 192, 782, - 192, 1015, 192, 192, 777, 192, 1015, 778, 192, 192, - 1015, 781, 780, 192, 192, 192, 192, 192, 779, 192, - 192, 783, 192, 192, 784, 192, 782, 192, 192, 192, - 192, 1015, 192, 785, 192, 192, 192, 192, 836, 192, - 837, 192, 1015, 192, 838, 786, 192, 192, 192, 192, + 778, 192, 192, 192, 192, 192, 777, 1023, 774, 192, + 192, 192, 192, 192, 776, 192, 192, 839, 773, 840, + 192, 192, 192, 192, 775, 838, 779, 778, 192, 192, + 192, 192, 192, 777, 192, 192, 192, 192, 841, 192, + 192, 842, 192, 192, 839, 780, 840, 783, 192, 192, + 843, 192, 784, 779, 192, 781, 192, 192, 782, 192, + 785, 192, 192, 192, 192, 841, 192, 844, 842, 192, + 192, 192, 780, 192, 783, 192, 192, 843, 192, 784, + 192, 192, 781, 192, 192, 782, 192, 785, 786, 192, + 192, 192, 1023, 192, 844, 192, 192, 787, 192, 192, - 192, 784, 192, 192, 192, 192, 192, 192, 787, 788, - 785, 192, 839, 192, 192, 836, 192, 837, 1015, 192, - 192, 838, 786, 192, 192, 192, 192, 1015, 192, 192, - 192, 192, 192, 1015, 192, 787, 788, 789, 192, 839, - 192, 192, 1015, 1015, 192, 791, 192, 790, 192, 192, - 192, 192, 192, 1015, 792, 192, 192, 192, 192, 192, - 192, 192, 793, 192, 789, 192, 192, 1015, 192, 192, - 795, 192, 791, 794, 790, 192, 192, 192, 192, 192, - 192, 792, 192, 192, 192, 192, 192, 192, 192, 793, - 192, 192, 192, 192, 798, 1015, 192, 795, 192, 797, + 192, 192, 192, 192, 1023, 192, 1023, 192, 1023, 192, + 788, 192, 845, 192, 192, 786, 192, 1023, 789, 192, + 192, 192, 192, 790, 787, 192, 192, 1023, 192, 192, + 1023, 192, 192, 192, 192, 192, 192, 788, 1023, 845, + 192, 192, 1023, 192, 791, 789, 192, 192, 192, 1023, + 790, 192, 192, 192, 792, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 797, 795, 793, 192, 192, 192, + 192, 791, 794, 192, 192, 1023, 796, 192, 192, 192, + 192, 792, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 797, 795, 793, 192, 192, 192, 192, 192, 794, - 794, 1015, 192, 840, 192, 192, 796, 192, 192, 192, - 192, 192, 192, 192, 192, 1015, 192, 192, 192, 192, - 801, 798, 799, 800, 1015, 192, 797, 1015, 192, 192, - 840, 804, 192, 796, 1015, 192, 192, 192, 192, 192, - 803, 192, 192, 192, 192, 802, 1015, 801, 192, 799, - 800, 192, 192, 192, 192, 192, 1015, 192, 804, 192, - 1015, 805, 192, 192, 192, 807, 806, 803, 192, 192, - 841, 1015, 802, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 808, 809, 192, 192, 192, 192, 805, 192, - 1015, 192, 807, 806, 1015, 192, 192, 841, 811, 810, + 192, 192, 798, 796, 192, 192, 192, 192, 799, 1023, + 192, 800, 192, 1023, 192, 192, 192, 192, 192, 1023, + 192, 192, 192, 803, 192, 192, 192, 1023, 192, 798, + 1023, 192, 192, 846, 192, 799, 801, 802, 800, 804, + 192, 192, 192, 1023, 192, 192, 192, 192, 192, 192, + 803, 806, 805, 192, 192, 1023, 192, 192, 192, 1023, + 846, 192, 192, 801, 802, 1023, 804, 192, 192, 192, + 807, 192, 192, 192, 192, 808, 192, 192, 806, 805, + 809, 192, 192, 192, 192, 192, 810, 811, 192, 192, + 192, 192, 192, 812, 1023, 192, 847, 807, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 808, - 809, 192, 192, 192, 192, 1015, 813, 812, 192, 1015, - 816, 192, 192, 192, 1015, 811, 810, 842, 192, 192, - 814, 818, 192, 192, 192, 192, 192, 815, 192, 192, - 192, 192, 192, 813, 812, 192, 817, 816, 192, 192, - 192, 192, 1015, 843, 842, 192, 192, 814, 818, 192, - 819, 192, 192, 192, 815, 192, 192, 192, 192, 192, - 192, 192, 192, 817, 821, 820, 192, 192, 192, 192, - 843, 192, 1015, 192, 192, 192, 192, 819, 192, 192, - 824, 192, 192, 822, 192, 823, 192, 192, 192, 192, + 1023, 192, 808, 192, 192, 192, 192, 809, 813, 192, + 192, 192, 192, 810, 811, 192, 192, 192, 192, 192, + 812, 814, 192, 847, 815, 192, 192, 817, 1023, 192, + 192, 1023, 192, 192, 816, 813, 192, 192, 192, 818, + 192, 1023, 192, 192, 819, 192, 848, 1023, 814, 192, + 192, 815, 192, 192, 817, 820, 192, 192, 192, 192, + 192, 816, 1023, 192, 192, 849, 818, 192, 821, 192, + 192, 819, 192, 848, 192, 192, 192, 192, 192, 850, + 1023, 823, 820, 192, 192, 192, 192, 192, 822, 192, + 192, 192, 849, 192, 192, 821, 192, 192, 192, 192, - 825, 821, 820, 192, 192, 192, 192, 1015, 192, 827, - 192, 192, 192, 192, 192, 826, 1015, 824, 192, 192, - 822, 192, 823, 192, 192, 192, 192, 825, 828, 192, - 192, 192, 192, 192, 830, 829, 827, 192, 192, 192, - 192, 192, 826, 192, 192, 192, 192, 844, 845, 846, - 847, 192, 192, 848, 192, 828, 192, 192, 192, 849, - 192, 830, 829, 192, 850, 192, 192, 851, 852, 853, - 192, 192, 192, 854, 844, 845, 846, 847, 855, 856, - 848, 192, 857, 858, 859, 192, 849, 860, 861, 862, - 192, 850, 863, 864, 851, 852, 853, 865, 866, 867, + 826, 192, 192, 192, 192, 192, 850, 824, 823, 825, + 192, 192, 829, 192, 827, 822, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 826, 832, 1023, + 192, 192, 192, 192, 824, 828, 825, 1023, 192, 829, + 192, 827, 192, 192, 192, 192, 192, 830, 192, 192, + 192, 192, 192, 192, 831, 832, 192, 851, 192, 192, + 192, 852, 828, 853, 192, 192, 854, 855, 856, 192, + 192, 192, 192, 857, 830, 192, 192, 858, 859, 192, + 192, 831, 860, 192, 851, 192, 861, 862, 852, 863, + 853, 192, 864, 854, 855, 856, 865, 866, 867, 192, - 854, 868, 869, 870, 871, 855, 856, 872, 873, 857, - 858, 859, 874, 875, 860, 861, 862, 876, 877, 863, - 864, 878, 879, 880, 865, 866, 867, 192, 868, 869, - 870, 871, 192, 192, 872, 873, 192, 931, 882, 874, - 875, 883, 192, 1015, 876, 877, 932, 192, 878, 879, - 880, 885, 192, 192, 192, 887, 192, 881, 192, 192, - 192, 192, 192, 192, 931, 882, 884, 192, 883, 192, - 192, 192, 1015, 932, 192, 192, 192, 933, 885, 192, - 192, 886, 887, 192, 881, 192, 888, 192, 192, 192, - 192, 192, 192, 884, 192, 890, 192, 192, 192, 889, + 857, 868, 869, 192, 858, 859, 870, 871, 872, 860, + 873, 874, 875, 861, 862, 876, 863, 877, 878, 864, + 879, 880, 881, 865, 866, 867, 882, 883, 868, 869, + 192, 192, 192, 870, 871, 872, 885, 873, 874, 875, + 192, 935, 876, 1023, 877, 878, 886, 879, 880, 881, + 192, 192, 192, 882, 883, 1023, 192, 192, 192, 192, + 192, 884, 192, 885, 887, 192, 192, 192, 935, 1023, + 192, 888, 1023, 886, 890, 192, 192, 192, 192, 192, + 889, 1023, 192, 192, 893, 192, 891, 192, 884, 192, + 192, 887, 192, 192, 192, 192, 192, 192, 888, 192, - 192, 192, 192, 192, 933, 893, 1015, 1015, 886, 894, - 934, 192, 192, 888, 192, 192, 891, 192, 192, 192, - 192, 192, 890, 192, 192, 192, 889, 192, 192, 192, - 192, 192, 893, 892, 192, 1015, 894, 934, 192, 192, - 1015, 1015, 192, 891, 192, 895, 1015, 192, 192, 896, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 898, - 892, 192, 899, 192, 192, 935, 1015, 897, 192, 1015, - 1015, 192, 895, 192, 1015, 192, 896, 192, 192, 936, - 192, 192, 192, 192, 192, 900, 898, 192, 192, 899, - 192, 192, 935, 192, 897, 192, 192, 192, 192, 901, + 192, 890, 192, 192, 192, 936, 892, 889, 897, 192, + 192, 893, 192, 891, 894, 1023, 192, 192, 898, 192, + 192, 192, 192, 192, 192, 896, 192, 192, 192, 1023, + 192, 192, 936, 892, 192, 897, 192, 192, 192, 895, + 192, 894, 192, 192, 192, 898, 192, 192, 937, 899, + 1023, 192, 896, 192, 192, 192, 901, 192, 192, 938, + 192, 192, 192, 192, 1023, 192, 895, 192, 900, 192, + 192, 192, 1023, 192, 902, 937, 899, 903, 192, 192, + 192, 192, 192, 901, 1023, 192, 938, 192, 192, 192, + 192, 192, 192, 192, 905, 900, 192, 192, 904, 192, - 192, 192, 192, 1015, 1015, 192, 936, 192, 902, 904, - 192, 192, 900, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 901, 192, 192, 192, - 192, 192, 192, 903, 192, 902, 904, 906, 192, 192, - 192, 905, 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 907, 192, 192, 192, 192, 192, 192, - 903, 937, 1015, 908, 906, 192, 192, 192, 905, 192, - 1015, 192, 192, 192, 192, 192, 192, 192, 192, 192, - 907, 192, 192, 1015, 909, 911, 910, 192, 937, 914, - 908, 192, 192, 1015, 192, 192, 192, 192, 192, 192, + 192, 902, 192, 1023, 903, 192, 192, 192, 192, 192, + 939, 192, 192, 192, 1023, 192, 192, 192, 192, 192, + 192, 905, 906, 192, 908, 904, 192, 192, 192, 192, + 192, 1023, 192, 1023, 192, 192, 192, 939, 192, 192, + 192, 192, 909, 192, 192, 907, 192, 192, 192, 906, + 192, 908, 192, 910, 192, 192, 192, 192, 911, 192, + 912, 192, 192, 192, 192, 1023, 192, 192, 192, 909, + 192, 192, 907, 192, 192, 192, 940, 192, 192, 192, + 910, 192, 192, 192, 192, 911, 192, 912, 192, 192, + 192, 192, 192, 192, 192, 913, 914, 192, 915, 941, - 192, 192, 192, 192, 1015, 192, 938, 192, 192, 192, - 912, 909, 911, 910, 192, 192, 914, 192, 192, 192, - 913, 192, 192, 192, 192, 915, 916, 192, 192, 1015, - 192, 192, 192, 938, 192, 939, 192, 912, 917, 192, - 940, 192, 192, 192, 192, 1015, 918, 913, 192, 1015, - 192, 192, 915, 916, 192, 919, 192, 192, 192, 192, - 920, 192, 939, 192, 192, 917, 192, 940, 192, 941, - 192, 942, 192, 918, 192, 921, 192, 192, 192, 1015, - 925, 192, 919, 192, 192, 922, 192, 920, 192, 923, - 192, 192, 192, 924, 192, 927, 941, 192, 942, 192, + 1023, 192, 1023, 940, 918, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 919, 192, 192, 192, 192, 192, + 916, 1023, 913, 914, 192, 915, 941, 192, 192, 917, + 192, 918, 942, 192, 192, 192, 192, 192, 192, 192, + 920, 919, 192, 192, 192, 192, 924, 916, 921, 192, + 192, 192, 192, 922, 192, 1023, 917, 192, 192, 942, + 923, 192, 192, 192, 192, 192, 925, 920, 1023, 192, + 192, 192, 192, 924, 192, 921, 192, 192, 192, 192, + 922, 192, 192, 1023, 929, 192, 928, 923, 192, 927, + 192, 192, 931, 925, 192, 926, 192, 192, 192, 192, - 192, 192, 921, 192, 926, 192, 192, 925, 192, 192, - 929, 192, 922, 943, 192, 192, 923, 192, 192, 192, - 924, 192, 927, 928, 192, 192, 192, 192, 944, 192, - 945, 926, 192, 192, 192, 930, 192, 929, 192, 192, - 943, 192, 192, 946, 192, 192, 947, 948, 949, 950, - 928, 951, 192, 192, 952, 944, 192, 945, 953, 192, - 954, 192, 930, 955, 956, 192, 192, 1015, 957, 192, - 946, 1015, 1015, 947, 948, 949, 950, 959, 951, 192, - 192, 952, 1015, 192, 1015, 953, 192, 954, 192, 192, - 955, 956, 958, 960, 192, 957, 192, 192, 192, 192, + 1023, 192, 192, 192, 192, 192, 930, 192, 192, 192, + 192, 929, 192, 928, 943, 192, 927, 192, 192, 931, + 933, 192, 926, 192, 192, 192, 944, 192, 945, 192, + 192, 192, 932, 930, 192, 192, 934, 192, 192, 192, + 192, 943, 192, 946, 192, 192, 947, 933, 948, 949, + 192, 192, 950, 944, 192, 945, 951, 952, 953, 932, + 192, 954, 192, 934, 955, 192, 956, 192, 957, 958, + 946, 192, 959, 947, 960, 948, 949, 961, 962, 950, + 192, 1023, 964, 951, 952, 953, 989, 192, 954, 1023, + 192, 955, 192, 956, 192, 957, 958, 966, 192, 959, - 192, 961, 192, 192, 959, 1015, 192, 192, 1015, 962, - 192, 192, 192, 963, 192, 192, 192, 192, 192, 958, - 960, 192, 192, 192, 192, 192, 192, 192, 961, 192, - 192, 192, 192, 964, 192, 192, 962, 192, 192, 192, - 963, 192, 1015, 192, 192, 192, 965, 192, 192, 192, - 192, 983, 192, 984, 192, 192, 192, 966, 192, 192, - 964, 192, 192, 1015, 192, 192, 192, 192, 192, 192, - 192, 967, 192, 965, 192, 192, 192, 192, 983, 192, - 984, 192, 192, 192, 966, 192, 969, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 967, 192, + 192, 960, 192, 963, 961, 962, 965, 192, 192, 964, + 192, 1023, 192, 989, 192, 1023, 967, 192, 192, 192, + 192, 192, 1023, 1023, 966, 192, 990, 192, 192, 192, + 963, 192, 991, 965, 192, 192, 192, 192, 192, 192, + 192, 192, 970, 967, 192, 192, 968, 192, 192, 969, + 192, 192, 192, 990, 192, 192, 192, 1023, 192, 991, + 971, 192, 192, 192, 192, 192, 1023, 192, 192, 970, + 192, 192, 192, 968, 192, 192, 969, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 971, 192, 192, + 192, 192, 1023, 972, 192, 192, 1023, 192, 975, 192, - 968, 971, 192, 192, 192, 192, 192, 192, 192, 970, - 192, 192, 192, 969, 192, 192, 192, 192, 192, 1015, - 973, 985, 192, 192, 192, 192, 192, 968, 971, 192, - 986, 192, 192, 192, 192, 192, 970, 192, 192, 987, - 192, 972, 975, 974, 192, 192, 192, 973, 985, 192, - 192, 192, 192, 192, 192, 192, 192, 986, 192, 976, - 192, 988, 1015, 1015, 192, 192, 987, 192, 972, 975, - 974, 192, 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 977, 978, 976, 192, 988, 192, - 979, 192, 192, 192, 192, 192, 989, 192, 192, 192, + 973, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 974, 192, 192, 192, + 972, 192, 192, 192, 977, 975, 976, 973, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 979, 192, + 192, 192, 192, 974, 192, 192, 192, 1023, 192, 192, + 192, 977, 981, 976, 192, 192, 192, 978, 192, 992, + 980, 192, 192, 192, 192, 979, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 1023, 1023, 192, 981, + 1023, 192, 982, 192, 978, 192, 992, 980, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, - 1015, 192, 192, 192, 192, 1015, 192, 192, 980, 192, - 192, 977, 978, 192, 192, 192, 192, 979, 192, 192, - 192, 192, 192, 989, 192, 192, 192, 192, 990, 991, - 192, 192, 981, 192, 982, 980, 192, 192, 1015, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 1001, - 1015, 192, 192, 192, 192, 990, 991, 192, 192, 981, - 192, 982, 1015, 192, 192, 992, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 1001, 192, 192, 192, - 192, 192, 993, 192, 994, 192, 192, 192, 1015, 192, - 192, 192, 992, 192, 192, 192, 192, 192, 996, 192, + 192, 192, 984, 983, 985, 192, 192, 192, 192, 982, + 1023, 1023, 192, 1023, 192, 192, 192, 192, 192, 192, + 192, 192, 986, 192, 192, 192, 192, 192, 192, 984, + 983, 985, 192, 192, 192, 192, 993, 192, 192, 192, + 192, 192, 994, 192, 192, 192, 995, 988, 996, 986, + 987, 192, 997, 192, 192, 192, 998, 192, 192, 192, + 192, 192, 192, 993, 192, 192, 192, 192, 999, 994, + 192, 192, 192, 995, 988, 996, 192, 987, 192, 997, + 1000, 192, 192, 998, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 999, 192, 192, 1023, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 993, - 192, 994, 192, 192, 192, 995, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 996, 1015, 192, 192, 192, - 192, 1015, 192, 192, 192, 1002, 997, 192, 192, 192, - 1015, 192, 995, 192, 192, 192, 192, 192, 192, 192, - 192, 998, 1000, 192, 192, 999, 192, 1003, 192, 1004, - 1005, 192, 1002, 997, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 998, 1000, - 192, 192, 999, 192, 1003, 192, 1004, 1005, 192, 192, - 1006, 192, 1007, 192, 192, 192, 192, 192, 192, 192, + 192, 1023, 192, 192, 192, 192, 1001, 1000, 192, 192, + 192, 192, 192, 192, 192, 1004, 192, 192, 192, 192, + 1023, 192, 192, 192, 192, 192, 1002, 192, 192, 192, + 192, 192, 192, 1001, 192, 192, 192, 192, 192, 192, + 192, 192, 1004, 192, 192, 192, 1009, 1003, 192, 192, + 192, 192, 192, 1002, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 1005, 1007, 192, 1008, 1006, + 192, 192, 192, 1009, 1003, 192, 192, 192, 192, 192, + 192, 192, 1010, 192, 1011, 192, 1012, 192, 192, 1013, + 1023, 192, 1005, 1007, 192, 1008, 1006, 192, 192, 192, - 192, 192, 192, 192, 192, 1015, 1008, 192, 192, 1011, - 1012, 1013, 192, 192, 1015, 192, 192, 1006, 192, 1007, - 192, 1009, 192, 1010, 192, 192, 192, 192, 192, 192, - 1015, 192, 192, 1008, 192, 192, 1011, 1012, 1013, 192, - 192, 192, 192, 1014, 192, 192, 192, 1015, 1009, 192, - 1010, 1015, 192, 192, 192, 1015, 192, 1015, 192, 192, - 1015, 192, 192, 1015, 192, 1015, 1015, 1015, 192, 1015, - 1014, 192, 192, 192, 1015, 1015, 192, 1015, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 192, 1015, - 1015, 192, 46, 46, 46, 46, 46, 88, 1015, 1015, + 192, 1023, 192, 192, 192, 192, 192, 192, 192, 1010, + 192, 1011, 192, 1012, 192, 192, 1013, 1014, 192, 1015, + 192, 192, 192, 1016, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 1019, 192, 192, 1020, 192, 1021, 192, + 1017, 192, 192, 1023, 1014, 192, 1015, 192, 192, 192, + 1016, 192, 192, 1018, 192, 192, 192, 192, 192, 192, + 1019, 192, 192, 1020, 192, 1021, 1022, 1017, 192, 192, + 192, 1023, 192, 1023, 192, 192, 192, 1023, 1023, 192, + 1018, 192, 1023, 192, 192, 192, 1023, 1023, 1023, 192, + 192, 192, 1023, 1022, 192, 192, 1023, 192, 1023, 192, - 88, 88, 178, 178, 178, 1015, 178, 180, 1015, 180, - 180, 180, 183, 1015, 183, 183, 183, 192, 1015, 192, - 192, 192, 7, 1015, 1015, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015 + 1023, 192, 1023, 192, 1023, 1023, 1023, 1023, 1023, 1023, + 1023, 192, 1023, 1023, 1023, 1023, 1023, 192, 1023, 1023, + 1023, 192, 46, 46, 46, 46, 46, 88, 1023, 1023, + 88, 88, 178, 178, 178, 1023, 178, 180, 1023, 180, + 180, 180, 183, 1023, 183, 183, 183, 192, 1023, 192, + 192, 192, 7, 1023, 1023, 1023, 1023, 1023, 1023, 1023, + 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, + 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, + 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, + 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, + + 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, + 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023 } ; -static const flex_int16_t yy_chk[4091] = +static const flex_int16_t yy_chk[4121] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1444,7 +1449,7 @@ static const flex_int16_t yy_chk[4091] = 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 9, 9, 10, 10, 15, 1018, + 5, 5, 5, 5, 9, 9, 10, 10, 15, 1026, 15, 17, 17, 18, 18, 21, 22, 21, 24, 382, 23, 30, 24, 21, 274, 21, 24, 23, 31, 21, 21, 44, 24, 98, 23, 24, 22, 23, 23, 25, @@ -1668,217 +1673,221 @@ static const flex_int16_t yy_chk[4091] = 469, 476, 464, 468, 506, 0, 507, 469, 468, 470, 472, 467, 473, 467, 471, 0, 470, 473, 475, 472, 474, 476, 469, 470, 473, 475, 472, 469, 476, 474, - 0, 509, 477, 507, 0, 0, 470, 472, 480, 473, - 474, 477, 480, 478, 473, 475, 472, 474, 476, 510, - 0, 479, 477, 478, 511, 478, 474, 481, 509, 477, + 0, 508, 477, 507, 0, 0, 470, 472, 480, 473, + 474, 477, 480, 478, 473, 475, 472, 474, 476, 509, + 0, 479, 477, 478, 510, 478, 474, 481, 508, 477, 0, 479, 480, 478, 0, 480, 481, 474, 477, 480, - 478, 479, 483, 0, 483, 482, 510, 481, 479, 477, - 478, 511, 478, 0, 481, 484, 514, 488, 479, 480, - 478, 482, 515, 481, 483, 482, 485, 486, 479, 483, - 488, 483, 482, 484, 481, 484, 486, 488, 516, 517, - 486, 485, 484, 514, 488, 518, 485, 486, 482, 515, - 519, 483, 482, 485, 486, 487, 520, 488, 487, 522, - 484, 525, 484, 486, 488, 516, 517, 486, 485, 526, - 528, 531, 518, 485, 486, 487, 532, 519, 533, 534, - 535, 536, 487, 520, 538, 487, 522, 542, 525, 544, + 478, 479, 483, 0, 483, 482, 509, 481, 479, 477, + 478, 510, 478, 0, 481, 484, 511, 488, 479, 480, + 478, 482, 514, 481, 483, 482, 485, 486, 479, 483, + 488, 483, 482, 484, 481, 484, 486, 488, 515, 516, + 486, 485, 484, 511, 488, 517, 485, 486, 482, 514, + 518, 483, 482, 485, 486, 487, 519, 488, 487, 520, + 484, 522, 484, 486, 488, 515, 516, 486, 485, 525, + 526, 528, 517, 485, 486, 487, 531, 518, 532, 533, + 534, 535, 487, 519, 536, 487, 520, 538, 522, 542, - 546, 548, 536, 547, 547, 549, 526, 528, 531, 551, - 552, 553, 487, 532, 554, 533, 534, 535, 536, 555, - 557, 538, 558, 559, 542, 560, 544, 546, 548, 536, - 547, 547, 549, 561, 562, 563, 551, 552, 553, 564, - 566, 554, 567, 568, 569, 572, 555, 557, 574, 558, - 559, 575, 560, 576, 577, 578, 579, 580, 581, 583, - 561, 562, 563, 585, 0, 0, 564, 566, 590, 567, - 568, 569, 572, 591, 588, 574, 589, 593, 575, 592, - 576, 577, 578, 579, 580, 581, 583, 588, 590, 589, - 585, 594, 592, 591, 588, 590, 589, 593, 595, 592, + 544, 546, 547, 547, 548, 536, 525, 526, 528, 549, + 551, 552, 487, 531, 553, 532, 533, 534, 535, 554, + 555, 536, 557, 558, 538, 559, 542, 544, 546, 547, + 547, 548, 536, 560, 561, 562, 549, 551, 552, 563, + 564, 553, 566, 567, 568, 569, 554, 555, 572, 557, + 558, 574, 559, 575, 576, 577, 578, 579, 580, 581, + 560, 561, 562, 583, 585, 0, 563, 564, 590, 566, + 567, 568, 569, 591, 588, 572, 589, 593, 574, 592, + 575, 576, 577, 578, 579, 580, 581, 588, 590, 589, + 583, 585, 592, 591, 588, 590, 589, 593, 594, 592, - 591, 588, 595, 589, 593, 0, 592, 596, 597, 0, - 0, 594, 0, 602, 588, 590, 589, 599, 594, 592, - 591, 588, 595, 589, 593, 595, 592, 596, 597, 595, - 599, 598, 600, 602, 596, 597, 601, 599, 594, 598, - 602, 603, 0, 689, 599, 607, 0, 600, 603, 595, - 601, 598, 600, 604, 596, 597, 601, 599, 598, 600, - 602, 603, 691, 601, 599, 607, 598, 605, 603, 604, - 689, 611, 607, 604, 600, 603, 692, 601, 598, 600, - 604, 606, 605, 601, 608, 606, 608, 605, 603, 691, - 610, 611, 607, 0, 605, 609, 604, 610, 611, 609, + 591, 588, 0, 589, 593, 595, 592, 596, 597, 595, + 689, 691, 0, 692, 588, 590, 589, 0, 594, 592, + 591, 588, 598, 589, 593, 594, 592, 596, 597, 595, + 598, 599, 595, 600, 596, 597, 595, 689, 691, 602, + 692, 0, 598, 603, 599, 594, 693, 601, 600, 598, + 603, 599, 604, 600, 596, 597, 595, 598, 599, 602, + 600, 601, 0, 603, 0, 694, 602, 601, 604, 598, + 603, 599, 604, 693, 601, 600, 605, 603, 599, 604, + 600, 606, 0, 0, 607, 606, 602, 608, 601, 608, + 603, 605, 694, 610, 601, 604, 605, 607, 695, 604, - 604, 612, 693, 692, 694, 606, 608, 0, 606, 605, - 610, 608, 606, 608, 605, 609, 613, 610, 611, 614, - 616, 612, 609, 0, 610, 615, 609, 613, 612, 693, - 614, 694, 606, 608, 617, 616, 613, 610, 617, 614, - 616, 615, 609, 613, 619, 615, 614, 616, 612, 618, - 620, 0, 615, 618, 613, 622, 0, 614, 617, 621, - 0, 617, 616, 613, 619, 617, 614, 616, 615, 623, - 620, 619, 615, 618, 621, 622, 618, 620, 626, 621, - 618, 0, 622, 624, 625, 617, 621, 624, 695, 623, - 696, 619, 0, 628, 698, 625, 623, 620, 626, 627, + 610, 611, 609, 605, 607, 606, 609, 0, 606, 608, + 612, 607, 606, 610, 608, 613, 608, 696, 605, 698, + 610, 611, 609, 605, 607, 695, 613, 610, 611, 609, + 612, 607, 606, 609, 614, 613, 608, 612, 699, 615, + 610, 700, 613, 616, 696, 614, 698, 617, 611, 609, + 702, 617, 618, 613, 614, 615, 618, 612, 616, 615, + 619, 614, 613, 616, 620, 699, 615, 703, 700, 622, + 616, 617, 614, 621, 617, 623, 618, 702, 617, 618, + 619, 614, 615, 618, 620, 616, 615, 619, 621, 622, + 616, 620, 0, 621, 703, 623, 622, 624, 617, 625, - 618, 621, 622, 629, 625, 626, 621, 624, 627, 630, - 624, 625, 699, 628, 624, 695, 623, 696, 0, 627, - 628, 698, 625, 629, 631, 626, 627, 0, 632, 630, - 629, 625, 633, 0, 624, 627, 630, 631, 636, 699, - 628, 634, 0, 0, 631, 633, 627, 632, 632, 638, - 629, 631, 633, 0, 634, 632, 630, 639, 636, 633, - 635, 634, 635, 637, 631, 636, 640, 0, 634, 638, - 637, 631, 633, 635, 632, 632, 638, 639, 642, 633, - 635, 634, 644, 637, 639, 636, 640, 635, 634, 635, - 637, 641, 643, 640, 645, 0, 638, 637, 642, 643, + 621, 624, 623, 618, 0, 626, 0, 619, 0, 627, + 625, 620, 704, 628, 629, 621, 622, 0, 627, 625, + 621, 624, 623, 630, 624, 626, 625, 0, 624, 627, + 0, 631, 626, 628, 629, 632, 627, 625, 0, 704, + 628, 629, 0, 630, 631, 627, 625, 636, 624, 0, + 630, 631, 626, 633, 632, 632, 627, 637, 631, 634, + 628, 629, 632, 635, 637, 635, 633, 636, 638, 639, + 630, 631, 634, 633, 636, 0, 635, 637, 631, 634, + 633, 632, 632, 635, 637, 640, 634, 641, 638, 639, + 635, 637, 635, 633, 636, 638, 639, 642, 644, 634, - 635, 0, 644, 700, 639, 642, 641, 635, 646, 644, - 637, 641, 643, 640, 645, 0, 649, 647, 641, 643, - 647, 645, 646, 646, 0, 642, 643, 0, 646, 644, - 700, 651, 648, 641, 0, 646, 649, 647, 641, 643, - 650, 645, 650, 649, 647, 648, 0, 647, 652, 646, - 646, 651, 648, 653, 655, 646, 0, 654, 651, 648, - 0, 652, 650, 649, 647, 654, 653, 650, 652, 650, - 702, 0, 648, 653, 655, 652, 664, 654, 651, 648, - 653, 655, 656, 657, 654, 659, 656, 657, 652, 650, - 0, 658, 654, 653, 0, 652, 664, 702, 659, 658, + 633, 643, 641, 635, 637, 640, 634, 641, 643, 0, + 635, 645, 640, 0, 641, 638, 639, 642, 644, 0, + 647, 643, 646, 647, 642, 644, 648, 0, 643, 641, + 0, 645, 640, 705, 641, 643, 646, 646, 645, 648, + 647, 649, 646, 0, 642, 644, 648, 647, 643, 646, + 647, 651, 650, 648, 650, 0, 655, 652, 645, 0, + 705, 649, 653, 646, 646, 0, 648, 647, 649, 646, + 652, 651, 654, 648, 650, 653, 655, 652, 651, 650, + 654, 650, 653, 655, 652, 658, 656, 657, 649, 653, + 656, 657, 654, 658, 0, 659, 706, 652, 651, 654, - 653, 655, 660, 664, 654, 659, 656, 657, 661, 656, - 657, 658, 659, 656, 657, 0, 661, 660, 658, 0, - 665, 662, 660, 664, 0, 659, 658, 703, 661, 660, - 662, 667, 659, 656, 657, 661, 669, 663, 658, 663, - 665, 662, 666, 661, 660, 670, 666, 665, 662, 660, - 668, 667, 0, 704, 703, 661, 669, 662, 667, 663, - 668, 671, 666, 669, 663, 670, 663, 665, 662, 666, - 668, 672, 670, 666, 673, 671, 673, 668, 667, 675, - 704, 671, 0, 669, 674, 677, 663, 668, 671, 666, - 676, 672, 670, 674, 676, 675, 673, 668, 672, 675, + 0, 650, 653, 655, 652, 658, 660, 654, 659, 653, + 656, 657, 658, 656, 657, 659, 661, 656, 657, 654, + 658, 660, 659, 706, 661, 662, 660, 663, 0, 663, + 664, 0, 658, 660, 662, 659, 661, 656, 657, 665, + 666, 0, 659, 661, 666, 662, 707, 0, 660, 663, + 664, 661, 662, 660, 663, 667, 663, 664, 668, 665, + 666, 662, 0, 661, 669, 708, 665, 666, 668, 670, + 672, 666, 662, 707, 671, 667, 663, 664, 668, 709, + 0, 673, 667, 673, 669, 668, 665, 666, 671, 670, + 672, 669, 708, 675, 671, 668, 670, 672, 674, 677, - 677, 673, 671, 673, 674, 677, 675, 0, 671, 679, - 681, 674, 677, 678, 676, 678, 0, 676, 672, 682, - 674, 676, 675, 673, 683, 680, 675, 677, 680, 679, - 681, 674, 677, 678, 684, 682, 679, 681, 685, 682, - 678, 676, 678, 686, 683, 680, 682, 705, 706, 707, - 708, 683, 680, 709, 684, 680, 679, 681, 685, 710, - 678, 684, 682, 686, 713, 685, 682, 715, 717, 720, - 686, 683, 680, 721, 705, 706, 707, 708, 722, 723, - 709, 684, 728, 730, 731, 685, 710, 732, 735, 736, - 686, 713, 737, 738, 715, 717, 720, 739, 741, 742, + 676, 671, 667, 673, 676, 668, 709, 674, 673, 675, + 673, 669, 679, 675, 677, 671, 670, 672, 674, 677, + 675, 671, 681, 683, 676, 674, 677, 676, 684, 0, + 673, 676, 679, 678, 674, 678, 675, 0, 682, 679, + 675, 677, 681, 683, 680, 674, 677, 680, 684, 681, + 683, 676, 685, 678, 682, 684, 686, 710, 682, 679, + 678, 711, 678, 714, 680, 682, 716, 718, 721, 681, + 683, 680, 685, 722, 680, 684, 686, 723, 724, 685, + 678, 682, 729, 686, 710, 682, 731, 732, 711, 733, + 714, 680, 736, 716, 718, 721, 737, 738, 739, 685, - 721, 743, 744, 745, 746, 722, 723, 747, 748, 728, - 730, 731, 749, 751, 732, 735, 736, 752, 753, 737, - 738, 755, 756, 757, 739, 741, 742, 759, 743, 744, - 745, 746, 760, 762, 747, 748, 761, 831, 763, 749, - 751, 764, 766, 0, 752, 753, 833, 759, 755, 756, - 757, 766, 760, 762, 759, 768, 761, 761, 763, 760, - 762, 764, 766, 761, 831, 763, 765, 765, 764, 766, - 769, 767, 0, 833, 759, 768, 770, 834, 766, 760, - 762, 767, 768, 761, 761, 763, 770, 765, 764, 766, - 769, 767, 771, 765, 765, 772, 770, 769, 767, 771, + 722, 740, 742, 686, 723, 724, 743, 744, 745, 729, + 746, 747, 748, 731, 732, 749, 733, 750, 752, 736, + 753, 754, 756, 737, 738, 739, 757, 758, 740, 742, + 760, 761, 763, 743, 744, 745, 764, 746, 747, 748, + 762, 833, 749, 0, 750, 752, 765, 753, 754, 756, + 760, 761, 763, 757, 758, 0, 764, 760, 761, 763, + 762, 762, 767, 764, 766, 766, 765, 762, 833, 0, + 768, 767, 0, 765, 769, 770, 771, 760, 761, 763, + 768, 0, 767, 764, 773, 766, 771, 762, 762, 767, + 768, 766, 766, 765, 769, 770, 771, 768, 767, 772, - 773, 774, 768, 770, 834, 776, 0, 0, 767, 777, - 835, 783, 771, 770, 765, 772, 774, 769, 767, 771, - 773, 774, 772, 770, 775, 776, 771, 773, 774, 777, - 778, 783, 776, 775, 779, 0, 777, 835, 783, 771, - 0, 0, 772, 774, 775, 778, 0, 773, 774, 779, - 778, 775, 776, 780, 779, 781, 777, 778, 783, 781, - 775, 779, 782, 784, 782, 836, 0, 780, 786, 0, - 0, 775, 778, 780, 0, 781, 779, 778, 785, 838, - 780, 779, 781, 784, 782, 785, 781, 788, 786, 782, - 784, 782, 836, 789, 780, 786, 790, 787, 785, 787, + 774, 769, 770, 771, 773, 835, 772, 768, 778, 767, + 775, 773, 766, 771, 775, 0, 777, 768, 779, 772, + 774, 769, 770, 771, 776, 777, 772, 774, 778, 0, + 775, 773, 835, 772, 780, 778, 777, 775, 779, 776, + 785, 775, 782, 777, 776, 779, 772, 774, 836, 780, + 0, 776, 777, 781, 780, 778, 782, 775, 786, 837, + 785, 780, 782, 777, 0, 779, 776, 785, 781, 782, + 783, 776, 0, 781, 783, 836, 780, 784, 786, 784, + 781, 780, 788, 782, 0, 786, 837, 785, 790, 782, + 783, 787, 789, 792, 789, 781, 793, 783, 787, 784, - 780, 791, 781, 0, 0, 785, 838, 788, 789, 793, - 784, 782, 785, 789, 788, 786, 790, 787, 792, 796, - 789, 791, 797, 790, 787, 785, 787, 794, 791, 793, - 795, 798, 799, 792, 788, 789, 793, 795, 792, 796, - 789, 794, 797, 790, 787, 792, 796, 794, 791, 797, - 795, 798, 799, 800, 794, 801, 793, 795, 798, 799, - 792, 839, 0, 802, 795, 792, 796, 802, 794, 797, - 0, 804, 805, 800, 794, 801, 806, 795, 798, 799, - 800, 803, 801, 0, 803, 807, 804, 802, 839, 810, - 802, 804, 805, 0, 802, 812, 806, 808, 804, 805, + 781, 783, 788, 0, 784, 786, 784, 791, 790, 788, + 838, 787, 789, 792, 0, 790, 793, 783, 787, 789, + 792, 789, 791, 793, 795, 787, 784, 791, 796, 788, + 794, 0, 798, 0, 791, 790, 799, 838, 787, 789, + 792, 800, 796, 793, 795, 794, 797, 801, 796, 791, + 794, 795, 798, 797, 791, 796, 799, 794, 802, 798, + 804, 800, 803, 799, 804, 0, 797, 801, 800, 796, + 807, 795, 794, 797, 801, 796, 840, 794, 802, 798, + 797, 806, 803, 799, 804, 802, 808, 804, 800, 803, + 807, 804, 805, 797, 801, 805, 806, 807, 809, 841, - 800, 803, 801, 806, 0, 807, 842, 809, 803, 810, - 808, 803, 807, 804, 802, 812, 810, 808, 804, 805, - 809, 811, 812, 806, 808, 811, 813, 809, 803, 0, - 813, 815, 807, 842, 809, 846, 810, 808, 814, 814, - 848, 811, 812, 822, 808, 0, 815, 809, 811, 0, - 813, 815, 811, 813, 809, 816, 816, 813, 815, 814, - 817, 818, 846, 822, 817, 814, 814, 848, 811, 849, - 822, 854, 819, 815, 820, 818, 816, 813, 815, 0, - 823, 818, 816, 816, 817, 819, 814, 817, 818, 820, - 822, 817, 819, 821, 820, 825, 849, 821, 854, 819, + 0, 806, 0, 840, 812, 802, 808, 810, 806, 803, + 813, 804, 805, 808, 813, 814, 811, 807, 809, 805, + 810, 0, 805, 806, 812, 809, 841, 810, 806, 811, + 813, 812, 843, 808, 810, 814, 811, 813, 817, 805, + 815, 813, 814, 811, 815, 809, 819, 810, 816, 816, + 819, 812, 820, 817, 810, 0, 811, 813, 817, 843, + 818, 818, 814, 811, 815, 817, 820, 815, 0, 816, + 819, 815, 820, 819, 822, 816, 816, 819, 824, 820, + 817, 818, 821, 0, 825, 817, 823, 818, 818, 822, + 823, 815, 827, 820, 822, 821, 816, 819, 824, 820, - 823, 820, 818, 816, 824, 824, 826, 823, 818, 827, - 828, 817, 819, 855, 828, 825, 820, 821, 830, 819, - 821, 820, 825, 827, 821, 824, 826, 823, 858, 827, - 859, 824, 824, 826, 828, 829, 827, 828, 830, 829, - 855, 828, 825, 861, 821, 830, 862, 863, 865, 866, - 827, 870, 824, 826, 872, 858, 827, 859, 873, 829, - 874, 828, 829, 879, 880, 830, 829, 0, 881, 882, - 861, 0, 0, 862, 863, 865, 866, 884, 870, 885, - 887, 872, 0, 883, 0, 873, 829, 874, 881, 882, - 879, 880, 883, 885, 886, 881, 882, 884, 889, 885, + 0, 822, 821, 828, 825, 824, 826, 826, 818, 821, + 823, 825, 827, 823, 845, 832, 822, 823, 829, 827, + 830, 822, 821, 828, 830, 824, 849, 826, 851, 821, + 828, 825, 829, 826, 826, 832, 831, 823, 829, 827, + 831, 845, 832, 852, 830, 829, 857, 830, 858, 861, + 828, 830, 862, 849, 826, 851, 864, 865, 866, 829, + 831, 868, 832, 831, 869, 829, 873, 831, 875, 876, + 852, 830, 877, 857, 882, 858, 861, 883, 884, 862, + 885, 0, 887, 864, 865, 866, 940, 831, 868, 0, + 889, 869, 888, 873, 886, 875, 876, 889, 884, 877, - 887, 886, 890, 883, 884, 0, 885, 887, 0, 888, - 883, 888, 891, 889, 886, 881, 882, 893, 889, 883, - 885, 886, 890, 894, 884, 889, 885, 887, 886, 890, - 883, 888, 891, 892, 895, 892, 888, 893, 888, 891, - 889, 886, 0, 894, 893, 889, 896, 897, 898, 890, - 894, 936, 900, 938, 895, 892, 899, 898, 888, 891, - 892, 895, 892, 0, 893, 901, 896, 897, 898, 902, - 894, 899, 900, 896, 897, 898, 899, 903, 936, 900, - 938, 895, 892, 899, 898, 901, 905, 904, 906, 902, - 907, 910, 901, 896, 897, 898, 902, 903, 899, 900, + 885, 882, 887, 886, 883, 884, 888, 885, 890, 887, + 889, 0, 888, 940, 886, 0, 891, 889, 891, 888, + 893, 886, 0, 0, 889, 884, 942, 885, 890, 887, + 886, 892, 943, 888, 895, 890, 897, 889, 891, 888, + 893, 886, 896, 891, 896, 891, 892, 893, 898, 894, + 899, 892, 894, 942, 895, 890, 897, 0, 892, 943, + 900, 895, 901, 897, 896, 891, 0, 893, 898, 896, + 899, 896, 894, 892, 904, 898, 894, 899, 892, 894, + 900, 895, 901, 897, 902, 903, 905, 900, 906, 901, + 907, 896, 0, 902, 904, 898, 0, 899, 909, 894, - 904, 909, 908, 899, 903, 909, 905, 904, 906, 908, - 907, 910, 901, 905, 904, 906, 902, 907, 910, 0, - 912, 943, 908, 913, 903, 909, 911, 904, 909, 908, - 945, 914, 909, 905, 904, 906, 908, 907, 910, 946, - 912, 911, 915, 913, 915, 916, 911, 912, 943, 908, - 913, 914, 909, 911, 917, 918, 919, 945, 914, 916, - 921, 949, 0, 0, 915, 916, 946, 912, 911, 915, - 913, 915, 916, 911, 917, 918, 919, 920, 914, 925, - 921, 917, 918, 919, 920, 922, 916, 921, 949, 922, - 923, 915, 916, 924, 923, 926, 952, 920, 927, 925, + 903, 904, 910, 908, 902, 903, 905, 900, 906, 901, + 907, 902, 903, 905, 911, 906, 908, 907, 909, 912, + 902, 904, 910, 908, 913, 909, 912, 903, 913, 910, + 908, 902, 903, 905, 911, 906, 914, 907, 916, 912, + 917, 911, 915, 908, 918, 909, 912, 0, 913, 910, + 908, 913, 919, 912, 919, 913, 914, 915, 916, 948, + 917, 911, 915, 914, 918, 916, 912, 917, 920, 915, + 921, 918, 922, 923, 919, 913, 0, 0, 925, 919, + 0, 919, 920, 914, 915, 916, 948, 917, 920, 915, + 921, 918, 922, 923, 929, 920, 924, 921, 925, 922, - 0, 917, 918, 919, 920, 0, 925, 921, 924, 922, - 928, 920, 922, 924, 923, 926, 922, 923, 927, 929, - 924, 923, 926, 952, 920, 927, 925, 930, 953, 954, - 928, 957, 929, 958, 930, 924, 922, 928, 0, 929, - 924, 923, 926, 959, 960, 927, 929, 930, 961, 983, - 0, 957, 963, 958, 930, 953, 954, 928, 957, 929, - 958, 930, 0, 959, 960, 962, 929, 964, 961, 962, - 959, 960, 963, 965, 930, 961, 983, 966, 957, 963, - 958, 967, 964, 968, 969, 970, 969, 964, 0, 962, - 959, 960, 962, 965, 964, 961, 962, 966, 972, 963, + 923, 919, 926, 924, 927, 925, 926, 928, 927, 920, + 0, 0, 930, 0, 929, 920, 924, 921, 931, 922, + 923, 929, 928, 924, 932, 925, 926, 928, 927, 926, + 924, 927, 930, 926, 928, 927, 950, 933, 931, 930, + 934, 929, 951, 924, 932, 931, 954, 934, 957, 928, + 933, 932, 958, 926, 928, 927, 959, 933, 962, 930, + 934, 963, 964, 950, 933, 931, 965, 934, 967, 951, + 966, 932, 967, 954, 934, 957, 968, 933, 962, 958, + 969, 963, 964, 959, 933, 962, 965, 934, 963, 964, + 966, 970, 967, 965, 971, 967, 968, 966, 0, 967, - 965, 967, 971, 968, 966, 970, 969, 973, 967, 964, - 968, 969, 970, 969, 964, 971, 962, 974, 972, 976, - 965, 975, 971, 977, 966, 972, 0, 973, 967, 971, - 968, 0, 970, 969, 973, 985, 975, 974, 978, 976, - 0, 975, 971, 977, 974, 972, 976, 979, 975, 971, - 977, 978, 980, 981, 973, 979, 982, 987, 978, 989, - 990, 993, 985, 975, 974, 978, 976, 979, 975, 995, - 977, 997, 980, 981, 979, 992, 982, 994, 978, 980, - 981, 993, 979, 982, 987, 978, 989, 990, 993, 995, - 992, 997, 994, 996, 979, 992, 995, 994, 997, 980, + 969, 0, 972, 968, 973, 962, 970, 969, 963, 964, + 974, 970, 976, 965, 971, 978, 979, 966, 970, 967, + 0, 971, 972, 968, 973, 980, 975, 969, 975, 972, + 974, 973, 976, 970, 977, 978, 979, 974, 970, 976, + 982, 971, 978, 979, 983, 980, 989, 977, 975, 972, + 981, 973, 980, 975, 977, 975, 984, 974, 985, 976, + 982, 977, 978, 979, 983, 981, 985, 982, 986, 984, + 981, 983, 980, 989, 977, 975, 984, 981, 985, 987, + 988, 977, 992, 984, 994, 985, 996, 982, 986, 997, + 0, 983, 981, 985, 1000, 986, 984, 981, 1001, 987, - 981, 998, 992, 982, 994, 0, 996, 1000, 993, 1001, - 1003, 1006, 999, 996, 0, 1007, 995, 992, 997, 994, - 996, 998, 992, 999, 994, 1009, 1010, 1000, 998, 1008, - 0, 1006, 999, 996, 1000, 1007, 1001, 1003, 1006, 999, - 996, 1013, 1007, 1008, 1014, 1009, 1010, 0, 998, 1008, - 999, 0, 1009, 1010, 1000, 0, 1008, 0, 1006, 999, - 0, 1013, 1007, 0, 1014, 0, 0, 0, 1013, 0, - 1008, 1014, 1009, 1010, 0, 0, 1008, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1013, 0, - 0, 1014, 1016, 1016, 1016, 1016, 1016, 1017, 0, 0, + 988, 0, 999, 984, 1002, 985, 987, 988, 1003, 992, + 1004, 994, 1005, 996, 1000, 986, 997, 999, 1001, 1002, + 1006, 1000, 999, 1004, 1002, 1001, 987, 988, 1003, 999, + 1004, 1002, 1005, 1009, 1008, 1003, 1011, 1004, 1014, 1005, + 1006, 1000, 1007, 0, 999, 1001, 1002, 1006, 1015, 999, + 1004, 1002, 1016, 1007, 1008, 1003, 1017, 1004, 1014, 1005, + 1009, 1008, 1007, 1011, 1018, 1014, 1016, 1006, 1015, 1007, + 1021, 0, 1016, 0, 1022, 1015, 1017, 0, 0, 1016, + 1007, 1008, 0, 1017, 1018, 1014, 0, 0, 0, 1007, + 1021, 1018, 0, 1016, 1022, 1015, 0, 1021, 0, 1016, - 1017, 1017, 1019, 1019, 1019, 0, 1019, 1020, 0, 1020, - 1020, 1020, 1021, 0, 1021, 1021, 1021, 1022, 0, 1022, - 1022, 1022, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015 + 0, 1022, 0, 1017, 0, 0, 0, 0, 0, 0, + 0, 1018, 0, 0, 0, 0, 0, 1021, 0, 0, + 0, 1022, 1024, 1024, 1024, 1024, 1024, 1025, 0, 0, + 1025, 1025, 1027, 1027, 1027, 0, 1027, 1028, 0, 1028, + 1028, 1028, 1029, 0, 1029, 1029, 1029, 1030, 0, 1030, + 1030, 1030, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, + 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, + 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, + 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, + 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, + + 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, + 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023 } ; /* The intent behind this definition is that it'll catch @@ -1908,7 +1917,7 @@ static const flex_int16_t yy_chk[4091] = static thread_local std::stringstream strbuf; -#line 1911 "flex_lexer.cpp" +#line 1920 "flex_lexer.cpp" /*************************** ** Section 2: Rules @@ -1922,7 +1931,7 @@ static thread_local std::stringstream strbuf; /*************************** ** Section 3: Rules ***************************/ -#line 1925 "flex_lexer.cpp" +#line 1934 "flex_lexer.cpp" #define INITIAL 0 #define singlequotedstring 1 @@ -2209,7 +2218,7 @@ YY_DECL #line 56 "flex_lexer.l" -#line 2212 "flex_lexer.cpp" +#line 2221 "flex_lexer.cpp" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2236,13 +2245,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 >= 1016 ) + if ( yy_current_state >= 1024 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 1015 ); + while ( yy_current_state != 1023 ); yy_cp = yyg->yy_last_accepting_cpos; yy_current_state = yyg->yy_last_accepting_state; @@ -2312,633 +2321,633 @@ TOKEN(TIMESTAMP) case 10: YY_RULE_SETUP #line 69 "flex_lexer.l" -TOKEN(DISTINCT) +TOKEN(DESCRIBE) YY_BREAK case 11: YY_RULE_SETUP #line 70 "flex_lexer.l" -TOKEN(NVARCHAR) +TOKEN(DISTINCT) YY_BREAK case 12: YY_RULE_SETUP #line 71 "flex_lexer.l" -TOKEN(RESTRICT) +TOKEN(NVARCHAR) YY_BREAK case 13: YY_RULE_SETUP #line 72 "flex_lexer.l" -TOKEN(TRUNCATE) +TOKEN(RESTRICT) YY_BREAK case 14: YY_RULE_SETUP #line 73 "flex_lexer.l" -TOKEN(ANALYZE) +TOKEN(TRUNCATE) YY_BREAK case 15: YY_RULE_SETUP #line 74 "flex_lexer.l" -TOKEN(BETWEEN) +TOKEN(ANALYZE) YY_BREAK case 16: YY_RULE_SETUP #line 75 "flex_lexer.l" -TOKEN(CASCADE) +TOKEN(BETWEEN) YY_BREAK case 17: YY_RULE_SETUP #line 76 "flex_lexer.l" -TOKEN(COLUMNS) +TOKEN(CASCADE) YY_BREAK case 18: YY_RULE_SETUP #line 77 "flex_lexer.l" -TOKEN(CONTROL) +TOKEN(COLUMNS) YY_BREAK case 19: YY_RULE_SETUP #line 78 "flex_lexer.l" -TOKEN(DEFAULT) +TOKEN(CONTROL) YY_BREAK case 20: YY_RULE_SETUP #line 79 "flex_lexer.l" -TOKEN(EXECUTE) +TOKEN(DEFAULT) YY_BREAK case 21: YY_RULE_SETUP #line 80 "flex_lexer.l" -TOKEN(EXPLAIN) +TOKEN(EXECUTE) YY_BREAK case 22: YY_RULE_SETUP #line 81 "flex_lexer.l" -TOKEN(INTEGER) +TOKEN(EXPLAIN) YY_BREAK case 23: YY_RULE_SETUP #line 82 "flex_lexer.l" -TOKEN(NATURAL) +TOKEN(INTEGER) YY_BREAK case 24: YY_RULE_SETUP #line 83 "flex_lexer.l" -TOKEN(PREPARE) +TOKEN(NATURAL) YY_BREAK case 25: YY_RULE_SETUP #line 84 "flex_lexer.l" -TOKEN(PRIMARY) +TOKEN(PREPARE) YY_BREAK case 26: YY_RULE_SETUP #line 85 "flex_lexer.l" -TOKEN(SCHEMAS) +TOKEN(PRIMARY) YY_BREAK case 27: YY_RULE_SETUP #line 86 "flex_lexer.l" -TOKEN(SPATIAL) +TOKEN(SCHEMAS) YY_BREAK case 28: YY_RULE_SETUP #line 87 "flex_lexer.l" -TOKEN(VARCHAR) +TOKEN(SPATIAL) YY_BREAK case 29: YY_RULE_SETUP #line 88 "flex_lexer.l" -TOKEN(VIRTUAL) +TOKEN(VARCHAR) YY_BREAK case 30: YY_RULE_SETUP #line 89 "flex_lexer.l" -TOKEN(BEFORE) +TOKEN(VIRTUAL) YY_BREAK case 31: YY_RULE_SETUP #line 90 "flex_lexer.l" -TOKEN(COLUMN) +TOKEN(BEFORE) YY_BREAK case 32: YY_RULE_SETUP #line 91 "flex_lexer.l" -TOKEN(CREATE) +TOKEN(COLUMN) YY_BREAK case 33: YY_RULE_SETUP #line 92 "flex_lexer.l" -TOKEN(DELETE) +TOKEN(CREATE) YY_BREAK case 34: YY_RULE_SETUP #line 93 "flex_lexer.l" -TOKEN(DIRECT) +TOKEN(DELETE) YY_BREAK case 35: YY_RULE_SETUP #line 94 "flex_lexer.l" -TOKEN(DOUBLE) +TOKEN(DIRECT) YY_BREAK case 36: YY_RULE_SETUP #line 95 "flex_lexer.l" -TOKEN(ESCAPE) +TOKEN(DOUBLE) YY_BREAK case 37: YY_RULE_SETUP #line 96 "flex_lexer.l" -TOKEN(EXCEPT) +TOKEN(ESCAPE) YY_BREAK case 38: YY_RULE_SETUP #line 97 "flex_lexer.l" -TOKEN(EXISTS) +TOKEN(EXCEPT) YY_BREAK case 39: YY_RULE_SETUP #line 98 "flex_lexer.l" -TOKEN(EXTRACT) +TOKEN(EXISTS) YY_BREAK case 40: YY_RULE_SETUP #line 99 "flex_lexer.l" -TOKEN(GLOBAL) +TOKEN(EXTRACT) YY_BREAK case 41: YY_RULE_SETUP #line 100 "flex_lexer.l" -TOKEN(HAVING) +TOKEN(GLOBAL) YY_BREAK case 42: YY_RULE_SETUP #line 101 "flex_lexer.l" -TOKEN(IMPORT) +TOKEN(HAVING) YY_BREAK case 43: YY_RULE_SETUP #line 102 "flex_lexer.l" -TOKEN(INSERT) +TOKEN(IMPORT) YY_BREAK case 44: YY_RULE_SETUP #line 103 "flex_lexer.l" -TOKEN(ISNULL) +TOKEN(INSERT) YY_BREAK case 45: YY_RULE_SETUP #line 104 "flex_lexer.l" -TOKEN(OFFSET) +TOKEN(ISNULL) YY_BREAK case 46: YY_RULE_SETUP #line 105 "flex_lexer.l" -TOKEN(RENAME) +TOKEN(OFFSET) YY_BREAK case 47: YY_RULE_SETUP #line 106 "flex_lexer.l" -TOKEN(SCHEMA) +TOKEN(RENAME) YY_BREAK case 48: YY_RULE_SETUP #line 107 "flex_lexer.l" -TOKEN(SELECT) +TOKEN(SCHEMA) YY_BREAK case 49: YY_RULE_SETUP #line 108 "flex_lexer.l" -TOKEN(SORTED) +TOKEN(SELECT) YY_BREAK case 50: YY_RULE_SETUP #line 109 "flex_lexer.l" -TOKEN(TABLES) +TOKEN(SORTED) YY_BREAK case 51: YY_RULE_SETUP #line 110 "flex_lexer.l" -TOKEN(UNIQUE) +TOKEN(TABLES) YY_BREAK case 52: YY_RULE_SETUP #line 111 "flex_lexer.l" -TOKEN(UNLOAD) +TOKEN(UNIQUE) YY_BREAK case 53: YY_RULE_SETUP #line 112 "flex_lexer.l" -TOKEN(UPDATE) +TOKEN(UNLOAD) YY_BREAK case 54: YY_RULE_SETUP #line 113 "flex_lexer.l" -TOKEN(VALUES) +TOKEN(UPDATE) YY_BREAK case 55: YY_RULE_SETUP #line 114 "flex_lexer.l" -TOKEN(AFTER) +TOKEN(VALUES) YY_BREAK case 56: YY_RULE_SETUP #line 115 "flex_lexer.l" -TOKEN(ALTER) +TOKEN(AFTER) YY_BREAK case 57: YY_RULE_SETUP #line 116 "flex_lexer.l" -TOKEN(ARRAY) +TOKEN(ALTER) YY_BREAK case 58: YY_RULE_SETUP #line 117 "flex_lexer.l" -TOKEN(CROSS) +TOKEN(ARRAY) YY_BREAK case 59: YY_RULE_SETUP #line 118 "flex_lexer.l" -TOKEN(DELTA) +TOKEN(CROSS) YY_BREAK case 60: YY_RULE_SETUP #line 119 "flex_lexer.l" -TOKEN(FLOAT) +TOKEN(DELTA) YY_BREAK case 61: YY_RULE_SETUP #line 120 "flex_lexer.l" -TOKEN(GROUP) +TOKEN(FLOAT) YY_BREAK case 62: YY_RULE_SETUP #line 121 "flex_lexer.l" -TOKEN(INDEX) +TOKEN(GROUP) YY_BREAK case 63: YY_RULE_SETUP #line 122 "flex_lexer.l" -TOKEN(INNER) +TOKEN(INDEX) YY_BREAK case 64: YY_RULE_SETUP #line 123 "flex_lexer.l" -TOKEN(LIMIT) +TOKEN(INNER) YY_BREAK case 65: YY_RULE_SETUP #line 124 "flex_lexer.l" -TOKEN(LOCAL) +TOKEN(LIMIT) YY_BREAK case 66: YY_RULE_SETUP #line 125 "flex_lexer.l" -TOKEN(MERGE) +TOKEN(LOCAL) YY_BREAK case 67: YY_RULE_SETUP #line 126 "flex_lexer.l" -TOKEN(MINUS) +TOKEN(MERGE) YY_BREAK case 68: YY_RULE_SETUP #line 127 "flex_lexer.l" -TOKEN(ORDER) +TOKEN(MINUS) YY_BREAK case 69: YY_RULE_SETUP #line 128 "flex_lexer.l" -TOKEN(OUTER) +TOKEN(ORDER) YY_BREAK case 70: YY_RULE_SETUP #line 129 "flex_lexer.l" -TOKEN(RIGHT) +TOKEN(OUTER) YY_BREAK case 71: YY_RULE_SETUP #line 130 "flex_lexer.l" -TOKEN(TABLE) +TOKEN(RIGHT) YY_BREAK case 72: YY_RULE_SETUP #line 131 "flex_lexer.l" -TOKEN(UNION) +TOKEN(TABLE) YY_BREAK case 73: YY_RULE_SETUP #line 132 "flex_lexer.l" -TOKEN(USING) +TOKEN(UNION) YY_BREAK case 74: YY_RULE_SETUP #line 133 "flex_lexer.l" -TOKEN(WHERE) +TOKEN(USING) YY_BREAK case 75: YY_RULE_SETUP #line 134 "flex_lexer.l" -TOKEN(CALL) +TOKEN(WHERE) YY_BREAK case 76: YY_RULE_SETUP #line 135 "flex_lexer.l" -TOKEN(CASE) +TOKEN(CALL) YY_BREAK case 77: YY_RULE_SETUP #line 136 "flex_lexer.l" -TOKEN(CHAR) +TOKEN(CASE) YY_BREAK case 78: YY_RULE_SETUP #line 137 "flex_lexer.l" -TOKEN(DATE) +TOKEN(CHAR) YY_BREAK case 79: YY_RULE_SETUP #line 138 "flex_lexer.l" -TOKEN(DESC) +TOKEN(DATE) YY_BREAK case 80: YY_RULE_SETUP #line 139 "flex_lexer.l" -TOKEN(DROP) +TOKEN(DESC) YY_BREAK case 81: YY_RULE_SETUP #line 140 "flex_lexer.l" -TOKEN(ELSE) +TOKEN(DROP) YY_BREAK case 82: YY_RULE_SETUP #line 141 "flex_lexer.l" -TOKEN(FILE) +TOKEN(ELSE) YY_BREAK case 83: YY_RULE_SETUP #line 142 "flex_lexer.l" -TOKEN(FROM) +TOKEN(FILE) YY_BREAK case 84: YY_RULE_SETUP #line 143 "flex_lexer.l" -TOKEN(FULL) +TOKEN(FROM) YY_BREAK case 85: YY_RULE_SETUP #line 144 "flex_lexer.l" -TOKEN(HASH) +TOKEN(FULL) YY_BREAK case 86: YY_RULE_SETUP #line 145 "flex_lexer.l" -TOKEN(HINT) +TOKEN(HASH) YY_BREAK case 87: YY_RULE_SETUP #line 146 "flex_lexer.l" -TOKEN(INTO) +TOKEN(HINT) YY_BREAK case 88: YY_RULE_SETUP #line 147 "flex_lexer.l" -TOKEN(JOIN) +TOKEN(INTO) YY_BREAK case 89: YY_RULE_SETUP #line 148 "flex_lexer.l" -TOKEN(LEFT) +TOKEN(JOIN) YY_BREAK case 90: YY_RULE_SETUP #line 149 "flex_lexer.l" -TOKEN(LIKE) +TOKEN(LEFT) YY_BREAK case 91: YY_RULE_SETUP #line 150 "flex_lexer.l" -TOKEN(ILIKE) +TOKEN(LIKE) YY_BREAK case 92: YY_RULE_SETUP #line 151 "flex_lexer.l" -TOKEN(LOAD) +TOKEN(ILIKE) YY_BREAK case 93: YY_RULE_SETUP #line 152 "flex_lexer.l" -TOKEN(LONG) +TOKEN(LOAD) YY_BREAK case 94: YY_RULE_SETUP #line 153 "flex_lexer.l" -TOKEN(NULL) +TOKEN(LONG) YY_BREAK case 95: YY_RULE_SETUP #line 154 "flex_lexer.l" -TOKEN(PLAN) +TOKEN(NULL) YY_BREAK case 96: YY_RULE_SETUP #line 155 "flex_lexer.l" -TOKEN(SHOW) +TOKEN(PLAN) YY_BREAK case 97: YY_RULE_SETUP #line 156 "flex_lexer.l" -TOKEN(TEXT) +TOKEN(SHOW) YY_BREAK case 98: YY_RULE_SETUP #line 157 "flex_lexer.l" -TOKEN(THEN) +TOKEN(TEXT) YY_BREAK case 99: YY_RULE_SETUP #line 158 "flex_lexer.l" -TOKEN(TIME) +TOKEN(THEN) YY_BREAK case 100: YY_RULE_SETUP #line 159 "flex_lexer.l" -TOKEN(VIEW) +TOKEN(TIME) YY_BREAK case 101: YY_RULE_SETUP #line 160 "flex_lexer.l" -TOKEN(WHEN) +TOKEN(VIEW) YY_BREAK case 102: YY_RULE_SETUP #line 161 "flex_lexer.l" -TOKEN(WITH) +TOKEN(WHEN) YY_BREAK case 103: YY_RULE_SETUP #line 162 "flex_lexer.l" -TOKEN(ADD) +TOKEN(WITH) YY_BREAK case 104: YY_RULE_SETUP #line 163 "flex_lexer.l" -TOKEN(ALL) +TOKEN(ADD) YY_BREAK case 105: YY_RULE_SETUP #line 164 "flex_lexer.l" -TOKEN(AND) +TOKEN(ALL) YY_BREAK case 106: YY_RULE_SETUP #line 165 "flex_lexer.l" -TOKEN(ASC) +TOKEN(AND) YY_BREAK case 107: YY_RULE_SETUP #line 166 "flex_lexer.l" -TOKEN(CSV) +TOKEN(ASC) YY_BREAK case 108: YY_RULE_SETUP #line 167 "flex_lexer.l" -TOKEN(END) +TOKEN(CSV) YY_BREAK case 109: YY_RULE_SETUP #line 168 "flex_lexer.l" -TOKEN(FOR) +TOKEN(END) YY_BREAK case 110: YY_RULE_SETUP #line 169 "flex_lexer.l" -TOKEN(INT) +TOKEN(FOR) YY_BREAK case 111: YY_RULE_SETUP #line 170 "flex_lexer.l" -TOKEN(KEY) +TOKEN(INT) YY_BREAK case 112: YY_RULE_SETUP #line 171 "flex_lexer.l" -TOKEN(NOT) +TOKEN(KEY) YY_BREAK case 113: YY_RULE_SETUP #line 172 "flex_lexer.l" -TOKEN(OFF) +TOKEN(NOT) YY_BREAK case 114: YY_RULE_SETUP #line 173 "flex_lexer.l" -TOKEN(SET) +TOKEN(OFF) YY_BREAK case 115: YY_RULE_SETUP #line 174 "flex_lexer.l" -TOKEN(TBL) +TOKEN(SET) YY_BREAK case 116: YY_RULE_SETUP #line 175 "flex_lexer.l" -TOKEN(TOP) +TOKEN(TBL) YY_BREAK case 117: YY_RULE_SETUP #line 176 "flex_lexer.l" -TOKEN(AS) +TOKEN(TOP) YY_BREAK case 118: YY_RULE_SETUP #line 177 "flex_lexer.l" -TOKEN(BY) +TOKEN(AS) YY_BREAK case 119: YY_RULE_SETUP #line 178 "flex_lexer.l" -TOKEN(IF) +TOKEN(BY) YY_BREAK case 120: YY_RULE_SETUP #line 179 "flex_lexer.l" -TOKEN(IN) +TOKEN(IF) YY_BREAK case 121: YY_RULE_SETUP #line 180 "flex_lexer.l" -TOKEN(IS) +TOKEN(IN) YY_BREAK case 122: YY_RULE_SETUP #line 181 "flex_lexer.l" -TOKEN(OF) +TOKEN(IS) YY_BREAK case 123: YY_RULE_SETUP #line 182 "flex_lexer.l" -TOKEN(ON) +TOKEN(OF) YY_BREAK case 124: YY_RULE_SETUP #line 183 "flex_lexer.l" -TOKEN(OR) +TOKEN(ON) YY_BREAK case 125: YY_RULE_SETUP #line 184 "flex_lexer.l" -TOKEN(TO) +TOKEN(OR) YY_BREAK case 126: YY_RULE_SETUP #line 185 "flex_lexer.l" -TOKEN(SECOND) +TOKEN(TO) YY_BREAK case 127: YY_RULE_SETUP #line 186 "flex_lexer.l" -TOKEN(MINUTE) +TOKEN(SECOND) YY_BREAK case 128: YY_RULE_SETUP #line 187 "flex_lexer.l" -TOKEN(HOUR) +TOKEN(MINUTE) YY_BREAK case 129: YY_RULE_SETUP #line 188 "flex_lexer.l" -TOKEN(DAY) +TOKEN(HOUR) YY_BREAK case 130: YY_RULE_SETUP #line 189 "flex_lexer.l" -TOKEN(MONTH) +TOKEN(DAY) YY_BREAK case 131: YY_RULE_SETUP #line 190 "flex_lexer.l" -TOKEN(YEAR) +TOKEN(MONTH) YY_BREAK case 132: YY_RULE_SETUP #line 191 "flex_lexer.l" -TOKEN(TRUE) +TOKEN(YEAR) YY_BREAK case 133: YY_RULE_SETUP #line 192 "flex_lexer.l" +TOKEN(TRUE) + YY_BREAK +case 134: +YY_RULE_SETUP +#line 193 "flex_lexer.l" TOKEN(FALSE) YY_BREAK /* Allow =/== see https://sqlite.org/lang_expr.html#collateop */ -case 134: -YY_RULE_SETUP -#line 195 "flex_lexer.l" -TOKEN(EQUALS) - YY_BREAK case 135: YY_RULE_SETUP #line 196 "flex_lexer.l" -TOKEN(NOTEQUALS) +TOKEN(EQUALS) YY_BREAK case 136: YY_RULE_SETUP @@ -2948,94 +2957,99 @@ TOKEN(NOTEQUALS) case 137: YY_RULE_SETUP #line 198 "flex_lexer.l" -TOKEN(LESSEQ) +TOKEN(NOTEQUALS) YY_BREAK case 138: YY_RULE_SETUP #line 199 "flex_lexer.l" -TOKEN(GREATEREQ) +TOKEN(LESSEQ) YY_BREAK case 139: YY_RULE_SETUP #line 200 "flex_lexer.l" -TOKEN(CONCAT) +TOKEN(GREATEREQ) YY_BREAK case 140: YY_RULE_SETUP -#line 202 "flex_lexer.l" -{ return yytext[0]; } +#line 201 "flex_lexer.l" +TOKEN(CONCAT) YY_BREAK case 141: -#line 205 "flex_lexer.l" -case 142: YY_RULE_SETUP -#line 205 "flex_lexer.l" +#line 203 "flex_lexer.l" +{ return yytext[0]; } + YY_BREAK +case 142: +#line 206 "flex_lexer.l" +case 143: +YY_RULE_SETUP +#line 206 "flex_lexer.l" { yylval->fval = atof(yytext); return SQL_FLOATVAL; } YY_BREAK -case 143: +case 144: YY_RULE_SETUP -#line 210 "flex_lexer.l" +#line 211 "flex_lexer.l" { yylval->ival = atol(yytext); return SQL_INTVAL; } YY_BREAK -case 144: +case 145: YY_RULE_SETUP -#line 215 "flex_lexer.l" +#line 216 "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 145: +case 146: YY_RULE_SETUP -#line 221 "flex_lexer.l" +#line 222 "flex_lexer.l" { yylval->sval = strdup(yytext); return SQL_IDENTIFIER; } YY_BREAK -case 146: -YY_RULE_SETUP -#line 226 "flex_lexer.l" -{ BEGIN singlequotedstring; strbuf = std::stringstream{}; } - YY_BREAK case 147: YY_RULE_SETUP #line 227 "flex_lexer.l" -{ strbuf << '\''; } +{ BEGIN singlequotedstring; strbuf = std::stringstream{}; } YY_BREAK case 148: -/* rule 148 can match eol */ YY_RULE_SETUP #line 228 "flex_lexer.l" -{ strbuf << yytext; } +{ strbuf << '\''; } YY_BREAK case 149: +/* rule 149 can match eol */ YY_RULE_SETUP #line 229 "flex_lexer.l" -{ BEGIN 0; yylval->sval = strdup(strbuf.str().c_str()); return SQL_STRING; } - YY_BREAK -case YY_STATE_EOF(singlequotedstring): -#line 230 "flex_lexer.l" -{ fprintf(stderr, "[SQL-Lexer-Error] Unterminated string\n"); return 0; } +{ strbuf << yytext; } YY_BREAK case 150: YY_RULE_SETUP -#line 232 "flex_lexer.l" -{ fprintf(stderr, "[SQL-Lexer-Error] Unknown Character: %c\n", yytext[0]); return 0; } +#line 230 "flex_lexer.l" +{ BEGIN 0; yylval->sval = strdup(strbuf.str().c_str()); return SQL_STRING; } + YY_BREAK +case YY_STATE_EOF(singlequotedstring): +#line 231 "flex_lexer.l" +{ fprintf(stderr, "[SQL-Lexer-Error] Unterminated string\n"); return 0; } YY_BREAK case 151: YY_RULE_SETUP -#line 235 "flex_lexer.l" +#line 233 "flex_lexer.l" +{ fprintf(stderr, "[SQL-Lexer-Error] Unknown Character: %c\n", yytext[0]); return 0; } + YY_BREAK +case 152: +YY_RULE_SETUP +#line 236 "flex_lexer.l" ECHO; YY_BREAK -#line 3038 "flex_lexer.cpp" +#line 3052 "flex_lexer.cpp" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(COMMENT): yyterminate(); @@ -3336,7 +3350,7 @@ 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 >= 1016 ) + if ( yy_current_state >= 1024 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -3365,11 +3379,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 >= 1016 ) + if ( yy_current_state >= 1024 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 1015); + yy_is_jam = (yy_current_state == 1023); (void)yyg; return yy_is_jam ? 0 : yy_current_state; @@ -4192,7 +4206,7 @@ void yyfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 235 "flex_lexer.l" +#line 236 "flex_lexer.l" /*************************** ** Section 3: User code diff --git a/src/parser/flex_lexer.h b/src/parser/flex_lexer.h index a660cb9..05df105 100644 --- a/src/parser/flex_lexer.h +++ b/src/parser/flex_lexer.h @@ -730,7 +730,7 @@ extern int yylex \ #undef yyTABLES_NAME #endif -#line 235 "flex_lexer.l" +#line 236 "flex_lexer.l" #line 736 "flex_lexer.h" diff --git a/src/parser/flex_lexer.l b/src/parser/flex_lexer.l index f80c870..3b35d54 100644 --- a/src/parser/flex_lexer.l +++ b/src/parser/flex_lexer.l @@ -66,6 +66,7 @@ PARAMETERS TOKEN(PARAMETERS) INTERSECT TOKEN(INTERSECT) TEMPORARY TOKEN(TEMPORARY) TIMESTAMP TOKEN(TIMESTAMP) +DESCRIBE TOKEN(DESCRIBE) DISTINCT TOKEN(DISTINCT) NVARCHAR TOKEN(NVARCHAR) RESTRICT TOKEN(RESTRICT) diff --git a/test/queries/queries-bad.sql b/test/queries/queries-bad.sql index 5e661e6..99b8eca 100644 --- a/test/queries/queries-bad.sql +++ b/test/queries/queries-bad.sql @@ -9,6 +9,7 @@ !INSERT INTO test_table VALUESd (1, 2, 'test'); !SELECT * FROM t WHERE a = ? AND b = ?;gibberish; !SHOW COLUMNS; +!DESCRIBE; !select a + 2 as b(spam, eggs) from B; !WITH a AS SELECT 1 SELECT 1; !WITH a AS (SELECT ) SELECT 1; diff --git a/test/queries/queries-good.sql b/test/queries/queries-good.sql index 94a4a37..c9805b5 100755 --- a/test/queries/queries-good.sql +++ b/test/queries/queries-good.sql @@ -60,3 +60,4 @@ SELECT * FROM test WITH HINT(NO_CACHE, NO_SAMPLING); SELECT * FROM test WITH HINT(NO_CACHE, SAMPLE_RATE(0.1), OMW(1.0, 'test')); SHOW TABLES; SHOW COLUMNS students; +DESCRIBE students; diff --git a/test/sql_tests.cpp b/test/sql_tests.cpp index 80310ab..f636fb5 100644 --- a/test/sql_tests.cpp +++ b/test/sql_tests.cpp @@ -192,6 +192,19 @@ TEST(ShowColumnsStatementTest) { ASSERT_STREQ(stmt->name, "students"); } +TEST(DescribeStatementTest) { + TEST_PARSE_SINGLE_SQL( + "DESCRIBE students;", + kStmtShow, + ShowStatement, + result, + stmt); + + ASSERT_EQ(stmt->type, kShowColumns); + ASSERT_NOTNULL(stmt->name); + ASSERT_STREQ(stmt->name, "students"); +} + SQLParserResult parse_and_move(std::string query) { hsql::SQLParserResult result;