You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@quickstep.apache.org by hb...@apache.org on 2016/06/20 17:31:06 UTC
[1/4] incubator-quickstep git commit: Added PRIORITY clause in
parser. [Forced Update!]
Repository: incubator-quickstep
Updated Branches:
refs/heads/parser-priority-clause cf6bb034a -> d64289148 (forced update)
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/d6428914/parser/preprocessed/SqlParser_gen.hpp
----------------------------------------------------------------------
diff --git a/parser/preprocessed/SqlParser_gen.hpp b/parser/preprocessed/SqlParser_gen.hpp
index fea31d6..0f66d1d 100644
--- a/parser/preprocessed/SqlParser_gen.hpp
+++ b/parser/preprocessed/SqlParser_gen.hpp
@@ -1,19 +1,19 @@
-/* A Bison parser, made by GNU Bison 3.0.4. */
+/* A Bison parser, made by GNU Bison 2.7. */
/* Bison interface for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
-
+
+ Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
@@ -26,13 +26,13 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
#ifndef YY_QUICKSTEP_YY_SQLPARSER_GEN_HPP_INCLUDED
# define YY_QUICKSTEP_YY_SQLPARSER_GEN_HPP_INCLUDED
-/* Debug traces. */
+/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
@@ -40,150 +40,152 @@
extern int quickstep_yydebug;
#endif
-/* Token type. */
+/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
- enum yytokentype
- {
- TOKEN_COMMAND = 258,
- TOKEN_NAME = 259,
- TOKEN_STRING_SINGLE_QUOTED = 260,
- TOKEN_STRING_DOUBLE_QUOTED = 261,
- TOKEN_UNSIGNED_NUMVAL = 262,
- TOKEN_OR = 263,
- TOKEN_AND = 264,
- TOKEN_NOT = 265,
- TOKEN_EQ = 266,
- TOKEN_LT = 267,
- TOKEN_LEQ = 268,
- TOKEN_GT = 269,
- TOKEN_GEQ = 270,
- TOKEN_NEQ = 271,
- TOKEN_LIKE = 272,
- TOKEN_REGEXP = 273,
- TOKEN_BETWEEN = 274,
- TOKEN_IS = 275,
- UNARY_PLUS = 276,
- UNARY_MINUS = 277,
- TOKEN_ADD = 278,
- TOKEN_ALL = 279,
- TOKEN_ALTER = 280,
- TOKEN_AS = 281,
- TOKEN_ASC = 282,
- TOKEN_BIGINT = 283,
- TOKEN_BIT = 284,
- TOKEN_BITWEAVING = 285,
- TOKEN_BLOCKPROPERTIES = 286,
- TOKEN_BLOCKSAMPLE = 287,
- TOKEN_BLOOM_FILTER = 288,
- TOKEN_CSB_TREE = 289,
- TOKEN_BY = 290,
- TOKEN_CASE = 291,
- TOKEN_CHARACTER = 292,
- TOKEN_CHECK = 293,
- TOKEN_COLUMN = 294,
- TOKEN_CONSTRAINT = 295,
- TOKEN_COPY = 296,
- TOKEN_CREATE = 297,
- TOKEN_CURRENT = 298,
- TOKEN_DATE = 299,
- TOKEN_DATETIME = 300,
- TOKEN_DAY = 301,
- TOKEN_DECIMAL = 302,
- TOKEN_DEFAULT = 303,
- TOKEN_DELETE = 304,
- TOKEN_DELIMITER = 305,
- TOKEN_DESC = 306,
- TOKEN_DISTINCT = 307,
- TOKEN_DOUBLE = 308,
- TOKEN_DROP = 309,
- TOKEN_ELSE = 310,
- TOKEN_END = 311,
- TOKEN_ESCAPE_STRINGS = 312,
- TOKEN_EXISTS = 313,
- TOKEN_EXTRACT = 314,
- TOKEN_FALSE = 315,
- TOKEN_FIRST = 316,
- TOKEN_FLOAT = 317,
- TOKEN_FOLLOWING = 318,
- TOKEN_FOR = 319,
- TOKEN_FOREIGN = 320,
- TOKEN_FROM = 321,
- TOKEN_FULL = 322,
- TOKEN_GROUP = 323,
- TOKEN_HASH = 324,
- TOKEN_HAVING = 325,
- TOKEN_HOUR = 326,
- TOKEN_IN = 327,
- TOKEN_INDEX = 328,
- TOKEN_INNER = 329,
- TOKEN_INSERT = 330,
- TOKEN_INTEGER = 331,
- TOKEN_INTERVAL = 332,
- TOKEN_INTO = 333,
- TOKEN_JOIN = 334,
- TOKEN_KEY = 335,
- TOKEN_LAST = 336,
- TOKEN_LEFT = 337,
- TOKEN_LIMIT = 338,
- TOKEN_LONG = 339,
- TOKEN_MINUTE = 340,
- TOKEN_MONTH = 341,
- TOKEN_NULL = 342,
- TOKEN_NULLS = 343,
- TOKEN_OFF = 344,
- TOKEN_ON = 345,
- TOKEN_ORDER = 346,
- TOKEN_OUTER = 347,
- TOKEN_OVER = 348,
- TOKEN_PARTITION = 349,
- TOKEN_PARTITIONS = 350,
- TOKEN_PERCENT = 351,
- TOKEN_PRECEDING = 352,
- TOKEN_PRIMARY = 353,
- TOKEN_QUIT = 354,
- TOKEN_RANGE = 355,
- TOKEN_REAL = 356,
- TOKEN_REFERENCES = 357,
- TOKEN_RIGHT = 358,
- TOKEN_ROW = 359,
- TOKEN_ROW_DELIMITER = 360,
- TOKEN_ROWS = 361,
- TOKEN_SECOND = 362,
- TOKEN_SELECT = 363,
- TOKEN_SET = 364,
- TOKEN_SMA = 365,
- TOKEN_SMALLINT = 366,
- TOKEN_SUBSTRING = 367,
- TOKEN_TABLE = 368,
- TOKEN_THEN = 369,
- TOKEN_TIME = 370,
- TOKEN_TIMESTAMP = 371,
- TOKEN_TRUE = 372,
- TOKEN_TUPLESAMPLE = 373,
- TOKEN_UNBOUNDED = 374,
- TOKEN_UNIQUE = 375,
- TOKEN_UPDATE = 376,
- TOKEN_USING = 377,
- TOKEN_VALUES = 378,
- TOKEN_VARCHAR = 379,
- TOKEN_WHEN = 380,
- TOKEN_WHERE = 381,
- TOKEN_WINDOW = 382,
- TOKEN_WITH = 383,
- TOKEN_YEAR = 384,
- TOKEN_YEARMONTH = 385,
- TOKEN_EOF = 386,
- TOKEN_LEX_ERROR = 387
- };
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ TOKEN_COMMAND = 258,
+ TOKEN_NAME = 259,
+ TOKEN_STRING_SINGLE_QUOTED = 260,
+ TOKEN_STRING_DOUBLE_QUOTED = 261,
+ TOKEN_UNSIGNED_NUMVAL = 262,
+ TOKEN_OR = 263,
+ TOKEN_AND = 264,
+ TOKEN_NOT = 265,
+ TOKEN_EQ = 266,
+ TOKEN_NEQ = 267,
+ TOKEN_GEQ = 268,
+ TOKEN_GT = 269,
+ TOKEN_LEQ = 270,
+ TOKEN_LT = 271,
+ TOKEN_REGEXP = 272,
+ TOKEN_LIKE = 273,
+ TOKEN_BETWEEN = 274,
+ TOKEN_IS = 275,
+ UNARY_MINUS = 276,
+ UNARY_PLUS = 277,
+ TOKEN_ADD = 278,
+ TOKEN_ALL = 279,
+ TOKEN_ALTER = 280,
+ TOKEN_AS = 281,
+ TOKEN_ASC = 282,
+ TOKEN_BIGINT = 283,
+ TOKEN_BIT = 284,
+ TOKEN_BITWEAVING = 285,
+ TOKEN_BLOCKPROPERTIES = 286,
+ TOKEN_BLOCKSAMPLE = 287,
+ TOKEN_BLOOM_FILTER = 288,
+ TOKEN_CSB_TREE = 289,
+ TOKEN_BY = 290,
+ TOKEN_CASE = 291,
+ TOKEN_CHARACTER = 292,
+ TOKEN_CHECK = 293,
+ TOKEN_COLUMN = 294,
+ TOKEN_CONSTRAINT = 295,
+ TOKEN_COPY = 296,
+ TOKEN_CREATE = 297,
+ TOKEN_CURRENT = 298,
+ TOKEN_DATE = 299,
+ TOKEN_DATETIME = 300,
+ TOKEN_DAY = 301,
+ TOKEN_DECIMAL = 302,
+ TOKEN_DEFAULT = 303,
+ TOKEN_DELETE = 304,
+ TOKEN_DELIMITER = 305,
+ TOKEN_DESC = 306,
+ TOKEN_DISTINCT = 307,
+ TOKEN_DOUBLE = 308,
+ TOKEN_DROP = 309,
+ TOKEN_ELSE = 310,
+ TOKEN_END = 311,
+ TOKEN_ESCAPE_STRINGS = 312,
+ TOKEN_EXISTS = 313,
+ TOKEN_EXTRACT = 314,
+ TOKEN_FALSE = 315,
+ TOKEN_FIRST = 316,
+ TOKEN_FLOAT = 317,
+ TOKEN_FOLLOWING = 318,
+ TOKEN_FOR = 319,
+ TOKEN_FOREIGN = 320,
+ TOKEN_FROM = 321,
+ TOKEN_FULL = 322,
+ TOKEN_GROUP = 323,
+ TOKEN_HASH = 324,
+ TOKEN_HAVING = 325,
+ TOKEN_HOUR = 326,
+ TOKEN_IN = 327,
+ TOKEN_INDEX = 328,
+ TOKEN_INNER = 329,
+ TOKEN_INSERT = 330,
+ TOKEN_INTEGER = 331,
+ TOKEN_INTERVAL = 332,
+ TOKEN_INTO = 333,
+ TOKEN_JOIN = 334,
+ TOKEN_KEY = 335,
+ TOKEN_LAST = 336,
+ TOKEN_LEFT = 337,
+ TOKEN_LIMIT = 338,
+ TOKEN_LONG = 339,
+ TOKEN_MINUTE = 340,
+ TOKEN_MONTH = 341,
+ TOKEN_NULL = 342,
+ TOKEN_NULLS = 343,
+ TOKEN_OFF = 344,
+ TOKEN_ON = 345,
+ TOKEN_ORDER = 346,
+ TOKEN_OUTER = 347,
+ TOKEN_OVER = 348,
+ TOKEN_PARTITION = 349,
+ TOKEN_PARTITIONS = 350,
+ TOKEN_PERCENT = 351,
+ TOKEN_PRECEDING = 352,
+ TOKEN_PRIMARY = 353,
+ TOKEN_PRIORITY = 354,
+ TOKEN_QUIT = 355,
+ TOKEN_RANGE = 356,
+ TOKEN_REAL = 357,
+ TOKEN_REFERENCES = 358,
+ TOKEN_RIGHT = 359,
+ TOKEN_ROW = 360,
+ TOKEN_ROW_DELIMITER = 361,
+ TOKEN_ROWS = 362,
+ TOKEN_SECOND = 363,
+ TOKEN_SELECT = 364,
+ TOKEN_SET = 365,
+ TOKEN_SMA = 366,
+ TOKEN_SMALLINT = 367,
+ TOKEN_SUBSTRING = 368,
+ TOKEN_TABLE = 369,
+ TOKEN_THEN = 370,
+ TOKEN_TIME = 371,
+ TOKEN_TIMESTAMP = 372,
+ TOKEN_TRUE = 373,
+ TOKEN_TUPLESAMPLE = 374,
+ TOKEN_UNBOUNDED = 375,
+ TOKEN_UNIQUE = 376,
+ TOKEN_UPDATE = 377,
+ TOKEN_USING = 378,
+ TOKEN_VALUES = 379,
+ TOKEN_VARCHAR = 380,
+ TOKEN_WHEN = 381,
+ TOKEN_WHERE = 382,
+ TOKEN_WINDOW = 383,
+ TOKEN_WITH = 384,
+ TOKEN_YEAR = 385,
+ TOKEN_YEARMONTH = 386,
+ TOKEN_EOF = 387,
+ TOKEN_LEX_ERROR = 388
+ };
#endif
-/* Value type. */
-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-union YYSTYPE
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
{
-#line 119 "../SqlParser.ypp" /* yacc.c:1909 */
+/* Line 2058 of yacc.c */
+#line 120 "../SqlParser.ypp"
quickstep::ParseString *string_value_;
@@ -281,30 +283,43 @@ union YYSTYPE
quickstep::PtrVector<quickstep::ParseSubqueryTableReference> *with_list_;
quickstep::ParseSubqueryTableReference *with_list_element_;
-#line 285 "SqlParser_gen.hpp" /* yacc.c:1909 */
-};
+ quickstep::ParsePriority *opt_priority_clause_;
+
-typedef union YYSTYPE YYSTYPE;
+/* Line 2058 of yacc.c */
+#line 291 "SqlParser_gen.hpp"
+} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
-/* Location type. */
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
-typedef struct YYLTYPE YYLTYPE;
-struct YYLTYPE
+typedef struct YYLTYPE
{
int first_line;
int first_column;
int last_line;
int last_column;
-};
+} YYLTYPE;
+# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif
-
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int quickstep_yyparse (void *YYPARSE_PARAM);
+#else
+int quickstep_yyparse ();
+#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
int quickstep_yyparse (yyscan_t yyscanner, quickstep::ParseStatement **parsedStatement);
+#else
+int quickstep_yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
#endif /* !YY_QUICKSTEP_YY_SQLPARSER_GEN_HPP_INCLUDED */
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/d6428914/parser/tests/Select.test
----------------------------------------------------------------------
diff --git a/parser/tests/Select.test b/parser/tests/Select.test
index 79da7ee..464c48f 100644
--- a/parser/tests/Select.test
+++ b/parser/tests/Select.test
@@ -480,6 +480,49 @@ SELECT 1 FROM test LIMIT abc
^
==
+# Priority
+SELECT 1 FROM test WITH PRIORITY 1
+--
+SelectStatement
++-select_query=Select
+| +-select_clause=SelectList
+| | +-SelectListItem
+| | +-Literal
+| | +-NumericLiteral[numeric_string=1,float_like=false]
+| +-from_clause=
+| +-TableReference[table=test]
++-priority=PRIORITY
+ +-NumericLiteral[numeric_string=1,float_like=false]
+==
+
+SELECT 1 FROM test WITH PRIORITY 1.1
+--
+ERROR: PRIORITY value must be an integer (1 : 34)
+SELECT 1 FROM test WITH PRIORITY 1.1
+ ^
+==
+
+SELECT 1 FROM test WITH PRIORITY 0
+--
+ERROR: PRIORITY value must be positive (1 : 34)
+SELECT 1 FROM test WITH PRIORITY 0
+ ^
+==
+
+SELECT 1 FROM test WITH PRIORITY -1
+--
+ERROR: syntax error (1 : 34)
+SELECT 1 FROM test WITH PRIORITY -1
+ ^
+==
+
+SELECT 1 FROM test WITH PRIORITY abc
+--
+ERROR: syntax error (1 : 34)
+SELECT 1 FROM test WITH PRIORITY abc
+ ^
+==
+
#
# Subqueries
#
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/d6428914/query_optimizer/QueryHandle.hpp
----------------------------------------------------------------------
diff --git a/query_optimizer/QueryHandle.hpp b/query_optimizer/QueryHandle.hpp
index a17d3e8..5f3649a 100644
--- a/query_optimizer/QueryHandle.hpp
+++ b/query_optimizer/QueryHandle.hpp
@@ -18,6 +18,7 @@
#define QUICKSTEP_QUERY_OPTIMIZER_QUERY_HANDLE_HPP_
#include <cstddef>
+#include <cstdint>
#include <memory>
#include <utility>
@@ -44,8 +45,10 @@ class QueryHandle {
*
* @param query_id The given query id.
*/
- explicit QueryHandle(const std::size_t query_id)
+ explicit QueryHandle(const std::size_t query_id,
+ const std::uint64_t query_priority = 1)
: query_id_(query_id),
+ query_priority_(query_priority),
query_plan_(new QueryPlan()),
query_result_relation_(nullptr) {}
@@ -61,6 +64,13 @@ class QueryHandle {
}
/**
+ * @brief Get the query priority.
+ **/
+ const std::uint64_t query_priority() const {
+ return query_priority_;
+ }
+
+ /**
* @return The mutable query plan.
*/
QueryPlan* getQueryPlanMutable() {
@@ -111,6 +121,7 @@ class QueryHandle {
private:
const std::size_t query_id_;
+ const std::uint64_t query_priority_;
std::unique_ptr<QueryPlan> query_plan_;
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/d6428914/query_optimizer/QueryProcessor.cpp
----------------------------------------------------------------------
diff --git a/query_optimizer/QueryProcessor.cpp b/query_optimizer/QueryProcessor.cpp
index b6fa3e0..6381d3a 100644
--- a/query_optimizer/QueryProcessor.cpp
+++ b/query_optimizer/QueryProcessor.cpp
@@ -17,6 +17,7 @@
#include "query_optimizer/QueryProcessor.hpp"
+#include <cstdint>
#include <cstdlib>
#include <fstream>
#include <memory>
@@ -37,7 +38,8 @@ using std::ofstream;
namespace quickstep {
QueryHandle* QueryProcessor::generateQueryHandle(const ParseStatement &statement) {
- std::unique_ptr<QueryHandle> query_handle(new QueryHandle(query_id_));
+ std::unique_ptr<QueryHandle> query_handle(
+ new QueryHandle(query_id_, statement.getPriority()));
optimizer::Optimizer optimizer(query_id_, getDefaultDatabase(), storage_manager_.get());
optimizer.generateQueryHandle(statement, query_handle.get());
[3/4] incubator-quickstep git commit: Added PRIORITY clause in parser.
Posted by hb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/d6428914/parser/preprocessed/SqlLexer_gen.cpp
----------------------------------------------------------------------
diff --git a/parser/preprocessed/SqlLexer_gen.cpp b/parser/preprocessed/SqlLexer_gen.cpp
index d02db56..b6c747c 100644
--- a/parser/preprocessed/SqlLexer_gen.cpp
+++ b/parser/preprocessed/SqlLexer_gen.cpp
@@ -8,8 +8,8 @@
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
+#define YY_FLEX_MINOR_VERSION 6
+#define YY_FLEX_SUBMINOR_VERSION 0
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
@@ -354,7 +354,7 @@ void quickstep_yyfree (void * ,yyscan_t yyscanner );
/* Begin user sect3 */
-#define quickstep_yywrap(yyscanner) 1
+#define quickstep_yywrap(yyscanner) (/*CONSTCOND*/1)
#define YY_SKIP_YYWRAP
typedef unsigned char YY_CHAR;
@@ -366,6 +366,9 @@ typedef int yy_state_type;
static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner);
static int yy_get_next_buffer (yyscan_t yyscanner );
+#if defined(__GNUC__) && __GNUC__ >= 3
+__attribute__((__noreturn__))
+#endif
static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
/* Done after the current pattern has been matched and before the
@@ -378,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 160
-#define YY_END_OF_BUFFER 161
+#define YY_NUM_RULES 161
+#define YY_END_OF_BUFFER 162
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -387,75 +390,77 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[588] =
+static yyconst flex_int16_t yy_accept[593] =
{ 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 161, 2, 2, 159, 159, 158, 157, 159,
- 136, 132, 135, 132, 132, 155, 128, 125, 129, 154,
- 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
- 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
- 154, 154, 154, 154, 133, 4, 5, 5, 3, 151,
- 151, 148, 152, 152, 146, 153, 153, 150, 1, 158,
- 126, 156, 155, 155, 155, 0, 130, 127, 131, 154,
- 154, 154, 154, 10, 154, 154, 154, 22, 154, 154,
- 154, 154, 154, 154, 154, 154, 154, 154, 154, 134,
-
- 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
- 154, 154, 154, 60, 68, 154, 154, 154, 154, 154,
- 154, 154, 154, 154, 154, 154, 82, 83, 154, 154,
- 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
- 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
- 154, 154, 154, 4, 5, 3, 151, 147, 152, 145,
- 145, 137, 139, 140, 141, 142, 143, 144, 145, 153,
- 149, 156, 155, 0, 155, 6, 7, 154, 9, 11,
- 154, 154, 15, 154, 154, 154, 154, 154, 154, 154,
- 154, 154, 154, 154, 33, 154, 154, 154, 154, 154,
-
- 154, 154, 154, 44, 154, 154, 154, 154, 154, 154,
- 154, 52, 154, 154, 154, 154, 154, 154, 154, 154,
- 154, 64, 154, 70, 154, 154, 154, 154, 154, 154,
- 154, 78, 154, 81, 154, 154, 154, 154, 154, 154,
- 154, 154, 154, 154, 154, 154, 154, 98, 154, 154,
- 103, 104, 154, 154, 154, 154, 154, 154, 154, 154,
- 154, 154, 154, 154, 154, 154, 154, 154, 137, 139,
- 138, 154, 154, 154, 154, 154, 154, 154, 20, 23,
- 154, 154, 154, 28, 154, 154, 154, 31, 154, 154,
- 154, 154, 38, 154, 154, 42, 43, 154, 154, 154,
-
- 154, 154, 154, 154, 154, 54, 55, 154, 57, 154,
- 59, 154, 154, 154, 154, 67, 69, 71, 72, 73,
- 154, 75, 154, 154, 79, 154, 154, 86, 154, 154,
- 154, 154, 92, 154, 94, 154, 154, 154, 100, 154,
- 154, 154, 154, 154, 154, 108, 109, 111, 154, 154,
- 154, 154, 154, 154, 154, 119, 154, 154, 122, 123,
- 137, 138, 8, 154, 154, 154, 154, 154, 154, 154,
- 25, 154, 154, 154, 154, 154, 154, 154, 154, 154,
- 154, 154, 154, 154, 154, 154, 154, 48, 49, 50,
- 154, 154, 56, 154, 61, 62, 154, 154, 154, 74,
-
- 154, 77, 80, 84, 85, 154, 154, 154, 154, 93,
- 154, 154, 97, 154, 154, 154, 154, 154, 107, 154,
- 154, 154, 154, 154, 116, 154, 154, 120, 154, 154,
- 154, 154, 14, 154, 154, 154, 154, 154, 26, 154,
- 29, 154, 154, 154, 154, 154, 36, 154, 154, 154,
- 41, 154, 46, 154, 154, 154, 58, 63, 154, 154,
- 76, 154, 154, 154, 154, 154, 96, 154, 101, 102,
- 154, 154, 154, 154, 154, 114, 115, 117, 154, 121,
- 154, 154, 13, 154, 154, 154, 154, 154, 154, 21,
- 30, 154, 34, 35, 154, 154, 154, 154, 47, 154,
-
- 53, 65, 154, 154, 89, 154, 91, 154, 154, 154,
- 154, 154, 154, 154, 118, 154, 154, 154, 154, 154,
- 154, 154, 154, 32, 154, 154, 40, 154, 154, 66,
- 154, 154, 154, 154, 105, 154, 154, 154, 154, 154,
- 12, 154, 154, 154, 154, 24, 154, 37, 154, 154,
- 51, 87, 90, 154, 154, 106, 110, 154, 113, 124,
- 16, 154, 154, 154, 27, 39, 154, 88, 95, 154,
- 154, 154, 18, 19, 154, 154, 112, 154, 154, 154,
- 154, 154, 99, 154, 45, 17, 0
+ 0, 0, 162, 2, 2, 160, 160, 159, 158, 160,
+ 137, 133, 136, 133, 133, 156, 129, 126, 130, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 134, 4, 5, 5, 3, 152,
+ 152, 149, 153, 153, 147, 154, 154, 151, 1, 159,
+ 127, 157, 156, 156, 156, 0, 131, 128, 132, 155,
+ 155, 155, 155, 10, 155, 155, 155, 22, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 135,
+
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 60, 68, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 82, 83, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 4, 5, 3, 152, 148, 153, 146,
+ 146, 138, 140, 141, 142, 143, 144, 145, 146, 154,
+ 150, 157, 156, 0, 156, 6, 7, 155, 9, 11,
+ 155, 155, 15, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 33, 155, 155, 155, 155, 155,
+
+ 155, 155, 155, 44, 155, 155, 155, 155, 155, 155,
+ 155, 52, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 64, 155, 70, 155, 155, 155, 155, 155, 155,
+ 155, 78, 155, 81, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 99, 155, 155,
+ 104, 105, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 138, 140,
+ 139, 155, 155, 155, 155, 155, 155, 155, 20, 23,
+ 155, 155, 155, 28, 155, 155, 155, 31, 155, 155,
+ 155, 155, 38, 155, 155, 42, 43, 155, 155, 155,
+
+ 155, 155, 155, 155, 155, 54, 55, 155, 57, 155,
+ 59, 155, 155, 155, 155, 67, 69, 71, 72, 73,
+ 155, 75, 155, 155, 79, 155, 155, 86, 155, 155,
+ 155, 155, 155, 93, 155, 95, 155, 155, 155, 101,
+ 155, 155, 155, 155, 155, 155, 109, 110, 112, 155,
+ 155, 155, 155, 155, 155, 155, 120, 155, 155, 123,
+ 124, 138, 139, 8, 155, 155, 155, 155, 155, 155,
+ 155, 25, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 48, 49,
+ 50, 155, 155, 56, 155, 61, 62, 155, 155, 155,
+
+ 74, 155, 77, 80, 84, 85, 155, 155, 155, 155,
+ 155, 94, 155, 155, 98, 155, 155, 155, 155, 155,
+ 108, 155, 155, 155, 155, 155, 117, 155, 155, 121,
+ 155, 155, 155, 155, 14, 155, 155, 155, 155, 155,
+ 26, 155, 29, 155, 155, 155, 155, 155, 36, 155,
+ 155, 155, 41, 155, 46, 155, 155, 155, 58, 63,
+ 155, 155, 76, 155, 155, 155, 155, 155, 155, 97,
+ 155, 102, 103, 155, 155, 155, 155, 155, 115, 116,
+ 118, 155, 122, 155, 155, 13, 155, 155, 155, 155,
+ 155, 155, 21, 30, 155, 34, 35, 155, 155, 155,
+
+ 155, 47, 155, 53, 65, 155, 155, 89, 155, 91,
+ 155, 155, 155, 155, 155, 155, 155, 155, 119, 155,
+ 155, 155, 155, 155, 155, 155, 155, 32, 155, 155,
+ 40, 155, 155, 66, 155, 155, 92, 155, 155, 106,
+ 155, 155, 155, 155, 155, 12, 155, 155, 155, 155,
+ 24, 155, 37, 155, 155, 51, 87, 90, 155, 155,
+ 107, 111, 155, 114, 125, 16, 155, 155, 155, 27,
+ 39, 155, 88, 96, 155, 155, 155, 18, 19, 155,
+ 155, 113, 155, 155, 155, 155, 155, 100, 155, 45,
+ 17, 0
+
} ;
-static yyconst flex_int32_t yy_ec[256] =
+static yyconst YY_CHAR yy_ec[256] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
@@ -487,7 +492,7 @@ static yyconst flex_int32_t yy_ec[256] =
1, 1, 1, 1, 1
} ;
-static yyconst flex_int32_t yy_meta[72] =
+static yyconst YY_CHAR yy_meta[72] =
{ 0,
1, 1, 2, 1, 1, 3, 1, 4, 1, 5,
5, 6, 6, 5, 1, 1, 1, 7, 7, 7,
@@ -499,27 +504,27 @@ static yyconst flex_int32_t yy_meta[72] =
8
} ;
-static yyconst flex_int16_t yy_base[603] =
+static yyconst flex_uint16_t yy_base[608] =
{ 0,
0, 1, 46, 0, 117, 163, 2, 3, 128, 132,
- 6, 10, 211, 1307, 1307, 0, 1307, 13, 1307, 194,
- 1307, 1307, 1307, 194, 6, 130, 4, 1307, 170, 124,
+ 6, 10, 211, 1312, 1312, 0, 1312, 13, 1312, 194,
+ 1312, 1312, 1312, 194, 6, 130, 4, 1312, 170, 124,
161, 215, 170, 207, 265, 92, 167, 162, 96, 107,
223, 165, 162, 221, 274, 92, 284, 277, 315, 206,
- 128, 232, 0, 125, 1307, 152, 4, 19, 0, 0,
+ 128, 232, 0, 125, 1312, 152, 4, 19, 0, 0,
0, 143, 0, 0, 379, 0, 0, 144, 0, 22,
- 1307, 0, 292, 305, 335, 18, 1307, 1307, 1307, 0,
+ 1312, 0, 292, 305, 335, 18, 1312, 1312, 1312, 0,
174, 264, 180, 186, 209, 271, 229, 0, 277, 333,
- 335, 312, 330, 317, 323, 338, 323, 333, 340, 1307,
+ 335, 312, 330, 317, 323, 338, 323, 333, 340, 1312,
339, 355, 357, 381, 370, 373, 377, 382, 380, 384,
383, 383, 383, 431, 0, 398, 383, 390, 406, 402,
403, 404, 425, 420, 431, 442, 0, 445, 432, 448,
436, 437, 451, 448, 444, 460, 452, 439, 489, 464,
468, 469, 468, 462, 455, 477, 501, 493, 489, 494,
- 502, 494, 510, 142, 29, 0, 0, 1307, 0, 1307,
- 1307, 22, 24, 1307, 1307, 1307, 1307, 1307, 0, 0,
- 1307, 0, 520, 26, 28, 0, 0, 508, 0, 512,
+ 502, 494, 510, 142, 29, 0, 0, 1312, 0, 1312,
+ 1312, 22, 24, 1312, 1312, 1312, 1312, 1312, 0, 0,
+ 1312, 0, 520, 26, 28, 0, 0, 508, 0, 512,
495, 510, 497, 530, 518, 506, 525, 508, 512, 509,
543, 530, 533, 550, 0, 547, 558, 556, 561, 546,
@@ -527,127 +532,127 @@ static yyconst flex_int16_t yy_base[603] =
566, 576, 569, 571, 565, 579, 580, 573, 587, 597,
598, 604, 594, 0, 593, 594, 612, 613, 616, 603,
605, 0, 614, 0, 622, 623, 611, 610, 630, 631,
- 622, 616, 632, 628, 636, 639, 637, 631, 632, 644,
- 0, 649, 647, 655, 657, 667, 670, 665, 665, 664,
- 681, 669, 663, 682, 673, 682, 680, 671, 30, 125,
- 0, 674, 679, 689, 683, 693, 688, 689, 0, 702,
- 694, 694, 688, 0, 699, 706, 720, 709, 717, 712,
- 715, 725, 734, 731, 729, 0, 0, 726, 723, 743,
-
- 740, 726, 727, 734, 741, 0, 0, 735, 0, 738,
- 0, 731, 738, 739, 759, 0, 0, 0, 0, 0,
- 740, 0, 741, 755, 746, 764, 765, 0, 778, 783,
- 786, 792, 0, 791, 0, 779, 774, 779, 0, 796,
- 787, 799, 791, 784, 800, 0, 788, 0, 803, 788,
- 789, 793, 807, 810, 810, 0, 814, 806, 0, 810,
- 136, 1307, 0, 820, 830, 820, 840, 830, 839, 848,
- 0, 840, 837, 851, 852, 844, 850, 859, 849, 857,
- 854, 851, 852, 862, 863, 852, 869, 0, 0, 0,
- 850, 869, 0, 870, 0, 0, 859, 876, 860, 0,
-
- 888, 0, 0, 0, 0, 878, 885, 899, 886, 0,
- 902, 893, 0, 907, 909, 894, 906, 898, 0, 897,
- 899, 905, 915, 916, 0, 904, 923, 0, 902, 911,
- 920, 916, 0, 909, 916, 934, 928, 919, 0, 939,
- 0, 946, 936, 944, 949, 942, 0, 945, 963, 967,
- 0, 93, 0, 951, 963, 959, 0, 0, 956, 974,
- 0, 967, 957, 969, 954, 967, 0, 970, 0, 0,
- 969, 975, 986, 987, 985, 0, 0, 0, 974, 0,
- 979, 981, 0, 988, 983, 996, 1002, 1010, 1010, 0,
- 0, 1015, 0, 0, 1018, 1016, 1008, 1010, 0, 1016,
-
- 0, 0, 1019, 1017, 0, 1019, 0, 1031, 1026, 1016,
- 1023, 1026, 1027, 1036, 0, 1022, 1038, 1032, 1031, 1034,
- 1031, 1035, 1041, 0, 1038, 1053, 0, 1052, 1066, 0,
- 1063, 1071, 1076, 1070, 0, 1079, 1071, 1072, 1085, 1082,
- 0, 1084, 1087, 1081, 1089, 0, 1075, 0, 1090, 1080,
- 0, 1080, 0, 1081, 1094, 0, 0, 1092, 0, 0,
- 0, 1087, 1103, 1091, 0, 0, 1102, 0, 0, 1093,
- 1109, 1105, 0, 0, 1116, 1126, 0, 1126, 1129, 1121,
- 1136, 1125, 0, 1126, 0, 0, 1307, 1191, 1201, 1211,
- 1221, 1231, 1235, 1238, 1244, 1252, 1262, 1272, 1282, 1292,
-
- 1297, 1299
+ 626, 615, 629, 628, 639, 640, 639, 631, 634, 656,
+ 0, 654, 648, 659, 658, 670, 672, 668, 666, 665,
+ 682, 670, 664, 683, 673, 684, 681, 674, 30, 125,
+ 0, 675, 680, 692, 684, 694, 691, 690, 0, 704,
+ 696, 695, 699, 0, 704, 707, 724, 710, 720, 714,
+ 718, 726, 735, 732, 730, 0, 0, 727, 724, 744,
+
+ 741, 727, 729, 735, 742, 0, 0, 736, 0, 741,
+ 0, 732, 739, 742, 759, 0, 0, 0, 0, 0,
+ 741, 0, 743, 757, 763, 765, 769, 0, 779, 786,
+ 788, 795, 779, 0, 793, 0, 781, 776, 781, 0,
+ 798, 789, 801, 793, 787, 803, 0, 790, 0, 805,
+ 792, 793, 795, 811, 814, 813, 0, 818, 809, 0,
+ 822, 136, 1312, 0, 836, 836, 825, 845, 835, 843,
+ 852, 0, 842, 839, 853, 854, 846, 852, 861, 851,
+ 860, 857, 853, 854, 866, 867, 854, 873, 0, 0,
+ 0, 854, 872, 0, 874, 0, 0, 862, 888, 876,
+
+ 0, 894, 0, 0, 0, 0, 883, 890, 903, 891,
+ 903, 0, 908, 898, 0, 910, 912, 897, 909, 901,
+ 0, 900, 902, 909, 919, 920, 0, 907, 928, 0,
+ 907, 916, 925, 921, 0, 915, 921, 939, 942, 936,
+ 0, 956, 0, 956, 942, 952, 955, 950, 0, 951,
+ 968, 970, 0, 93, 0, 954, 966, 962, 0, 0,
+ 959, 977, 0, 970, 961, 973, 958, 964, 973, 0,
+ 976, 0, 0, 975, 983, 992, 994, 993, 0, 0,
+ 0, 980, 0, 995, 1000, 0, 1006, 1004, 1007, 1011,
+ 1020, 1019, 0, 0, 1024, 0, 0, 1025, 1022, 1012,
+
+ 1014, 0, 1020, 0, 0, 1023, 1021, 0, 1023, 0,
+ 1014, 1037, 1032, 1022, 1031, 1033, 1034, 1045, 0, 1031,
+ 1046, 1041, 1040, 1051, 1052, 1055, 1063, 0, 1060, 1067,
+ 0, 1063, 1079, 0, 1073, 1081, 0, 1084, 1077, 0,
+ 1084, 1076, 1077, 1090, 1087, 0, 1090, 1093, 1087, 1095,
+ 0, 1083, 0, 1097, 1087, 0, 1089, 0, 1090, 1102,
+ 0, 0, 1101, 0, 0, 0, 1096, 1120, 1112, 0,
+ 0, 1122, 0, 0, 1115, 1131, 1119, 0, 0, 1127,
+ 1139, 0, 1136, 1139, 1129, 1143, 1130, 0, 1131, 0,
+ 0, 1312, 1196, 1206, 1216, 1226, 1236, 1240, 1243, 1249,
+
+ 1257, 1267, 1277, 1287, 1297, 1302, 1304
} ;
-static yyconst flex_int16_t yy_def[603] =
+static yyconst flex_int16_t yy_def[608] =
{ 0,
- 588, 588, 587, 3, 589, 589, 590, 590, 591, 591,
- 592, 592, 587, 587, 587, 593, 587, 587, 587, 587,
- 587, 587, 587, 587, 587, 587, 587, 587, 587, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 587, 587, 587, 587, 595, 596,
- 596, 587, 597, 597, 598, 599, 599, 587, 593, 587,
- 587, 600, 587, 587, 587, 587, 587, 587, 587, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 587,
-
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 587, 587, 595, 596, 587, 597, 587,
- 587, 587, 587, 587, 587, 587, 587, 587, 601, 599,
- 587, 600, 587, 587, 587, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
-
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 587, 587,
- 602, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
-
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 587, 587, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
-
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
-
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 594, 594, 594, 594, 594, 594, 0, 587, 587, 587,
- 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
-
- 587, 587
+ 593, 593, 592, 3, 594, 594, 595, 595, 596, 596,
+ 597, 597, 592, 592, 592, 598, 592, 592, 592, 592,
+ 592, 592, 592, 592, 592, 592, 592, 592, 592, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 592, 592, 592, 592, 600, 601,
+ 601, 592, 602, 602, 603, 604, 604, 592, 598, 592,
+ 592, 605, 592, 592, 592, 592, 592, 592, 592, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 592,
+
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 592, 592, 600, 601, 592, 602, 592,
+ 592, 592, 592, 592, 592, 592, 592, 592, 606, 604,
+ 592, 605, 592, 592, 592, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 592, 592,
+ 607, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 592, 592, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 0, 592, 592, 592, 592, 592, 592, 592, 592,
+
+ 592, 592, 592, 592, 592, 592, 592
} ;
-static yyconst flex_int16_t yy_nxt[1379] =
+static yyconst flex_uint16_t yy_nxt[1384] =
{ 0,
- 587, 587, 15, 15, 61, 61, 155, 155, 67, 62,
- 62, 68, 67, 587, 70, 68, 70, 73, 73, 77,
- 78, 155, 155, 70, 587, 70, 174, 174, 587, 175,
+ 592, 592, 15, 15, 61, 61, 155, 155, 67, 62,
+ 62, 68, 67, 592, 70, 68, 70, 73, 73, 77,
+ 78, 155, 155, 70, 592, 70, 174, 174, 592, 175,
175, 155, 155, 269, 270, 270, 270, 175, 175, 175,
- 175, 361, 270, 587, 16, 16, 17, 18, 19, 18,
+ 175, 362, 270, 592, 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,
@@ -657,7 +662,7 @@ static yyconst flex_int16_t yy_nxt[1379] =
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, 111, 116, 117, 134,
- 64, 17, 17, 17, 64, 62, 270, 270, 498, 62,
+ 64, 17, 17, 17, 64, 62, 270, 270, 501, 62,
74, 75, 75, 154, 81, 150, 153, 270, 270, 171,
158, 76, 82, 154, 83, 111, 116, 117, 134, 84,
17, 17, 17, 17, 56, 57, 58, 17, 17, 17,
@@ -666,35 +671,35 @@ static yyconst flex_int16_t yy_nxt[1379] =
122, 96, 114, 124, 176, 97, 123, 115, 113, 125,
179, 98, 88, 72, 99, 180, 17, 17, 17, 71,
- 587, 85, 587, 112, 100, 86, 95, 587, 87, 122,
+ 592, 85, 592, 112, 100, 86, 95, 592, 87, 122,
96, 114, 124, 176, 97, 123, 115, 113, 125, 179,
98, 88, 89, 99, 180, 101, 147, 102, 148, 90,
118, 149, 103, 126, 119, 181, 91, 104, 120, 92,
- 93, 127, 94, 587, 121, 128, 151, 152, 129, 130,
- 184, 89, 587, 587, 101, 147, 102, 148, 90, 118,
+ 93, 127, 94, 592, 121, 128, 151, 152, 129, 130,
+ 184, 89, 592, 592, 101, 147, 102, 148, 90, 118,
149, 103, 126, 119, 181, 91, 104, 120, 92, 93,
127, 94, 105, 121, 128, 151, 152, 129, 130, 184,
- 106, 131, 177, 107, 182, 132, 108, 587, 139, 109,
+ 106, 131, 177, 107, 182, 132, 108, 592, 139, 109,
178, 135, 110, 73, 73, 136, 140, 183, 133, 137,
- 587, 105, 185, 76, 141, 138, 173, 173, 587, 106,
+ 592, 105, 185, 76, 141, 138, 173, 173, 592, 106,
131, 177, 107, 182, 132, 108, 76, 139, 109, 178,
135, 110, 142, 191, 136, 140, 183, 133, 137, 143,
144, 185, 76, 141, 138, 74, 75, 75, 192, 145,
- 186, 193, 146, 587, 187, 76, 76, 196, 200, 194,
+ 186, 193, 146, 592, 187, 76, 76, 196, 200, 194,
197, 142, 191, 188, 195, 189, 198, 190, 143, 144,
- 201, 202, 587, 199, 203, 204, 205, 192, 145, 186,
- 193, 146, 161, 187, 587, 76, 196, 200, 194, 197,
+ 201, 202, 592, 199, 203, 204, 205, 192, 145, 186,
+ 193, 146, 161, 187, 592, 76, 196, 200, 194, 197,
162, 163, 188, 195, 189, 198, 190, 164, 208, 201,
202, 165, 199, 203, 204, 205, 206, 209, 210, 166,
211, 213, 214, 167, 215, 168, 212, 207, 216, 169,
- 218, 217, 587, 223, 224, 225, 164, 208, 226, 227,
- 165, 228, 587, 229, 230, 206, 209, 210, 166, 211,
+ 218, 217, 592, 223, 224, 225, 164, 208, 226, 227,
+ 165, 228, 592, 229, 230, 206, 209, 210, 166, 211,
213, 214, 167, 215, 168, 212, 207, 216, 169, 218,
217, 219, 223, 224, 225, 231, 232, 226, 227, 233,
228, 220, 229, 230, 234, 235, 221, 222, 236, 237,
- 238, 239, 240, 242, 243, 247, 241, 244, 248, 587,
+ 238, 239, 240, 242, 243, 247, 241, 244, 248, 592,
219, 252, 245, 246, 231, 232, 253, 254, 233, 255,
220, 256, 257, 234, 235, 221, 222, 236, 237, 238,
@@ -714,33 +719,33 @@ static yyconst flex_int16_t yy_nxt[1379] =
301, 302, 303, 304, 317, 315, 305, 306, 307, 318,
319, 308, 309, 320, 310, 316, 311, 312, 321, 322,
323, 324, 325, 326, 327, 328, 329, 313, 314, 330,
- 331, 332, 333, 317, 315, 334, 335, 336, 318, 319,
- 337, 338, 320, 341, 316, 342, 339, 321, 322, 323,
- 324, 325, 326, 327, 328, 329, 340, 343, 330, 331,
- 332, 333, 344, 345, 334, 335, 336, 346, 347, 337,
- 338, 348, 341, 349, 342, 339, 350, 351, 352, 353,
+ 331, 334, 335, 317, 315, 332, 336, 333, 318, 319,
+ 337, 338, 320, 339, 316, 342, 340, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 341, 343, 330, 331,
+ 334, 335, 344, 345, 332, 336, 333, 346, 347, 337,
+ 338, 348, 339, 349, 342, 340, 350, 351, 352, 353,
- 354, 355, 358, 356, 359, 360, 343, 357, 363, 364,
+ 354, 355, 356, 357, 359, 360, 343, 358, 361, 364,
365, 344, 345, 366, 367, 368, 346, 347, 369, 370,
348, 371, 349, 372, 373, 350, 351, 352, 353, 354,
- 355, 358, 356, 359, 360, 374, 357, 363, 364, 365,
+ 355, 356, 357, 359, 360, 374, 358, 361, 364, 365,
375, 376, 366, 367, 368, 377, 378, 369, 370, 379,
371, 380, 372, 373, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 374, 391, 392, 393, 394, 375,
- 376, 395, 396, 397, 377, 378, 400, 401, 379, 402,
- 380, 403, 398, 381, 382, 383, 384, 385, 386, 387,
- 388, 389, 390, 399, 391, 392, 393, 394, 404, 405,
+ 376, 395, 396, 397, 377, 378, 398, 401, 379, 402,
+ 380, 403, 399, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 400, 391, 392, 393, 394, 404, 405,
- 395, 396, 397, 406, 407, 400, 401, 408, 402, 409,
- 403, 398, 410, 411, 412, 413, 414, 415, 416, 417,
- 418, 419, 399, 420, 421, 422, 423, 404, 405, 424,
+ 395, 396, 397, 406, 407, 398, 401, 408, 402, 409,
+ 403, 399, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 419, 400, 420, 421, 422, 423, 404, 405, 424,
425, 426, 406, 407, 427, 428, 408, 429, 409, 430,
431, 410, 411, 412, 413, 414, 415, 416, 417, 418,
419, 432, 420, 421, 422, 423, 433, 434, 424, 425,
- 426, 437, 435, 427, 428, 436, 429, 438, 430, 431,
- 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
+ 426, 435, 436, 427, 428, 439, 429, 437, 430, 431,
+ 438, 440, 441, 442, 443, 444, 445, 446, 447, 448,
432, 449, 450, 451, 452, 433, 434, 453, 454, 455,
- 437, 435, 456, 457, 436, 458, 438, 459, 460, 439,
+ 435, 436, 456, 457, 439, 458, 437, 459, 460, 438,
440, 441, 442, 443, 444, 445, 446, 447, 448, 461,
449, 450, 451, 452, 462, 463, 453, 454, 455, 464,
@@ -750,11 +755,11 @@ static yyconst flex_int16_t yy_nxt[1379] =
485, 486, 466, 487, 467, 488, 489, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 490, 478, 479,
480, 481, 491, 492, 482, 483, 484, 493, 494, 485,
- 486, 495, 487, 496, 488, 489, 497, 499, 500, 501,
+ 486, 495, 487, 496, 488, 489, 497, 498, 499, 500,
502, 503, 504, 505, 506, 507, 490, 508, 509, 510,
511, 491, 492, 512, 513, 514, 493, 494, 515, 516,
- 495, 517, 496, 518, 519, 497, 499, 500, 501, 502,
+ 495, 517, 496, 518, 519, 497, 498, 499, 500, 502,
503, 504, 505, 506, 507, 520, 508, 509, 510, 511,
521, 522, 512, 513, 514, 523, 524, 515, 516, 525,
517, 526, 518, 519, 527, 528, 529, 530, 531, 532,
@@ -770,33 +775,34 @@ static yyconst flex_int16_t yy_nxt[1379] =
577, 556, 557, 558, 559, 560, 561, 562, 563, 564,
565, 578, 566, 567, 568, 569, 579, 580, 570, 571,
572, 581, 582, 573, 574, 583, 575, 584, 576, 577,
- 585, 586, 587, 587, 587, 587, 587, 587, 587, 587,
- 578, 587, 587, 587, 587, 579, 580, 587, 587, 587,
- 581, 582, 587, 587, 583, 587, 584, 587, 587, 585,
- 586, 14, 14, 14, 14, 14, 14, 14, 14, 14,
-
- 14, 59, 59, 59, 59, 59, 59, 59, 59, 59,
- 59, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 63, 63, 63, 63, 63, 63, 63, 63, 63,
- 63, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 69, 69, 80, 80, 80, 587, 80, 156, 156,
- 156, 156, 157, 157, 157, 587, 157, 157, 157, 157,
- 157, 157, 159, 159, 159, 587, 159, 159, 159, 159,
- 587, 159, 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 170, 170, 587, 170, 170, 170, 170, 170,
- 170, 170, 172, 587, 172, 172, 172, 172, 172, 172,
-
- 172, 172, 271, 271, 362, 362, 13, 587, 587, 587,
- 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
- 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
- 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
- 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
- 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
- 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
- 587, 587, 587, 587, 587, 587, 587, 587
+ 585, 586, 587, 588, 589, 590, 591, 592, 592, 592,
+ 578, 592, 592, 592, 592, 579, 580, 592, 592, 592,
+ 581, 582, 592, 592, 583, 592, 584, 592, 592, 585,
+ 586, 587, 588, 589, 590, 591, 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, 592, 80, 156, 156, 156, 156, 157, 157, 157,
+ 592, 157, 157, 157, 157, 157, 157, 159, 159, 159,
+ 592, 159, 159, 159, 159, 592, 159, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 170, 170, 592,
+ 170, 170, 170, 170, 170, 170, 170, 172, 592, 172,
+
+ 172, 172, 172, 172, 172, 172, 172, 271, 271, 363,
+ 363, 13, 592, 592, 592, 592, 592, 592, 592, 592,
+ 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
+ 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
+ 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
+ 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
+ 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
+ 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
+ 592, 592, 592
} ;
-static yyconst flex_int16_t yy_chk[1379] =
+static yyconst flex_int16_t yy_chk[1384] =
{ 0,
0, 0, 1, 2, 7, 8, 57, 57, 11, 7,
8, 11, 12, 0, 18, 12, 18, 25, 25, 27,
@@ -812,8 +818,8 @@ static yyconst flex_int16_t yy_chk[1379] =
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, 270, 270, 452, 10,
- 26, 26, 26, 154, 30, 51, 54, 361, 361, 68,
+ 9, 5, 5, 5, 10, 9, 270, 270, 454, 10,
+ 26, 26, 26, 154, 30, 51, 54, 362, 362, 68,
62, 26, 30, 56, 30, 36, 39, 40, 46, 30,
5, 5, 5, 6, 6, 6, 6, 6, 6, 6,
6, 6, 9, 30, 51, 54, 10, 6, 6, 6,
@@ -869,90 +875,91 @@ static yyconst flex_int16_t yy_chk[1379] =
208, 209, 210, 211, 223, 222, 212, 213, 214, 225,
226, 215, 216, 227, 217, 222, 218, 219, 228, 229,
230, 231, 233, 235, 236, 237, 238, 220, 221, 239,
- 240, 241, 242, 223, 222, 243, 244, 245, 225, 226,
- 246, 247, 227, 249, 222, 250, 248, 228, 229, 230,
- 231, 233, 235, 236, 237, 238, 248, 252, 239, 240,
- 241, 242, 253, 254, 243, 244, 245, 255, 256, 246,
- 247, 257, 249, 258, 250, 248, 259, 260, 261, 262,
-
- 263, 264, 266, 265, 267, 268, 252, 265, 272, 273,
- 274, 253, 254, 275, 276, 277, 255, 256, 278, 280,
- 257, 281, 258, 282, 283, 259, 260, 261, 262, 263,
- 264, 266, 265, 267, 268, 285, 265, 272, 273, 274,
- 286, 287, 275, 276, 277, 288, 289, 278, 280, 290,
- 281, 291, 282, 283, 292, 293, 294, 295, 298, 299,
- 300, 301, 302, 303, 285, 304, 305, 308, 310, 286,
- 287, 312, 313, 314, 288, 289, 321, 323, 290, 324,
- 291, 325, 315, 292, 293, 294, 295, 298, 299, 300,
- 301, 302, 303, 315, 304, 305, 308, 310, 326, 327,
-
- 312, 313, 314, 329, 330, 321, 323, 331, 324, 332,
- 325, 315, 334, 336, 337, 338, 340, 341, 342, 343,
- 344, 345, 315, 347, 349, 350, 351, 326, 327, 352,
- 353, 354, 329, 330, 355, 357, 331, 358, 332, 360,
- 364, 334, 336, 337, 338, 340, 341, 342, 343, 344,
- 345, 365, 347, 349, 350, 351, 366, 367, 352, 353,
- 354, 369, 368, 355, 357, 368, 358, 370, 360, 364,
- 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
- 365, 382, 383, 384, 385, 366, 367, 386, 387, 391,
- 369, 368, 392, 394, 368, 397, 370, 398, 399, 372,
-
- 373, 374, 375, 376, 377, 378, 379, 380, 381, 401,
- 382, 383, 384, 385, 406, 407, 386, 387, 391, 408,
- 409, 392, 394, 411, 397, 412, 398, 399, 414, 415,
- 416, 417, 418, 420, 421, 422, 423, 424, 401, 426,
- 427, 429, 430, 406, 407, 431, 432, 434, 408, 409,
- 435, 436, 411, 437, 412, 438, 440, 414, 415, 416,
- 417, 418, 420, 421, 422, 423, 424, 442, 426, 427,
- 429, 430, 443, 444, 431, 432, 434, 445, 446, 435,
- 436, 448, 437, 449, 438, 440, 450, 454, 455, 456,
- 459, 460, 462, 463, 464, 465, 442, 466, 468, 471,
-
- 472, 443, 444, 473, 474, 475, 445, 446, 479, 481,
- 448, 482, 449, 484, 485, 450, 454, 455, 456, 459,
- 460, 462, 463, 464, 465, 486, 466, 468, 471, 472,
- 487, 488, 473, 474, 475, 489, 492, 479, 481, 495,
- 482, 496, 484, 485, 497, 498, 500, 503, 504, 506,
- 508, 509, 510, 511, 486, 512, 513, 514, 516, 487,
- 488, 517, 518, 519, 489, 492, 520, 521, 495, 522,
- 496, 523, 525, 497, 498, 500, 503, 504, 506, 508,
- 509, 510, 511, 526, 512, 513, 514, 516, 528, 529,
- 517, 518, 519, 531, 532, 520, 521, 533, 522, 534,
-
- 523, 525, 536, 537, 538, 539, 540, 542, 543, 544,
- 545, 547, 526, 549, 550, 552, 554, 528, 529, 555,
- 558, 562, 531, 532, 563, 564, 533, 567, 534, 570,
- 571, 536, 537, 538, 539, 540, 542, 543, 544, 545,
- 547, 572, 549, 550, 552, 554, 575, 576, 555, 558,
- 562, 578, 579, 563, 564, 580, 567, 581, 570, 571,
- 582, 584, 0, 0, 0, 0, 0, 0, 0, 0,
- 572, 0, 0, 0, 0, 575, 576, 0, 0, 0,
- 578, 579, 0, 0, 580, 0, 581, 0, 0, 582,
- 584, 588, 588, 588, 588, 588, 588, 588, 588, 588,
-
- 588, 589, 589, 589, 589, 589, 589, 589, 589, 589,
- 589, 590, 590, 590, 590, 590, 590, 590, 590, 590,
- 590, 591, 591, 591, 591, 591, 591, 591, 591, 591,
- 591, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 593, 593, 594, 594, 594, 0, 594, 595, 595,
- 595, 595, 596, 596, 596, 0, 596, 596, 596, 596,
- 596, 596, 597, 597, 597, 0, 597, 597, 597, 597,
- 0, 597, 598, 598, 598, 598, 598, 598, 598, 598,
- 598, 598, 599, 599, 0, 599, 599, 599, 599, 599,
- 599, 599, 600, 0, 600, 600, 600, 600, 600, 600,
-
- 600, 600, 601, 601, 602, 602, 587, 587, 587, 587,
- 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
- 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
- 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
- 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
- 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
- 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
- 587, 587, 587, 587, 587, 587, 587, 587
+ 240, 242, 243, 223, 222, 241, 244, 241, 225, 226,
+ 245, 246, 227, 247, 222, 249, 248, 228, 229, 230,
+ 231, 233, 235, 236, 237, 238, 248, 250, 239, 240,
+ 242, 243, 252, 253, 241, 244, 241, 254, 255, 245,
+ 246, 256, 247, 257, 249, 248, 258, 259, 260, 261,
+
+ 262, 263, 264, 265, 266, 267, 250, 265, 268, 272,
+ 273, 252, 253, 274, 275, 276, 254, 255, 277, 278,
+ 256, 280, 257, 281, 282, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, 283, 265, 268, 272, 273,
+ 285, 286, 274, 275, 276, 287, 288, 277, 278, 289,
+ 280, 290, 281, 282, 291, 292, 293, 294, 295, 298,
+ 299, 300, 301, 302, 283, 303, 304, 305, 308, 285,
+ 286, 310, 312, 313, 287, 288, 314, 321, 289, 323,
+ 290, 324, 315, 291, 292, 293, 294, 295, 298, 299,
+ 300, 301, 302, 315, 303, 304, 305, 308, 325, 326,
+
+ 310, 312, 313, 327, 329, 314, 321, 330, 323, 331,
+ 324, 315, 332, 333, 335, 337, 338, 339, 341, 342,
+ 343, 344, 315, 345, 346, 348, 350, 325, 326, 351,
+ 352, 353, 327, 329, 354, 355, 330, 356, 331, 358,
+ 359, 332, 333, 335, 337, 338, 339, 341, 342, 343,
+ 344, 361, 345, 346, 348, 350, 365, 366, 351, 352,
+ 353, 367, 368, 354, 355, 370, 356, 369, 358, 359,
+ 369, 371, 373, 374, 375, 376, 377, 378, 379, 380,
+ 361, 381, 382, 383, 384, 365, 366, 385, 386, 387,
+ 367, 368, 388, 392, 370, 393, 369, 395, 398, 369,
+
+ 371, 373, 374, 375, 376, 377, 378, 379, 380, 399,
+ 381, 382, 383, 384, 400, 402, 385, 386, 387, 407,
+ 408, 388, 392, 409, 393, 410, 395, 398, 411, 413,
+ 414, 416, 417, 418, 419, 420, 422, 423, 399, 424,
+ 425, 426, 428, 400, 402, 429, 431, 432, 407, 408,
+ 433, 434, 409, 436, 410, 437, 438, 411, 413, 414,
+ 416, 417, 418, 419, 420, 422, 423, 439, 424, 425,
+ 426, 428, 440, 442, 429, 431, 432, 444, 445, 433,
+ 434, 446, 436, 447, 437, 438, 448, 450, 451, 452,
+ 456, 457, 458, 461, 462, 464, 439, 465, 466, 467,
+
+ 468, 440, 442, 469, 471, 474, 444, 445, 475, 476,
+ 446, 477, 447, 478, 482, 448, 450, 451, 452, 456,
+ 457, 458, 461, 462, 464, 484, 465, 466, 467, 468,
+ 485, 487, 469, 471, 474, 488, 489, 475, 476, 490,
+ 477, 491, 478, 482, 492, 495, 498, 499, 500, 501,
+ 503, 506, 507, 509, 484, 511, 512, 513, 514, 485,
+ 487, 515, 516, 517, 488, 489, 518, 520, 490, 521,
+ 491, 522, 523, 492, 495, 498, 499, 500, 501, 503,
+ 506, 507, 509, 524, 511, 512, 513, 514, 525, 526,
+ 515, 516, 517, 527, 529, 518, 520, 530, 521, 532,
+
+ 522, 523, 533, 535, 536, 538, 539, 541, 542, 543,
+ 544, 545, 524, 547, 548, 549, 550, 525, 526, 552,
+ 554, 555, 527, 529, 557, 559, 530, 560, 532, 563,
+ 567, 533, 535, 536, 538, 539, 541, 542, 543, 544,
+ 545, 568, 547, 548, 549, 550, 569, 572, 552, 554,
+ 555, 575, 576, 557, 559, 577, 560, 580, 563, 567,
+ 581, 583, 584, 585, 586, 587, 589, 0, 0, 0,
+ 568, 0, 0, 0, 0, 569, 572, 0, 0, 0,
+ 575, 576, 0, 0, 577, 0, 580, 0, 0, 581,
+ 583, 584, 585, 586, 587, 589, 593, 593, 593, 593,
+
+ 593, 593, 593, 593, 593, 593, 594, 594, 594, 594,
+ 594, 594, 594, 594, 594, 594, 595, 595, 595, 595,
+ 595, 595, 595, 595, 595, 595, 596, 596, 596, 596,
+ 596, 596, 596, 596, 596, 596, 597, 597, 597, 597,
+ 597, 597, 597, 597, 597, 597, 598, 598, 599, 599,
+ 599, 0, 599, 600, 600, 600, 600, 601, 601, 601,
+ 0, 601, 601, 601, 601, 601, 601, 602, 602, 602,
+ 0, 602, 602, 602, 602, 0, 602, 603, 603, 603,
+ 603, 603, 603, 603, 603, 603, 603, 604, 604, 0,
+ 604, 604, 604, 604, 604, 604, 604, 605, 0, 605,
+
+ 605, 605, 605, 605, 605, 605, 605, 606, 606, 607,
+ 607, 592, 592, 592, 592, 592, 592, 592, 592, 592,
+ 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
+ 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
+ 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
+ 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
+ 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
+ 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
+ 592, 592, 592
} ;
/* Table of booleans, true if rule could match eol. */
-static yyconst flex_int32_t yy_rule_can_match_eol[161] =
+static yyconst flex_int32_t yy_rule_can_match_eol[162] =
{ 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,
@@ -961,8 +968,8 @@ static yyconst flex_int32_t yy_rule_can_match_eol[161] =
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, 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.
@@ -1028,6 +1035,7 @@ class ParseOrderBy;
class ParseOrderByItem;
class ParsePartitionClause;
class ParsePredicate;
+class ParsePriority;
class ParseSample;
class ParseScalarLiteral;
class ParseSearchedWhenClause;
@@ -1081,7 +1089,7 @@ class UnaryOperation;
-#line 1085 "SqlLexer_gen.cpp"
+#line 1093 "SqlLexer_gen.cpp"
#define INITIAL 0
#define CONDITION_SQL 1
@@ -1167,11 +1175,11 @@ void quickstep_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
FILE *quickstep_yyget_in (yyscan_t yyscanner );
-void quickstep_yyset_in (FILE * in_str ,yyscan_t yyscanner );
+void quickstep_yyset_in (FILE * _in_str ,yyscan_t yyscanner );
FILE *quickstep_yyget_out (yyscan_t yyscanner );
-void quickstep_yyset_out (FILE * out_str ,yyscan_t yyscanner );
+void quickstep_yyset_out (FILE * _out_str ,yyscan_t yyscanner );
yy_size_t quickstep_yyget_leng (yyscan_t yyscanner );
@@ -1179,11 +1187,11 @@ char *quickstep_yyget_text (yyscan_t yyscanner );
int quickstep_yyget_lineno (yyscan_t yyscanner );
-void quickstep_yyset_lineno (int line_number ,yyscan_t yyscanner );
+void quickstep_yyset_lineno (int _line_number ,yyscan_t yyscanner );
int quickstep_yyget_column (yyscan_t yyscanner );
-void quickstep_yyset_column (int column_no ,yyscan_t yyscanner );
+void quickstep_yyset_column (int _column_no ,yyscan_t yyscanner );
YYSTYPE * quickstep_yyget_lval (yyscan_t yyscanner );
@@ -1205,6 +1213,10 @@ extern int quickstep_yywrap (yyscan_t yyscanner );
#endif
#endif
+#ifndef YY_NO_UNPUT
+
+#endif
+
#ifndef yytext_ptr
static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
#endif
@@ -1319,7 +1331,7 @@ extern int quickstep_yylex \
/* Code executed at the end of each rule. */
#ifndef YY_BREAK
-#define YY_BREAK break;
+#define YY_BREAK /*LINTED*/break;
#endif
#define YY_RULE_SETUP \
@@ -1329,9 +1341,9 @@ extern int quickstep_yylex \
*/
YY_DECL
{
- register yy_state_type yy_current_state;
- register char *yy_cp, *yy_bp;
- register int yy_act;
+ yy_state_type yy_current_state;
+ char *yy_cp, *yy_bp;
+ int yy_act;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
yylval = yylval_param;
@@ -1365,12 +1377,12 @@ YY_DECL
}
{
-#line 130 "../SqlLexer.lpp"
+#line 131 "../SqlLexer.lpp"
-#line 1372 "SqlLexer_gen.cpp"
+#line 1384 "SqlLexer_gen.cpp"
- while ( 1 ) /* loops until end-of-file is reached */
+ while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
yy_cp = yyg->yy_c_buf_p;
@@ -1386,7 +1398,7 @@ YY_DECL
yy_match:
do
{
- register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
+ YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
if ( yy_accept[yy_current_state] )
{
yyg->yy_last_accepting_state = yy_current_state;
@@ -1395,13 +1407,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 >= 588 )
+ if ( yy_current_state >= 593 )
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 != 587 );
+ while ( yy_current_state != 592 );
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
@@ -1435,7 +1447,7 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
-#line 133 "../SqlLexer.lpp"
+#line 134 "../SqlLexer.lpp"
{
/* A forward slash character represents a system command. */
BEGIN(CONDITION_COMMAND);
@@ -1447,7 +1459,7 @@ YY_RULE_SETUP
case 2:
/* rule 2 can match eol */
YY_RULE_SETUP
-#line 141 "../SqlLexer.lpp"
+#line 142 "../SqlLexer.lpp"
{
/* This is a SQL command. Place the char back and process normally. */
yyless(0);
@@ -1459,7 +1471,7 @@ YY_RULE_SETUP
case 3:
YY_RULE_SETUP
-#line 150 "../SqlLexer.lpp"
+#line 151 "../SqlLexer.lpp"
{
/* This is a command argument. */
yylval->string_value_ = new quickstep::ParseString(
@@ -1469,7 +1481,7 @@ YY_RULE_SETUP
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 157 "../SqlLexer.lpp"
+#line 158 "../SqlLexer.lpp"
{
/* Ignore whitespace. */
}
@@ -1477,7 +1489,7 @@ YY_RULE_SETUP
case 5:
/* rule 5 can match eol */
YY_RULE_SETUP
-#line 161 "../SqlLexer.lpp"
+#line 162 "../SqlLexer.lpp"
{
/* Newline reverts the lexer to the initial state. */
yycolumn = 0;
@@ -1489,667 +1501,672 @@ YY_RULE_SETUP
case 6:
YY_RULE_SETUP
-#line 170 "../SqlLexer.lpp"
+#line 171 "../SqlLexer.lpp"
return TOKEN_ADD;
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 171 "../SqlLexer.lpp"
+#line 172 "../SqlLexer.lpp"
return TOKEN_ALL;
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 172 "../SqlLexer.lpp"
+#line 173 "../SqlLexer.lpp"
return TOKEN_ALTER;
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 173 "../SqlLexer.lpp"
+#line 174 "../SqlLexer.lpp"
return TOKEN_AND;
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 174 "../SqlLexer.lpp"
+#line 175 "../SqlLexer.lpp"
return TOKEN_AS;
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 175 "../SqlLexer.lpp"
+#line 176 "../SqlLexer.lpp"
return TOKEN_ASC;
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 176 "../SqlLexer.lpp"
+#line 177 "../SqlLexer.lpp"
return TOKEN_ASC;
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 177 "../SqlLexer.lpp"
+#line 178 "../SqlLexer.lpp"
return TOKEN_BETWEEN;
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 178 "../SqlLexer.lpp"
+#line 179 "../SqlLexer.lpp"
return TOKEN_BIGINT;
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 179 "../SqlLexer.lpp"
+#line 180 "../SqlLexer.lpp"
return TOKEN_BIT;
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 180 "../SqlLexer.lpp"
+#line 181 "../SqlLexer.lpp"
return TOKEN_BITWEAVING;
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 181 "../SqlLexer.lpp"
+#line 182 "../SqlLexer.lpp"
return TOKEN_BLOCKPROPERTIES;
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 182 "../SqlLexer.lpp"
+#line 183 "../SqlLexer.lpp"
return TOKEN_BLOCKSAMPLE;
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 183 "../SqlLexer.lpp"
+#line 184 "../SqlLexer.lpp"
return TOKEN_BLOOM_FILTER;
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 184 "../SqlLexer.lpp"
+#line 185 "../SqlLexer.lpp"
return TOKEN_CASE;
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 185 "../SqlLexer.lpp"
+#line 186 "../SqlLexer.lpp"
return TOKEN_CSB_TREE;
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 186 "../SqlLexer.lpp"
+#line 187 "../SqlLexer.lpp"
return TOKEN_BY;
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 187 "../SqlLexer.lpp"
+#line 188 "../SqlLexer.lpp"
return TOKEN_CHARACTER;
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 188 "../SqlLexer.lpp"
+#line 189 "../SqlLexer.lpp"
return TOKEN_CHARACTER;
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 189 "../SqlLexer.lpp"
+#line 190 "../SqlLexer.lpp"
return TOKEN_CHECK;
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 190 "../SqlLexer.lpp"
+#line 191 "../SqlLexer.lpp"
return TOKEN_COLUMN;
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 191 "../SqlLexer.lpp"
+#line 192 "../SqlLexer.lpp"
return TOKEN_CONSTRAINT;
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 192 "../SqlLexer.lpp"
+#line 193 "../SqlLexer.lpp"
return TOKEN_COPY;
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 193 "../SqlLexer.lpp"
+#line 194 "../SqlLexer.lpp"
return TOKEN_CREATE;
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 194 "../SqlLexer.lpp"
+#line 195 "../SqlLexer.lpp"
return TOKEN_CURRENT;
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 195 "../SqlLexer.lpp"
+#line 196 "../SqlLexer.lpp"
return TOKEN_DATE;
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 196 "../SqlLexer.lpp"
+#line 197 "../SqlLexer.lpp"
return TOKEN_DATETIME;
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 197 "../SqlLexer.lpp"
+#line 198 "../SqlLexer.lpp"
return TOKEN_DAY;
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 198 "../SqlLexer.lpp"
+#line 199 "../SqlLexer.lpp"
return TOKEN_DECIMAL;
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 199 "../SqlLexer.lpp"
+#line 200 "../SqlLexer.lpp"
return TOKEN_DEFAULT;
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 200 "../SqlLexer.lpp"
+#line 201 "../SqlLexer.lpp"
return TOKEN_DELETE;
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 201 "../SqlLexer.lpp"
+#line 202 "../SqlLexer.lpp"
return TOKEN_DELIMITER;
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 202 "../SqlLexer.lpp"
+#line 203 "../SqlLexer.lpp"
return TOKEN_DESC;
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 203 "../SqlLexer.lpp"
+#line 204 "../SqlLexer.lpp"
return TOKEN_DESC;
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 204 "../SqlLexer.lpp"
+#line 205 "../SqlLexer.lpp"
return TOKEN_DISTINCT;
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 205 "../SqlLexer.lpp"
+#line 206 "../SqlLexer.lpp"
return TOKEN_DOUBLE;
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 206 "../SqlLexer.lpp"
+#line 207 "../SqlLexer.lpp"
return TOKEN_DROP;
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 207 "../SqlLexer.lpp"
+#line 208 "../SqlLexer.lpp"
return TOKEN_ELSE;
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 208 "../SqlLexer.lpp"
+#line 209 "../SqlLexer.lpp"
return TOKEN_END;
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 209 "../SqlLexer.lpp"
+#line 210 "../SqlLexer.lpp"
return TOKEN_ESCAPE_STRINGS;
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 210 "../SqlLexer.lpp"
+#line 211 "../SqlLexer.lpp"
return TOKEN_EXISTS;
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 211 "../SqlLexer.lpp"
+#line 212 "../SqlLexer.lpp"
return TOKEN_EXTRACT;
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 212 "../SqlLexer.lpp"
+#line 213 "../SqlLexer.lpp"
return TOKEN_FALSE;
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 213 "../SqlLexer.lpp"
+#line 214 "../SqlLexer.lpp"
return TOKEN_FIRST;
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 214 "../SqlLexer.lpp"
+#line 215 "../SqlLexer.lpp"
return TOKEN_FLOAT;
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 215 "../SqlLexer.lpp"
+#line 216 "../SqlLexer.lpp"
return TOKEN_FOLLOWING;
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 216 "../SqlLexer.lpp"
+#line 217 "../SqlLexer.lpp"
return TOKEN_FOR;
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 217 "../SqlLexer.lpp"
+#line 218 "../SqlLexer.lpp"
return TOKEN_FOREIGN;
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 218 "../SqlLexer.lpp"
+#line 219 "../SqlLexer.lpp"
return TOKEN_FROM;
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 219 "../SqlLexer.lpp"
+#line 220 "../SqlLexer.lpp"
return TOKEN_FULL;
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 220 "../SqlLexer.lpp"
+#line 221 "../SqlLexer.lpp"
return TOKEN_GROUP;
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 221 "../SqlLexer.lpp"
+#line 222 "../SqlLexer.lpp"
return TOKEN_HASH;
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 222 "../SqlLexer.lpp"
+#line 223 "../SqlLexer.lpp"
return TOKEN_HAVING;
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 223 "../SqlLexer.lpp"
+#line 224 "../SqlLexer.lpp"
return TOKEN_HOUR;
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 224 "../SqlLexer.lpp"
+#line 225 "../SqlLexer.lpp"
return TOKEN_IN;
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 225 "../SqlLexer.lpp"
+#line 226 "../SqlLexer.lpp"
return TOKEN_INDEX;
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 226 "../SqlLexer.lpp"
+#line 227 "../SqlLexer.lpp"
return TOKEN_INNER;
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 227 "../SqlLexer.lpp"
+#line 228 "../SqlLexer.lpp"
return TOKEN_INSERT;
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 228 "../SqlLexer.lpp"
+#line 229 "../SqlLexer.lpp"
return TOKEN_INTEGER;
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 229 "../SqlLexer.lpp"
+#line 230 "../SqlLexer.lpp"
return TOKEN_INTEGER;
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 230 "../SqlLexer.lpp"
+#line 231 "../SqlLexer.lpp"
return TOKEN_INTERVAL;
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 231 "../SqlLexer.lpp"
+#line 232 "../SqlLexer.lpp"
return TOKEN_INTO;
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 232 "../SqlLexer.lpp"
+#line 233 "../SqlLexer.lpp"
return TOKEN_IS;
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 233 "../SqlLexer.lpp"
+#line 234 "../SqlLexer.lpp"
return TOKEN_JOIN;
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 234 "../SqlLexer.lpp"
+#line 235 "../SqlLexer.lpp"
return TOKEN_KEY;
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 235 "../SqlLexer.lpp"
+#line 236 "../SqlLexer.lpp"
return TOKEN_LAST;
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 236 "../SqlLexer.lpp"
+#line 237 "../SqlLexer.lpp"
return TOKEN_LEFT;
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 237 "../SqlLexer.lpp"
+#line 238 "../SqlLexer.lpp"
return TOKEN_LIKE;
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 238 "../SqlLexer.lpp"
+#line 239 "../SqlLexer.lpp"
return TOKEN_LIMIT;
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 239 "../SqlLexer.lpp"
+#line 240 "../SqlLexer.lpp"
return TOKEN_LONG;
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 240 "../SqlLexer.lpp"
+#line 241 "../SqlLexer.lpp"
return TOKEN_MINUTE;
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 241 "../SqlLexer.lpp"
+#line 242 "../SqlLexer.lpp"
return TOKEN_MONTH;
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 242 "../SqlLexer.lpp"
+#line 243 "../SqlLexer.lpp"
return TOKEN_NOT;
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 243 "../SqlLexer.lpp"
+#line 244 "../SqlLexer.lpp"
return TOKEN_NULL;
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 244 "../SqlLexer.lpp"
+#line 245 "../SqlLexer.lpp"
return TOKEN_NULLS;
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 245 "../SqlLexer.lpp"
+#line 246 "../SqlLexer.lpp"
return TOKEN_OFF;
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 246 "../SqlLexer.lpp"
+#line 247 "../SqlLexer.lpp"
return TOKEN_ON;
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 247 "../SqlLexer.lpp"
+#line 248 "../SqlLexer.lpp"
return TOKEN_OR;
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 248 "../SqlLexer.lpp"
+#line 249 "../SqlLexer.lpp"
return TOKEN_ORDER;
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 249 "../SqlLexer.lpp"
+#line 250 "../SqlLexer.lpp"
return TOKEN_OUTER;
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 250 "../SqlLexer.lpp"
+#line 251 "../SqlLexer.lpp"
return TOKEN_OVER;
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 251 "../SqlLexer.lpp"
+#line 252 "../SqlLexer.lpp"
return TOKEN_PARTITION;
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 252 "../SqlLexer.lpp"
+#line 253 "../SqlLexer.lpp"
return TOKEN_PARTITIONS;
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 253 "../SqlLexer.lpp"
+#line 254 "../SqlLexer.lpp"
return TOKEN_PERCENT;
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 254 "../SqlLexer.lpp"
+#line 255 "../SqlLexer.lpp"
return TOKEN_PRECEDING;
YY_BREAK
case 91:
YY_RULE_SETUP
-#line 255 "../SqlLexer.lpp"
+#line 256 "../SqlLexer.lpp"
return TOKEN_PRIMARY;
YY_BREAK
case 92:
YY_RULE_SETUP
-#line 256 "../SqlLexer.lpp"
-return TOKEN_QUIT;
+#line 257 "../SqlLexer.lpp"
+return TOKEN_PRIORITY;
YY_BREAK
case 93:
YY_RULE_SETUP
-#line 257 "../SqlLexer.lpp"
-return TOKEN_RANGE;
+#line 258 "../SqlLexer.lpp"
+return TOKEN_QUIT;
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 258 "../SqlLexer.lpp"
-return TOKEN_REAL;
+#line 259 "../SqlLexer.lpp"
+return TOKEN_RANGE;
YY_BREAK
case 95:
YY_RULE_SETUP
-#line 259 "../SqlLexer.lpp"
-return TOKEN_REFERENCES;
+#line 260 "../SqlLexer.lpp"
+return TOKEN_REAL;
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 260 "../SqlLexer.lpp"
-return TOKEN_REGEXP;
+#line 261 "../SqlLexer.lpp"
+return TOKEN_REFERENCES;
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 261 "../SqlLexer.lpp"
-return TOKEN_RIGHT;
+#line 262 "../SqlLexer.lpp"
+return TOKEN_REGEXP;
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 262 "../SqlLexer.lpp"
-return TOKEN_ROW;
+#line 263 "../SqlLexer.lpp"
+return TOKEN_RIGHT;
YY_BREAK
case 99:
YY_RULE_SETUP
-#line 263 "../SqlLexer.lpp"
-return TOKEN_ROW_DELIMITER;
+#line 264 "../SqlLexer.lpp"
+return TOKEN_ROW;
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 264 "../SqlLexer.lpp"
-return TOKEN_ROWS;
+#line 265 "../SqlLexer.lpp"
+return TOKEN_ROW_DELIMITER;
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 265 "../SqlLexer.lpp"
-return TOKEN_SECOND;
+#line 266 "../SqlLexer.lpp"
+return TOKEN_ROWS;
YY_BREAK
case 102:
YY_RULE_SETUP
-#line 266 "../SqlLexer.lpp"
-return TOKEN_SELECT;
+#line 267 "../SqlLexer.lpp"
+return TOKEN_SECOND;
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 267 "../SqlLexer.lpp"
-return TOKEN_SET;
+#line 268 "../SqlLexer.lpp"
+return TOKEN_SELECT;
YY_BREAK
case 104:
YY_RULE_SETUP
-#line 268 "../SqlLexer.lpp"
-return TOKEN_SMA;
+#line 269 "../SqlLexer.lpp"
+return TOKEN_SET;
YY_BREAK
case 105:
YY_RULE_SETUP
-#line 269 "../SqlLexer.lpp"
-return TOKEN_SMALLINT;
+#line 270 "../SqlLexer.lpp"
+return TOKEN_SMA;
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 270 "../SqlLexer.lpp"
-return TOKEN_SUBSTRING;
+#line 271 "../SqlLexer.lpp"
+return TOKEN_SMALLINT;
YY_BREAK
case 107:
YY_RULE_SETUP
-#line 271 "../SqlLexer.lpp"
-return TOKEN_TABLE;
+#line 272 "../SqlLexer.lpp"
+return TOKEN_SUBSTRING;
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 272 "../SqlLexer.lpp"
-return TOKEN_THEN;
+#line 273 "../SqlLexer.lpp"
+return TOKEN_TABLE;
YY_BREAK
case 109:
YY_RULE_SETUP
-#line 273 "../SqlLexer.lpp"
-return TOKEN_TIME;
+#line 274 "../SqlLexer.lpp"
+return TOKEN_THEN;
YY_BREAK
case 110:
YY_RULE_SETUP
-#line 274 "../SqlLexer.lpp"
-return TOKEN_TIMESTAMP;
+#line 275 "../SqlLexer.lpp"
+return TOKEN_TIME;
YY_BREAK
case 111:
YY_RULE_SETUP
-#line 275 "../SqlLexer.lpp"
-return TOKEN_TRUE;
+#line 276 "../SqlLexer.lpp"
+return TOKEN_TIMESTAMP;
YY_BREAK
case 112:
YY_RULE_SETUP
-#line 276 "../SqlLexer.lpp"
-return TOKEN_TUPLESAMPLE;
+#line 277 "../SqlLexer.lpp"
+return TOKEN_TRUE;
YY_BREAK
case 113:
YY_RULE_SETUP
-#line 277 "../SqlLexer.lpp"
-return TOKEN_UNBOUNDED;
+#line 278 "../SqlLexer.lpp"
+return TOKEN_TUPLESAMPLE;
YY_BREAK
case 114:
YY_RULE_SETUP
-#line 278 "../SqlLexer.lpp"
-return TOKEN_UNIQUE;
+#line 279 "../SqlLexer.lpp"
+return TOKEN_UNBOUNDED;
YY_BREAK
case 115:
YY_RULE_SETUP
-#line 279 "../SqlLexer.lpp"
-return TOKEN_UPDATE;
+#line 280 "../SqlLexer.lpp"
+return TOKEN_UNIQUE;
YY_BREAK
case 116:
YY_RULE_SETUP
-#line 280 "../SqlLexer.lpp"
-return TOKEN_USING;
+#line 281 "../SqlLexer.lpp"
+return TOKEN_UPDATE;
YY_BREAK
case 117:
YY_RULE_SETUP
-#line 281 "../SqlLexer.lpp"
-return TOKEN_VALUES;
+#line 282 "../SqlLexer.lpp"
+return TOKEN_USING;
YY_BREAK
case 118:
YY_RULE_SETUP
-#line 282 "../SqlLexer.lpp"
-return TOKEN_VARCHAR;
+#line 283 "../SqlLexer.lpp"
+return TOKEN_VALUES;
YY_BREAK
case 119:
YY_RULE_SETUP
-#line 283 "../SqlLexer.lpp"
-return TOKEN_WHEN;
+#line 284 "../SqlLexer.lpp"
+return TOKEN_VARCHAR;
YY_BREAK
case 120:
YY_RULE_SETUP
-#line 284 "../SqlLexer.lpp"
-return TOKEN_WHERE;
+#line 285 "../SqlLexer.lpp"
+return TOKEN_WHEN;
YY_BREAK
case 121:
YY_RULE_SETUP
-#line 285 "../SqlLexer.lpp"
-return TOKEN_WINDOW;
+#line 286 "../SqlLexer.lpp"
+return TOKEN_WHERE;
YY_BREAK
case 122:
YY_RULE_SETUP
-#line 286 "../SqlLexer.lpp"
-return TOKEN_WITH;
+#line 287 "../SqlLexer.lpp"
+return TOKEN_WINDOW;
YY_BREAK
case 123:
YY_RULE_SETUP
-#line 287 "../SqlLexer.lpp"
-return TOKEN_YEAR;
+#line 288 "../SqlLexer.lpp"
+return TOKEN_WITH;
YY_BREAK
case 124:
YY_RULE_SETUP
-#line 288 "../SqlLexer.lpp"
-return TOKEN_YEARMONTH;
+#line 289 "../SqlLexer.lpp"
+return TOKEN_YEAR;
YY_BREAK
case 125:
YY_RULE_SETUP
#line 290 "../SqlLexer.lpp"
-return TOKEN_EQ;
+return TOKEN_YEARMONTH;
YY_BREAK
case 126:
YY_RULE_SETUP
-#line 291 "../SqlLexer.lpp"
-return TOKEN_NEQ;
+#line 292 "../SqlLexer.lpp"
+return TOKEN_EQ;
YY_BREAK
case 127:
YY_RULE_SETUP
-#line 292 "../SqlLexer.lpp"
+#line 293 "../SqlLexer.lpp"
return TOKEN_NEQ;
YY_BREAK
case 128:
YY_RULE_SETUP
-#line 293 "../SqlLexer.lpp"
-return TOKEN_LT;
+#line 294 "../SqlLexer.lpp"
+return TOKEN_NEQ;
YY_BREAK
case 129:
YY_RULE_SETUP
-#line 294 "../SqlLexer.lpp"
-return TOKEN_GT;
+#line 295 "../SqlLexer.lpp"
+return TOKEN_LT;
YY_BREAK
case 130:
YY_RULE_SETUP
-#line 295 "../SqlLexer.lpp"
-return TOKEN_LEQ;
+#line 296 "../SqlLexer.lpp"
+return TOKEN_GT;
YY_BREAK
case 131:
YY_RULE_SETUP
-#line 296 "../SqlLexer.lpp"
-return TOKEN_GEQ;
+#line 297 "../SqlLexer.lpp"
+return TOKEN_LEQ;
YY_BREAK
case 132:
YY_RULE_SETUP
#line 298 "../SqlLexer.lpp"
-return yytext[0];
+return TOKEN_GEQ;
YY_BREAK
case 133:
YY_RULE_SETUP
-#line 299 "../SqlLexer.lpp"
+#line 300 "../SqlLexer.lpp"
+return yytext[0];
+ YY_BREAK
+case 134:
+YY_RULE_SETUP
+#line 301 "../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 134:
+case 135:
YY_RULE_SETUP
-#line 305 "../SqlLexer.lpp"
+#line 307 "../SqlLexer.lpp"
{
yylval->string_value_ = new quickstep::ParseString(yylloc->first_line, yylloc->first_column);
BEGIN(CONDITION_STRING_SINGLE_QUOTED_ESCAPED);
}
YY_BREAK
-case 135:
+case 136:
YY_RULE_SETUP
-#line 310 "../SqlLexer.lpp"
+#line 312 "../SqlLexer.lpp"
{
yylval->string_value_ = new quickstep::ParseString(yylloc->first_line, yylloc->first_column);
BEGIN(CONDITION_STRING_SINGLE_QUOTED);
}
YY_BREAK
-case 136:
+case 137:
YY_RULE_SETUP
-#line 315 "../SqlLexer.lpp"
+#line 317 "../SqlLexer.lpp"
{
yylval->string_value_ = new quickstep::ParseString(yylloc->first_line, yylloc->first_column);
BEGIN(CONDITION_STRING_DOUBLE_QUOTED);
@@ -2161,7 +2178,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 324 "../SqlLexer.lpp"
+#line 326 "../SqlLexer.lpp"
{
delete yylval->string_value_;
BEGIN(INITIAL);
@@ -2172,9 +2189,9 @@ case YY_STATE_EOF(CONDITION_STRING_DOUBLE_QUOTED):
/* Process escape sequences. */
-case 137:
+case 138:
YY_RULE_SETUP
-#line 334 "../SqlLexer.lpp"
+#line 336 "../SqlLexer.lpp"
{
/* Octal code */
unsigned int code;
@@ -2188,9 +2205,9 @@ YY_RULE_SETUP
yylval->string_value_->push_back(code);
}
YY_BREAK
-case 138:
+case 139:
YY_RULE_SETUP
-#line 346 "../SqlLexer.lpp"
+#line 348 "../SqlLexer.lpp"
{
/* Hexadecimal code */
unsigned int code;
@@ -2198,9 +2215,9 @@ YY_RULE_SETUP
yylval->string_value_->push_back(code);
}
YY_BREAK
-case 139:
+case 140:
YY_RULE_SETUP
-#line 352 "../SqlLexer.lpp"
+#line 354 "../SqlLexer.lpp"
{
/* A numeric escape sequence that isn't correctly specified. */
delete yylval->string_value_;
@@ -2209,58 +2226,58 @@ YY_RULE_SETUP
return TOKEN_LEX_ERROR;
}
YY_BREAK
-case 140:
+case 141:
YY_RULE_SETUP
-#line 359 "../SqlLexer.lpp"
+#line 361 "../SqlLexer.lpp"
{
/* Backspace */
yylval->string_value_->push_back('\b');
}
YY_BREAK
-case 141:
+case 142:
YY_RULE_SETUP
-#line 363 "../SqlLexer.lpp"
+#line 365 "../SqlLexer.lpp"
{
/* Form-feed */
yylval->string_value_->push_back('\f');
}
YY_BREAK
-case 142:
+case 143:
YY_RULE_SETUP
-#line 367 "../SqlLexer.lpp"
+#line 369 "../SqlLexer.lpp"
{
/* Newline */
yylval->string_value_->push_back('\n');
}
YY_BREAK
-case 143:
+case 144:
YY_RULE_SETUP
-#line 371 "../SqlLexer.lpp"
+#line 373 "../SqlLexer.lpp"
{
/* Carriage-return */
yylval->string_value_->push_back('\r');
}
YY_BREAK
-case 144:
+case 145:
YY_RULE_SETUP
-#line 375 "../SqlLexer.lpp"
+#line 377 "../SqlLexer.lpp"
{
/* Horizontal Tab */
yylval->string_value_->push_back('\t');
}
YY_BREAK
-case 145:
-/* rule 145 can match eol */
+case 146:
+/* rule 146 can match eol */
YY_RULE_SETUP
-#line 379 "../SqlLexer.lpp"
+#line 381 "../SqlLexer.lpp"
{
/* Any other character (including actual newline or carriage return) */
yylval->string_value_->push_back(yytext[1]);
}
YY_BREAK
-case 146:
+case 147:
YY_RULE_SETUP
-#line 383 "../SqlLexer.lpp"
+#line 385 "../SqlLexer.lpp"
{
/* This should only be encountered right before an EOF. */
delete yylval->string_value_;
@@ -2271,17 +2288,17 @@ YY_RULE_SETUP
YY_BREAK
-case 147:
+case 148:
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 148:
+case 149:
YY_RULE_SETUP
-#line 397 "../SqlLexer.lpp"
+#line 399 "../SqlLexer.lpp"
{
/* End string */
BEGIN(CONDITION_SQL);
@@ -2290,17 +2307,17 @@ YY_RULE_SETUP
YY_BREAK
-case 149:
+case 150:
YY_RULE_SETUP
-#line 405 "../SqlLexer.lpp"
+#line 407 "../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 150:
+case 151:
YY_RULE_SETUP
-#line 409 "../SqlLexer.lpp"
+#line 411 "../SqlLexer.lpp"
{
/* End string */
BEGIN(CONDITION_SQL);
@@ -2308,94 +2325,94 @@ YY_RULE_SETUP
}
YY_BREAK
-case 151:
-/* rule 151 can match eol */
+case 152:
+/* rule 152 can match eol */
YY_RULE_SETUP
-#line 416 "../SqlLexer.lpp"
+#line 418 "../SqlLexer.lpp"
{
/* Scan up to a quote. */
yylval->string_value_->append(yytext, yyleng);
}
YY_BREAK
-case 152:
-/* rule 152 can match eol */
+case 153:
+/* rule 153 can match eol */
YY_RULE_SETUP
-#line 421 "../SqlLexer.lpp"
+#line 423 "../SqlLexer.lpp"
{
/* Scan up to a quote or escape sequence. */
yylval->string_value_->append(yytext, yyleng);
}
YY_BREAK
-case 153:
-/* rule 153 can match eol */
+case 154:
+/* rule 154 can match eol */
YY_RULE_SETUP
-#line 426 "../SqlLexer.lpp"
+#line 428 "../SqlLexer.lpp"
{
/* Scan up to a quote. */
yylval->string_value_->append(yytext, yyleng);
}
YY_BREAK
-case 154:
+case 155:
YY_RULE_SETUP
-#line 432 "../SqlLexer.lpp"
+#line 434 "../SqlLexer.lpp"
{
yylval->string_value_ = new quickstep::ParseString(
yylloc->first_line, yylloc->first_column, std::string(yytext, yyleng));
return TOKEN_NAME;
}
YY_BREAK
-case 155:
+case 156:
YY_RULE_SETUP
-#line 438 "../SqlLexer.lpp"
+#line 440 "../SqlLexer.lpp"
{
yylval->numeric_literal_value_ = new quickstep::NumericParseLiteralValue(
yylloc->first_line, yylloc->first_column, yytext);
return TOKEN_UNSIGNED_NUMVAL;
}
YY_BREAK
-case 156:
-YY_RULE_SETUP
-#line 444 "../SqlLexer.lpp"
-/* comment */
- YY_BREAK
case 157:
-/* rule 157 can match eol */
YY_RULE_SETUP
#line 446 "../SqlLexer.lpp"
-{ yycolumn = 0; }
+/* comment */
YY_BREAK
case 158:
+/* rule 158 can match eol */
YY_RULE_SETUP
#line 448 "../SqlLexer.lpp"
+{ yycolumn = 0; }
+ YY_BREAK
+case 159:
+YY_RULE_SETUP
+#line 450 "../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 452 "../SqlLexer.lpp"
+#line 454 "../SqlLexer.lpp"
{
/* All conditions except for mutli-state string extracting conditions. */
BEGIN(INITIAL);
return TOKEN_EOF;
}
YY_BREAK
-case 159:
+case 160:
YY_RULE_SETUP
-#line 458 "../SqlLexer.lpp"
+#line 460 "../SqlLexer.lpp"
{
BEGIN(INITIAL);
quickstep_yyerror(NULL, yyscanner, NULL, "illegal character");
return TOKEN_LEX_ERROR;
}
YY_BREAK
-case 160:
+case 161:
YY_RULE_SETUP
-#line 464 "../SqlLexer.lpp"
+#line 466 "../SqlLexer.lpp"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
-#line 2399 "SqlLexer_gen.cpp"
+#line 2416 "SqlLexer_gen.cpp"
case YY_END_OF_BUFFER:
{
@@ -2538,9 +2555,9 @@ YY_FATAL_ERROR( "flex scanner jammed" );
static int yy_get_next_buffer (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
- register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
- register char *source = yyg->yytext_ptr;
- register int number_to_move, i;
+ char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+ char *source = yyg->yytext_ptr;
+ yy_size_t number_to_move, i;
int ret_val;
if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
@@ -2569,7 +2586,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
/* Try to read more data. */
/* First move last chars to start of buffer. */
- number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
+ number_to_move = (yy_size_t) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
for ( i = 0; i < number_to_move; ++i )
*(dest++) = *(source++);
@@ -2672,15 +2689,15 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
{
- register yy_state_type yy_current_state;
- register char *yy_cp;
+ yy_state_type yy_current_state;
+ char *yy_cp;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
yy_current_state = yyg->yy_start;
for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
{
- register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
if ( yy_accept[yy_current_state] )
{
yyg->yy_last_accepting_state = yy_current_state;
@@ -2689,7 +2706,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 >= 588 )
+ if ( yy_current_state >= 593 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2705,11 +2722,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
*/
static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner)
{
- register int yy_is_jam;
+ int yy_is_jam;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
- register char *yy_cp = yyg->yy_c_buf_p;
+ char *yy_cp = yyg->yy_c_buf_p;
- register YY_CHAR yy_c = 1;
+ YY_CHAR yy_c = 1;
if ( yy_accept[yy_current_state] )
{
yyg->yy_last_accepting_state = yy_current_state;
@@ -2718,16 +2735,20 @@ 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 >= 588 )
+ if ( yy_current_state >= 593 )
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 == 587);
+ yy_is_jam = (yy_current_state == 592);
(void)yyg;
return yy_is_jam ? 0 : yy_current_state;
}
+#ifndef YY_NO_UNPUT
+
+#endif
+
#ifndef YY_NO_INPUT
#ifdef __cplusplus
static int yyinput (yyscan_t yyscanner)
@@ -2888,7 +2909,7 @@ static void quickstep_yy_load_buffer_state (yyscan_t yyscanner)
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in quickstep_yy_create_buffer()" );
- b->yy_buf_size = size;
+ b->yy_buf_size = (yy_size_t)size;
/* yy_ch_buf has to be 2 characters longer than the size given because
* we need to put in 2 end-of-buffer characters.
@@ -3049,7 +3070,7 @@ static void quickstep_yyensure_buffer_stack (yyscan_t yyscanner)
* scanner will even need a stack. We use 2 instead of 1 to avoid an
* immediate realloc on the next call.
*/
- num_to_alloc = 1;
+ num_to_alloc = 1; // After all that talk, this was set to 1 anyways...
yyg->yy_buffer_stack = (struct yy_buffer_state**)quickstep_yyalloc
(num_to_alloc * sizeof(struct yy_buffer_state*)
, yyscanner);
@@ -3066,7 +3087,7 @@ static void quickstep_yyensure_buffer_stack (yyscan_t yyscanner)
if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
/* Increase the buffer to prepare for a possible push. */
- int grow_size = 8 /* arbitrary grow size */;
+ yy_size_t grow_size = 8 /* arbitrary grow size */;
num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
yyg->yy_buffer_stack = (struct yy_buffer_state**)quickstep_yyrealloc
@@ -3174,7 +3195,9 @@ YY_BUFFER_STATE quickstep_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yy
static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
{
- (void) fprintf( stderr, "%s\n", msg );
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
+ (void)yyg;
+ (void) fprintf( stderr, "%s\n", msg );
exit( YY_EXIT_FAILURE );
}
@@ -3280,10 +3303,10 @@ void quickstep_yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
}
/** Set the current line number.
- * @param line_number
+ * @param _line_number line number
* @param yyscanner The scanner object.
*/
-void quickstep_yyset_lineno (int line_number , yyscan_t yyscanner)
+void quickstep_yyset_lineno (int _line_number , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
@@ -3291,14 +3314,14 @@ void quickstep_yyset_lineno (int line_number , yyscan_t yyscanner)
if (! YY_CURRENT_BUFFER )
YY_FATAL_ERROR( "quickstep_yyset_lineno called with no buffer" );
- yylineno = line_number;
+ yylineno = _line_number;
}
/** Set the current column.
- * @param line_number
+ * @param _column_no column number
* @param yyscanner The scanner object.
*/
-void quickstep_yyset_column (int column_no , yyscan_t yyscanner)
+void quickstep_yyset_column (int _column_no , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
@@ -3306,25 +3329,25 @@ void quickstep_yyset_column (int column_no , yyscan_t yyscanner)
if (! YY_CURRENT_BUFFER )
YY_FATAL_ERROR( "quickstep_yyset_column called with no buffer" );
- yycolumn = column_no;
+ yycolumn = _column_no;
}
/** Set the input stream. This does not discard the current
* input buffer.
- * @param in_str A readable stream.
+ * @param _in_str A readable stream.
* @param yyscanner The scanner object.
* @see quickstep_yy_switch_to_buffer
*/
-void quickstep_yyset_in (FILE * in_str , yyscan_t yyscanner)
+void quickstep_yyset_in (FILE * _in_str , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
- yyin = in_str ;
+ yyin = _in_str ;
}
-void quickstep_yyset_out (FILE * out_str , yyscan_t yyscanner)
+void quickstep_yyset_out (FILE * _out_str , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
- yyout = out_str ;
+ yyout = _out_str ;
}
int quickstep_yyget_debug (yyscan_t yyscanner)
@@ -3333,10 +3356,10 @@ int quickstep_yyget_debug (yyscan_t yyscanner)
return yy_flex_debug;
}
-void quickstep_yyset_debug (int bdebug , yyscan_t yyscanner)
+void quickstep_yyset_debug (int _bdebug , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
- yy_flex_debug = bdebug ;
+ yy_flex_debug = _bdebug ;
}
/* Accessor methods for yylval and yylloc */
@@ -3499,7 +3522,10 @@ int quickstep_yylex_destroy (yyscan_t yyscanner)
#ifndef yytext_ptr
static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
{
- register int i;
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
+ (void)yyg;
+
+ int i;
for ( i = 0; i < n; ++i )
s1[i] = s2[i];
}
@@ -3508,7 +3534,7 @@ static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yysca
#ifdef YY_NEED_STRLEN
static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
{
- register int n;
+ int n;
for ( n = 0; s[n]; ++n )
;
@@ -3518,11 +3544,16 @@ static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
void *quickstep_yyalloc (yy_size_t size , yyscan_t yyscanner)
{
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
+ (void)yyg;
return (void *) malloc( size );
}
void *quickstep_yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
{
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
+ (void)yyg;
+
/* The cast to (char *) in the following accommodates both
* implementations that use char* generic pointers, and those
* that use void* generic pointers. It works with the latter
@@ -3535,12 +3566,14 @@ void *quickstep_yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
void quickstep_yyfree (void * ptr , yyscan_t yyscanner)
{
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
+ (void)yyg;
free( (char *) ptr ); /* see quickstep_yyrealloc() for (char *) cast */
}
#define YYTABLES_NAME "yytables"
-#line 463 "../SqlLexer.lpp"
+#line 466 "../SqlLexer.lpp"
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/d6428914/parser/preprocessed/SqlLexer_gen.hpp
----------------------------------------------------------------------
diff --git a/parser/preprocessed/SqlLexer_gen.hpp b/parser/preprocessed/SqlLexer_gen.hpp
index f6cd8ad..0dd70e4 100644
--- a/parser/preprocessed/SqlLexer_gen.hpp
+++ b/parser/preprocessed/SqlLexer_gen.hpp
@@ -12,8 +12,8 @@
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
+#define YY_FLEX_MINOR_VERSION 6
+#define YY_FLEX_SUBMINOR_VERSION 0
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
@@ -222,7 +222,7 @@ void quickstep_yyfree (void * ,yyscan_t yyscanner );
/* Begin user sect3 */
-#define quickstep_yywrap(yyscanner) 1
+#define quickstep_yywrap(yyscanner) (/*CONSTCOND*/1)
#define YY_SKIP_YYWRAP
#define yytext_ptr yytext_r
@@ -268,11 +268,11 @@ void quickstep_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
FILE *quickstep_yyget_in (yyscan_t yyscanner );
-void quickstep_yyset_in (FILE * in_str ,yyscan_t yyscanner );
+void quickstep_yyset_in (FILE * _in_str ,yyscan_t yyscanner );
FILE *quickstep_yyget_out (yyscan_t yyscanner );
-void quickstep_yyset_out (FILE * out_str ,yyscan_t yyscanner );
+void quickstep_yyset_out (FILE * _out_str ,yyscan_t yyscanner );
yy_size_t quickstep_yyget_leng (yyscan_t yyscanner );
@@ -280,11 +280,11 @@ char *quickstep_yyget_text (yyscan_t yyscanner );
int quickstep_yyget_lineno (yyscan_t yyscanner );
-void quickstep_yyset_lineno (int line_number ,yyscan_t yyscanner );
+void quickstep_yyset_lineno (int _line_number ,yyscan_t yyscanner );
int quickstep_yyget_column (yyscan_t yyscanner );
-void quickstep_yyset_column (int column_no ,yyscan_t yyscanner );
+void quickstep_yyset_column (int _column_no ,yyscan_t yyscanner );
YYSTYPE * quickstep_yyget_lval (yyscan_t yyscanner );
@@ -360,7 +360,7 @@ extern int quickstep_yylex \
#undef YY_DECL
#endif
-#line 463 "../SqlLexer.lpp"
+#line 466 "../SqlLexer.lpp"
#line 367 "SqlLexer_gen.hpp"
[4/4] incubator-quickstep git commit: Added PRIORITY clause in parser.
Posted by hb...@apache.org.
Added PRIORITY clause in parser.
- SQL statements (right now only SELECT statements) support "WITH
PRIORITY N" clause.
- The priority value should be a non-zero unsigned integer.
- The priority value is a part of the QueryHandle class.
Project: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/commit/d6428914
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/tree/d6428914
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/diff/d6428914
Branch: refs/heads/parser-priority-clause
Commit: d64289148bee499e2232637602b4197da6791fc4
Parents: 07435a4
Author: Harshad Deshmukh <hb...@apache.org>
Authored: Fri Jun 17 16:01:19 2016 -0500
Committer: Harshad Deshmukh <hb...@apache.org>
Committed: Mon Jun 20 12:30:20 2016 -0500
----------------------------------------------------------------------
parser/CMakeLists.txt | 8 +
parser/ParsePriority.hpp | 94 +
parser/ParseStatement.hpp | 33 +-
parser/SqlLexer.lpp | 2 +
parser/SqlParser.ypp | 37 +-
parser/preprocessed/SqlLexer_gen.cpp | 1263 +++---
parser/preprocessed/SqlLexer_gen.hpp | 16 +-
parser/preprocessed/SqlParser_gen.cpp | 5699 +++++++++++++++-------------
parser/preprocessed/SqlParser_gen.hpp | 323 +-
parser/tests/Select.test | 43 +
query_optimizer/QueryHandle.hpp | 13 +-
query_optimizer/QueryProcessor.cpp | 4 +-
12 files changed, 4120 insertions(+), 3415 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/d6428914/parser/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/parser/CMakeLists.txt b/parser/CMakeLists.txt
index 114ad14..32ea1a9 100644
--- a/parser/CMakeLists.txt
+++ b/parser/CMakeLists.txt
@@ -103,6 +103,7 @@ add_library(quickstep_parser_ParsePartitionClause ../empty_src.cpp ParsePartitio
add_library(quickstep_parser_ParsePredicate ParsePredicate.cpp ParsePredicate.hpp)
add_library(quickstep_parser_ParsePredicateExists ../empty_src.cpp ParsePredicateExists.hpp)
add_library(quickstep_parser_ParsePredicateInTableQuery ../empty_src.cpp ParsePredicateInTableQuery.hpp)
+add_library(quickstep_parser_ParsePriority ../empty_src.cpp ParsePriority.hpp)
add_library(quickstep_parser_ParseSample ParseSample.cpp ParseSample.hpp)
add_library(quickstep_parser_ParseSelect ../empty_src.cpp ParseSelect.hpp)
add_library(quickstep_parser_ParseSelectionClause ParseSelectionClause.cpp ParseSelectionClause.hpp)
@@ -229,6 +230,10 @@ target_link_libraries(quickstep_parser_ParsePredicateInTableQuery
quickstep_parser_ParsePredicate
quickstep_parser_ParseSubqueryExpression
quickstep_utility_Macros)
+target_link_libraries(quickstep_parser_ParsePriority
+ quickstep_parser_ParseLiteralValue
+ quickstep_parser_ParseTreeNode
+ quickstep_utility_Macros)
target_link_libraries(quickstep_parser_ParseSample
quickstep_parser_ParseLiteralValue
quickstep_parser_ParseTreeNode
@@ -267,6 +272,7 @@ target_link_libraries(quickstep_parser_ParseStatement
quickstep_parser_ParseKeyValue
quickstep_parser_ParsePartitionClause
quickstep_parser_ParsePredicate
+ quickstep_parser_ParsePriority
quickstep_parser_ParseSelect
quickstep_parser_ParseString
quickstep_parser_ParseSubqueryTableReference
@@ -337,6 +343,7 @@ target_link_libraries(quickstep_parser_SqlParser
quickstep_parser_ParsePredicate
quickstep_parser_ParsePredicateExists
quickstep_parser_ParsePredicateInTableQuery
+ quickstep_parser_ParsePriority
quickstep_parser_ParseSample
quickstep_parser_ParseSelect
quickstep_parser_ParseSelectionClause
@@ -414,6 +421,7 @@ target_link_libraries(quickstep_parser
quickstep_parser_ParsePredicate
quickstep_parser_ParsePredicateExists
quickstep_parser_ParsePredicateInTableQuery
+ quickstep_parser_ParsePriority
quickstep_parser_ParserUtil
quickstep_parser_ParseSample
quickstep_parser_ParseSelect
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/d6428914/parser/ParsePriority.hpp
----------------------------------------------------------------------
diff --git a/parser/ParsePriority.hpp b/parser/ParsePriority.hpp
new file mode 100644
index 0000000..89806d4
--- /dev/null
+++ b/parser/ParsePriority.hpp
@@ -0,0 +1,94 @@
+/**
+ * Copyright 2016, Quickstep Research Group, Computer Sciences Department,
+ * University of Wisconsin\u2014Madison.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ **/
+
+#ifndef QUICKSTEP_PARSER_PARSE_PRIORITY_HPP_
+#define QUICKSTEP_PARSER_PARSE_PRIORITY_HPP_
+
+#include <memory>
+#include <string>
+#include <vector>
+
+#include "parser/ParseLiteralValue.hpp"
+#include "parser/ParseTreeNode.hpp"
+#include "utility/Macros.hpp"
+
+namespace quickstep {
+
+/** \addtogroup Parser
+ * @{
+ */
+
+/**
+ * @brief A parsed representation of PRIORITY.
+ **/
+class ParsePriority : public ParseTreeNode {
+ public:
+ /**
+ * @brief Constructor.
+ *
+ * @param line_number The line number of "PRIORITY" in the SQL statement.
+ * @param column_number The column number of "PRIORITY" in the SQL statement.
+ * @param priority_expression The PRIORITY value expression.
+ **/
+ ParsePriority(const int line_number,
+ const int column_number,
+ NumericParseLiteralValue *priority_expression)
+ : ParseTreeNode(line_number, column_number),
+ priority_expression_(priority_expression) {}
+
+ /**
+ * @brief Destructor.
+ */
+ ~ParsePriority() override {}
+
+ /**
+ * @brief Gets the PRIORITY expression.
+ *
+ * @return PRIORITY expression
+ */
+ const NumericParseLiteralValue* priority_expression() const {
+ return priority_expression_.get();
+ }
+
+ std::string getName() const override {
+ return "PRIORITY";
+ }
+
+ 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 {
+ non_container_child_field_names->push_back("");
+ non_container_child_fields->push_back(priority_expression_.get());
+ }
+
+ private:
+ std::unique_ptr<NumericParseLiteralValue> priority_expression_;
+
+ DISALLOW_COPY_AND_ASSIGN(ParsePriority);
+};
+
+/** @} */
+
+} // namespace quickstep
+
+#endif // QUICKSTEP_PARSER_PARSE_PRIORITY_HPP_
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/d6428914/parser/ParseStatement.hpp
----------------------------------------------------------------------
diff --git a/parser/ParseStatement.hpp b/parser/ParseStatement.hpp
index 65acc68..61475a9 100644
--- a/parser/ParseStatement.hpp
+++ b/parser/ParseStatement.hpp
@@ -32,6 +32,7 @@
#include "parser/ParseKeyValue.hpp"
#include "parser/ParsePartitionClause.hpp"
#include "parser/ParsePredicate.hpp"
+#include "parser/ParsePriority.hpp"
#include "parser/ParseSelect.hpp"
#include "parser/ParseString.hpp"
#include "parser/ParseSubqueryTableReference.hpp"
@@ -83,6 +84,16 @@ class ParseStatement : public ParseTreeNode {
**/
virtual StatementType getStatementType() const = 0;
+ /**
+ * @brief Get the priority of the SQL statement. Note that the priority is
+ * an unsigned non-zero integer.
+ *
+ * @return The priority of the SQL statement. The default priority is 1.
+ **/
+ virtual const std::uint64_t getPriority() const {
+ return 1;
+ }
+
protected:
ParseStatement(const int line_number, const int column_number)
: ParseTreeNode(line_number, column_number) {
@@ -480,14 +491,18 @@ class ParseStatementSelect : public ParseStatement {
* @param column_number Column number of the first token of this node in the SQL statement.
* @param select_query The top-level SELECT query.
* @param with_clause The WITH clause of common table query expressions.
+ * @param priority_clause The PRIORITY clause of this query. If not valid or
+ * not present, this is NULL.
**/
ParseStatementSelect(const int line_number,
const int column_number,
ParseSelect *select_query,
- PtrVector<ParseSubqueryTableReference> *with_clause)
+ PtrVector<ParseSubqueryTableReference> *with_clause,
+ ParsePriority *priority_clause)
: ParseStatement(line_number, column_number),
select_query_(select_query),
- with_clause_(with_clause) {
+ with_clause_(with_clause),
+ priority_clause_(priority_clause) {
}
/**
@@ -518,6 +533,14 @@ class ParseStatementSelect : public ParseStatement {
return with_clause_.get();
}
+ const std::uint64_t getPriority() const override {
+ if (priority_clause_ != nullptr) {
+ DCHECK(priority_clause_->priority_expression() != nullptr);
+ return priority_clause_->priority_expression()->long_value();
+ }
+ return 1;
+ }
+
protected:
void getFieldStringItems(
std::vector<std::string> *inline_field_names,
@@ -536,11 +559,17 @@ class ParseStatementSelect : public ParseStatement {
container_child_fields->back().push_back(&common_subquery);
}
}
+
+ if (priority_clause_ != nullptr) {
+ non_container_child_field_names->push_back("priority");
+ non_container_child_fields->push_back(priority_clause_.get());
+ }
}
private:
std::unique_ptr<ParseSelect> select_query_;
std::unique_ptr<PtrVector<ParseSubqueryTableReference>> with_clause_;
+ std::unique_ptr<ParsePriority> priority_clause_;
DISALLOW_COPY_AND_ASSIGN(ParseStatementSelect);
};
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/d6428914/parser/SqlLexer.lpp
----------------------------------------------------------------------
diff --git a/parser/SqlLexer.lpp b/parser/SqlLexer.lpp
index ee34400..ec18f38 100644
--- a/parser/SqlLexer.lpp
+++ b/parser/SqlLexer.lpp
@@ -61,6 +61,7 @@ class ParseOrderBy;
class ParseOrderByItem;
class ParsePartitionClause;
class ParsePredicate;
+class ParsePriority;
class ParseSample;
class ParseScalarLiteral;
class ParseSearchedWhenClause;
@@ -253,6 +254,7 @@ unsigned_numeric_literal {exact_numeric_literal}|{approximate_numeric_literal}
"percent" return TOKEN_PERCENT;
"preceding" return TOKEN_PRECEDING;
"primary" return TOKEN_PRIMARY;
+ "priority" return TOKEN_PRIORITY;
"quit" return TOKEN_QUIT;
"range" return TOKEN_RANGE;
"real" return TOKEN_REAL;
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/d6428914/parser/SqlParser.ypp
----------------------------------------------------------------------
diff --git a/parser/SqlParser.ypp b/parser/SqlParser.ypp
index 81fa3ae..382ea44 100644
--- a/parser/SqlParser.ypp
+++ b/parser/SqlParser.ypp
@@ -85,6 +85,7 @@ typedef struct YYLTYPE {
#include "parser/ParsePredicate.hpp"
#include "parser/ParsePredicateExists.hpp"
#include "parser/ParsePredicateInTableQuery.hpp"
+#include "parser/ParsePriority.hpp"
#include "parser/ParserUtil.hpp"
#include "parser/ParseSample.hpp"
#include "parser/ParseSelect.hpp"
@@ -212,6 +213,8 @@ typedef void* yyscan_t;
quickstep::PtrVector<quickstep::ParseSubqueryTableReference> *with_list_;
quickstep::ParseSubqueryTableReference *with_list_element_;
+
+ quickstep::ParsePriority *opt_priority_clause_;
}
%{
@@ -319,6 +322,7 @@ void NotSupported(const YYLTYPE *location, yyscan_t yyscanner, const std::string
%token TOKEN_PERCENT;
%token TOKEN_PRECEDING;
%token TOKEN_PRIMARY;
+%token TOKEN_PRIORITY;
%token TOKEN_QUIT;
%token TOKEN_RANGE;
%token TOKEN_REAL;
@@ -583,6 +587,9 @@ void NotSupported(const YYLTYPE *location, yyscan_t yyscanner, const std::string
%type <window_frame_info_>
opt_window_frame
+%type <opt_priority_clause_>
+ opt_priority_clause
+
%type <with_list_>
with_clause
with_list
@@ -1143,13 +1150,35 @@ assignment_item:
/* Select Queries */
select_statement:
- select_query {
- $$ = new quickstep::ParseStatementSelect(@1.first_line, @1.first_column, $1, nullptr);
+ select_query opt_priority_clause {
+ $$ = new quickstep::ParseStatementSelect(@1.first_line, @1.first_column, $1, nullptr, $2);
}
- | with_clause select_query {
- $$ = new quickstep::ParseStatementSelect(@1.first_line, @1.first_column, $2, $1);
+ | with_clause select_query opt_priority_clause {
+ $$ = new quickstep::ParseStatementSelect(@1.first_line, @1.first_column, $2, $1, $3);
};
+opt_priority_clause:
+ {
+ $$ = nullptr;
+ }
+ | TOKEN_WITH TOKEN_PRIORITY TOKEN_UNSIGNED_NUMVAL {
+ if ($3->float_like()) {
+ delete $3;
+ $$ = nullptr;
+ quickstep_yyerror(&@3, yyscanner, nullptr, "PRIORITY value must be an integer");
+ YYERROR;
+ } else {
+ if ($3->long_value() <= 0) {
+ delete $3;
+ $$ = nullptr;
+ quickstep_yyerror(&@3, yyscanner, nullptr, "PRIORITY value must be positive");
+ YYERROR;
+ } else {
+ $$ = new quickstep::ParsePriority(@1.first_line, @1.first_column, $3);
+ }
+ }
+ };
+
with_clause:
TOKEN_WITH with_list {
$$ = $2;
[2/4] incubator-quickstep git commit: Added PRIORITY clause in parser.
Posted by hb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/d6428914/parser/preprocessed/SqlParser_gen.cpp
----------------------------------------------------------------------
diff --git a/parser/preprocessed/SqlParser_gen.cpp b/parser/preprocessed/SqlParser_gen.cpp
index c02baf4..8fdf490 100644
--- a/parser/preprocessed/SqlParser_gen.cpp
+++ b/parser/preprocessed/SqlParser_gen.cpp
@@ -1,19 +1,19 @@
-/* A Bison parser, made by GNU Bison 3.0.4. */
+/* A Bison parser, made by GNU Bison 2.7. */
/* Bison implementation for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
-
+
+ Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
@@ -26,7 +26,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -44,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "3.0.4"
+#define YYBISON_VERSION "2.7"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -63,12 +63,15 @@
#define yyparse quickstep_yyparse
#define yylex quickstep_yylex
#define yyerror quickstep_yyerror
+#define yylval quickstep_yylval
+#define yychar quickstep_yychar
#define yydebug quickstep_yydebug
#define yynerrs quickstep_yynerrs
-
+#define yylloc quickstep_yylloc
/* Copy the first part of user declarations. */
-#line 35 "../SqlParser.ypp" /* yacc.c:339 */
+/* Line 371 of yacc.c */
+#line 35 "../SqlParser.ypp"
/* Override the default definition, as we only need <first_line> and <first_column>. */
@@ -96,7 +99,8 @@ typedef struct YYLTYPE {
} \
} while (0)
-#line 64 "../SqlParser.ypp" /* yacc.c:339 */
+/* Line 371 of yacc.c */
+#line 64 "../SqlParser.ypp"
#include <cstdlib>
#include <string>
@@ -121,6 +125,7 @@ typedef struct YYLTYPE {
#include "parser/ParsePredicate.hpp"
#include "parser/ParsePredicateExists.hpp"
#include "parser/ParsePredicateInTableQuery.hpp"
+#include "parser/ParsePriority.hpp"
#include "parser/ParserUtil.hpp"
#include "parser/ParseSample.hpp"
#include "parser/ParseSelect.hpp"
@@ -151,13 +156,14 @@ typedef struct YYLTYPE {
// Needed for Bison 2.6 and higher, which do not automatically provide this typedef.
typedef void* yyscan_t;
-#line 155 "SqlParser_gen.cpp" /* yacc.c:339 */
+/* Line 371 of yacc.c */
+#line 161 "SqlParser_gen.cpp"
-# ifndef YY_NULLPTR
+# ifndef YY_NULL
# if defined __cplusplus && 201103L <= __cplusplus
-# define YY_NULLPTR nullptr
+# define YY_NULL nullptr
# else
-# define YY_NULLPTR 0
+# define YY_NULL 0
# endif
# endif
@@ -173,7 +179,7 @@ typedef void* yyscan_t;
by #include "SqlParser_gen.hpp". */
#ifndef YY_QUICKSTEP_YY_SQLPARSER_GEN_HPP_INCLUDED
# define YY_QUICKSTEP_YY_SQLPARSER_GEN_HPP_INCLUDED
-/* Debug traces. */
+/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
@@ -181,150 +187,152 @@ typedef void* yyscan_t;
extern int quickstep_yydebug;
#endif
-/* Token type. */
+/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
- enum yytokentype
- {
- TOKEN_COMMAND = 258,
- TOKEN_NAME = 259,
- TOKEN_STRING_SINGLE_QUOTED = 260,
- TOKEN_STRING_DOUBLE_QUOTED = 261,
- TOKEN_UNSIGNED_NUMVAL = 262,
- TOKEN_OR = 263,
- TOKEN_AND = 264,
- TOKEN_NOT = 265,
- TOKEN_EQ = 266,
- TOKEN_LT = 267,
- TOKEN_LEQ = 268,
- TOKEN_GT = 269,
- TOKEN_GEQ = 270,
- TOKEN_NEQ = 271,
- TOKEN_LIKE = 272,
- TOKEN_REGEXP = 273,
- TOKEN_BETWEEN = 274,
- TOKEN_IS = 275,
- UNARY_PLUS = 276,
- UNARY_MINUS = 277,
- TOKEN_ADD = 278,
- TOKEN_ALL = 279,
- TOKEN_ALTER = 280,
- TOKEN_AS = 281,
- TOKEN_ASC = 282,
- TOKEN_BIGINT = 283,
- TOKEN_BIT = 284,
- TOKEN_BITWEAVING = 285,
- TOKEN_BLOCKPROPERTIES = 286,
- TOKEN_BLOCKSAMPLE = 287,
- TOKEN_BLOOM_FILTER = 288,
- TOKEN_CSB_TREE = 289,
- TOKEN_BY = 290,
- TOKEN_CASE = 291,
- TOKEN_CHARACTER = 292,
- TOKEN_CHECK = 293,
- TOKEN_COLUMN = 294,
- TOKEN_CONSTRAINT = 295,
- TOKEN_COPY = 296,
- TOKEN_CREATE = 297,
- TOKEN_CURRENT = 298,
- TOKEN_DATE = 299,
- TOKEN_DATETIME = 300,
- TOKEN_DAY = 301,
- TOKEN_DECIMAL = 302,
- TOKEN_DEFAULT = 303,
- TOKEN_DELETE = 304,
- TOKEN_DELIMITER = 305,
- TOKEN_DESC = 306,
- TOKEN_DISTINCT = 307,
- TOKEN_DOUBLE = 308,
- TOKEN_DROP = 309,
- TOKEN_ELSE = 310,
- TOKEN_END = 311,
- TOKEN_ESCAPE_STRINGS = 312,
- TOKEN_EXISTS = 313,
- TOKEN_EXTRACT = 314,
- TOKEN_FALSE = 315,
- TOKEN_FIRST = 316,
- TOKEN_FLOAT = 317,
- TOKEN_FOLLOWING = 318,
- TOKEN_FOR = 319,
- TOKEN_FOREIGN = 320,
- TOKEN_FROM = 321,
- TOKEN_FULL = 322,
- TOKEN_GROUP = 323,
- TOKEN_HASH = 324,
- TOKEN_HAVING = 325,
- TOKEN_HOUR = 326,
- TOKEN_IN = 327,
- TOKEN_INDEX = 328,
- TOKEN_INNER = 329,
- TOKEN_INSERT = 330,
- TOKEN_INTEGER = 331,
- TOKEN_INTERVAL = 332,
- TOKEN_INTO = 333,
- TOKEN_JOIN = 334,
- TOKEN_KEY = 335,
- TOKEN_LAST = 336,
- TOKEN_LEFT = 337,
- TOKEN_LIMIT = 338,
- TOKEN_LONG = 339,
- TOKEN_MINUTE = 340,
- TOKEN_MONTH = 341,
- TOKEN_NULL = 342,
- TOKEN_NULLS = 343,
- TOKEN_OFF = 344,
- TOKEN_ON = 345,
- TOKEN_ORDER = 346,
- TOKEN_OUTER = 347,
- TOKEN_OVER = 348,
- TOKEN_PARTITION = 349,
- TOKEN_PARTITIONS = 350,
- TOKEN_PERCENT = 351,
- TOKEN_PRECEDING = 352,
- TOKEN_PRIMARY = 353,
- TOKEN_QUIT = 354,
- TOKEN_RANGE = 355,
- TOKEN_REAL = 356,
- TOKEN_REFERENCES = 357,
- TOKEN_RIGHT = 358,
- TOKEN_ROW = 359,
- TOKEN_ROW_DELIMITER = 360,
- TOKEN_ROWS = 361,
- TOKEN_SECOND = 362,
- TOKEN_SELECT = 363,
- TOKEN_SET = 364,
- TOKEN_SMA = 365,
- TOKEN_SMALLINT = 366,
- TOKEN_SUBSTRING = 367,
- TOKEN_TABLE = 368,
- TOKEN_THEN = 369,
- TOKEN_TIME = 370,
- TOKEN_TIMESTAMP = 371,
- TOKEN_TRUE = 372,
- TOKEN_TUPLESAMPLE = 373,
- TOKEN_UNBOUNDED = 374,
- TOKEN_UNIQUE = 375,
- TOKEN_UPDATE = 376,
- TOKEN_USING = 377,
- TOKEN_VALUES = 378,
- TOKEN_VARCHAR = 379,
- TOKEN_WHEN = 380,
- TOKEN_WHERE = 381,
- TOKEN_WINDOW = 382,
- TOKEN_WITH = 383,
- TOKEN_YEAR = 384,
- TOKEN_YEARMONTH = 385,
- TOKEN_EOF = 386,
- TOKEN_LEX_ERROR = 387
- };
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ TOKEN_COMMAND = 258,
+ TOKEN_NAME = 259,
+ TOKEN_STRING_SINGLE_QUOTED = 260,
+ TOKEN_STRING_DOUBLE_QUOTED = 261,
+ TOKEN_UNSIGNED_NUMVAL = 262,
+ TOKEN_OR = 263,
+ TOKEN_AND = 264,
+ TOKEN_NOT = 265,
+ TOKEN_EQ = 266,
+ TOKEN_NEQ = 267,
+ TOKEN_GEQ = 268,
+ TOKEN_GT = 269,
+ TOKEN_LEQ = 270,
+ TOKEN_LT = 271,
+ TOKEN_REGEXP = 272,
+ TOKEN_LIKE = 273,
+ TOKEN_BETWEEN = 274,
+ TOKEN_IS = 275,
+ UNARY_MINUS = 276,
+ UNARY_PLUS = 277,
+ TOKEN_ADD = 278,
+ TOKEN_ALL = 279,
+ TOKEN_ALTER = 280,
+ TOKEN_AS = 281,
+ TOKEN_ASC = 282,
+ TOKEN_BIGINT = 283,
+ TOKEN_BIT = 284,
+ TOKEN_BITWEAVING = 285,
+ TOKEN_BLOCKPROPERTIES = 286,
+ TOKEN_BLOCKSAMPLE = 287,
+ TOKEN_BLOOM_FILTER = 288,
+ TOKEN_CSB_TREE = 289,
+ TOKEN_BY = 290,
+ TOKEN_CASE = 291,
+ TOKEN_CHARACTER = 292,
+ TOKEN_CHECK = 293,
+ TOKEN_COLUMN = 294,
+ TOKEN_CONSTRAINT = 295,
+ TOKEN_COPY = 296,
+ TOKEN_CREATE = 297,
+ TOKEN_CURRENT = 298,
+ TOKEN_DATE = 299,
+ TOKEN_DATETIME = 300,
+ TOKEN_DAY = 301,
+ TOKEN_DECIMAL = 302,
+ TOKEN_DEFAULT = 303,
+ TOKEN_DELETE = 304,
+ TOKEN_DELIMITER = 305,
+ TOKEN_DESC = 306,
+ TOKEN_DISTINCT = 307,
+ TOKEN_DOUBLE = 308,
+ TOKEN_DROP = 309,
+ TOKEN_ELSE = 310,
+ TOKEN_END = 311,
+ TOKEN_ESCAPE_STRINGS = 312,
+ TOKEN_EXISTS = 313,
+ TOKEN_EXTRACT = 314,
+ TOKEN_FALSE = 315,
+ TOKEN_FIRST = 316,
+ TOKEN_FLOAT = 317,
+ TOKEN_FOLLOWING = 318,
+ TOKEN_FOR = 319,
+ TOKEN_FOREIGN = 320,
+ TOKEN_FROM = 321,
+ TOKEN_FULL = 322,
+ TOKEN_GROUP = 323,
+ TOKEN_HASH = 324,
+ TOKEN_HAVING = 325,
+ TOKEN_HOUR = 326,
+ TOKEN_IN = 327,
+ TOKEN_INDEX = 328,
+ TOKEN_INNER = 329,
+ TOKEN_INSERT = 330,
+ TOKEN_INTEGER = 331,
+ TOKEN_INTERVAL = 332,
+ TOKEN_INTO = 333,
+ TOKEN_JOIN = 334,
+ TOKEN_KEY = 335,
+ TOKEN_LAST = 336,
+ TOKEN_LEFT = 337,
+ TOKEN_LIMIT = 338,
+ TOKEN_LONG = 339,
+ TOKEN_MINUTE = 340,
+ TOKEN_MONTH = 341,
+ TOKEN_NULL = 342,
+ TOKEN_NULLS = 343,
+ TOKEN_OFF = 344,
+ TOKEN_ON = 345,
+ TOKEN_ORDER = 346,
+ TOKEN_OUTER = 347,
+ TOKEN_OVER = 348,
+ TOKEN_PARTITION = 349,
+ TOKEN_PARTITIONS = 350,
+ TOKEN_PERCENT = 351,
+ TOKEN_PRECEDING = 352,
+ TOKEN_PRIMARY = 353,
+ TOKEN_PRIORITY = 354,
+ TOKEN_QUIT = 355,
+ TOKEN_RANGE = 356,
+ TOKEN_REAL = 357,
+ TOKEN_REFERENCES = 358,
+ TOKEN_RIGHT = 359,
+ TOKEN_ROW = 360,
+ TOKEN_ROW_DELIMITER = 361,
+ TOKEN_ROWS = 362,
+ TOKEN_SECOND = 363,
+ TOKEN_SELECT = 364,
+ TOKEN_SET = 365,
+ TOKEN_SMA = 366,
+ TOKEN_SMALLINT = 367,
+ TOKEN_SUBSTRING = 368,
+ TOKEN_TABLE = 369,
+ TOKEN_THEN = 370,
+ TOKEN_TIME = 371,
+ TOKEN_TIMESTAMP = 372,
+ TOKEN_TRUE = 373,
+ TOKEN_TUPLESAMPLE = 374,
+ TOKEN_UNBOUNDED = 375,
+ TOKEN_UNIQUE = 376,
+ TOKEN_UPDATE = 377,
+ TOKEN_USING = 378,
+ TOKEN_VALUES = 379,
+ TOKEN_VARCHAR = 380,
+ TOKEN_WHEN = 381,
+ TOKEN_WHERE = 382,
+ TOKEN_WINDOW = 383,
+ TOKEN_WITH = 384,
+ TOKEN_YEAR = 385,
+ TOKEN_YEARMONTH = 386,
+ TOKEN_EOF = 387,
+ TOKEN_LEX_ERROR = 388
+ };
#endif
-/* Value type. */
-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-union YYSTYPE
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
{
-#line 119 "../SqlParser.ypp" /* yacc.c:355 */
+/* Line 387 of yacc.c */
+#line 120 "../SqlParser.ypp"
quickstep::ParseString *string_value_;
@@ -422,42 +430,57 @@ union YYSTYPE
quickstep::PtrVector<quickstep::ParseSubqueryTableReference> *with_list_;
quickstep::ParseSubqueryTableReference *with_list_element_;
-#line 426 "SqlParser_gen.cpp" /* yacc.c:355 */
-};
+ quickstep::ParsePriority *opt_priority_clause_;
-typedef union YYSTYPE YYSTYPE;
+
+/* Line 387 of yacc.c */
+#line 438 "SqlParser_gen.cpp"
+} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
-/* Location type. */
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
-typedef struct YYLTYPE YYLTYPE;
-struct YYLTYPE
+typedef struct YYLTYPE
{
int first_line;
int first_column;
int last_line;
int last_column;
-};
+} YYLTYPE;
+# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif
-
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int quickstep_yyparse (void *YYPARSE_PARAM);
+#else
+int quickstep_yyparse ();
+#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
int quickstep_yyparse (yyscan_t yyscanner, quickstep::ParseStatement **parsedStatement);
+#else
+int quickstep_yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
#endif /* !YY_QUICKSTEP_YY_SQLPARSER_GEN_HPP_INCLUDED */
/* Copy the second part of user declarations. */
-#line 217 "../SqlParser.ypp" /* yacc.c:358 */
+/* Line 390 of yacc.c */
+#line 220 "../SqlParser.ypp"
/* This header needs YYSTYPE, which is defined by the %union directive above */
#include "SqlLexer_gen.hpp"
void NotSupported(const YYLTYPE *location, yyscan_t yyscanner, const std::string &feature);
-#line 461 "SqlParser_gen.cpp" /* yacc.c:358 */
+/* Line 390 of yacc.c */
+#line 484 "SqlParser_gen.cpp"
#ifdef short
# undef short
@@ -471,8 +494,11 @@ typedef unsigned char yytype_uint8;
#ifdef YYTYPE_INT8
typedef YYTYPE_INT8 yytype_int8;
-#else
+#elif (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
typedef signed char yytype_int8;
+#else
+typedef short int yytype_int8;
#endif
#ifdef YYTYPE_UINT16
@@ -492,7 +518,8 @@ typedef short int yytype_int16;
# define YYSIZE_T __SIZE_TYPE__
# elif defined size_t
# define YYSIZE_T size_t
-# elif ! defined YYSIZE_T
+# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# else
@@ -514,33 +541,6 @@ typedef short int yytype_int16;
# endif
#endif
-#ifndef YY_ATTRIBUTE
-# if (defined __GNUC__ \
- && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
- || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
-# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
-# else
-# define YY_ATTRIBUTE(Spec) /* empty */
-# endif
-#endif
-
-#ifndef YY_ATTRIBUTE_PURE
-# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
-#endif
-
-#ifndef YY_ATTRIBUTE_UNUSED
-# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
-#endif
-
-#if !defined _Noreturn \
- && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
-# if defined _MSC_VER && 1200 <= _MSC_VER
-# define _Noreturn __declspec (noreturn)
-# else
-# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
-# endif
-#endif
-
/* Suppress unused-variable warnings by "using" E. */
#if ! defined lint || defined __GNUC__
# define YYUSE(E) ((void) (E))
@@ -548,26 +548,24 @@ typedef short int yytype_int16;
# define YYUSE(E) /* empty */
#endif
-#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
-/* Suppress an incorrect diagnostic about yylval being uninitialized. */
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
- _Pragma ("GCC diagnostic push") \
- _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
- _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
- _Pragma ("GCC diagnostic pop")
+/* Identity function, used to suppress warnings about constant conditions. */
+#ifndef lint
+# define YYID(N) (N)
#else
-# define YY_INITIAL_VALUE(Value) Value
-#endif
-#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static int
+YYID (int yyi)
+#else
+static int
+YYID (yyi)
+ int yyi;
#endif
-#ifndef YY_INITIAL_VALUE
-# define YY_INITIAL_VALUE(Value) /* Nothing. */
+{
+ return yyi;
+}
#endif
-
#if ! defined yyoverflow || YYERROR_VERBOSE
/* The parser invokes alloca or malloc; define the necessary symbols. */
@@ -585,7 +583,8 @@ typedef short int yytype_int16;
# define alloca _alloca
# else
# define YYSTACK_ALLOC alloca
-# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
+# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
/* Use EXIT_SUCCESS as a witness for stdlib.h. */
# ifndef EXIT_SUCCESS
@@ -597,8 +596,8 @@ typedef short int yytype_int16;
# endif
# ifdef YYSTACK_ALLOC
- /* Pacify GCC's 'empty if-body' warning. */
-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+ /* Pacify GCC's `empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
# ifndef YYSTACK_ALLOC_MAXIMUM
/* The OS might guarantee only one guard page at the bottom of the stack,
and a page size can be as small as 4096 bytes. So we cannot safely
@@ -614,7 +613,7 @@ typedef short int yytype_int16;
# endif
# if (defined __cplusplus && ! defined EXIT_SUCCESS \
&& ! ((defined YYMALLOC || defined malloc) \
- && (defined YYFREE || defined free)))
+ && (defined YYFREE || defined free)))
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
# ifndef EXIT_SUCCESS
# define EXIT_SUCCESS 0
@@ -622,13 +621,15 @@ typedef short int yytype_int16;
# endif
# ifndef YYMALLOC
# define YYMALLOC malloc
-# if ! defined malloc && ! defined EXIT_SUCCESS
+# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
# ifndef YYFREE
# define YYFREE free
-# if ! defined free && ! defined EXIT_SUCCESS
+# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
void free (void *); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
@@ -638,8 +639,8 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
#if (! defined yyoverflow \
&& (! defined __cplusplus \
- || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
- && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+ || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
+ && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
/* A type that is properly aligned for any stack member. */
union yyalloc
@@ -665,16 +666,16 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
- do \
- { \
- YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
- Stack = &yyptr->Stack_alloc; \
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / sizeof (*yyptr); \
- } \
- while (0)
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (YYID (0))
#endif
@@ -693,7 +694,7 @@ union yyalloc
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
- while (0)
+ while (YYID (0))
# endif
# endif
#endif /* !YYCOPY_NEEDED */
@@ -701,35 +702,33 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 47
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1347
+#define YYLAST 1346
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 144
+#define YYNTOKENS 145
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 106
+#define YYNNTS 107
/* YYNRULES -- Number of rules. */
-#define YYNRULES 287
-/* YYNSTATES -- Number of states. */
-#define YYNSTATES 531
+#define YYNRULES 289
+/* YYNRULES -- Number of states. */
+#define YYNSTATES 536
-/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
- by yylex, with out-of-bounds checking. */
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 387
+#define YYMAXUTOK 388
-#define YYTRANSLATE(YYX) \
+#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
- as returned by yylex, without out-of-bounds checking. */
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
static const yytype_uint8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 139, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 140, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 143, 2, 2,
- 140, 141, 23, 21, 142, 22, 27, 24, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 138,
+ 2, 2, 2, 2, 2, 2, 2, 144, 2, 2,
+ 141, 142, 23, 21, 143, 22, 27, 24, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 139,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -762,42 +761,174 @@ static const yytype_uint8 yytranslate[] =
100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
- 130, 131, 132, 133, 134, 135, 136, 137
+ 130, 131, 132, 133, 134, 135, 136, 137, 138
};
#if YYDEBUG
- /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+ YYRHS. */
+static const yytype_uint16 yyprhs[] =
+{
+ 0, 0, 3, 6, 9, 12, 15, 17, 19, 21,
+ 23, 25, 27, 29, 31, 33, 35, 37, 39, 41,
+ 48, 55, 62, 69, 79, 89, 93, 97, 99, 103,
+ 105, 107, 109, 111, 113, 115, 117, 119, 121, 123,
+ 125, 127, 129, 131, 134, 137, 142, 147, 149, 152,
+ 154, 157, 160, 165, 171, 174, 176, 177, 179, 184,
+ 190, 201, 206, 210, 212, 213, 215, 216, 220, 221,
+ 227, 228, 237, 239, 241, 243, 247, 249, 251, 253,
+ 256, 259, 264, 267, 269, 271, 273, 275, 276, 280,
+ 291, 299, 304, 310, 316, 317, 322, 325, 328, 333,
+ 338, 344, 349, 353, 355, 359, 362, 366, 367, 371,
+ 374, 376, 380, 384, 395, 396, 398, 400, 402, 404,
+ 406, 410, 414, 417, 419, 422, 426, 427, 431, 435,
+ 436, 438, 440, 443, 445, 448, 450, 453, 460, 462,
+ 465, 469, 472, 475, 477, 481, 483, 486, 488, 493,
+ 495, 499, 500, 504, 505, 508, 509, 513, 514, 517,
+ 518, 520, 522, 525, 532, 536, 537, 541, 542, 546,
+ 547, 553, 555, 557, 560, 563, 566, 569, 572, 575,
+ 577, 581, 585, 586, 588, 590, 591, 594, 597, 598,
+ 600, 603, 607, 609, 613, 615, 618, 620, 626, 633,
+ 638, 642, 646, 650, 653, 657, 663, 668, 675, 679,
+ 681, 685, 687, 690, 692, 694, 696, 698, 702, 708,
+ 710, 712, 714, 718, 720, 724, 729, 734, 740, 747,
+ 754, 763, 769, 774, 776, 779, 784, 786, 789, 794,
+ 795, 798, 800, 804, 806, 808, 811, 814, 816, 819,
+ 823, 826, 828, 830, 832, 834, 836, 838, 840, 844,
+ 846, 850, 852, 856, 858, 860, 862, 864, 866, 868,
+ 870, 873, 875, 878, 880, 882, 884, 886, 888, 890,
+ 892, 896, 898, 900, 902, 904, 906, 908, 911, 914
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yytype_int16 yyrhs[] =
+{
+ 146, 0, -1, 147, 139, -1, 147, 137, -1, 250,
+ 140, -1, 250, 137, -1, 1, -1, 137, -1, 149,
+ -1, 174, -1, 150, -1, 151, -1, 178, -1, 152,
+ -1, 173, -1, 148, -1, 181, -1, 177, -1, 105,
+ -1, 30, 119, 248, 28, 44, 153, -1, 30, 119,
+ 248, 28, 45, 159, -1, 30, 119, 248, 59, 44,
+ 248, -1, 30, 119, 248, 59, 45, 248, -1, 47,
+ 119, 248, 141, 154, 142, 161, 163, 164, -1, 47,
+ 78, 248, 95, 248, 162, 128, 171, 172, -1, 59,
+ 119, 248, -1, 248, 155, 158, -1, 153, -1, 154,
+ 143, 153, -1, 34, -1, 49, -1, 50, -1, 121,
+ -1, 122, -1, 52, -1, 107, -1, 58, -1, 67,
+ -1, 117, -1, 81, -1, 33, -1, 89, -1, 82,
+ -1, 50, 82, -1, 136, 82, -1, 42, 141, 7,
+ 142, -1, 130, 141, 7, 142, -1, 92, -1, 10,
+ 92, -1, 126, -1, 103, 85, -1, 53, 238, -1,
+ 43, 141, 220, 142, -1, 108, 248, 141, 248, 142,
+ -1, 157, 156, -1, 156, -1, -1, 157, -1, 126,
+ 141, 247, 142, -1, 103, 85, 141, 247, 142, -1,
+ 70, 85, 141, 247, 142, 108, 248, 141, 247, 142,
+ -1, 43, 141, 220, 142, -1, 160, 143, 159, -1,
+ 159, -1, -1, 160, -1, -1, 141, 242, 142, -1,
+ -1, 134, 36, 141, 166, 142, -1, -1, 99, 40,
+ 165, 141, 247, 142, 100, 7, -1, 74, -1, 106,
+ -1, 167, -1, 166, 143, 167, -1, 168, -1, 169,
+ -1, 170, -1, 248, 248, -1, 248, 29, -1, 248,
+ 141, 247, 142, -1, 248, 7, -1, 35, -1, 38,
+ -1, 39, -1, 116, -1, -1, 141, 166, 142, -1,
+ 80, 83, 248, 141, 247, 142, 129, 141, 240, 142,
+ -1, 80, 83, 248, 129, 141, 240, 142, -1, 80,
+ 83, 248, 186, -1, 183, 80, 83, 248, 186, -1,
+ 46, 248, 71, 5, 175, -1, -1, 134, 141, 176,
+ 142, -1, 55, 5, -1, 62, 249, -1, 176, 143,
+ 55, 5, -1, 176, 143, 62, 249, -1, 127, 248,
+ 115, 179, 218, -1, 54, 71, 248, 218, -1, 179,
+ 143, 180, -1, 180, -1, 248, 11, 224, -1, 186,
+ 182, -1, 183, 186, 182, -1, -1, 134, 104, 7,
+ -1, 134, 184, -1, 185, -1, 184, 143, 185, -1,
+ 198, 31, 192, -1, 114, 187, 188, 191, 218, 200,
+ 201, 202, 203, 204, -1, -1, 29, -1, 57, -1,
+ 23, -1, 189, -1, 190, -1, 189, 143, 190, -1,
+ 224, 31, 248, -1, 224, 248, -1, 224, -1, 71,
+ 199, -1, 141, 186, 142, -1, -1, 37, 7, 101,
+ -1, 124, 7, 101, -1, -1, 79, -1, 87, -1,
+ 87, 97, -1, 109, -1, 109, 97, -1, 72, -1,
+ 72, 97, -1, 195, 194, 84, 196, 95, 220, -1,
+ 196, -1, 192, 197, -1, 248, 193, 197, -1, 248,
+ 193, -1, 228, 197, -1, 228, -1, 141, 195, 142,
+ -1, 198, -1, 31, 198, -1, 248, -1, 248, 141,
+ 247, 142, -1, 195, -1, 199, 143, 195, -1, -1,
+ 73, 40, 237, -1, -1, 75, 220, -1, -1, 96,
+ 40, 214, -1, -1, 88, 7, -1, -1, 205, -1,
+ 206, -1, 205, 206, -1, 133, 248, 31, 141, 207,
+ 142, -1, 208, 209, 210, -1, -1, 99, 40, 237,
+ -1, -1, 96, 40, 214, -1, -1, 211, 19, 212,
+ 9, 213, -1, 112, -1, 106, -1, 7, 102, -1,
+ 125, 102, -1, 48, 110, -1, 7, 68, -1, 125,
+ 68, -1, 48, 110, -1, 215, -1, 214, 143, 215,
+ -1, 224, 216, 217, -1, -1, 32, -1, 56, -1,
+ -1, 93, 66, -1, 93, 86, -1, -1, 219, -1,
+ 132, 220, -1, 220, 8, 221, -1, 221, -1, 221,
+ 9, 222, -1, 222, -1, 10, 223, -1, 223, -1,
+ 224, 19, 224, 9, 224, -1, 224, 10, 19, 224,
+ 9, 224, -1, 241, 20, 10, 92, -1, 241, 20,
+ 92, -1, 224, 243, 224, -1, 141, 220, 142, -1,
+ 63, 192, -1, 224, 77, 192, -1, 224, 77, 141,
+ 237, 142, -1, 224, 10, 77, 192, -1, 224, 10,
+ 77, 141, 237, 142, -1, 224, 245, 225, -1, 225,
+ -1, 225, 246, 226, -1, 226, -1, 244, 227, -1,
+ 227, -1, 241, -1, 238, -1, 228, -1, 228, 98,
+ 248, -1, 228, 98, 141, 207, 142, -1, 229, -1,
+ 230, -1, 231, -1, 141, 224, 142, -1, 192, -1,
+ 248, 141, 142, -1, 248, 141, 23, 142, -1, 248,
+ 141, 237, 142, -1, 248, 141, 57, 237, 142, -1,
+ 64, 141, 239, 71, 224, 142, -1, 118, 141, 224,
+ 71, 7, 142, -1, 118, 141, 224, 71, 7, 69,
+ 7, 142, -1, 41, 224, 232, 236, 61, -1, 41,
+ 234, 236, 61, -1, 233, -1, 232, 233, -1, 131,
+ 224, 120, 224, -1, 235, -1, 234, 235, -1, 131,
+ 220, 120, 224, -1, -1, 60, 224, -1, 224, -1,
+ 237, 143, 224, -1, 92, -1, 7, -1, 21, 7,
+ -1, 22, 7, -1, 5, -1, 82, 5, -1, 82,
+ 5, 239, -1, 155, 5, -1, 135, -1, 91, -1,
+ 51, -1, 76, -1, 90, -1, 113, -1, 238, -1,
+ 240, 143, 238, -1, 248, -1, 248, 27, 248, -1,
+ 241, -1, 242, 143, 241, -1, 11, -1, 12, -1,
+ 16, -1, 15, -1, 14, -1, 13, -1, 18, -1,
+ 10, 18, -1, 17, -1, 10, 17, -1, 22, -1,
+ 21, -1, 22, -1, 144, -1, 23, -1, 24, -1,
+ 248, -1, 247, 143, 248, -1, 4, -1, 6, -1,
+ 123, -1, 95, -1, 65, -1, 94, -1, 3, 251,
+ -1, 251, 3, -1, -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 622, 622, 626, 630, 634, 638, 641, 648, 651,
- 654, 657, 660, 663, 666, 669, 672, 675, 681, 687,
- 694, 700, 707, 716, 721, 730, 735, 740, 744, 750,
- 755, 758, 761, 766, 769, 772, 775, 778, 781, 784,
- 787, 790, 793, 805, 808, 811, 829, 849, 852, 855,
- 860, 865, 871, 877, 886, 890, 896, 899, 904, 909,
- 914, 921, 928, 932, 938, 941, 946, 949, 954, 957,
- 962, 965, 984, 988, 994, 998, 1004, 1007, 1010, 1015,
- 1018, 1025, 1030, 1041, 1046, 1050, 1054, 1060, 1063, 1069,
- 1077, 1080, 1083, 1089, 1094, 1097, 1102, 1106, 1110, 1114,
- 1120, 1125, 1130, 1134, 1140, 1146, 1149, 1154, 1159, 1163,
- 1169, 1175, 1181, 1184, 1188, 1194, 1197, 1202, 1206, 1212,
- 1215, 1218, 1223, 1228, 1233, 1236, 1239, 1244, 1247, 1250,
- 1253, 1256, 1259, 1262, 1265, 1270, 1273, 1278, 1282, 1286,
- 1289, 1293, 1296, 1301, 1304, 1309, 1312, 1317, 1321, 1327,
- 1330, 1335, 1338, 1343, 1346, 1351, 1354, 1373, 1376, 1379,
- 1383, 1389, 1395, 1400, 1403, 1408, 1411, 1416, 1419, 1424,
- 1427, 1432, 1433, 1436, 1441, 1442, 1445, 1450, 1454, 1460,
- 1467, 1470, 1473, 1478, 1481, 1484, 1490, 1493, 1498, 1503,
- 1512, 1517, 1526, 1531, 1534, 1539, 1542, 1547, 1553, 1559,
- 1562, 1565, 1568, 1571, 1574, 1580, 1589, 1592, 1597, 1600,
- 1605, 1608, 1613, 1616, 1619, 1622, 1626, 1630, 1633, 1636,
- 1639, 1642, 1647, 1651, 1655, 1658, 1663, 1668, 1672, 1678,
- 1681, 1686, 1690, 1696, 1701, 1705, 1711, 1716, 1719, 1724,
- 1728, 1734, 1737, 1740, 1743, 1755, 1759, 1778, 1791, 1806,
- 1809, 1812, 1815, 1818, 1821, 1826, 1830, 1836, 1839, 1844,
- 1848, 1855, 1858, 1861, 1864, 1867, 1870, 1873, 1876, 1879,
- 1882, 1887, 1898, 1901, 1906, 1909, 1912, 1918, 1922, 1928,
- 1931, 1939, 1942, 1945, 1948, 1954, 1959, 1964
+ 0, 629, 629, 633, 637, 641, 645, 648, 655, 658,
+ 661, 664, 667, 670, 673, 676, 679, 682, 688, 694,
+ 701, 707, 714, 723, 728, 737, 742, 747, 751, 757,
+ 762, 765, 768, 773, 776, 779, 782, 785, 788, 791,
+ 794, 797, 800, 812, 815, 818, 836, 856, 859, 862,
+ 867, 872, 878, 884, 893, 897, 903, 906, 911, 916,
+ 921, 928, 935, 939, 945, 948, 953, 956, 961, 964,
+ 969, 972, 991, 995, 1001, 1005, 1011, 1014, 1017, 1022,
+ 1025, 1032, 1037, 1048, 1053, 1057, 1061, 1067, 1070, 1076,
+ 1084, 1087, 1090, 1096, 1101, 1104, 1109, 1113, 1117, 1121,
+ 1127, 1132, 1137, 1141, 1147, 1153, 1156, 1161, 1164, 1183,
+ 1188, 1192, 1198, 1204, 1210, 1213, 1217, 1223, 1226, 1231,
+ 1235, 1241, 1244, 1247, 1252, 1257, 1262, 1265, 1268, 1273,
+ 1276, 1279, 1282, 1285, 1288, 1291, 1294, 1299, 1302, 1307,
+ 1311, 1315, 1318, 1322, 1325, 1330, 1333, 1338, 1341, 1346,
+ 1350, 1356, 1359, 1364, 1367, 1372, 1375, 1380, 1383, 1402,
+ 1405, 1410, 1414, 1420, 1426, 1431, 1434, 1439, 1442, 1447,
+ 1450, 1455, 1458, 1463, 1464, 1467, 1472, 1473, 1476, 1481,
+ 1485, 1491, 1498, 1501, 1504, 1509, 1512, 1515, 1521, 1524,
+ 1529, 1534, 1543, 1548, 1557, 1562, 1565, 1570, 1573, 1578,
+ 1584, 1590, 1593, 1596, 1599, 1602, 1605, 1611, 1620, 1623,
+ 1628, 1631, 1636, 1639, 1644, 1647, 1650, 1653, 1657, 1661,
+ 1664, 1667, 1670, 1673, 1678, 1682, 1686, 1689, 1694, 1699,
+ 1703, 1709, 1712, 1717, 1721, 1727, 1732, 1736, 1742, 1747,
+ 1750, 1755, 1759, 1765, 1768, 1771, 1774, 1786, 1790, 1809,
+ 1822, 1837, 1840, 1843, 1846, 1849, 1852, 1857, 1861, 1867,
+ 1870, 1875, 1879, 1886, 1889, 1892, 1895, 1898, 1901, 1904,
+ 1907, 1910, 1913, 1918, 1929, 1932, 1937, 1940, 1943, 1949,
+ 1953, 1959, 1962, 1970, 1973, 1976, 1979, 1985, 1990, 1995
};
#endif
@@ -809,9 +940,9 @@ static const char *const yytname[] =
"$end", "error", "$undefined", "TOKEN_COMMAND", "TOKEN_NAME",
"TOKEN_STRING_SINGLE_QUOTED", "TOKEN_STRING_DOUBLE_QUOTED",
"TOKEN_UNSIGNED_NUMVAL", "TOKEN_OR", "TOKEN_AND", "TOKEN_NOT",
- "TOKEN_EQ", "TOKEN_LT", "TOKEN_LEQ", "TOKEN_GT", "TOKEN_GEQ",
- "TOKEN_NEQ", "TOKEN_LIKE", "TOKEN_REGEXP", "TOKEN_BETWEEN", "TOKEN_IS",
- "'+'", "'-'", "'*'", "'/'", "UNARY_PLUS", "UNARY_MINUS", "'.'",
+ "TOKEN_EQ", "TOKEN_NEQ", "TOKEN_GEQ", "TOKEN_GT", "TOKEN_LEQ",
+ "TOKEN_LT", "TOKEN_REGEXP", "TOKEN_LIKE", "TOKEN_BETWEEN", "TOKEN_IS",
+ "'+'", "'-'", "'*'", "'/'", "UNARY_MINUS", "UNARY_PLUS", "'.'",
"TOKEN_ADD", "TOKEN_ALL", "TOKEN_ALTER", "TOKEN_AS", "TOKEN_ASC",
"TOKEN_BIGINT", "TOKEN_BIT", "TOKEN_BITWEAVING", "TOKEN_BLOCKPROPERTIES",
"TOKEN_BLOCKSAMPLE", "TOKEN_BLOOM_FILTER", "TOKEN_CSB_TREE", "TOKEN_BY",
@@ -829,30 +960,31 @@ static const char *const yytname[] =
"TOKEN_LIMIT", "TOKEN_LONG", "TOKEN_MINUTE", "TOKEN_MONTH", "TOKEN_NULL",
"TOKEN_NULLS", "TOKEN_OFF", "TOKEN_ON", "TOKEN_ORDER", "TOKEN_OUTER",
"TOKEN_OVER", "TOKEN_PARTITION", "TOKEN_PARTITIONS", "TOKEN_PERCENT",
- "TOKEN_PRECEDING", "TOKEN_PRIMARY", "TOKEN_QUIT", "TOKEN_RANGE",
- "TOKEN_REAL", "TOKEN_REFERENCES", "TOKEN_RIGHT", "TOKEN_ROW",
- "TOKEN_ROW_DELIMITER", "TOKEN_ROWS", "TOKEN_SECOND", "TOKEN_SELECT",
- "TOKEN_SET", "TOKEN_SMA", "TOKEN_SMALLINT", "TOKEN_SUBSTRING",
- "TOKEN_TABLE", "TOKEN_THEN", "TOKEN_TIME", "TOKEN_TIMESTAMP",
- "TOKEN_TRUE", "TOKEN_TUPLESAMPLE", "TOKEN_UNBOUNDED", "TOKEN_UNIQUE",
- "TOKEN_UPDATE", "TOKEN_USING", "TOKEN_VALUES", "TOKEN_VARCHAR",
- "TOKEN_WHEN", "TOKEN_WHERE", "TOKEN_WINDOW", "TOKEN_WITH", "TOKEN_YEAR",
- "TOKEN_YEARMONTH", "TOKEN_EOF", "TOKEN_LEX_ERROR", "';'", "'\\n'", "'('",
- "')'", "','", "'%'", "$accept", "start", "sql_statement",
- "quit_statement", "alter_table_statement", "create_table_statement",
- "create_index_statement", "drop_table_statement", "column_def",
- "column_def_commalist", "data_type", "column_constraint_def",
- "column_constraint_def_list", "opt_column_constraint_def_list",
- "table_constraint_def", "table_constraint_def_commalist",
- "opt_table_constraint_def_commalist", "opt_column_list",
- "opt_block_properties", "opt_partition_clause", "partition_type",
- "key_value_list", "key_value", "key_string_value", "key_string_list",
- "key_integer_value", "index_type", "opt_index_properties",
- "insert_statement", "copy_from_statement", "opt_copy_from_params",
- "copy_from_params", "update_statement", "delete_statement",
- "assignment_list", "assignment_item", "select_statement", "with_clause",
- "with_list", "with_list_element", "select_query", "opt_all_distinct",
- "selection", "selection_item_commalist", "selection_item", "from_clause",
+ "TOKEN_PRECEDING", "TOKEN_PRIMARY", "TOKEN_PRIORITY", "TOKEN_QUIT",
+ "TOKEN_RANGE", "TOKEN_REAL", "TOKEN_REFERENCES", "TOKEN_RIGHT",
+ "TOKEN_ROW", "TOKEN_ROW_DELIMITER", "TOKEN_ROWS", "TOKEN_SECOND",
+ "TOKEN_SELECT", "TOKEN_SET", "TOKEN_SMA", "TOKEN_SMALLINT",
+ "TOKEN_SUBSTRING", "TOKEN_TABLE", "TOKEN_THEN", "TOKEN_TIME",
+ "TOKEN_TIMESTAMP", "TOKEN_TRUE", "TOKEN_TUPLESAMPLE", "TOKEN_UNBOUNDED",
+ "TOKEN_UNIQUE", "TOKEN_UPDATE", "TOKEN_USING", "TOKEN_VALUES",
+ "TOKEN_VARCHAR", "TOKEN_WHEN", "TOKEN_WHERE", "TOKEN_WINDOW",
+ "TOKEN_WITH", "TOKEN_YEAR", "TOKEN_YEARMONTH", "TOKEN_EOF",
+ "TOKEN_LEX_ERROR", "';'", "'\\n'", "'('", "')'", "','", "'%'", "$accept",
+ "start", "sql_statement", "quit_statement", "alter_table_statement",
+ "create_table_statement", "create_index_statement",
+ "drop_table_statement", "column_def", "column_def_commalist",
+ "data_type", "column_constraint_def", "column_constraint_def_list",
+ "opt_column_constraint_def_list", "table_constraint_def",
+ "table_constraint_def_commalist", "opt_table_constraint_def_commalist",
+ "opt_column_list", "opt_block_properties", "opt_partition_clause",
+ "partition_type", "key_value_list", "key_value", "key_string_value",
+ "key_string_list", "key_integer_value", "index_type",
+ "opt_index_properties", "insert_statement", "copy_from_statement",
+ "opt_copy_from_params", "copy_from_params", "update_statement",
+ "delete_statement", "assignment_list", "assignment_item",
+ "select_statement", "opt_priority_clause", "with_clause", "with_list",
+ "with_list_element", "select_query", "opt_all_distinct", "selection",
+ "selection_item_commalist", "selection_item", "from_clause",
"subquery_expression", "opt_sample_clause", "join_type",
"joined_table_reference", "table_reference", "table_reference_signature",
"table_reference_signature_primary", "joined_table_reference_commalist",
@@ -872,13 +1004,13 @@ static const char *const yytname[] =
"literal_value_commalist", "attribute_ref", "attribute_ref_list",
"comparison_operation", "unary_operation", "add_operation",
"multiply_operation", "name_commalist", "any_name", "boolean_value",
- "command", "command_argument_list", YY_NULLPTR
+ "command", "command_argument_list", YY_NULL
};
#endif
# ifdef YYPRINT
-/* YYTOKNUM[NUM] -- (External) token number corresponding to the
- (internal) symbol number NUM (which must be that of a token). */
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+ token YYLEX-NUM. */
static const yytype_uint16 yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
@@ -894,593 +1026,605 @@ static const yytype_uint16 yytoknum[] =
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
- 380, 381, 382, 383, 384, 385, 386, 387, 59, 10,
- 40, 41, 44, 37
+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 59,
+ 10, 40, 41, 44, 37
};
# endif
-#define YYPACT_NINF -239
-
-#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-239)))
-
-#define YYTABLE_NINF -128
-
-#define yytable_value_is_error(Yytable_value) \
- 0
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const yytype_uint8 yyr1[] =
+{
+ 0, 145, 146, 146, 146, 146, 146, 146, 147, 147,
+ 147, 147, 147, 147, 147, 147, 147, 147, 148, 149,
+ 149, 149, 149, 150, 151, 152, 153, 154, 154, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 156, 156, 156,
+ 156, 156, 156, 156, 157, 157, 158, 158, 159, 159,
+ 159, 159, 160, 160, 161, 161, 162, 162, 163, 163,
+ 164, 164, 165, 165, 166, 166, 167, 167, 167, 168,
+ 168, 169, 170, 171, 171, 171, 171, 172, 172, 173,
+ 173, 173, 173, 174, 175, 175, 176, 176, 176, 176,
+ 177, 178, 179, 179, 180, 181, 181, 182, 182, 183,
+ 184, 184, 185, 186, 187, 187, 187, 188, 188, 189,
+ 189, 190, 190, 190, 191, 192, 193, 193, 193, 194,
+ 194, 194, 194, 194, 194, 194, 194, 195, 195, 196,
+ 196, 196, 196, 196, 196, 197, 197, 198, 198, 199,
+ 199, 200, 200, 201, 201, 202, 202, 203, 203, 204,
+ 204, 205, 205, 206, 207, 208, 208, 209, 209, 210,
+ 210, 211, 211, 212, 212, 212, 213, 213, 213, 214,
+ 214, 215, 216, 216, 216, 217, 217, 217, 218, 218,
+ 219, 220, 220, 221, 221, 222, 222, 223, 223, 223,
+ 223, 223, 223, 223, 223, 223, 223, 223, 224, 224,
+ 225, 225, 226, 226, 227, 227, 227, 227, 227, 227,
+ 227, 227, 227, 227, 228, 228, 228, 228, 229, 230,
+ 230, 231, 231, 232, 232, 233, 234, 234, 235, 236,
+ 236, 237, 237, 238, 238, 238, 238, 238, 238, 238,
+ 238, 239, 239, 239, 239, 239, 239, 240, 240, 241,
+ 241, 242, 242, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 244, 245, 245, 246, 246, 246, 247,
+ 247, 248, 248, 249, 249, 249, 249, 250, 251, 251
+};
- /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- STATE-NUM. */
-static const yytype_int16 yypact[] =
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
+static const yytype_uint8 yyr2[] =
{
- 71, -239, -239, -52, 270, -19, 22, -43, 31, -239,
- 16, 270, 270, -239, 97, 162, -239, -239, -239, -239,
- -239, -239, -239, -239, -239, -239, -24, -239, 98, 117,
- 270, -239, -239, 58, 270, 270, 270, 270, 270, -239,
- -239, 619, 69, 29, -239, 155, 52, -239, -239, -239,
- 126, -239, -239, -239, -239, 36, 233, 151, 60, 127,
- -239, 68, -239, -239, 255, 260, -239, -239, -239, 700,
- 131, -239, 217, -239, -239, 137, -239, -239, 288, -239,
- -239, -239, -239, 172, -239, -239, 176, 241, 792, 320,
- 297, 189, -239, -239, 286, -1, -239, -239, 271, -239,
- -239, -239, -239, -239, 954, 0, 270, 270, 234, 270,
- 270, 184, 210, 240, 270, 270, 538, -239, -239, 239,
- 270, -239, -239, -239, 538, 47, -9, -239, 373, -239,
- 154, 154, 1035, 374, -239, 242, 26, -239, 33, 127,
- 1035, -239, -239, 270, 1035, -239, -239, -239, -239, 1035,
- 38, 260, -239, 270, 354, 48, -239, 371, -239, 272,
- -239, 140, -239, 272, 270, -18, 270, 270, 244, -239,
- 246, -239, 163, 1144, 873, 234, 457, 382, 383, -239,
- -239, 1270, 377, 1116, 169, 46, 1035, -2, -239, 1035,
- -239, 332, 253, -239, -239, -239, -239, -239, -239, 327,
- -239, 65, 259, -239, -239, 34, 220, 177, -239, 263,
- 220, -8, 328, -239, -239, -1, -239, 303, -239, -239,
- 266, 1035, -239, 293, 180, 270, -239, 1035, -239, 270,
- -239, -239, 268, 325, 329, 273, -239, -239, -239, 125,
- 270, 290, -18, 270, -239, 188, -239, -239, 2, 201,
- 538, 538, 105, -239, -239, -239, -239, -239, -239, -239,
- -239, 1035, 279, 1035, 43, -239, 185, 287, 1035, 57,
- -239, 359, 293, -239, -239, 1035, 415, -239, 178, 270,
- -239, -239, 326, -239, 330, 331, 340, 33, -239, 419,
- 422, 220, 390, 356, 393, 296, 338, -239, 187, -239,
- 1035, -239, 293, -239, 538, 298, 299, 270, 435, -3,
- 192, -239, 195, 414, 42, -239, 300, 311, -239, 353,
- 307, 1116, -239, 364, 270, -239, -239, 188, -239, -239,
- 383, -239, -239, -239, 1035, 310, 275, 792, -239, 293,
- 360, -239, -239, 1116, 313, 293, 1035, -239, 28, -33,
- -239, -239, -239, -239, -239, 33, 177, 350, 357, -239,
- 1035, 538, 358, 1035, -239, 425, -17, -239, 293, 4,
- 270, 270, 197, -239, -239, -239, -239, -239, -239, -239,
- 148, -239, 270, -239, -239, -239, -239, 315, -18, 423,
- 367, -239, 538, -239, -239, 333, -239, 280, 792, -239,
- 1035, 199, -239, -239, 1116, 293, -239, 462, -239, 381,
- -239, -239, 335, 382, 432, 396, 335, 1035, -239, -239,
- -239, 467, -239, 202, 204, -239, 476, -3, -239, 270,
- -239, -239, 347, 448, -239, 11, 270, 1035, 206, 293,
- -239, 208, 351, 538, 1035, 486, 365, 361, -239, 238,
- 7, 389, -239, -239, -239, 211, -239, -239, -239, -239,
- 14, 270, -7, -239, 363, 293, -239, -239, -239, 382,
- 361, -239, 270, -239, 365, -239, 1035, -239, -239, 407,
- 399, 401, 400, 499, 270, -239, 270, -239, -239, 270,
- -239, 213, -239, -239, 372, -239, 480, -239, -239, 102,
- -239, -239, -239, -239, 17, 376, -239, 215, -239, 270,
- 378, -239, -239, 446, 408, 451, -239, 270, -239, 221,
- 303, -239, -239, -239, 223, 426, 384, -239, 515, -239,
- -239
+ 0, 2, 2, 2, 2, 2, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 6,
+ 6, 6, 6, 9, 9, 3, 3, 1, 3, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 2, 2, 4, 4, 1, 2, 1,
+ 2, 2, 4, 5, 2, 1, 0, 1, 4, 5,
+ 10, 4, 3, 1, 0, 1, 0, 3, 0, 5,
+ 0, 8, 1, 1, 1, 3, 1, 1, 1, 2,
+ 2, 4, 2, 1, 1, 1, 1, 0, 3, 10,
+ 7, 4, 5, 5, 0, 4, 2, 2, 4, 4,
+ 5, 4, 3, 1, 3, 2, 3, 0, 3, 2,
+ 1, 3, 3, 10, 0, 1, 1, 1, 1, 1,
+ 3, 3, 2, 1, 2, 3, 0, 3, 3, 0,
+ 1, 1, 2, 1, 2, 1, 2, 6, 1, 2,
+ 3, 2, 2, 1, 3, 1, 2, 1, 4, 1,
+ 3, 0, 3, 0, 2, 0, 3, 0, 2, 0,
+ 1, 1, 2, 6, 3, 0, 3, 0, 3, 0,
+ 5, 1, 1, 2, 2, 2, 2, 2, 2, 1,
+ 3, 3, 0, 1, 1, 0, 2, 2, 0, 1,
+ 2, 3, 1, 3, 1, 2, 1, 5, 6, 4,
+ 3, 3, 3, 2, 3, 5, 4, 6, 3, 1,
+ 3, 1, 2, 1, 1, 1, 1, 3, 5, 1,
+ 1, 1, 3, 1, 3, 4, 4, 5, 6, 6,
+ 8, 5, 4, 1, 2, 4, 1, 2, 4, 0,
+ 2, 1, 3, 1, 1, 2, 2, 1, 2, 3,
+ 2, 1, 1, 1, 1, 1, 1, 1, 3, 1,
+ 3, 1, 3, 1, 1, 1, 1, 1, 1, 1,
+ 2, 1, 2, 1, 1, 1, 1, 1, 1, 1,
+ 3, 1, 1, 1, 1, 1, 1, 2, 2, 0
};
- /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
- Performed when YYTABLE does not specify something else to do. Zero
- means the default is an error. */
+/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
+ Performed when YYTABLE doesn't specify something else to do. Zero
+ means the default is an error. */
static const yytype_uint16 yydefact[] =
{
- 0, 6, 287, 0, 0, 0, 0, 0, 0, 18,
- 112, 0, 0, 7, 0, 0, 15, 8, 10, 11,
- 13, 14, 9, 17, 12, 16, 0, 105, 0, 285,
- 0, 279, 280, 0, 0, 0, 0, 0, 0, 113,
- 114, 0, 0, 107, 108, 0, 145, 1, 3, 2,
- 0, 106, 5, 4, 286, 0, 0, 0, 0, 186,
- 25, 0, 245, 242, 0, 271, 115, 40, 29, 0,
- 0, 30, 31, 34, 36, 0, 37, 39, 0, 41,
- 241, 35, 38, 0, 32, 33, 0, 0, 0, 0,
- 0, 116, 117, 221, 121, 207, 209, 211, 214, 217,
- 218, 219, 213, 212, 0, 257, 0, 0, 0, 0,
- 0, 0, 0, 94, 0, 0, 0, 101, 187, 0,
- 0, 91, 243, 244, 0, 0, 237, 234, 0, 43,
- 0, 246, 0, 0, 44, 0, 0, 248, 0, 186,
- 0, 272, 273, 0, 0, 120, 275, 276, 274, 0,
- 0, 0, 210, 0, 0, 186, 103, 0, 109, 0,
- 110, 0, 277, 0, 0, 0, 0, 0, 0, 93,
- 66, 27, 0, 0, 0, 0, 0, 188, 190, 192,
- 194, 0, 212, 0, 0, 0, 0, 237, 231, 0,
- 235, 0, 0, 251, 252, 253, 250, 254, 249, 0,
- 247, 0, 0, 123, 220, 0, 0, 147, 136, 122,
- 141, 124, 149, 118, 119, 206, 208, 163, 215, 258,
- 0, 0, 222, 239, 0, 0, 100, 0, 146, 0,
- 92, 19, 0, 0, 0, 0, 20, 21, 22, 0,
- 0, 0, 64, 0, 42, 56, 193, 201, 0, 0,
- 0, 0, 0, 261, 263, 264, 265, 266, 262, 267,
- 269, 0, 0, 0, 0, 255, 0, 0, 0, 0,
- 232, 0, 238, 230, 45, 0, 0, 46, 127, 0,
- 137, 143, 133, 128, 129, 131, 0, 0, 140, 0,
- 0, 139, 0, 151, 0, 0, 165, 223, 0, 224,
- 0, 102, 104, 278, 0, 0, 0, 0, 0, 0,
- 0, 259, 0, 257, 0, 63, 65, 68, 28, 0,
- 0, 0, 47, 0, 0, 49, 55, 57, 26, 200,
- 189, 191, 268, 270, 0, 0, 0, 0, 202, 199,
- 0, 198, 90, 0, 0, 236, 0, 229, 0, 0,
- 142, 144, 134, 130, 132, 0, 148, 0, 0, 138,
- 0, 0, 153, 0, 216, 0, 167, 225, 240, 0,
- 0, 0, 0, 96, 283, 284, 282, 281, 97, 95,
- 0, 67, 0, 83, 84, 85, 86, 87, 0, 0,
- 70, 48, 0, 51, 50, 0, 54, 0, 0, 204,
- 0, 0, 197, 256, 0, 233, 226, 0, 227, 0,
- 125, 126, 150, 152, 0, 155, 164, 0, 170, 169,
- 162, 0, 61, 0, 0, 58, 0, 0, 260, 0,
- 24, 62, 0, 0, 23, 0, 0, 0, 0, 195,
- 203, 0, 0, 0, 0, 0, 157, 166, 177, 180,
- 0, 0, 59, 98, 99, 0, 74, 76, 77, 78,
- 0, 0, 0, 52, 0, 196, 205, 89, 228, 135,
- 154, 156, 0, 111, 158, 159, 0, 181, 182, 183,
- 0, 0, 0, 0, 0, 88, 0, 82, 80, 0,
- 79, 0, 72, 73, 0, 53, 0, 160, 178, 0,
- 179, 171, 173, 172, 0, 0, 75, 0, 69, 0,
- 0, 184, 185, 0, 0, 0, 168, 0, 81, 0,
- 163, 174, 176, 175, 0, 0, 0, 60, 0, 161,
- 71
+ 0, 6, 289, 0, 0, 0, 0, 0, 0, 18,
+ 114, 0, 0, 7, 0, 0, 15, 8, 10, 11,
+ 13, 14, 9, 17, 12, 16, 0, 107, 0, 287,
+ 0, 281, 282, 0, 0, 0, 0, 0, 0, 115,
+ 116, 0, 0, 109, 110, 0, 147, 1, 3, 2,
+ 0, 107, 0, 105, 5, 4, 288, 0, 0, 0,
+ 0, 188, 25, 0, 247, 244, 0, 273, 117, 40,
+ 29, 0, 0, 30, 31, 34, 36, 0, 37, 39,
+ 0, 41, 243, 35, 38, 0, 32, 33, 0, 0,
+ 0, 0, 0, 118, 119, 223, 123, 209, 211, 213,
+ 216, 219, 220, 221, 215, 214, 0, 259, 0, 0,
+ 0, 0, 0, 106, 0, 0, 0, 94, 0, 0,
+ 0, 101, 189, 0, 0, 91, 245, 246, 0, 0,
+ 239, 236, 0, 43, 0, 248, 0, 0, 44, 0,
+ 0, 250, 0, 188, 0, 274, 275, 0, 0, 122,
+ 277, 278, 276, 0, 0, 0, 212, 0, 0, 188,
+ 103, 0, 111, 0, 112, 0, 279, 0, 108, 0,
+ 0, 0, 0, 0, 93, 66, 27, 0, 0, 0,
+ 0, 0, 190, 192, 194, 196, 0, 214, 0, 0,
+ 0, 0, 239, 233, 0, 237, 0, 0, 253, 254,
+ 255, 252, 256, 251, 0, 249, 0, 0, 125, 222,
+ 0, 0, 149, 138, 124, 143, 126, 151, 120, 121,
+ 208, 210, 165, 217, 260, 0, 0, 224, 241, 0,
+ 0, 100, 0, 148, 0, 92, 19, 0, 0, 0,
+ 0, 20, 21, 22, 0, 0, 0, 64, 0, 42,
+ 56, 195, 203, 0, 0, 0, 0, 0, 263, 264,
+ 268, 267, 266, 265, 271, 269, 0, 0, 0, 0,
+ 257, 0, 0, 0, 0, 234, 0, 240, 232, 45,
+ 0, 0, 46, 129, 0, 139, 145, 135, 130, 131,
+ 133, 0, 0, 142, 0, 0, 141, 0, 153, 0,
+ 0, 167, 225, 0, 226, 0, 102, 104, 280, 0,
+ 0, 0, 0, 0, 0, 0, 261, 0, 259, 0,
+ 63, 65, 68, 28, 0, 0, 0, 47, 0, 0,
+ 49, 55, 57, 26, 202, 191, 193, 272, 270, 0,
+ 0, 0, 0, 204, 201, 0, 200, 90, 0, 0,
+ 238, 0, 231, 0, 0, 144, 146, 136, 132, 134,
+ 0, 150, 0, 0, 140, 0, 0, 155, 0, 218,
+ 0, 169, 227, 242, 0, 0, 0, 0, 96, 285,
+ 286, 284, 283, 97, 95, 0, 67, 0, 83, 84,
+ 85, 86, 87, 0, 0, 70, 48, 0, 51, 50,
+ 0, 54, 0, 0, 206, 0, 0, 199, 258, 0,
+ 235, 228, 0, 229, 0, 127, 128, 152, 154, 0,
+ 157, 166, 0, 172, 171, 164, 0, 61, 0, 0,
+ 58, 0, 0, 262, 0, 24, 62, 0, 0, 23,
+ 0, 0, 0, 0, 197, 205, 0, 0, 0, 0,
+ 0, 159, 168, 179, 182, 0, 0, 59, 98, 99,
+ 0, 74, 76, 77, 78, 0, 0, 0, 52, 0,
+ 198, 207, 89, 230, 137, 156, 158, 0, 113, 160,
+ 161, 0, 183, 184, 185, 0, 0, 0, 0, 0,
+ 88, 0, 82, 80, 0, 79, 0, 72, 73, 0,
+ 53, 0, 162, 180, 0, 181, 173, 175, 174, 0,
+ 0, 75, 0, 69, 0, 0, 186, 187, 0, 0,
+ 0, 170, 0, 81, 0, 165, 176, 178, 177, 0,
+ 0, 0, 60, 0, 163, 71
};
- /* YYPGOTO[NTERM-NUM]. */
-static const yytype_int16 yypgoto[] =
+/* YYDEFGOTO[NTERM-NUM]. */
+static const yytype_int16 yydefgoto[] =
{
- -239, -239, -239, -239, -239, -239, -239, -239, -88, -239,
- 355, 196, -239, -239, -238, -239, -239, -239, -239, -239,
- -239, 66, 44, -239, -239, -239, -239, -239, -239, -239,
- -239, -239, -239, -239, -239, 304, -239, -239, -239, 424,
- 9, -239, -239, -239, 392, -239, -92, -239, -239, -134,
- 179, -182, -11, -239, -239, -239, -239, -239, -239, -239,
- 59, 15, -239, -239, -239, -239, -239, -239, 92, 61,
- -239, -239, -55, -239, -119, 291, 289, 379, -28, 403,
- 402, 450, -123, -239, -239, -239, -239, 368, -239, 430,
- 370, -204, -177, 421, 146, -113, -239, -239, -239, -239,
- -239, -118, -4, 134, -239, -239
+ -1, 14, 15, 16, 17, 18, 19, 20, 176, 177,
+ 91, 331, 332, 333, 241, 321, 322, 246, 395, 439,
+ 499, 460, 461, 462, 463, 464, 392, 435, 21, 22,
+ 174, 315, 23, 24, 159, 160, 25, 53, 26, 43,
+ 44, 139, 41, 92, 93, 94, 143, 95, 296, 291,
+ 212, 213, 285, 286, 214, 298, 367, 420, 451, 478,
+ 479, 480, 300, 301, 371, 425, 426, 488, 521, 452,
+ 453, 484, 505, 121, 122, 182, 183, 184, 185, 186,
+ 97, 98, 99, 100, 101, 102, 103, 192, 193, 130,
+ 131, 196, 229, 104, 204, 271, 105, 317, 268, 106,
+ 148, 153, 165, 107, 383, 28, 29
};
- /* YYDEFGOTO[NTERM-NUM]. */
-static const yytype_int16 yydefgoto[] =
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+#define YYPACT_NINF -234
+static const yytype_int16 yypact[] =
+{
+ 168, -234, -234, -58, 181, -19, 40, -37, 59, -234,
+ 123, 181, 181, -234, 208, 127, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -2, 95, -46, 233,
+ 181, -234, -234, 113, 181, 181, 181, 181, 181, -234,
+ -234, 667, 139, 114, -234, 236, 128, -234, -234, -234,
+ 189, 95, 183, -234, -234, -234, -234, 60, 272, 196,
+ 138, 191, -234, 80, -234, -234, 296, 299, -234, -234,
+ -234, 757, 187, -234, 242, -234, -234, 190, -234, -234,
+ 310, -234, -234, -234, -234, 205, -234, -234, 214, 277,
+ 850, 355, 290, 219, -234, -234, 182, 20, -234, -234,
+ 269, -234, -234, -234, -234, -234, 1030, -9, 181, 181,
+ 228, 181, 181, -234, 366, 89, 174, 241, 181, 181,
+ 577, -234, -234, 235, 181, -234, -234, -234, 577, 42,
+ 17, -234, 370, -234, 126, 126, 1120, 371, -234, 243,
+ 30, -234, 34, 191, 1120, -234, -234, 181, 1120, -234,
+ -234, -234, -234, 1120, 35, 299, -234, 181, 359, -56,
+ -234, 368, -234, 270, -234, 110, -234, 270, -234, 181,
+ -1, 181, 181, 247, -234, 248, -234, 141, 1158, 940,
+ 228, 487, 378, 381, -234, -234, 545, 375, 1210, 143,
+ 8, 1120, 58, -234, 1120, -234, 330, 254, -234, -234,
+ -234, -234, -234, -234, 327, -234, 50, 255, -234, -234,
+ 16, 245, 153, -234, 256, 245, -14, 331, -234, -234,
+ 20, -234, 306, -234, -234, 264, 1120, -234, 268, 151,
+ 181, -234, 1120, -234, 181, -234, -234, 271, 325, 328,
+ 274, -234, -234, -234, 31, 181, 291, -1, 181, -234,
+ 14, -234, -234, 2, 326, 577, 577, 62, -234, -234,
+ -234, -234, -234, -234, -234, -234, 1120, 279, 1120, 39,
+ -234, 154, 289, 1120, 25, -234, 360, 268, -234, -234,
+ 1120, 415, -234, 133, 181, -234, -234, 332, -234, 334,
+ 335, 340, 34, -234, 418, 420, 245, 388, 358, 394,
+ 293, 342, -234, 156, -234, 1120, -234, 268, -234, 577,
+ 295, 298, 181, 437, 1, 158, -234, 167, 416, 144,
+ -234, 301, 311, -234, 357, 309, 1210, -234, 362, 181,
+ -234, -234, 14, -234, -234, 381, -234, -234, -234, 1120,
+ 312, 76, 850, -234, 268, 363, -234, -234, 1210, 313,
+ 268, 1120, -234, 32, -13, -234, -234, -234, -234, -234,
+ 34, 153, 351, 356, -234, 1120, 577, 364, 1120, -234,
+ 419, 159, -234, 268, 7, 181, 181, 169, -234, -234,
+ -234, -234, -234, -234, -234, 173, -234, 181, -234, -234,
+ -234, -234, 315, -1, 422, 365, -234, 577, -234, -234,
+ 322, -234, 237, 850, -234, 1120, 171, -234, -234, 1210,
+ 268, -234, 458, -234, 372, -234, -234, 329, 378, 429,
+ 382, 329, 1120, -234, -234, -234, 452, -234, 175, 177,
+ -234, 469, 1, -234, 181, -234, -234, 337, 435, -234,
+ 9, 181, 1120, 179, 268, -234, 184, 341, 577, 1120,
+ 472, 349, 343, -234, 178, 22, 376, -234, -234, -234,
+ 192, -234, -234, -234, -234, 21, 181, -16, -234, 346,
+ 268, -234, -234, -234, 378, 343, -234, 181, -234, 349,
+ -234, 1120, -234, -234, 403, 396, 389, 400, 494, 181,
+ -234, 181, -234, -234, 181, -234, 207, -234, -234, 373,
+ -234, 473, -234, -234, 115, -234, -234, -234, -234, 41,
+ 374, -234, 209, -234, 181, 383, -234, -234, 438, 395,
+ 439, -234, 181, -234, 211, 306, -234, -234, -234, 215,
+ 411, 377, -234, 505, -234, -234
+};
+
+/* YYPGOTO[NTERM-NUM]. */
+static const yytype_int16 yypgoto[] =
{
- -1, 14, 15, 16, 17, 18, 19, 20, 171, 172,
- 89, 326, 327, 328, 236, 316, 317, 241, 390, 434,
- 494, 455, 456, 457, 458, 459, 387, 430, 21, 22,
- 169, 310, 23, 24, 155, 156, 25, 26, 43, 44,
- 135, 41, 90, 91, 92, 139, 93, 291, 286, 207,
- 208, 280, 281, 209, 293, 362, 415, 446, 473, 474,
- 475, 295, 296, 366, 420, 421, 483, 516, 447, 448,
- 479, 500, 117, 118, 177, 178, 179, 180, 181, 95,
- 96, 97, 98, 99, 100, 101, 187, 188, 126, 127,
- 191, 224, 102, 199, 266, 103, 312, 263, 104, 144,
- 149, 161, 105, 378, 28, 29
+ -234, -234, -234, -234, -234, -234, -234, -234, -94, -234,
+ 338, 185, -234, -234, -233, -234, -234, -234, -234, -234,
+ -234, 47, 36, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, 292, -234, 474, -234, -234,
+ 414, 11, -234, -234, -234, 386, -234, -97, -234, -234,
+ -189, 166, -180, -10, -234, -234, -234, -234, -234, -234,
+ -234, 52, 10, -234, -234, -234, -234, -234, -234, 83,
+ 53, -234, -234, -75, -234, -116, 278, 282, 361, -35,
+ 393, 390, 436, -137, -234, -234, -234, -234, 352, -234,
+ 417, 354, -207, -185, 413, 140, -119, -234, -234, -234,
+ -234, -234, -120, -4, 120, -234, -234
};
- /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
- positive, shift that token. If negative, reduce the rule whose
- number is the opposite. If YYTABLE_NINF, syntax error. */
+/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule which
+ number is the opposite. If YYTABLE_NINF, syntax error. */
+#define YYTABLE_NINF -130
static const yytype_int16 yytable[] =
{
- 33, 45, 184, 182, 315, 185, 265, 42, 46, 27,
- 250, 182, 250, 94, 480, 210, 160, 298, 31, 250,
- 32, 487, 146, 147, 513, 232, 55, 153, 288, 289,
- 57, 58, 59, 60, 61, 51, 407, 31, 31, 32,
- 32, 125, 31, 488, 32, 39, 206, 141, 142, 141,
- 142, 189, 233, 340, 250, 481, 50, 248, 189, 34,
- 136, 182, 374, 182, 111, 514, 30, 492, 141, 142,
- 121, 278, 1, 40, 2, 37, 231, 383, 141, 142,
- 384, 385, 210, 247, 212, 234, 141, 142, 418, 10,
- 145, 375, 376, 36, 419, 112, 45, 47, 493, 35,
- 226, 3, 157, 46, 201, 162, 163, 235, 408, 359,
- 170, 173, 94, 206, 38, 290, 162, 4, 5, 377,
- 54, 124, 332, 333, 334, 6, 223, 311, 186, 56,
- 7, 482, 154, 401, 211, 341, 276, 182, 182, 214,
- 154, 515, 148, 329, 393, 422, 218, 10, 249, 219,
- 431, 8, 463, 356, 489, 318, 412, 386, 269, 416,
- 173, 272, 237, 238, 210, 268, 403, 204, 511, 406,
- 338, 107, 230, 205, 205, 9, 346, 186, 217, 116,
- 308, 10, 335, 106, 10, 369, 108, 309, 512, 372,
- 225, 182, 109, 223, 438, 206, 119, 11, 319, 302,
- 115, 211, 46, 426, 12, 193, 46, 13, 120, 110,
- 427, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, 157, 141, 142, 31, 303, 32, 265, 164, 165,
- 194, 320, 210, 336, 52, 339, 313, 53, 113, 173,
- 345, 321, 413, 399, 195, 196, 114, 348, 182, 282,
- 282, 279, 423, 424, 166, 167, 283, 283, 116, 141,
- 142, -127, 122, 206, 284, 284, 197, 123, 351, 428,
- 477, 128, 368, 435, 31, 46, 32, 130, 262, 182,
- 322, 228, 229, 211, 400, 285, 285, 46, 198, 437,
- 31, 323, 32, 131, 478, 324, 141, 142, 48, 129,
- 49, 141, 142, 162, 242, 243, 397, 141, 142, 223,
- 267, 229, 132, 325, 141, 142, 133, 143, 405, 350,
- 395, 299, 300, 134, 469, 137, 342, 343, 367, 300,
- 182, 140, 223, 379, 380, 223, 381, 382, 425, 229,
- 440, 300, 204, 451, 229, 452, 229, 466, 300, 467,
- 343, 211, 485, 486, 508, 486, 518, 229, 31, 62,
- 32, 63, 525, 229, 527, 229, 162, 162, 138, 150,
- 223, 507, 439, 168, 159, 64, 65, 220, 313, 183,
- 192, 202, 227, 203, 239, 10, 240, 67, 68, 449,
- 250, 519, 251, 273, 274, 69, 70, 264, 275, 524,
- 277, 292, 294, 71, 72, 287, 73, 297, 304, 465,
- 305, 221, 74, 307, 306, 344, 449, 314, 75, 337,
- 347, 76, 349, 352, 355, 460, 357, 353, 354, 358,
- 360, 361, 464, 363, 365, 77, 78, 364, 370, 371,
- 373, 153, 388, 79, 389, 391, 80, 392, 449, 394,
- 398, 410, 402, 404, 414, 429, 490, 460, 411, 432,
- 81, 31, 62, 32, 63, 417, 433, 174, 496, 442,
- 82, 83, 444, 436, 84, 85, 443, 300, 64, 65,
- 505, 453, 460, 86, 445, 162, 450, 461, 462, 87,
- 67, 68, 468, 471, 88, 222, 484, 472, 69, 70,
- 499, 501, 503, 476, 495, 162, 71, 72, 504, 73,
- 502, 510, 509, 162, 521, 74, 517, 522, 520, 523,
- 175, 75, 530, 396, 76, 529, 528, 491, 245, 301,
- 506, 158, 213, 497, 409, 526, 470, 498, 77, 78,
- 331, 330, 31, 62, 32, 63, 79, 215, 174, 80,
- 441, 216, 200, 246, 152, 270, 190, 271, 0, 64,
- 65, 454, 0, 81, 0, 0, 0, 0, 0, 0,
- 10, 67, 68, 82, 83, 0, 0, 84, 85, 69,
- 70, 0, 0, 0, 0, 0, 86, 71, 72, 0,
- 73, 0, 87, 0, 0, 0, 74, 176, 0, 0,
- 0, 175, 75, 0, 0, 76, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,
- 78, 0, 0, 31, 62, 32, 63, 79, 0, 0,
- 80, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 64, 65, 66, 0, 81, 0, 0, 0, 0, 0,
- 0, 0, 67, 68, 82, 83, 0, 0, 84, 85,
- 69, 70, 0, 0, 0, 0, 0, 86, 71, 72,
- 0, 73, 0, 87, 0, 0, 0, 74, 176, 0,
- 0, 0, 0, 75, 0, 0, 76, 0, 0, 0,
+ 33, 187, 45, 270, 189, 215, 96, 42, 46, 187,
+ 255, 27, 190, 164, 320, 255, 255, 255, 157, 303,
+ 31, 283, 32, 294, 324, 31, 57, 32, 492, 485,
+ 59, 60, 61, 62, 63, 293, 129, 51, 31, 31,
+ 32, 32, 237, 150, 151, 211, 145, 146, 518, 345,
+ 493, 145, 146, 145, 146, 140, 412, 325, 497, 34,
+ 187, 30, 187, 145, 146, 253, 379, 326, 217, 238,
+ 486, 145, 146, 215, 125, 236, 120, 194, 50, 337,
+ 338, 339, 37, 252, 231, 405, 313, 230, 115, 519,
+ 498, 54, 149, 314, 55, 380, 381, 145, 146, 45,
+ 35, 206, 239, 361, 161, 46, 327, 166, 167, 96,
+ 295, 36, 10, 211, 175, 178, 364, 328, 194, 116,
+ 166, 281, 329, 228, 382, 240, 316, 158, 273, 413,
+ 10, 346, 158, 169, 170, 406, 187, 187, 216, 340,
+ 330, 398, 38, 219, 334, 351, 254, 487, 128, 427,
+ 223, 468, 39, 224, 323, 215, 274, 210, 417, 277,
+ 436, 421, 494, 408, 152, 178, 520, 242, 243, 1,
+ 343, 2, 209, 191, 411, 210, 222, 198, 235, 388,
+ 40, 516, 389, 390, 58, 31, 31, 32, 32, 191,
+ 187, 228, 377, 374, 10, 211, 443, 307, 3, 145,
+ 146, 517, 199, 145, 146, 287, 216, 46, 47, 123,
+ 482, 46, 288, 147, 4, 5, 200, 201, 171, 172,
+ 289, 124, 6, 215, 270, 287, 161, 7, 431, 52,
+ 308, 341, 288, 344, 483, 432, 56, -129, 350, 202,
+ 289, 318, 290, 404, 178, 353, 442, 187, 8, 31,
+ 418, 32, 233, 234, 108, 428, 429, 109, 145, 146,
+ 391, 203, 290, 211, 48, 423, 49, 110, 433, 111,
+ 373, 424, 112, 9, 356, 355, 284, 117, 187, 119,
+ 46, 440, 10, 247, 248, 272, 234, 114, 216, 145,
+ 146, 118, 46, 304, 305, 11, 347, 348, 372, 305,
+ 384, 385, 12, 126, 402, 13, 127, 228, 166, 386,
+ 387, 430, 234, 445, 305, 135, 410, 456, 234, 457,
+ 234, 471, 305, 120, 133, 400, 472, 348, 132, 187,
+ 228, 134, 474, 228, 490, 491, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 136, 145, 146, 513,
+ 491, 523, 234, 530, 234, 137, 216, 532, 234, 138,
+ 141, 142, 144, 31, 64, 32, 65, 154, 228, 163,
+ 444, 166, 166, 168, 512, 173, 188, 197, 207, 232,
+ 66, 67, 225, 318, 10, 208, 255, 454, 244, 245,
+ 256, 278, 69, 70, 524, 269, 279, 282, 280, 292,
+ 71, 72, 529, 267, 297, 299, 302, 470, 73, 74,
+ 310, 75, 309, 311, 454, 312, 226, 76, 349, 319,
+ 342, 352, 354, 77, 360, 362, 78, 363, 365, 357,
+ 465, 358, 359, 366, 368, 369, 375, 469, 370, 376,
+ 79, 80, 378, 157, 393, 394, 454, 399, 81, 396,
+ 397, 82, 415, 403, 409, 407, 434, 416, 437, 422,
+ 419, 495, 465, 441, 438, 447, 83, 448, 209, 449,
+ 450, 455, 305, 501, 458, 467, 84, 85, 466, 476,
+ 86, 87, 477, 473, 489, 510, 481, 465, 500, 88,
+ 166, 31, 64, 32, 65, 89, 504, 179, 506, 507,
+ 90, 227, 508, 509, 515, 527, 526, 528, 66, 67,
+ 166, 533, 535, 496, 514, 522, 250, 401, 166, 534,
+ 69, 70, 306, 162, 525, 113, 414, 511, 71, 72,
+ 218, 502, 475, 335, 503, 531, 73, 74, 336, 75,
+ 251, 220, 156, 221, 275, 76, 276, 195, 205, 446,
+ 180, 77, 459, 0, 78, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 0, 145, 146, 79, 80,
+ 0, 0, 0, 0, 0, 0, 81, 0, 0, 82,
+ 0, 31, 64, 32, 65, 0, 0, 179, 0, 0,
+ 0, 0, 0, 0, 83, 0, 0, 0, 66, 67,
+ 0, 10, 0, 0, 84, 85, 0, 0, 86, 87,
+ 69, 70, 0, 0, 0, 0, 0, 88, 71, 72,
+ 0, 0, 267, 89, 0, 0, 73, 74, 181, 75,
+ 0, 0, 0, 0, 0, 76, 0, 0, 0, 0,
+ 180, 77, 0, 0, 78, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 79, 80,
+ 0, 0, 0, 0, 0, 0, 81, 0, 0, 82,
+ 0, 31, 64, 32, 65, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 83, 0, 0, 0, 66, 67,
+ 68, 0, 0, 0, 84, 85, 0, 0, 86, 87,
+ 69, 70, 0, 0, 0, 0, 0, 88, 71, 72,
+ 0, 0, 0, 89, 0, 0, 73, 74, 181, 75,
+ 0, 0, 0, 0, 0, 76, 0, 0, 0, 0,
+ 0, 77, 0, 0, 78, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 79, 80,
+ 0, 0, 0, 0, 0, 0, 81, 0, 0, 82,
+ 0, 31, 64, 32, 65, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 83, 0, 0, 0, 66, 67,
+ 0, 0, 0, 0, 84, 85, 0, 0, 86, 87,
+ 69, 70, 0, 0, 0, 0, 0, 88, 71, 72,
+ 0, 0, 0, 89, 0, 0, 73, 74, 90, 75,
+ 0, 0, 0, 0, 0, 76, 0, 0, 0, 0,
+ 0, 77, 0, 0, 78, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 79, 80,
+ 0, 0, 0, 0, 0, 0, 81, 0, 0, 82,
+ 0, 0, 0, 0, 31, 64, 32, 65, 0, 0,
+ 0, 0, 0, 0, 83, 0, 0, 0, 0, 0,
+ 0, 66, 67, 0, 84, 85, 0, 0, 86, 87,
+ 0, 0, 0, 69, 70, 0, 0, 88, 128, 0,
+ 0, 71, 72, 89, 0, 0, 0, 0, 90, 73,
+ 74, 0, 75, 0, 0, 0, 0, 0, 76, 0,
+ 0, 0, 0, 0, 77, 0, 0, 78, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 78, 0, 0, 31, 62, 32, 63, 79, 0,
- 0, 80, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 64, 65, 0, 0, 81, 0, 0, 0, 0,
- 0, 0, 0, 67, 68, 82, 83, 0, 0, 84,
- 85, 69, 70, 0, 0, 0, 0, 0, 86, 71,
- 72, 0, 73, 0, 87, 0, 0, 0, 74, 88,
- 0, 0, 0, 0, 75, 0, 0, 76, 0, 0,
+ 0, 79, 80, 0, 0, 0, 0, 0, 0, 81,
+ 0, 0, 82, 0, 31, 64, 32, 65, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 83, 0, 0,
+ 0, 66, 67, 0, 10, 0, 0, 84, 85, 0,
+ 0, 86, 87, 69, 70, 0, 0, 0, 0, 0,
+ 88, 71, 72, 0, 0, 0, 89, 0, 0, 73,
+ 74, 90, 75, 0, 0, 0, 0, 0, 76, 0,
+ 0, 0, 0, 180, 77, 0, 0, 78, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 77, 78, 0, 0, 0, 0, 0, 0, 79,
- 0, 0, 80, 0, 0, 0, 31, 62, 32, 63,
- 0, 0, 0, 0, 0, 0, 81, 0, 0, 0,
- 0, 0, 0, 64, 65, 0, 82, 83, 0, 0,
- 84, 85, 0, 0, 0, 67, 68, 0, 0, 86,
- 124, 0, 0, 69, 70, 87, 0, 0, 0, 0,
- 88, 71, 72, 0, 73, 0, 0, 0, 0, 0,
- 74, 0, 0, 0, 0, 0, 75, 0, 0, 76,
+ 0, 79, 80, 0, 0, 0, 0, 0, 0, 81,
+ 0, 0, 82, 0, 31, 64, 32, 65, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 83, 0, 0,
+ 0, 66, 155, 0, 0, 0, 0, 84, 85, 0,
+ 0, 86, 87, 69, 70, 0, 0, 0, 0, 0,
+ 88, 71, 72, 0, 0, 0, 89, 0, 0, 73,
+ 74, 181, 75, 0, 0, 0, 0, 0, 76, 0,
+ 0, 0, 0, 0, 77, 0, 0, 78, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 77, 78, 0, 0, 31, 62, 32,
- 63, 79, 0, 0, 80, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 64, 65, 0, 0, 81, 0,
- 0, 0, 0, 0, 0, 10, 67, 68, 82, 83,
- 0, 0, 84, 85, 69, 70, 0, 0, 0, 0,
- 0, 86, 71, 72, 0, 73, 0, 87, 0, 0,
- 0, 74, 88, 0, 0, 0, 175, 75, 0, 0,
- 76, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 77, 78, 0, 0, 31, 62,
- 32, 63, 79, 0, 0, 80, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 64, 151, 0, 0, 81,
- 0, 0, 0, 0, 0, 0, 0, 67, 68, 82,
- 83, 0, 0, 84, 85, 69, 70, 0, 0, 0,
- 0, 0, 86, 71, 72, 0, 73, 0, 87, 0,
- 0, 0, 74, 176, 0, 0, 0, 0, 75, 0,
- 0, 76, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 77, 78, 0, 0, 31,
- 62, 32, 63, 79, 0, 0, 80, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 64, 65, 0, 0,
- 81, 0, 0, 0, 0, 0, 0, 0, 67, 68,
- 82, 83, 0, 0, 84, 85, 69, 70, 0, 0,
- 0, 0, 0, 86, 71, 72, 0, 73, 0, 87,
- 0, 0, 0, 74, 88, 0, 0, 0, 0, 75,
- 0, 0, 76, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 77, 78, 0, 0,
- 0, 62, 0, 63, 79, 0, 0, 80, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 64, 151, 0,
- 0, 81, 0, 0, 0, 0, 0, 0, 0, 67,
- 68, 82, 83, 0, 0, 84, 85, 0, 70, 0,
- 0, 0, 0, 0, 86, 71, 72, 0, 73, 0,
- 87, 0, 0, 0, 74, 88, 0, 67, 68, 0,
- 0, 0, 0, 76, 0, 0, 70, 0, 0, 0,
- 0, 0, 0, 71, 72, 0, 73, 77, 78, 0,
- 0, 0, 74, 0, 0, 79, 0, 0, 80, 0,
- 0, 76, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 81, 0, 0, 77, 244, 0, 0, 0,
- 0, 0, 82, 79, 0, 0, 84, 85, 0, 0,
- 0, 0, 0, 0, 0, 86, 0, 0, 0, 0,
- 81, 87, 0, 0, 0, 0, 0, 0, 0, 0,
- 82, 0, 0, 0, 84, 85, 0, 0, 0, 0,
- 0, 0, 0, 86, 0, 0, 0, 0, 0, 87,
- 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- 0, 141, 142, 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, 262
+ 0, 79, 80, 0, 0, 0, 0, 0, 0, 81,
+ 0, 0, 82, 0, 31, 64, 32, 65, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 83, 0, 0,
+ 0, 66, 67, 0, 0, 0, 0, 84, 85, 0,
+ 0, 86, 87, 69, 70, 0, 0, 0, 0, 0,
+ 88, 71, 72, 0, 0, 0, 89, 0, 0, 73,
+ 74, 90, 75, 0, 0, 0, 0, 0, 76, 0,
+ 0, 0, 0, 0, 77, 0, 0, 78, 0, 0,
+ 0, 69, 70, 0, 0, 0, 0, 0, 0, 0,
+ 72, 79, 80, 0, 0, 0, 0, 73, 74, 81,
+ 75, 0, 82, 0, 0, 64, 76, 65, 0, 0,
+ 0, 0, 0, 0, 0, 78, 0, 83, 0, 0,
+ 0, 66, 155, 0, 0, 0, 0, 84, 85, 79,
+ 249, 86, 87, 69, 70, 0, 0, 81, 0, 0,
+ 88, 0, 72, 0, 0, 0, 89, 0, 0, 73,
+ 74, 90, 75, 0, 0, 83, 0, 0, 76, 0,
+ 0, 0, 0, 0, 0, 84, 0, 78, 0, 86,
+ 87, 0, 0, 0, 0, 0, 0, 0, 88, 0,
+ 0, 79, 80, 0, 89, 0, 0, 0, 0, 81,
+ 0, 0, 82, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 83, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 84, 0, 0,
+ 0, 86, 87, 0, 0, 0, 0, 0, 0, 0,
+ 88, 0, 0, 0, 0, 0, 89
};
+#define yypact_value_is_default(Yystate) \
+ (!!((Yystate) == (-234)))
+
+#define yytable_value_is_error(Yytable_value) \
+ YYID (0)
+
static const yytype_int16 yycheck[] =
{
- 4, 12, 120, 116, 242, 124, 183, 11, 12, 0,
- 8, 124, 8, 41, 7, 138, 108, 221, 4, 8,
- 6, 7, 23, 24, 7, 43, 30, 27, 210, 37,
- 34, 35, 36, 37, 38, 26, 69, 4, 4, 6,
- 6, 69, 4, 29, 6, 29, 138, 21, 22, 21,
- 22, 60, 70, 10, 8, 48, 80, 176, 60, 78,
- 88, 174, 65, 176, 28, 48, 118, 74, 21, 22,
- 61, 205, 1, 57, 3, 118, 164, 35, 21, 22,
- 38, 39, 205, 175, 139, 103, 21, 22, 105, 113,
- 94, 94, 95, 71, 111, 59, 107, 0, 105, 118,
- 155, 30, 106, 107, 132, 109, 110, 125, 141, 291,
- 114, 115, 140, 205, 83, 123, 120, 46, 47, 122,
- 3, 130, 17, 18, 19, 54, 154, 240, 130, 71,
- 59, 124, 140, 337, 138, 92, 71, 250, 251, 143,
- 140, 124, 143, 141, 321, 141, 150, 113, 176, 153,
- 388, 80, 141, 287, 140, 243, 360, 115, 186, 363,
- 164, 189, 166, 167, 287, 119, 343, 141, 66, 141,
- 262, 142, 163, 140, 140, 104, 119, 130, 140, 131,
- 55, 113, 77, 114, 113, 304, 31, 62, 86, 307,
- 142, 304, 140, 221, 398, 287, 128, 126, 10, 227,
- 140, 205, 206, 55, 133, 51, 210, 136, 140, 83,
- 62, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 225, 21, 22, 4, 229, 6, 404, 44, 45,
- 76, 43, 355, 261, 136, 263, 240, 139, 5, 243,
- 268, 53, 361, 335, 90, 91, 95, 275, 361, 72,
- 72, 31, 370, 371, 44, 45, 79, 79, 131, 21,
- 22, 84, 7, 355, 87, 87, 112, 7, 279, 382,
- 32, 140, 300, 392, 4, 279, 6, 140, 77, 392,
- 92, 141, 142, 287, 9, 108,
<TRUNCATED>