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