File indexing completed on 2024-12-01 04:18:56

0001 /****************************************************************************
0002  * Created by generate_parser_code.sh
0003  * WARNING! All changes made in this file will be lost!
0004  ****************************************************************************/
0005 #ifndef KDBSQLPARSER_H
0006 #define KDBSQLPARSER_H
0007 
0008 #include "KDbDateTime.h"
0009 #include "KDbExpression.h"
0010 #include "KDbField.h"
0011 #include "KDbOrderByColumn.h"
0012 
0013 struct OrderByColumnInternal;
0014 struct SelectOptionsInternal;
0015 
0016 /* A Bison parser, made by GNU Bison 3.0.4.  */
0017 
0018 /* Bison interface for Yacc-like parsers in C
0019 
0020    Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
0021 
0022    This program is free software: you can redistribute it and/or modify
0023    it under the terms of the GNU General Public License as published by
0024    the Free Software Foundation, either version 3 of the License, or
0025    (at your option) any later version.
0026 
0027    This program is distributed in the hope that it will be useful,
0028    but WITHOUT ANY WARRANTY; without even the implied warranty of
0029    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0030    GNU General Public License for more details.
0031 
0032    You should have received a copy of the GNU General Public License
0033    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
0034 
0035 /* As a special exception, you may create a larger work that contains
0036    part or all of the Bison parser skeleton and distribute that work
0037    under terms of your choice, so long as that work isn't itself a
0038    parser generator using the skeleton or a modified version thereof
0039    as a parser skeleton.  Alternatively, if you modify or redistribute
0040    the parser skeleton itself, you may (at your option) remove this
0041    special exception, which will cause the skeleton and the resulting
0042    Bison output files to be licensed under the GNU General Public
0043    License without this special exception.
0044 
0045    This special exception was added by the Free Software Foundation in
0046    version 2.2 of Bison.  */
0047 
0048 #ifndef YY_YY_KDBSQLPARSER_TAB_H_INCLUDED
0049 # define YY_YY_KDBSQLPARSER_TAB_H_INCLUDED
0050 /* Debug traces.  */
0051 #ifndef YYDEBUG
0052 # define YYDEBUG 0
0053 #endif
0054 #if YYDEBUG
0055 extern int yydebug;
0056 #endif
0057 
0058 /* Token type.  */
0059 #ifndef YYTOKENTYPE
0060 # define YYTOKENTYPE
0061   enum yytokentype
0062   {
0063     SQL_TYPE = 258,
0064     AS = 259,
0065     AS_EMPTY = 260,
0066     ASC = 261,
0067     AUTO_INCREMENT = 262,
0068     BIT = 263,
0069     BITWISE_SHIFT_LEFT = 264,
0070     BITWISE_SHIFT_RIGHT = 265,
0071     BY = 266,
0072     CHARACTER_STRING_LITERAL = 267,
0073     CONCATENATION = 268,
0074     CREATE = 269,
0075     DESC = 270,
0076     DISTINCT = 271,
0077     DOUBLE_QUOTED_STRING = 272,
0078     FROM = 273,
0079     JOIN = 274,
0080     KEY = 275,
0081     LEFT = 276,
0082     LESS_OR_EQUAL = 277,
0083     GREATER_OR_EQUAL = 278,
0084     SQL_NULL = 279,
0085     SQL_IS = 280,
0086     SQL_IS_NULL = 281,
0087     SQL_IS_NOT_NULL = 282,
0088     ORDER = 283,
0089     PRIMARY = 284,
0090     SELECT = 285,
0091     INTEGER_CONST = 286,
0092     REAL_CONST = 287,
0093     RIGHT = 288,
0094     SQL_ON = 289,
0095     DATE_CONST = 290,
0096     DATETIME_CONST = 291,
0097     TIME_CONST = 292,
0098     TABLE = 293,
0099     IDENTIFIER = 294,
0100     IDENTIFIER_DOT_ASTERISK = 295,
0101     QUERY_PARAMETER = 296,
0102     VARCHAR = 297,
0103     WHERE = 298,
0104     SQL = 299,
0105     SQL_TRUE = 300,
0106     SQL_FALSE = 301,
0107     UNION = 302,
0108     SCAN_ERROR = 303,
0109     AND = 304,
0110     BETWEEN = 305,
0111     NOT_BETWEEN = 306,
0112     EXCEPT = 307,
0113     SQL_IN = 308,
0114     INTERSECT = 309,
0115     LIKE = 310,
0116     ILIKE = 311,
0117     NOT_LIKE = 312,
0118     NOT = 313,
0119     NOT_EQUAL = 314,
0120     NOT_EQUAL2 = 315,
0121     OR = 316,
0122     SIMILAR_TO = 317,
0123     NOT_SIMILAR_TO = 318,
0124     XOR = 319,
0125     UMINUS = 320,
0126     TABS_OR_SPACES = 321,
0127     DATE_TIME_INTEGER = 322,
0128     TIME_AM = 323,
0129     TIME_PM = 324
0130   };
0131 #endif
0132 
0133 /* Value type.  */
0134 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
0135 
0136 union YYSTYPE
0137 {
0138 #line 505 "KDbSqlParser.y" /* yacc.c:1909  */
0139 
0140     QString* stringValue;
0141     QByteArray* binaryValue;
0142     qint64 integerValue;
0143     bool booleanValue;
0144     KDbDate* dateValue;
0145     KDbYear* yearValue;
0146     KDbTime* timeValue;
0147     KDbTime::Period timePeriodValue;
0148     KDbDateTime* dateTimeValue;
0149     KDbOrderByColumn::SortOrder sortOrderValue;
0150     KDbField::Type colType;
0151     KDbField *field;
0152     KDbExpression *expr;
0153     KDbNArgExpression *exprList;
0154     KDbConstExpression *constExpression;
0155     KDbQuerySchema *querySchema;
0156     SelectOptionsInternal *selectOptions;
0157     QList<OrderByColumnInternal> *orderByColumns;
0158     QVariant *variantValue;
0159 
0160 #line 146 "KDbSqlParser.tab.h" /* yacc.c:1909  */
0161 };
0162 
0163 typedef union YYSTYPE YYSTYPE;
0164 # define YYSTYPE_IS_TRIVIAL 1
0165 # define YYSTYPE_IS_DECLARED 1
0166 #endif
0167 
0168 
0169 extern YYSTYPE yylval;
0170 
0171 int yyparse (void);
0172 
0173 #endif /* !YY_YY_KDBSQLPARSER_TAB_H_INCLUDED  */
0174 #endif