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 4724D200D3B for ; Fri, 6 Oct 2017 00:03:22 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 45144160BDA; Thu, 5 Oct 2017 22:03:22 +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 CAA47160BDC for ; Fri, 6 Oct 2017 00:03:19 +0200 (CEST) Received: (qmail 72533 invoked by uid 500); 5 Oct 2017 22:03:19 -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 72467 invoked by uid 99); 5 Oct 2017 22:03:18 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 05 Oct 2017 22:03:18 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id DACD4CCCD5 for ; Thu, 5 Oct 2017 22:03:17 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -4.222 X-Spam-Level: X-Spam-Status: No, score=-4.222 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id 5XiORBPmJEhh for ; Thu, 5 Oct 2017 22:03:09 +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 AECE75FDBB for ; Thu, 5 Oct 2017 22:03:01 +0000 (UTC) Received: (qmail 69019 invoked by uid 99); 5 Oct 2017 22:02:58 -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; Thu, 05 Oct 2017 22:02:58 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id B5353F5CDA; Thu, 5 Oct 2017 22:02:57 +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: Thu, 05 Oct 2017 22:03:32 -0000 Message-Id: In-Reply-To: <6e855d96146247d69371ecc956b072ea@git.apache.org> References: <6e855d96146247d69371ecc956b072ea@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [37/51] [abbrv] incubator-quickstep git commit: Add array expression archived-at: Thu, 05 Oct 2017 22:03:22 -0000 http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/c9922f8e/parser/preprocessed/SqlLexer_gen.cpp ---------------------------------------------------------------------- diff --git a/parser/preprocessed/SqlLexer_gen.cpp b/parser/preprocessed/SqlLexer_gen.cpp index 0904d7c..05d2d3c 100644 --- a/parser/preprocessed/SqlLexer_gen.cpp +++ b/parser/preprocessed/SqlLexer_gen.cpp @@ -592,8 +592,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 166 -#define YY_END_OF_BUFFER 167 +#define YY_NUM_RULES 168 +#define YY_END_OF_BUFFER 169 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -601,73 +601,73 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[592] = +static const flex_int16_t yy_accept[594] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 167, 2, 2, 165, 165, 164, 163, 165, - 142, 138, 141, 138, 138, 161, 165, 133, 130, 134, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 139, 4, 5, 5, 3, - 157, 157, 154, 158, 158, 152, 159, 159, 156, 1, - 164, 131, 162, 161, 161, 161, 0, 137, 135, 132, - 136, 160, 160, 160, 160, 10, 160, 160, 160, 23, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - - 160, 140, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 59, 68, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 82, 83, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 114, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 4, 5, 3, 157, - 153, 158, 151, 151, 143, 145, 146, 147, 148, 149, - 150, 151, 159, 155, 162, 161, 0, 161, 6, 7, - 160, 9, 11, 160, 160, 15, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 34, 160, 160, - - 160, 160, 160, 160, 160, 160, 44, 160, 160, 160, - 160, 160, 160, 51, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 63, 160, 70, 160, 160, 160, 160, - 160, 160, 160, 78, 160, 81, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 99, - 160, 160, 104, 105, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 143, 145, 144, 160, 160, 160, 160, 160, 160, - 160, 20, 21, 24, 160, 160, 160, 29, 160, 160, - 160, 32, 160, 160, 160, 38, 160, 160, 42, 43, - - 160, 160, 160, 160, 160, 160, 160, 53, 54, 160, - 56, 160, 58, 160, 160, 160, 160, 67, 69, 71, - 72, 73, 160, 75, 160, 160, 79, 160, 160, 86, - 160, 160, 160, 160, 160, 93, 160, 95, 160, 160, - 160, 101, 160, 160, 160, 160, 160, 160, 160, 160, - 111, 112, 115, 160, 160, 160, 160, 160, 160, 160, - 160, 124, 160, 160, 127, 128, 143, 144, 8, 160, - 160, 160, 160, 160, 160, 160, 26, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 47, 48, 49, 160, 160, 55, 160, 60, 61, - - 160, 160, 160, 74, 160, 77, 80, 84, 85, 160, - 160, 160, 160, 160, 94, 160, 160, 98, 160, 160, - 160, 160, 160, 160, 160, 110, 160, 160, 160, 118, - 160, 160, 121, 160, 160, 125, 160, 160, 160, 160, - 14, 160, 160, 160, 160, 160, 27, 160, 30, 160, - 160, 160, 160, 160, 37, 160, 160, 41, 45, 160, - 160, 160, 57, 62, 160, 160, 160, 76, 160, 160, - 160, 160, 160, 160, 97, 160, 102, 103, 160, 107, - 108, 160, 160, 160, 160, 119, 120, 122, 160, 126, - 160, 160, 13, 160, 160, 160, 160, 160, 160, 22, - - 31, 160, 35, 36, 160, 160, 46, 160, 52, 64, - 160, 160, 160, 89, 160, 91, 160, 160, 160, 160, - 160, 160, 160, 160, 123, 160, 160, 160, 160, 160, - 160, 160, 160, 33, 160, 40, 160, 160, 66, 160, - 160, 92, 160, 160, 106, 160, 160, 160, 160, 160, - 12, 160, 160, 160, 160, 25, 160, 160, 50, 65, - 87, 90, 160, 160, 109, 113, 160, 117, 129, 16, - 160, 160, 160, 28, 39, 88, 96, 160, 160, 160, - 18, 19, 160, 116, 160, 160, 160, 100, 160, 17, - 0 + 0, 0, 169, 2, 2, 167, 167, 166, 165, 167, + 144, 140, 143, 140, 140, 163, 167, 133, 130, 134, + 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 141, 138, 139, 4, 5, + 5, 3, 159, 159, 156, 160, 160, 154, 161, 161, + 158, 1, 166, 131, 164, 163, 163, 163, 0, 137, + 135, 132, 136, 162, 162, 162, 162, 10, 162, 162, + 162, 23, 162, 162, 162, 162, 162, 162, 162, 162, + + 162, 162, 162, 142, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 59, 68, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 162, 82, + 83, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 114, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 4, 5, + 3, 159, 155, 160, 153, 153, 145, 147, 148, 149, + 150, 151, 152, 153, 161, 157, 164, 163, 0, 163, + 6, 7, 162, 9, 11, 162, 162, 15, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 162, 34, + + 162, 162, 162, 162, 162, 162, 162, 162, 44, 162, + 162, 162, 162, 162, 162, 51, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 63, 162, 70, 162, 162, + 162, 162, 162, 162, 162, 78, 162, 81, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 99, 162, 162, 104, 105, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 145, 147, 146, 162, 162, 162, 162, + 162, 162, 162, 20, 21, 24, 162, 162, 162, 29, + 162, 162, 162, 32, 162, 162, 162, 38, 162, 162, + + 42, 43, 162, 162, 162, 162, 162, 162, 162, 53, + 54, 162, 56, 162, 58, 162, 162, 162, 162, 67, + 69, 71, 72, 73, 162, 75, 162, 162, 79, 162, + 162, 86, 162, 162, 162, 162, 162, 93, 162, 95, + 162, 162, 162, 101, 162, 162, 162, 162, 162, 162, + 162, 162, 111, 112, 115, 162, 162, 162, 162, 162, + 162, 162, 162, 124, 162, 162, 127, 128, 145, 146, + 8, 162, 162, 162, 162, 162, 162, 162, 26, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 47, 48, 49, 162, 162, 55, 162, + + 60, 61, 162, 162, 162, 74, 162, 77, 80, 84, + 85, 162, 162, 162, 162, 162, 94, 162, 162, 98, + 162, 162, 162, 162, 162, 162, 162, 110, 162, 162, + 162, 118, 162, 162, 121, 162, 162, 125, 162, 162, + 162, 162, 14, 162, 162, 162, 162, 162, 27, 162, + 30, 162, 162, 162, 162, 162, 37, 162, 162, 41, + 45, 162, 162, 162, 57, 62, 162, 162, 162, 76, + 162, 162, 162, 162, 162, 162, 97, 162, 102, 103, + 162, 107, 108, 162, 162, 162, 162, 119, 120, 122, + 162, 126, 162, 162, 13, 162, 162, 162, 162, 162, + + 162, 22, 31, 162, 35, 36, 162, 162, 46, 162, + 52, 64, 162, 162, 162, 89, 162, 91, 162, 162, + 162, 162, 162, 162, 162, 162, 123, 162, 162, 162, + 162, 162, 162, 162, 162, 33, 162, 40, 162, 162, + 66, 162, 162, 92, 162, 162, 106, 162, 162, 162, + 162, 162, 12, 162, 162, 162, 162, 25, 162, 162, + 50, 65, 87, 90, 162, 162, 109, 113, 162, 117, + 129, 16, 162, 162, 162, 28, 39, 88, 96, 162, + 162, 162, 18, 19, 162, 116, 162, 162, 162, 100, + 162, 17, 0 } ; @@ -686,7 +686,7 @@ static const YY_CHAR yy_ec[256] = 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 43, 1, 1, 1, 1, 1, 1, 1, 1, + 71, 43, 72, 1, 73, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -703,7 +703,7 @@ static const YY_CHAR yy_ec[256] = 1, 1, 1, 1, 1 } ; -static const YY_CHAR yy_meta[72] = +static const YY_CHAR yy_meta[74] = { 0, 1, 1, 2, 1, 1, 3, 1, 4, 1, 5, 5, 6, 6, 5, 1, 1, 1, 7, 7, 7, @@ -712,158 +712,158 @@ static const YY_CHAR yy_meta[72] = 8, 8, 8, 1, 9, 10, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8 + 8, 1, 1 } ; -static const flex_int16_t yy_base[607] = +static const flex_int16_t yy_base[609] = { 0, - 0, 1, 46, 0, 117, 162, 2, 3, 127, 128, - 6, 10, 148, 1317, 1317, 0, 1317, 13, 1317, 131, - 1317, 1317, 1317, 136, 6, 129, 125, 4, 1317, 28, - 124, 159, 213, 165, 167, 263, 92, 158, 163, 96, - 107, 214, 160, 186, 219, 221, 155, 281, 274, 325, - 257, 186, 209, 0, 219, 1317, 27, 4, 19, 0, - 0, 0, 17, 0, 0, 389, 0, 0, 8, 0, - 22, 1317, 0, 293, 325, 343, 18, 1317, 1317, 1317, - 1317, 0, 223, 265, 234, 242, 260, 292, 288, 0, - 299, 330, 337, 324, 334, 324, 325, 380, 325, 331, - - 346, 1317, 348, 364, 378, 376, 371, 378, 382, 386, - 390, 389, 386, 385, 435, 0, 402, 389, 400, 435, - 433, 431, 433, 436, 431, 440, 447, 0, 452, 437, - 453, 441, 442, 456, 453, 449, 465, 457, 444, 494, - 468, 495, 500, 501, 499, 492, 0, 486, 492, 507, - 506, 502, 500, 508, 501, 516, 0, 29, 0, 0, - 1317, 0, 1317, 1317, 22, 24, 1317, 1317, 1317, 1317, - 1317, 0, 0, 1317, 0, 524, 26, 28, 0, 0, - 517, 0, 518, 501, 516, 504, 545, 544, 512, 552, - 536, 542, 537, 562, 545, 548, 562, 0, 559, 568, - - 565, 568, 552, 571, 558, 570, 0, 557, 561, 561, - 562, 581, 571, 580, 574, 576, 585, 599, 604, 597, - 613, 614, 615, 616, 608, 0, 603, 604, 620, 617, - 620, 607, 609, 0, 618, 0, 627, 628, 616, 617, - 635, 636, 628, 620, 638, 634, 659, 660, 663, 654, - 661, 672, 0, 666, 674, 661, 669, 668, 679, 680, - 674, 672, 673, 690, 678, 674, 693, 683, 694, 691, - 685, 30, 125, 0, 686, 698, 717, 709, 724, 720, - 721, 0, 0, 734, 725, 724, 718, 0, 719, 722, - 737, 723, 731, 724, 726, 742, 739, 737, 0, 0, - - 730, 752, 749, 735, 736, 742, 750, 0, 0, 745, - 0, 748, 0, 746, 762, 763, 780, 0, 0, 0, - 0, 0, 769, 0, 772, 785, 775, 777, 778, 0, - 788, 795, 796, 801, 785, 0, 799, 0, 787, 782, - 787, 0, 804, 797, 809, 801, 796, 794, 797, 814, - 0, 801, 0, 823, 817, 825, 824, 827, 843, 846, - 844, 0, 848, 839, 0, 842, 131, 1317, 0, 852, - 853, 839, 859, 845, 856, 860, 0, 851, 848, 864, - 865, 857, 863, 872, 863, 872, 864, 872, 891, 878, - 900, 0, 0, 0, 882, 901, 0, 902, 0, 0, - - 890, 906, 894, 0, 907, 0, 0, 0, 0, 894, - 903, 914, 901, 911, 0, 916, 906, 0, 918, 920, - 907, 919, 911, 910, 913, 0, 913, 916, 922, 0, - 939, 949, 0, 936, 960, 0, 940, 951, 958, 954, - 0, 947, 952, 970, 963, 954, 0, 974, 0, 971, - 957, 965, 967, 960, 0, 977, 979, 0, 0, 965, - 977, 973, 0, 0, 970, 984, 990, 0, 984, 974, - 993, 987, 993, 1005, 0, 1009, 0, 0, 1010, 0, - 0, 1016, 1025, 1026, 1024, 0, 0, 0, 1011, 0, - 1016, 1018, 0, 1024, 1019, 1022, 1024, 1032, 1029, 0, - - 0, 1034, 0, 0, 1031, 1023, 0, 1030, 0, 0, - 1042, 1034, 1032, 0, 1035, 0, 1026, 1049, 1051, 1050, - 1057, 1064, 1066, 1077, 0, 1063, 1077, 1071, 1070, 1071, - 1068, 1072, 1077, 0, 1078, 0, 1086, 1074, 0, 1081, - 1089, 0, 1092, 1085, 0, 1094, 1086, 1087, 1100, 1097, - 0, 1100, 1104, 1098, 1113, 0, 1108, 1122, 0, 0, - 1116, 0, 1118, 1131, 0, 0, 1129, 0, 0, 0, - 1124, 1138, 1126, 0, 0, 0, 0, 1125, 1141, 1128, - 0, 0, 1144, 0, 1141, 1133, 1147, 0, 1134, 0, - 1317, 1199, 1209, 1219, 1229, 1239, 1243, 1246, 1252, 1262, - - 1272, 1282, 1292, 1302, 1307, 1309 + 0, 1, 46, 0, 119, 192, 2, 3, 129, 130, + 6, 10, 231, 1299, 1299, 0, 1299, 13, 1299, 151, + 1299, 1299, 1299, 152, 6, 118, 132, 4, 1299, 28, + 118, 131, 248, 188, 197, 298, 106, 124, 112, 118, + 129, 193, 126, 123, 237, 194, 121, 195, 240, 348, + 238, 185, 256, 0, 182, 1299, 1299, 1299, 27, 4, + 19, 0, 0, 0, 17, 0, 0, 412, 0, 0, + 8, 0, 22, 1299, 0, 306, 309, 326, 18, 1299, + 1299, 1299, 1299, 0, 197, 193, 203, 214, 224, 305, + 247, 0, 249, 325, 359, 266, 275, 261, 298, 355, + + 284, 288, 300, 1299, 298, 320, 342, 323, 332, 350, + 364, 353, 360, 362, 362, 362, 405, 0, 379, 368, + 396, 410, 410, 406, 413, 414, 409, 419, 427, 0, + 430, 415, 432, 421, 422, 437, 432, 437, 466, 467, + 453, 474, 477, 475, 479, 480, 478, 471, 0, 464, + 471, 486, 485, 481, 479, 487, 479, 497, 0, 29, + 0, 0, 1299, 0, 1299, 1299, 22, 24, 1299, 1299, + 1299, 1299, 1299, 0, 0, 1299, 0, 534, 26, 28, + 0, 0, 499, 0, 504, 502, 522, 509, 531, 530, + 518, 534, 519, 522, 517, 542, 524, 527, 542, 0, + + 539, 548, 546, 549, 533, 553, 540, 552, 0, 539, + 541, 543, 548, 582, 577, 585, 579, 581, 573, 587, + 588, 580, 594, 595, 596, 598, 588, 0, 584, 585, + 601, 598, 601, 588, 590, 0, 599, 0, 609, 610, + 598, 597, 617, 622, 635, 621, 640, 639, 647, 648, + 647, 637, 642, 653, 0, 647, 656, 641, 650, 649, + 659, 660, 655, 653, 657, 668, 659, 654, 675, 681, + 679, 697, 688, 30, 132, 0, 690, 695, 705, 697, + 708, 703, 702, 0, 0, 715, 706, 705, 699, 0, + 700, 703, 717, 703, 712, 705, 707, 724, 721, 719, + + 0, 0, 712, 732, 731, 721, 733, 742, 754, 0, + 0, 748, 0, 752, 0, 743, 750, 751, 765, 0, + 0, 0, 0, 0, 751, 0, 753, 766, 756, 758, + 759, 0, 769, 774, 775, 780, 766, 0, 780, 0, + 769, 764, 769, 0, 786, 777, 791, 787, 793, 794, + 801, 817, 0, 805, 0, 820, 805, 813, 808, 810, + 824, 827, 825, 0, 829, 820, 0, 823, 153, 1299, + 0, 833, 833, 819, 840, 826, 837, 843, 0, 833, + 830, 844, 847, 843, 860, 872, 867, 875, 868, 869, + 879, 866, 884, 0, 0, 0, 865, 882, 0, 883, + + 0, 0, 871, 887, 874, 0, 889, 0, 0, 0, + 0, 875, 883, 895, 882, 892, 0, 898, 888, 0, + 900, 902, 887, 901, 897, 907, 913, 0, 917, 919, + 926, 0, 936, 937, 0, 924, 944, 0, 923, 932, + 939, 935, 0, 928, 933, 951, 944, 934, 0, 954, + 0, 952, 938, 946, 949, 942, 0, 959, 961, 0, + 0, 945, 959, 959, 0, 0, 967, 984, 994, 0, + 987, 978, 990, 975, 981, 989, 0, 992, 0, 0, + 991, 0, 0, 997, 1006, 1007, 1005, 0, 0, 0, + 992, 0, 997, 998, 0, 1004, 1000, 1003, 1005, 1014, + + 1011, 0, 0, 1016, 0, 0, 1013, 1003, 0, 1012, + 0, 0, 1028, 1031, 1032, 0, 1039, 0, 1029, 1053, + 1048, 1038, 1045, 1048, 1049, 1058, 0, 1044, 1058, 1052, + 1051, 1052, 1049, 1052, 1057, 0, 1059, 0, 1067, 1055, + 0, 1063, 1071, 0, 1074, 1067, 0, 1074, 1068, 1073, + 1097, 1097, 0, 1104, 1107, 1102, 1110, 0, 1096, 1110, + 0, 0, 1100, 0, 1101, 1112, 0, 0, 1110, 0, + 0, 0, 1105, 1119, 1107, 0, 0, 0, 0, 1106, + 1122, 1108, 0, 0, 1124, 0, 1122, 1114, 1128, 0, + 1116, 0, 1299, 1181, 1191, 1201, 1211, 1221, 1225, 1228, + + 1234, 1244, 1254, 1264, 1274, 1284, 1289, 1291 } ; -static const flex_int16_t yy_def[607] = +static const flex_int16_t yy_def[609] = { 0, - 592, 592, 591, 3, 593, 593, 594, 594, 595, 595, - 596, 596, 591, 591, 591, 597, 591, 591, 591, 591, - 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 591, 591, 591, 591, 599, - 600, 600, 591, 601, 601, 602, 603, 603, 591, 597, - 591, 591, 604, 591, 591, 591, 591, 591, 591, 591, - 591, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - - 598, 591, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 591, 591, 599, 600, - 591, 601, 591, 591, 591, 591, 591, 591, 591, 591, - 591, 605, 603, 591, 604, 591, 591, 591, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 591, 591, 606, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 591, 591, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 0, 591, 591, 591, 591, 591, 591, 591, 591, 591, - - 591, 591, 591, 591, 591, 591 + 594, 594, 593, 3, 595, 595, 596, 596, 597, 597, + 598, 598, 593, 593, 593, 599, 593, 593, 593, 593, + 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 593, 593, 593, 593, 593, + 593, 601, 602, 602, 593, 603, 603, 604, 605, 605, + 593, 599, 593, 593, 606, 593, 593, 593, 593, 593, + 593, 593, 593, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + + 600, 600, 600, 593, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 593, 593, + 601, 602, 593, 603, 593, 593, 593, 593, 593, 593, + 593, 593, 593, 607, 605, 593, 606, 593, 593, 593, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 593, 593, 608, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 593, 593, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 600, 600, 0, 593, 593, 593, 593, 593, 593, 593, + + 593, 593, 593, 593, 593, 593, 593, 593 } ; -static const flex_int16_t yy_nxt[1389] = +static const flex_int16_t yy_nxt[1373] = { 0, - 591, 157, 15, 15, 62, 62, 158, 158, 68, 63, - 63, 69, 68, 174, 71, 69, 71, 74, 74, 79, - 80, 158, 158, 71, 161, 71, 177, 177, 157, 178, - 178, 158, 158, 272, 273, 273, 273, 178, 178, 178, - 178, 367, 273, 81, 16, 16, 17, 18, 19, 18, + 593, 159, 15, 15, 64, 64, 160, 160, 70, 65, + 65, 71, 70, 176, 73, 71, 73, 76, 76, 81, + 82, 160, 160, 73, 163, 73, 179, 179, 159, 180, + 180, 160, 160, 274, 275, 275, 275, 180, 180, 180, + 180, 369, 275, 83, 16, 16, 17, 18, 19, 18, 20, 21, 22, 23, 22, 24, 25, 26, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, @@ -871,155 +871,154 @@ static const flex_int16_t yy_nxt[1389] = 17, 17, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 17, 57, 58, - 59, 17, 17, 17, 17, 17, 112, 117, 118, 65, - 65, 17, 17, 17, 63, 63, 273, 273, 78, 75, - 76, 76, 273, 273, 83, 73, 72, 591, 591, 591, - 77, 591, 84, 591, 85, 112, 117, 118, 591, 86, - 17, 17, 17, 57, 58, 59, 17, 17, 17, 17, - 17, 66, 66, 83, 102, 113, 17, 17, 17, 77, - 87, 84, 97, 85, 88, 123, 98, 89, 86, 114, - 99, 124, 135, 115, 591, 103, 100, 104, 116, 101, - - 90, 591, 591, 153, 113, 17, 17, 105, 591, 87, - 591, 97, 591, 88, 123, 98, 89, 125, 114, 99, - 124, 135, 115, 126, 103, 100, 104, 116, 101, 90, - 91, 119, 153, 154, 155, 120, 105, 92, 132, 121, - 156, 127, 133, 179, 93, 122, 125, 94, 95, 128, - 96, 591, 126, 129, 182, 134, 130, 131, 591, 91, - 119, 183, 154, 155, 120, 591, 92, 132, 121, 156, - 127, 133, 179, 93, 122, 591, 94, 95, 128, 96, - 106, 591, 129, 182, 134, 130, 131, 150, 107, 151, - 183, 108, 152, 180, 109, 140, 184, 110, 136, 591, - - 111, 181, 137, 141, 74, 74, 138, 591, 591, 106, - 142, 143, 139, 591, 77, 185, 150, 107, 151, 187, - 108, 152, 180, 109, 140, 184, 110, 136, 186, 111, - 181, 137, 141, 591, 188, 138, 176, 176, 591, 142, - 143, 139, 144, 77, 185, 194, 77, 189, 187, 145, - 146, 190, 195, 75, 76, 76, 147, 186, 196, 148, - 203, 197, 149, 188, 77, 191, 198, 192, 204, 193, - 591, 144, 591, 591, 194, 77, 189, 205, 145, 146, - 190, 195, 591, 206, 207, 147, 591, 196, 148, 203, - 197, 149, 164, 77, 191, 198, 192, 204, 193, 199, - - 165, 166, 200, 208, 210, 211, 205, 167, 201, 212, - 213, 168, 206, 207, 209, 202, 214, 215, 216, 169, - 217, 218, 220, 170, 219, 171, 591, 225, 199, 172, - 226, 200, 208, 210, 211, 227, 167, 201, 212, 213, - 168, 591, 591, 209, 202, 214, 215, 216, 169, 217, - 218, 220, 170, 219, 171, 221, 225, 228, 172, 226, - 229, 231, 230, 232, 227, 222, 233, 234, 235, 236, - 223, 224, 237, 238, 239, 240, 241, 242, 244, 245, - 249, 243, 246, 250, 221, 254, 228, 247, 248, 229, - 231, 230, 232, 591, 222, 233, 234, 235, 236, 223, - - 224, 237, 238, 239, 240, 241, 242, 244, 245, 249, - 243, 246, 250, 251, 254, 255, 247, 248, 256, 257, - 258, 259, 252, 260, 261, 262, 264, 265, 266, 268, - 253, 269, 263, 271, 267, 176, 176, 270, 275, 276, - 277, 278, 251, 279, 255, 77, 284, 256, 257, 258, - 259, 252, 260, 261, 262, 264, 265, 266, 268, 253, - 269, 263, 271, 267, 280, 282, 270, 275, 276, 277, - 278, 285, 279, 286, 77, 284, 281, 287, 288, 289, - 283, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 280, 282, 302, 303, 304, 305, 306, - - 285, 307, 286, 308, 309, 281, 287, 288, 289, 283, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 310, 311, 302, 303, 304, 305, 306, 312, - 307, 313, 308, 309, 314, 315, 316, 317, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 318, 328, 329, - 330, 310, 311, 331, 332, 333, 336, 334, 312, 335, - 313, 337, 338, 314, 315, 316, 317, 319, 320, 321, - 322, 323, 324, 325, 326, 327, 318, 328, 329, 330, - 339, 340, 331, 332, 333, 336, 334, 341, 335, 342, - 337, 338, 344, 345, 346, 347, 349, 350, 351, 343, - - 352, 353, 354, 355, 356, 348, 357, 358, 359, 339, - 340, 360, 361, 362, 364, 365, 341, 363, 342, 366, - 369, 344, 345, 346, 347, 349, 350, 351, 370, 352, - 353, 354, 355, 356, 348, 357, 358, 359, 371, 372, - 360, 361, 362, 364, 365, 373, 363, 374, 366, 369, - 375, 376, 377, 378, 379, 380, 381, 370, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 371, 372, 391, - 392, 393, 394, 395, 373, 396, 374, 397, 398, 375, - 376, 377, 378, 379, 380, 381, 399, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 400, 401, 391, 392, - - 393, 394, 395, 402, 396, 404, 397, 398, 405, 406, - 407, 408, 409, 410, 403, 399, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 400, 401, 420, 421, 422, - 423, 424, 402, 425, 404, 426, 427, 405, 406, 407, - 408, 409, 410, 403, 428, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 429, 430, 420, 421, 422, 423, - 424, 431, 425, 432, 426, 427, 433, 434, 435, 436, - 437, 438, 439, 428, 440, 441, 442, 443, 445, 446, - 444, 447, 448, 429, 430, 449, 450, 451, 452, 453, - 431, 454, 432, 455, 456, 433, 434, 435, 436, 437, - - 438, 439, 457, 440, 441, 442, 443, 445, 446, 444, - 447, 448, 458, 459, 449, 450, 451, 452, 453, 460, - 454, 461, 455, 456, 462, 463, 464, 465, 468, 466, - 469, 457, 467, 470, 471, 472, 473, 474, 475, 476, - 477, 458, 459, 478, 479, 480, 481, 482, 460, 483, - 461, 484, 485, 462, 463, 464, 465, 468, 466, 469, - 486, 467, 470, 471, 472, 473, 474, 475, 476, 477, - 487, 488, 478, 479, 480, 481, 482, 489, 483, 490, - 484, 485, 491, 492, 493, 494, 495, 496, 497, 486, - 498, 499, 500, 501, 502, 503, 504, 505, 506, 487, - - 488, 507, 508, 509, 510, 511, 489, 512, 490, 513, - 514, 491, 492, 493, 494, 495, 496, 497, 515, 498, - 499, 500, 501, 502, 503, 504, 505, 506, 516, 517, - 507, 508, 509, 510, 511, 518, 512, 519, 513, 514, - 520, 521, 522, 523, 524, 525, 526, 515, 527, 528, - 529, 530, 531, 532, 533, 534, 535, 516, 517, 536, - 537, 538, 539, 540, 518, 541, 519, 542, 543, 520, - 521, 522, 523, 524, 525, 526, 544, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 545, 546, 536, 537, - 538, 539, 540, 547, 541, 548, 542, 543, 549, 550, - - 551, 552, 553, 554, 555, 544, 556, 557, 558, 559, - 560, 561, 562, 563, 564, 545, 546, 565, 566, 567, - 568, 569, 547, 570, 548, 571, 572, 549, 550, 551, - 552, 553, 554, 555, 573, 556, 557, 558, 559, 560, - 561, 562, 563, 564, 574, 575, 565, 566, 567, 568, - 569, 576, 570, 577, 571, 572, 578, 579, 580, 581, - 582, 583, 584, 573, 585, 586, 587, 588, 589, 590, - 591, 591, 591, 574, 575, 591, 591, 591, 591, 591, - 576, 591, 577, 591, 591, 578, 579, 580, 581, 582, - 583, 584, 591, 585, 586, 587, 588, 589, 590, 14, - - 14, 14, 14, 14, 14, 14, 14, 14, 14, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 70, - 70, 82, 82, 82, 591, 82, 159, 159, 159, 159, - 591, 159, 160, 160, 160, 591, 160, 160, 160, 160, - 160, 160, 162, 162, 162, 591, 162, 162, 162, 162, - 591, 162, 163, 163, 163, 163, 163, 163, 163, 163, - 163, 163, 173, 173, 591, 173, 173, 173, 173, 173, - - 173, 173, 175, 591, 175, 175, 175, 175, 175, 175, - 175, 175, 274, 274, 368, 368, 13, 591, 591, 591, - 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, - 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, - 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, - 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, - 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, - 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, - 591, 591, 591, 591, 591, 591, 591, 591 + 49, 50, 51, 52, 53, 54, 55, 57, 58, 17, + 59, 60, 61, 17, 17, 17, 17, 17, 77, 78, + 78, 67, 67, 17, 17, 17, 65, 65, 85, 79, + 114, 115, 117, 275, 275, 80, 86, 118, 87, 119, + 120, 125, 89, 88, 127, 116, 90, 126, 137, 91, + 128, 75, 17, 17, 275, 275, 74, 85, 79, 114, + 115, 117, 92, 68, 68, 86, 118, 87, 119, 120, + 125, 89, 88, 127, 116, 90, 126, 137, 91, 128, + 17, 17, 17, 59, 60, 61, 17, 17, 17, 17, + + 17, 92, 155, 158, 104, 99, 17, 17, 17, 100, + 121, 134, 138, 101, 122, 135, 139, 181, 123, 102, + 140, 182, 103, 184, 124, 105, 141, 106, 136, 183, + 593, 155, 158, 185, 99, 17, 17, 107, 100, 121, + 134, 138, 101, 122, 135, 139, 181, 123, 102, 140, + 182, 103, 184, 124, 105, 141, 106, 136, 183, 129, + 186, 142, 185, 17, 17, 93, 107, 130, 152, 143, + 153, 131, 94, 154, 132, 133, 144, 145, 189, 95, + 156, 157, 96, 97, 190, 98, 593, 196, 129, 186, + 142, 593, 593, 197, 93, 198, 130, 152, 143, 153, + + 131, 94, 154, 132, 133, 144, 145, 189, 95, 156, + 157, 96, 97, 190, 98, 108, 196, 76, 76, 205, + 178, 178, 197, 109, 198, 206, 110, 79, 187, 111, + 79, 207, 112, 208, 199, 113, 77, 78, 78, 200, + 209, 188, 191, 593, 108, 593, 192, 79, 205, 593, + 593, 212, 109, 593, 206, 110, 79, 187, 111, 79, + 207, 112, 208, 199, 113, 146, 213, 210, 200, 209, + 188, 191, 147, 148, 201, 192, 79, 202, 211, 149, + 212, 214, 150, 203, 217, 151, 593, 193, 218, 194, + 204, 195, 215, 219, 146, 213, 210, 220, 216, 222, + + 221, 147, 148, 201, 227, 593, 202, 211, 149, 228, + 214, 150, 203, 217, 151, 166, 193, 218, 194, 204, + 195, 215, 219, 167, 168, 223, 220, 216, 222, 221, + 169, 229, 230, 227, 170, 224, 233, 231, 228, 232, + 225, 226, 171, 234, 235, 236, 172, 237, 173, 238, + 239, 240, 174, 241, 223, 242, 243, 246, 244, 169, + 229, 230, 245, 170, 224, 233, 231, 247, 232, 225, + 226, 171, 234, 235, 236, 172, 237, 173, 238, 239, + 240, 174, 241, 248, 242, 243, 246, 244, 249, 250, + 251, 245, 252, 253, 256, 257, 247, 258, 259, 260, + + 261, 262, 254, 263, 264, 266, 267, 268, 270, 271, + 255, 265, 248, 269, 273, 272, 593, 249, 250, 251, + 277, 252, 253, 256, 257, 278, 258, 259, 260, 261, + 262, 254, 263, 264, 266, 267, 268, 270, 271, 255, + 265, 279, 269, 273, 272, 178, 178, 280, 281, 277, + 282, 284, 286, 287, 278, 79, 288, 289, 290, 291, + 292, 293, 283, 294, 295, 296, 285, 297, 298, 299, + 279, 300, 301, 302, 303, 304, 280, 281, 305, 282, + 284, 286, 287, 306, 79, 288, 289, 290, 291, 292, + 293, 283, 294, 295, 296, 285, 297, 298, 299, 307, + + 300, 301, 302, 303, 304, 308, 309, 305, 310, 311, + 312, 313, 306, 314, 315, 316, 317, 318, 321, 319, + 322, 323, 324, 325, 326, 327, 328, 329, 307, 320, + 330, 331, 332, 333, 308, 309, 334, 310, 311, 312, + 313, 335, 314, 315, 316, 317, 318, 321, 319, 322, + 323, 324, 325, 326, 327, 328, 329, 338, 320, 330, + 331, 332, 333, 339, 336, 334, 337, 340, 341, 342, + 335, 343, 344, 346, 347, 348, 351, 349, 352, 353, + 354, 355, 345, 356, 357, 360, 338, 350, 358, 361, + 359, 362, 339, 336, 363, 337, 340, 341, 342, 366, + + 343, 344, 346, 347, 348, 351, 349, 352, 353, 354, + 355, 364, 356, 357, 360, 365, 350, 358, 361, 359, + 362, 367, 368, 363, 371, 372, 373, 374, 366, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 364, 386, 387, 388, 365, 389, 390, 391, 392, 393, + 367, 368, 394, 371, 372, 373, 374, 395, 375, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 396, + 386, 387, 388, 397, 389, 390, 391, 392, 393, 398, + 399, 394, 400, 401, 402, 403, 395, 406, 404, 407, + 408, 409, 410, 411, 412, 413, 414, 415, 396, 405, + + 416, 417, 397, 418, 419, 420, 421, 422, 398, 399, + 423, 400, 401, 402, 403, 424, 406, 404, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 425, 405, 416, + 417, 426, 418, 419, 420, 421, 422, 427, 428, 423, + 429, 430, 431, 432, 424, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 443, 425, 444, 445, 447, + 426, 446, 448, 449, 450, 451, 427, 428, 452, 429, + 430, 431, 432, 453, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 454, 444, 445, 447, 455, + 446, 448, 449, 450, 451, 456, 457, 452, 458, 459, + + 460, 461, 453, 462, 463, 464, 465, 466, 467, 468, + 470, 471, 469, 472, 454, 473, 474, 475, 455, 476, + 477, 478, 479, 480, 456, 457, 481, 458, 459, 460, + 461, 482, 462, 463, 464, 465, 466, 467, 468, 470, + 471, 469, 472, 483, 473, 474, 475, 484, 476, 477, + 478, 479, 480, 485, 486, 481, 487, 488, 489, 490, + 482, 491, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 483, 502, 503, 504, 484, 505, 506, 507, + 508, 509, 485, 486, 510, 487, 488, 489, 490, 511, + 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, + + 501, 512, 502, 503, 504, 513, 505, 506, 507, 508, + 509, 514, 515, 510, 516, 517, 518, 519, 511, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 512, 531, 532, 533, 513, 534, 535, 536, 537, 538, + 514, 515, 539, 516, 517, 518, 519, 540, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 541, + 531, 532, 533, 542, 534, 535, 536, 537, 538, 543, + 544, 539, 545, 546, 547, 548, 540, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 541, 560, + 561, 562, 542, 563, 564, 565, 566, 567, 543, 544, + + 568, 545, 546, 547, 548, 569, 549, 550, 551, 552, + 553, 554, 555, 556, 557, 558, 559, 570, 560, 561, + 562, 571, 563, 564, 565, 566, 567, 572, 573, 568, + 574, 575, 576, 577, 569, 578, 579, 580, 581, 582, + 583, 584, 585, 586, 587, 588, 570, 589, 590, 591, + 571, 592, 593, 593, 593, 593, 572, 573, 593, 574, + 575, 576, 577, 593, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 593, 589, 590, 591, 593, + 592, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 62, 62, 62, 62, 62, 62, 62, 62, 62, + + 62, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 72, 72, 84, 84, 84, 593, 84, 161, 161, + 161, 161, 593, 161, 162, 162, 162, 593, 162, 162, + 162, 162, 162, 162, 164, 164, 164, 593, 164, 164, + 164, 164, 593, 164, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 175, 175, 593, 175, 175, 175, + 175, 175, 175, 175, 177, 593, 177, 177, 177, 177, + 177, 177, 177, 177, 276, 276, 370, 370, 13, 593, + + 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, + 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, + 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, + 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, + 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, + 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, + 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, + 593, 593 } ; -static const flex_int16_t yy_chk[1389] = +static const flex_int16_t yy_chk[1373] = { 0, - 0, 157, 1, 2, 7, 8, 58, 58, 11, 7, - 8, 11, 12, 69, 18, 12, 18, 25, 25, 28, - 28, 59, 59, 71, 63, 71, 77, 77, 57, 77, - 77, 158, 158, 165, 165, 166, 166, 177, 177, 178, - 178, 272, 272, 30, 1, 2, 3, 3, 3, 3, + 0, 159, 1, 2, 7, 8, 60, 60, 11, 7, + 8, 11, 12, 71, 18, 12, 18, 25, 25, 28, + 28, 61, 61, 73, 65, 73, 79, 79, 59, 79, + 79, 160, 160, 167, 167, 168, 168, 179, 179, 180, + 180, 274, 274, 30, 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, @@ -1027,150 +1026,149 @@ static const flex_int16_t yy_chk[1389] = 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, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 37, 40, 41, 9, - 10, 5, 5, 5, 9, 10, 273, 273, 27, 26, - 26, 26, 367, 367, 31, 24, 20, 13, 0, 0, - 26, 0, 31, 0, 31, 37, 40, 41, 0, 31, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 26, 26, + 26, 9, 10, 5, 5, 5, 9, 10, 31, 26, + 37, 38, 39, 275, 275, 27, 31, 39, 31, 40, + 41, 43, 32, 31, 44, 38, 32, 43, 47, 32, + 44, 24, 5, 5, 369, 369, 20, 31, 26, 37, + 38, 39, 32, 9, 10, 31, 39, 31, 40, 41, + 43, 32, 31, 44, 38, 32, 43, 47, 32, 44, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 9, 10, 31, 35, 38, 6, 6, 6, 26, - 32, 31, 34, 31, 32, 43, 34, 32, 31, 38, - 34, 43, 47, 39, 0, 35, 34, 35, 39, 34, - - 32, 0, 0, 52, 38, 6, 6, 35, 0, 32, - 0, 34, 0, 32, 43, 34, 32, 44, 38, 34, - 43, 47, 39, 44, 35, 34, 35, 39, 34, 32, - 33, 42, 52, 53, 53, 42, 35, 33, 46, 42, - 55, 45, 46, 83, 33, 42, 44, 33, 33, 45, - 33, 0, 44, 45, 85, 46, 45, 45, 0, 33, - 42, 86, 53, 53, 42, 0, 33, 46, 42, 55, - 45, 46, 83, 33, 42, 0, 33, 33, 45, 33, - 36, 0, 45, 85, 46, 45, 45, 51, 36, 51, - 86, 36, 51, 84, 36, 49, 87, 36, 48, 0, - - 36, 84, 48, 49, 74, 74, 48, 0, 0, 36, - 49, 49, 48, 0, 74, 88, 51, 36, 51, 89, - 36, 51, 84, 36, 49, 87, 36, 48, 88, 36, - 84, 48, 49, 0, 91, 48, 75, 75, 0, 49, - 49, 48, 50, 74, 88, 94, 75, 92, 89, 50, - 50, 92, 95, 76, 76, 76, 50, 88, 96, 50, - 99, 97, 50, 91, 76, 93, 97, 93, 100, 93, - 0, 50, 0, 0, 94, 75, 92, 101, 50, 50, - 92, 95, 0, 103, 104, 50, 0, 96, 50, 99, - 97, 50, 66, 76, 93, 97, 93, 100, 93, 98, - - 66, 66, 98, 105, 106, 107, 101, 66, 98, 108, - 109, 66, 103, 104, 105, 98, 109, 110, 111, 66, - 112, 113, 114, 66, 113, 66, 0, 117, 98, 66, - 118, 98, 105, 106, 107, 119, 66, 98, 108, 109, - 66, 0, 0, 105, 98, 109, 110, 111, 66, 112, - 113, 114, 66, 113, 66, 115, 117, 120, 66, 118, - 121, 122, 121, 123, 119, 115, 124, 125, 126, 127, - 115, 115, 129, 130, 131, 132, 133, 134, 135, 136, - 138, 134, 137, 139, 115, 141, 120, 137, 137, 121, - 122, 121, 123, 0, 115, 124, 125, 126, 127, 115, - - 115, 129, 130, 131, 132, 133, 134, 135, 136, 138, - 134, 137, 139, 140, 141, 142, 137, 137, 143, 144, - 145, 146, 140, 148, 149, 150, 151, 152, 153, 154, - 140, 155, 150, 156, 153, 176, 176, 155, 181, 183, - 184, 185, 140, 186, 142, 176, 189, 143, 144, 145, - 146, 140, 148, 149, 150, 151, 152, 153, 154, 140, - 155, 150, 156, 153, 187, 188, 155, 181, 183, 184, - 185, 190, 186, 191, 176, 189, 187, 192, 193, 194, - 188, 195, 196, 197, 199, 200, 201, 202, 203, 204, - 205, 206, 208, 187, 188, 209, 210, 211, 212, 213, - - 190, 214, 191, 215, 216, 187, 192, 193, 194, 188, - 195, 196, 197, 199, 200, 201, 202, 203, 204, 205, - 206, 208, 217, 218, 209, 210, 211, 212, 213, 219, - 214, 220, 215, 216, 221, 222, 223, 224, 225, 227, - 228, 229, 230, 231, 232, 233, 235, 224, 237, 238, - 239, 217, 218, 240, 241, 242, 244, 243, 219, 243, - 220, 245, 246, 221, 222, 223, 224, 225, 227, 228, - 229, 230, 231, 232, 233, 235, 224, 237, 238, 239, - 247, 248, 240, 241, 242, 244, 243, 249, 243, 250, - 245, 246, 251, 252, 254, 255, 256, 257, 258, 250, - - 259, 260, 261, 262, 263, 255, 263, 264, 265, 247, - 248, 266, 267, 268, 269, 270, 249, 268, 250, 271, - 275, 251, 252, 254, 255, 256, 257, 258, 276, 259, - 260, 261, 262, 263, 255, 263, 264, 265, 277, 278, - 266, 267, 268, 269, 270, 279, 268, 280, 271, 275, - 281, 284, 285, 286, 287, 289, 290, 276, 291, 292, - 293, 294, 295, 296, 297, 298, 301, 277, 278, 302, - 303, 304, 305, 306, 279, 307, 280, 310, 312, 281, - 284, 285, 286, 287, 289, 290, 314, 291, 292, 293, - 294, 295, 296, 297, 298, 301, 315, 316, 302, 303, - - 304, 305, 306, 317, 307, 323, 310, 312, 325, 326, - 327, 328, 329, 331, 317, 314, 332, 333, 334, 335, - 337, 339, 340, 341, 343, 315, 316, 344, 345, 346, - 347, 348, 317, 349, 323, 350, 352, 325, 326, 327, - 328, 329, 331, 317, 354, 332, 333, 334, 335, 337, - 339, 340, 341, 343, 355, 356, 344, 345, 346, 347, - 348, 357, 349, 358, 350, 352, 359, 360, 361, 363, - 364, 366, 370, 354, 371, 372, 373, 374, 375, 376, - 374, 378, 379, 355, 356, 380, 381, 382, 383, 384, - 357, 385, 358, 386, 387, 359, 360, 361, 363, 364, - - 366, 370, 388, 371, 372, 373, 374, 375, 376, 374, - 378, 379, 389, 390, 380, 381, 382, 383, 384, 391, - 385, 395, 386, 387, 396, 398, 401, 402, 405, 403, - 410, 388, 403, 411, 412, 413, 414, 416, 417, 419, - 420, 389, 390, 421, 422, 423, 424, 425, 391, 427, - 395, 428, 429, 396, 398, 401, 402, 405, 403, 410, - 431, 403, 411, 412, 413, 414, 416, 417, 419, 420, - 432, 434, 421, 422, 423, 424, 425, 435, 427, 437, - 428, 429, 438, 439, 440, 442, 443, 444, 445, 431, - 446, 448, 450, 451, 452, 453, 454, 456, 457, 432, - - 434, 460, 461, 462, 465, 466, 435, 467, 437, 469, - 470, 438, 439, 440, 442, 443, 444, 445, 471, 446, - 448, 450, 451, 452, 453, 454, 456, 457, 472, 473, - 460, 461, 462, 465, 466, 474, 467, 476, 469, 470, - 479, 482, 483, 484, 485, 489, 491, 471, 492, 494, - 495, 496, 497, 498, 499, 502, 505, 472, 473, 506, - 508, 511, 512, 513, 474, 515, 476, 517, 518, 479, - 482, 483, 484, 485, 489, 491, 519, 492, 494, 495, - 496, 497, 498, 499, 502, 505, 520, 521, 506, 508, - 511, 512, 513, 522, 515, 523, 517, 518, 524, 526, - - 527, 528, 529, 530, 531, 519, 532, 533, 535, 537, - 538, 540, 541, 543, 544, 520, 521, 546, 547, 548, - 549, 550, 522, 552, 523, 553, 554, 524, 526, 527, - 528, 529, 530, 531, 555, 532, 533, 535, 537, 538, - 540, 541, 543, 544, 557, 558, 546, 547, 548, 549, - 550, 561, 552, 563, 553, 554, 564, 567, 571, 572, - 573, 578, 579, 555, 580, 583, 585, 586, 587, 589, - 0, 0, 0, 557, 558, 0, 0, 0, 0, 0, - 561, 0, 563, 0, 0, 564, 567, 571, 572, 573, - 578, 579, 0, 580, 583, 585, 586, 587, 589, 592, - - 592, 592, 592, 592, 592, 592, 592, 592, 592, 593, - 593, 593, 593, 593, 593, 593, 593, 593, 593, 594, - 594, 594, 594, 594, 594, 594, 594, 594, 594, 595, - 595, 595, 595, 595, 595, 595, 595, 595, 595, 596, - 596, 596, 596, 596, 596, 596, 596, 596, 596, 597, - 597, 598, 598, 598, 0, 598, 599, 599, 599, 599, - 0, 599, 600, 600, 600, 0, 600, 600, 600, 600, - 600, 600, 601, 601, 601, 0, 601, 601, 601, 601, - 0, 601, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 603, 603, 0, 603, 603, 603, 603, 603, - - 603, 603, 604, 0, 604, 604, 604, 604, 604, 604, - 604, 604, 605, 605, 606, 606, 591, 591, 591, 591, - 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, - 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, - 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, - 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, - 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, - 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, - 591, 591, 591, 591, 591, 591, 591, 591 + + 6, 32, 52, 55, 35, 34, 6, 6, 6, 34, + 42, 46, 48, 34, 42, 46, 48, 85, 42, 34, + 48, 86, 34, 87, 42, 35, 48, 35, 46, 86, + 13, 52, 55, 88, 34, 6, 6, 35, 34, 42, + 46, 48, 34, 42, 46, 48, 85, 42, 34, 48, + 86, 34, 87, 42, 35, 48, 35, 46, 86, 45, + 89, 49, 88, 6, 6, 33, 35, 45, 51, 49, + 51, 45, 33, 51, 45, 45, 49, 49, 91, 33, + 53, 53, 33, 33, 93, 33, 0, 96, 45, 89, + 49, 0, 0, 97, 33, 98, 45, 51, 49, 51, + + 45, 33, 51, 45, 45, 49, 49, 91, 33, 53, + 53, 33, 33, 93, 33, 36, 96, 76, 76, 101, + 77, 77, 97, 36, 98, 102, 36, 76, 90, 36, + 77, 103, 36, 105, 99, 36, 78, 78, 78, 99, + 106, 90, 94, 0, 36, 0, 94, 78, 101, 0, + 0, 108, 36, 0, 102, 36, 76, 90, 36, 77, + 103, 36, 105, 99, 36, 50, 109, 107, 99, 106, + 90, 94, 50, 50, 100, 94, 78, 100, 107, 50, + 108, 110, 50, 100, 112, 50, 0, 95, 113, 95, + 100, 95, 111, 114, 50, 109, 107, 115, 111, 116, + + 115, 50, 50, 100, 119, 0, 100, 107, 50, 120, + 110, 50, 100, 112, 50, 68, 95, 113, 95, 100, + 95, 111, 114, 68, 68, 117, 115, 111, 116, 115, + 68, 121, 122, 119, 68, 117, 124, 123, 120, 123, + 117, 117, 68, 125, 126, 127, 68, 128, 68, 129, + 131, 132, 68, 133, 117, 134, 135, 137, 136, 68, + 121, 122, 136, 68, 117, 124, 123, 138, 123, 117, + 117, 68, 125, 126, 127, 68, 128, 68, 129, 131, + 132, 68, 133, 139, 134, 135, 137, 136, 139, 139, + 140, 136, 141, 142, 143, 144, 138, 145, 146, 147, + + 148, 150, 142, 151, 152, 153, 154, 155, 156, 157, + 142, 152, 139, 155, 158, 157, 0, 139, 139, 140, + 183, 141, 142, 143, 144, 185, 145, 146, 147, 148, + 150, 142, 151, 152, 153, 154, 155, 156, 157, 142, + 152, 186, 155, 158, 157, 178, 178, 187, 188, 183, + 189, 190, 191, 192, 185, 178, 193, 194, 195, 196, + 197, 198, 189, 199, 201, 202, 190, 203, 204, 205, + 186, 206, 207, 208, 210, 211, 187, 188, 212, 189, + 190, 191, 192, 213, 178, 193, 194, 195, 196, 197, + 198, 189, 199, 201, 202, 190, 203, 204, 205, 214, + + 206, 207, 208, 210, 211, 215, 216, 212, 217, 218, + 219, 220, 213, 221, 222, 223, 224, 225, 227, 226, + 229, 230, 231, 232, 233, 234, 235, 237, 214, 226, + 239, 240, 241, 242, 215, 216, 243, 217, 218, 219, + 220, 244, 221, 222, 223, 224, 225, 227, 226, 229, + 230, 231, 232, 233, 234, 235, 237, 246, 226, 239, + 240, 241, 242, 247, 245, 243, 245, 248, 249, 250, + 244, 251, 252, 253, 254, 256, 258, 257, 259, 260, + 261, 262, 252, 263, 264, 266, 246, 257, 265, 267, + 265, 268, 247, 245, 269, 245, 248, 249, 250, 271, + + 251, 252, 253, 254, 256, 258, 257, 259, 260, 261, + 262, 270, 263, 264, 266, 270, 257, 265, 267, 265, + 268, 272, 273, 269, 277, 278, 279, 280, 271, 281, + 282, 283, 286, 287, 288, 289, 291, 292, 293, 294, + 270, 295, 296, 297, 270, 298, 299, 300, 303, 304, + 272, 273, 305, 277, 278, 279, 280, 306, 281, 282, + 283, 286, 287, 288, 289, 291, 292, 293, 294, 307, + 295, 296, 297, 308, 298, 299, 300, 303, 304, 309, + 312, 305, 314, 316, 317, 318, 306, 325, 319, 327, + 328, 329, 330, 331, 333, 334, 335, 336, 307, 319, + + 337, 339, 308, 341, 342, 343, 345, 346, 309, 312, + 347, 314, 316, 317, 318, 348, 325, 319, 327, 328, + 329, 330, 331, 333, 334, 335, 336, 349, 319, 337, + 339, 350, 341, 342, 343, 345, 346, 351, 352, 347, + 354, 356, 357, 358, 348, 359, 360, 361, 362, 363, + 365, 366, 368, 372, 373, 374, 349, 375, 376, 377, + 350, 376, 378, 380, 381, 382, 351, 352, 383, 354, + 356, 357, 358, 384, 359, 360, 361, 362, 363, 365, + 366, 368, 372, 373, 374, 385, 375, 376, 377, 386, + 376, 378, 380, 381, 382, 387, 388, 383, 389, 390, + + 391, 392, 384, 393, 397, 398, 400, 403, 404, 405, + 407, 412, 405, 413, 385, 414, 415, 416, 386, 418, + 419, 421, 422, 423, 387, 388, 424, 389, 390, 391, + 392, 425, 393, 397, 398, 400, 403, 404, 405, 407, + 412, 405, 413, 426, 414, 415, 416, 427, 418, 419, + 421, 422, 423, 429, 430, 424, 431, 433, 434, 436, + 425, 437, 439, 440, 441, 442, 444, 445, 446, 447, + 448, 450, 426, 452, 453, 454, 427, 455, 456, 458, + 459, 462, 429, 430, 463, 431, 433, 434, 436, 464, + 437, 439, 440, 441, 442, 444, 445, 446, 447, 448, + + 450, 467, 452, 453, 454, 468, 455, 456, 458, 459, + 462, 469, 471, 463, 472, 473, 474, 475, 464, 476, + 478, 481, 484, 485, 486, 487, 491, 493, 494, 496, + 467, 497, 498, 499, 468, 500, 501, 504, 507, 508, + 469, 471, 510, 472, 473, 474, 475, 513, 476, 478, + 481, 484, 485, 486, 487, 491, 493, 494, 496, 514, + 497, 498, 499, 515, 500, 501, 504, 507, 508, 517, + 519, 510, 520, 521, 522, 523, 513, 524, 525, 526, + 528, 529, 530, 531, 532, 533, 534, 535, 514, 537, + 539, 540, 515, 542, 543, 545, 546, 548, 517, 519, + + 549, 520, 521, 522, 523, 550, 524, 525, 526, 528, + 529, 530, 531, 532, 533, 534, 535, 551, 537, 539, + 540, 552, 542, 543, 545, 546, 548, 554, 555, 549, + 556, 557, 559, 560, 550, 563, 565, 566, 569, 573, + 574, 575, 580, 581, 582, 585, 551, 587, 588, 589, + 552, 591, 0, 0, 0, 0, 554, 555, 0, 556, + 557, 559, 560, 0, 563, 565, 566, 569, 573, 574, + 575, 580, 581, 582, 585, 0, 587, 588, 589, 0, + 591, 594, 594, 594, 594, 594, 594, 594, 594, 594, + 594, 595, 595, 595, 595, 595, 595, 595, 595, 595, + + 595, 596, 596, 596, 596, 596, 596, 596, 596, 596, + 596, 597, 597, 597, 597, 597, 597, 597, 597, 597, + 597, 598, 598, 598, 598, 598, 598, 598, 598, 598, + 598, 599, 599, 600, 600, 600, 0, 600, 601, 601, + 601, 601, 0, 601, 602, 602, 602, 0, 602, 602, + 602, 602, 602, 602, 603, 603, 603, 0, 603, 603, + 603, 603, 0, 603, 604, 604, 604, 604, 604, 604, + 604, 604, 604, 604, 605, 605, 0, 605, 605, 605, + 605, 605, 605, 605, 606, 0, 606, 606, 606, 606, + 606, 606, 606, 606, 607, 607, 608, 608, 593, 593, + + 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, + 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, + 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, + 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, + 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, + 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, + 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, + 593, 593 } ; /* Table of booleans, true if rule could match eol. */ -static const flex_int32_t yy_rule_can_match_eol[167] = +static const flex_int32_t yy_rule_can_match_eol[169] = { 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, @@ -1179,8 +1177,8 @@ static const flex_int32_t yy_rule_can_match_eol[167] = 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, 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. @@ -1224,6 +1222,7 @@ namespace quickstep { class BinaryOperation; class Comparison; +class ParseArray; class ParseAssignment; class ParseAttribute; class ParseAttributeDefinition; @@ -1291,14 +1290,14 @@ class UnaryOperation; yycolumn += yyleng; \ } -#line 1294 "SqlLexer_gen.cpp" +#line 1293 "SqlLexer_gen.cpp" /* FIXME(chasseur, qzeng): Add support for hexadecimal literals. */ /** * These patterns are based on the SQL-2011 standard for syntax of numeric * literals (Part 2, Section 5.3 of the standard). **/ -#line 1301 "SqlLexer_gen.cpp" +#line 1300 "SqlLexer_gen.cpp" #define INITIAL 0 #define CONDITION_SQL 1 @@ -1585,10 +1584,10 @@ YY_DECL } { -#line 132 "../SqlLexer.lpp" +#line 133 "../SqlLexer.lpp" -#line 1591 "SqlLexer_gen.cpp" +#line 1590 "SqlLexer_gen.cpp" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -1615,13 +1614,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 >= 592 ) + if ( yy_current_state >= 594 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 591 ); + while ( yy_current_state != 593 ); yy_cp = yyg->yy_last_accepting_cpos; yy_current_state = yyg->yy_last_accepting_state; @@ -1655,7 +1654,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 135 "../SqlLexer.lpp" +#line 136 "../SqlLexer.lpp" { /* A forward slash character represents a system command. */ BEGIN(CONDITION_COMMAND); @@ -1667,7 +1666,7 @@ YY_RULE_SETUP case 2: /* rule 2 can match eol */ YY_RULE_SETUP -#line 143 "../SqlLexer.lpp" +#line 144 "../SqlLexer.lpp" { /* This is a SQL command. Place the char back and process normally. */ yyless(0); @@ -1679,7 +1678,7 @@ YY_RULE_SETUP case 3: YY_RULE_SETUP -#line 152 "../SqlLexer.lpp" +#line 153 "../SqlLexer.lpp" { /* This is a command argument. */ yylval->string_value_ = new quickstep::ParseString( @@ -1689,7 +1688,7 @@ YY_RULE_SETUP YY_BREAK case 4: YY_RULE_SETUP -#line 159 "../SqlLexer.lpp" +#line 160 "../SqlLexer.lpp" { /* Ignore whitespace. */ } @@ -1697,7 +1696,7 @@ YY_RULE_SETUP case 5: /* rule 5 can match eol */ YY_RULE_SETUP -#line 163 "../SqlLexer.lpp" +#line 164 "../SqlLexer.lpp" { /* Newline reverts the lexer to the initial state. */ yycolumn = 0; @@ -1709,697 +1708,707 @@ YY_RULE_SETUP case 6: YY_RULE_SETUP -#line 172 "../SqlLexer.lpp" +#line 173 "../SqlLexer.lpp" return TOKEN_ADD; YY_BREAK case 7: YY_RULE_SETUP -#line 173 "../SqlLexer.lpp" +#line 174 "../SqlLexer.lpp" return TOKEN_ALL; YY_BREAK case 8: YY_RULE_SETUP -#line 174 "../SqlLexer.lpp" +#line 175 "../SqlLexer.lpp" return TOKEN_ALTER; YY_BREAK case 9: YY_RULE_SETUP -#line 175 "../SqlLexer.lpp" +#line 176 "../SqlLexer.lpp" return TOKEN_AND; YY_BREAK case 10: YY_RULE_SETUP -#line 176 "../SqlLexer.lpp" +#line 177 "../SqlLexer.lpp" return TOKEN_AS; YY_BREAK case 11: YY_RULE_SETUP -#line 177 "../SqlLexer.lpp" +#line 178 "../SqlLexer.lpp" return TOKEN_ASC; YY_BREAK case 12: YY_RULE_SETUP -#line 178 "../SqlLexer.lpp" +#line 179 "../SqlLexer.lpp" return TOKEN_ASC; YY_BREAK case 13: YY_RULE_SETUP -#line 179 "../SqlLexer.lpp" +#line 180 "../SqlLexer.lpp" return TOKEN_BETWEEN; YY_BREAK case 14: YY_RULE_SETUP -#line 180 "../SqlLexer.lpp" +#line 181 "../SqlLexer.lpp" return TOKEN_BIGINT; YY_BREAK case 15: YY_RULE_SETUP -#line 181 "../SqlLexer.lpp" +#line 182 "../SqlLexer.lpp" return TOKEN_BIT; YY_BREAK case 16: YY_RULE_SETUP -#line 182 "../SqlLexer.lpp" +#line 183 "../SqlLexer.lpp" return TOKEN_BITWEAVING; YY_BREAK case 17: YY_RULE_SETUP -#line 183 "../SqlLexer.lpp" +#line 184 "../SqlLexer.lpp" return TOKEN_BLOCKPROPERTIES; YY_BREAK case 18: YY_RULE_SETUP -#line 184 "../SqlLexer.lpp" +#line 185 "../SqlLexer.lpp" return TOKEN_BLOCKSAMPLE; YY_BREAK case 19: YY_RULE_SETUP -#line 185 "../SqlLexer.lpp" +#line 186 "../SqlLexer.lpp" return TOKEN_BLOOM_FILTER; YY_BREAK case 20: YY_RULE_SETUP -#line 186 "../SqlLexer.lpp" +#line 187 "../SqlLexer.lpp" return TOKEN_CASE; YY_BREAK case 21: YY_RULE_SETUP -#line 187 "../SqlLexer.lpp" +#line 188 "../SqlLexer.lpp" return TOKEN_CAST; YY_BREAK case 22: YY_RULE_SETUP -#line 188 "../SqlLexer.lpp" +#line 189 "../SqlLexer.lpp" return TOKEN_CSB_TREE; YY_BREAK case 23: YY_RULE_SETUP -#line 189 "../SqlLexer.lpp" +#line 190 "../SqlLexer.lpp" return TOKEN_BY; YY_BREAK case 24: YY_RULE_SETUP -#line 190 "../SqlLexer.lpp" +#line 191 "../SqlLexer.lpp" return TOKEN_CHARACTER; YY_BREAK case 25: YY_RULE_SETUP -#line 191 "../SqlLexer.lpp" +#line 192 "../SqlLexer.lpp" return TOKEN_CHARACTER; YY_BREAK case 26: YY_RULE_SETUP -#line 192 "../SqlLexer.lpp" +#line 193 "../SqlLexer.lpp" return TOKEN_CHECK; YY_BREAK case 27: YY_RULE_SETUP -#line 193 "../SqlLexer.lpp" +#line 194 "../SqlLexer.lpp" return TOKEN_COLUMN; YY_BREAK case 28: YY_RULE_SETUP -#line 194 "../SqlLexer.lpp" +#line 195 "../SqlLexer.lpp" return TOKEN_CONSTRAINT; YY_BREAK case 29: YY_RULE_SETUP -#line 195 "../SqlLexer.lpp" +#line 196 "../SqlLexer.lpp" return TOKEN_COPY; YY_BREAK case 30: YY_RULE_SETUP -#line 196 "../SqlLexer.lpp" +#line 197 "../SqlLexer.lpp" return TOKEN_CREATE; YY_BREAK case 31: YY_RULE_SETUP -#line 197 "../SqlLexer.lpp" +#line 198 "../SqlLexer.lpp" return TOKEN_CURRENT; YY_BREAK case 32: YY_RULE_SETUP -#line 198 "../SqlLexer.lpp" +#line 199 "../SqlLexer.lpp" return TOKEN_DATE; YY_BREAK case 33: YY_RULE_SETUP -#line 199 "../SqlLexer.lpp" +#line 200 "../SqlLexer.lpp" return TOKEN_DATETIME; YY_BREAK case 34: YY_RULE_SETUP -#line 200 "../SqlLexer.lpp" +#line 201 "../SqlLexer.lpp" return TOKEN_DAY; YY_BREAK case 35: YY_RULE_SETUP -#line 201 "../SqlLexer.lpp" +#line 202 "../SqlLexer.lpp" return TOKEN_DECIMAL; YY_BREAK case 36: YY_RULE_SETUP -#line 202 "../SqlLexer.lpp" +#line 203 "../SqlLexer.lpp" return TOKEN_DEFAULT; YY_BREAK case 37: YY_RULE_SETUP -#line 203 "../SqlLexer.lpp" +#line 204 "../SqlLexer.lpp" return TOKEN_DELETE; YY_BREAK case 38: YY_RULE_SETUP -#line 204 "../SqlLexer.lpp" +#line 205 "../SqlLexer.lpp" return TOKEN_DESC; YY_BREAK case 39: YY_RULE_SETUP -#line 205 "../SqlLexer.lpp" +#line 206 "../SqlLexer.lpp" return TOKEN_DESC; YY_BREAK case 40: YY_RULE_SETUP -#line 206 "../SqlLexer.lpp" +#line 207 "../SqlLexer.lpp" return TOKEN_DISTINCT; YY_BREAK case 41: YY_RULE_SETUP -#line 207 "../SqlLexer.lpp" +#line 208 "../SqlLexer.lpp" return TOKEN_DOUBLE; YY_BREAK case 42: YY_RULE_SETUP -#line 208 "../SqlLexer.lpp" +#line 209 "../SqlLexer.lpp" return TOKEN_DROP; YY_BREAK case 43: YY_RULE_SETUP -#line 209 "../SqlLexer.lpp" +#line 210 "../SqlLexer.lpp" return TOKEN_ELSE; YY_BREAK case 44: YY_RULE_SETUP -#line 210 "../SqlLexer.lpp" +#line 211 "../SqlLexer.lpp" return TOKEN_END; YY_BREAK case 45: YY_RULE_SETUP -#line 211 "../SqlLexer.lpp" +#line 212 "../SqlLexer.lpp" return TOKEN_EXISTS; YY_BREAK case 46: YY_RULE_SETUP -#line 212 "../SqlLexer.lpp" +#line 213 "../SqlLexer.lpp" return TOKEN_EXTRACT; YY_BREAK case 47: YY_RULE_SETUP -#line 213 "../SqlLexer.lpp" +#line 214 "../SqlLexer.lpp" return TOKEN_FALSE; YY_BREAK case 48: YY_RULE_SETUP -#line 214 "../SqlLexer.lpp" +#line 215 "../SqlLexer.lpp" return TOKEN_FIRST; YY_BREAK case 49: YY_RULE_SETUP -#line 215 "../SqlLexer.lpp" +#line 216 "../SqlLexer.lpp" return TOKEN_FLOAT; YY_BREAK case 50: YY_RULE_SETUP -#line 216 "../SqlLexer.lpp" +#line 217 "../SqlLexer.lpp" return TOKEN_FOLLOWING; YY_BREAK case 51: YY_RULE_SETUP -#line 217 "../SqlLexer.lpp" +#line 218 "../SqlLexer.lpp" return TOKEN_FOR; YY_BREAK case 52: YY_RULE_SETUP -#line 218 "../SqlLexer.lpp" +#line 219 "../SqlLexer.lpp" return TOKEN_FOREIGN; YY_BREAK case 53: YY_RULE_SETUP -#line 219 "../SqlLexer.lpp" +#line 220 "../SqlLexer.lpp" return TOKEN_FROM; YY_BREAK case 54: YY_RULE_SETUP -#line 220 "../SqlLexer.lpp" +#line 221 "../SqlLexer.lpp" return TOKEN_FULL; YY_BREAK case 55: YY_RULE_SETUP -#line 221 "../SqlLexer.lpp" +#line 222 "../SqlLexer.lpp" return TOKEN_GROUP; YY_BREAK case 56: YY_RULE_SETUP -#line 222 "../SqlLexer.lpp" +#line 223 "../SqlLexer.lpp" return TOKEN_HASH; YY_BREAK case 57: YY_RULE_SETUP -#line 223 "../SqlLexer.lpp" +#line 224 "../SqlLexer.lpp" return TOKEN_HAVING; YY_BREAK case 58: YY_RULE_SETUP -#line 224 "../SqlLexer.lpp" +#line 225 "../SqlLexer.lpp" return TOKEN_HOUR; YY_BREAK case 59: YY_RULE_SETUP -#line 225 "../SqlLexer.lpp" +#line 226 "../SqlLexer.lpp" return TOKEN_IN; YY_BREAK case 60: YY_RULE_SETUP -#line 226 "../SqlLexer.lpp" +#line 227 "../SqlLexer.lpp" return TOKEN_INDEX; YY_BREAK case 61: YY_RULE_SETUP -#line 227 "../SqlLexer.lpp" +#line 228 "../SqlLexer.lpp" return TOKEN_INNER; YY_BREAK case 62: YY_RULE_SETUP -#line 228 "../SqlLexer.lpp" +#line 229 "../SqlLexer.lpp" return TOKEN_INSERT; YY_BREAK case 63: YY_RULE_SETUP -#line 229 "../SqlLexer.lpp" +#line 230 "../SqlLexer.lpp" return TOKEN_INTEGER; YY_BREAK case 64: YY_RULE_SETUP -#line 230 "../SqlLexer.lpp" +#line 231 "../SqlLexer.lpp" return TOKEN_INTEGER; YY_BREAK case 65: YY_RULE_SETUP -#line 231 "../SqlLexer.lpp" +#line 232 "../SqlLexer.lpp" return TOKEN_INTERSECT; YY_BREAK case 66: YY_RULE_SETUP -#line 232 "../SqlLexer.lpp" +#line 233 "../SqlLexer.lpp" return TOKEN_INTERVAL; YY_BREAK case 67: YY_RULE_SETUP -#line 233 "../SqlLexer.lpp" +#line 234 "../SqlLexer.lpp" return TOKEN_INTO; YY_BREAK case 68: YY_RULE_SETUP -#line 234 "../SqlLexer.lpp" +#line 235 "../SqlLexer.lpp" return TOKEN_IS; YY_BREAK case 69: YY_RULE_SETUP -#line 235 "../SqlLexer.lpp" +#line 236 "../SqlLexer.lpp" return TOKEN_JOIN; YY_BREAK case 70: YY_RULE_SETUP -#line 236 "../SqlLexer.lpp" +#line 237 "../SqlLexer.lpp" return TOKEN_KEY; YY_BREAK case 71: YY_RULE_SETUP -#line 237 "../SqlLexer.lpp" +#line 238 "../SqlLexer.lpp" return TOKEN_LAST; YY_BREAK case 72: YY_RULE_SETUP -#line 238 "../SqlLexer.lpp" +#line 239 "../SqlLexer.lpp" return TOKEN_LEFT; YY_BREAK case 73: YY_RULE_SETUP -#line 239 "../SqlLexer.lpp" +#line 240 "../SqlLexer.lpp" return TOKEN_LIKE; YY_BREAK case 74: YY_RULE_SETUP -#line 240 "../SqlLexer.lpp" +#line 241 "../SqlLexer.lpp" return TOKEN_LIMIT; YY_BREAK case 75: YY_RULE_SETUP -#line 241 "../SqlLexer.lpp" +#line 242 "../SqlLexer.lpp" return TOKEN_LONG; YY_BREAK case 76: YY_RULE_SETUP -#line 242 "../SqlLexer.lpp" +#line 243 "../SqlLexer.lpp" return TOKEN_MINUTE; YY_BREAK case 77: YY_RULE_SETUP -#line 243 "../SqlLexer.lpp" +#line 244 "../SqlLexer.lpp" return TOKEN_MONTH; YY_BREAK case 78: YY_RULE_SETUP -#line 244 "../SqlLexer.lpp" +#line 245 "../SqlLexer.lpp" return TOKEN_NOT; YY_BREAK case 79: YY_RULE_SETUP -#line 245 "../SqlLexer.lpp" +#line 246 "../SqlLexer.lpp" return TOKEN_NULL; YY_BREAK case 80: YY_RULE_SETUP -#line 246 "../SqlLexer.lpp" +#line 247 "../SqlLexer.lpp" return TOKEN_NULLS; YY_BREAK case 81: YY_RULE_SETUP -#line 247 "../SqlLexer.lpp" +#line 248 "../SqlLexer.lpp" return TOKEN_OFF; YY_BREAK case 82: YY_RULE_SETUP -#line 248 "../SqlLexer.lpp" +#line 249 "../SqlLexer.lpp" return TOKEN_ON; YY_BREAK case 83: YY_RULE_SETUP -#line 249 "../SqlLexer.lpp" +#line 250 "../SqlLexer.lpp" return TOKEN_OR; YY_BREAK case 84: YY_RULE_SETUP -#line 250 "../SqlLexer.lpp" +#line 251 "../SqlLexer.lpp" return TOKEN_ORDER; YY_BREAK case 85: YY_RULE_SETUP -#line 251 "../SqlLexer.lpp" +#line 252 "../SqlLexer.lpp" return TOKEN_OUTER; YY_BREAK case 86: YY_RULE_SETUP -#line 252 "../SqlLexer.lpp" +#line 253 "../SqlLexer.lpp" return TOKEN_OVER; YY_BREAK case 87: YY_RULE_SETUP -#line 253 "../SqlLexer.lpp" +#line 254 "../SqlLexer.lpp" return TOKEN_PARTITION; YY_BREAK case 88: YY_RULE_SETUP -#line 254 "../SqlLexer.lpp" +#line 255 "../SqlLexer.lpp" return TOKEN_PARTITIONS; YY_BREAK case 89: YY_RULE_SETUP -#line 255 "../SqlLexer.lpp" +#line 256 "../SqlLexer.lpp" return TOKEN_PERCENT; YY_BREAK case 90: YY_RULE_SETUP -#line 256 "../SqlLexer.lpp" +#line 257 "../SqlLexer.lpp" return TOKEN_PRECEDING; YY_BREAK case 91: YY_RULE_SETUP -#line 257 "../SqlLexer.lpp" +#line 258 "../SqlLexer.lpp" return TOKEN_PRIMARY; YY_BREAK case 92: YY_RULE_SETUP -#line 258 "../SqlLexer.lpp" +#line 259 "../SqlLexer.lpp" return TOKEN_PRIORITY; YY_BREAK case 93: YY_RULE_SETUP -#line 259 "../SqlLexer.lpp" +#line 260 "../SqlLexer.lpp" return TOKEN_QUIT; YY_BREAK case 94: YY_RULE_SETUP -#line 260 "../SqlLexer.lpp" +#line 261 "../SqlLexer.lpp" return TOKEN_RANGE; YY_BREAK case 95: YY_RULE_SETUP -#line 261 "../SqlLexer.lpp" +#line 262 "../SqlLexer.lpp" return TOKEN_REAL; YY_BREAK case 96: YY_RULE_SETUP -#line 262 "../SqlLexer.lpp" +#line 263 "../SqlLexer.lpp" return TOKEN_REFERENCES; YY_BREAK case 97: YY_RULE_SETUP -#line 263 "../SqlLexer.lpp" +#line 264 "../SqlLexer.lpp" return TOKEN_REGEXP; YY_BREAK case 98: YY_RULE_SETUP -#line 264 "../SqlLexer.lpp" +#line 265 "../SqlLexer.lpp" return TOKEN_RIGHT; YY_BREAK case 99: YY_RULE_SETUP -#line 265 "../SqlLexer.lpp" +#line 266 "../SqlLexer.lpp" return TOKEN_ROW; YY_BREAK case 100: YY_RULE_SETUP -#line 266 "../SqlLexer.lpp" +#line 267 "../SqlLexer.lpp" return TOKEN_ROW_DELIMITER; YY_BREAK case 101: YY_RULE_SETUP -#line 267 "../SqlLexer.lpp" +#line 268 "../SqlLexer.lpp" return TOKEN_ROWS; YY_BREAK case 102: YY_RULE_SETUP -#line 268 "../SqlLexer.lpp" +#line 269 "../SqlLexer.lpp" return TOKEN_SECOND; YY_BREAK case 103: YY_RULE_SETUP -#line 269 "../SqlLexer.lpp" +#line 270 "../SqlLexer.lpp" return TOKEN_SELECT; YY_BREAK case 104: YY_RULE_SETUP -#line 270 "../SqlLexer.lpp" +#line 271 "../SqlLexer.lpp" return TOKEN_SET; YY_BREAK case 105: YY_RULE_SETUP -#line 271 "../SqlLexer.lpp" +#line 272 "../SqlLexer.lpp" return TOKEN_SMA; YY_BREAK case 106: YY_RULE_SETUP -#line 272 "../SqlLexer.lpp" +#line 273 "../SqlLexer.lpp" return TOKEN_SMALLINT; YY_BREAK case 107: YY_RULE_SETUP -#line 273 "../SqlLexer.lpp" +#line 274 "../SqlLexer.lpp" return TOKEN_STDERR; YY_BREAK case 108: YY_RULE_SETUP -#line 274 "../SqlLexer.lpp" +#line 275 "../SqlLexer.lpp" return TOKEN_STDOUT; YY_BREAK case 109: YY_RULE_SETUP -#line 275 "../SqlLexer.lpp" +#line 276 "../SqlLexer.lpp" return TOKEN_SUBSTRING; YY_BREAK case 110: YY_RULE_SETUP -#line 276 "../SqlLexer.lpp" +#line 277 "../SqlLexer.lpp" return TOKEN_TABLE; YY_BREAK case 111: YY_RULE_SETUP -#line 277 "../SqlLexer.lpp" +#line 278 "../SqlLexer.lpp" return TOKEN_THEN; YY_BREAK case 112: YY_RULE_SETUP -#line 278 "../SqlLexer.lpp" +#line 279 "../SqlLexer.lpp" return TOKEN_TIME; YY_BREAK case 113: YY_RULE_SETUP -#line 279 "../SqlLexer.lpp" +#line 280 "../SqlLexer.lpp" return TOKEN_TIMESTAMP; YY_BREAK case 114: YY_RULE_SETUP -#line 280 "../SqlLexer.lpp" +#line 281 "../SqlLexer.lpp" return TOKEN_TO; YY_BREAK case 115: YY_RULE_SETUP -#line 281 "../SqlLexer.lpp" +#line 282 "../SqlLexer.lpp" return TOKEN_TRUE; YY_BREAK case 116: YY_RULE_SETUP -#line 282 "../SqlLexer.lpp" +#line 283 "../SqlLexer.lpp" return TOKEN_TUPLESAMPLE; YY_BREAK case 117: YY_RULE_SETUP -#line 283 "../SqlLexer.lpp" +#line 284 "../SqlLexer.lpp" return TOKEN_UNBOUNDED; YY_BREAK case 118: YY_RULE_SETUP -#line 284 "../SqlLexer.lpp" +#line 285 "../SqlLexer.lpp" return TOKEN_UNION; YY_BREAK case 119: YY_RULE_SETUP -#line 285 "../SqlLexer.lpp" +#line 286 "../SqlLexer.lpp" return TOKEN_UNIQUE; YY_BREAK case 120: YY_RULE_SETUP -#line 286 "../SqlLexer.lpp" +#line 287 "../SqlLexer.lpp" return TOKEN_UPDATE; YY_BREAK case 121: YY_RULE_SETUP -#line 287 "../SqlLexer.lpp" +#line 288 "../SqlLexer.lpp" return TOKEN_USING; YY_BREAK case 122: YY_RULE_SETUP -#line 288 "../SqlLexer.lpp" +#line 289 "../SqlLexer.lpp" return TOKEN_VALUES; YY_BREAK case 123: YY_RULE_SETUP -#line 289 "../SqlLexer.lpp" +#line 290 "../SqlLexer.lpp" return TOKEN_VARCHAR; YY_BREAK case 124: YY_RULE_SETUP -#line 290 "../SqlLexer.lpp" +#line 291 "../SqlLexer.lpp" return TOKEN_WHEN; YY_BREAK case 125: YY_RULE_SETUP -#line 291 "../SqlLexer.lpp" +#line 292 "../SqlLexer.lpp" return TOKEN_WHERE; YY_BREAK case 126: YY_RULE_SETUP -#line 292 "../SqlLexer.lpp" +#line 293 "../SqlLexer.lpp" return TOKEN_WINDOW; YY_BREAK case 127: YY_RULE_SETUP -#line 293 "../SqlLexer.lpp" +#line 294 "../SqlLexer.lpp" return TOKEN_WITH; YY_BREAK case 128: YY_RULE_SETUP -#line 294 "../SqlLexer.lpp" +#line 295 "../SqlLexer.lpp" return TOKEN_YEAR; YY_BREAK case 129: YY_RULE_SETUP -#line 295 "../SqlLexer.lpp" +#line 296 "../SqlLexer.lpp" return TOKEN_YEARMONTH; YY_BREAK case 130: YY_RULE_SETUP -#line 297 "../SqlLexer.lpp" +#line 298 "../SqlLexer.lpp" return TOKEN_EQ; YY_BREAK case 131: YY_RULE_SETUP -#line 298 "../SqlLexer.lpp" +#line 299 "../SqlLexer.lpp" return TOKEN_NEQ; YY_BREAK case 132: YY_RULE_SETUP -#line 299 "../SqlLexer.lpp" +#line 300 "../SqlLexer.lpp" return TOKEN_NEQ; YY_BREAK case 133: YY_RULE_SETUP -#line 300 "../SqlLexer.lpp" +#line 301 "../SqlLexer.lpp" return TOKEN_LT; YY_BREAK case 134: YY_RULE_SETUP -#line 301 "../SqlLexer.lpp" +#line 302 "../SqlLexer.lpp" return TOKEN_GT; YY_BREAK case 135: YY_RULE_SETUP -#line 302 "../SqlLexer.lpp" +#line 303 "../SqlLexer.lpp" return TOKEN_LEQ; YY_BREAK case 136: YY_RULE_SETUP -#line 303 "../SqlLexer.lpp" +#line 304 "../SqlLexer.lpp" return TOKEN_GEQ; YY_BREAK case 137: YY_RULE_SETUP -#line 304 "../SqlLexer.lpp" +#line 305 "../SqlLexer.lpp" return TOKEN_DOUBLECOLON; YY_BREAK case 138: YY_RULE_SETUP #line 306 "../SqlLexer.lpp" -return yytext[0]; +return TOKEN_LBRACE; YY_BREAK case 139: YY_RULE_SETUP #line 307 "../SqlLexer.lpp" +return TOKEN_RBRACE; + YY_BREAK +case 140: +YY_RULE_SETUP +#line 309 "../SqlLexer.lpp" +return yytext[0]; + YY_BREAK +case 141: +YY_RULE_SETUP +#line 310 "../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 140: +case 142: YY_RULE_SETUP -#line 313 "../SqlLexer.lpp" +#line 316 "../SqlLexer.lpp" { yylval->string_value_ = new quickstep::ParseString(yylloc->first_line, yylloc->first_column); BEGIN(CONDITION_STRING_SINGLE_QUOTED_ESCAPED); } YY_BREAK -case 141: +case 143: YY_RULE_SETUP -#line 318 "../SqlLexer.lpp" +#line 321 "../SqlLexer.lpp" { yylval->string_value_ = new quickstep::ParseString(yylloc->first_line, yylloc->first_column); BEGIN(CONDITION_STRING_SINGLE_QUOTED); } YY_BREAK -case 142: +case 144: YY_RULE_SETUP -#line 323 "../SqlLexer.lpp" +#line 326 "../SqlLexer.lpp" { yylval->string_value_ = new quickstep::ParseString(yylloc->first_line, yylloc->first_column); BEGIN(CONDITION_STRING_DOUBLE_QUOTED); @@ -2411,7 +2420,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 332 "../SqlLexer.lpp" +#line 335 "../SqlLexer.lpp" { delete yylval->string_value_; BEGIN(INITIAL); @@ -2422,9 +2431,9 @@ case YY_STATE_EOF(CONDITION_STRING_DOUBLE_QUOTED): /* Process escape sequences. */ -case 143: +case 145: YY_RULE_SETUP -#line 342 "../SqlLexer.lpp" +#line 345 "../SqlLexer.lpp" { /* Octal code */ unsigned int code; @@ -2438,9 +2447,9 @@ YY_RULE_SETUP yylval->string_value_->push_back(code); } YY_BREAK -case 144: +case 146: YY_RULE_SETUP -#line 354 "../SqlLexer.lpp" +#line 357 "../SqlLexer.lpp" { /* Hexadecimal code */ unsigned int code; @@ -2448,9 +2457,9 @@ YY_RULE_SETUP yylval->string_value_->push_back(code); } YY_BREAK -case 145: +case 147: YY_RULE_SETUP -#line 360 "../SqlLexer.lpp" +#line 363 "../SqlLexer.lpp" { /* A numeric escape sequence that isn't correctly specified. */ delete yylval->string_value_; @@ -2459,58 +2468,58 @@ YY_RULE_SETUP return TOKEN_LEX_ERROR; } YY_BREAK -case 146: +case 148: YY_RULE_SETUP -#line 367 "../SqlLexer.lpp" +#line 370 "../SqlLexer.lpp" { /* Backspace */ yylval->string_value_->push_back('\b'); } YY_BREAK -case 147: +case 149: YY_RULE_SETUP -#line 371 "../SqlLexer.lpp" +#line 374 "../SqlLexer.lpp" { /* Form-feed */ yylval->string_value_->push_back('\f'); } YY_BREAK -case 148: +case 150: YY_RULE_SETUP -#line 375 "../SqlLexer.lpp" +#line 378 "../SqlLexer.lpp" { /* Newline */ yylval->string_value_->push_back('\n'); } YY_BREAK -case 149: +case 151: YY_RULE_SETUP -#line 379 "../SqlLexer.lpp" +#line 382 "../SqlLexer.lpp" { /* Carriage-return */ yylval->string_value_->push_back('\r'); } YY_BREAK -case 150: +case 152: YY_RULE_SETUP -#line 383 "../SqlLexer.lpp" +#line 386 "../SqlLexer.lpp" { /* Horizontal Tab */ yylval->string_value_->push_back('\t'); } YY_BREAK -case 151: -/* rule 151 can match eol */ +case 153: +/* rule 153 can match eol */ YY_RULE_SETUP -#line 387 "../SqlLexer.lpp" +#line 390 "../SqlLexer.lpp" { /* Any other character (including actual newline or carriage return) */ yylval->string_value_->push_back(yytext[1]); } YY_BREAK -case 152: +case 154: YY_RULE_SETUP -#line 391 "../SqlLexer.lpp" +#line 394 "../SqlLexer.lpp" { /* This should only be encountered right before an EOF. */ delete yylval->string_value_; @@ -2521,17 +2530,17 @@ YY_RULE_SETUP YY_BREAK -case 153: +case 155: YY_RULE_SETUP -#line 401 "../SqlLexer.lpp" +#line 404 "../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 154: +case 156: YY_RULE_SETUP -#line 405 "../SqlLexer.lpp" +#line 408 "../SqlLexer.lpp" { /* End string */ BEGIN(CONDITION_SQL); @@ -2540,17 +2549,17 @@ YY_RULE_SETUP YY_BREAK -case 155: +case 157: YY_RULE_SETUP -#line 413 "../SqlLexer.lpp" +#line 416 "../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 156: +case 158: YY_RULE_SETUP -#line 417 "../SqlLexer.lpp" +#line 420 "../SqlLexer.lpp" { /* End string */ BEGIN(CONDITION_SQL); @@ -2558,94 +2567,94 @@ YY_RULE_SETUP } YY_BREAK -case 157: -/* rule 157 can match eol */ +case 159: +/* rule 159 can match eol */ YY_RULE_SETUP -#line 424 "../SqlLexer.lpp" +#line 427 "../SqlLexer.lpp" { /* Scan up to a quote. */ yylval->string_value_->append(yytext, yyleng); } YY_BREAK -case 158: -/* rule 158 can match eol */ +case 160: +/* rule 160 can match eol */ YY_RULE_SETUP -#line 429 "../SqlLexer.lpp" +#line 432 "../SqlLexer.lpp" { /* Scan up to a quote or escape sequence. */ yylval->string_value_->append(yytext, yyleng); } YY_BREAK -case 159: -/* rule 159 can match eol */ +case 161: +/* rule 161 can match eol */ YY_RULE_SETUP -#line 434 "../SqlLexer.lpp" +#line 437 "../SqlLexer.lpp" { /* Scan up to a quote. */ yylval->string_value_->append(yytext, yyleng); } YY_BREAK -case 160: +case 162: YY_RULE_SETUP -#line 440 "../SqlLexer.lpp" +#line 443 "../SqlLexer.lpp" { yylval->string_value_ = new quickstep::ParseString( yylloc->first_line, yylloc->first_column, std::string(yytext, yyleng)); return TOKEN_NAME; } YY_BREAK -case 161: +case 163: YY_RULE_SETUP -#line 446 "../SqlLexer.lpp" +#line 449 "../SqlLexer.lpp" { yylval->numeric_literal_value_ = new quickstep::NumericParseLiteralValue( yylloc->first_line, yylloc->first_column, yytext); return TOKEN_UNSIGNED_NUMVAL; } YY_BREAK -case 162: +case 164: YY_RULE_SETUP -#line 452 "../SqlLexer.lpp" +#line 455 "../SqlLexer.lpp" /* comment */ YY_BREAK -case 163: -/* rule 163 can match eol */ +case 165: +/* rule 165 can match eol */ YY_RULE_SETUP -#line 454 "../SqlLexer.lpp" +#line 457 "../SqlLexer.lpp" { yycolumn = 0; } YY_BREAK -case 164: +case 166: YY_RULE_SETUP -#line 456 "../SqlLexer.lpp" +#line 459 "../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 460 "../SqlLexer.lpp" +#line 463 "../SqlLexer.lpp" { /* All conditions except for mutli-state string extracting conditions. */ BEGIN(INITIAL); return TOKEN_EOF; } YY_BREAK -case 165: +case 167: YY_RULE_SETUP -#line 466 "../SqlLexer.lpp" +#line 469 "../SqlLexer.lpp" { BEGIN(INITIAL); quickstep_yyerror(NULL, yyscanner, NULL, "illegal character"); return TOKEN_LEX_ERROR; } YY_BREAK -case 166: +case 168: YY_RULE_SETUP -#line 472 "../SqlLexer.lpp" +#line 475 "../SqlLexer.lpp" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 2648 "SqlLexer_gen.cpp" +#line 2657 "SqlLexer_gen.cpp" case YY_END_OF_BUFFER: { @@ -2943,7 +2952,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 >= 592 ) + if ( yy_current_state >= 594 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -2972,11 +2981,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 >= 592 ) + if ( yy_current_state >= 594 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 591); + yy_is_jam = (yy_current_state == 593); (void)yyg; return yy_is_jam ? 0 : yy_current_state; @@ -3806,6 +3815,6 @@ void yyfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 472 "../SqlLexer.lpp" +#line 475 "../SqlLexer.lpp" http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/c9922f8e/parser/preprocessed/SqlLexer_gen.hpp ---------------------------------------------------------------------- diff --git a/parser/preprocessed/SqlLexer_gen.hpp b/parser/preprocessed/SqlLexer_gen.hpp index 9990de6..6d3c441 100644 --- a/parser/preprocessed/SqlLexer_gen.hpp +++ b/parser/preprocessed/SqlLexer_gen.hpp @@ -733,7 +733,7 @@ extern int yylex \ #undef yyTABLES_NAME #endif -#line 472 "../SqlLexer.lpp" +#line 475 "../SqlLexer.lpp" #line 739 "SqlLexer_gen.hpp"