You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@quickstep.apache.org by zu...@apache.org on 2016/05/30 22:47:14 UTC
[06/32] incubator-quickstep git commit: Added support for the
substring function. (#211)
Added support for the substring function. (#211)
Project: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/commit/767b2ef1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/tree/767b2ef1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/diff/767b2ef1
Branch: refs/heads/master
Commit: 767b2ef1a9ea570c8d51808559c800c01e0a385e
Parents: 6c9108a
Author: Jianqiao Zhu <ji...@cs.wisc.edu>
Authored: Thu May 5 11:17:37 2016 -0500
Committer: Zuyu Zhang <zz...@pivotal.io>
Committed: Mon May 30 15:46:31 2016 -0700
----------------------------------------------------------------------
parser/ParseBasicExpressions.cpp | 31 +
parser/ParseBasicExpressions.hpp | 77 +
parser/ParseExpression.hpp | 1 +
parser/SqlLexer.lpp | 2 +
parser/SqlParser.ypp | 16 +
parser/preprocessed/SqlLexer_gen.cpp | 1173 +++----
parser/preprocessed/SqlLexer_gen.hpp | 2 +-
parser/preprocessed/SqlParser_gen.cpp | 2920 +++++++++---------
parser/preprocessed/SqlParser_gen.hpp | 126 +-
query_optimizer/resolver/CMakeLists.txt | 1 +
query_optimizer/resolver/Resolver.cpp | 32 +
.../tests/execution_generator/Select.test | 24 +
query_optimizer/tests/resolver/Select.test | 78 +
types/operations/Operation.proto | 9 +
.../operations/unary_operations/CMakeLists.txt | 22 +
.../unary_operations/SubstringOperation.cpp | 214 ++
.../unary_operations/SubstringOperation.hpp | 234 ++
.../unary_operations/UnaryOperation.cpp | 4 +
.../unary_operations/UnaryOperationFactory.cpp | 12 +
.../unary_operations/UnaryOperationID.cpp | 6 +-
.../unary_operations/UnaryOperationID.hpp | 3 +
21 files changed, 2905 insertions(+), 2082 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/767b2ef1/parser/ParseBasicExpressions.cpp
----------------------------------------------------------------------
diff --git a/parser/ParseBasicExpressions.cpp b/parser/ParseBasicExpressions.cpp
index 2b1d7e0..a9d84ea 100644
--- a/parser/ParseBasicExpressions.cpp
+++ b/parser/ParseBasicExpressions.cpp
@@ -189,4 +189,35 @@ void ParseExtractFunction::getFieldStringItems(
non_container_child_fields->push_back(date_expression_.get());
}
+std::string ParseSubstringFunction::generateName() const {
+ std::string name;
+ name.append("SUBSTRING(");
+ name.append(operand_->generateName());
+ name.append(" FROM ");
+ name.append(std::to_string(start_position_));
+ if (length_ != kDefaultLength) {
+ name.append(" FOR ");
+ name.append(std::to_string(length_));
+ }
+ name.push_back(')');
+ return name;
+}
+
+void ParseSubstringFunction::getFieldStringItems(
+ std::vector<std::string> *inline_field_names,
+ std::vector<std::string> *inline_field_values,
+ std::vector<std::string> *non_container_child_field_names,
+ std::vector<const ParseTreeNode*> *non_container_child_fields,
+ std::vector<std::string> *container_child_field_names,
+ std::vector<std::vector<const ParseTreeNode*>> *container_child_fields) const {
+ inline_field_names->push_back("start_position");
+ inline_field_values->push_back(std::to_string(start_position_));
+
+ inline_field_names->push_back("length");
+ inline_field_values->push_back(std::to_string(length_));
+
+ non_container_child_field_names->push_back("operand");
+ non_container_child_fields->push_back(operand_.get());
+}
+
} // namespace quickstep
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/767b2ef1/parser/ParseBasicExpressions.hpp
----------------------------------------------------------------------
diff --git a/parser/ParseBasicExpressions.hpp b/parser/ParseBasicExpressions.hpp
index 1886c8b..dea25d7 100644
--- a/parser/ParseBasicExpressions.hpp
+++ b/parser/ParseBasicExpressions.hpp
@@ -20,6 +20,8 @@
#ifndef QUICKSTEP_PARSER_PARSE_BASIC_EXPRESSIONS_HPP_
#define QUICKSTEP_PARSER_PARSE_BASIC_EXPRESSIONS_HPP_
+#include <cstddef>
+#include <limits>
#include <memory>
#include <string>
#include <vector>
@@ -511,6 +513,81 @@ class ParseExtractFunction : public ParseExpression {
DISALLOW_COPY_AND_ASSIGN(ParseExtractFunction);
};
+
+/**
+ * @brief Parsed representation of the substring function.
+ */
+class ParseSubstringFunction : public ParseExpression {
+ public:
+ static constexpr std::size_t kDefaultLength = std::numeric_limits<std::size_t>::max();
+
+ /**
+ * @brief Constructor.
+ *
+ * @param line_number The line number of the first token of the function call.
+ * @param column_number The column number of the first token of the function call.
+ * @param operand The operand of the substring.
+ * @param start_position The 1-based starting position of the substring.
+ * @param length Optional substring length.
+ */
+ ParseSubstringFunction(const int line_number,
+ const int column_number,
+ ParseExpression *operand,
+ const std::size_t start_position,
+ const std::size_t length = kDefaultLength)
+ : ParseExpression(line_number, column_number),
+ operand_(operand),
+ start_position_(start_position),
+ length_(length) {}
+
+ ExpressionType getExpressionType() const override {
+ return kSubstring;
+ }
+
+ std::string getName() const override {
+ return "Substring";
+ }
+
+ /**
+ * @return The operand of the substring.
+ */
+ const ParseExpression* operand() const {
+ return operand_.get();
+ }
+
+ /**
+ * @return The 1-based starting position of the substring.
+ */
+ std::size_t start_position() const {
+ return start_position_;
+ }
+
+ /**
+ * @return Then substring length.
+ */
+ std::size_t length() const {
+ return length_;
+ }
+
+ std::string generateName() const override;
+
+ protected:
+ void getFieldStringItems(
+ std::vector<std::string> *inline_field_names,
+ std::vector<std::string> *inline_field_values,
+ std::vector<std::string> *non_container_child_field_names,
+ std::vector<const ParseTreeNode*> *non_container_child_fields,
+ std::vector<std::string> *container_child_field_names,
+ std::vector<std::vector<const ParseTreeNode*>> *container_child_fields) const override;
+
+ private:
+ std::unique_ptr<ParseExpression> operand_;
+ const std::size_t start_position_;
+ const std::size_t length_;
+
+ DISALLOW_COPY_AND_ASSIGN(ParseSubstringFunction);
+};
+
/** @} */
} // namespace quickstep
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/767b2ef1/parser/ParseExpression.hpp
----------------------------------------------------------------------
diff --git a/parser/ParseExpression.hpp b/parser/ParseExpression.hpp
index e959e72..3541f83 100644
--- a/parser/ParseExpression.hpp
+++ b/parser/ParseExpression.hpp
@@ -45,6 +45,7 @@ class ParseExpression : public ParseTreeNode {
kSearchedCaseExpression,
kSimpleCaseExpression,
kSubqueryExpression,
+ kSubstring,
kUnaryExpression,
};
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/767b2ef1/parser/SqlLexer.lpp
----------------------------------------------------------------------
diff --git a/parser/SqlLexer.lpp b/parser/SqlLexer.lpp
index a399723..ac1c708 100644
--- a/parser/SqlLexer.lpp
+++ b/parser/SqlLexer.lpp
@@ -209,6 +209,7 @@ unsigned_numeric_literal {exact_numeric_literal}|{approximate_numeric_literal}
"false" return TOKEN_FALSE;
"first" return TOKEN_FIRST;
"float" return TOKEN_FLOAT;
+ "for" return TOKEN_FOR;
"foreign" return TOKEN_FOREIGN;
"from" return TOKEN_FROM;
"full" return TOKEN_FULL;
@@ -258,6 +259,7 @@ unsigned_numeric_literal {exact_numeric_literal}|{approximate_numeric_literal}
"set" return TOKEN_SET;
"sma" return TOKEN_SMA;
"smallint" return TOKEN_SMALLINT;
+ "substring" return TOKEN_SUBSTRING;
"table" return TOKEN_TABLE;
"then" return TOKEN_THEN;
"time" return TOKEN_TIME;
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/767b2ef1/parser/SqlParser.ypp
----------------------------------------------------------------------
diff --git a/parser/SqlParser.ypp b/parser/SqlParser.ypp
index 1202d66..b07c48e 100644
--- a/parser/SqlParser.ypp
+++ b/parser/SqlParser.ypp
@@ -273,6 +273,7 @@ void NotSupported(const YYLTYPE *location, yyscan_t yyscanner, const std::string
%token TOKEN_FALSE;
%token TOKEN_FIRST;
%token TOKEN_FLOAT;
+%token TOKEN_FOR;
%token TOKEN_FOREIGN;
%token TOKEN_FROM;
%token TOKEN_FULL;
@@ -319,6 +320,7 @@ void NotSupported(const YYLTYPE *location, yyscan_t yyscanner, const std::string
%token TOKEN_SET;
%token TOKEN_SMA;
%token TOKEN_SMALLINT;
+%token TOKEN_SUBSTRING;
%token TOKEN_TABLE;
%token TOKEN_THEN;
%token TOKEN_TIME;
@@ -361,6 +363,7 @@ void NotSupported(const YYLTYPE *location, yyscan_t yyscanner, const std::string
case_expression
opt_else_clause
extract_function
+ substr_function
%type <attribute_>
attribute_ref
@@ -1505,6 +1508,9 @@ expression_base:
| extract_function {
$$ = $1;
}
+ | substr_function {
+ $$ = $1;
+ }
| case_expression {
$$ = $1;
}
@@ -1536,6 +1542,16 @@ extract_function:
$$ = new quickstep::ParseExtractFunction(@1.first_line, @1.first_column, $3, $5);
};
+substr_function:
+ TOKEN_SUBSTRING '(' add_expression TOKEN_FROM TOKEN_UNSIGNED_NUMVAL ')' {
+ $$ = new quickstep::ParseSubstringFunction(
+ @1.first_line, @1.first_column, $3, $5->long_value());
+ }
+ | TOKEN_SUBSTRING '(' add_expression TOKEN_FROM TOKEN_UNSIGNED_NUMVAL TOKEN_FOR TOKEN_UNSIGNED_NUMVAL ')' {
+ $$ = new quickstep::ParseSubstringFunction(
+ @1.first_line, @1.first_column, $3, $5->long_value(), $7->long_value());
+ };
+
case_expression:
TOKEN_CASE add_expression simple_when_clause_list opt_else_clause TOKEN_END {
$$ = new quickstep::ParseSimpleCaseExpression(@1.first_line, @1.first_column, $2, $3, $4);
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/767b2ef1/parser/preprocessed/SqlLexer_gen.cpp
----------------------------------------------------------------------
diff --git a/parser/preprocessed/SqlLexer_gen.cpp b/parser/preprocessed/SqlLexer_gen.cpp
index d836988..db20491 100644
--- a/parser/preprocessed/SqlLexer_gen.cpp
+++ b/parser/preprocessed/SqlLexer_gen.cpp
@@ -381,8 +381,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
*yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp;
-#define YY_NUM_RULES 150
-#define YY_END_OF_BUFFER 151
+#define YY_NUM_RULES 152
+#define YY_END_OF_BUFFER 153
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -390,68 +390,69 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[545] =
+static yyconst flex_int16_t yy_accept[553] =
{ 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 151, 2, 2, 149, 149, 148, 147, 149,
- 126, 122, 125, 122, 122, 145, 118, 115, 119, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 123, 4, 5, 5, 3, 141,
- 141, 138, 142, 142, 136, 143, 143, 140, 1, 148,
- 116, 146, 145, 145, 145, 0, 120, 117, 121, 144,
- 144, 144, 144, 10, 144, 144, 144, 22, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 124, 144,
-
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 57, 65, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 79, 80, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 4, 5, 3, 141, 137, 142, 135, 135, 127, 129,
- 130, 131, 132, 133, 134, 135, 143, 139, 146, 145,
- 0, 145, 6, 7, 144, 9, 11, 144, 144, 15,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 32, 144, 144, 144, 144, 144, 144, 144, 144, 43,
-
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 61, 144, 67, 144,
- 144, 144, 144, 144, 144, 144, 75, 144, 78, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 96, 97, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 127, 129,
- 128, 144, 144, 144, 144, 144, 144, 144, 20, 23,
- 144, 144, 144, 28, 144, 144, 30, 144, 144, 144,
- 144, 37, 144, 144, 41, 42, 144, 144, 144, 144,
- 144, 144, 144, 51, 52, 144, 54, 144, 56, 144,
-
- 144, 144, 144, 64, 66, 68, 69, 70, 144, 72,
- 144, 144, 76, 144, 144, 144, 144, 144, 87, 144,
- 89, 144, 144, 144, 144, 144, 144, 144, 144, 100,
- 101, 103, 144, 144, 144, 144, 144, 144, 110, 144,
- 112, 113, 127, 128, 8, 144, 144, 144, 144, 144,
- 144, 144, 25, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 47, 48,
- 49, 144, 53, 144, 58, 59, 144, 144, 144, 71,
- 144, 74, 77, 81, 82, 144, 144, 144, 88, 144,
- 144, 92, 144, 144, 144, 144, 99, 144, 144, 144,
-
- 144, 107, 144, 144, 111, 144, 144, 144, 14, 144,
- 144, 144, 144, 144, 26, 144, 29, 144, 144, 144,
- 144, 35, 144, 144, 144, 40, 144, 45, 144, 144,
- 55, 60, 144, 144, 73, 144, 144, 144, 144, 91,
- 144, 94, 95, 144, 144, 144, 105, 106, 108, 144,
- 144, 144, 13, 144, 144, 144, 144, 144, 144, 21,
- 144, 33, 34, 144, 144, 144, 144, 46, 50, 62,
- 144, 144, 85, 86, 144, 144, 144, 144, 144, 109,
- 144, 144, 144, 144, 144, 144, 144, 144, 31, 144,
- 144, 39, 144, 63, 144, 144, 144, 98, 144, 144,
-
- 144, 12, 144, 144, 144, 144, 24, 144, 36, 144,
- 144, 83, 144, 144, 102, 144, 114, 16, 144, 144,
- 144, 27, 38, 144, 84, 90, 144, 144, 144, 18,
- 19, 144, 144, 104, 144, 144, 144, 144, 144, 93,
- 144, 44, 17, 0
+ 0, 0, 153, 2, 2, 151, 151, 150, 149, 151,
+ 128, 124, 127, 124, 124, 147, 120, 117, 121, 146,
+ 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
+ 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
+ 146, 146, 146, 146, 125, 4, 5, 5, 3, 143,
+ 143, 140, 144, 144, 138, 145, 145, 142, 1, 150,
+ 118, 148, 147, 147, 147, 0, 122, 119, 123, 146,
+ 146, 146, 146, 10, 146, 146, 146, 22, 146, 146,
+ 146, 146, 146, 146, 146, 146, 146, 146, 126, 146,
+
+ 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
+ 146, 146, 58, 66, 146, 146, 146, 146, 146, 146,
+ 146, 146, 146, 146, 146, 80, 81, 146, 146, 146,
+ 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
+ 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
+ 146, 4, 5, 3, 143, 139, 144, 137, 137, 129,
+ 131, 132, 133, 134, 135, 136, 137, 145, 141, 148,
+ 147, 0, 147, 6, 7, 146, 9, 11, 146, 146,
+ 15, 146, 146, 146, 146, 146, 146, 146, 146, 146,
+ 146, 32, 146, 146, 146, 146, 146, 146, 146, 146,
+
+ 43, 146, 146, 146, 146, 146, 146, 50, 146, 146,
+ 146, 146, 146, 146, 146, 146, 146, 62, 146, 68,
+ 146, 146, 146, 146, 146, 146, 146, 76, 146, 79,
+ 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
+ 146, 146, 146, 146, 97, 98, 146, 146, 146, 146,
+ 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
+ 129, 131, 130, 146, 146, 146, 146, 146, 146, 146,
+ 20, 23, 146, 146, 146, 28, 146, 146, 30, 146,
+ 146, 146, 146, 37, 146, 146, 41, 42, 146, 146,
+ 146, 146, 146, 146, 146, 52, 53, 146, 55, 146,
+
+ 57, 146, 146, 146, 146, 65, 67, 69, 70, 71,
+ 146, 73, 146, 146, 77, 146, 146, 146, 146, 146,
+ 88, 146, 90, 146, 146, 146, 146, 146, 146, 146,
+ 146, 146, 102, 103, 105, 146, 146, 146, 146, 146,
+ 146, 112, 146, 114, 115, 129, 130, 8, 146, 146,
+ 146, 146, 146, 146, 146, 25, 146, 146, 146, 146,
+ 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
+ 146, 47, 48, 49, 146, 54, 146, 59, 60, 146,
+ 146, 146, 72, 146, 75, 78, 82, 83, 146, 146,
+ 146, 89, 146, 146, 93, 146, 146, 146, 146, 146,
+
+ 101, 146, 146, 146, 146, 109, 146, 146, 113, 146,
+ 146, 146, 14, 146, 146, 146, 146, 146, 26, 146,
+ 29, 146, 146, 146, 146, 35, 146, 146, 146, 40,
+ 146, 45, 146, 146, 56, 61, 146, 146, 74, 146,
+ 146, 146, 146, 92, 146, 95, 96, 146, 146, 146,
+ 146, 107, 108, 110, 146, 146, 146, 13, 146, 146,
+ 146, 146, 146, 146, 21, 146, 33, 34, 146, 146,
+ 146, 146, 46, 51, 63, 146, 146, 86, 87, 146,
+ 146, 146, 146, 146, 146, 111, 146, 146, 146, 146,
+ 146, 146, 146, 146, 31, 146, 146, 39, 146, 64,
+
+ 146, 146, 146, 99, 146, 146, 146, 146, 12, 146,
+ 146, 146, 146, 24, 146, 36, 146, 146, 84, 146,
+ 146, 100, 104, 146, 116, 16, 146, 146, 146, 27,
+ 38, 146, 85, 91, 146, 146, 146, 18, 19, 146,
+ 146, 106, 146, 146, 146, 146, 146, 94, 146, 44,
+ 17, 0
} ;
static yyconst YY_CHAR yy_ec[256] =
@@ -498,143 +499,145 @@ static yyconst YY_CHAR yy_meta[72] =
8
} ;
-static yyconst flex_uint16_t yy_base[560] =
+static yyconst flex_uint16_t yy_base[568] =
{ 0,
0, 1, 46, 0, 117, 163, 2, 3, 128, 132,
- 6, 10, 257, 1212, 1212, 0, 1212, 13, 1212, 233,
- 1212, 1212, 1212, 208, 6, 130, 4, 1212, 195, 124,
+ 6, 10, 257, 1219, 1219, 0, 1219, 13, 1219, 233,
+ 1219, 1219, 1219, 208, 6, 130, 4, 1219, 195, 124,
161, 170, 178, 207, 260, 92, 167, 161, 96, 107,
- 219, 214, 212, 224, 236, 92, 279, 171, 278, 281,
- 128, 227, 0, 125, 1212, 184, 4, 19, 0, 0,
+ 219, 214, 212, 224, 236, 92, 279, 272, 278, 281,
+ 128, 168, 0, 125, 1219, 184, 4, 19, 0, 0,
0, 146, 0, 0, 343, 0, 0, 145, 0, 22,
- 1212, 0, 297, 316, 338, 18, 1212, 1212, 1212, 0,
- 170, 227, 173, 178, 224, 299, 270, 0, 270, 335,
- 330, 286, 320, 327, 376, 308, 316, 326, 1212, 335,
-
- 351, 355, 371, 348, 346, 353, 359, 370, 382, 383,
- 380, 379, 399, 0, 392, 379, 386, 401, 399, 401,
- 402, 407, 402, 413, 420, 0, 431, 417, 420, 422,
- 434, 437, 435, 451, 446, 433, 456, 459, 459, 457,
- 450, 444, 454, 462, 469, 465, 465, 474, 460, 483,
- 148, 29, 0, 0, 1212, 0, 1212, 1212, 22, 24,
- 1212, 1212, 1212, 1212, 1212, 0, 0, 1212, 0, 515,
- 26, 28, 0, 0, 488, 0, 490, 473, 489, 478,
- 501, 502, 496, 512, 496, 499, 494, 520, 503, 521,
- 0, 519, 528, 526, 529, 514, 535, 522, 534, 0,
-
- 539, 522, 524, 532, 534, 553, 551, 546, 550, 544,
- 564, 564, 556, 570, 571, 572, 574, 564, 0, 561,
- 564, 581, 578, 583, 571, 573, 0, 583, 0, 591,
- 592, 578, 596, 587, 589, 604, 600, 609, 612, 612,
- 98, 608, 625, 0, 619, 620, 619, 629, 630, 624,
- 620, 638, 628, 623, 642, 633, 640, 632, 30, 125,
- 0, 635, 640, 650, 642, 652, 647, 654, 0, 668,
- 659, 659, 655, 0, 658, 663, 668, 676, 669, 671,
- 679, 688, 685, 683, 0, 0, 681, 680, 701, 698,
- 685, 686, 699, 0, 0, 693, 0, 697, 0, 688,
-
- 695, 696, 709, 0, 0, 0, 0, 0, 695, 0,
- 705, 720, 711, 715, 718, 730, 741, 746, 0, 743,
- 0, 731, 726, 731, 748, 739, 752, 746, 755, 0,
- 742, 0, 758, 743, 746, 760, 764, 762, 0, 766,
- 0, 759, 136, 1212, 0, 769, 769, 763, 784, 772,
- 780, 791, 0, 783, 786, 800, 801, 798, 807, 797,
- 805, 802, 799, 802, 813, 814, 802, 819, 0, 0,
- 0, 817, 0, 818, 0, 0, 807, 823, 807, 0,
- 825, 0, 0, 0, 0, 811, 818, 823, 0, 838,
- 828, 0, 841, 845, 832, 846, 0, 842, 844, 859,
-
- 860, 0, 847, 866, 0, 853, 860, 857, 0, 852,
- 858, 876, 870, 860, 0, 881, 0, 878, 872, 874,
- 867, 0, 868, 885, 887, 0, 93, 0, 879, 887,
- 0, 0, 884, 903, 0, 898, 890, 888, 906, 0,
- 909, 0, 0, 908, 922, 923, 0, 0, 0, 907,
- 912, 913, 0, 920, 917, 921, 923, 932, 929, 0,
- 935, 0, 0, 936, 934, 924, 926, 0, 0, 0,
- 934, 932, 0, 0, 945, 948, 939, 947, 949, 0,
- 945, 961, 957, 962, 963, 960, 963, 968, 0, 965,
- 970, 0, 965, 0, 973, 985, 979, 0, 977, 979,
-
- 988, 0, 991, 994, 989, 997, 0, 983, 0, 997,
- 987, 987, 996, 1008, 0, 1006, 0, 0, 1002, 1018,
- 1008, 0, 0, 1020, 0, 0, 1016, 1032, 1018, 0,
- 0, 1025, 1035, 0, 1032, 1035, 1025, 1040, 1029, 0,
- 1031, 0, 0, 1212, 1096, 1106, 1116, 1126, 1136, 1140,
- 1143, 1149, 1157, 1167, 1177, 1187, 1197, 1202, 1204
+ 1219, 0, 307, 337, 341, 18, 1219, 1219, 1219, 0,
+ 170, 224, 177, 181, 215, 269, 224, 0, 263, 326,
+ 336, 286, 290, 333, 382, 321, 322, 329, 1219, 328,
+
+ 347, 351, 346, 350, 346, 353, 352, 374, 386, 385,
+ 383, 382, 402, 0, 395, 382, 389, 403, 399, 397,
+ 399, 401, 399, 408, 418, 0, 421, 406, 410, 425,
+ 437, 438, 438, 455, 451, 436, 457, 462, 462, 463,
+ 461, 454, 447, 454, 462, 469, 465, 466, 474, 460,
+ 481, 148, 29, 0, 0, 1219, 0, 1219, 1219, 22,
+ 24, 1219, 1219, 1219, 1219, 1219, 0, 0, 1219, 0,
+ 509, 26, 28, 0, 0, 478, 0, 481, 478, 501,
+ 493, 514, 513, 501, 517, 500, 503, 498, 523, 505,
+ 521, 0, 518, 527, 526, 529, 513, 532, 520, 532,
+
+ 0, 537, 521, 523, 523, 525, 558, 563, 559, 562,
+ 554, 568, 568, 560, 574, 575, 576, 577, 569, 0,
+ 564, 565, 581, 578, 582, 569, 571, 0, 581, 0,
+ 589, 590, 576, 595, 586, 580, 595, 605, 621, 625,
+ 624, 98, 618, 629, 0, 623, 617, 625, 624, 634,
+ 635, 629, 625, 642, 630, 624, 644, 634, 641, 632,
+ 30, 125, 0, 633, 639, 649, 642, 652, 647, 647,
+ 0, 674, 673, 675, 670, 0, 671, 674, 673, 681,
+ 674, 676, 684, 693, 690, 688, 0, 0, 685, 682,
+ 702, 700, 686, 687, 699, 0, 0, 693, 0, 696,
+
+ 0, 687, 694, 696, 726, 0, 0, 0, 0, 0,
+ 696, 0, 698, 734, 727, 730, 731, 741, 746, 751,
+ 0, 748, 0, 736, 731, 736, 753, 744, 756, 748,
+ 741, 758, 0, 745, 0, 760, 745, 747, 761, 764,
+ 762, 0, 767, 0, 761, 136, 1219, 0, 772, 786,
+ 780, 801, 788, 800, 805, 0, 795, 792, 806, 807,
+ 804, 813, 803, 811, 808, 804, 805, 816, 817, 804,
+ 821, 0, 0, 0, 818, 0, 819, 0, 0, 807,
+ 823, 808, 0, 827, 0, 0, 0, 0, 814, 835,
+ 840, 0, 855, 846, 0, 859, 861, 846, 858, 850,
+
+ 0, 849, 851, 866, 867, 0, 854, 873, 0, 860,
+ 867, 863, 0, 857, 862, 880, 873, 863, 0, 883,
+ 0, 880, 873, 876, 870, 0, 872, 903, 913, 0,
+ 93, 0, 898, 906, 0, 0, 904, 922, 0, 915,
+ 905, 901, 913, 0, 916, 0, 0, 915, 921, 930,
+ 931, 0, 0, 0, 915, 920, 921, 0, 928, 923,
+ 926, 928, 936, 933, 0, 938, 0, 0, 939, 937,
+ 928, 931, 0, 0, 0, 953, 959, 0, 0, 973,
+ 969, 960, 967, 969, 970, 0, 964, 978, 972, 971,
+ 972, 969, 972, 977, 0, 974, 979, 0, 975, 0,
+
+ 982, 992, 985, 0, 992, 984, 985, 994, 0, 997,
+ 1001, 996, 1018, 0, 1012, 0, 1027, 1018, 1019, 1020,
+ 1031, 0, 0, 1029, 0, 0, 1024, 1038, 1026, 0,
+ 0, 1036, 0, 0, 1026, 1042, 1028, 0, 0, 1035,
+ 1045, 0, 1042, 1046, 1036, 1050, 1037, 0, 1038, 0,
+ 0, 1219, 1103, 1113, 1123, 1133, 1143, 1147, 1150, 1156,
+ 1164, 1174, 1184, 1194, 1204, 1209, 1211
} ;
-static yyconst flex_int16_t yy_def[560] =
+static yyconst flex_int16_t yy_def[568] =
{ 0,
- 545, 545, 544, 3, 546, 546, 547, 547, 548, 548,
- 549, 549, 544, 544, 544, 550, 544, 544, 544, 544,
- 544, 544, 544, 544, 544, 544, 544, 544, 544, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 544, 544, 544, 544, 552, 553,
- 553, 544, 554, 554, 555, 556, 556, 544, 550, 544,
- 544, 557, 544, 544, 544, 544, 544, 544, 544, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 544, 551,
-
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 544, 544, 552, 553, 544, 554, 544, 544, 544, 544,
- 544, 544, 544, 544, 544, 558, 556, 544, 557, 544,
- 544, 544, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
-
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 544, 544,
- 559, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
-
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 544, 544, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
-
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
-
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
- 551, 551, 551, 0, 544, 544, 544, 544, 544, 544,
- 544, 544, 544, 544, 544, 544, 544, 544, 544
+ 553, 553, 552, 3, 554, 554, 555, 555, 556, 556,
+ 557, 557, 552, 552, 552, 558, 552, 552, 552, 552,
+ 552, 552, 552, 552, 552, 552, 552, 552, 552, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 552, 552, 552, 552, 560, 561,
+ 561, 552, 562, 562, 563, 564, 564, 552, 558, 552,
+ 552, 565, 552, 552, 552, 552, 552, 552, 552, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 552, 559,
+
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 552, 552, 560, 561, 552, 562, 552, 552, 552,
+ 552, 552, 552, 552, 552, 552, 566, 564, 552, 565,
+ 552, 552, 552, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 552, 552, 567, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 552, 552, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 0, 552, 552, 552, 552, 552, 552, 552, 552,
+ 552, 552, 552, 552, 552, 552, 552
} ;
-static yyconst flex_uint16_t yy_nxt[1284] =
+static yyconst flex_uint16_t yy_nxt[1291] =
{ 0,
- 544, 544, 15, 15, 61, 61, 152, 152, 67, 62,
- 62, 68, 67, 544, 70, 68, 70, 73, 73, 77,
- 78, 152, 152, 70, 544, 70, 171, 171, 544, 172,
- 172, 152, 152, 259, 260, 260, 260, 172, 172, 172,
- 172, 343, 260, 544, 16, 16, 17, 18, 19, 18,
+ 552, 552, 15, 15, 61, 61, 153, 153, 67, 62,
+ 62, 68, 67, 552, 70, 68, 70, 73, 73, 77,
+ 78, 153, 153, 70, 552, 70, 172, 172, 552, 173,
+ 173, 153, 153, 261, 262, 262, 262, 173, 173, 173,
+ 173, 346, 262, 552, 16, 16, 17, 18, 19, 18,
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,
@@ -644,142 +647,142 @@ static yyconst flex_uint16_t yy_nxt[1284] =
38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 17, 56, 57,
58, 17, 17, 17, 17, 17, 110, 115, 116, 132,
- 64, 17, 17, 17, 64, 62, 260, 260, 467, 62,
- 74, 75, 75, 325, 81, 147, 150, 260, 260, 151,
- 168, 76, 82, 155, 83, 110, 115, 116, 132, 84,
+ 64, 17, 17, 17, 64, 62, 262, 262, 472, 62,
+ 74, 75, 75, 327, 81, 148, 151, 262, 262, 152,
+ 169, 76, 82, 156, 83, 110, 115, 116, 132, 84,
17, 17, 17, 17, 56, 57, 58, 17, 17, 17,
- 17, 17, 65, 81, 147, 150, 65, 17, 17, 17,
- 76, 82, 85, 83, 111, 151, 86, 89, 84, 87,
- 173, 113, 137, 176, 90, 94, 114, 177, 112, 95,
+ 17, 17, 65, 81, 148, 151, 65, 17, 17, 17,
+ 76, 82, 85, 83, 111, 152, 86, 89, 84, 87,
+ 174, 113, 149, 150, 90, 94, 114, 177, 112, 95,
- 138, 91, 88, 96, 92, 93, 17, 17, 17, 97,
- 79, 85, 98, 111, 99, 86, 89, 72, 87, 173,
- 113, 137, 176, 90, 94, 114, 177, 112, 95, 138,
+ 178, 91, 88, 96, 92, 93, 17, 17, 17, 97,
+ 79, 85, 98, 111, 99, 86, 89, 72, 87, 174,
+ 113, 149, 150, 90, 94, 114, 177, 112, 95, 178,
91, 88, 96, 92, 93, 100, 117, 101, 97, 121,
118, 98, 102, 123, 119, 122, 125, 103, 71, 124,
- 120, 148, 149, 129, 126, 174, 544, 130, 127, 544,
- 178, 128, 544, 175, 100, 117, 101, 544, 121, 118,
+ 120, 179, 175, 129, 126, 182, 552, 130, 127, 552,
+ 176, 128, 552, 552, 100, 117, 101, 552, 121, 118,
131, 102, 123, 119, 122, 125, 103, 104, 124, 120,
- 148, 149, 129, 126, 174, 105, 130, 127, 106, 178,
- 128, 107, 175, 544, 108, 139, 133, 109, 544, 131,
-
- 134, 181, 140, 141, 135, 182, 104, 188, 73, 73,
- 136, 144, 142, 145, 105, 143, 146, 106, 76, 544,
- 107, 544, 179, 108, 139, 133, 109, 170, 170, 134,
- 181, 140, 141, 135, 182, 180, 188, 76, 189, 136,
- 144, 142, 145, 196, 143, 146, 158, 76, 74, 75,
- 75, 179, 183, 197, 159, 160, 184, 198, 185, 76,
- 186, 161, 187, 190, 180, 162, 76, 189, 191, 544,
- 199, 200, 196, 163, 201, 544, 204, 164, 544, 165,
- 205, 183, 197, 166, 206, 184, 198, 185, 76, 186,
- 161, 187, 190, 207, 162, 192, 202, 191, 193, 199,
-
- 200, 208, 163, 201, 194, 204, 164, 203, 165, 205,
- 209, 195, 166, 206, 210, 211, 213, 218, 212, 214,
- 219, 220, 207, 221, 192, 202, 222, 193, 223, 215,
- 208, 224, 225, 194, 216, 217, 203, 226, 227, 209,
- 195, 228, 229, 210, 211, 213, 218, 212, 214, 219,
- 220, 230, 221, 231, 232, 222, 233, 223, 215, 234,
- 224, 225, 235, 216, 217, 236, 226, 227, 237, 240,
- 228, 229, 241, 238, 239, 242, 245, 246, 247, 248,
- 230, 249, 231, 232, 243, 233, 250, 251, 234, 252,
- 253, 235, 244, 254, 236, 256, 257, 237, 240, 255,
-
- 258, 241, 238, 239, 242, 245, 246, 247, 248, 262,
- 249, 263, 264, 243, 265, 250, 251, 266, 252, 253,
- 267, 244, 254, 269, 256, 257, 170, 170, 255, 258,
- 270, 271, 268, 272, 273, 274, 76, 275, 262, 276,
- 263, 264, 277, 265, 278, 279, 266, 280, 282, 267,
- 283, 281, 269, 284, 285, 286, 287, 288, 289, 270,
- 271, 268, 272, 273, 274, 76, 275, 290, 276, 291,
- 292, 277, 293, 278, 279, 294, 280, 282, 295, 283,
- 281, 296, 284, 285, 286, 287, 288, 289, 297, 298,
- 299, 300, 301, 302, 305, 303, 290, 306, 291, 292,
-
- 307, 293, 308, 309, 294, 304, 310, 295, 311, 312,
- 296, 313, 314, 315, 316, 317, 318, 297, 298, 299,
- 300, 301, 302, 305, 303, 319, 306, 320, 321, 307,
- 322, 308, 309, 323, 304, 310, 324, 311, 312, 326,
- 313, 314, 315, 316, 317, 318, 327, 328, 329, 330,
- 331, 332, 333, 334, 319, 335, 320, 321, 336, 322,
- 337, 338, 323, 339, 341, 324, 342, 340, 326, 345,
- 346, 347, 348, 349, 350, 327, 328, 329, 330, 331,
- 332, 333, 334, 351, 335, 352, 353, 336, 354, 337,
- 338, 355, 339, 341, 356, 342, 340, 357, 345, 346,
-
- 347, 348, 349, 350, 358, 359, 360, 361, 362, 363,
- 364, 365, 351, 366, 352, 353, 367, 354, 368, 369,
- 355, 370, 371, 356, 372, 373, 357, 374, 375, 376,
- 377, 380, 378, 358, 359, 360, 361, 362, 363, 364,
- 365, 381, 366, 379, 382, 367, 383, 368, 369, 384,
- 370, 371, 385, 372, 373, 386, 374, 375, 376, 377,
- 380, 378, 387, 388, 389, 390, 391, 392, 393, 394,
- 381, 395, 379, 382, 396, 383, 397, 398, 384, 399,
- 400, 385, 401, 402, 386, 403, 404, 405, 406, 407,
- 408, 387, 388, 389, 390, 391, 392, 393, 394, 409,
-
- 395, 410, 413, 396, 411, 397, 398, 412, 399, 400,
- 414, 401, 402, 415, 403, 404, 405, 406, 407, 408,
- 416, 417, 418, 419, 420, 421, 422, 423, 409, 424,
- 410, 413, 425, 411, 426, 427, 412, 428, 429, 414,
- 430, 431, 415, 432, 433, 434, 435, 436, 437, 416,
- 417, 418, 419, 420, 421, 422, 423, 438, 424, 439,
- 440, 425, 441, 426, 427, 442, 428, 429, 443, 430,
- 431, 444, 432, 433, 434, 435, 436, 437, 445, 446,
- 447, 448, 449, 450, 451, 452, 438, 453, 439, 440,
- 454, 441, 455, 456, 442, 457, 458, 443, 459, 460,
-
- 444, 461, 462, 463, 464, 465, 466, 445, 446, 447,
- 448, 449, 450, 451, 452, 468, 453, 469, 470, 454,
- 471, 455, 456, 472, 457, 458, 473, 459, 460, 474,
- 461, 462, 463, 464, 465, 466, 475, 476, 477, 478,
- 479, 480, 481, 482, 468, 483, 469, 470, 484, 471,
- 485, 486, 472, 487, 488, 473, 489, 490, 474, 491,
- 492, 493, 494, 495, 496, 475, 476, 477, 478, 479,
- 480, 481, 482, 497, 483, 498, 499, 484, 500, 485,
- 486, 501, 487, 488, 502, 489, 490, 503, 491, 492,
- 493, 494, 495, 496, 504, 505, 506, 507, 508, 509,
-
- 510, 511, 497, 512, 498, 499, 513, 500, 514, 515,
- 501, 516, 517, 502, 518, 519, 503, 520, 521, 522,
- 523, 524, 525, 504, 505, 506, 507, 508, 509, 510,
- 511, 526, 512, 527, 528, 513, 529, 514, 515, 530,
- 516, 517, 531, 518, 519, 532, 520, 521, 522, 523,
- 524, 525, 533, 534, 535, 536, 537, 538, 539, 540,
- 526, 541, 527, 528, 542, 529, 543, 544, 530, 544,
- 544, 531, 544, 544, 532, 544, 544, 544, 544, 544,
- 544, 533, 534, 535, 536, 537, 538, 539, 540, 544,
- 541, 544, 544, 542, 544, 543, 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, 544, 80, 153, 153, 153, 153, 154, 154, 154,
- 544, 154, 154, 154, 154, 154, 154, 156, 156, 156,
- 544, 156, 156, 156, 156, 544, 156, 157, 157, 157,
- 157, 157, 157, 157, 157, 157, 157, 167, 167, 544,
- 167, 167, 167, 167, 167, 167, 167, 169, 544, 169,
-
- 169, 169, 169, 169, 169, 169, 169, 261, 261, 344,
- 344, 13, 544, 544, 544, 544, 544, 544, 544, 544,
- 544, 544, 544, 544, 544, 544, 544, 544, 544, 544,
- 544, 544, 544, 544, 544, 544, 544, 544, 544, 544,
- 544, 544, 544, 544, 544, 544, 544, 544, 544, 544,
- 544, 544, 544, 544, 544, 544, 544, 544, 544, 544,
- 544, 544, 544, 544, 544, 544, 544, 544, 544, 544,
- 544, 544, 544, 544, 544, 544, 544, 544, 544, 544,
- 544, 544, 544
+ 179, 175, 129, 126, 182, 105, 130, 127, 106, 176,
+ 128, 107, 180, 137, 108, 140, 133, 109, 183, 131,
+
+ 134, 138, 141, 142, 135, 181, 104, 189, 190, 139,
+ 136, 145, 143, 146, 105, 144, 147, 106, 73, 73,
+ 107, 180, 137, 108, 140, 133, 109, 183, 76, 134,
+ 138, 141, 142, 135, 181, 552, 189, 190, 139, 136,
+ 145, 143, 146, 184, 144, 147, 159, 185, 171, 171,
+ 552, 74, 75, 75, 160, 161, 197, 76, 76, 198,
+ 199, 162, 76, 200, 186, 163, 187, 201, 188, 191,
+ 202, 203, 184, 164, 192, 552, 185, 165, 205, 166,
+ 206, 552, 204, 167, 207, 197, 208, 76, 198, 199,
+ 162, 76, 200, 186, 163, 187, 201, 188, 191, 202,
+
+ 203, 193, 164, 192, 194, 209, 165, 205, 166, 206,
+ 195, 204, 167, 207, 210, 208, 211, 196, 212, 214,
+ 219, 213, 215, 220, 221, 222, 223, 225, 224, 226,
+ 193, 227, 216, 194, 209, 228, 229, 217, 218, 195,
+ 230, 231, 232, 210, 233, 211, 196, 212, 214, 219,
+ 213, 215, 220, 221, 222, 223, 225, 224, 226, 234,
+ 227, 216, 235, 236, 228, 229, 217, 218, 237, 230,
+ 231, 232, 238, 233, 241, 242, 243, 239, 240, 246,
+ 247, 248, 249, 250, 251, 244, 252, 253, 234, 254,
+ 255, 235, 236, 245, 256, 258, 259, 237, 260, 264,
+
+ 257, 238, 265, 241, 242, 243, 239, 240, 246, 247,
+ 248, 249, 250, 251, 244, 252, 253, 266, 254, 255,
+ 171, 171, 245, 256, 258, 259, 267, 260, 264, 257,
+ 76, 265, 268, 269, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, 280, 281, 270, 266, 282, 284, 285,
+ 286, 283, 287, 288, 289, 267, 290, 291, 292, 76,
+ 293, 268, 269, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 270, 294, 282, 284, 285, 286,
+ 283, 287, 288, 289, 295, 290, 291, 292, 296, 293,
+ 297, 298, 299, 300, 301, 302, 303, 304, 305, 307,
+
+ 308, 309, 310, 311, 294, 312, 313, 314, 306, 315,
+ 316, 317, 318, 295, 319, 320, 321, 296, 322, 297,
+ 298, 299, 300, 301, 302, 303, 304, 305, 307, 308,
+ 309, 310, 311, 323, 312, 313, 314, 306, 315, 316,
+ 317, 318, 324, 319, 320, 321, 325, 322, 326, 328,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 323, 341, 342, 344, 345, 348, 343, 349,
+ 350, 324, 351, 352, 353, 325, 354, 326, 328, 329,
+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
+ 340, 355, 341, 342, 344, 345, 348, 343, 349, 350,
+
+ 356, 351, 352, 353, 357, 354, 358, 359, 360, 361,
+ 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
+ 355, 372, 373, 374, 375, 376, 377, 378, 379, 356,
+ 380, 552, 383, 357, 384, 358, 359, 360, 361, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 381,
+ 372, 373, 374, 375, 376, 377, 378, 379, 385, 380,
+ 382, 383, 386, 384, 387, 388, 389, 390, 391, 392,
+ 393, 394, 395, 396, 397, 398, 399, 400, 381, 401,
+ 402, 403, 404, 405, 406, 407, 408, 385, 409, 382,
+ 410, 386, 411, 387, 388, 389, 390, 391, 392, 393,
+
+ 394, 395, 396, 397, 398, 399, 400, 412, 401, 402,
+ 403, 404, 405, 406, 407, 408, 413, 409, 414, 410,
+ 415, 411, 417, 416, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 412, 430, 431, 432,
+ 433, 434, 435, 436, 437, 413, 438, 414, 439, 415,
+ 440, 417, 416, 418, 419, 420, 421, 422, 423, 424,
+ 425, 426, 427, 428, 429, 441, 430, 431, 432, 433,
+ 434, 435, 436, 437, 442, 438, 443, 439, 444, 440,
+ 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 441, 459, 460, 461, 462, 463,
+
+ 464, 465, 466, 442, 467, 443, 468, 444, 469, 445,
+ 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
+ 456, 457, 458, 470, 459, 460, 461, 462, 463, 464,
+ 465, 466, 471, 467, 473, 468, 474, 469, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 470, 489, 490, 491, 492, 493, 494, 495,
+ 496, 471, 497, 473, 498, 474, 499, 475, 476, 477,
+ 478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
+ 488, 500, 489, 490, 491, 492, 493, 494, 495, 496,
+ 501, 497, 502, 498, 503, 499, 504, 505, 506, 507,
+
+ 508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
+ 500, 518, 519, 520, 521, 522, 523, 524, 525, 501,
+ 526, 502, 527, 503, 528, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 515, 516, 517, 529,
+ 518, 519, 520, 521, 522, 523, 524, 525, 530, 526,
+ 531, 527, 532, 528, 533, 534, 535, 536, 537, 538,
+ 539, 540, 541, 542, 543, 544, 545, 546, 529, 547,
+ 548, 549, 550, 551, 552, 552, 552, 530, 552, 531,
+ 552, 532, 552, 533, 534, 535, 536, 537, 538, 539,
+ 540, 541, 542, 543, 544, 545, 546, 552, 547, 548,
+
+ 549, 550, 551, 14, 14, 14, 14, 14, 14, 14,
+ 14, 14, 14, 59, 59, 59, 59, 59, 59, 59,
+ 59, 59, 59, 60, 60, 60, 60, 60, 60, 60,
+ 60, 60, 60, 63, 63, 63, 63, 63, 63, 63,
+ 63, 63, 63, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 69, 69, 80, 80, 80, 552, 80,
+ 154, 154, 154, 154, 155, 155, 155, 552, 155, 155,
+ 155, 155, 155, 155, 157, 157, 157, 552, 157, 157,
+ 157, 157, 552, 157, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 168, 168, 552, 168, 168, 168,
+
+ 168, 168, 168, 168, 170, 552, 170, 170, 170, 170,
+ 170, 170, 170, 170, 263, 263, 347, 347, 13, 552,
+ 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
+ 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
+ 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
+ 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
+ 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
+ 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
+ 552, 552, 552, 552, 552, 552, 552, 552, 552, 552
} ;
-static yyconst flex_int16_t yy_chk[1284] =
+static yyconst flex_int16_t yy_chk[1291] =
{ 0,
0, 0, 1, 2, 7, 8, 57, 57, 11, 7,
8, 11, 12, 0, 18, 12, 18, 25, 25, 27,
27, 58, 58, 70, 0, 70, 76, 76, 0, 76,
- 76, 152, 152, 159, 159, 160, 160, 171, 171, 172,
- 172, 259, 259, 0, 1, 2, 3, 3, 3, 3,
+ 76, 153, 153, 160, 160, 161, 161, 172, 172, 173,
+ 173, 261, 261, 0, 1, 2, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
@@ -789,137 +792,137 @@ static yyconst flex_int16_t yy_chk[1284] =
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 5, 5, 5,
5, 5, 5, 5, 5, 5, 36, 39, 40, 46,
- 9, 5, 5, 5, 10, 9, 260, 260, 427, 10,
- 26, 26, 26, 241, 30, 51, 54, 343, 343, 151,
+ 9, 5, 5, 5, 10, 9, 262, 262, 431, 10,
+ 26, 26, 26, 242, 30, 51, 54, 346, 346, 152,
68, 26, 30, 62, 30, 36, 39, 40, 46, 30,
5, 5, 5, 6, 6, 6, 6, 6, 6, 6,
6, 6, 9, 30, 51, 54, 10, 6, 6, 6,
26, 30, 31, 30, 37, 56, 31, 32, 30, 31,
- 81, 38, 48, 83, 32, 33, 38, 84, 37, 33,
+ 81, 38, 52, 52, 32, 33, 38, 83, 37, 33,
- 48, 32, 31, 33, 32, 32, 6, 6, 6, 33,
+ 84, 32, 31, 33, 32, 32, 6, 6, 6, 33,
29, 31, 33, 37, 34, 31, 32, 24, 31, 81,
- 38, 48, 83, 32, 33, 38, 84, 37, 33, 48,
+ 38, 52, 52, 32, 33, 38, 83, 37, 33, 84,
32, 31, 33, 32, 32, 34, 41, 34, 33, 42,
41, 33, 34, 43, 41, 42, 44, 34, 20, 43,
- 41, 52, 52, 45, 44, 82, 13, 45, 44, 0,
- 85, 44, 0, 82, 34, 41, 34, 0, 42, 41,
+ 41, 85, 82, 45, 44, 87, 13, 45, 44, 0,
+ 82, 44, 0, 0, 34, 41, 34, 0, 42, 41,
45, 34, 43, 41, 42, 44, 34, 35, 43, 41,
- 52, 52, 45, 44, 82, 35, 45, 44, 35, 85,
- 44, 35, 82, 0, 35, 49, 47, 35, 0, 45,
-
- 47, 87, 49, 49, 47, 89, 35, 92, 73, 73,
- 47, 50, 49, 50, 35, 49, 50, 35, 73, 0,
- 35, 0, 86, 35, 49, 47, 35, 74, 74, 47,
- 87, 49, 49, 47, 89, 86, 92, 74, 93, 47,
- 50, 49, 50, 96, 49, 50, 65, 73, 75, 75,
- 75, 86, 90, 97, 65, 65, 90, 98, 91, 75,
- 91, 65, 91, 94, 86, 65, 74, 93, 94, 0,
- 100, 101, 96, 65, 102, 0, 104, 65, 0, 65,
- 105, 90, 97, 65, 106, 90, 98, 91, 75, 91,
- 65, 91, 94, 107, 65, 95, 103, 94, 95, 100,
-
- 101, 108, 65, 102, 95, 104, 65, 103, 65, 105,
- 109, 95, 65, 106, 110, 111, 112, 115, 111, 113,
- 116, 117, 107, 118, 95, 103, 119, 95, 119, 113,
- 108, 120, 121, 95, 113, 113, 103, 122, 123, 109,
- 95, 124, 125, 110, 111, 112, 115, 111, 113, 116,
- 117, 127, 118, 128, 129, 119, 130, 119, 113, 131,
- 120, 121, 132, 113, 113, 133, 122, 123, 134, 135,
- 124, 125, 136, 134, 134, 137, 138, 139, 140, 141,
- 127, 142, 128, 129, 137, 130, 143, 144, 131, 145,
- 146, 132, 137, 147, 133, 148, 149, 134, 135, 147,
-
- 150, 136, 134, 134, 137, 138, 139, 140, 141, 175,
- 142, 177, 178, 137, 179, 143, 144, 180, 145, 146,
- 181, 137, 147, 182, 148, 149, 170, 170, 147, 150,
- 183, 184, 181, 185, 186, 187, 170, 188, 175, 189,
- 177, 178, 190, 179, 192, 193, 180, 194, 195, 181,
- 196, 194, 182, 197, 198, 199, 201, 202, 203, 183,
- 184, 181, 185, 186, 187, 170, 188, 204, 189, 205,
- 206, 190, 207, 192, 193, 208, 194, 195, 209, 196,
- 194, 210, 197, 198, 199, 201, 202, 203, 211, 212,
- 213, 214, 215, 216, 218, 217, 204, 220, 205, 206,
-
- 221, 207, 222, 223, 208, 217, 224, 209, 225, 226,
- 210, 228, 230, 231, 232, 233, 234, 211, 212, 213,
- 214, 215, 216, 218, 217, 235, 220, 236, 237, 221,
- 238, 222, 223, 239, 217, 224, 240, 225, 226, 242,
- 228, 230, 231, 232, 233, 234, 243, 245, 246, 247,
- 248, 249, 250, 251, 235, 252, 236, 237, 253, 238,
- 254, 255, 239, 256, 257, 240, 258, 256, 242, 262,
- 263, 264, 265, 266, 267, 243, 245, 246, 247, 248,
- 249, 250, 251, 268, 252, 270, 271, 253, 272, 254,
- 255, 273, 256, 257, 275, 258, 256, 276, 262, 263,
-
- 264, 265, 266, 267, 277, 278, 279, 280, 281, 282,
- 283, 284, 268, 287, 270, 271, 288, 272, 289, 290,
- 273, 291, 292, 275, 293, 296, 276, 298, 300, 301,
- 302, 309, 303, 277, 278, 279, 280, 281, 282, 283,
- 284, 311, 287, 303, 312, 288, 313, 289, 290, 314,
- 291, 292, 315, 293, 296, 316, 298, 300, 301, 302,
- 309, 303, 317, 318, 320, 322, 323, 324, 325, 326,
- 311, 327, 303, 312, 328, 313, 329, 331, 314, 333,
- 334, 315, 335, 336, 316, 337, 338, 340, 342, 346,
- 347, 317, 318, 320, 322, 323, 324, 325, 326, 348,
-
- 327, 349, 351, 328, 350, 329, 331, 350, 333, 334,
- 352, 335, 336, 354, 337, 338, 340, 342, 346, 347,
- 355, 356, 357, 358, 359, 360, 361, 362, 348, 363,
- 349, 351, 364, 350, 365, 366, 350, 367, 368, 352,
- 372, 374, 354, 377, 378, 379, 381, 386, 387, 355,
- 356, 357, 358, 359, 360, 361, 362, 388, 363, 390,
- 391, 364, 393, 365, 366, 394, 367, 368, 395, 372,
- 374, 396, 377, 378, 379, 381, 386, 387, 398, 399,
- 400, 401, 403, 404, 406, 407, 388, 408, 390, 391,
- 410, 393, 411, 412, 394, 413, 414, 395, 416, 418,
-
- 396, 419, 420, 421, 423, 424, 425, 398, 399, 400,
- 401, 403, 404, 406, 407, 429, 408, 430, 433, 410,
- 434, 411, 412, 436, 413, 414, 437, 416, 418, 438,
- 419, 420, 421, 423, 424, 425, 439, 441, 444, 445,
- 446, 450, 451, 452, 429, 454, 430, 433, 455, 434,
- 456, 457, 436, 458, 459, 437, 461, 464, 438, 465,
- 466, 467, 471, 472, 475, 439, 441, 444, 445, 446,
- 450, 451, 452, 476, 454, 477, 478, 455, 479, 456,
- 457, 481, 458, 459, 482, 461, 464, 483, 465, 466,
- 467, 471, 472, 475, 484, 485, 486, 487, 488, 490,
-
- 491, 493, 476, 495, 477, 478, 496, 479, 497, 499,
- 481, 500, 501, 482, 503, 504, 483, 505, 506, 508,
- 510, 511, 512, 484, 485, 486, 487, 488, 490, 491,
- 493, 513, 495, 514, 516, 496, 519, 497, 499, 520,
- 500, 501, 521, 503, 504, 524, 505, 506, 508, 510,
- 511, 512, 527, 528, 529, 532, 533, 535, 536, 537,
- 513, 538, 514, 516, 539, 519, 541, 0, 520, 0,
- 0, 521, 0, 0, 524, 0, 0, 0, 0, 0,
- 0, 527, 528, 529, 532, 533, 535, 536, 537, 0,
- 538, 0, 0, 539, 0, 541, 545, 545, 545, 545,
-
- 545, 545, 545, 545, 545, 545, 546, 546, 546, 546,
- 546, 546, 546, 546, 546, 546, 547, 547, 547, 547,
- 547, 547, 547, 547, 547, 547, 548, 548, 548, 548,
- 548, 548, 548, 548, 548, 548, 549, 549, 549, 549,
- 549, 549, 549, 549, 549, 549, 550, 550, 551, 551,
- 551, 0, 551, 552, 552, 552, 552, 553, 553, 553,
- 0, 553, 553, 553, 553, 553, 553, 554, 554, 554,
- 0, 554, 554, 554, 554, 0, 554, 555, 555, 555,
- 555, 555, 555, 555, 555, 555, 555, 556, 556, 0,
- 556, 556, 556, 556, 556, 556, 556, 557, 0, 557,
-
- 557, 557, 557, 557, 557, 557, 557, 558, 558, 559,
- 559, 544, 544, 544, 544, 544, 544, 544, 544, 544,
- 544, 544, 544, 544, 544, 544, 544, 544, 544, 544,
- 544, 544, 544, 544, 544, 544, 544, 544, 544, 544,
- 544, 544, 544, 544, 544, 544, 544, 544, 544, 544,
- 544, 544, 544, 544, 544, 544, 544, 544, 544, 544,
- 544, 544, 544, 544, 544, 544, 544, 544, 544, 544,
- 544, 544, 544, 544, 544, 544, 544, 544, 544, 544,
- 544, 544, 544
+ 85, 82, 45, 44, 87, 35, 45, 44, 35, 82,
+ 44, 35, 86, 48, 35, 49, 47, 35, 89, 45,
+
+ 47, 48, 49, 49, 47, 86, 35, 92, 93, 48,
+ 47, 50, 49, 50, 35, 49, 50, 35, 73, 73,
+ 35, 86, 48, 35, 49, 47, 35, 89, 73, 47,
+ 48, 49, 49, 47, 86, 0, 92, 93, 48, 47,
+ 50, 49, 50, 90, 49, 50, 65, 90, 74, 74,
+ 0, 75, 75, 75, 65, 65, 96, 73, 74, 97,
+ 98, 65, 75, 100, 91, 65, 91, 101, 91, 94,
+ 102, 103, 90, 65, 94, 0, 90, 65, 104, 65,
+ 105, 0, 103, 65, 106, 96, 107, 74, 97, 98,
+ 65, 75, 100, 91, 65, 91, 101, 91, 94, 102,
+
+ 103, 95, 65, 94, 95, 108, 65, 104, 65, 105,
+ 95, 103, 65, 106, 109, 107, 110, 95, 111, 112,
+ 115, 111, 113, 116, 117, 118, 119, 120, 119, 121,
+ 95, 122, 113, 95, 108, 123, 124, 113, 113, 95,
+ 125, 127, 128, 109, 129, 110, 95, 111, 112, 115,
+ 111, 113, 116, 117, 118, 119, 120, 119, 121, 130,
+ 122, 113, 131, 132, 123, 124, 113, 113, 133, 125,
+ 127, 128, 134, 129, 135, 136, 137, 134, 134, 138,
+ 139, 140, 141, 142, 143, 137, 144, 145, 130, 146,
+ 147, 131, 132, 137, 148, 149, 150, 133, 151, 176,
+
+ 148, 134, 178, 135, 136, 137, 134, 134, 138, 139,
+ 140, 141, 142, 143, 137, 144, 145, 179, 146, 147,
+ 171, 171, 137, 148, 149, 150, 180, 151, 176, 148,
+ 171, 178, 181, 182, 183, 184, 185, 186, 187, 188,
+ 189, 190, 191, 193, 194, 182, 179, 195, 196, 197,
+ 198, 195, 199, 200, 202, 180, 203, 204, 205, 171,
+ 206, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 191, 193, 194, 182, 207, 195, 196, 197, 198,
+ 195, 199, 200, 202, 208, 203, 204, 205, 209, 206,
+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+
+ 221, 222, 223, 224, 207, 225, 226, 227, 218, 229,
+ 231, 232, 233, 208, 234, 235, 236, 209, 237, 210,
+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 221,
+ 222, 223, 224, 238, 225, 226, 227, 218, 229, 231,
+ 232, 233, 239, 234, 235, 236, 240, 237, 241, 243,
+ 244, 246, 247, 248, 249, 250, 251, 252, 253, 254,
+ 255, 256, 238, 257, 258, 259, 260, 264, 258, 265,
+ 266, 239, 267, 268, 269, 240, 270, 241, 243, 244,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, 272, 257, 258, 259, 260, 264, 258, 265, 266,
+
+ 273, 267, 268, 269, 274, 270, 275, 277, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 289, 290, 291,
+ 272, 292, 293, 294, 295, 298, 300, 302, 303, 273,
+ 304, 0, 311, 274, 313, 275, 277, 278, 279, 280,
+ 281, 282, 283, 284, 285, 286, 289, 290, 291, 305,
+ 292, 293, 294, 295, 298, 300, 302, 303, 314, 304,
+ 305, 311, 315, 313, 316, 317, 318, 319, 320, 322,
+ 324, 325, 326, 327, 328, 329, 330, 331, 305, 332,
+ 334, 336, 337, 338, 339, 340, 341, 314, 343, 305,
+ 345, 315, 349, 316, 317, 318, 319, 320, 322, 324,
+
+ 325, 326, 327, 328, 329, 330, 331, 350, 332, 334,
+ 336, 337, 338, 339, 340, 341, 351, 343, 352, 345,
+ 353, 349, 354, 353, 355, 357, 358, 359, 360, 361,
+ 362, 363, 364, 365, 366, 367, 350, 368, 369, 370,
+ 371, 375, 377, 380, 381, 351, 382, 352, 384, 353,
+ 389, 354, 353, 355, 357, 358, 359, 360, 361, 362,
+ 363, 364, 365, 366, 367, 390, 368, 369, 370, 371,
+ 375, 377, 380, 381, 391, 382, 393, 384, 394, 389,
+ 396, 397, 398, 399, 400, 402, 403, 404, 405, 407,
+ 408, 410, 411, 412, 390, 414, 415, 416, 417, 418,
+
+ 420, 422, 423, 391, 424, 393, 425, 394, 427, 396,
+ 397, 398, 399, 400, 402, 403, 404, 405, 407, 408,
+ 410, 411, 412, 428, 414, 415, 416, 417, 418, 420,
+ 422, 423, 429, 424, 433, 425, 434, 427, 437, 438,
+ 440, 441, 442, 443, 445, 448, 449, 450, 451, 455,
+ 456, 457, 428, 459, 460, 461, 462, 463, 464, 466,
+ 469, 429, 470, 433, 471, 434, 472, 437, 438, 440,
+ 441, 442, 443, 445, 448, 449, 450, 451, 455, 456,
+ 457, 476, 459, 460, 461, 462, 463, 464, 466, 469,
+ 477, 470, 480, 471, 481, 472, 482, 483, 484, 485,
+
+ 487, 488, 489, 490, 491, 492, 493, 494, 496, 497,
+ 476, 499, 501, 502, 503, 505, 506, 507, 508, 477,
+ 510, 480, 511, 481, 512, 482, 483, 484, 485, 487,
+ 488, 489, 490, 491, 492, 493, 494, 496, 497, 513,
+ 499, 501, 502, 503, 505, 506, 507, 508, 515, 510,
+ 517, 511, 518, 512, 519, 520, 521, 524, 527, 528,
+ 529, 532, 535, 536, 537, 540, 541, 543, 513, 544,
+ 545, 546, 547, 549, 0, 0, 0, 515, 0, 517,
+ 0, 518, 0, 519, 520, 521, 524, 527, 528, 529,
+ 532, 535, 536, 537, 540, 541, 543, 0, 544, 545,
+
+ 546, 547, 549, 553, 553, 553, 553, 553, 553, 553,
+ 553, 553, 553, 554, 554, 554, 554, 554, 554, 554,
+ 554, 554, 554, 555, 555, 555, 555, 555, 555, 555,
+ 555, 555, 555, 556, 556, 556, 556, 556, 556, 556,
+ 556, 556, 556, 557, 557, 557, 557, 557, 557, 557,
+ 557, 557, 557, 558, 558, 559, 559, 559, 0, 559,
+ 560, 560, 560, 560, 561, 561, 561, 0, 561, 561,
+ 561, 561, 561, 561, 562, 562, 562, 0, 562, 562,
+ 562, 562, 0, 562, 563, 563, 563, 563, 563, 563,
+ 563, 563, 563, 563, 564, 564, 0, 564, 564, 564,
+
+ 564, 564, 564, 564, 565, 0, 565, 565, 565, 565,
+ 565, 565, 565, 565, 566, 566, 567, 567, 552, 552,
+ 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
+ 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
+ 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
+ 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
+ 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
+ 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
+ 552, 552, 552, 552, 552, 552, 552, 552, 552, 552
} ;
/* Table of booleans, true if rule could match eol. */
-static yyconst flex_int32_t yy_rule_can_match_eol[151] =
+static yyconst flex_int32_t yy_rule_can_match_eol[153] =
{ 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,
@@ -927,8 +930,8 @@ static yyconst flex_int32_t yy_rule_can_match_eol[151] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
- 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, };
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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.
@@ -1045,7 +1048,7 @@ class UnaryOperation;
-#line 1049 "SqlLexer_gen.cpp"
+#line 1052 "SqlLexer_gen.cpp"
#define INITIAL 0
#define CONDITION_SQL 1
@@ -1336,7 +1339,7 @@ YY_DECL
#line 128 "../SqlLexer.lpp"
-#line 1340 "SqlLexer_gen.cpp"
+#line 1343 "SqlLexer_gen.cpp"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
@@ -1363,13 +1366,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 >= 545 )
+ if ( yy_current_state >= 553 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
- while ( yy_current_state != 544 );
+ while ( yy_current_state != 552 );
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
@@ -1678,62 +1681,62 @@ return TOKEN_FLOAT;
case 50:
YY_RULE_SETUP
#line 212 "../SqlLexer.lpp"
-return TOKEN_FOREIGN;
+return TOKEN_FOR;
YY_BREAK
case 51:
YY_RULE_SETUP
#line 213 "../SqlLexer.lpp"
-return TOKEN_FROM;
+return TOKEN_FOREIGN;
YY_BREAK
case 52:
YY_RULE_SETUP
#line 214 "../SqlLexer.lpp"
-return TOKEN_FULL;
+return TOKEN_FROM;
YY_BREAK
case 53:
YY_RULE_SETUP
#line 215 "../SqlLexer.lpp"
-return TOKEN_GROUP;
+return TOKEN_FULL;
YY_BREAK
case 54:
YY_RULE_SETUP
#line 216 "../SqlLexer.lpp"
-return TOKEN_HASH;
+return TOKEN_GROUP;
YY_BREAK
case 55:
YY_RULE_SETUP
#line 217 "../SqlLexer.lpp"
-return TOKEN_HAVING;
+return TOKEN_HASH;
YY_BREAK
case 56:
YY_RULE_SETUP
#line 218 "../SqlLexer.lpp"
-return TOKEN_HOUR;
+return TOKEN_HAVING;
YY_BREAK
case 57:
YY_RULE_SETUP
#line 219 "../SqlLexer.lpp"
-return TOKEN_IN;
+return TOKEN_HOUR;
YY_BREAK
case 58:
YY_RULE_SETUP
#line 220 "../SqlLexer.lpp"
-return TOKEN_INDEX;
+return TOKEN_IN;
YY_BREAK
case 59:
YY_RULE_SETUP
#line 221 "../SqlLexer.lpp"
-return TOKEN_INNER;
+return TOKEN_INDEX;
YY_BREAK
case 60:
YY_RULE_SETUP
#line 222 "../SqlLexer.lpp"
-return TOKEN_INSERT;
+return TOKEN_INNER;
YY_BREAK
case 61:
YY_RULE_SETUP
#line 223 "../SqlLexer.lpp"
-return TOKEN_INTEGER;
+return TOKEN_INSERT;
YY_BREAK
case 62:
YY_RULE_SETUP
@@ -1743,331 +1746,341 @@ return TOKEN_INTEGER;
case 63:
YY_RULE_SETUP
#line 225 "../SqlLexer.lpp"
-return TOKEN_INTERVAL;
+return TOKEN_INTEGER;
YY_BREAK
case 64:
YY_RULE_SETUP
#line 226 "../SqlLexer.lpp"
-return TOKEN_INTO;
+return TOKEN_INTERVAL;
YY_BREAK
case 65:
YY_RULE_SETUP
#line 227 "../SqlLexer.lpp"
-return TOKEN_IS;
+return TOKEN_INTO;
YY_BREAK
case 66:
YY_RULE_SETUP
#line 228 "../SqlLexer.lpp"
-return TOKEN_JOIN;
+return TOKEN_IS;
YY_BREAK
case 67:
YY_RULE_SETUP
#line 229 "../SqlLexer.lpp"
-return TOKEN_KEY;
+return TOKEN_JOIN;
YY_BREAK
case 68:
YY_RULE_SETUP
#line 230 "../SqlLexer.lpp"
-return TOKEN_LAST;
+return TOKEN_KEY;
YY_BREAK
case 69:
YY_RULE_SETUP
#line 231 "../SqlLexer.lpp"
-return TOKEN_LEFT;
+return TOKEN_LAST;
YY_BREAK
case 70:
YY_RULE_SETUP
#line 232 "../SqlLexer.lpp"
-return TOKEN_LIKE;
+return TOKEN_LEFT;
YY_BREAK
case 71:
YY_RULE_SETUP
#line 233 "../SqlLexer.lpp"
-return TOKEN_LIMIT;
+return TOKEN_LIKE;
YY_BREAK
case 72:
YY_RULE_SETUP
#line 234 "../SqlLexer.lpp"
-return TOKEN_LONG;
+return TOKEN_LIMIT;
YY_BREAK
case 73:
YY_RULE_SETUP
#line 235 "../SqlLexer.lpp"
-return TOKEN_MINUTE;
+return TOKEN_LONG;
YY_BREAK
case 74:
YY_RULE_SETUP
#line 236 "../SqlLexer.lpp"
-return TOKEN_MONTH;
+return TOKEN_MINUTE;
YY_BREAK
case 75:
YY_RULE_SETUP
#line 237 "../SqlLexer.lpp"
-return TOKEN_NOT;
+return TOKEN_MONTH;
YY_BREAK
case 76:
YY_RULE_SETUP
#line 238 "../SqlLexer.lpp"
-return TOKEN_NULL;
+return TOKEN_NOT;
YY_BREAK
case 77:
YY_RULE_SETUP
#line 239 "../SqlLexer.lpp"
-return TOKEN_NULLS;
+return TOKEN_NULL;
YY_BREAK
case 78:
YY_RULE_SETUP
#line 240 "../SqlLexer.lpp"
-return TOKEN_OFF;
+return TOKEN_NULLS;
YY_BREAK
case 79:
YY_RULE_SETUP
#line 241 "../SqlLexer.lpp"
-return TOKEN_ON;
+return TOKEN_OFF;
YY_BREAK
case 80:
YY_RULE_SETUP
#line 242 "../SqlLexer.lpp"
-return TOKEN_OR;
+return TOKEN_ON;
YY_BREAK
case 81:
YY_RULE_SETUP
#line 243 "../SqlLexer.lpp"
-return TOKEN_ORDER;
+return TOKEN_OR;
YY_BREAK
case 82:
YY_RULE_SETUP
#line 244 "../SqlLexer.lpp"
-return TOKEN_OUTER;
+return TOKEN_ORDER;
YY_BREAK
case 83:
YY_RULE_SETUP
#line 245 "../SqlLexer.lpp"
-return TOKEN_PARTITION;
+return TOKEN_OUTER;
YY_BREAK
case 84:
YY_RULE_SETUP
#line 246 "../SqlLexer.lpp"
-return TOKEN_PARTITIONS;
+return TOKEN_PARTITION;
YY_BREAK
case 85:
YY_RULE_SETUP
#line 247 "../SqlLexer.lpp"
-return TOKEN_PERCENT;
+return TOKEN_PARTITIONS;
YY_BREAK
case 86:
YY_RULE_SETUP
#line 248 "../SqlLexer.lpp"
-return TOKEN_PRIMARY;
+return TOKEN_PERCENT;
YY_BREAK
case 87:
YY_RULE_SETUP
#line 249 "../SqlLexer.lpp"
-return TOKEN_QUIT;
+return TOKEN_PRIMARY;
YY_BREAK
case 88:
YY_RULE_SETUP
#line 250 "../SqlLexer.lpp"
-return TOKEN_RANGE;
+return TOKEN_QUIT;
YY_BREAK
case 89:
YY_RULE_SETUP
#line 251 "../SqlLexer.lpp"
-return TOKEN_REAL;
+return TOKEN_RANGE;
YY_BREAK
case 90:
YY_RULE_SETUP
#line 252 "../SqlLexer.lpp"
-return TOKEN_REFERENCES;
+return TOKEN_REAL;
YY_BREAK
case 91:
YY_RULE_SETUP
#line 253 "../SqlLexer.lpp"
-return TOKEN_REGEXP;
+return TOKEN_REFERENCES;
YY_BREAK
case 92:
YY_RULE_SETUP
#line 254 "../SqlLexer.lpp"
-return TOKEN_RIGHT;
+return TOKEN_REGEXP;
YY_BREAK
case 93:
YY_RULE_SETUP
#line 255 "../SqlLexer.lpp"
-return TOKEN_ROW_DELIMITER;
+return TOKEN_RIGHT;
YY_BREAK
case 94:
YY_RULE_SETUP
#line 256 "../SqlLexer.lpp"
-return TOKEN_SECOND;
+return TOKEN_ROW_DELIMITER;
YY_BREAK
case 95:
YY_RULE_SETUP
#line 257 "../SqlLexer.lpp"
-return TOKEN_SELECT;
+return TOKEN_SECOND;
YY_BREAK
case 96:
YY_RULE_SETUP
#line 258 "../SqlLexer.lpp"
-return TOKEN_SET;
+return TOKEN_SELECT;
YY_BREAK
case 97:
YY_RULE_SETUP
#line 259 "../SqlLexer.lpp"
-return TOKEN_SMA;
+return TOKEN_SET;
YY_BREAK
case 98:
YY_RULE_SETUP
#line 260 "../SqlLexer.lpp"
-return TOKEN_SMALLINT;
+return TOKEN_SMA;
YY_BREAK
case 99:
YY_RULE_SETUP
#line 261 "../SqlLexer.lpp"
-return TOKEN_TABLE;
+return TOKEN_SMALLINT;
YY_BREAK
case 100:
YY_RULE_SETUP
#line 262 "../SqlLexer.lpp"
-return TOKEN_THEN;
+return TOKEN_SUBSTRING;
YY_BREAK
case 101:
YY_RULE_SETUP
#line 263 "../SqlLexer.lpp"
-return TOKEN_TIME;
+return TOKEN_TABLE;
YY_BREAK
case 102:
YY_RULE_SETUP
#line 264 "../SqlLexer.lpp"
-return TOKEN_TIMESTAMP;
+return TOKEN_THEN;
YY_BREAK
case 103:
YY_RULE_SETUP
#line 265 "../SqlLexer.lpp"
-return TOKEN_TRUE;
+return TOKEN_TIME;
YY_BREAK
case 104:
YY_RULE_SETUP
#line 266 "../SqlLexer.lpp"
-return TOKEN_TUPLESAMPLE;
+return TOKEN_TIMESTAMP;
YY_BREAK
case 105:
YY_RULE_SETUP
#line 267 "../SqlLexer.lpp"
-return TOKEN_UNIQUE;
+return TOKEN_TRUE;
YY_BREAK
case 106:
YY_RULE_SETUP
#line 268 "../SqlLexer.lpp"
-return TOKEN_UPDATE;
+return TOKEN_TUPLESAMPLE;
YY_BREAK
case 107:
YY_RULE_SETUP
#line 269 "../SqlLexer.lpp"
-return TOKEN_USING;
+return TOKEN_UNIQUE;
YY_BREAK
case 108:
YY_RULE_SETUP
#line 270 "../SqlLexer.lpp"
-return TOKEN_VALUES;
+return TOKEN_UPDATE;
YY_BREAK
case 109:
YY_RULE_SETUP
#line 271 "../SqlLexer.lpp"
-return TOKEN_VARCHAR;
+return TOKEN_USING;
YY_BREAK
case 110:
YY_RULE_SETUP
#line 272 "../SqlLexer.lpp"
-return TOKEN_WHEN;
+return TOKEN_VALUES;
YY_BREAK
case 111:
YY_RULE_SETUP
#line 273 "../SqlLexer.lpp"
-return TOKEN_WHERE;
+return TOKEN_VARCHAR;
YY_BREAK
case 112:
YY_RULE_SETUP
#line 274 "../SqlLexer.lpp"
-return TOKEN_WITH;
+return TOKEN_WHEN;
YY_BREAK
case 113:
YY_RULE_SETUP
#line 275 "../SqlLexer.lpp"
-return TOKEN_YEAR;
+return TOKEN_WHERE;
YY_BREAK
case 114:
YY_RULE_SETUP
#line 276 "../SqlLexer.lpp"
-return TOKEN_YEARMONTH;
+return TOKEN_WITH;
YY_BREAK
case 115:
YY_RULE_SETUP
-#line 278 "../SqlLexer.lpp"
-return TOKEN_EQ;
+#line 277 "../SqlLexer.lpp"
+return TOKEN_YEAR;
YY_BREAK
case 116:
YY_RULE_SETUP
-#line 279 "../SqlLexer.lpp"
-return TOKEN_NEQ;
+#line 278 "../SqlLexer.lpp"
+return TOKEN_YEARMONTH;
YY_BREAK
case 117:
YY_RULE_SETUP
#line 280 "../SqlLexer.lpp"
-return TOKEN_NEQ;
+return TOKEN_EQ;
YY_BREAK
case 118:
YY_RULE_SETUP
#line 281 "../SqlLexer.lpp"
-return TOKEN_LT;
+return TOKEN_NEQ;
YY_BREAK
case 119:
YY_RULE_SETUP
#line 282 "../SqlLexer.lpp"
-return TOKEN_GT;
+return TOKEN_NEQ;
YY_BREAK
case 120:
YY_RULE_SETUP
#line 283 "../SqlLexer.lpp"
-return TOKEN_LEQ;
+return TOKEN_LT;
YY_BREAK
case 121:
YY_RULE_SETUP
#line 284 "../SqlLexer.lpp"
-return TOKEN_GEQ;
+return TOKEN_GT;
YY_BREAK
case 122:
YY_RULE_SETUP
+#line 285 "../SqlLexer.lpp"
+return TOKEN_LEQ;
+ YY_BREAK
+case 123:
+YY_RULE_SETUP
#line 286 "../SqlLexer.lpp"
+return TOKEN_GEQ;
+ YY_BREAK
+case 124:
+YY_RULE_SETUP
+#line 288 "../SqlLexer.lpp"
return yytext[0];
YY_BREAK
-case 123:
+case 125:
YY_RULE_SETUP
-#line 287 "../SqlLexer.lpp"
+#line 289 "../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 124:
+case 126:
YY_RULE_SETUP
-#line 293 "../SqlLexer.lpp"
+#line 295 "../SqlLexer.lpp"
{
yylval->string_value_ = new quickstep::ParseString(yylloc->first_line, yylloc->first_column);
BEGIN(CONDITION_STRING_SINGLE_QUOTED_ESCAPED);
}
YY_BREAK
-case 125:
+case 127:
YY_RULE_SETUP
-#line 298 "../SqlLexer.lpp"
+#line 300 "../SqlLexer.lpp"
{
yylval->string_value_ = new quickstep::ParseString(yylloc->first_line, yylloc->first_column);
BEGIN(CONDITION_STRING_SINGLE_QUOTED);
}
YY_BREAK
-case 126:
+case 128:
YY_RULE_SETUP
-#line 303 "../SqlLexer.lpp"
+#line 305 "../SqlLexer.lpp"
{
yylval->string_value_ = new quickstep::ParseString(yylloc->first_line, yylloc->first_column);
BEGIN(CONDITION_STRING_DOUBLE_QUOTED);
@@ -2079,7 +2092,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 312 "../SqlLexer.lpp"
+#line 314 "../SqlLexer.lpp"
{
delete yylval->string_value_;
BEGIN(INITIAL);
@@ -2090,9 +2103,9 @@ case YY_STATE_EOF(CONDITION_STRING_DOUBLE_QUOTED):
/* Process escape sequences. */
-case 127:
+case 129:
YY_RULE_SETUP
-#line 322 "../SqlLexer.lpp"
+#line 324 "../SqlLexer.lpp"
{
/* Octal code */
unsigned int code;
@@ -2106,9 +2119,9 @@ YY_RULE_SETUP
yylval->string_value_->push_back(code);
}
YY_BREAK
-case 128:
+case 130:
YY_RULE_SETUP
-#line 334 "../SqlLexer.lpp"
+#line 336 "../SqlLexer.lpp"
{
/* Hexadecimal code */
unsigned int code;
@@ -2116,9 +2129,9 @@ YY_RULE_SETUP
yylval->string_value_->push_back(code);
}
YY_BREAK
-case 129:
+case 131:
YY_RULE_SETUP
-#line 340 "../SqlLexer.lpp"
+#line 342 "../SqlLexer.lpp"
{
/* A numeric escape sequence that isn't correctly specified. */
delete yylval->string_value_;
@@ -2127,58 +2140,58 @@ YY_RULE_SETUP
return TOKEN_LEX_ERROR;
}
YY_BREAK
-case 130:
+case 132:
YY_RULE_SETUP
-#line 347 "../SqlLexer.lpp"
+#line 349 "../SqlLexer.lpp"
{
/* Backspace */
yylval->string_value_->push_back('\b');
}
YY_BREAK
-case 131:
+case 133:
YY_RULE_SETUP
-#line 351 "../SqlLexer.lpp"
+#line 353 "../SqlLexer.lpp"
{
/* Form-feed */
yylval->string_value_->push_back('\f');
}
YY_BREAK
-case 132:
+case 134:
YY_RULE_SETUP
-#line 355 "../SqlLexer.lpp"
+#line 357 "../SqlLexer.lpp"
{
/* Newline */
yylval->string_value_->push_back('\n');
}
YY_BREAK
-case 133:
+case 135:
YY_RULE_SETUP
-#line 359 "../SqlLexer.lpp"
+#line 361 "../SqlLexer.lpp"
{
/* Carriage-return */
yylval->string_value_->push_back('\r');
}
YY_BREAK
-case 134:
+case 136:
YY_RULE_SETUP
-#line 363 "../SqlLexer.lpp"
+#line 365 "../SqlLexer.lpp"
{
/* Horizontal Tab */
yylval->string_value_->push_back('\t');
}
YY_BREAK
-case 135:
-/* rule 135 can match eol */
+case 137:
+/* rule 137 can match eol */
YY_RULE_SETUP
-#line 367 "../SqlLexer.lpp"
+#line 369 "../SqlLexer.lpp"
{
/* Any other character (including actual newline or carriage return) */
yylval->string_value_->push_back(yytext[1]);
}
YY_BREAK
-case 136:
+case 138:
YY_RULE_SETUP
-#line 371 "../SqlLexer.lpp"
+#line 373 "../SqlLexer.lpp"
{
/* This should only be encountered right before an EOF. */
delete yylval->string_value_;
@@ -2189,17 +2202,17 @@ YY_RULE_SETUP
YY_BREAK
-case 137:
+case 139:
YY_RULE_SETUP
-#line 381 "../SqlLexer.lpp"
+#line 383 "../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 138:
+case 140:
YY_RULE_SETUP
-#line 385 "../SqlLexer.lpp"
+#line 387 "../SqlLexer.lpp"
{
/* End string */
BEGIN(CONDITION_SQL);
@@ -2208,17 +2221,17 @@ YY_RULE_SETUP
YY_BREAK
-case 139:
+case 141:
YY_RULE_SETUP
-#line 393 "../SqlLexer.lpp"
+#line 395 "../SqlLexer.lpp"
{
/* Two quotes in a row become a single quote (this is specified by the SQL standard). */
yylval->string_value_->push_back('"');
}
YY_BREAK
-case 140:
+case 142:
YY_RULE_SETUP
-#line 397 "../SqlLexer.lpp"
+#line 399 "../SqlLexer.lpp"
{
/* End string */
BEGIN(CONDITION_SQL);
@@ -2226,94 +2239,94 @@ YY_RULE_SETUP
}
YY_BREAK
-case 141:
-/* rule 141 can match eol */
+case 143:
+/* rule 143 can match eol */
YY_RULE_SETUP
-#line 404 "../SqlLexer.lpp"
+#line 406 "../SqlLexer.lpp"
{
/* Scan up to a quote. */
yylval->string_value_->append(yytext, yyleng);
}
YY_BREAK
-case 142:
-/* rule 142 can match eol */
+case 144:
+/* rule 144 can match eol */
YY_RULE_SETUP
-#line 409 "../SqlLexer.lpp"
+#line 411 "../SqlLexer.lpp"
{
/* Scan up to a quote or escape sequence. */
yylval->string_value_->append(yytext, yyleng);
}
YY_BREAK
-case 143:
-/* rule 143 can match eol */
+case 145:
+/* rule 145 can match eol */
YY_RULE_SETUP
-#line 414 "../SqlLexer.lpp"
+#line 416 "../SqlLexer.lpp"
{
/* Scan up to a quote. */
yylval->string_value_->append(yytext, yyleng);
}
YY_BREAK
-case 144:
+case 146:
YY_RULE_SETUP
-#line 420 "../SqlLexer.lpp"
+#line 422 "../SqlLexer.lpp"
{
yylval->string_value_ = new quickstep::ParseString(
yylloc->first_line, yylloc->first_column, std::string(yytext, yyleng));
return TOKEN_NAME;
}
YY_BREAK
-case 145:
+case 147:
YY_RULE_SETUP
-#line 426 "../SqlLexer.lpp"
+#line 428 "../SqlLexer.lpp"
{
yylval->numeric_literal_value_ = new quickstep::NumericParseLiteralValue(
yylloc->first_line, yylloc->first_column, yytext);
return TOKEN_UNSIGNED_NUMVAL;
}
YY_BREAK
-case 146:
+case 148:
YY_RULE_SETUP
-#line 432 "../SqlLexer.lpp"
+#line 434 "../SqlLexer.lpp"
/* comment */
YY_BREAK
-case 147:
-/* rule 147 can match eol */
+case 149:
+/* rule 149 can match eol */
YY_RULE_SETUP
-#line 434 "../SqlLexer.lpp"
+#line 436 "../SqlLexer.lpp"
{ yycolumn = 0; }
YY_BREAK
-case 148:
+case 150:
YY_RULE_SETUP
-#line 436 "../SqlLexer.lpp"
+#line 438 "../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 440 "../SqlLexer.lpp"
+#line 442 "../SqlLexer.lpp"
{
/* All conditions except for mutli-state string extracting conditions. */
BEGIN(INITIAL);
return TOKEN_EOF;
}
YY_BREAK
-case 149:
+case 151:
YY_RULE_SETUP
-#line 446 "../SqlLexer.lpp"
+#line 448 "../SqlLexer.lpp"
{
BEGIN(INITIAL);
quickstep_yyerror(NULL, yyscanner, NULL, "illegal character");
return TOKEN_LEX_ERROR;
}
YY_BREAK
-case 150:
+case 152:
YY_RULE_SETUP
-#line 452 "../SqlLexer.lpp"
+#line 454 "../SqlLexer.lpp"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
-#line 2317 "SqlLexer_gen.cpp"
+#line 2330 "SqlLexer_gen.cpp"
case YY_END_OF_BUFFER:
{
@@ -2607,7 +2620,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 >= 545 )
+ if ( yy_current_state >= 553 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2636,11 +2649,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 >= 545 )
+ if ( yy_current_state >= 553 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- yy_is_jam = (yy_current_state == 544);
+ yy_is_jam = (yy_current_state == 552);
(void)yyg;
return yy_is_jam ? 0 : yy_current_state;
@@ -3474,7 +3487,7 @@ void quickstep_yyfree (void * ptr , yyscan_t yyscanner)
#define YYTABLES_NAME "yytables"
-#line 452 "../SqlLexer.lpp"
+#line 454 "../SqlLexer.lpp"
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/767b2ef1/parser/preprocessed/SqlLexer_gen.hpp
----------------------------------------------------------------------
diff --git a/parser/preprocessed/SqlLexer_gen.hpp b/parser/preprocessed/SqlLexer_gen.hpp
index d629f04..c14559b 100644
--- a/parser/preprocessed/SqlLexer_gen.hpp
+++ b/parser/preprocessed/SqlLexer_gen.hpp
@@ -360,7 +360,7 @@ extern int quickstep_yylex \
#undef YY_DECL
#endif
-#line 452 "../SqlLexer.lpp"
+#line 454 "../SqlLexer.lpp"
#line 367 "SqlLexer_gen.hpp"