1 /* A Bison parser, made by GNU Bison 3.0.2. */ 2 3 /* Bison interface for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. 6 7 This program is free software: you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation, either version 3 of the License, or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 19 20 /* As a special exception, you may create a larger work that contains 21 part or all of the Bison parser skeleton and distribute that work 22 under terms of your choice, so long as that work isn't itself a 23 parser generator using the skeleton or a modified version thereof 24 as a parser skeleton. Alternatively, if you modify or redistribute 25 the parser skeleton itself, you may (at your option) remove this 26 special exception, which will cause the skeleton and the resulting 27 Bison output files to be licensed under the GNU General Public 28 License without this special exception. 29 30 This special exception was added by the Free Software Foundation in 31 version 2.2 of Bison. */ 32 33 #ifndef YY_SQL_PARSER_H_INCLUDED 34 # define YY_SQL_PARSER_H_INCLUDED 35 /* Debug traces. */ 36 #ifndef YYDEBUG 37 # define YYDEBUG 0 38 #endif 39 #if YYDEBUG 40 extern int sqldebug; 41 #endif 42 43 /* Token type. */ 44 #ifndef YYTOKENTYPE 45 # define YYTOKENTYPE 46 enum yytokentype 47 { 48 L_SELECT = 258, 49 L_FROM = 259, 50 L_WHERE = 260, 51 L_AS = 261, 52 L_ON = 262, 53 L_ORDER = 263, 54 L_BY = 264, 55 L_ORDER_ASC = 265, 56 L_ORDER_DSC = 266, 57 L_DISTINCT = 267, 58 L_BETWEEN = 268, 59 L_IN = 269, 60 L_GROUP = 270, 61 L_INSERT = 271, 62 L_INTO = 272, 63 L_VALUES = 273, 64 L_UPDATE = 274, 65 L_SET = 275, 66 L_DOT = 276, 67 L_COMMA = 277, 68 L_NULL = 278, 69 L_LBRACKET = 279, 70 L_RBRACKET = 280, 71 L_IDENT = 281, 72 L_EQ = 282, 73 L_IS = 283, 74 L_LIKE = 284, 75 L_GT = 285, 76 L_LT = 286, 77 L_GEQ = 287, 78 L_LEQ = 288, 79 L_DIFF = 289, 80 L_NOT = 290, 81 L_AND = 291, 82 L_OR = 292, 83 L_MINUS = 293, 84 L_PLUS = 294, 85 L_TIMES = 295, 86 L_DIV = 296, 87 L_STRING = 297, 88 L_TEXTUAL = 298, 89 L_DELETE = 299, 90 L_JOIN = 300, 91 L_INNER = 301, 92 L_LEFT = 302, 93 L_RIGHT = 303, 94 L_FULL = 304, 95 L_OUTER = 305, 96 L_LSBRACKET = 306, 97 L_RSBRACKET = 307, 98 L_PNAME = 308, 99 L_PTYPE = 309, 100 L_PISPARAM = 310, 101 L_PDESCR = 311, 102 L_PNULLOK = 312 103 }; 104 #endif 105 /* Tokens. */ 106 #define L_SELECT 258 107 #define L_FROM 259 108 #define L_WHERE 260 109 #define L_AS 261 110 #define L_ON 262 111 #define L_ORDER 263 112 #define L_BY 264 113 #define L_ORDER_ASC 265 114 #define L_ORDER_DSC 266 115 #define L_DISTINCT 267 116 #define L_BETWEEN 268 117 #define L_IN 269 118 #define L_GROUP 270 119 #define L_INSERT 271 120 #define L_INTO 272 121 #define L_VALUES 273 122 #define L_UPDATE 274 123 #define L_SET 275 124 #define L_DOT 276 125 #define L_COMMA 277 126 #define L_NULL 278 127 #define L_LBRACKET 279 128 #define L_RBRACKET 280 129 #define L_IDENT 281 130 #define L_EQ 282 131 #define L_IS 283 132 #define L_LIKE 284 133 #define L_GT 285 134 #define L_LT 286 135 #define L_GEQ 287 136 #define L_LEQ 288 137 #define L_DIFF 289 138 #define L_NOT 290 139 #define L_AND 291 140 #define L_OR 292 141 #define L_MINUS 293 142 #define L_PLUS 294 143 #define L_TIMES 295 144 #define L_DIV 296 145 #define L_STRING 297 146 #define L_TEXTUAL 298 147 #define L_DELETE 299 148 #define L_JOIN 300 149 #define L_INNER 301 150 #define L_LEFT 302 151 #define L_RIGHT 303 152 #define L_FULL 304 153 #define L_OUTER 305 154 #define L_LSBRACKET 306 155 #define L_RSBRACKET 307 156 #define L_PNAME 308 157 #define L_PTYPE 309 158 #define L_PISPARAM 310 159 #define L_PDESCR 311 160 #define L_PNULLOK 312 161 162 /* Value type. */ 163 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 164 typedef union YYSTYPE YYSTYPE; 165 union YYSTYPE 166 { 167 #line 17 "parser.y" /* yacc.c:1909 */ 168 169 void *v; 170 char *str; 171 int i; 172 GList *list; 173 sql_field *f; 174 sql_field_item *fi; 175 sql_table *t; 176 sql_condition *c; 177 sql_where *w; 178 param_spec *ps; 179 sql_order_field *of; 180 181 #line 182 "parser.h" /* yacc.c:1909 */ 182 }; 183 # define YYSTYPE_IS_TRIVIAL 1 184 # define YYSTYPE_IS_DECLARED 1 185 #endif 186 187 188 extern YYSTYPE sqllval; 189 190 int sqlparse (void); 191 192 #endif /* !YY_SQL_PARSER_H_INCLUDED */ 193