Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 59E64200B34 for ; Sat, 18 Jun 2016 00:20:56 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 58491160A62; Fri, 17 Jun 2016 22:20:56 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 0FB26160A61 for ; Sat, 18 Jun 2016 00:20:53 +0200 (CEST) Received: (qmail 48619 invoked by uid 500); 17 Jun 2016 22:20:53 -0000 Mailing-List: contact commits-help@quickstep.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@quickstep.incubator.apache.org Delivered-To: mailing list commits@quickstep.incubator.apache.org Received: (qmail 48610 invoked by uid 99); 17 Jun 2016 22:20:53 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 17 Jun 2016 22:20:53 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id B2A841A035D for ; Fri, 17 Jun 2016 22:20:52 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -5.446 X-Spam-Level: X-Spam-Status: No, score=-5.446 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.426] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id SkfcpYa83ams for ; Fri, 17 Jun 2016 22:20:40 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 08D415FBD8 for ; Fri, 17 Jun 2016 22:20:37 +0000 (UTC) Received: (qmail 47855 invoked by uid 99); 17 Jun 2016 22:20:37 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 17 Jun 2016 22:20:37 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 99770DFC74; Fri, 17 Jun 2016 22:20:36 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: jianqiao@apache.org To: commits@quickstep.incubator.apache.org Date: Fri, 17 Jun 2016 22:20:37 -0000 Message-Id: <6191b6ff8b36411a897c5620d5bd0470@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [4/5] incubator-quickstep git commit: QUICKSTEP-20: Added parser support for SQL window aggregation function archived-at: Fri, 17 Jun 2016 22:20:56 -0000 http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/00ca1e4b/parser/preprocessed/SqlLexer_gen.cpp ---------------------------------------------------------------------- diff --git a/parser/preprocessed/SqlLexer_gen.cpp b/parser/preprocessed/SqlLexer_gen.cpp index db20491..d02db56 100644 --- a/parser/preprocessed/SqlLexer_gen.cpp +++ b/parser/preprocessed/SqlLexer_gen.cpp @@ -8,8 +8,8 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 6 -#define YY_FLEX_SUBMINOR_VERSION 0 +#define YY_FLEX_MINOR_VERSION 5 +#define YY_FLEX_SUBMINOR_VERSION 39 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -354,7 +354,7 @@ void quickstep_yyfree (void * ,yyscan_t yyscanner ); /* Begin user sect3 */ -#define quickstep_yywrap(yyscanner) (/*CONSTCOND*/1) +#define quickstep_yywrap(yyscanner) 1 #define YY_SKIP_YYWRAP typedef unsigned char YY_CHAR; @@ -366,9 +366,6 @@ typedef int yy_state_type; static yy_state_type yy_get_previous_state (yyscan_t yyscanner ); static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner); static int yy_get_next_buffer (yyscan_t yyscanner ); -#if defined(__GNUC__) && __GNUC__ >= 3 -__attribute__((__noreturn__)) -#endif static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); /* Done after the current pattern has been matched and before the @@ -381,8 +378,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 152 -#define YY_END_OF_BUFFER 153 +#define YY_NUM_RULES 160 +#define YY_END_OF_BUFFER 161 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -390,72 +387,75 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[553] = +static yyconst flex_int16_t yy_accept[588] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 153, 2, 2, 151, 151, 150, 149, 151, - 128, 124, 127, 124, 124, 147, 120, 117, 121, 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, 125, 4, 5, 5, 3, 143, - 143, 140, 144, 144, 138, 145, 145, 142, 1, 150, - 118, 148, 147, 147, 147, 0, 122, 119, 123, 146, - 146, 146, 146, 10, 146, 146, 146, 22, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 126, 146, - - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 146, 58, 66, 146, 146, 146, 146, 146, 146, - 146, 146, 146, 146, 146, 80, 81, 146, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 4, 5, 3, 143, 139, 144, 137, 137, 129, - 131, 132, 133, 134, 135, 136, 137, 145, 141, 148, - 147, 0, 147, 6, 7, 146, 9, 11, 146, 146, - 15, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 32, 146, 146, 146, 146, 146, 146, 146, 146, - - 43, 146, 146, 146, 146, 146, 146, 50, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 62, 146, 68, - 146, 146, 146, 146, 146, 146, 146, 76, 146, 79, - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 146, 146, 146, 97, 98, 146, 146, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 129, 131, 130, 146, 146, 146, 146, 146, 146, 146, - 20, 23, 146, 146, 146, 28, 146, 146, 30, 146, - 146, 146, 146, 37, 146, 146, 41, 42, 146, 146, - 146, 146, 146, 146, 146, 52, 53, 146, 55, 146, - - 57, 146, 146, 146, 146, 65, 67, 69, 70, 71, - 146, 73, 146, 146, 77, 146, 146, 146, 146, 146, - 88, 146, 90, 146, 146, 146, 146, 146, 146, 146, - 146, 146, 102, 103, 105, 146, 146, 146, 146, 146, - 146, 112, 146, 114, 115, 129, 130, 8, 146, 146, - 146, 146, 146, 146, 146, 25, 146, 146, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 47, 48, 49, 146, 54, 146, 59, 60, 146, - 146, 146, 72, 146, 75, 78, 82, 83, 146, 146, - 146, 89, 146, 146, 93, 146, 146, 146, 146, 146, - - 101, 146, 146, 146, 146, 109, 146, 146, 113, 146, - 146, 146, 14, 146, 146, 146, 146, 146, 26, 146, - 29, 146, 146, 146, 146, 35, 146, 146, 146, 40, - 146, 45, 146, 146, 56, 61, 146, 146, 74, 146, - 146, 146, 146, 92, 146, 95, 96, 146, 146, 146, - 146, 107, 108, 110, 146, 146, 146, 13, 146, 146, - 146, 146, 146, 146, 21, 146, 33, 34, 146, 146, - 146, 146, 46, 51, 63, 146, 146, 86, 87, 146, - 146, 146, 146, 146, 146, 111, 146, 146, 146, 146, - 146, 146, 146, 146, 31, 146, 146, 39, 146, 64, - - 146, 146, 146, 99, 146, 146, 146, 146, 12, 146, - 146, 146, 146, 24, 146, 36, 146, 146, 84, 146, - 146, 100, 104, 146, 116, 16, 146, 146, 146, 27, - 38, 146, 85, 91, 146, 146, 146, 18, 19, 146, - 146, 106, 146, 146, 146, 146, 146, 94, 146, 44, - 17, 0 + 0, 0, 161, 2, 2, 159, 159, 158, 157, 159, + 136, 132, 135, 132, 132, 155, 128, 125, 129, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 133, 4, 5, 5, 3, 151, + 151, 148, 152, 152, 146, 153, 153, 150, 1, 158, + 126, 156, 155, 155, 155, 0, 130, 127, 131, 154, + 154, 154, 154, 10, 154, 154, 154, 22, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 134, + + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 60, 68, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 82, 83, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 4, 5, 3, 151, 147, 152, 145, + 145, 137, 139, 140, 141, 142, 143, 144, 145, 153, + 149, 156, 155, 0, 155, 6, 7, 154, 9, 11, + 154, 154, 15, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 33, 154, 154, 154, 154, 154, + + 154, 154, 154, 44, 154, 154, 154, 154, 154, 154, + 154, 52, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 64, 154, 70, 154, 154, 154, 154, 154, 154, + 154, 78, 154, 81, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 98, 154, 154, + 103, 104, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 137, 139, + 138, 154, 154, 154, 154, 154, 154, 154, 20, 23, + 154, 154, 154, 28, 154, 154, 154, 31, 154, 154, + 154, 154, 38, 154, 154, 42, 43, 154, 154, 154, + + 154, 154, 154, 154, 154, 54, 55, 154, 57, 154, + 59, 154, 154, 154, 154, 67, 69, 71, 72, 73, + 154, 75, 154, 154, 79, 154, 154, 86, 154, 154, + 154, 154, 92, 154, 94, 154, 154, 154, 100, 154, + 154, 154, 154, 154, 154, 108, 109, 111, 154, 154, + 154, 154, 154, 154, 154, 119, 154, 154, 122, 123, + 137, 138, 8, 154, 154, 154, 154, 154, 154, 154, + 25, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 48, 49, 50, + 154, 154, 56, 154, 61, 62, 154, 154, 154, 74, + + 154, 77, 80, 84, 85, 154, 154, 154, 154, 93, + 154, 154, 97, 154, 154, 154, 154, 154, 107, 154, + 154, 154, 154, 154, 116, 154, 154, 120, 154, 154, + 154, 154, 14, 154, 154, 154, 154, 154, 26, 154, + 29, 154, 154, 154, 154, 154, 36, 154, 154, 154, + 41, 154, 46, 154, 154, 154, 58, 63, 154, 154, + 76, 154, 154, 154, 154, 154, 96, 154, 101, 102, + 154, 154, 154, 154, 154, 114, 115, 117, 154, 121, + 154, 154, 13, 154, 154, 154, 154, 154, 154, 21, + 30, 154, 34, 35, 154, 154, 154, 154, 47, 154, + + 53, 65, 154, 154, 89, 154, 91, 154, 154, 154, + 154, 154, 154, 154, 118, 154, 154, 154, 154, 154, + 154, 154, 154, 32, 154, 154, 40, 154, 154, 66, + 154, 154, 154, 154, 105, 154, 154, 154, 154, 154, + 12, 154, 154, 154, 154, 24, 154, 37, 154, 154, + 51, 87, 90, 154, 154, 106, 110, 154, 113, 124, + 16, 154, 154, 154, 27, 39, 154, 88, 95, 154, + 154, 154, 18, 19, 154, 154, 112, 154, 154, 154, + 154, 154, 99, 154, 45, 17, 0 } ; -static yyconst YY_CHAR yy_ec[256] = +static yyconst flex_int32_t yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, @@ -487,7 +487,7 @@ static yyconst YY_CHAR yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst YY_CHAR yy_meta[72] = +static yyconst flex_int32_t yy_meta[72] = { 0, 1, 1, 2, 1, 1, 3, 1, 4, 1, 5, 5, 6, 6, 5, 1, 1, 1, 7, 7, 7, @@ -499,145 +499,155 @@ static yyconst YY_CHAR yy_meta[72] = 8 } ; -static yyconst flex_uint16_t yy_base[568] = +static yyconst flex_int16_t yy_base[603] = { 0, 0, 1, 46, 0, 117, 163, 2, 3, 128, 132, - 6, 10, 257, 1219, 1219, 0, 1219, 13, 1219, 233, - 1219, 1219, 1219, 208, 6, 130, 4, 1219, 195, 124, - 161, 170, 178, 207, 260, 92, 167, 161, 96, 107, - 219, 214, 212, 224, 236, 92, 279, 272, 278, 281, - 128, 168, 0, 125, 1219, 184, 4, 19, 0, 0, - 0, 146, 0, 0, 343, 0, 0, 145, 0, 22, - 1219, 0, 307, 337, 341, 18, 1219, 1219, 1219, 0, - 170, 224, 177, 181, 215, 269, 224, 0, 263, 326, - 336, 286, 290, 333, 382, 321, 322, 329, 1219, 328, - - 347, 351, 346, 350, 346, 353, 352, 374, 386, 385, - 383, 382, 402, 0, 395, 382, 389, 403, 399, 397, - 399, 401, 399, 408, 418, 0, 421, 406, 410, 425, - 437, 438, 438, 455, 451, 436, 457, 462, 462, 463, - 461, 454, 447, 454, 462, 469, 465, 466, 474, 460, - 481, 148, 29, 0, 0, 1219, 0, 1219, 1219, 22, - 24, 1219, 1219, 1219, 1219, 1219, 0, 0, 1219, 0, - 509, 26, 28, 0, 0, 478, 0, 481, 478, 501, - 493, 514, 513, 501, 517, 500, 503, 498, 523, 505, - 521, 0, 518, 527, 526, 529, 513, 532, 520, 532, - - 0, 537, 521, 523, 523, 525, 558, 563, 559, 562, - 554, 568, 568, 560, 574, 575, 576, 577, 569, 0, - 564, 565, 581, 578, 582, 569, 571, 0, 581, 0, - 589, 590, 576, 595, 586, 580, 595, 605, 621, 625, - 624, 98, 618, 629, 0, 623, 617, 625, 624, 634, - 635, 629, 625, 642, 630, 624, 644, 634, 641, 632, - 30, 125, 0, 633, 639, 649, 642, 652, 647, 647, - 0, 674, 673, 675, 670, 0, 671, 674, 673, 681, - 674, 676, 684, 693, 690, 688, 0, 0, 685, 682, - 702, 700, 686, 687, 699, 0, 0, 693, 0, 696, - - 0, 687, 694, 696, 726, 0, 0, 0, 0, 0, - 696, 0, 698, 734, 727, 730, 731, 741, 746, 751, - 0, 748, 0, 736, 731, 736, 753, 744, 756, 748, - 741, 758, 0, 745, 0, 760, 745, 747, 761, 764, - 762, 0, 767, 0, 761, 136, 1219, 0, 772, 786, - 780, 801, 788, 800, 805, 0, 795, 792, 806, 807, - 804, 813, 803, 811, 808, 804, 805, 816, 817, 804, - 821, 0, 0, 0, 818, 0, 819, 0, 0, 807, - 823, 808, 0, 827, 0, 0, 0, 0, 814, 835, - 840, 0, 855, 846, 0, 859, 861, 846, 858, 850, - - 0, 849, 851, 866, 867, 0, 854, 873, 0, 860, - 867, 863, 0, 857, 862, 880, 873, 863, 0, 883, - 0, 880, 873, 876, 870, 0, 872, 903, 913, 0, - 93, 0, 898, 906, 0, 0, 904, 922, 0, 915, - 905, 901, 913, 0, 916, 0, 0, 915, 921, 930, - 931, 0, 0, 0, 915, 920, 921, 0, 928, 923, - 926, 928, 936, 933, 0, 938, 0, 0, 939, 937, - 928, 931, 0, 0, 0, 953, 959, 0, 0, 973, - 969, 960, 967, 969, 970, 0, 964, 978, 972, 971, - 972, 969, 972, 977, 0, 974, 979, 0, 975, 0, - - 982, 992, 985, 0, 992, 984, 985, 994, 0, 997, - 1001, 996, 1018, 0, 1012, 0, 1027, 1018, 1019, 1020, - 1031, 0, 0, 1029, 0, 0, 1024, 1038, 1026, 0, - 0, 1036, 0, 0, 1026, 1042, 1028, 0, 0, 1035, - 1045, 0, 1042, 1046, 1036, 1050, 1037, 0, 1038, 0, - 0, 1219, 1103, 1113, 1123, 1133, 1143, 1147, 1150, 1156, - 1164, 1174, 1184, 1194, 1204, 1209, 1211 + 6, 10, 211, 1307, 1307, 0, 1307, 13, 1307, 194, + 1307, 1307, 1307, 194, 6, 130, 4, 1307, 170, 124, + 161, 215, 170, 207, 265, 92, 167, 162, 96, 107, + 223, 165, 162, 221, 274, 92, 284, 277, 315, 206, + 128, 232, 0, 125, 1307, 152, 4, 19, 0, 0, + 0, 143, 0, 0, 379, 0, 0, 144, 0, 22, + 1307, 0, 292, 305, 335, 18, 1307, 1307, 1307, 0, + 174, 264, 180, 186, 209, 271, 229, 0, 277, 333, + 335, 312, 330, 317, 323, 338, 323, 333, 340, 1307, + + 339, 355, 357, 381, 370, 373, 377, 382, 380, 384, + 383, 383, 383, 431, 0, 398, 383, 390, 406, 402, + 403, 404, 425, 420, 431, 442, 0, 445, 432, 448, + 436, 437, 451, 448, 444, 460, 452, 439, 489, 464, + 468, 469, 468, 462, 455, 477, 501, 493, 489, 494, + 502, 494, 510, 142, 29, 0, 0, 1307, 0, 1307, + 1307, 22, 24, 1307, 1307, 1307, 1307, 1307, 0, 0, + 1307, 0, 520, 26, 28, 0, 0, 508, 0, 512, + 495, 510, 497, 530, 518, 506, 525, 508, 512, 509, + 543, 530, 533, 550, 0, 547, 558, 556, 561, 546, + + 565, 552, 564, 0, 569, 552, 554, 556, 557, 576, + 566, 576, 569, 571, 565, 579, 580, 573, 587, 597, + 598, 604, 594, 0, 593, 594, 612, 613, 616, 603, + 605, 0, 614, 0, 622, 623, 611, 610, 630, 631, + 622, 616, 632, 628, 636, 639, 637, 631, 632, 644, + 0, 649, 647, 655, 657, 667, 670, 665, 665, 664, + 681, 669, 663, 682, 673, 682, 680, 671, 30, 125, + 0, 674, 679, 689, 683, 693, 688, 689, 0, 702, + 694, 694, 688, 0, 699, 706, 720, 709, 717, 712, + 715, 725, 734, 731, 729, 0, 0, 726, 723, 743, + + 740, 726, 727, 734, 741, 0, 0, 735, 0, 738, + 0, 731, 738, 739, 759, 0, 0, 0, 0, 0, + 740, 0, 741, 755, 746, 764, 765, 0, 778, 783, + 786, 792, 0, 791, 0, 779, 774, 779, 0, 796, + 787, 799, 791, 784, 800, 0, 788, 0, 803, 788, + 789, 793, 807, 810, 810, 0, 814, 806, 0, 810, + 136, 1307, 0, 820, 830, 820, 840, 830, 839, 848, + 0, 840, 837, 851, 852, 844, 850, 859, 849, 857, + 854, 851, 852, 862, 863, 852, 869, 0, 0, 0, + 850, 869, 0, 870, 0, 0, 859, 876, 860, 0, + + 888, 0, 0, 0, 0, 878, 885, 899, 886, 0, + 902, 893, 0, 907, 909, 894, 906, 898, 0, 897, + 899, 905, 915, 916, 0, 904, 923, 0, 902, 911, + 920, 916, 0, 909, 916, 934, 928, 919, 0, 939, + 0, 946, 936, 944, 949, 942, 0, 945, 963, 967, + 0, 93, 0, 951, 963, 959, 0, 0, 956, 974, + 0, 967, 957, 969, 954, 967, 0, 970, 0, 0, + 969, 975, 986, 987, 985, 0, 0, 0, 974, 0, + 979, 981, 0, 988, 983, 996, 1002, 1010, 1010, 0, + 0, 1015, 0, 0, 1018, 1016, 1008, 1010, 0, 1016, + + 0, 0, 1019, 1017, 0, 1019, 0, 1031, 1026, 1016, + 1023, 1026, 1027, 1036, 0, 1022, 1038, 1032, 1031, 1034, + 1031, 1035, 1041, 0, 1038, 1053, 0, 1052, 1066, 0, + 1063, 1071, 1076, 1070, 0, 1079, 1071, 1072, 1085, 1082, + 0, 1084, 1087, 1081, 1089, 0, 1075, 0, 1090, 1080, + 0, 1080, 0, 1081, 1094, 0, 0, 1092, 0, 0, + 0, 1087, 1103, 1091, 0, 0, 1102, 0, 0, 1093, + 1109, 1105, 0, 0, 1116, 1126, 0, 1126, 1129, 1121, + 1136, 1125, 0, 1126, 0, 0, 1307, 1191, 1201, 1211, + 1221, 1231, 1235, 1238, 1244, 1252, 1262, 1272, 1282, 1292, + + 1297, 1299 } ; -static yyconst flex_int16_t yy_def[568] = +static yyconst flex_int16_t yy_def[603] = { 0, - 553, 553, 552, 3, 554, 554, 555, 555, 556, 556, - 557, 557, 552, 552, 552, 558, 552, 552, 552, 552, - 552, 552, 552, 552, 552, 552, 552, 552, 552, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 552, 552, 552, 552, 560, 561, - 561, 552, 562, 562, 563, 564, 564, 552, 558, 552, - 552, 565, 552, 552, 552, 552, 552, 552, 552, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 552, 559, - - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 552, 552, 560, 561, 552, 562, 552, 552, 552, - 552, 552, 552, 552, 552, 552, 566, 564, 552, 565, - 552, 552, 552, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 552, 552, 567, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 552, 552, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 0, 552, 552, 552, 552, 552, 552, 552, 552, - 552, 552, 552, 552, 552, 552, 552 + 588, 588, 587, 3, 589, 589, 590, 590, 591, 591, + 592, 592, 587, 587, 587, 593, 587, 587, 587, 587, + 587, 587, 587, 587, 587, 587, 587, 587, 587, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 587, 587, 587, 587, 595, 596, + 596, 587, 597, 597, 598, 599, 599, 587, 593, 587, + 587, 600, 587, 587, 587, 587, 587, 587, 587, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 587, + + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 587, 587, 595, 596, 587, 597, 587, + 587, 587, 587, 587, 587, 587, 587, 587, 601, 599, + 587, 600, 587, 587, 587, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 587, 587, + 602, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 587, 587, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 594, 594, 594, 594, 594, 0, 587, 587, 587, + 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, + + 587, 587 } ; -static yyconst flex_uint16_t yy_nxt[1291] = +static yyconst flex_int16_t yy_nxt[1379] = { 0, - 552, 552, 15, 15, 61, 61, 153, 153, 67, 62, - 62, 68, 67, 552, 70, 68, 70, 73, 73, 77, - 78, 153, 153, 70, 552, 70, 172, 172, 552, 173, - 173, 153, 153, 261, 262, 262, 262, 173, 173, 173, - 173, 346, 262, 552, 16, 16, 17, 18, 19, 18, + 587, 587, 15, 15, 61, 61, 155, 155, 67, 62, + 62, 68, 67, 587, 70, 68, 70, 73, 73, 77, + 78, 155, 155, 70, 587, 70, 174, 174, 587, 175, + 175, 155, 155, 269, 270, 270, 270, 175, 175, 175, + 175, 361, 270, 587, 16, 16, 17, 18, 19, 18, 20, 21, 22, 23, 22, 24, 25, 26, 26, 17, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, @@ -646,143 +656,153 @@ static yyconst flex_uint16_t yy_nxt[1291] = 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 17, 56, 57, - 58, 17, 17, 17, 17, 17, 110, 115, 116, 132, - 64, 17, 17, 17, 64, 62, 262, 262, 472, 62, - 74, 75, 75, 327, 81, 148, 151, 262, 262, 152, - 169, 76, 82, 156, 83, 110, 115, 116, 132, 84, + 58, 17, 17, 17, 17, 17, 111, 116, 117, 134, + 64, 17, 17, 17, 64, 62, 270, 270, 498, 62, + 74, 75, 75, 154, 81, 150, 153, 270, 270, 171, + 158, 76, 82, 154, 83, 111, 116, 117, 134, 84, 17, 17, 17, 17, 56, 57, 58, 17, 17, 17, - 17, 17, 65, 81, 148, 151, 65, 17, 17, 17, - 76, 82, 85, 83, 111, 152, 86, 89, 84, 87, - 174, 113, 149, 150, 90, 94, 114, 177, 112, 95, - - 178, 91, 88, 96, 92, 93, 17, 17, 17, 97, - 79, 85, 98, 111, 99, 86, 89, 72, 87, 174, - 113, 149, 150, 90, 94, 114, 177, 112, 95, 178, - 91, 88, 96, 92, 93, 100, 117, 101, 97, 121, - 118, 98, 102, 123, 119, 122, 125, 103, 71, 124, - 120, 179, 175, 129, 126, 182, 552, 130, 127, 552, - 176, 128, 552, 552, 100, 117, 101, 552, 121, 118, - 131, 102, 123, 119, 122, 125, 103, 104, 124, 120, - 179, 175, 129, 126, 182, 105, 130, 127, 106, 176, - 128, 107, 180, 137, 108, 140, 133, 109, 183, 131, - - 134, 138, 141, 142, 135, 181, 104, 189, 190, 139, - 136, 145, 143, 146, 105, 144, 147, 106, 73, 73, - 107, 180, 137, 108, 140, 133, 109, 183, 76, 134, - 138, 141, 142, 135, 181, 552, 189, 190, 139, 136, - 145, 143, 146, 184, 144, 147, 159, 185, 171, 171, - 552, 74, 75, 75, 160, 161, 197, 76, 76, 198, - 199, 162, 76, 200, 186, 163, 187, 201, 188, 191, - 202, 203, 184, 164, 192, 552, 185, 165, 205, 166, - 206, 552, 204, 167, 207, 197, 208, 76, 198, 199, - 162, 76, 200, 186, 163, 187, 201, 188, 191, 202, - - 203, 193, 164, 192, 194, 209, 165, 205, 166, 206, - 195, 204, 167, 207, 210, 208, 211, 196, 212, 214, - 219, 213, 215, 220, 221, 222, 223, 225, 224, 226, - 193, 227, 216, 194, 209, 228, 229, 217, 218, 195, - 230, 231, 232, 210, 233, 211, 196, 212, 214, 219, - 213, 215, 220, 221, 222, 223, 225, 224, 226, 234, - 227, 216, 235, 236, 228, 229, 217, 218, 237, 230, - 231, 232, 238, 233, 241, 242, 243, 239, 240, 246, - 247, 248, 249, 250, 251, 244, 252, 253, 234, 254, - 255, 235, 236, 245, 256, 258, 259, 237, 260, 264, - - 257, 238, 265, 241, 242, 243, 239, 240, 246, 247, - 248, 249, 250, 251, 244, 252, 253, 266, 254, 255, - 171, 171, 245, 256, 258, 259, 267, 260, 264, 257, - 76, 265, 268, 269, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 270, 266, 282, 284, 285, - 286, 283, 287, 288, 289, 267, 290, 291, 292, 76, - 293, 268, 269, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 281, 270, 294, 282, 284, 285, 286, - 283, 287, 288, 289, 295, 290, 291, 292, 296, 293, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 307, - - 308, 309, 310, 311, 294, 312, 313, 314, 306, 315, - 316, 317, 318, 295, 319, 320, 321, 296, 322, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 307, 308, - 309, 310, 311, 323, 312, 313, 314, 306, 315, 316, - 317, 318, 324, 319, 320, 321, 325, 322, 326, 328, - 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, - 339, 340, 323, 341, 342, 344, 345, 348, 343, 349, - 350, 324, 351, 352, 353, 325, 354, 326, 328, 329, - 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, - 340, 355, 341, 342, 344, 345, 348, 343, 349, 350, - - 356, 351, 352, 353, 357, 354, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 355, 372, 373, 374, 375, 376, 377, 378, 379, 356, - 380, 552, 383, 357, 384, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 381, - 372, 373, 374, 375, 376, 377, 378, 379, 385, 380, - 382, 383, 386, 384, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 381, 401, - 402, 403, 404, 405, 406, 407, 408, 385, 409, 382, - 410, 386, 411, 387, 388, 389, 390, 391, 392, 393, - - 394, 395, 396, 397, 398, 399, 400, 412, 401, 402, - 403, 404, 405, 406, 407, 408, 413, 409, 414, 410, - 415, 411, 417, 416, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 412, 430, 431, 432, - 433, 434, 435, 436, 437, 413, 438, 414, 439, 415, - 440, 417, 416, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 441, 430, 431, 432, 433, - 434, 435, 436, 437, 442, 438, 443, 439, 444, 440, - 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, - 455, 456, 457, 458, 441, 459, 460, 461, 462, 463, - - 464, 465, 466, 442, 467, 443, 468, 444, 469, 445, - 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, - 456, 457, 458, 470, 459, 460, 461, 462, 463, 464, - 465, 466, 471, 467, 473, 468, 474, 469, 475, 476, - 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 470, 489, 490, 491, 492, 493, 494, 495, - 496, 471, 497, 473, 498, 474, 499, 475, 476, 477, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 488, 500, 489, 490, 491, 492, 493, 494, 495, 496, - 501, 497, 502, 498, 503, 499, 504, 505, 506, 507, - - 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 500, 518, 519, 520, 521, 522, 523, 524, 525, 501, - 526, 502, 527, 503, 528, 504, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 529, - 518, 519, 520, 521, 522, 523, 524, 525, 530, 526, - 531, 527, 532, 528, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 546, 529, 547, - 548, 549, 550, 551, 552, 552, 552, 530, 552, 531, - 552, 532, 552, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 546, 552, 547, 548, - - 549, 550, 551, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 69, 69, 80, 80, 80, 552, 80, - 154, 154, 154, 154, 155, 155, 155, 552, 155, 155, - 155, 155, 155, 155, 157, 157, 157, 552, 157, 157, - 157, 157, 552, 157, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 168, 168, 552, 168, 168, 168, - - 168, 168, 168, 168, 170, 552, 170, 170, 170, 170, - 170, 170, 170, 170, 263, 263, 347, 347, 13, 552, - 552, 552, 552, 552, 552, 552, 552, 552, 552, 552, - 552, 552, 552, 552, 552, 552, 552, 552, 552, 552, - 552, 552, 552, 552, 552, 552, 552, 552, 552, 552, - 552, 552, 552, 552, 552, 552, 552, 552, 552, 552, - 552, 552, 552, 552, 552, 552, 552, 552, 552, 552, - 552, 552, 552, 552, 552, 552, 552, 552, 552, 552, - 552, 552, 552, 552, 552, 552, 552, 552, 552, 552 + 17, 17, 65, 81, 150, 153, 65, 17, 17, 17, + 76, 82, 85, 83, 112, 79, 86, 95, 84, 87, + 122, 96, 114, 124, 176, 97, 123, 115, 113, 125, + + 179, 98, 88, 72, 99, 180, 17, 17, 17, 71, + 587, 85, 587, 112, 100, 86, 95, 587, 87, 122, + 96, 114, 124, 176, 97, 123, 115, 113, 125, 179, + 98, 88, 89, 99, 180, 101, 147, 102, 148, 90, + 118, 149, 103, 126, 119, 181, 91, 104, 120, 92, + 93, 127, 94, 587, 121, 128, 151, 152, 129, 130, + 184, 89, 587, 587, 101, 147, 102, 148, 90, 118, + 149, 103, 126, 119, 181, 91, 104, 120, 92, 93, + 127, 94, 105, 121, 128, 151, 152, 129, 130, 184, + 106, 131, 177, 107, 182, 132, 108, 587, 139, 109, + + 178, 135, 110, 73, 73, 136, 140, 183, 133, 137, + 587, 105, 185, 76, 141, 138, 173, 173, 587, 106, + 131, 177, 107, 182, 132, 108, 76, 139, 109, 178, + 135, 110, 142, 191, 136, 140, 183, 133, 137, 143, + 144, 185, 76, 141, 138, 74, 75, 75, 192, 145, + 186, 193, 146, 587, 187, 76, 76, 196, 200, 194, + 197, 142, 191, 188, 195, 189, 198, 190, 143, 144, + 201, 202, 587, 199, 203, 204, 205, 192, 145, 186, + 193, 146, 161, 187, 587, 76, 196, 200, 194, 197, + 162, 163, 188, 195, 189, 198, 190, 164, 208, 201, + + 202, 165, 199, 203, 204, 205, 206, 209, 210, 166, + 211, 213, 214, 167, 215, 168, 212, 207, 216, 169, + 218, 217, 587, 223, 224, 225, 164, 208, 226, 227, + 165, 228, 587, 229, 230, 206, 209, 210, 166, 211, + 213, 214, 167, 215, 168, 212, 207, 216, 169, 218, + 217, 219, 223, 224, 225, 231, 232, 226, 227, 233, + 228, 220, 229, 230, 234, 235, 221, 222, 236, 237, + 238, 239, 240, 242, 243, 247, 241, 244, 248, 587, + 219, 252, 245, 246, 231, 232, 253, 254, 233, 255, + 220, 256, 257, 234, 235, 221, 222, 236, 237, 238, + + 239, 240, 242, 243, 247, 241, 244, 248, 249, 258, + 252, 245, 246, 261, 262, 253, 254, 250, 255, 259, + 256, 257, 263, 265, 266, 251, 260, 268, 264, 272, + 267, 173, 173, 273, 274, 275, 276, 249, 258, 279, + 280, 76, 261, 262, 281, 282, 250, 283, 259, 277, + 284, 263, 265, 266, 251, 260, 268, 264, 272, 267, + 285, 278, 273, 274, 275, 276, 286, 287, 279, 280, + 76, 288, 289, 281, 282, 290, 283, 291, 277, 284, + 293, 292, 294, 295, 296, 297, 298, 299, 300, 285, + 278, 301, 302, 303, 304, 286, 287, 305, 306, 307, + + 288, 289, 308, 309, 290, 310, 291, 311, 312, 293, + 292, 294, 295, 296, 297, 298, 299, 300, 313, 314, + 301, 302, 303, 304, 317, 315, 305, 306, 307, 318, + 319, 308, 309, 320, 310, 316, 311, 312, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 313, 314, 330, + 331, 332, 333, 317, 315, 334, 335, 336, 318, 319, + 337, 338, 320, 341, 316, 342, 339, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 340, 343, 330, 331, + 332, 333, 344, 345, 334, 335, 336, 346, 347, 337, + 338, 348, 341, 349, 342, 339, 350, 351, 352, 353, + + 354, 355, 358, 356, 359, 360, 343, 357, 363, 364, + 365, 344, 345, 366, 367, 368, 346, 347, 369, 370, + 348, 371, 349, 372, 373, 350, 351, 352, 353, 354, + 355, 358, 356, 359, 360, 374, 357, 363, 364, 365, + 375, 376, 366, 367, 368, 377, 378, 369, 370, 379, + 371, 380, 372, 373, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 374, 391, 392, 393, 394, 375, + 376, 395, 396, 397, 377, 378, 400, 401, 379, 402, + 380, 403, 398, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 399, 391, 392, 393, 394, 404, 405, + + 395, 396, 397, 406, 407, 400, 401, 408, 402, 409, + 403, 398, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 399, 420, 421, 422, 423, 404, 405, 424, + 425, 426, 406, 407, 427, 428, 408, 429, 409, 430, + 431, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 432, 420, 421, 422, 423, 433, 434, 424, 425, + 426, 437, 435, 427, 428, 436, 429, 438, 430, 431, + 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, + 432, 449, 450, 451, 452, 433, 434, 453, 454, 455, + 437, 435, 456, 457, 436, 458, 438, 459, 460, 439, + + 440, 441, 442, 443, 444, 445, 446, 447, 448, 461, + 449, 450, 451, 452, 462, 463, 453, 454, 455, 464, + 465, 456, 457, 466, 458, 467, 459, 460, 468, 469, + 470, 471, 472, 473, 474, 475, 476, 477, 461, 478, + 479, 480, 481, 462, 463, 482, 483, 484, 464, 465, + 485, 486, 466, 487, 467, 488, 489, 468, 469, 470, + 471, 472, 473, 474, 475, 476, 477, 490, 478, 479, + 480, 481, 491, 492, 482, 483, 484, 493, 494, 485, + 486, 495, 487, 496, 488, 489, 497, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 490, 508, 509, 510, + + 511, 491, 492, 512, 513, 514, 493, 494, 515, 516, + 495, 517, 496, 518, 519, 497, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 520, 508, 509, 510, 511, + 521, 522, 512, 513, 514, 523, 524, 515, 516, 525, + 517, 526, 518, 519, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 520, 537, 538, 539, 540, 521, + 522, 541, 542, 543, 523, 524, 544, 545, 525, 546, + 526, 547, 548, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 549, 537, 538, 539, 540, 550, 551, + 541, 542, 543, 552, 553, 544, 545, 554, 546, 555, + + 547, 548, 556, 557, 558, 559, 560, 561, 562, 563, + 564, 565, 549, 566, 567, 568, 569, 550, 551, 570, + 571, 572, 552, 553, 573, 574, 554, 575, 555, 576, + 577, 556, 557, 558, 559, 560, 561, 562, 563, 564, + 565, 578, 566, 567, 568, 569, 579, 580, 570, 571, + 572, 581, 582, 573, 574, 583, 575, 584, 576, 577, + 585, 586, 587, 587, 587, 587, 587, 587, 587, 587, + 578, 587, 587, 587, 587, 579, 580, 587, 587, 587, + 581, 582, 587, 587, 583, 587, 584, 587, 587, 585, + 586, 14, 14, 14, 14, 14, 14, 14, 14, 14, + + 14, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, + 60, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 69, 69, 80, 80, 80, 587, 80, 156, 156, + 156, 156, 157, 157, 157, 587, 157, 157, 157, 157, + 157, 157, 159, 159, 159, 587, 159, 159, 159, 159, + 587, 159, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 170, 170, 587, 170, 170, 170, 170, 170, + 170, 170, 172, 587, 172, 172, 172, 172, 172, 172, + + 172, 172, 271, 271, 362, 362, 13, 587, 587, 587, + 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, + 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, + 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, + 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, + 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, + 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, + 587, 587, 587, 587, 587, 587, 587, 587 } ; -static yyconst flex_int16_t yy_chk[1291] = +static yyconst flex_int16_t yy_chk[1379] = { 0, 0, 0, 1, 2, 7, 8, 57, 57, 11, 7, 8, 11, 12, 0, 18, 12, 18, 25, 25, 27, 27, 58, 58, 70, 0, 70, 76, 76, 0, 76, - 76, 153, 153, 160, 160, 161, 161, 172, 172, 173, - 173, 261, 261, 0, 1, 2, 3, 3, 3, 3, + 76, 155, 155, 162, 162, 163, 163, 174, 174, 175, + 175, 269, 269, 0, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -792,137 +812,147 @@ static yyconst flex_int16_t yy_chk[1291] = 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 36, 39, 40, 46, - 9, 5, 5, 5, 10, 9, 262, 262, 431, 10, - 26, 26, 26, 242, 30, 51, 54, 346, 346, 152, - 68, 26, 30, 62, 30, 36, 39, 40, 46, 30, + 9, 5, 5, 5, 10, 9, 270, 270, 452, 10, + 26, 26, 26, 154, 30, 51, 54, 361, 361, 68, + 62, 26, 30, 56, 30, 36, 39, 40, 46, 30, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 9, 30, 51, 54, 10, 6, 6, 6, - 26, 30, 31, 30, 37, 56, 31, 32, 30, 31, - 81, 38, 52, 52, 32, 33, 38, 83, 37, 33, - - 84, 32, 31, 33, 32, 32, 6, 6, 6, 33, - 29, 31, 33, 37, 34, 31, 32, 24, 31, 81, - 38, 52, 52, 32, 33, 38, 83, 37, 33, 84, - 32, 31, 33, 32, 32, 34, 41, 34, 33, 42, - 41, 33, 34, 43, 41, 42, 44, 34, 20, 43, - 41, 85, 82, 45, 44, 87, 13, 45, 44, 0, - 82, 44, 0, 0, 34, 41, 34, 0, 42, 41, - 45, 34, 43, 41, 42, 44, 34, 35, 43, 41, - 85, 82, 45, 44, 87, 35, 45, 44, 35, 82, - 44, 35, 86, 48, 35, 49, 47, 35, 89, 45, - - 47, 48, 49, 49, 47, 86, 35, 92, 93, 48, - 47, 50, 49, 50, 35, 49, 50, 35, 73, 73, - 35, 86, 48, 35, 49, 47, 35, 89, 73, 47, - 48, 49, 49, 47, 86, 0, 92, 93, 48, 47, - 50, 49, 50, 90, 49, 50, 65, 90, 74, 74, - 0, 75, 75, 75, 65, 65, 96, 73, 74, 97, - 98, 65, 75, 100, 91, 65, 91, 101, 91, 94, - 102, 103, 90, 65, 94, 0, 90, 65, 104, 65, - 105, 0, 103, 65, 106, 96, 107, 74, 97, 98, - 65, 75, 100, 91, 65, 91, 101, 91, 94, 102, - - 103, 95, 65, 94, 95, 108, 65, 104, 65, 105, - 95, 103, 65, 106, 109, 107, 110, 95, 111, 112, - 115, 111, 113, 116, 117, 118, 119, 120, 119, 121, - 95, 122, 113, 95, 108, 123, 124, 113, 113, 95, - 125, 127, 128, 109, 129, 110, 95, 111, 112, 115, - 111, 113, 116, 117, 118, 119, 120, 119, 121, 130, - 122, 113, 131, 132, 123, 124, 113, 113, 133, 125, - 127, 128, 134, 129, 135, 136, 137, 134, 134, 138, - 139, 140, 141, 142, 143, 137, 144, 145, 130, 146, - 147, 131, 132, 137, 148, 149, 150, 133, 151, 176, - - 148, 134, 178, 135, 136, 137, 134, 134, 138, 139, - 140, 141, 142, 143, 137, 144, 145, 179, 146, 147, - 171, 171, 137, 148, 149, 150, 180, 151, 176, 148, - 171, 178, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 193, 194, 182, 179, 195, 196, 197, - 198, 195, 199, 200, 202, 180, 203, 204, 205, 171, - 206, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 193, 194, 182, 207, 195, 196, 197, 198, - 195, 199, 200, 202, 208, 203, 204, 205, 209, 206, - 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, - - 221, 222, 223, 224, 207, 225, 226, 227, 218, 229, - 231, 232, 233, 208, 234, 235, 236, 209, 237, 210, - 211, 212, 213, 214, 215, 216, 217, 218, 219, 221, - 222, 223, 224, 238, 225, 226, 227, 218, 229, 231, - 232, 233, 239, 234, 235, 236, 240, 237, 241, 243, - 244, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 238, 257, 258, 259, 260, 264, 258, 265, - 266, 239, 267, 268, 269, 240, 270, 241, 243, 244, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 272, 257, 258, 259, 260, 264, 258, 265, 266, - - 273, 267, 268, 269, 274, 270, 275, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 289, 290, 291, - 272, 292, 293, 294, 295, 298, 300, 302, 303, 273, - 304, 0, 311, 274, 313, 275, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 289, 290, 291, 305, - 292, 293, 294, 295, 298, 300, 302, 303, 314, 304, - 305, 311, 315, 313, 316, 317, 318, 319, 320, 322, - 324, 325, 326, 327, 328, 329, 330, 331, 305, 332, - 334, 336, 337, 338, 339, 340, 341, 314, 343, 305, - 345, 315, 349, 316, 317, 318, 319, 320, 322, 324, - - 325, 326, 327, 328, 329, 330, 331, 350, 332, 334, - 336, 337, 338, 339, 340, 341, 351, 343, 352, 345, - 353, 349, 354, 353, 355, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 350, 368, 369, 370, - 371, 375, 377, 380, 381, 351, 382, 352, 384, 353, - 389, 354, 353, 355, 357, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 367, 390, 368, 369, 370, 371, - 375, 377, 380, 381, 391, 382, 393, 384, 394, 389, - 396, 397, 398, 399, 400, 402, 403, 404, 405, 407, - 408, 410, 411, 412, 390, 414, 415, 416, 417, 418, - - 420, 422, 423, 391, 424, 393, 425, 394, 427, 396, - 397, 398, 399, 400, 402, 403, 404, 405, 407, 408, - 410, 411, 412, 428, 414, 415, 416, 417, 418, 420, - 422, 423, 429, 424, 433, 425, 434, 427, 437, 438, - 440, 441, 442, 443, 445, 448, 449, 450, 451, 455, - 456, 457, 428, 459, 460, 461, 462, 463, 464, 466, - 469, 429, 470, 433, 471, 434, 472, 437, 438, 440, - 441, 442, 443, 445, 448, 449, 450, 451, 455, 456, - 457, 476, 459, 460, 461, 462, 463, 464, 466, 469, - 477, 470, 480, 471, 481, 472, 482, 483, 484, 485, - - 487, 488, 489, 490, 491, 492, 493, 494, 496, 497, - 476, 499, 501, 502, 503, 505, 506, 507, 508, 477, - 510, 480, 511, 481, 512, 482, 483, 484, 485, 487, - 488, 489, 490, 491, 492, 493, 494, 496, 497, 513, - 499, 501, 502, 503, 505, 506, 507, 508, 515, 510, - 517, 511, 518, 512, 519, 520, 521, 524, 527, 528, - 529, 532, 535, 536, 537, 540, 541, 543, 513, 544, - 545, 546, 547, 549, 0, 0, 0, 515, 0, 517, - 0, 518, 0, 519, 520, 521, 524, 527, 528, 529, - 532, 535, 536, 537, 540, 541, 543, 0, 544, 545, - - 546, 547, 549, 553, 553, 553, 553, 553, 553, 553, - 553, 553, 553, 554, 554, 554, 554, 554, 554, 554, - 554, 554, 554, 555, 555, 555, 555, 555, 555, 555, - 555, 555, 555, 556, 556, 556, 556, 556, 556, 556, - 556, 556, 556, 557, 557, 557, 557, 557, 557, 557, - 557, 557, 557, 558, 558, 559, 559, 559, 0, 559, - 560, 560, 560, 560, 561, 561, 561, 0, 561, 561, - 561, 561, 561, 561, 562, 562, 562, 0, 562, 562, - 562, 562, 0, 562, 563, 563, 563, 563, 563, 563, - 563, 563, 563, 563, 564, 564, 0, 564, 564, 564, - - 564, 564, 564, 564, 565, 0, 565, 565, 565, 565, - 565, 565, 565, 565, 566, 566, 567, 567, 552, 552, - 552, 552, 552, 552, 552, 552, 552, 552, 552, 552, - 552, 552, 552, 552, 552, 552, 552, 552, 552, 552, - 552, 552, 552, 552, 552, 552, 552, 552, 552, 552, - 552, 552, 552, 552, 552, 552, 552, 552, 552, 552, - 552, 552, 552, 552, 552, 552, 552, 552, 552, 552, - 552, 552, 552, 552, 552, 552, 552, 552, 552, 552, - 552, 552, 552, 552, 552, 552, 552, 552, 552, 552 + 26, 30, 31, 30, 37, 29, 31, 33, 30, 31, + 42, 33, 38, 43, 81, 33, 42, 38, 37, 43, + + 83, 33, 31, 24, 33, 84, 6, 6, 6, 20, + 13, 31, 0, 37, 34, 31, 33, 0, 31, 42, + 33, 38, 43, 81, 33, 42, 38, 37, 43, 83, + 33, 31, 32, 33, 84, 34, 50, 34, 50, 32, + 41, 50, 34, 44, 41, 85, 32, 34, 41, 32, + 32, 44, 32, 0, 41, 44, 52, 52, 44, 44, + 87, 32, 0, 0, 34, 50, 34, 50, 32, 41, + 50, 34, 44, 41, 85, 32, 34, 41, 32, 32, + 44, 32, 35, 41, 44, 52, 52, 44, 44, 87, + 35, 45, 82, 35, 86, 45, 35, 0, 48, 35, + + 82, 47, 35, 73, 73, 47, 48, 86, 45, 47, + 0, 35, 89, 73, 48, 47, 74, 74, 0, 35, + 45, 82, 35, 86, 45, 35, 74, 48, 35, 82, + 47, 35, 49, 92, 47, 48, 86, 45, 47, 49, + 49, 89, 73, 48, 47, 75, 75, 75, 93, 49, + 90, 94, 49, 0, 90, 74, 75, 96, 97, 95, + 96, 49, 92, 91, 95, 91, 96, 91, 49, 49, + 98, 99, 0, 96, 101, 102, 103, 93, 49, 90, + 94, 49, 65, 90, 0, 75, 96, 97, 95, 96, + 65, 65, 91, 95, 91, 96, 91, 65, 105, 98, + + 99, 65, 96, 101, 102, 103, 104, 106, 107, 65, + 108, 109, 110, 65, 111, 65, 108, 104, 112, 65, + 113, 112, 0, 116, 117, 118, 65, 105, 119, 120, + 65, 120, 0, 121, 122, 104, 106, 107, 65, 108, + 109, 110, 65, 111, 65, 108, 104, 112, 65, 113, + 112, 114, 116, 117, 118, 123, 124, 119, 120, 125, + 120, 114, 121, 122, 126, 128, 114, 114, 129, 130, + 131, 132, 133, 134, 135, 137, 133, 136, 138, 0, + 114, 140, 136, 136, 123, 124, 141, 142, 125, 143, + 114, 144, 145, 126, 128, 114, 114, 129, 130, 131, + + 132, 133, 134, 135, 137, 133, 136, 138, 139, 146, + 140, 136, 136, 148, 149, 141, 142, 139, 143, 147, + 144, 145, 150, 151, 152, 139, 147, 153, 150, 178, + 152, 173, 173, 180, 181, 182, 183, 139, 146, 185, + 186, 173, 148, 149, 187, 188, 139, 189, 147, 184, + 190, 150, 151, 152, 139, 147, 153, 150, 178, 152, + 191, 184, 180, 181, 182, 183, 192, 193, 185, 186, + 173, 194, 196, 187, 188, 197, 189, 198, 184, 190, + 199, 198, 200, 201, 202, 203, 205, 206, 207, 191, + 184, 208, 209, 210, 211, 192, 193, 212, 213, 214, + + 194, 196, 215, 216, 197, 217, 198, 218, 219, 199, + 198, 200, 201, 202, 203, 205, 206, 207, 220, 221, + 208, 209, 210, 211, 223, 222, 212, 213, 214, 225, + 226, 215, 216, 227, 217, 222, 218, 219, 228, 229, + 230, 231, 233, 235, 236, 237, 238, 220, 221, 239, + 240, 241, 242, 223, 222, 243, 244, 245, 225, 226, + 246, 247, 227, 249, 222, 250, 248, 228, 229, 230, + 231, 233, 235, 236, 237, 238, 248, 252, 239, 240, + 241, 242, 253, 254, 243, 244, 245, 255, 256, 246, + 247, 257, 249, 258, 250, 248, 259, 260, 261, 262, + + 263, 264, 266, 265, 267, 268, 252, 265, 272, 273, + 274, 253, 254, 275, 276, 277, 255, 256, 278, 280, + 257, 281, 258, 282, 283, 259, 260, 261, 262, 263, + 264, 266, 265, 267, 268, 285, 265, 272, 273, 274, + 286, 287, 275, 276, 277, 288, 289, 278, 280, 290, + 281, 291, 282, 283, 292, 293, 294, 295, 298, 299, + 300, 301, 302, 303, 285, 304, 305, 308, 310, 286, + 287, 312, 313, 314, 288, 289, 321, 323, 290, 324, + 291, 325, 315, 292, 293, 294, 295, 298, 299, 300, + 301, 302, 303, 315, 304, 305, 308, 310, 326, 327, + + 312, 313, 314, 329, 330, 321, 323, 331, 324, 332, + 325, 315, 334, 336, 337, 338, 340, 341, 342, 343, + 344, 345, 315, 347, 349, 350, 351, 326, 327, 352, + 353, 354, 329, 330, 355, 357, 331, 358, 332, 360, + 364, 334, 336, 337, 338, 340, 341, 342, 343, 344, + 345, 365, 347, 349, 350, 351, 366, 367, 352, 353, + 354, 369, 368, 355, 357, 368, 358, 370, 360, 364, + 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, + 365, 382, 383, 384, 385, 366, 367, 386, 387, 391, + 369, 368, 392, 394, 368, 397, 370, 398, 399, 372, + + 373, 374, 375, 376, 377, 378, 379, 380, 381, 401, + 382, 383, 384, 385, 406, 407, 386, 387, 391, 408, + 409, 392, 394, 411, 397, 412, 398, 399, 414, 415, + 416, 417, 418, 420, 421, 422, 423, 424, 401, 426, + 427, 429, 430, 406, 407, 431, 432, 434, 408, 409, + 435, 436, 411, 437, 412, 438, 440, 414, 415, 416, + 417, 418, 420, 421, 422, 423, 424, 442, 426, 427, + 429, 430, 443, 444, 431, 432, 434, 445, 446, 435, + 436, 448, 437, 449, 438, 440, 450, 454, 455, 456, + 459, 460, 462, 463, 464, 465, 442, 466, 468, 471, + + 472, 443, 444, 473, 474, 475, 445, 446, 479, 481, + 448, 482, 449, 484, 485, 450, 454, 455, 456, 459, + 460, 462, 463, 464, 465, 486, 466, 468, 471, 472, + 487, 488, 473, 474, 475, 489, 492, 479, 481, 495, + 482, 496, 484, 485, 497, 498, 500, 503, 504, 506, + 508, 509, 510, 511, 486, 512, 513, 514, 516, 487, + 488, 517, 518, 519, 489, 492, 520, 521, 495, 522, + 496, 523, 525, 497, 498, 500, 503, 504, 506, 508, + 509, 510, 511, 526, 512, 513, 514, 516, 528, 529, + 517, 518, 519, 531, 532, 520, 521, 533, 522, 534, + + 523, 525, 536, 537, 538, 539, 540, 542, 543, 544, + 545, 547, 526, 549, 550, 552, 554, 528, 529, 555, + 558, 562, 531, 532, 563, 564, 533, 567, 534, 570, + 571, 536, 537, 538, 539, 540, 542, 543, 544, 545, + 547, 572, 549, 550, 552, 554, 575, 576, 555, 558, + 562, 578, 579, 563, 564, 580, 567, 581, 570, 571, + 582, 584, 0, 0, 0, 0, 0, 0, 0, 0, + 572, 0, 0, 0, 0, 575, 576, 0, 0, 0, + 578, 579, 0, 0, 580, 0, 581, 0, 0, 582, + 584, 588, 588, 588, 588, 588, 588, 588, 588, 588, + + 588, 589, 589, 589, 589, 589, 589, 589, 589, 589, + 589, 590, 590, 590, 590, 590, 590, 590, 590, 590, + 590, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 592, 592, 592, 592, 592, 592, 592, 592, 592, + 592, 593, 593, 594, 594, 594, 0, 594, 595, 595, + 595, 595, 596, 596, 596, 0, 596, 596, 596, 596, + 596, 596, 597, 597, 597, 0, 597, 597, 597, 597, + 0, 597, 598, 598, 598, 598, 598, 598, 598, 598, + 598, 598, 599, 599, 0, 599, 599, 599, 599, 599, + 599, 599, 600, 0, 600, 600, 600, 600, 600, 600, + + 600, 600, 601, 601, 602, 602, 587, 587, 587, 587, + 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, + 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, + 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, + 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, + 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, + 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, + 587, 587, 587, 587, 587, 587, 587, 587 } ; /* Table of booleans, true if rule could match eol. */ -static yyconst flex_int32_t yy_rule_can_match_eol[153] = +static yyconst flex_int32_t yy_rule_can_match_eol[161] = { 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -930,8 +960,9 @@ static yyconst flex_int32_t yy_rule_can_match_eol[153] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, }; + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, + 0, }; /* The intent behind this definition is that it'll catch * any uses of REJECT which flex missed. @@ -984,6 +1015,7 @@ class ParseCommand; struct ParseCopyFromParams; class ParseDataType; class ParseExpression; +struct ParseFrameInfo; class ParseFunctionCall; class ParseGroupBy; class ParseHaving; @@ -1022,6 +1054,7 @@ class ParseSubqueryExpression; class ParseSubqueryTableReference; class ParseTableReference; class ParseTableReferenceSignature; +class ParseWindow; class Type; class UnaryOperation; @@ -1048,7 +1081,7 @@ class UnaryOperation; -#line 1052 "SqlLexer_gen.cpp" +#line 1085 "SqlLexer_gen.cpp" #define INITIAL 0 #define CONDITION_SQL 1 @@ -1134,11 +1167,11 @@ void quickstep_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner ); FILE *quickstep_yyget_in (yyscan_t yyscanner ); -void quickstep_yyset_in (FILE * _in_str ,yyscan_t yyscanner ); +void quickstep_yyset_in (FILE * in_str ,yyscan_t yyscanner ); FILE *quickstep_yyget_out (yyscan_t yyscanner ); -void quickstep_yyset_out (FILE * _out_str ,yyscan_t yyscanner ); +void quickstep_yyset_out (FILE * out_str ,yyscan_t yyscanner ); yy_size_t quickstep_yyget_leng (yyscan_t yyscanner ); @@ -1146,11 +1179,11 @@ char *quickstep_yyget_text (yyscan_t yyscanner ); int quickstep_yyget_lineno (yyscan_t yyscanner ); -void quickstep_yyset_lineno (int _line_number ,yyscan_t yyscanner ); +void quickstep_yyset_lineno (int line_number ,yyscan_t yyscanner ); int quickstep_yyget_column (yyscan_t yyscanner ); -void quickstep_yyset_column (int _column_no ,yyscan_t yyscanner ); +void quickstep_yyset_column (int column_no ,yyscan_t yyscanner ); YYSTYPE * quickstep_yyget_lval (yyscan_t yyscanner ); @@ -1172,10 +1205,6 @@ extern int quickstep_yywrap (yyscan_t yyscanner ); #endif #endif -#ifndef YY_NO_UNPUT - -#endif - #ifndef yytext_ptr static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner); #endif @@ -1290,7 +1319,7 @@ extern int quickstep_yylex \ /* Code executed at the end of each rule. */ #ifndef YY_BREAK -#define YY_BREAK /*LINTED*/break; +#define YY_BREAK break; #endif #define YY_RULE_SETUP \ @@ -1300,9 +1329,9 @@ extern int quickstep_yylex \ */ YY_DECL { - yy_state_type yy_current_state; - char *yy_cp, *yy_bp; - int yy_act; + register yy_state_type yy_current_state; + register char *yy_cp, *yy_bp; + register int yy_act; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; yylval = yylval_param; @@ -1336,12 +1365,12 @@ YY_DECL } { -#line 128 "../SqlLexer.lpp" +#line 130 "../SqlLexer.lpp" -#line 1343 "SqlLexer_gen.cpp" +#line 1372 "SqlLexer_gen.cpp" - while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ + while ( 1 ) /* loops until end-of-file is reached */ { yy_cp = yyg->yy_c_buf_p; @@ -1357,7 +1386,7 @@ YY_DECL yy_match: do { - YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; + register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; if ( yy_accept[yy_current_state] ) { yyg->yy_last_accepting_state = yy_current_state; @@ -1366,13 +1395,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 >= 553 ) + if ( yy_current_state >= 588 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_current_state != 552 ); + while ( yy_current_state != 587 ); yy_cp = yyg->yy_last_accepting_cpos; yy_current_state = yyg->yy_last_accepting_state; @@ -1406,7 +1435,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 131 "../SqlLexer.lpp" +#line 133 "../SqlLexer.lpp" { /* A forward slash character represents a system command. */ BEGIN(CONDITION_COMMAND); @@ -1418,7 +1447,7 @@ YY_RULE_SETUP case 2: /* rule 2 can match eol */ YY_RULE_SETUP -#line 139 "../SqlLexer.lpp" +#line 141 "../SqlLexer.lpp" { /* This is a SQL command. Place the char back and process normally. */ yyless(0); @@ -1430,7 +1459,7 @@ YY_RULE_SETUP case 3: YY_RULE_SETUP -#line 148 "../SqlLexer.lpp" +#line 150 "../SqlLexer.lpp" { /* This is a command argument. */ yylval->string_value_ = new quickstep::ParseString( @@ -1440,7 +1469,7 @@ YY_RULE_SETUP YY_BREAK case 4: YY_RULE_SETUP -#line 155 "../SqlLexer.lpp" +#line 157 "../SqlLexer.lpp" { /* Ignore whitespace. */ } @@ -1448,7 +1477,7 @@ YY_RULE_SETUP case 5: /* rule 5 can match eol */ YY_RULE_SETUP -#line 159 "../SqlLexer.lpp" +#line 161 "../SqlLexer.lpp" { /* Newline reverts the lexer to the initial state. */ yycolumn = 0; @@ -1460,627 +1489,667 @@ YY_RULE_SETUP case 6: YY_RULE_SETUP -#line 168 "../SqlLexer.lpp" +#line 170 "../SqlLexer.lpp" return TOKEN_ADD; YY_BREAK case 7: YY_RULE_SETUP -#line 169 "../SqlLexer.lpp" +#line 171 "../SqlLexer.lpp" return TOKEN_ALL; YY_BREAK case 8: YY_RULE_SETUP -#line 170 "../SqlLexer.lpp" +#line 172 "../SqlLexer.lpp" return TOKEN_ALTER; YY_BREAK case 9: YY_RULE_SETUP -#line 171 "../SqlLexer.lpp" +#line 173 "../SqlLexer.lpp" return TOKEN_AND; YY_BREAK case 10: YY_RULE_SETUP -#line 172 "../SqlLexer.lpp" +#line 174 "../SqlLexer.lpp" return TOKEN_AS; YY_BREAK case 11: YY_RULE_SETUP -#line 173 "../SqlLexer.lpp" +#line 175 "../SqlLexer.lpp" return TOKEN_ASC; YY_BREAK case 12: YY_RULE_SETUP -#line 174 "../SqlLexer.lpp" +#line 176 "../SqlLexer.lpp" return TOKEN_ASC; YY_BREAK case 13: YY_RULE_SETUP -#line 175 "../SqlLexer.lpp" +#line 177 "../SqlLexer.lpp" return TOKEN_BETWEEN; YY_BREAK case 14: YY_RULE_SETUP -#line 176 "../SqlLexer.lpp" +#line 178 "../SqlLexer.lpp" return TOKEN_BIGINT; YY_BREAK case 15: YY_RULE_SETUP -#line 177 "../SqlLexer.lpp" +#line 179 "../SqlLexer.lpp" return TOKEN_BIT; YY_BREAK case 16: YY_RULE_SETUP -#line 178 "../SqlLexer.lpp" +#line 180 "../SqlLexer.lpp" return TOKEN_BITWEAVING; YY_BREAK case 17: YY_RULE_SETUP -#line 179 "../SqlLexer.lpp" +#line 181 "../SqlLexer.lpp" return TOKEN_BLOCKPROPERTIES; YY_BREAK case 18: YY_RULE_SETUP -#line 180 "../SqlLexer.lpp" +#line 182 "../SqlLexer.lpp" return TOKEN_BLOCKSAMPLE; YY_BREAK case 19: YY_RULE_SETUP -#line 181 "../SqlLexer.lpp" +#line 183 "../SqlLexer.lpp" return TOKEN_BLOOM_FILTER; YY_BREAK case 20: YY_RULE_SETUP -#line 182 "../SqlLexer.lpp" +#line 184 "../SqlLexer.lpp" return TOKEN_CASE; YY_BREAK case 21: YY_RULE_SETUP -#line 183 "../SqlLexer.lpp" +#line 185 "../SqlLexer.lpp" return TOKEN_CSB_TREE; YY_BREAK case 22: YY_RULE_SETUP -#line 184 "../SqlLexer.lpp" +#line 186 "../SqlLexer.lpp" return TOKEN_BY; YY_BREAK case 23: YY_RULE_SETUP -#line 185 "../SqlLexer.lpp" +#line 187 "../SqlLexer.lpp" return TOKEN_CHARACTER; YY_BREAK case 24: YY_RULE_SETUP -#line 186 "../SqlLexer.lpp" +#line 188 "../SqlLexer.lpp" return TOKEN_CHARACTER; YY_BREAK case 25: YY_RULE_SETUP -#line 187 "../SqlLexer.lpp" +#line 189 "../SqlLexer.lpp" return TOKEN_CHECK; YY_BREAK case 26: YY_RULE_SETUP -#line 188 "../SqlLexer.lpp" +#line 190 "../SqlLexer.lpp" return TOKEN_COLUMN; YY_BREAK case 27: YY_RULE_SETUP -#line 189 "../SqlLexer.lpp" +#line 191 "../SqlLexer.lpp" return TOKEN_CONSTRAINT; YY_BREAK case 28: YY_RULE_SETUP -#line 190 "../SqlLexer.lpp" +#line 192 "../SqlLexer.lpp" return TOKEN_COPY; YY_BREAK case 29: YY_RULE_SETUP -#line 191 "../SqlLexer.lpp" +#line 193 "../SqlLexer.lpp" return TOKEN_CREATE; YY_BREAK case 30: YY_RULE_SETUP -#line 192 "../SqlLexer.lpp" -return TOKEN_DATE; +#line 194 "../SqlLexer.lpp" +return TOKEN_CURRENT; YY_BREAK case 31: YY_RULE_SETUP -#line 193 "../SqlLexer.lpp" -return TOKEN_DATETIME; +#line 195 "../SqlLexer.lpp" +return TOKEN_DATE; YY_BREAK case 32: YY_RULE_SETUP -#line 194 "../SqlLexer.lpp" -return TOKEN_DAY; +#line 196 "../SqlLexer.lpp" +return TOKEN_DATETIME; YY_BREAK case 33: YY_RULE_SETUP -#line 195 "../SqlLexer.lpp" -return TOKEN_DECIMAL; +#line 197 "../SqlLexer.lpp" +return TOKEN_DAY; YY_BREAK case 34: YY_RULE_SETUP -#line 196 "../SqlLexer.lpp" -return TOKEN_DEFAULT; +#line 198 "../SqlLexer.lpp" +return TOKEN_DECIMAL; YY_BREAK case 35: YY_RULE_SETUP -#line 197 "../SqlLexer.lpp" -return TOKEN_DELETE; +#line 199 "../SqlLexer.lpp" +return TOKEN_DEFAULT; YY_BREAK case 36: YY_RULE_SETUP -#line 198 "../SqlLexer.lpp" -return TOKEN_DELIMITER; +#line 200 "../SqlLexer.lpp" +return TOKEN_DELETE; YY_BREAK case 37: YY_RULE_SETUP -#line 199 "../SqlLexer.lpp" -return TOKEN_DESC; +#line 201 "../SqlLexer.lpp" +return TOKEN_DELIMITER; YY_BREAK case 38: YY_RULE_SETUP -#line 200 "../SqlLexer.lpp" +#line 202 "../SqlLexer.lpp" return TOKEN_DESC; YY_BREAK case 39: YY_RULE_SETUP -#line 201 "../SqlLexer.lpp" -return TOKEN_DISTINCT; +#line 203 "../SqlLexer.lpp" +return TOKEN_DESC; YY_BREAK case 40: YY_RULE_SETUP -#line 202 "../SqlLexer.lpp" -return TOKEN_DOUBLE; +#line 204 "../SqlLexer.lpp" +return TOKEN_DISTINCT; YY_BREAK case 41: YY_RULE_SETUP -#line 203 "../SqlLexer.lpp" -return TOKEN_DROP; +#line 205 "../SqlLexer.lpp" +return TOKEN_DOUBLE; YY_BREAK case 42: YY_RULE_SETUP -#line 204 "../SqlLexer.lpp" -return TOKEN_ELSE; +#line 206 "../SqlLexer.lpp" +return TOKEN_DROP; YY_BREAK case 43: YY_RULE_SETUP -#line 205 "../SqlLexer.lpp" -return TOKEN_END; +#line 207 "../SqlLexer.lpp" +return TOKEN_ELSE; YY_BREAK case 44: YY_RULE_SETUP -#line 206 "../SqlLexer.lpp" -return TOKEN_ESCAPE_STRINGS; +#line 208 "../SqlLexer.lpp" +return TOKEN_END; YY_BREAK case 45: YY_RULE_SETUP -#line 207 "../SqlLexer.lpp" -return TOKEN_EXISTS; +#line 209 "../SqlLexer.lpp" +return TOKEN_ESCAPE_STRINGS; YY_BREAK case 46: YY_RULE_SETUP -#line 208 "../SqlLexer.lpp" -return TOKEN_EXTRACT; +#line 210 "../SqlLexer.lpp" +return TOKEN_EXISTS; YY_BREAK case 47: YY_RULE_SETUP -#line 209 "../SqlLexer.lpp" -return TOKEN_FALSE; +#line 211 "../SqlLexer.lpp" +return TOKEN_EXTRACT; YY_BREAK case 48: YY_RULE_SETUP -#line 210 "../SqlLexer.lpp" -return TOKEN_FIRST; +#line 212 "../SqlLexer.lpp" +return TOKEN_FALSE; YY_BREAK case 49: YY_RULE_SETUP -#line 211 "../SqlLexer.lpp" -return TOKEN_FLOAT; +#line 213 "../SqlLexer.lpp" +return TOKEN_FIRST; YY_BREAK case 50: YY_RULE_SETUP -#line 212 "../SqlLexer.lpp" -return TOKEN_FOR; +#line 214 "../SqlLexer.lpp" +return TOKEN_FLOAT; YY_BREAK case 51: YY_RULE_SETUP -#line 213 "../SqlLexer.lpp" -return TOKEN_FOREIGN; +#line 215 "../SqlLexer.lpp" +return TOKEN_FOLLOWING; YY_BREAK case 52: YY_RULE_SETUP -#line 214 "../SqlLexer.lpp" -return TOKEN_FROM; +#line 216 "../SqlLexer.lpp" +return TOKEN_FOR; YY_BREAK case 53: YY_RULE_SETUP -#line 215 "../SqlLexer.lpp" -return TOKEN_FULL; +#line 217 "../SqlLexer.lpp" +return TOKEN_FOREIGN; YY_BREAK case 54: YY_RULE_SETUP -#line 216 "../SqlLexer.lpp" -return TOKEN_GROUP; +#line 218 "../SqlLexer.lpp" +return TOKEN_FROM; YY_BREAK case 55: YY_RULE_SETUP -#line 217 "../SqlLexer.lpp" -return TOKEN_HASH; +#line 219 "../SqlLexer.lpp" +return TOKEN_FULL; YY_BREAK case 56: YY_RULE_SETUP -#line 218 "../SqlLexer.lpp" -return TOKEN_HAVING; +#line 220 "../SqlLexer.lpp" +return TOKEN_GROUP; YY_BREAK case 57: YY_RULE_SETUP -#line 219 "../SqlLexer.lpp" -return TOKEN_HOUR; +#line 221 "../SqlLexer.lpp" +return TOKEN_HASH; YY_BREAK case 58: YY_RULE_SETUP -#line 220 "../SqlLexer.lpp" -return TOKEN_IN; +#line 222 "../SqlLexer.lpp" +return TOKEN_HAVING; YY_BREAK case 59: YY_RULE_SETUP -#line 221 "../SqlLexer.lpp" -return TOKEN_INDEX; +#line 223 "../SqlLexer.lpp" +return TOKEN_HOUR; YY_BREAK case 60: YY_RULE_SETUP -#line 222 "../SqlLexer.lpp" -return TOKEN_INNER; +#line 224 "../SqlLexer.lpp" +return TOKEN_IN; YY_BREAK case 61: YY_RULE_SETUP -#line 223 "../SqlLexer.lpp" -return TOKEN_INSERT; +#line 225 "../SqlLexer.lpp" +return TOKEN_INDEX; YY_BREAK case 62: YY_RULE_SETUP -#line 224 "../SqlLexer.lpp" -return TOKEN_INTEGER; +#line 226 "../SqlLexer.lpp" +return TOKEN_INNER; YY_BREAK case 63: YY_RULE_SETUP -#line 225 "../SqlLexer.lpp" -return TOKEN_INTEGER; +#line 227 "../SqlLexer.lpp" +return TOKEN_INSERT; YY_BREAK case 64: YY_RULE_SETUP -#line 226 "../SqlLexer.lpp" -return TOKEN_INTERVAL; +#line 228 "../SqlLexer.lpp" +return TOKEN_INTEGER; YY_BREAK case 65: YY_RULE_SETUP -#line 227 "../SqlLexer.lpp" -return TOKEN_INTO; +#line 229 "../SqlLexer.lpp" +return TOKEN_INTEGER; YY_BREAK case 66: YY_RULE_SETUP -#line 228 "../SqlLexer.lpp" -return TOKEN_IS; +#line 230 "../SqlLexer.lpp" +return TOKEN_INTERVAL; YY_BREAK case 67: YY_RULE_SETUP -#line 229 "../SqlLexer.lpp" -return TOKEN_JOIN; +#line 231 "../SqlLexer.lpp" +return TOKEN_INTO; YY_BREAK case 68: YY_RULE_SETUP -#line 230 "../SqlLexer.lpp" -return TOKEN_KEY; +#line 232 "../SqlLexer.lpp" +return TOKEN_IS; YY_BREAK case 69: YY_RULE_SETUP -#line 231 "../SqlLexer.lpp" -return TOKEN_LAST; +#line 233 "../SqlLexer.lpp" +return TOKEN_JOIN; YY_BREAK case 70: YY_RULE_SETUP -#line 232 "../SqlLexer.lpp" -return TOKEN_LEFT; +#line 234 "../SqlLexer.lpp" +return TOKEN_KEY; YY_BREAK case 71: YY_RULE_SETUP -#line 233 "../SqlLexer.lpp" -return TOKEN_LIKE; +#line 235 "../SqlLexer.lpp" +return TOKEN_LAST; YY_BREAK case 72: YY_RULE_SETUP -#line 234 "../SqlLexer.lpp" -return TOKEN_LIMIT; +#line 236 "../SqlLexer.lpp" +return TOKEN_LEFT; YY_BREAK case 73: YY_RULE_SETUP -#line 235 "../SqlLexer.lpp" -return TOKEN_LONG; +#line 237 "../SqlLexer.lpp" +return TOKEN_LIKE; YY_BREAK case 74: YY_RULE_SETUP -#line 236 "../SqlLexer.lpp" -return TOKEN_MINUTE; +#line 238 "../SqlLexer.lpp" +return TOKEN_LIMIT; YY_BREAK case 75: YY_RULE_SETUP -#line 237 "../SqlLexer.lpp" -return TOKEN_MONTH; +#line 239 "../SqlLexer.lpp" +return TOKEN_LONG; YY_BREAK case 76: YY_RULE_SETUP -#line 238 "../SqlLexer.lpp" -return TOKEN_NOT; +#line 240 "../SqlLexer.lpp" +return TOKEN_MINUTE; YY_BREAK case 77: YY_RULE_SETUP -#line 239 "../SqlLexer.lpp" -return TOKEN_NULL; +#line 241 "../SqlLexer.lpp" +return TOKEN_MONTH; YY_BREAK case 78: YY_RULE_SETUP -#line 240 "../SqlLexer.lpp" -return TOKEN_NULLS; +#line 242 "../SqlLexer.lpp" +return TOKEN_NOT; YY_BREAK case 79: YY_RULE_SETUP -#line 241 "../SqlLexer.lpp" -return TOKEN_OFF; +#line 243 "../SqlLexer.lpp" +return TOKEN_NULL; YY_BREAK case 80: YY_RULE_SETUP -#line 242 "../SqlLexer.lpp" -return TOKEN_ON; +#line 244 "../SqlLexer.lpp" +return TOKEN_NULLS; YY_BREAK case 81: YY_RULE_SETUP -#line 243 "../SqlLexer.lpp" -return TOKEN_OR; +#line 245 "../SqlLexer.lpp" +return TOKEN_OFF; YY_BREAK case 82: YY_RULE_SETUP -#line 244 "../SqlLexer.lpp" +#line 246 "../SqlLexer.lpp" +return TOKEN_ON; + YY_BREAK +case 83: +YY_RULE_SETUP +#line 247 "../SqlLexer.lpp" +return TOKEN_OR; + YY_BREAK +case 84: +YY_RULE_SETUP +#line 248 "../SqlLexer.lpp" return TOKEN_ORDER; YY_BREAK -case 83: +case 85: YY_RULE_SETUP -#line 245 "../SqlLexer.lpp" +#line 249 "../SqlLexer.lpp" return TOKEN_OUTER; YY_BREAK -case 84: +case 86: YY_RULE_SETUP -#line 246 "../SqlLexer.lpp" +#line 250 "../SqlLexer.lpp" +return TOKEN_OVER; + YY_BREAK +case 87: +YY_RULE_SETUP +#line 251 "../SqlLexer.lpp" return TOKEN_PARTITION; YY_BREAK -case 85: +case 88: YY_RULE_SETUP -#line 247 "../SqlLexer.lpp" +#line 252 "../SqlLexer.lpp" return TOKEN_PARTITIONS; YY_BREAK -case 86: +case 89: YY_RULE_SETUP -#line 248 "../SqlLexer.lpp" +#line 253 "../SqlLexer.lpp" return TOKEN_PERCENT; YY_BREAK -case 87: +case 90: YY_RULE_SETUP -#line 249 "../SqlLexer.lpp" +#line 254 "../SqlLexer.lpp" +return TOKEN_PRECEDING; + YY_BREAK +case 91: +YY_RULE_SETUP +#line 255 "../SqlLexer.lpp" return TOKEN_PRIMARY; YY_BREAK -case 88: +case 92: YY_RULE_SETUP -#line 250 "../SqlLexer.lpp" +#line 256 "../SqlLexer.lpp" return TOKEN_QUIT; YY_BREAK -case 89: +case 93: YY_RULE_SETUP -#line 251 "../SqlLexer.lpp" +#line 257 "../SqlLexer.lpp" return TOKEN_RANGE; YY_BREAK -case 90: +case 94: YY_RULE_SETUP -#line 252 "../SqlLexer.lpp" +#line 258 "../SqlLexer.lpp" return TOKEN_REAL; YY_BREAK -case 91: +case 95: YY_RULE_SETUP -#line 253 "../SqlLexer.lpp" +#line 259 "../SqlLexer.lpp" return TOKEN_REFERENCES; YY_BREAK -case 92: +case 96: YY_RULE_SETUP -#line 254 "../SqlLexer.lpp" +#line 260 "../SqlLexer.lpp" return TOKEN_REGEXP; YY_BREAK -case 93: +case 97: YY_RULE_SETUP -#line 255 "../SqlLexer.lpp" +#line 261 "../SqlLexer.lpp" return TOKEN_RIGHT; YY_BREAK -case 94: +case 98: YY_RULE_SETUP -#line 256 "../SqlLexer.lpp" +#line 262 "../SqlLexer.lpp" +return TOKEN_ROW; + YY_BREAK +case 99: +YY_RULE_SETUP +#line 263 "../SqlLexer.lpp" return TOKEN_ROW_DELIMITER; YY_BREAK -case 95: +case 100: YY_RULE_SETUP -#line 257 "../SqlLexer.lpp" +#line 264 "../SqlLexer.lpp" +return TOKEN_ROWS; + YY_BREAK +case 101: +YY_RULE_SETUP +#line 265 "../SqlLexer.lpp" return TOKEN_SECOND; YY_BREAK -case 96: +case 102: YY_RULE_SETUP -#line 258 "../SqlLexer.lpp" +#line 266 "../SqlLexer.lpp" return TOKEN_SELECT; YY_BREAK -case 97: +case 103: YY_RULE_SETUP -#line 259 "../SqlLexer.lpp" +#line 267 "../SqlLexer.lpp" return TOKEN_SET; YY_BREAK -case 98: +case 104: YY_RULE_SETUP -#line 260 "../SqlLexer.lpp" +#line 268 "../SqlLexer.lpp" return TOKEN_SMA; YY_BREAK -case 99: +case 105: YY_RULE_SETUP -#line 261 "../SqlLexer.lpp" +#line 269 "../SqlLexer.lpp" return TOKEN_SMALLINT; YY_BREAK -case 100: +case 106: YY_RULE_SETUP -#line 262 "../SqlLexer.lpp" +#line 270 "../SqlLexer.lpp" return TOKEN_SUBSTRING; YY_BREAK -case 101: +case 107: YY_RULE_SETUP -#line 263 "../SqlLexer.lpp" +#line 271 "../SqlLexer.lpp" return TOKEN_TABLE; YY_BREAK -case 102: +case 108: YY_RULE_SETUP -#line 264 "../SqlLexer.lpp" +#line 272 "../SqlLexer.lpp" return TOKEN_THEN; YY_BREAK -case 103: +case 109: YY_RULE_SETUP -#line 265 "../SqlLexer.lpp" +#line 273 "../SqlLexer.lpp" return TOKEN_TIME; YY_BREAK -case 104: +case 110: YY_RULE_SETUP -#line 266 "../SqlLexer.lpp" +#line 274 "../SqlLexer.lpp" return TOKEN_TIMESTAMP; YY_BREAK -case 105: +case 111: YY_RULE_SETUP -#line 267 "../SqlLexer.lpp" +#line 275 "../SqlLexer.lpp" return TOKEN_TRUE; YY_BREAK -case 106: +case 112: YY_RULE_SETUP -#line 268 "../SqlLexer.lpp" +#line 276 "../SqlLexer.lpp" return TOKEN_TUPLESAMPLE; YY_BREAK -case 107: +case 113: YY_RULE_SETUP -#line 269 "../SqlLexer.lpp" +#line 277 "../SqlLexer.lpp" +return TOKEN_UNBOUNDED; + YY_BREAK +case 114: +YY_RULE_SETUP +#line 278 "../SqlLexer.lpp" return TOKEN_UNIQUE; YY_BREAK -case 108: +case 115: YY_RULE_SETUP -#line 270 "../SqlLexer.lpp" +#line 279 "../SqlLexer.lpp" return TOKEN_UPDATE; YY_BREAK -case 109: +case 116: YY_RULE_SETUP -#line 271 "../SqlLexer.lpp" +#line 280 "../SqlLexer.lpp" return TOKEN_USING; YY_BREAK -case 110: +case 117: YY_RULE_SETUP -#line 272 "../SqlLexer.lpp" +#line 281 "../SqlLexer.lpp" return TOKEN_VALUES; YY_BREAK -case 111: +case 118: YY_RULE_SETUP -#line 273 "../SqlLexer.lpp" +#line 282 "../SqlLexer.lpp" return TOKEN_VARCHAR; YY_BREAK -case 112: +case 119: YY_RULE_SETUP -#line 274 "../SqlLexer.lpp" +#line 283 "../SqlLexer.lpp" return TOKEN_WHEN; YY_BREAK -case 113: +case 120: YY_RULE_SETUP -#line 275 "../SqlLexer.lpp" +#line 284 "../SqlLexer.lpp" return TOKEN_WHERE; YY_BREAK -case 114: +case 121: YY_RULE_SETUP -#line 276 "../SqlLexer.lpp" +#line 285 "../SqlLexer.lpp" +return TOKEN_WINDOW; + YY_BREAK +case 122: +YY_RULE_SETUP +#line 286 "../SqlLexer.lpp" return TOKEN_WITH; YY_BREAK -case 115: +case 123: YY_RULE_SETUP -#line 277 "../SqlLexer.lpp" +#line 287 "../SqlLexer.lpp" return TOKEN_YEAR; YY_BREAK -case 116: +case 124: YY_RULE_SETUP -#line 278 "../SqlLexer.lpp" +#line 288 "../SqlLexer.lpp" return TOKEN_YEARMONTH; YY_BREAK -case 117: +case 125: YY_RULE_SETUP -#line 280 "../SqlLexer.lpp" +#line 290 "../SqlLexer.lpp" return TOKEN_EQ; YY_BREAK -case 118: +case 126: YY_RULE_SETUP -#line 281 "../SqlLexer.lpp" +#line 291 "../SqlLexer.lpp" return TOKEN_NEQ; YY_BREAK -case 119: +case 127: YY_RULE_SETUP -#line 282 "../SqlLexer.lpp" +#line 292 "../SqlLexer.lpp" return TOKEN_NEQ; YY_BREAK -case 120: +case 128: YY_RULE_SETUP -#line 283 "../SqlLexer.lpp" +#line 293 "../SqlLexer.lpp" return TOKEN_LT; YY_BREAK -case 121: +case 129: YY_RULE_SETUP -#line 284 "../SqlLexer.lpp" +#line 294 "../SqlLexer.lpp" return TOKEN_GT; YY_BREAK -case 122: +case 130: YY_RULE_SETUP -#line 285 "../SqlLexer.lpp" +#line 295 "../SqlLexer.lpp" return TOKEN_LEQ; YY_BREAK -case 123: +case 131: YY_RULE_SETUP -#line 286 "../SqlLexer.lpp" +#line 296 "../SqlLexer.lpp" return TOKEN_GEQ; YY_BREAK -case 124: +case 132: YY_RULE_SETUP -#line 288 "../SqlLexer.lpp" +#line 298 "../SqlLexer.lpp" return yytext[0]; YY_BREAK -case 125: +case 133: YY_RULE_SETUP -#line 289 "../SqlLexer.lpp" +#line 299 "../SqlLexer.lpp" return yytext[0]; YY_BREAK /** * Quoted strings. Prefacing a string with an 'e' or 'E' causes escape * sequences to be processed (as in PostgreSQL). **/ -case 126: +case 134: YY_RULE_SETUP -#line 295 "../SqlLexer.lpp" +#line 305 "../SqlLexer.lpp" { yylval->string_value_ = new quickstep::ParseString(yylloc->first_line, yylloc->first_column); BEGIN(CONDITION_STRING_SINGLE_QUOTED_ESCAPED); } YY_BREAK -case 127: +case 135: YY_RULE_SETUP -#line 300 "../SqlLexer.lpp" +#line 310 "../SqlLexer.lpp" { yylval->string_value_ = new quickstep::ParseString(yylloc->first_line, yylloc->first_column); BEGIN(CONDITION_STRING_SINGLE_QUOTED); } YY_BREAK -case 128: +case 136: YY_RULE_SETUP -#line 305 "../SqlLexer.lpp" +#line 315 "../SqlLexer.lpp" { yylval->string_value_ = new quickstep::ParseString(yylloc->first_line, yylloc->first_column); BEGIN(CONDITION_STRING_DOUBLE_QUOTED); @@ -2092,7 +2161,7 @@ YY_RULE_SETUP case YY_STATE_EOF(CONDITION_STRING_SINGLE_QUOTED): case YY_STATE_EOF(CONDITION_STRING_SINGLE_QUOTED_ESCAPED): case YY_STATE_EOF(CONDITION_STRING_DOUBLE_QUOTED): -#line 314 "../SqlLexer.lpp" +#line 324 "../SqlLexer.lpp" { delete yylval->string_value_; BEGIN(INITIAL); @@ -2103,9 +2172,9 @@ case YY_STATE_EOF(CONDITION_STRING_DOUBLE_QUOTED): /* Process escape sequences. */ -case 129: +case 137: YY_RULE_SETUP -#line 324 "../SqlLexer.lpp" +#line 334 "../SqlLexer.lpp" { /* Octal code */ unsigned int code; @@ -2119,9 +2188,9 @@ YY_RULE_SETUP yylval->string_value_->push_back(code); } YY_BREAK -case 130: +case 138: YY_RULE_SETUP -#line 336 "../SqlLexer.lpp" +#line 346 "../SqlLexer.lpp" { /* Hexadecimal code */ unsigned int code; @@ -2129,9 +2198,9 @@ YY_RULE_SETUP yylval->string_value_->push_back(code); } YY_BREAK -case 131: +case 139: YY_RULE_SETUP -#line 342 "../SqlLexer.lpp" +#line 352 "../SqlLexer.lpp" { /* A numeric escape sequence that isn't correctly specified. */ delete yylval->string_value_; @@ -2140,58 +2209,58 @@ YY_RULE_SETUP return TOKEN_LEX_ERROR; } YY_BREAK -case 132: +case 140: YY_RULE_SETUP -#line 349 "../SqlLexer.lpp" +#line 359 "../SqlLexer.lpp" { /* Backspace */ yylval->string_value_->push_back('\b'); } YY_BREAK -case 133: +case 141: YY_RULE_SETUP -#line 353 "../SqlLexer.lpp" +#line 363 "../SqlLexer.lpp" { /* Form-feed */ yylval->string_value_->push_back('\f'); } YY_BREAK -case 134: +case 142: YY_RULE_SETUP -#line 357 "../SqlLexer.lpp" +#line 367 "../SqlLexer.lpp" { /* Newline */ yylval->string_value_->push_back('\n'); } YY_BREAK -case 135: +case 143: YY_RULE_SETUP -#line 361 "../SqlLexer.lpp" +#line 371 "../SqlLexer.lpp" { /* Carriage-return */ yylval->string_value_->push_back('\r'); } YY_BREAK -case 136: +case 144: YY_RULE_SETUP -#line 365 "../SqlLexer.lpp" +#line 375 "../SqlLexer.lpp" { /* Horizontal Tab */ yylval->string_value_->push_back('\t'); } YY_BREAK -case 137: -/* rule 137 can match eol */ +case 145: +/* rule 145 can match eol */ YY_RULE_SETUP -#line 369 "../SqlLexer.lpp" +#line 379 "../SqlLexer.lpp" { /* Any other character (including actual newline or carriage return) */ yylval->string_value_->push_back(yytext[1]); } YY_BREAK -case 138: +case 146: YY_RULE_SETUP -#line 373 "../SqlLexer.lpp" +#line 383 "../SqlLexer.lpp" { /* This should only be encountered right before an EOF. */ delete yylval->string_value_; @@ -2202,17 +2271,17 @@ YY_RULE_SETUP YY_BREAK -case 139: +case 147: YY_RULE_SETUP -#line 383 "../SqlLexer.lpp" +#line 393 "../SqlLexer.lpp" { /* Two quotes in a row become a single quote (this is specified by the SQL standard). */ yylval->string_value_->push_back('\''); } YY_BREAK -case 140: +case 148: YY_RULE_SETUP -#line 387 "../SqlLexer.lpp" +#line 397 "../SqlLexer.lpp" { /* End string */ BEGIN(CONDITION_SQL); @@ -2221,17 +2290,17 @@ YY_RULE_SETUP YY_BREAK -case 141: +case 149: YY_RULE_SETUP -#line 395 "../SqlLexer.lpp" +#line 405 "../SqlLexer.lpp" { /* Two quotes in a row become a single quote (this is specified by the SQL standard). */ yylval->string_value_->push_back('"'); } YY_BREAK -case 142: +case 150: YY_RULE_SETUP -#line 399 "../SqlLexer.lpp" +#line 409 "../SqlLexer.lpp" { /* End string */ BEGIN(CONDITION_SQL); @@ -2239,94 +2308,94 @@ YY_RULE_SETUP } YY_BREAK -case 143: -/* rule 143 can match eol */ +case 151: +/* rule 151 can match eol */ YY_RULE_SETUP -#line 406 "../SqlLexer.lpp" +#line 416 "../SqlLexer.lpp" { /* Scan up to a quote. */ yylval->string_value_->append(yytext, yyleng); } YY_BREAK -case 144: -/* rule 144 can match eol */ +case 152: +/* rule 152 can match eol */ YY_RULE_SETUP -#line 411 "../SqlLexer.lpp" +#line 421 "../SqlLexer.lpp" { /* Scan up to a quote or escape sequence. */ yylval->string_value_->append(yytext, yyleng); } YY_BREAK -case 145: -/* rule 145 can match eol */ +case 153: +/* rule 153 can match eol */ YY_RULE_SETUP -#line 416 "../SqlLexer.lpp" +#line 426 "../SqlLexer.lpp" { /* Scan up to a quote. */ yylval->string_value_->append(yytext, yyleng); } YY_BREAK -case 146: +case 154: YY_RULE_SETUP -#line 422 "../SqlLexer.lpp" +#line 432 "../SqlLexer.lpp" { yylval->string_value_ = new quickstep::ParseString( yylloc->first_line, yylloc->first_column, std::string(yytext, yyleng)); return TOKEN_NAME; } YY_BREAK -case 147: +case 155: YY_RULE_SETUP -#line 428 "../SqlLexer.lpp" +#line 438 "../SqlLexer.lpp" { yylval->numeric_literal_value_ = new quickstep::NumericParseLiteralValue( yylloc->first_line, yylloc->first_column, yytext); return TOKEN_UNSIGNED_NUMVAL; } YY_BREAK -case 148: +case 156: YY_RULE_SETUP -#line 434 "../SqlLexer.lpp" +#line 444 "../SqlLexer.lpp" /* comment */ YY_BREAK -case 149: -/* rule 149 can match eol */ +case 157: +/* rule 157 can match eol */ YY_RULE_SETUP -#line 436 "../SqlLexer.lpp" +#line 446 "../SqlLexer.lpp" { yycolumn = 0; } YY_BREAK -case 150: +case 158: YY_RULE_SETUP -#line 438 "../SqlLexer.lpp" +#line 448 "../SqlLexer.lpp" ; /* ignore white space */ YY_BREAK /* CONDITION_SQL */ case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(CONDITION_COMMAND): case YY_STATE_EOF(CONDITION_SQL): -#line 442 "../SqlLexer.lpp" +#line 452 "../SqlLexer.lpp" { /* All conditions except for mutli-state string extracting conditions. */ BEGIN(INITIAL); return TOKEN_EOF; } YY_BREAK -case 151: +case 159: YY_RULE_SETUP -#line 448 "../SqlLexer.lpp" +#line 458 "../SqlLexer.lpp" { BEGIN(INITIAL); quickstep_yyerror(NULL, yyscanner, NULL, "illegal character"); return TOKEN_LEX_ERROR; } YY_BREAK -case 152: +case 160: YY_RULE_SETUP -#line 454 "../SqlLexer.lpp" +#line 464 "../SqlLexer.lpp" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 2330 "SqlLexer_gen.cpp" +#line 2399 "SqlLexer_gen.cpp" case YY_END_OF_BUFFER: { @@ -2469,9 +2538,9 @@ YY_FATAL_ERROR( "flex scanner jammed" ); static int yy_get_next_buffer (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; - char *source = yyg->yytext_ptr; - yy_size_t number_to_move, i; + register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + register char *source = yyg->yytext_ptr; + register int number_to_move, i; int ret_val; if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] ) @@ -2500,7 +2569,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = (yy_size_t) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1; + number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -2603,15 +2672,15 @@ static int yy_get_next_buffer (yyscan_t