You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@quickstep.apache.org by ji...@apache.org on 2017/10/10 18:25:51 UTC
[21/38] incubator-quickstep git commit: Some updates
Some updates
Project: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/commit/98a8e611
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/tree/98a8e611
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/diff/98a8e611
Branch: refs/heads/refactor-type
Commit: 98a8e611a33219c3e0619217e6e062f608d03fa4
Parents: 9b23a4d
Author: Jianqiao Zhu <ji...@cs.wisc.edu>
Authored: Wed Sep 27 21:12:59 2017 -0500
Committer: Jianqiao Zhu <ji...@cs.wisc.edu>
Committed: Tue Oct 10 13:24:03 2017 -0500
----------------------------------------------------------------------
parser/SqlLexer.lpp | 1 +
parser/SqlParser.ypp | 26 +-
parser/preprocessed/SqlLexer_gen.cpp | 1143 +++---
parser/preprocessed/SqlLexer_gen.hpp | 2 +-
parser/preprocessed/SqlParser_gen.cpp | 3247 +++++++++---------
parser/preprocessed/SqlParser_gen.hpp | 167 +-
query_optimizer/rules/CMakeLists.txt | 4 +-
query_optimizer/rules/Partition.cpp | 16 +-
types/CMakeLists.txt | 1 +
types/NullLit.hpp | 38 +
types/NullType.hpp | 2 +-
types/TypeFactory.cpp | 2 +-
types/TypeID.hpp | 10 +-
types/TypeRegistrar.hpp | 38 +-
types/TypeSynthesizer.hpp | 47 +-
types/TypeUtil.hpp | 4 +-
types/containers/ColumnVector.hpp | 57 +-
types/containers/ColumnVectorsValueAccessor.hpp | 3 +-
types/operations/OperationUtil.hpp | 6 +-
.../BinaryOperationWrapper.hpp | 6 +-
.../unary_operations/UnaryOperationWrapper.hpp | 2 +-
21 files changed, 2463 insertions(+), 2359 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/98a8e611/parser/SqlLexer.lpp
----------------------------------------------------------------------
diff --git a/parser/SqlLexer.lpp b/parser/SqlLexer.lpp
index 92268e8..020673c 100644
--- a/parser/SqlLexer.lpp
+++ b/parser/SqlLexer.lpp
@@ -301,6 +301,7 @@ unsigned_numeric_literal {exact_numeric_literal}|{approximate_numeric_literal}
">" return TOKEN_GT;
"<=" return TOKEN_LEQ;
">=" return TOKEN_GEQ;
+ "::" return TOKEN_DOUBLECOLON;
[-+*/%(),.;] return yytext[0];
[\[\]] return yytext[0];
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/98a8e611/parser/SqlParser.ypp
----------------------------------------------------------------------
diff --git a/parser/SqlParser.ypp b/parser/SqlParser.ypp
index af79fe3..0d19a4c 100644
--- a/parser/SqlParser.ypp
+++ b/parser/SqlParser.ypp
@@ -272,6 +272,7 @@ void NotSupported(const YYLTYPE *location, yyscan_t yyscanner, const std::string
%token TOKEN_DESC;
%token TOKEN_DISTINCT;
%token TOKEN_DOUBLE;
+%token TOKEN_DOUBLECOLON;
%token TOKEN_DROP;
%token TOKEN_ELSE;
%token TOKEN_END;
@@ -1776,7 +1777,30 @@ cast_function:
auto *name = new quickstep::ParseString(@1.first_line, @1.first_column, "cast");
$$ = new quickstep::ParseFunctionCall(
@1.first_line, @1.first_column, false, name, arguments);
- };
+ }
+ | expression_base TOKEN_DOUBLECOLON data_type {
+ auto *arguments = new quickstep::PtrList<quickstep::ParseExpression>();
+ arguments->push_back($1);
+ arguments->push_back(new quickstep::ParseScalarLiteral(
+ new quickstep::StringParseLiteralValue(
+ new quickstep::ParseString(@3.first_line,
+ @3.first_column,
+ $3->getType().getName()),
+ nullptr)));
+ delete $3;
+ auto *name = new quickstep::ParseString(@2.first_line, @2.first_column, "cast");
+ $$ = new quickstep::ParseFunctionCall(
+ @2.first_line, @2.first_column, false, name, arguments);
+ }
+ | expression_base TOKEN_DOUBLECOLON any_name {
+ auto *arguments = new quickstep::PtrList<quickstep::ParseExpression>();
+ arguments->push_back($1);
+ arguments->push_back(new quickstep::ParseScalarLiteral(
+ new quickstep::StringParseLiteralValue($3, nullptr)));
+ auto *name = new quickstep::ParseString(@2.first_line, @2.first_column, "cast");
+ $$ = new quickstep::ParseFunctionCall(
+ @2.first_line, @2.first_column, false, name, arguments);
+ }
extract_function:
TOKEN_EXTRACT '(' datetime_unit TOKEN_FROM add_expression ')' {
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/98a8e611/parser/preprocessed/SqlLexer_gen.cpp
----------------------------------------------------------------------
diff --git a/parser/preprocessed/SqlLexer_gen.cpp b/parser/preprocessed/SqlLexer_gen.cpp
index b1ea67f..0904d7c 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 165
-#define YY_END_OF_BUFFER 166
+#define YY_NUM_RULES 166
+#define YY_END_OF_BUFFER 167
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -601,72 +601,74 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static const flex_int16_t yy_accept[590] =
+static const flex_int16_t yy_accept[592] =
{ 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 166, 2, 2, 164, 164, 163, 162, 164,
- 141, 137, 140, 137, 137, 160, 133, 130, 134, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 138, 4, 5, 5, 3, 156,
- 156, 153, 157, 157, 151, 158, 158, 155, 1, 163,
- 131, 161, 160, 160, 160, 0, 135, 132, 136, 159,
- 159, 159, 159, 10, 159, 159, 159, 23, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 139,
-
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 59, 68, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 82, 83, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 114, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 4, 5, 3, 156, 152, 157,
- 150, 150, 142, 144, 145, 146, 147, 148, 149, 150,
- 158, 154, 161, 160, 0, 160, 6, 7, 159, 9,
- 11, 159, 159, 15, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 34, 159, 159, 159, 159,
-
- 159, 159, 159, 159, 44, 159, 159, 159, 159, 159,
- 159, 51, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 63, 159, 70, 159, 159, 159, 159, 159, 159,
- 159, 78, 159, 81, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 99, 159, 159,
- 104, 105, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 142,
- 144, 143, 159, 159, 159, 159, 159, 159, 159, 20,
- 21, 24, 159, 159, 159, 29, 159, 159, 159, 32,
- 159, 159, 159, 38, 159, 159, 42, 43, 159, 159,
-
- 159, 159, 159, 159, 159, 53, 54, 159, 56, 159,
- 58, 159, 159, 159, 159, 67, 69, 71, 72, 73,
- 159, 75, 159, 159, 79, 159, 159, 86, 159, 159,
- 159, 159, 159, 93, 159, 95, 159, 159, 159, 101,
- 159, 159, 159, 159, 159, 159, 159, 159, 111, 112,
- 115, 159, 159, 159, 159, 159, 159, 159, 159, 124,
- 159, 159, 127, 128, 142, 143, 8, 159, 159, 159,
- 159, 159, 159, 159, 26, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 47,
- 48, 49, 159, 159, 55, 159, 60, 61, 159, 159,
-
- 159, 74, 159, 77, 80, 84, 85, 159, 159, 159,
- 159, 159, 94, 159, 159, 98, 159, 159, 159, 159,
- 159, 159, 159, 110, 159, 159, 159, 118, 159, 159,
- 121, 159, 159, 125, 159, 159, 159, 159, 14, 159,
- 159, 159, 159, 159, 27, 159, 30, 159, 159, 159,
- 159, 159, 37, 159, 159, 41, 45, 159, 159, 159,
- 57, 62, 159, 159, 159, 76, 159, 159, 159, 159,
- 159, 159, 97, 159, 102, 103, 159, 107, 108, 159,
- 159, 159, 159, 119, 120, 122, 159, 126, 159, 159,
- 13, 159, 159, 159, 159, 159, 159, 22, 31, 159,
-
- 35, 36, 159, 159, 46, 159, 52, 64, 159, 159,
- 159, 89, 159, 91, 159, 159, 159, 159, 159, 159,
- 159, 159, 123, 159, 159, 159, 159, 159, 159, 159,
- 159, 33, 159, 40, 159, 159, 66, 159, 159, 92,
- 159, 159, 106, 159, 159, 159, 159, 159, 12, 159,
- 159, 159, 159, 25, 159, 159, 50, 65, 87, 90,
- 159, 159, 109, 113, 159, 117, 129, 16, 159, 159,
- 159, 28, 39, 88, 96, 159, 159, 159, 18, 19,
- 159, 116, 159, 159, 159, 100, 159, 17, 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
+
} ;
static const YY_CHAR yy_ec[256] =
@@ -713,311 +715,311 @@ static const YY_CHAR yy_meta[72] =
8
} ;
-static const flex_int16_t yy_base[605] =
+static const flex_int16_t yy_base[607] =
{ 0,
0, 1, 46, 0, 117, 162, 2, 3, 127, 128,
- 6, 10, 147, 1317, 1317, 0, 1317, 13, 1317, 130,
- 1317, 1317, 1317, 129, 6, 129, 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, 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
+ 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
} ;
-static const flex_int16_t yy_def[605] =
+static const flex_int16_t yy_def[607] =
{ 0,
- 590, 590, 589, 3, 591, 591, 592, 592, 593, 593,
- 594, 594, 589, 589, 589, 595, 589, 589, 589, 589,
- 589, 589, 589, 589, 589, 589, 589, 589, 589, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 589, 589, 589, 589, 597, 598,
- 598, 589, 599, 599, 600, 601, 601, 589, 595, 589,
- 589, 602, 589, 589, 589, 589, 589, 589, 589, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 589,
-
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 589, 589, 597, 598, 589, 599,
- 589, 589, 589, 589, 589, 589, 589, 589, 589, 603,
- 601, 589, 602, 589, 589, 589, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
-
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 589,
- 589, 604, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
-
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 589, 589, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
-
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
-
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 0, 589,
- 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
-
- 589, 589, 589, 589
+ 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
} ;
static const flex_int16_t yy_nxt[1389] =
{ 0,
- 589, 155, 15, 15, 61, 61, 156, 156, 67, 62,
- 62, 68, 67, 172, 70, 68, 70, 73, 73, 77,
- 78, 156, 156, 70, 159, 70, 175, 175, 155, 176,
- 176, 156, 156, 270, 271, 271, 271, 176, 176, 176,
- 176, 365, 271, 79, 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,
- 47, 48, 49, 50, 51, 52, 53, 54, 53, 55,
- 17, 17, 30, 31, 32, 33, 34, 35, 36, 37,
-
+ 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,
+ 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,
- 48, 49, 50, 51, 52, 53, 54, 17, 56, 57,
- 58, 17, 17, 17, 17, 17, 110, 115, 116, 64,
- 64, 17, 17, 17, 62, 62, 271, 271, 72, 74,
- 75, 75, 271, 271, 81, 71, 589, 589, 589, 589,
- 76, 589, 82, 589, 83, 110, 115, 116, 589, 84,
- 17, 17, 17, 56, 57, 58, 17, 17, 17, 17,
- 17, 65, 65, 81, 100, 111, 17, 17, 17, 76,
- 85, 82, 95, 83, 86, 121, 96, 87, 84, 112,
- 97, 122, 133, 113, 589, 101, 98, 102, 114, 99,
-
- 88, 589, 589, 151, 111, 17, 17, 103, 589, 85,
- 589, 95, 589, 86, 121, 96, 87, 123, 112, 97,
- 122, 133, 113, 124, 101, 98, 102, 114, 99, 88,
- 89, 117, 151, 152, 153, 118, 103, 90, 130, 119,
- 154, 125, 131, 177, 91, 120, 123, 92, 93, 126,
- 94, 589, 124, 127, 180, 132, 128, 129, 589, 89,
- 117, 181, 152, 153, 118, 589, 90, 130, 119, 154,
- 125, 131, 177, 91, 120, 589, 92, 93, 126, 94,
- 104, 589, 127, 180, 132, 128, 129, 148, 105, 149,
- 181, 106, 150, 178, 107, 138, 182, 108, 134, 589,
-
- 109, 179, 135, 139, 73, 73, 136, 589, 589, 104,
- 140, 141, 137, 589, 76, 183, 148, 105, 149, 185,
- 106, 150, 178, 107, 138, 182, 108, 134, 184, 109,
- 179, 135, 139, 589, 186, 136, 174, 174, 589, 140,
- 141, 137, 142, 76, 183, 192, 76, 187, 185, 143,
- 144, 188, 193, 74, 75, 75, 145, 184, 194, 146,
- 201, 195, 147, 186, 76, 189, 196, 190, 202, 191,
- 589, 142, 589, 589, 192, 76, 187, 203, 143, 144,
- 188, 193, 589, 204, 205, 145, 589, 194, 146, 201,
- 195, 147, 162, 76, 189, 196, 190, 202, 191, 197,
-
- 163, 164, 198, 206, 208, 209, 203, 165, 199, 210,
- 211, 166, 204, 205, 207, 200, 212, 213, 214, 167,
- 215, 216, 218, 168, 217, 169, 589, 223, 197, 170,
- 224, 198, 206, 208, 209, 225, 165, 199, 210, 211,
- 166, 589, 589, 207, 200, 212, 213, 214, 167, 215,
- 216, 218, 168, 217, 169, 219, 223, 226, 170, 224,
- 227, 229, 228, 230, 225, 220, 231, 232, 233, 234,
- 221, 222, 235, 236, 237, 238, 239, 240, 242, 243,
- 247, 241, 244, 248, 219, 252, 226, 245, 246, 227,
- 229, 228, 230, 589, 220, 231, 232, 233, 234, 221,
-
- 222, 235, 236, 237, 238, 239, 240, 242, 243, 247,
- 241, 244, 248, 249, 252, 253, 245, 246, 254, 255,
- 256, 257, 250, 258, 259, 260, 262, 263, 264, 266,
- 251, 267, 261, 269, 265, 174, 174, 268, 273, 274,
- 275, 276, 249, 277, 253, 76, 282, 254, 255, 256,
- 257, 250, 258, 259, 260, 262, 263, 264, 266, 251,
- 267, 261, 269, 265, 278, 280, 268, 273, 274, 275,
- 276, 283, 277, 284, 76, 282, 279, 285, 286, 287,
- 281, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, 278, 280, 300, 301, 302, 303, 304,
-
- 283, 305, 284, 306, 307, 279, 285, 286, 287, 281,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
- 298, 299, 308, 309, 300, 301, 302, 303, 304, 310,
- 305, 311, 306, 307, 312, 313, 314, 315, 317, 318,
- 319, 320, 321, 322, 323, 324, 325, 316, 326, 327,
- 328, 308, 309, 329, 330, 331, 334, 332, 310, 333,
- 311, 335, 336, 312, 313, 314, 315, 317, 318, 319,
- 320, 321, 322, 323, 324, 325, 316, 326, 327, 328,
- 337, 338, 329, 330, 331, 334, 332, 339, 333, 340,
- 335, 336, 342, 343, 344, 345, 347, 348, 349, 341,
-
- 350, 351, 352, 353, 354, 346, 355, 356, 357, 337,
- 338, 358, 359, 360, 362, 363, 339, 361, 340, 364,
- 367, 342, 343, 344, 345, 347, 348, 349, 368, 350,
- 351, 352, 353, 354, 346, 355, 356, 357, 369, 370,
- 358, 359, 360, 362, 363, 371, 361, 372, 364, 367,
- 373, 374, 375, 376, 377, 378, 379, 368, 380, 381,
- 382, 383, 384, 385, 386, 387, 388, 369, 370, 389,
- 390, 391, 392, 393, 371, 394, 372, 395, 396, 373,
- 374, 375, 376, 377, 378, 379, 397, 380, 381, 382,
- 383, 384, 385, 386, 387, 388, 398, 399, 389, 390,
-
- 391, 392, 393, 400, 394, 402, 395, 396, 403, 404,
- 405, 406, 407, 408, 401, 397, 409, 410, 411, 412,
- 413, 414, 415, 416, 417, 398, 399, 418, 419, 420,
- 421, 422, 400, 423, 402, 424, 425, 403, 404, 405,
- 406, 407, 408, 401, 426, 409, 410, 411, 412, 413,
- 414, 415, 416, 417, 427, 428, 418, 419, 420, 421,
- 422, 429, 423, 430, 424, 425, 431, 432, 433, 434,
- 435, 436, 437, 426, 438, 439, 440, 441, 443, 444,
- 442, 445, 446, 427, 428, 447, 448, 449, 450, 451,
- 429, 452, 430, 453, 454, 431, 432, 433, 434, 435,
-
- 436, 437, 455, 438, 439, 440, 441, 443, 444, 442,
- 445, 446, 456, 457, 447, 448, 449, 450, 451, 458,
- 452, 459, 453, 454, 460, 461, 462, 463, 466, 464,
- 467, 455, 465, 468, 469, 470, 471, 472, 473, 474,
- 475, 456, 457, 476, 477, 478, 479, 480, 458, 481,
- 459, 482, 483, 460, 461, 462, 463, 466, 464, 467,
- 484, 465, 468, 469, 470, 471, 472, 473, 474, 475,
- 485, 486, 476, 477, 478, 479, 480, 487, 481, 488,
- 482, 483, 489, 490, 491, 492, 493, 494, 495, 484,
- 496, 497, 498, 499, 500, 501, 502, 503, 504, 485,
-
- 486, 505, 506, 507, 508, 509, 487, 510, 488, 511,
- 512, 489, 490, 491, 492, 493, 494, 495, 513, 496,
- 497, 498, 499, 500, 501, 502, 503, 504, 514, 515,
- 505, 506, 507, 508, 509, 516, 510, 517, 511, 512,
- 518, 519, 520, 521, 522, 523, 524, 513, 525, 526,
- 527, 528, 529, 530, 531, 532, 533, 514, 515, 534,
- 535, 536, 537, 538, 516, 539, 517, 540, 541, 518,
- 519, 520, 521, 522, 523, 524, 542, 525, 526, 527,
- 528, 529, 530, 531, 532, 533, 543, 544, 534, 535,
- 536, 537, 538, 545, 539, 546, 540, 541, 547, 548,
-
- 549, 550, 551, 552, 553, 542, 554, 555, 556, 557,
- 558, 559, 560, 561, 562, 543, 544, 563, 564, 565,
- 566, 567, 545, 568, 546, 569, 570, 547, 548, 549,
- 550, 551, 552, 553, 571, 554, 555, 556, 557, 558,
- 559, 560, 561, 562, 572, 573, 563, 564, 565, 566,
- 567, 574, 568, 575, 569, 570, 576, 577, 578, 579,
- 580, 581, 582, 571, 583, 584, 585, 586, 587, 588,
- 589, 589, 589, 572, 573, 589, 589, 589, 589, 589,
- 574, 589, 575, 589, 589, 576, 577, 578, 579, 580,
- 581, 582, 589, 583, 584, 585, 586, 587, 588, 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, 589, 80, 157, 157, 157, 157,
- 589, 157, 158, 158, 158, 589, 158, 158, 158, 158,
- 158, 158, 160, 160, 160, 589, 160, 160, 160, 160,
- 589, 160, 161, 161, 161, 161, 161, 161, 161, 161,
- 161, 161, 171, 171, 589, 171, 171, 171, 171, 171,
-
- 171, 171, 173, 589, 173, 173, 173, 173, 173, 173,
- 173, 173, 272, 272, 366, 366, 13, 589, 589, 589,
- 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
- 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
- 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
- 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
- 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
- 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
- 589, 589, 589, 589, 589, 589, 589, 589
+ 48, 49, 50, 51, 52, 53, 54, 55, 54, 56,
+ 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
} ;
static const flex_int16_t yy_chk[1389] =
{ 0,
- 0, 155, 1, 2, 7, 8, 57, 57, 11, 7,
- 8, 11, 12, 68, 18, 12, 18, 25, 25, 27,
- 27, 58, 58, 70, 62, 70, 76, 76, 56, 76,
- 76, 156, 156, 163, 163, 164, 164, 175, 175, 176,
- 176, 270, 270, 29, 1, 2, 3, 3, 3, 3,
+ 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,
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,
@@ -1026,149 +1028,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, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 36, 39, 40, 9,
- 10, 5, 5, 5, 9, 10, 271, 271, 24, 26,
- 26, 26, 365, 365, 30, 20, 13, 0, 0, 0,
- 26, 0, 30, 0, 30, 36, 39, 40, 0, 30,
+ 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,
5, 5, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 9, 10, 30, 34, 37, 6, 6, 6, 26,
- 31, 30, 33, 30, 31, 42, 33, 31, 30, 37,
- 33, 42, 46, 38, 0, 34, 33, 34, 38, 33,
-
- 31, 0, 0, 51, 37, 6, 6, 34, 0, 31,
- 0, 33, 0, 31, 42, 33, 31, 43, 37, 33,
- 42, 46, 38, 43, 34, 33, 34, 38, 33, 31,
- 32, 41, 51, 52, 52, 41, 34, 32, 45, 41,
- 54, 44, 45, 81, 32, 41, 43, 32, 32, 44,
- 32, 0, 43, 44, 83, 45, 44, 44, 0, 32,
- 41, 84, 52, 52, 41, 0, 32, 45, 41, 54,
- 44, 45, 81, 32, 41, 0, 32, 32, 44, 32,
- 35, 0, 44, 83, 45, 44, 44, 50, 35, 50,
- 84, 35, 50, 82, 35, 48, 85, 35, 47, 0,
-
- 35, 82, 47, 48, 73, 73, 47, 0, 0, 35,
- 48, 48, 47, 0, 73, 86, 50, 35, 50, 87,
- 35, 50, 82, 35, 48, 85, 35, 47, 86, 35,
- 82, 47, 48, 0, 89, 47, 74, 74, 0, 48,
- 48, 47, 49, 73, 86, 92, 74, 90, 87, 49,
- 49, 90, 93, 75, 75, 75, 49, 86, 94, 49,
- 97, 95, 49, 89, 75, 91, 95, 91, 98, 91,
- 0, 49, 0, 0, 92, 74, 90, 99, 49, 49,
- 90, 93, 0, 101, 102, 49, 0, 94, 49, 97,
- 95, 49, 65, 75, 91, 95, 91, 98, 91, 96,
-
- 65, 65, 96, 103, 104, 105, 99, 65, 96, 106,
- 107, 65, 101, 102, 103, 96, 107, 108, 109, 65,
- 110, 111, 112, 65, 111, 65, 0, 115, 96, 65,
- 116, 96, 103, 104, 105, 117, 65, 96, 106, 107,
- 65, 0, 0, 103, 96, 107, 108, 109, 65, 110,
- 111, 112, 65, 111, 65, 113, 115, 118, 65, 116,
- 119, 120, 119, 121, 117, 113, 122, 123, 124, 125,
- 113, 113, 127, 128, 129, 130, 131, 132, 133, 134,
- 136, 132, 135, 137, 113, 139, 118, 135, 135, 119,
- 120, 119, 121, 0, 113, 122, 123, 124, 125, 113,
-
- 113, 127, 128, 129, 130, 131, 132, 133, 134, 136,
- 132, 135, 137, 138, 139, 140, 135, 135, 141, 142,
- 143, 144, 138, 146, 147, 148, 149, 150, 151, 152,
- 138, 153, 148, 154, 151, 174, 174, 153, 179, 181,
- 182, 183, 138, 184, 140, 174, 187, 141, 142, 143,
- 144, 138, 146, 147, 148, 149, 150, 151, 152, 138,
- 153, 148, 154, 151, 185, 186, 153, 179, 181, 182,
- 183, 188, 184, 189, 174, 187, 185, 190, 191, 192,
- 186, 193, 194, 195, 197, 198, 199, 200, 201, 202,
- 203, 204, 206, 185, 186, 207, 208, 209, 210, 211,
-
- 188, 212, 189, 213, 214, 185, 190, 191, 192, 186,
- 193, 194, 195, 197, 198, 199, 200, 201, 202, 203,
- 204, 206, 215, 216, 207, 208, 209, 210, 211, 217,
- 212, 218, 213, 214, 219, 220, 221, 222, 223, 225,
- 226, 227, 228, 229, 230, 231, 233, 222, 235, 236,
- 237, 215, 216, 238, 239, 240, 242, 241, 217, 241,
- 218, 243, 244, 219, 220, 221, 222, 223, 225, 226,
- 227, 228, 229, 230, 231, 233, 222, 235, 236, 237,
- 245, 246, 238, 239, 240, 242, 241, 247, 241, 248,
- 243, 244, 249, 250, 252, 253, 254, 255, 256, 248,
-
- 257, 258, 259, 260, 261, 253, 261, 262, 263, 245,
- 246, 264, 265, 266, 267, 268, 247, 266, 248, 269,
- 273, 249, 250, 252, 253, 254, 255, 256, 274, 257,
- 258, 259, 260, 261, 253, 261, 262, 263, 275, 276,
- 264, 265, 266, 267, 268, 277, 266, 278, 269, 273,
- 279, 282, 283, 284, 285, 287, 288, 274, 289, 290,
- 291, 292, 293, 294, 295, 296, 299, 275, 276, 300,
- 301, 302, 303, 304, 277, 305, 278, 308, 310, 279,
- 282, 283, 284, 285, 287, 288, 312, 289, 290, 291,
- 292, 293, 294, 295, 296, 299, 313, 314, 300, 301,
-
- 302, 303, 304, 315, 305, 321, 308, 310, 323, 324,
- 325, 326, 327, 329, 315, 312, 330, 331, 332, 333,
- 335, 337, 338, 339, 341, 313, 314, 342, 343, 344,
- 345, 346, 315, 347, 321, 348, 350, 323, 324, 325,
- 326, 327, 329, 315, 352, 330, 331, 332, 333, 335,
- 337, 338, 339, 341, 353, 354, 342, 343, 344, 345,
- 346, 355, 347, 356, 348, 350, 357, 358, 359, 361,
- 362, 364, 368, 352, 369, 370, 371, 372, 373, 374,
- 372, 376, 377, 353, 354, 378, 379, 380, 381, 382,
- 355, 383, 356, 384, 385, 357, 358, 359, 361, 362,
-
- 364, 368, 386, 369, 370, 371, 372, 373, 374, 372,
- 376, 377, 387, 388, 378, 379, 380, 381, 382, 389,
- 383, 393, 384, 385, 394, 396, 399, 400, 403, 401,
- 408, 386, 401, 409, 410, 411, 412, 414, 415, 417,
- 418, 387, 388, 419, 420, 421, 422, 423, 389, 425,
- 393, 426, 427, 394, 396, 399, 400, 403, 401, 408,
- 429, 401, 409, 410, 411, 412, 414, 415, 417, 418,
- 430, 432, 419, 420, 421, 422, 423, 433, 425, 435,
- 426, 427, 436, 437, 438, 440, 441, 442, 443, 429,
- 444, 446, 448, 449, 450, 451, 452, 454, 455, 430,
-
- 432, 458, 459, 460, 463, 464, 433, 465, 435, 467,
- 468, 436, 437, 438, 440, 441, 442, 443, 469, 444,
- 446, 448, 449, 450, 451, 452, 454, 455, 470, 471,
- 458, 459, 460, 463, 464, 472, 465, 474, 467, 468,
- 477, 480, 481, 482, 483, 487, 489, 469, 490, 492,
- 493, 494, 495, 496, 497, 500, 503, 470, 471, 504,
- 506, 509, 510, 511, 472, 513, 474, 515, 516, 477,
- 480, 481, 482, 483, 487, 489, 517, 490, 492, 493,
- 494, 495, 496, 497, 500, 503, 518, 519, 504, 506,
- 509, 510, 511, 520, 513, 521, 515, 516, 522, 524,
-
- 525, 526, 527, 528, 529, 517, 530, 531, 533, 535,
- 536, 538, 539, 541, 542, 518, 519, 544, 545, 546,
- 547, 548, 520, 550, 521, 551, 552, 522, 524, 525,
- 526, 527, 528, 529, 553, 530, 531, 533, 535, 536,
- 538, 539, 541, 542, 555, 556, 544, 545, 546, 547,
- 548, 559, 550, 561, 551, 552, 562, 565, 569, 570,
- 571, 576, 577, 553, 578, 581, 583, 584, 585, 587,
- 0, 0, 0, 555, 556, 0, 0, 0, 0, 0,
- 559, 0, 561, 0, 0, 562, 565, 569, 570, 571,
- 576, 577, 0, 578, 581, 583, 584, 585, 587, 590,
-
- 590, 590, 590, 590, 590, 590, 590, 590, 590, 591,
- 591, 591, 591, 591, 591, 591, 591, 591, 591, 592,
+ 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, 596, 596, 596, 0, 596, 597, 597, 597, 597,
- 0, 597, 598, 598, 598, 0, 598, 598, 598, 598,
- 598, 598, 599, 599, 599, 0, 599, 599, 599, 599,
- 0, 599, 600, 600, 600, 600, 600, 600, 600, 600,
- 600, 600, 601, 601, 0, 601, 601, 601, 601, 601,
-
- 601, 601, 602, 0, 602, 602, 602, 602, 602, 602,
- 602, 602, 603, 603, 604, 604, 589, 589, 589, 589,
- 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
- 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
- 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
- 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
- 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
- 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
- 589, 589, 589, 589, 589, 589, 589, 589
+ 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
} ;
/* Table of booleans, true if rule could match eol. */
-static const flex_int32_t yy_rule_can_match_eol[166] =
+static const flex_int32_t yy_rule_can_match_eol[167] =
{ 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,
@@ -1177,8 +1179,8 @@ static const flex_int32_t yy_rule_can_match_eol[166] =
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, 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.
@@ -1289,14 +1291,14 @@ class UnaryOperation;
yycolumn += yyleng; \
}
-#line 1292 "SqlLexer_gen.cpp"
+#line 1294 "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 1299 "SqlLexer_gen.cpp"
+#line 1301 "SqlLexer_gen.cpp"
#define INITIAL 0
#define CONDITION_SQL 1
@@ -1586,7 +1588,7 @@ YY_DECL
#line 132 "../SqlLexer.lpp"
-#line 1589 "SqlLexer_gen.cpp"
+#line 1591 "SqlLexer_gen.cpp"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
@@ -1613,13 +1615,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 >= 590 )
+ if ( yy_current_state >= 592 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
- while ( yy_current_state != 589 );
+ while ( yy_current_state != 591 );
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
@@ -2362,37 +2364,42 @@ return TOKEN_GEQ;
YY_BREAK
case 137:
YY_RULE_SETUP
-#line 305 "../SqlLexer.lpp"
-return yytext[0];
+#line 304 "../SqlLexer.lpp"
+return TOKEN_DOUBLECOLON;
YY_BREAK
case 138:
YY_RULE_SETUP
#line 306 "../SqlLexer.lpp"
return yytext[0];
YY_BREAK
+case 139:
+YY_RULE_SETUP
+#line 307 "../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 139:
+case 140:
YY_RULE_SETUP
-#line 312 "../SqlLexer.lpp"
+#line 313 "../SqlLexer.lpp"
{
yylval->string_value_ = new quickstep::ParseString(yylloc->first_line, yylloc->first_column);
BEGIN(CONDITION_STRING_SINGLE_QUOTED_ESCAPED);
}
YY_BREAK
-case 140:
+case 141:
YY_RULE_SETUP
-#line 317 "../SqlLexer.lpp"
+#line 318 "../SqlLexer.lpp"
{
yylval->string_value_ = new quickstep::ParseString(yylloc->first_line, yylloc->first_column);
BEGIN(CONDITION_STRING_SINGLE_QUOTED);
}
YY_BREAK
-case 141:
+case 142:
YY_RULE_SETUP
-#line 322 "../SqlLexer.lpp"
+#line 323 "../SqlLexer.lpp"
{
yylval->string_value_ = new quickstep::ParseString(yylloc->first_line, yylloc->first_column);
BEGIN(CONDITION_STRING_DOUBLE_QUOTED);
@@ -2404,7 +2411,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 331 "../SqlLexer.lpp"
+#line 332 "../SqlLexer.lpp"
{
delete yylval->string_value_;
BEGIN(INITIAL);
@@ -2415,9 +2422,9 @@ case YY_STATE_EOF(CONDITION_STRING_DOUBLE_QUOTED):
/* Process escape sequences. */
-case 142:
+case 143:
YY_RULE_SETUP
-#line 341 "../SqlLexer.lpp"
+#line 342 "../SqlLexer.lpp"
{
/* Octal code */
unsigned int code;
@@ -2431,9 +2438,9 @@ YY_RULE_SETUP
yylval->string_value_->push_back(code);
}
YY_BREAK
-case 143:
+case 144:
YY_RULE_SETUP
-#line 353 "../SqlLexer.lpp"
+#line 354 "../SqlLexer.lpp"
{
/* Hexadecimal code */
unsigned int code;
@@ -2441,9 +2448,9 @@ YY_RULE_SETUP
yylval->string_value_->push_back(code);
}
YY_BREAK
-case 144:
+case 145:
YY_RULE_SETUP
-#line 359 "../SqlLexer.lpp"
+#line 360 "../SqlLexer.lpp"
{
/* A numeric escape sequence that isn't correctly specified. */
delete yylval->string_value_;
@@ -2452,58 +2459,58 @@ YY_RULE_SETUP
return TOKEN_LEX_ERROR;
}
YY_BREAK
-case 145:
+case 146:
YY_RULE_SETUP
-#line 366 "../SqlLexer.lpp"
+#line 367 "../SqlLexer.lpp"
{
/* Backspace */
yylval->string_value_->push_back('\b');
}
YY_BREAK
-case 146:
+case 147:
YY_RULE_SETUP
-#line 370 "../SqlLexer.lpp"
+#line 371 "../SqlLexer.lpp"
{
/* Form-feed */
yylval->string_value_->push_back('\f');
}
YY_BREAK
-case 147:
+case 148:
YY_RULE_SETUP
-#line 374 "../SqlLexer.lpp"
+#line 375 "../SqlLexer.lpp"
{
/* Newline */
yylval->string_value_->push_back('\n');
}
YY_BREAK
-case 148:
+case 149:
YY_RULE_SETUP
-#line 378 "../SqlLexer.lpp"
+#line 379 "../SqlLexer.lpp"
{
/* Carriage-return */
yylval->string_value_->push_back('\r');
}
YY_BREAK
-case 149:
+case 150:
YY_RULE_SETUP
-#line 382 "../SqlLexer.lpp"
+#line 383 "../SqlLexer.lpp"
{
/* Horizontal Tab */
yylval->string_value_->push_back('\t');
}
YY_BREAK
-case 150:
-/* rule 150 can match eol */
+case 151:
+/* rule 151 can match eol */
YY_RULE_SETUP
-#line 386 "../SqlLexer.lpp"
+#line 387 "../SqlLexer.lpp"
{
/* Any other character (including actual newline or carriage return) */
yylval->string_value_->push_back(yytext[1]);
}
YY_BREAK
-case 151:
+case 152:
YY_RULE_SETUP
-#line 390 "../SqlLexer.lpp"
+#line 391 "../SqlLexer.lpp"
{
/* This should only be encountered right before an EOF. */
delete yylval->string_value_;
@@ -2514,17 +2521,17 @@ YY_RULE_SETUP
YY_BREAK
-case 152:
+case 153:
YY_RULE_SETUP
-#line 400 "../SqlLexer.lpp"
+#line 401 "../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 153:
+case 154:
YY_RULE_SETUP
-#line 404 "../SqlLexer.lpp"
+#line 405 "../SqlLexer.lpp"
{
/* End string */
BEGIN(CONDITION_SQL);
@@ -2533,17 +2540,17 @@ YY_RULE_SETUP
YY_BREAK
-case 154:
+case 155:
YY_RULE_SETUP
-#line 412 "../SqlLexer.lpp"
+#line 413 "../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 155:
+case 156:
YY_RULE_SETUP
-#line 416 "../SqlLexer.lpp"
+#line 417 "../SqlLexer.lpp"
{
/* End string */
BEGIN(CONDITION_SQL);
@@ -2551,94 +2558,94 @@ YY_RULE_SETUP
}
YY_BREAK
-case 156:
-/* rule 156 can match eol */
+case 157:
+/* rule 157 can match eol */
YY_RULE_SETUP
-#line 423 "../SqlLexer.lpp"
+#line 424 "../SqlLexer.lpp"
{
/* Scan up to a quote. */
yylval->string_value_->append(yytext, yyleng);
}
YY_BREAK
-case 157:
-/* rule 157 can match eol */
+case 158:
+/* rule 158 can match eol */
YY_RULE_SETUP
-#line 428 "../SqlLexer.lpp"
+#line 429 "../SqlLexer.lpp"
{
/* Scan up to a quote or escape sequence. */
yylval->string_value_->append(yytext, yyleng);
}
YY_BREAK
-case 158:
-/* rule 158 can match eol */
+case 159:
+/* rule 159 can match eol */
YY_RULE_SETUP
-#line 433 "../SqlLexer.lpp"
+#line 434 "../SqlLexer.lpp"
{
/* Scan up to a quote. */
yylval->string_value_->append(yytext, yyleng);
}
YY_BREAK
-case 159:
+case 160:
YY_RULE_SETUP
-#line 439 "../SqlLexer.lpp"
+#line 440 "../SqlLexer.lpp"
{
yylval->string_value_ = new quickstep::ParseString(
yylloc->first_line, yylloc->first_column, std::string(yytext, yyleng));
return TOKEN_NAME;
}
YY_BREAK
-case 160:
+case 161:
YY_RULE_SETUP
-#line 445 "../SqlLexer.lpp"
+#line 446 "../SqlLexer.lpp"
{
yylval->numeric_literal_value_ = new quickstep::NumericParseLiteralValue(
yylloc->first_line, yylloc->first_column, yytext);
return TOKEN_UNSIGNED_NUMVAL;
}
YY_BREAK
-case 161:
+case 162:
YY_RULE_SETUP
-#line 451 "../SqlLexer.lpp"
+#line 452 "../SqlLexer.lpp"
/* comment */
YY_BREAK
-case 162:
-/* rule 162 can match eol */
+case 163:
+/* rule 163 can match eol */
YY_RULE_SETUP
-#line 453 "../SqlLexer.lpp"
+#line 454 "../SqlLexer.lpp"
{ yycolumn = 0; }
YY_BREAK
-case 163:
+case 164:
YY_RULE_SETUP
-#line 455 "../SqlLexer.lpp"
+#line 456 "../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 459 "../SqlLexer.lpp"
+#line 460 "../SqlLexer.lpp"
{
/* All conditions except for mutli-state string extracting conditions. */
BEGIN(INITIAL);
return TOKEN_EOF;
}
YY_BREAK
-case 164:
+case 165:
YY_RULE_SETUP
-#line 465 "../SqlLexer.lpp"
+#line 466 "../SqlLexer.lpp"
{
BEGIN(INITIAL);
quickstep_yyerror(NULL, yyscanner, NULL, "illegal character");
return TOKEN_LEX_ERROR;
}
YY_BREAK
-case 165:
+case 166:
YY_RULE_SETUP
-#line 471 "../SqlLexer.lpp"
+#line 472 "../SqlLexer.lpp"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
-#line 2641 "SqlLexer_gen.cpp"
+#line 2648 "SqlLexer_gen.cpp"
case YY_END_OF_BUFFER:
{
@@ -2936,7 +2943,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 >= 590 )
+ if ( yy_current_state >= 592 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
@@ -2965,11 +2972,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 >= 590 )
+ if ( yy_current_state >= 592 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- yy_is_jam = (yy_current_state == 589);
+ yy_is_jam = (yy_current_state == 591);
(void)yyg;
return yy_is_jam ? 0 : yy_current_state;
@@ -3799,6 +3806,6 @@ void yyfree (void * ptr , yyscan_t yyscanner)
#define YYTABLES_NAME "yytables"
-#line 471 "../SqlLexer.lpp"
+#line 472 "../SqlLexer.lpp"
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/98a8e611/parser/preprocessed/SqlLexer_gen.hpp
----------------------------------------------------------------------
diff --git a/parser/preprocessed/SqlLexer_gen.hpp b/parser/preprocessed/SqlLexer_gen.hpp
index 479b72d..9990de6 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 471 "../SqlLexer.lpp"
+#line 472 "../SqlLexer.lpp"
#line 739 "SqlLexer_gen.hpp"