xref: /aosp_15_r20/external/libtracefs/src/sqlhist.tab.c (revision 287e80b3a36113050663245e7f2c00d274188f18)
1*287e80b3SSadaf Ebrahimi /* A Bison parser, made by GNU Bison 3.6.4.  */
2*287e80b3SSadaf Ebrahimi 
3*287e80b3SSadaf Ebrahimi /* Bison implementation for Yacc-like parsers in C
4*287e80b3SSadaf Ebrahimi 
5*287e80b3SSadaf Ebrahimi    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
6*287e80b3SSadaf Ebrahimi    Inc.
7*287e80b3SSadaf Ebrahimi 
8*287e80b3SSadaf Ebrahimi    This program is free software: you can redistribute it and/or modify
9*287e80b3SSadaf Ebrahimi    it under the terms of the GNU General Public License as published by
10*287e80b3SSadaf Ebrahimi    the Free Software Foundation, either version 3 of the License, or
11*287e80b3SSadaf Ebrahimi    (at your option) any later version.
12*287e80b3SSadaf Ebrahimi 
13*287e80b3SSadaf Ebrahimi    This program is distributed in the hope that it will be useful,
14*287e80b3SSadaf Ebrahimi    but WITHOUT ANY WARRANTY; without even the implied warranty of
15*287e80b3SSadaf Ebrahimi    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16*287e80b3SSadaf Ebrahimi    GNU General Public License for more details.
17*287e80b3SSadaf Ebrahimi 
18*287e80b3SSadaf Ebrahimi    You should have received a copy of the GNU General Public License
19*287e80b3SSadaf Ebrahimi    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
20*287e80b3SSadaf Ebrahimi 
21*287e80b3SSadaf Ebrahimi /* As a special exception, you may create a larger work that contains
22*287e80b3SSadaf Ebrahimi    part or all of the Bison parser skeleton and distribute that work
23*287e80b3SSadaf Ebrahimi    under terms of your choice, so long as that work isn't itself a
24*287e80b3SSadaf Ebrahimi    parser generator using the skeleton or a modified version thereof
25*287e80b3SSadaf Ebrahimi    as a parser skeleton.  Alternatively, if you modify or redistribute
26*287e80b3SSadaf Ebrahimi    the parser skeleton itself, you may (at your option) remove this
27*287e80b3SSadaf Ebrahimi    special exception, which will cause the skeleton and the resulting
28*287e80b3SSadaf Ebrahimi    Bison output files to be licensed under the GNU General Public
29*287e80b3SSadaf Ebrahimi    License without this special exception.
30*287e80b3SSadaf Ebrahimi 
31*287e80b3SSadaf Ebrahimi    This special exception was added by the Free Software Foundation in
32*287e80b3SSadaf Ebrahimi    version 2.2 of Bison.  */
33*287e80b3SSadaf Ebrahimi 
34*287e80b3SSadaf Ebrahimi /* C LALR(1) parser skeleton written by Richard Stallman, by
35*287e80b3SSadaf Ebrahimi    simplifying the original so-called "semantic" parser.  */
36*287e80b3SSadaf Ebrahimi 
37*287e80b3SSadaf Ebrahimi /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
38*287e80b3SSadaf Ebrahimi    especially those whose name start with YY_ or yy_.  They are
39*287e80b3SSadaf Ebrahimi    private implementation details that can be changed or removed.  */
40*287e80b3SSadaf Ebrahimi 
41*287e80b3SSadaf Ebrahimi /* All symbols defined below should begin with yy or YY, to avoid
42*287e80b3SSadaf Ebrahimi    infringing on user name space.  This should be done even for local
43*287e80b3SSadaf Ebrahimi    variables, as they might otherwise be expanded by user macros.
44*287e80b3SSadaf Ebrahimi    There are some unavoidable exceptions within include files to
45*287e80b3SSadaf Ebrahimi    define necessary library symbols; they are noted "INFRINGES ON
46*287e80b3SSadaf Ebrahimi    USER NAME SPACE" below.  */
47*287e80b3SSadaf Ebrahimi 
48*287e80b3SSadaf Ebrahimi /* Identify Bison output.  */
49*287e80b3SSadaf Ebrahimi #define YYBISON 1
50*287e80b3SSadaf Ebrahimi 
51*287e80b3SSadaf Ebrahimi /* Bison version.  */
52*287e80b3SSadaf Ebrahimi #define YYBISON_VERSION "3.6.4"
53*287e80b3SSadaf Ebrahimi 
54*287e80b3SSadaf Ebrahimi /* Skeleton name.  */
55*287e80b3SSadaf Ebrahimi #define YYSKELETON_NAME "yacc.c"
56*287e80b3SSadaf Ebrahimi 
57*287e80b3SSadaf Ebrahimi /* Pure parsers.  */
58*287e80b3SSadaf Ebrahimi #define YYPURE 1
59*287e80b3SSadaf Ebrahimi 
60*287e80b3SSadaf Ebrahimi /* Push parsers.  */
61*287e80b3SSadaf Ebrahimi #define YYPUSH 0
62*287e80b3SSadaf Ebrahimi 
63*287e80b3SSadaf Ebrahimi /* Pull parsers.  */
64*287e80b3SSadaf Ebrahimi #define YYPULL 1
65*287e80b3SSadaf Ebrahimi 
66*287e80b3SSadaf Ebrahimi /* Substitute the type names.  */
67*287e80b3SSadaf Ebrahimi #define YYSTYPE         TRACEFS_STYPE
68*287e80b3SSadaf Ebrahimi /* Substitute the variable and function names.  */
69*287e80b3SSadaf Ebrahimi #define yyparse         tracefs_parse
70*287e80b3SSadaf Ebrahimi #define yylex           tracefs_lex
71*287e80b3SSadaf Ebrahimi #define yyerror         tracefs_error
72*287e80b3SSadaf Ebrahimi #define yydebug         tracefs_debug
73*287e80b3SSadaf Ebrahimi #define yynerrs         tracefs_nerrs
74*287e80b3SSadaf Ebrahimi 
75*287e80b3SSadaf Ebrahimi /* First part of user prologue.  */
76*287e80b3SSadaf Ebrahimi #line 1 "sqlhist.y"
77*287e80b3SSadaf Ebrahimi 
78*287e80b3SSadaf Ebrahimi #include <stdio.h>
79*287e80b3SSadaf Ebrahimi #include <stdlib.h>
80*287e80b3SSadaf Ebrahimi #include <string.h>
81*287e80b3SSadaf Ebrahimi #include <errno.h>
82*287e80b3SSadaf Ebrahimi 
83*287e80b3SSadaf Ebrahimi #include "sqlhist-parse.h"
84*287e80b3SSadaf Ebrahimi 
85*287e80b3SSadaf Ebrahimi #define scanner sb->scanner
86*287e80b3SSadaf Ebrahimi 
87*287e80b3SSadaf Ebrahimi extern int yylex(YYSTYPE *yylval, void *);
88*287e80b3SSadaf Ebrahimi extern void yyerror(struct sqlhist_bison *, char *fmt, ...);
89*287e80b3SSadaf Ebrahimi 
90*287e80b3SSadaf Ebrahimi #define CHECK_RETURN_PTR(x)					\
91*287e80b3SSadaf Ebrahimi 	do {							\
92*287e80b3SSadaf Ebrahimi 		if (!(x)) {					\
93*287e80b3SSadaf Ebrahimi 			printf("FAILED MEMORY: %s\n", #x);	\
94*287e80b3SSadaf Ebrahimi 			return -ENOMEM;				\
95*287e80b3SSadaf Ebrahimi 		}						\
96*287e80b3SSadaf Ebrahimi 	} while (0)
97*287e80b3SSadaf Ebrahimi 
98*287e80b3SSadaf Ebrahimi #define CHECK_RETURN_VAL(x)					\
99*287e80b3SSadaf Ebrahimi 	do {							\
100*287e80b3SSadaf Ebrahimi 		if ((x) < 0) {					\
101*287e80b3SSadaf Ebrahimi 			printf("FAILED MEMORY: %s\n", #x);	\
102*287e80b3SSadaf Ebrahimi 			return -ENOMEM;				\
103*287e80b3SSadaf Ebrahimi 		}						\
104*287e80b3SSadaf Ebrahimi 	} while (0)
105*287e80b3SSadaf Ebrahimi 
106*287e80b3SSadaf Ebrahimi 
107*287e80b3SSadaf Ebrahimi #line 108 "sqlhist.tab.c"
108*287e80b3SSadaf Ebrahimi 
109*287e80b3SSadaf Ebrahimi # ifndef YY_CAST
110*287e80b3SSadaf Ebrahimi #  ifdef __cplusplus
111*287e80b3SSadaf Ebrahimi #   define YY_CAST(Type, Val) static_cast<Type> (Val)
112*287e80b3SSadaf Ebrahimi #   define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
113*287e80b3SSadaf Ebrahimi #  else
114*287e80b3SSadaf Ebrahimi #   define YY_CAST(Type, Val) ((Type) (Val))
115*287e80b3SSadaf Ebrahimi #   define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
116*287e80b3SSadaf Ebrahimi #  endif
117*287e80b3SSadaf Ebrahimi # endif
118*287e80b3SSadaf Ebrahimi # ifndef YY_NULLPTR
119*287e80b3SSadaf Ebrahimi #  if defined __cplusplus
120*287e80b3SSadaf Ebrahimi #   if 201103L <= __cplusplus
121*287e80b3SSadaf Ebrahimi #    define YY_NULLPTR nullptr
122*287e80b3SSadaf Ebrahimi #   else
123*287e80b3SSadaf Ebrahimi #    define YY_NULLPTR 0
124*287e80b3SSadaf Ebrahimi #   endif
125*287e80b3SSadaf Ebrahimi #  else
126*287e80b3SSadaf Ebrahimi #   define YY_NULLPTR ((void*)0)
127*287e80b3SSadaf Ebrahimi #  endif
128*287e80b3SSadaf Ebrahimi # endif
129*287e80b3SSadaf Ebrahimi 
130*287e80b3SSadaf Ebrahimi /* Use api.header.include to #include this header
131*287e80b3SSadaf Ebrahimi    instead of duplicating it here.  */
132*287e80b3SSadaf Ebrahimi #ifndef YY_TRACEFS_SQLHIST_TAB_H_INCLUDED
133*287e80b3SSadaf Ebrahimi # define YY_TRACEFS_SQLHIST_TAB_H_INCLUDED
134*287e80b3SSadaf Ebrahimi /* Debug traces.  */
135*287e80b3SSadaf Ebrahimi #ifndef TRACEFS_DEBUG
136*287e80b3SSadaf Ebrahimi # if defined YYDEBUG
137*287e80b3SSadaf Ebrahimi #if YYDEBUG
138*287e80b3SSadaf Ebrahimi #   define TRACEFS_DEBUG 1
139*287e80b3SSadaf Ebrahimi #  else
140*287e80b3SSadaf Ebrahimi #   define TRACEFS_DEBUG 0
141*287e80b3SSadaf Ebrahimi #  endif
142*287e80b3SSadaf Ebrahimi # else /* ! defined YYDEBUG */
143*287e80b3SSadaf Ebrahimi #  define TRACEFS_DEBUG 1
144*287e80b3SSadaf Ebrahimi # endif /* ! defined YYDEBUG */
145*287e80b3SSadaf Ebrahimi #endif  /* ! defined TRACEFS_DEBUG */
146*287e80b3SSadaf Ebrahimi #if TRACEFS_DEBUG
147*287e80b3SSadaf Ebrahimi extern int tracefs_debug;
148*287e80b3SSadaf Ebrahimi #endif
149*287e80b3SSadaf Ebrahimi 
150*287e80b3SSadaf Ebrahimi /* Token kinds.  */
151*287e80b3SSadaf Ebrahimi #ifndef TRACEFS_TOKENTYPE
152*287e80b3SSadaf Ebrahimi # define TRACEFS_TOKENTYPE
153*287e80b3SSadaf Ebrahimi   enum tracefs_tokentype
154*287e80b3SSadaf Ebrahimi   {
155*287e80b3SSadaf Ebrahimi     TRACEFS_EMPTY = -2,
156*287e80b3SSadaf Ebrahimi     TRACEFS_EOF = 0,               /* "end of file"  */
157*287e80b3SSadaf Ebrahimi     TRACEFS_error = 256,           /* error  */
158*287e80b3SSadaf Ebrahimi     TRACEFS_UNDEF = 257,           /* "invalid token"  */
159*287e80b3SSadaf Ebrahimi     AS = 258,                      /* AS  */
160*287e80b3SSadaf Ebrahimi     SELECT = 259,                  /* SELECT  */
161*287e80b3SSadaf Ebrahimi     FROM = 260,                    /* FROM  */
162*287e80b3SSadaf Ebrahimi     JOIN = 261,                    /* JOIN  */
163*287e80b3SSadaf Ebrahimi     ON = 262,                      /* ON  */
164*287e80b3SSadaf Ebrahimi     WHERE = 263,                   /* WHERE  */
165*287e80b3SSadaf Ebrahimi     PARSE_ERROR = 264,             /* PARSE_ERROR  */
166*287e80b3SSadaf Ebrahimi     CAST = 265,                    /* CAST  */
167*287e80b3SSadaf Ebrahimi     NUMBER = 266,                  /* NUMBER  */
168*287e80b3SSadaf Ebrahimi     field_type = 267,              /* field_type  */
169*287e80b3SSadaf Ebrahimi     STRING = 268,                  /* STRING  */
170*287e80b3SSadaf Ebrahimi     FIELD = 269,                   /* FIELD  */
171*287e80b3SSadaf Ebrahimi     LE = 270,                      /* LE  */
172*287e80b3SSadaf Ebrahimi     GE = 271,                      /* GE  */
173*287e80b3SSadaf Ebrahimi     EQ = 272,                      /* EQ  */
174*287e80b3SSadaf Ebrahimi     NEQ = 273,                     /* NEQ  */
175*287e80b3SSadaf Ebrahimi     AND = 274,                     /* AND  */
176*287e80b3SSadaf Ebrahimi     OR = 275                       /* OR  */
177*287e80b3SSadaf Ebrahimi   };
178*287e80b3SSadaf Ebrahimi   typedef enum tracefs_tokentype tracefs_token_kind_t;
179*287e80b3SSadaf Ebrahimi #endif
180*287e80b3SSadaf Ebrahimi 
181*287e80b3SSadaf Ebrahimi /* Value type.  */
182*287e80b3SSadaf Ebrahimi #if ! defined TRACEFS_STYPE && ! defined TRACEFS_STYPE_IS_DECLARED
183*287e80b3SSadaf Ebrahimi union TRACEFS_STYPE
184*287e80b3SSadaf Ebrahimi {
185*287e80b3SSadaf Ebrahimi #line 46 "sqlhist.y"
186*287e80b3SSadaf Ebrahimi 
187*287e80b3SSadaf Ebrahimi 	int	s32;
188*287e80b3SSadaf Ebrahimi 	char	*string;
189*287e80b3SSadaf Ebrahimi 	long	number;
190*287e80b3SSadaf Ebrahimi 	void	*expr;
191*287e80b3SSadaf Ebrahimi 
192*287e80b3SSadaf Ebrahimi #line 193 "sqlhist.tab.c"
193*287e80b3SSadaf Ebrahimi 
194*287e80b3SSadaf Ebrahimi };
195*287e80b3SSadaf Ebrahimi typedef union TRACEFS_STYPE TRACEFS_STYPE;
196*287e80b3SSadaf Ebrahimi # define TRACEFS_STYPE_IS_TRIVIAL 1
197*287e80b3SSadaf Ebrahimi # define TRACEFS_STYPE_IS_DECLARED 1
198*287e80b3SSadaf Ebrahimi #endif
199*287e80b3SSadaf Ebrahimi 
200*287e80b3SSadaf Ebrahimi 
201*287e80b3SSadaf Ebrahimi 
202*287e80b3SSadaf Ebrahimi int tracefs_parse (struct sqlhist_bison *sb);
203*287e80b3SSadaf Ebrahimi /* "%code provides" blocks.  */
204*287e80b3SSadaf Ebrahimi #line 37 "sqlhist.y"
205*287e80b3SSadaf Ebrahimi 
206*287e80b3SSadaf Ebrahimi   #define YYSTYPE TRACEFS_STYPE
207*287e80b3SSadaf Ebrahimi   #define yylex tracefs_lex
208*287e80b3SSadaf Ebrahimi   #define yyerror tracefs_error
209*287e80b3SSadaf Ebrahimi 
210*287e80b3SSadaf Ebrahimi #line 211 "sqlhist.tab.c"
211*287e80b3SSadaf Ebrahimi 
212*287e80b3SSadaf Ebrahimi #endif /* !YY_TRACEFS_SQLHIST_TAB_H_INCLUDED  */
213*287e80b3SSadaf Ebrahimi /* Symbol kind.  */
214*287e80b3SSadaf Ebrahimi enum yysymbol_kind_t
215*287e80b3SSadaf Ebrahimi {
216*287e80b3SSadaf Ebrahimi   YYSYMBOL_YYEMPTY = -2,
217*287e80b3SSadaf Ebrahimi   YYSYMBOL_YYEOF = 0,                      /* "end of file"  */
218*287e80b3SSadaf Ebrahimi   YYSYMBOL_YYerror = 1,                    /* error  */
219*287e80b3SSadaf Ebrahimi   YYSYMBOL_YYUNDEF = 2,                    /* "invalid token"  */
220*287e80b3SSadaf Ebrahimi   YYSYMBOL_AS = 3,                         /* AS  */
221*287e80b3SSadaf Ebrahimi   YYSYMBOL_SELECT = 4,                     /* SELECT  */
222*287e80b3SSadaf Ebrahimi   YYSYMBOL_FROM = 5,                       /* FROM  */
223*287e80b3SSadaf Ebrahimi   YYSYMBOL_JOIN = 6,                       /* JOIN  */
224*287e80b3SSadaf Ebrahimi   YYSYMBOL_ON = 7,                         /* ON  */
225*287e80b3SSadaf Ebrahimi   YYSYMBOL_WHERE = 8,                      /* WHERE  */
226*287e80b3SSadaf Ebrahimi   YYSYMBOL_PARSE_ERROR = 9,                /* PARSE_ERROR  */
227*287e80b3SSadaf Ebrahimi   YYSYMBOL_CAST = 10,                      /* CAST  */
228*287e80b3SSadaf Ebrahimi   YYSYMBOL_NUMBER = 11,                    /* NUMBER  */
229*287e80b3SSadaf Ebrahimi   YYSYMBOL_field_type = 12,                /* field_type  */
230*287e80b3SSadaf Ebrahimi   YYSYMBOL_STRING = 13,                    /* STRING  */
231*287e80b3SSadaf Ebrahimi   YYSYMBOL_FIELD = 14,                     /* FIELD  */
232*287e80b3SSadaf Ebrahimi   YYSYMBOL_LE = 15,                        /* LE  */
233*287e80b3SSadaf Ebrahimi   YYSYMBOL_GE = 16,                        /* GE  */
234*287e80b3SSadaf Ebrahimi   YYSYMBOL_EQ = 17,                        /* EQ  */
235*287e80b3SSadaf Ebrahimi   YYSYMBOL_NEQ = 18,                       /* NEQ  */
236*287e80b3SSadaf Ebrahimi   YYSYMBOL_AND = 19,                       /* AND  */
237*287e80b3SSadaf Ebrahimi   YYSYMBOL_OR = 20,                        /* OR  */
238*287e80b3SSadaf Ebrahimi   YYSYMBOL_21_ = 21,                       /* '+'  */
239*287e80b3SSadaf Ebrahimi   YYSYMBOL_22_ = 22,                       /* '-'  */
240*287e80b3SSadaf Ebrahimi   YYSYMBOL_23_ = 23,                       /* '*'  */
241*287e80b3SSadaf Ebrahimi   YYSYMBOL_24_ = 24,                       /* '/'  */
242*287e80b3SSadaf Ebrahimi   YYSYMBOL_25_ = 25,                       /* '<'  */
243*287e80b3SSadaf Ebrahimi   YYSYMBOL_26_ = 26,                       /* '>'  */
244*287e80b3SSadaf Ebrahimi   YYSYMBOL_27_ = 27,                       /* ','  */
245*287e80b3SSadaf Ebrahimi   YYSYMBOL_28_ = 28,                       /* '('  */
246*287e80b3SSadaf Ebrahimi   YYSYMBOL_29_ = 29,                       /* ')'  */
247*287e80b3SSadaf Ebrahimi   YYSYMBOL_30_ = 30,                       /* '='  */
248*287e80b3SSadaf Ebrahimi   YYSYMBOL_31_ = 31,                       /* "!="  */
249*287e80b3SSadaf Ebrahimi   YYSYMBOL_32_ = 32,                       /* '&'  */
250*287e80b3SSadaf Ebrahimi   YYSYMBOL_33_ = 33,                       /* '~'  */
251*287e80b3SSadaf Ebrahimi   YYSYMBOL_34_ = 34,                       /* '!'  */
252*287e80b3SSadaf Ebrahimi   YYSYMBOL_YYACCEPT = 35,                  /* $accept  */
253*287e80b3SSadaf Ebrahimi   YYSYMBOL_start = 36,                     /* start  */
254*287e80b3SSadaf Ebrahimi   YYSYMBOL_label = 37,                     /* label  */
255*287e80b3SSadaf Ebrahimi   YYSYMBOL_select = 38,                    /* select  */
256*287e80b3SSadaf Ebrahimi   YYSYMBOL_select_statement = 39,          /* select_statement  */
257*287e80b3SSadaf Ebrahimi   YYSYMBOL_selection_list = 40,            /* selection_list  */
258*287e80b3SSadaf Ebrahimi   YYSYMBOL_selection = 41,                 /* selection  */
259*287e80b3SSadaf Ebrahimi   YYSYMBOL_selection_expr = 42,            /* selection_expr  */
260*287e80b3SSadaf Ebrahimi   YYSYMBOL_selection_addition = 43,        /* selection_addition  */
261*287e80b3SSadaf Ebrahimi   YYSYMBOL_item = 44,                      /* item  */
262*287e80b3SSadaf Ebrahimi   YYSYMBOL_field = 45,                     /* field  */
263*287e80b3SSadaf Ebrahimi   YYSYMBOL_named_field = 46,               /* named_field  */
264*287e80b3SSadaf Ebrahimi   YYSYMBOL_name = 47,                      /* name  */
265*287e80b3SSadaf Ebrahimi   YYSYMBOL_str_val = 48,                   /* str_val  */
266*287e80b3SSadaf Ebrahimi   YYSYMBOL_val = 49,                       /* val  */
267*287e80b3SSadaf Ebrahimi   YYSYMBOL_compare = 50,                   /* compare  */
268*287e80b3SSadaf Ebrahimi   YYSYMBOL_compare_and_or = 51,            /* compare_and_or  */
269*287e80b3SSadaf Ebrahimi   YYSYMBOL_compare_items = 52,             /* compare_items  */
270*287e80b3SSadaf Ebrahimi   YYSYMBOL_compare_cmds = 53,              /* compare_cmds  */
271*287e80b3SSadaf Ebrahimi   YYSYMBOL_compare_list = 54,              /* compare_list  */
272*287e80b3SSadaf Ebrahimi   YYSYMBOL_where_clause = 55,              /* where_clause  */
273*287e80b3SSadaf Ebrahimi   YYSYMBOL_opt_where_clause = 56,          /* opt_where_clause  */
274*287e80b3SSadaf Ebrahimi   YYSYMBOL_opt_join_clause = 57,           /* opt_join_clause  */
275*287e80b3SSadaf Ebrahimi   YYSYMBOL_table_exp = 58,                 /* table_exp  */
276*287e80b3SSadaf Ebrahimi   YYSYMBOL_from_clause = 59,               /* from_clause  */
277*287e80b3SSadaf Ebrahimi   YYSYMBOL_join_clause = 60,               /* join_clause  */
278*287e80b3SSadaf Ebrahimi   YYSYMBOL_match = 61,                     /* match  */
279*287e80b3SSadaf Ebrahimi   YYSYMBOL_match_clause = 62               /* match_clause  */
280*287e80b3SSadaf Ebrahimi };
281*287e80b3SSadaf Ebrahimi typedef enum yysymbol_kind_t yysymbol_kind_t;
282*287e80b3SSadaf Ebrahimi 
283*287e80b3SSadaf Ebrahimi 
284*287e80b3SSadaf Ebrahimi 
285*287e80b3SSadaf Ebrahimi 
286*287e80b3SSadaf Ebrahimi #ifdef short
287*287e80b3SSadaf Ebrahimi # undef short
288*287e80b3SSadaf Ebrahimi #endif
289*287e80b3SSadaf Ebrahimi 
290*287e80b3SSadaf Ebrahimi /* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
291*287e80b3SSadaf Ebrahimi    <limits.h> and (if available) <stdint.h> are included
292*287e80b3SSadaf Ebrahimi    so that the code can choose integer types of a good width.  */
293*287e80b3SSadaf Ebrahimi 
294*287e80b3SSadaf Ebrahimi #ifndef __PTRDIFF_MAX__
295*287e80b3SSadaf Ebrahimi # include <limits.h> /* INFRINGES ON USER NAME SPACE */
296*287e80b3SSadaf Ebrahimi # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
297*287e80b3SSadaf Ebrahimi #  include <stdint.h> /* INFRINGES ON USER NAME SPACE */
298*287e80b3SSadaf Ebrahimi #  define YY_STDINT_H
299*287e80b3SSadaf Ebrahimi # endif
300*287e80b3SSadaf Ebrahimi #endif
301*287e80b3SSadaf Ebrahimi 
302*287e80b3SSadaf Ebrahimi /* Narrow types that promote to a signed type and that can represent a
303*287e80b3SSadaf Ebrahimi    signed or unsigned integer of at least N bits.  In tables they can
304*287e80b3SSadaf Ebrahimi    save space and decrease cache pressure.  Promoting to a signed type
305*287e80b3SSadaf Ebrahimi    helps avoid bugs in integer arithmetic.  */
306*287e80b3SSadaf Ebrahimi 
307*287e80b3SSadaf Ebrahimi #ifdef __INT_LEAST8_MAX__
308*287e80b3SSadaf Ebrahimi typedef __INT_LEAST8_TYPE__ yytype_int8;
309*287e80b3SSadaf Ebrahimi #elif defined YY_STDINT_H
310*287e80b3SSadaf Ebrahimi typedef int_least8_t yytype_int8;
311*287e80b3SSadaf Ebrahimi #else
312*287e80b3SSadaf Ebrahimi typedef signed char yytype_int8;
313*287e80b3SSadaf Ebrahimi #endif
314*287e80b3SSadaf Ebrahimi 
315*287e80b3SSadaf Ebrahimi #ifdef __INT_LEAST16_MAX__
316*287e80b3SSadaf Ebrahimi typedef __INT_LEAST16_TYPE__ yytype_int16;
317*287e80b3SSadaf Ebrahimi #elif defined YY_STDINT_H
318*287e80b3SSadaf Ebrahimi typedef int_least16_t yytype_int16;
319*287e80b3SSadaf Ebrahimi #else
320*287e80b3SSadaf Ebrahimi typedef short yytype_int16;
321*287e80b3SSadaf Ebrahimi #endif
322*287e80b3SSadaf Ebrahimi 
323*287e80b3SSadaf Ebrahimi #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
324*287e80b3SSadaf Ebrahimi typedef __UINT_LEAST8_TYPE__ yytype_uint8;
325*287e80b3SSadaf Ebrahimi #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
326*287e80b3SSadaf Ebrahimi        && UINT_LEAST8_MAX <= INT_MAX)
327*287e80b3SSadaf Ebrahimi typedef uint_least8_t yytype_uint8;
328*287e80b3SSadaf Ebrahimi #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
329*287e80b3SSadaf Ebrahimi typedef unsigned char yytype_uint8;
330*287e80b3SSadaf Ebrahimi #else
331*287e80b3SSadaf Ebrahimi typedef short yytype_uint8;
332*287e80b3SSadaf Ebrahimi #endif
333*287e80b3SSadaf Ebrahimi 
334*287e80b3SSadaf Ebrahimi #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
335*287e80b3SSadaf Ebrahimi typedef __UINT_LEAST16_TYPE__ yytype_uint16;
336*287e80b3SSadaf Ebrahimi #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
337*287e80b3SSadaf Ebrahimi        && UINT_LEAST16_MAX <= INT_MAX)
338*287e80b3SSadaf Ebrahimi typedef uint_least16_t yytype_uint16;
339*287e80b3SSadaf Ebrahimi #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
340*287e80b3SSadaf Ebrahimi typedef unsigned short yytype_uint16;
341*287e80b3SSadaf Ebrahimi #else
342*287e80b3SSadaf Ebrahimi typedef int yytype_uint16;
343*287e80b3SSadaf Ebrahimi #endif
344*287e80b3SSadaf Ebrahimi 
345*287e80b3SSadaf Ebrahimi #ifndef YYPTRDIFF_T
346*287e80b3SSadaf Ebrahimi # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
347*287e80b3SSadaf Ebrahimi #  define YYPTRDIFF_T __PTRDIFF_TYPE__
348*287e80b3SSadaf Ebrahimi #  define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
349*287e80b3SSadaf Ebrahimi # elif defined PTRDIFF_MAX
350*287e80b3SSadaf Ebrahimi #  ifndef ptrdiff_t
351*287e80b3SSadaf Ebrahimi #   include <stddef.h> /* INFRINGES ON USER NAME SPACE */
352*287e80b3SSadaf Ebrahimi #  endif
353*287e80b3SSadaf Ebrahimi #  define YYPTRDIFF_T ptrdiff_t
354*287e80b3SSadaf Ebrahimi #  define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
355*287e80b3SSadaf Ebrahimi # else
356*287e80b3SSadaf Ebrahimi #  define YYPTRDIFF_T long
357*287e80b3SSadaf Ebrahimi #  define YYPTRDIFF_MAXIMUM LONG_MAX
358*287e80b3SSadaf Ebrahimi # endif
359*287e80b3SSadaf Ebrahimi #endif
360*287e80b3SSadaf Ebrahimi 
361*287e80b3SSadaf Ebrahimi #ifndef YYSIZE_T
362*287e80b3SSadaf Ebrahimi # ifdef __SIZE_TYPE__
363*287e80b3SSadaf Ebrahimi #  define YYSIZE_T __SIZE_TYPE__
364*287e80b3SSadaf Ebrahimi # elif defined size_t
365*287e80b3SSadaf Ebrahimi #  define YYSIZE_T size_t
366*287e80b3SSadaf Ebrahimi # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
367*287e80b3SSadaf Ebrahimi #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
368*287e80b3SSadaf Ebrahimi #  define YYSIZE_T size_t
369*287e80b3SSadaf Ebrahimi # else
370*287e80b3SSadaf Ebrahimi #  define YYSIZE_T unsigned
371*287e80b3SSadaf Ebrahimi # endif
372*287e80b3SSadaf Ebrahimi #endif
373*287e80b3SSadaf Ebrahimi 
374*287e80b3SSadaf Ebrahimi #define YYSIZE_MAXIMUM                                  \
375*287e80b3SSadaf Ebrahimi   YY_CAST (YYPTRDIFF_T,                                 \
376*287e80b3SSadaf Ebrahimi            (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1)  \
377*287e80b3SSadaf Ebrahimi             ? YYPTRDIFF_MAXIMUM                         \
378*287e80b3SSadaf Ebrahimi             : YY_CAST (YYSIZE_T, -1)))
379*287e80b3SSadaf Ebrahimi 
380*287e80b3SSadaf Ebrahimi #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
381*287e80b3SSadaf Ebrahimi 
382*287e80b3SSadaf Ebrahimi 
383*287e80b3SSadaf Ebrahimi /* Stored state numbers (used for stacks). */
384*287e80b3SSadaf Ebrahimi typedef yytype_int8 yy_state_t;
385*287e80b3SSadaf Ebrahimi 
386*287e80b3SSadaf Ebrahimi /* State numbers in computations.  */
387*287e80b3SSadaf Ebrahimi typedef int yy_state_fast_t;
388*287e80b3SSadaf Ebrahimi 
389*287e80b3SSadaf Ebrahimi #ifndef YY_
390*287e80b3SSadaf Ebrahimi # if defined YYENABLE_NLS && YYENABLE_NLS
391*287e80b3SSadaf Ebrahimi #  if ENABLE_NLS
392*287e80b3SSadaf Ebrahimi #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
393*287e80b3SSadaf Ebrahimi #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
394*287e80b3SSadaf Ebrahimi #  endif
395*287e80b3SSadaf Ebrahimi # endif
396*287e80b3SSadaf Ebrahimi # ifndef YY_
397*287e80b3SSadaf Ebrahimi #  define YY_(Msgid) Msgid
398*287e80b3SSadaf Ebrahimi # endif
399*287e80b3SSadaf Ebrahimi #endif
400*287e80b3SSadaf Ebrahimi 
401*287e80b3SSadaf Ebrahimi 
402*287e80b3SSadaf Ebrahimi #ifndef YY_ATTRIBUTE_PURE
403*287e80b3SSadaf Ebrahimi # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
404*287e80b3SSadaf Ebrahimi #  define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
405*287e80b3SSadaf Ebrahimi # else
406*287e80b3SSadaf Ebrahimi #  define YY_ATTRIBUTE_PURE
407*287e80b3SSadaf Ebrahimi # endif
408*287e80b3SSadaf Ebrahimi #endif
409*287e80b3SSadaf Ebrahimi 
410*287e80b3SSadaf Ebrahimi #ifndef YY_ATTRIBUTE_UNUSED
411*287e80b3SSadaf Ebrahimi # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
412*287e80b3SSadaf Ebrahimi #  define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
413*287e80b3SSadaf Ebrahimi # else
414*287e80b3SSadaf Ebrahimi #  define YY_ATTRIBUTE_UNUSED
415*287e80b3SSadaf Ebrahimi # endif
416*287e80b3SSadaf Ebrahimi #endif
417*287e80b3SSadaf Ebrahimi 
418*287e80b3SSadaf Ebrahimi /* Suppress unused-variable warnings by "using" E.  */
419*287e80b3SSadaf Ebrahimi #if ! defined lint || defined __GNUC__
420*287e80b3SSadaf Ebrahimi # define YYUSE(E) ((void) (E))
421*287e80b3SSadaf Ebrahimi #else
422*287e80b3SSadaf Ebrahimi # define YYUSE(E) /* empty */
423*287e80b3SSadaf Ebrahimi #endif
424*287e80b3SSadaf Ebrahimi 
425*287e80b3SSadaf Ebrahimi #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
426*287e80b3SSadaf Ebrahimi /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
427*287e80b3SSadaf Ebrahimi # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                            \
428*287e80b3SSadaf Ebrahimi     _Pragma ("GCC diagnostic push")                                     \
429*287e80b3SSadaf Ebrahimi     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")              \
430*287e80b3SSadaf Ebrahimi     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
431*287e80b3SSadaf Ebrahimi # define YY_IGNORE_MAYBE_UNINITIALIZED_END      \
432*287e80b3SSadaf Ebrahimi     _Pragma ("GCC diagnostic pop")
433*287e80b3SSadaf Ebrahimi #else
434*287e80b3SSadaf Ebrahimi # define YY_INITIAL_VALUE(Value) Value
435*287e80b3SSadaf Ebrahimi #endif
436*287e80b3SSadaf Ebrahimi #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
437*287e80b3SSadaf Ebrahimi # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
438*287e80b3SSadaf Ebrahimi # define YY_IGNORE_MAYBE_UNINITIALIZED_END
439*287e80b3SSadaf Ebrahimi #endif
440*287e80b3SSadaf Ebrahimi #ifndef YY_INITIAL_VALUE
441*287e80b3SSadaf Ebrahimi # define YY_INITIAL_VALUE(Value) /* Nothing. */
442*287e80b3SSadaf Ebrahimi #endif
443*287e80b3SSadaf Ebrahimi 
444*287e80b3SSadaf Ebrahimi #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
445*287e80b3SSadaf Ebrahimi # define YY_IGNORE_USELESS_CAST_BEGIN                          \
446*287e80b3SSadaf Ebrahimi     _Pragma ("GCC diagnostic push")                            \
447*287e80b3SSadaf Ebrahimi     _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
448*287e80b3SSadaf Ebrahimi # define YY_IGNORE_USELESS_CAST_END            \
449*287e80b3SSadaf Ebrahimi     _Pragma ("GCC diagnostic pop")
450*287e80b3SSadaf Ebrahimi #endif
451*287e80b3SSadaf Ebrahimi #ifndef YY_IGNORE_USELESS_CAST_BEGIN
452*287e80b3SSadaf Ebrahimi # define YY_IGNORE_USELESS_CAST_BEGIN
453*287e80b3SSadaf Ebrahimi # define YY_IGNORE_USELESS_CAST_END
454*287e80b3SSadaf Ebrahimi #endif
455*287e80b3SSadaf Ebrahimi 
456*287e80b3SSadaf Ebrahimi 
457*287e80b3SSadaf Ebrahimi #define YY_ASSERT(E) ((void) (0 && (E)))
458*287e80b3SSadaf Ebrahimi 
459*287e80b3SSadaf Ebrahimi #if !defined yyoverflow
460*287e80b3SSadaf Ebrahimi 
461*287e80b3SSadaf Ebrahimi /* The parser invokes alloca or malloc; define the necessary symbols.  */
462*287e80b3SSadaf Ebrahimi 
463*287e80b3SSadaf Ebrahimi # ifdef YYSTACK_USE_ALLOCA
464*287e80b3SSadaf Ebrahimi #  if YYSTACK_USE_ALLOCA
465*287e80b3SSadaf Ebrahimi #   ifdef __GNUC__
466*287e80b3SSadaf Ebrahimi #    define YYSTACK_ALLOC __builtin_alloca
467*287e80b3SSadaf Ebrahimi #   elif defined __BUILTIN_VA_ARG_INCR
468*287e80b3SSadaf Ebrahimi #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
469*287e80b3SSadaf Ebrahimi #   elif defined _AIX
470*287e80b3SSadaf Ebrahimi #    define YYSTACK_ALLOC __alloca
471*287e80b3SSadaf Ebrahimi #   elif defined _MSC_VER
472*287e80b3SSadaf Ebrahimi #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
473*287e80b3SSadaf Ebrahimi #    define alloca _alloca
474*287e80b3SSadaf Ebrahimi #   else
475*287e80b3SSadaf Ebrahimi #    define YYSTACK_ALLOC alloca
476*287e80b3SSadaf Ebrahimi #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
477*287e80b3SSadaf Ebrahimi #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
478*287e80b3SSadaf Ebrahimi       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
479*287e80b3SSadaf Ebrahimi #     ifndef EXIT_SUCCESS
480*287e80b3SSadaf Ebrahimi #      define EXIT_SUCCESS 0
481*287e80b3SSadaf Ebrahimi #     endif
482*287e80b3SSadaf Ebrahimi #    endif
483*287e80b3SSadaf Ebrahimi #   endif
484*287e80b3SSadaf Ebrahimi #  endif
485*287e80b3SSadaf Ebrahimi # endif
486*287e80b3SSadaf Ebrahimi 
487*287e80b3SSadaf Ebrahimi # ifdef YYSTACK_ALLOC
488*287e80b3SSadaf Ebrahimi    /* Pacify GCC's 'empty if-body' warning.  */
489*287e80b3SSadaf Ebrahimi #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
490*287e80b3SSadaf Ebrahimi #  ifndef YYSTACK_ALLOC_MAXIMUM
491*287e80b3SSadaf Ebrahimi     /* The OS might guarantee only one guard page at the bottom of the stack,
492*287e80b3SSadaf Ebrahimi        and a page size can be as small as 4096 bytes.  So we cannot safely
493*287e80b3SSadaf Ebrahimi        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
494*287e80b3SSadaf Ebrahimi        to allow for a few compiler-allocated temporary stack slots.  */
495*287e80b3SSadaf Ebrahimi #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
496*287e80b3SSadaf Ebrahimi #  endif
497*287e80b3SSadaf Ebrahimi # else
498*287e80b3SSadaf Ebrahimi #  define YYSTACK_ALLOC YYMALLOC
499*287e80b3SSadaf Ebrahimi #  define YYSTACK_FREE YYFREE
500*287e80b3SSadaf Ebrahimi #  ifndef YYSTACK_ALLOC_MAXIMUM
501*287e80b3SSadaf Ebrahimi #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
502*287e80b3SSadaf Ebrahimi #  endif
503*287e80b3SSadaf Ebrahimi #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
504*287e80b3SSadaf Ebrahimi        && ! ((defined YYMALLOC || defined malloc) \
505*287e80b3SSadaf Ebrahimi              && (defined YYFREE || defined free)))
506*287e80b3SSadaf Ebrahimi #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
507*287e80b3SSadaf Ebrahimi #   ifndef EXIT_SUCCESS
508*287e80b3SSadaf Ebrahimi #    define EXIT_SUCCESS 0
509*287e80b3SSadaf Ebrahimi #   endif
510*287e80b3SSadaf Ebrahimi #  endif
511*287e80b3SSadaf Ebrahimi #  ifndef YYMALLOC
512*287e80b3SSadaf Ebrahimi #   define YYMALLOC malloc
513*287e80b3SSadaf Ebrahimi #   if ! defined malloc && ! defined EXIT_SUCCESS
514*287e80b3SSadaf Ebrahimi void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
515*287e80b3SSadaf Ebrahimi #   endif
516*287e80b3SSadaf Ebrahimi #  endif
517*287e80b3SSadaf Ebrahimi #  ifndef YYFREE
518*287e80b3SSadaf Ebrahimi #   define YYFREE free
519*287e80b3SSadaf Ebrahimi #   if ! defined free && ! defined EXIT_SUCCESS
520*287e80b3SSadaf Ebrahimi void free (void *); /* INFRINGES ON USER NAME SPACE */
521*287e80b3SSadaf Ebrahimi #   endif
522*287e80b3SSadaf Ebrahimi #  endif
523*287e80b3SSadaf Ebrahimi # endif
524*287e80b3SSadaf Ebrahimi #endif /* !defined yyoverflow */
525*287e80b3SSadaf Ebrahimi 
526*287e80b3SSadaf Ebrahimi #if (! defined yyoverflow \
527*287e80b3SSadaf Ebrahimi      && (! defined __cplusplus \
528*287e80b3SSadaf Ebrahimi          || (defined TRACEFS_STYPE_IS_TRIVIAL && TRACEFS_STYPE_IS_TRIVIAL)))
529*287e80b3SSadaf Ebrahimi 
530*287e80b3SSadaf Ebrahimi /* A type that is properly aligned for any stack member.  */
531*287e80b3SSadaf Ebrahimi union yyalloc
532*287e80b3SSadaf Ebrahimi {
533*287e80b3SSadaf Ebrahimi   yy_state_t yyss_alloc;
534*287e80b3SSadaf Ebrahimi   YYSTYPE yyvs_alloc;
535*287e80b3SSadaf Ebrahimi };
536*287e80b3SSadaf Ebrahimi 
537*287e80b3SSadaf Ebrahimi /* The size of the maximum gap between one aligned stack and the next.  */
538*287e80b3SSadaf Ebrahimi # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
539*287e80b3SSadaf Ebrahimi 
540*287e80b3SSadaf Ebrahimi /* The size of an array large to enough to hold all stacks, each with
541*287e80b3SSadaf Ebrahimi    N elements.  */
542*287e80b3SSadaf Ebrahimi # define YYSTACK_BYTES(N) \
543*287e80b3SSadaf Ebrahimi      ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
544*287e80b3SSadaf Ebrahimi       + YYSTACK_GAP_MAXIMUM)
545*287e80b3SSadaf Ebrahimi 
546*287e80b3SSadaf Ebrahimi # define YYCOPY_NEEDED 1
547*287e80b3SSadaf Ebrahimi 
548*287e80b3SSadaf Ebrahimi /* Relocate STACK from its old location to the new one.  The
549*287e80b3SSadaf Ebrahimi    local variables YYSIZE and YYSTACKSIZE give the old and new number of
550*287e80b3SSadaf Ebrahimi    elements in the stack, and YYPTR gives the new location of the
551*287e80b3SSadaf Ebrahimi    stack.  Advance YYPTR to a properly aligned location for the next
552*287e80b3SSadaf Ebrahimi    stack.  */
553*287e80b3SSadaf Ebrahimi # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
554*287e80b3SSadaf Ebrahimi     do                                                                  \
555*287e80b3SSadaf Ebrahimi       {                                                                 \
556*287e80b3SSadaf Ebrahimi         YYPTRDIFF_T yynewbytes;                                         \
557*287e80b3SSadaf Ebrahimi         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
558*287e80b3SSadaf Ebrahimi         Stack = &yyptr->Stack_alloc;                                    \
559*287e80b3SSadaf Ebrahimi         yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
560*287e80b3SSadaf Ebrahimi         yyptr += yynewbytes / YYSIZEOF (*yyptr);                        \
561*287e80b3SSadaf Ebrahimi       }                                                                 \
562*287e80b3SSadaf Ebrahimi     while (0)
563*287e80b3SSadaf Ebrahimi 
564*287e80b3SSadaf Ebrahimi #endif
565*287e80b3SSadaf Ebrahimi 
566*287e80b3SSadaf Ebrahimi #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
567*287e80b3SSadaf Ebrahimi /* Copy COUNT objects from SRC to DST.  The source and destination do
568*287e80b3SSadaf Ebrahimi    not overlap.  */
569*287e80b3SSadaf Ebrahimi # ifndef YYCOPY
570*287e80b3SSadaf Ebrahimi #  if defined __GNUC__ && 1 < __GNUC__
571*287e80b3SSadaf Ebrahimi #   define YYCOPY(Dst, Src, Count) \
572*287e80b3SSadaf Ebrahimi       __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
573*287e80b3SSadaf Ebrahimi #  else
574*287e80b3SSadaf Ebrahimi #   define YYCOPY(Dst, Src, Count)              \
575*287e80b3SSadaf Ebrahimi       do                                        \
576*287e80b3SSadaf Ebrahimi         {                                       \
577*287e80b3SSadaf Ebrahimi           YYPTRDIFF_T yyi;                      \
578*287e80b3SSadaf Ebrahimi           for (yyi = 0; yyi < (Count); yyi++)   \
579*287e80b3SSadaf Ebrahimi             (Dst)[yyi] = (Src)[yyi];            \
580*287e80b3SSadaf Ebrahimi         }                                       \
581*287e80b3SSadaf Ebrahimi       while (0)
582*287e80b3SSadaf Ebrahimi #  endif
583*287e80b3SSadaf Ebrahimi # endif
584*287e80b3SSadaf Ebrahimi #endif /* !YYCOPY_NEEDED */
585*287e80b3SSadaf Ebrahimi 
586*287e80b3SSadaf Ebrahimi /* YYFINAL -- State number of the termination state.  */
587*287e80b3SSadaf Ebrahimi #define YYFINAL  5
588*287e80b3SSadaf Ebrahimi /* YYLAST -- Last index in YYTABLE.  */
589*287e80b3SSadaf Ebrahimi #define YYLAST   104
590*287e80b3SSadaf Ebrahimi 
591*287e80b3SSadaf Ebrahimi /* YYNTOKENS -- Number of terminals.  */
592*287e80b3SSadaf Ebrahimi #define YYNTOKENS  35
593*287e80b3SSadaf Ebrahimi /* YYNNTS -- Number of nonterminals.  */
594*287e80b3SSadaf Ebrahimi #define YYNNTS  28
595*287e80b3SSadaf Ebrahimi /* YYNRULES -- Number of rules.  */
596*287e80b3SSadaf Ebrahimi #define YYNRULES  61
597*287e80b3SSadaf Ebrahimi /* YYNSTATES -- Number of states.  */
598*287e80b3SSadaf Ebrahimi #define YYNSTATES  111
599*287e80b3SSadaf Ebrahimi 
600*287e80b3SSadaf Ebrahimi #define YYMAXUTOK   276
601*287e80b3SSadaf Ebrahimi 
602*287e80b3SSadaf Ebrahimi 
603*287e80b3SSadaf Ebrahimi /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
604*287e80b3SSadaf Ebrahimi    as returned by yylex, with out-of-bounds checking.  */
605*287e80b3SSadaf Ebrahimi #define YYTRANSLATE(YYX)                                \
606*287e80b3SSadaf Ebrahimi   (0 <= (YYX) && (YYX) <= YYMAXUTOK                     \
607*287e80b3SSadaf Ebrahimi    ? YY_CAST (yysymbol_kind_t, yytranslate[YYX])        \
608*287e80b3SSadaf Ebrahimi    : YYSYMBOL_YYUNDEF)
609*287e80b3SSadaf Ebrahimi 
610*287e80b3SSadaf Ebrahimi /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
611*287e80b3SSadaf Ebrahimi    as returned by yylex.  */
612*287e80b3SSadaf Ebrahimi static const yytype_int8 yytranslate[] =
613*287e80b3SSadaf Ebrahimi {
614*287e80b3SSadaf Ebrahimi        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
615*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
616*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
617*287e80b3SSadaf Ebrahimi        2,     2,     2,    34,     2,     2,     2,     2,    32,     2,
618*287e80b3SSadaf Ebrahimi       28,    29,    23,    21,    27,    22,     2,    24,     2,     2,
619*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
620*287e80b3SSadaf Ebrahimi       25,    30,    26,     2,     2,     2,     2,     2,     2,     2,
621*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
622*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
623*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
624*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
625*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
626*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,    33,     2,     2,     2,
627*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
628*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
629*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
630*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
631*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
632*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
633*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
634*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
635*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
636*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
637*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
638*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
639*287e80b3SSadaf Ebrahimi        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
640*287e80b3SSadaf Ebrahimi        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
641*287e80b3SSadaf Ebrahimi       15,    16,    17,    18,    19,    20,    31
642*287e80b3SSadaf Ebrahimi };
643*287e80b3SSadaf Ebrahimi 
644*287e80b3SSadaf Ebrahimi #if TRACEFS_DEBUG
645*287e80b3SSadaf Ebrahimi   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
646*287e80b3SSadaf Ebrahimi static const yytype_uint8 yyrline[] =
647*287e80b3SSadaf Ebrahimi {
648*287e80b3SSadaf Ebrahimi        0,    75,    75,    78,    79,    82,    86,    90,    91,    95,
649*287e80b3SSadaf Ebrahimi       99,   106,   107,   108,   109,   110,   117,   122,   130,   131,
650*287e80b3SSadaf Ebrahimi      135,   139,   143,   147,   151,   152,   157,   158,   159,   160,
651*287e80b3SSadaf Ebrahimi      161,   162,   163,   164,   165,   166,   170,   171,   172,   173,
652*287e80b3SSadaf Ebrahimi      174,   178,   179,   180,   181,   182,   186,   195,   196,   197,
653*287e80b3SSadaf Ebrahimi      201,   204,   206,   209,   211,   215,   219,   234,   238,   239,
654*287e80b3SSadaf Ebrahimi      244,   245
655*287e80b3SSadaf Ebrahimi };
656*287e80b3SSadaf Ebrahimi #endif
657*287e80b3SSadaf Ebrahimi 
658*287e80b3SSadaf Ebrahimi /** Accessing symbol of state STATE.  */
659*287e80b3SSadaf Ebrahimi #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
660*287e80b3SSadaf Ebrahimi 
661*287e80b3SSadaf Ebrahimi #if TRACEFS_DEBUG || 0
662*287e80b3SSadaf Ebrahimi /* The user-facing name of the symbol whose (internal) number is
663*287e80b3SSadaf Ebrahimi    YYSYMBOL.  No bounds checking.  */
664*287e80b3SSadaf Ebrahimi static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
665*287e80b3SSadaf Ebrahimi 
666*287e80b3SSadaf Ebrahimi /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
667*287e80b3SSadaf Ebrahimi    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
668*287e80b3SSadaf Ebrahimi static const char *const yytname[] =
669*287e80b3SSadaf Ebrahimi {
670*287e80b3SSadaf Ebrahimi   "\"end of file\"", "error", "\"invalid token\"", "AS", "SELECT", "FROM",
671*287e80b3SSadaf Ebrahimi   "JOIN", "ON", "WHERE", "PARSE_ERROR", "CAST", "NUMBER", "field_type",
672*287e80b3SSadaf Ebrahimi   "STRING", "FIELD", "LE", "GE", "EQ", "NEQ", "AND", "OR", "'+'", "'-'",
673*287e80b3SSadaf Ebrahimi   "'*'", "'/'", "'<'", "'>'", "','", "'('", "')'", "'='", "\"!=\"", "'&'",
674*287e80b3SSadaf Ebrahimi   "'~'", "'!'", "$accept", "start", "label", "select", "select_statement",
675*287e80b3SSadaf Ebrahimi   "selection_list", "selection", "selection_expr", "selection_addition",
676*287e80b3SSadaf Ebrahimi   "item", "field", "named_field", "name", "str_val", "val", "compare",
677*287e80b3SSadaf Ebrahimi   "compare_and_or", "compare_items", "compare_cmds", "compare_list",
678*287e80b3SSadaf Ebrahimi   "where_clause", "opt_where_clause", "opt_join_clause", "table_exp",
679*287e80b3SSadaf Ebrahimi   "from_clause", "join_clause", "match", "match_clause", YY_NULLPTR
680*287e80b3SSadaf Ebrahimi };
681*287e80b3SSadaf Ebrahimi 
682*287e80b3SSadaf Ebrahimi static const char *
yysymbol_name(yysymbol_kind_t yysymbol)683*287e80b3SSadaf Ebrahimi yysymbol_name (yysymbol_kind_t yysymbol)
684*287e80b3SSadaf Ebrahimi {
685*287e80b3SSadaf Ebrahimi   return yytname[yysymbol];
686*287e80b3SSadaf Ebrahimi }
687*287e80b3SSadaf Ebrahimi #endif
688*287e80b3SSadaf Ebrahimi 
689*287e80b3SSadaf Ebrahimi #ifdef YYPRINT
690*287e80b3SSadaf Ebrahimi /* YYTOKNUM[NUM] -- (External) token number corresponding to the
691*287e80b3SSadaf Ebrahimi    (internal) symbol number NUM (which must be that of a token).  */
692*287e80b3SSadaf Ebrahimi static const yytype_int16 yytoknum[] =
693*287e80b3SSadaf Ebrahimi {
694*287e80b3SSadaf Ebrahimi        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
695*287e80b3SSadaf Ebrahimi      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
696*287e80b3SSadaf Ebrahimi      275,    43,    45,    42,    47,    60,    62,    44,    40,    41,
697*287e80b3SSadaf Ebrahimi       61,   276,    38,   126,    33
698*287e80b3SSadaf Ebrahimi };
699*287e80b3SSadaf Ebrahimi #endif
700*287e80b3SSadaf Ebrahimi 
701*287e80b3SSadaf Ebrahimi #define YYPACT_NINF (-58)
702*287e80b3SSadaf Ebrahimi 
703*287e80b3SSadaf Ebrahimi #define yypact_value_is_default(Yyn) \
704*287e80b3SSadaf Ebrahimi   ((Yyn) == YYPACT_NINF)
705*287e80b3SSadaf Ebrahimi 
706*287e80b3SSadaf Ebrahimi #define YYTABLE_NINF (-1)
707*287e80b3SSadaf Ebrahimi 
708*287e80b3SSadaf Ebrahimi #define yytable_value_is_error(Yyn) \
709*287e80b3SSadaf Ebrahimi   0
710*287e80b3SSadaf Ebrahimi 
711*287e80b3SSadaf Ebrahimi   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
712*287e80b3SSadaf Ebrahimi      STATE-NUM.  */
713*287e80b3SSadaf Ebrahimi static const yytype_int8 yypact[] =
714*287e80b3SSadaf Ebrahimi {
715*287e80b3SSadaf Ebrahimi        4,   -58,    13,    11,   -58,   -58,     5,   -58,    43,    53,
716*287e80b3SSadaf Ebrahimi       45,    29,   -58,    19,    43,    44,    32,    60,   -58,    73,
717*287e80b3SSadaf Ebrahimi       11,    75,   -58,   -58,   -58,    43,    43,    87,   -58,   -58,
718*287e80b3SSadaf Ebrahimi       29,   -58,   -58,   -58,    60,    83,   -58,   -58,   -58,   -58,
719*287e80b3SSadaf Ebrahimi      -58,    78,   -58,    86,    14,   -58,   -58,    65,    60,    -4,
720*287e80b3SSadaf Ebrahimi      -12,    34,   -58,    76,   -15,   -58,   -58,   -10,    68,   -58,
721*287e80b3SSadaf Ebrahimi        1,   -58,    18,    -4,   -58,    33,    33,    33,    33,    33,
722*287e80b3SSadaf Ebrahimi       33,    33,    33,    33,    84,    14,    14,    14,    60,    60,
723*287e80b3SSadaf Ebrahimi       60,    -4,   -58,    -4,    -4,   -58,    49,   -58,   -58,   -58,
724*287e80b3SSadaf Ebrahimi      -58,   -58,   -58,   -58,   -58,   -58,   -58,   -58,   -58,   -58,
725*287e80b3SSadaf Ebrahimi      -58,   -58,   -58,   -58,   -58,   -58,    51,   -58,   -58,   -58,
726*287e80b3SSadaf Ebrahimi      -58
727*287e80b3SSadaf Ebrahimi };
728*287e80b3SSadaf Ebrahimi 
729*287e80b3SSadaf Ebrahimi   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
730*287e80b3SSadaf Ebrahimi      Performed when YYTABLE does not specify something else to do.  Zero
731*287e80b3SSadaf Ebrahimi      means the default is an error.  */
732*287e80b3SSadaf Ebrahimi static const yytype_int8 yydefact[] =
733*287e80b3SSadaf Ebrahimi {
734*287e80b3SSadaf Ebrahimi        0,     5,     0,     0,     2,     1,     0,    20,     0,     0,
735*287e80b3SSadaf Ebrahimi        7,     9,    13,    11,     0,     0,     0,     0,     6,    53,
736*287e80b3SSadaf Ebrahimi        0,     0,    22,    10,     4,     0,     0,     0,    14,    12,
737*287e80b3SSadaf Ebrahimi       20,    56,    19,    18,     0,    51,    54,     8,     3,    16,
738*287e80b3SSadaf Ebrahimi       17,     0,    21,     0,     0,    52,    55,     0,     0,     0,
739*287e80b3SSadaf Ebrahimi        0,     0,    45,    46,    47,    50,    15,     0,    60,    57,
740*287e80b3SSadaf Ebrahimi        0,    40,     0,     0,    44,     0,     0,     0,     0,     0,
741*287e80b3SSadaf Ebrahimi        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
742*287e80b3SSadaf Ebrahimi        0,     0,    39,     0,     0,    42,     0,    25,    23,    24,
743*287e80b3SSadaf Ebrahimi       28,    29,    31,    32,    26,    27,    30,    33,    34,    35,
744*287e80b3SSadaf Ebrahimi       41,    49,    48,    59,    58,    61,     0,    37,    36,    43,
745*287e80b3SSadaf Ebrahimi       38
746*287e80b3SSadaf Ebrahimi };
747*287e80b3SSadaf Ebrahimi 
748*287e80b3SSadaf Ebrahimi   /* YYPGOTO[NTERM-NUM].  */
749*287e80b3SSadaf Ebrahimi static const yytype_int8 yypgoto[] =
750*287e80b3SSadaf Ebrahimi {
751*287e80b3SSadaf Ebrahimi      -58,   -58,    69,   -58,   -58,    80,   -58,   -58,    90,   -16,
752*287e80b3SSadaf Ebrahimi       -3,   -58,    81,    27,    15,   -41,   -57,    28,   -58,   -21,
753*287e80b3SSadaf Ebrahimi      -58,   -58,   -58,   -58,   -58,   -58,   -58,    24
754*287e80b3SSadaf Ebrahimi };
755*287e80b3SSadaf Ebrahimi 
756*287e80b3SSadaf Ebrahimi   /* YYDEFGOTO[NTERM-NUM].  */
757*287e80b3SSadaf Ebrahimi static const yytype_int8 yydefgoto[] =
758*287e80b3SSadaf Ebrahimi {
759*287e80b3SSadaf Ebrahimi       -1,     2,    23,     3,     4,     9,    10,    11,    12,    57,
760*287e80b3SSadaf Ebrahimi       51,    33,    24,    89,    90,    61,    62,    53,    54,    55,
761*287e80b3SSadaf Ebrahimi       45,    46,    35,    18,    19,    36,    58,    59
762*287e80b3SSadaf Ebrahimi };
763*287e80b3SSadaf Ebrahimi 
764*287e80b3SSadaf Ebrahimi   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
765*287e80b3SSadaf Ebrahimi      positive, shift that token.  If negative, reduce the rule whose
766*287e80b3SSadaf Ebrahimi      number is the opposite.  If YYTABLE_NINF, syntax error.  */
767*287e80b3SSadaf Ebrahimi static const yytype_int8 yytable[] =
768*287e80b3SSadaf Ebrahimi {
769*287e80b3SSadaf Ebrahimi       13,    31,     7,    52,    76,    16,    86,    78,     1,    64,
770*287e80b3SSadaf Ebrahimi        7,    27,    77,     5,    32,     7,    63,    13,    43,    82,
771*287e80b3SSadaf Ebrahimi       79,     6,    39,    40,   106,     7,   107,   108,     7,    81,
772*287e80b3SSadaf Ebrahimi       60,    32,    21,    14,    52,    52,    52,    83,    84,     8,
773*287e80b3SSadaf Ebrahimi       25,    26,    49,    22,    87,    32,    88,    85,    50,    65,
774*287e80b3SSadaf Ebrahimi       66,    67,    68,    25,    26,   101,   102,     7,    17,    69,
775*287e80b3SSadaf Ebrahimi       70,    29,   103,   104,    71,    72,    73,    74,    83,    84,
776*287e80b3SSadaf Ebrahimi       83,    84,    20,    28,    30,    32,    32,    32,   109,    34,
777*287e80b3SSadaf Ebrahimi      110,    91,    92,    93,    94,    95,    96,    97,    98,    22,
778*287e80b3SSadaf Ebrahimi       41,    44,    47,    48,    56,    80,    75,    88,    15,    42,
779*287e80b3SSadaf Ebrahimi       37,    99,    38,   100,   105
780*287e80b3SSadaf Ebrahimi };
781*287e80b3SSadaf Ebrahimi 
782*287e80b3SSadaf Ebrahimi static const yytype_int8 yycheck[] =
783*287e80b3SSadaf Ebrahimi {
784*287e80b3SSadaf Ebrahimi        3,    17,    14,    44,    19,     8,    63,    17,     4,    50,
785*287e80b3SSadaf Ebrahimi       14,    14,    27,     0,    17,    14,    28,    20,    34,    60,
786*287e80b3SSadaf Ebrahimi       30,    10,    25,    26,    81,    14,    83,    84,    14,    28,
787*287e80b3SSadaf Ebrahimi       34,    34,     3,    28,    75,    76,    77,    19,    20,    28,
788*287e80b3SSadaf Ebrahimi       21,    22,    28,    14,    11,    48,    13,    29,    34,    15,
789*287e80b3SSadaf Ebrahimi       16,    17,    18,    21,    22,    76,    77,    14,     5,    25,
790*287e80b3SSadaf Ebrahimi       26,    29,    78,    79,    30,    31,    32,    33,    19,    20,
791*287e80b3SSadaf Ebrahimi       19,    20,    27,    29,    14,    78,    79,    80,    29,     6,
792*287e80b3SSadaf Ebrahimi       29,    66,    67,    68,    69,    70,    71,    72,    73,    14,
793*287e80b3SSadaf Ebrahimi        3,     8,    14,     7,    29,    27,    20,    13,     8,    30,
794*287e80b3SSadaf Ebrahimi       20,    74,    21,    75,    80
795*287e80b3SSadaf Ebrahimi };
796*287e80b3SSadaf Ebrahimi 
797*287e80b3SSadaf Ebrahimi   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
798*287e80b3SSadaf Ebrahimi      symbol of state STATE-NUM.  */
799*287e80b3SSadaf Ebrahimi static const yytype_int8 yystos[] =
800*287e80b3SSadaf Ebrahimi {
801*287e80b3SSadaf Ebrahimi        0,     4,    36,    38,    39,     0,    10,    14,    28,    40,
802*287e80b3SSadaf Ebrahimi       41,    42,    43,    45,    28,    43,    45,     5,    58,    59,
803*287e80b3SSadaf Ebrahimi       27,     3,    14,    37,    47,    21,    22,    45,    29,    29,
804*287e80b3SSadaf Ebrahimi       14,    44,    45,    46,     6,    57,    60,    40,    47,    45,
805*287e80b3SSadaf Ebrahimi       45,     3,    37,    44,     8,    55,    56,    14,     7,    28,
806*287e80b3SSadaf Ebrahimi       34,    45,    50,    52,    53,    54,    29,    44,    61,    62,
807*287e80b3SSadaf Ebrahimi       34,    50,    51,    28,    50,    15,    16,    17,    18,    25,
808*287e80b3SSadaf Ebrahimi       26,    30,    31,    32,    33,    20,    19,    27,    17,    30,
809*287e80b3SSadaf Ebrahimi       27,    28,    50,    19,    20,    29,    51,    11,    13,    48,
810*287e80b3SSadaf Ebrahimi       49,    49,    49,    49,    49,    49,    49,    49,    49,    48,
811*287e80b3SSadaf Ebrahimi       52,    54,    54,    44,    44,    62,    51,    51,    51,    29,
812*287e80b3SSadaf Ebrahimi       29
813*287e80b3SSadaf Ebrahimi };
814*287e80b3SSadaf Ebrahimi 
815*287e80b3SSadaf Ebrahimi   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
816*287e80b3SSadaf Ebrahimi static const yytype_int8 yyr1[] =
817*287e80b3SSadaf Ebrahimi {
818*287e80b3SSadaf Ebrahimi        0,    35,    36,    37,    37,    38,    39,    40,    40,    41,
819*287e80b3SSadaf Ebrahimi       41,    42,    42,    42,    42,    42,    43,    43,    44,    44,
820*287e80b3SSadaf Ebrahimi       45,    46,    47,    48,    49,    49,    50,    50,    50,    50,
821*287e80b3SSadaf Ebrahimi       50,    50,    50,    50,    50,    50,    51,    51,    51,    51,
822*287e80b3SSadaf Ebrahimi       51,    52,    52,    52,    52,    52,    53,    54,    54,    54,
823*287e80b3SSadaf Ebrahimi       55,    56,    56,    57,    57,    58,    59,    60,    61,    61,
824*287e80b3SSadaf Ebrahimi       62,    62
825*287e80b3SSadaf Ebrahimi };
826*287e80b3SSadaf Ebrahimi 
827*287e80b3SSadaf Ebrahimi   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
828*287e80b3SSadaf Ebrahimi static const yytype_int8 yyr2[] =
829*287e80b3SSadaf Ebrahimi {
830*287e80b3SSadaf Ebrahimi        0,     2,     1,     2,     1,     1,     3,     1,     3,     1,
831*287e80b3SSadaf Ebrahimi        2,     1,     3,     1,     3,     6,     3,     3,     1,     1,
832*287e80b3SSadaf Ebrahimi        1,     2,     1,     1,     1,     1,     3,     3,     3,     3,
833*287e80b3SSadaf Ebrahimi        3,     3,     3,     3,     3,     3,     3,     3,     4,     2,
834*287e80b3SSadaf Ebrahimi        1,     3,     3,     4,     2,     1,     1,     1,     3,     3,
835*287e80b3SSadaf Ebrahimi        2,     0,     1,     0,     1,     3,     2,     4,     3,     3,
836*287e80b3SSadaf Ebrahimi        1,     3
837*287e80b3SSadaf Ebrahimi };
838*287e80b3SSadaf Ebrahimi 
839*287e80b3SSadaf Ebrahimi 
840*287e80b3SSadaf Ebrahimi enum { YYENOMEM = -2 };
841*287e80b3SSadaf Ebrahimi 
842*287e80b3SSadaf Ebrahimi #define yyerrok         (yyerrstatus = 0)
843*287e80b3SSadaf Ebrahimi #define yyclearin       (yychar = TRACEFS_EMPTY)
844*287e80b3SSadaf Ebrahimi 
845*287e80b3SSadaf Ebrahimi #define YYACCEPT        goto yyacceptlab
846*287e80b3SSadaf Ebrahimi #define YYABORT         goto yyabortlab
847*287e80b3SSadaf Ebrahimi #define YYERROR         goto yyerrorlab
848*287e80b3SSadaf Ebrahimi 
849*287e80b3SSadaf Ebrahimi 
850*287e80b3SSadaf Ebrahimi #define YYRECOVERING()  (!!yyerrstatus)
851*287e80b3SSadaf Ebrahimi 
852*287e80b3SSadaf Ebrahimi #define YYBACKUP(Token, Value)                                    \
853*287e80b3SSadaf Ebrahimi   do                                                              \
854*287e80b3SSadaf Ebrahimi     if (yychar == TRACEFS_EMPTY)                                        \
855*287e80b3SSadaf Ebrahimi       {                                                           \
856*287e80b3SSadaf Ebrahimi         yychar = (Token);                                         \
857*287e80b3SSadaf Ebrahimi         yylval = (Value);                                         \
858*287e80b3SSadaf Ebrahimi         YYPOPSTACK (yylen);                                       \
859*287e80b3SSadaf Ebrahimi         yystate = *yyssp;                                         \
860*287e80b3SSadaf Ebrahimi         goto yybackup;                                            \
861*287e80b3SSadaf Ebrahimi       }                                                           \
862*287e80b3SSadaf Ebrahimi     else                                                          \
863*287e80b3SSadaf Ebrahimi       {                                                           \
864*287e80b3SSadaf Ebrahimi         yyerror (sb, YY_("syntax error: cannot back up")); \
865*287e80b3SSadaf Ebrahimi         YYERROR;                                                  \
866*287e80b3SSadaf Ebrahimi       }                                                           \
867*287e80b3SSadaf Ebrahimi   while (0)
868*287e80b3SSadaf Ebrahimi 
869*287e80b3SSadaf Ebrahimi /* Backward compatibility with an undocumented macro.
870*287e80b3SSadaf Ebrahimi    Use TRACEFS_error or TRACEFS_UNDEF. */
871*287e80b3SSadaf Ebrahimi #define YYERRCODE TRACEFS_UNDEF
872*287e80b3SSadaf Ebrahimi 
873*287e80b3SSadaf Ebrahimi 
874*287e80b3SSadaf Ebrahimi /* Enable debugging if requested.  */
875*287e80b3SSadaf Ebrahimi #if TRACEFS_DEBUG
876*287e80b3SSadaf Ebrahimi 
877*287e80b3SSadaf Ebrahimi # ifndef YYFPRINTF
878*287e80b3SSadaf Ebrahimi #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
879*287e80b3SSadaf Ebrahimi #  define YYFPRINTF fprintf
880*287e80b3SSadaf Ebrahimi # endif
881*287e80b3SSadaf Ebrahimi 
882*287e80b3SSadaf Ebrahimi # define YYDPRINTF(Args)                        \
883*287e80b3SSadaf Ebrahimi do {                                            \
884*287e80b3SSadaf Ebrahimi   if (yydebug)                                  \
885*287e80b3SSadaf Ebrahimi     YYFPRINTF Args;                             \
886*287e80b3SSadaf Ebrahimi } while (0)
887*287e80b3SSadaf Ebrahimi 
888*287e80b3SSadaf Ebrahimi /* This macro is provided for backward compatibility. */
889*287e80b3SSadaf Ebrahimi # ifndef YY_LOCATION_PRINT
890*287e80b3SSadaf Ebrahimi #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
891*287e80b3SSadaf Ebrahimi # endif
892*287e80b3SSadaf Ebrahimi 
893*287e80b3SSadaf Ebrahimi 
894*287e80b3SSadaf Ebrahimi # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)                    \
895*287e80b3SSadaf Ebrahimi do {                                                                      \
896*287e80b3SSadaf Ebrahimi   if (yydebug)                                                            \
897*287e80b3SSadaf Ebrahimi     {                                                                     \
898*287e80b3SSadaf Ebrahimi       YYFPRINTF (stderr, "%s ", Title);                                   \
899*287e80b3SSadaf Ebrahimi       yy_symbol_print (stderr,                                            \
900*287e80b3SSadaf Ebrahimi                   Kind, Value, sb); \
901*287e80b3SSadaf Ebrahimi       YYFPRINTF (stderr, "\n");                                           \
902*287e80b3SSadaf Ebrahimi     }                                                                     \
903*287e80b3SSadaf Ebrahimi } while (0)
904*287e80b3SSadaf Ebrahimi 
905*287e80b3SSadaf Ebrahimi 
906*287e80b3SSadaf Ebrahimi /*-----------------------------------.
907*287e80b3SSadaf Ebrahimi | Print this symbol's value on YYO.  |
908*287e80b3SSadaf Ebrahimi `-----------------------------------*/
909*287e80b3SSadaf Ebrahimi 
910*287e80b3SSadaf Ebrahimi static void
yy_symbol_value_print(FILE * yyo,yysymbol_kind_t yykind,YYSTYPE const * const yyvaluep,struct sqlhist_bison * sb)911*287e80b3SSadaf Ebrahimi yy_symbol_value_print (FILE *yyo,
912*287e80b3SSadaf Ebrahimi                        yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, struct sqlhist_bison *sb)
913*287e80b3SSadaf Ebrahimi {
914*287e80b3SSadaf Ebrahimi   FILE *yyoutput = yyo;
915*287e80b3SSadaf Ebrahimi   YYUSE (yyoutput);
916*287e80b3SSadaf Ebrahimi   YYUSE (sb);
917*287e80b3SSadaf Ebrahimi   if (!yyvaluep)
918*287e80b3SSadaf Ebrahimi     return;
919*287e80b3SSadaf Ebrahimi # ifdef YYPRINT
920*287e80b3SSadaf Ebrahimi   if (yykind < YYNTOKENS)
921*287e80b3SSadaf Ebrahimi     YYPRINT (yyo, yytoknum[yykind], *yyvaluep);
922*287e80b3SSadaf Ebrahimi # endif
923*287e80b3SSadaf Ebrahimi   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
924*287e80b3SSadaf Ebrahimi   YYUSE (yykind);
925*287e80b3SSadaf Ebrahimi   YY_IGNORE_MAYBE_UNINITIALIZED_END
926*287e80b3SSadaf Ebrahimi }
927*287e80b3SSadaf Ebrahimi 
928*287e80b3SSadaf Ebrahimi 
929*287e80b3SSadaf Ebrahimi /*---------------------------.
930*287e80b3SSadaf Ebrahimi | Print this symbol on YYO.  |
931*287e80b3SSadaf Ebrahimi `---------------------------*/
932*287e80b3SSadaf Ebrahimi 
933*287e80b3SSadaf Ebrahimi static void
yy_symbol_print(FILE * yyo,yysymbol_kind_t yykind,YYSTYPE const * const yyvaluep,struct sqlhist_bison * sb)934*287e80b3SSadaf Ebrahimi yy_symbol_print (FILE *yyo,
935*287e80b3SSadaf Ebrahimi                  yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, struct sqlhist_bison *sb)
936*287e80b3SSadaf Ebrahimi {
937*287e80b3SSadaf Ebrahimi   YYFPRINTF (yyo, "%s %s (",
938*287e80b3SSadaf Ebrahimi              yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
939*287e80b3SSadaf Ebrahimi 
940*287e80b3SSadaf Ebrahimi   yy_symbol_value_print (yyo, yykind, yyvaluep, sb);
941*287e80b3SSadaf Ebrahimi   YYFPRINTF (yyo, ")");
942*287e80b3SSadaf Ebrahimi }
943*287e80b3SSadaf Ebrahimi 
944*287e80b3SSadaf Ebrahimi /*------------------------------------------------------------------.
945*287e80b3SSadaf Ebrahimi | yy_stack_print -- Print the state stack from its BOTTOM up to its |
946*287e80b3SSadaf Ebrahimi | TOP (included).                                                   |
947*287e80b3SSadaf Ebrahimi `------------------------------------------------------------------*/
948*287e80b3SSadaf Ebrahimi 
949*287e80b3SSadaf Ebrahimi static void
yy_stack_print(yy_state_t * yybottom,yy_state_t * yytop)950*287e80b3SSadaf Ebrahimi yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
951*287e80b3SSadaf Ebrahimi {
952*287e80b3SSadaf Ebrahimi   YYFPRINTF (stderr, "Stack now");
953*287e80b3SSadaf Ebrahimi   for (; yybottom <= yytop; yybottom++)
954*287e80b3SSadaf Ebrahimi     {
955*287e80b3SSadaf Ebrahimi       int yybot = *yybottom;
956*287e80b3SSadaf Ebrahimi       YYFPRINTF (stderr, " %d", yybot);
957*287e80b3SSadaf Ebrahimi     }
958*287e80b3SSadaf Ebrahimi   YYFPRINTF (stderr, "\n");
959*287e80b3SSadaf Ebrahimi }
960*287e80b3SSadaf Ebrahimi 
961*287e80b3SSadaf Ebrahimi # define YY_STACK_PRINT(Bottom, Top)                            \
962*287e80b3SSadaf Ebrahimi do {                                                            \
963*287e80b3SSadaf Ebrahimi   if (yydebug)                                                  \
964*287e80b3SSadaf Ebrahimi     yy_stack_print ((Bottom), (Top));                           \
965*287e80b3SSadaf Ebrahimi } while (0)
966*287e80b3SSadaf Ebrahimi 
967*287e80b3SSadaf Ebrahimi 
968*287e80b3SSadaf Ebrahimi /*------------------------------------------------.
969*287e80b3SSadaf Ebrahimi | Report that the YYRULE is going to be reduced.  |
970*287e80b3SSadaf Ebrahimi `------------------------------------------------*/
971*287e80b3SSadaf Ebrahimi 
972*287e80b3SSadaf Ebrahimi static void
yy_reduce_print(yy_state_t * yyssp,YYSTYPE * yyvsp,int yyrule,struct sqlhist_bison * sb)973*287e80b3SSadaf Ebrahimi yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp,
974*287e80b3SSadaf Ebrahimi                  int yyrule, struct sqlhist_bison *sb)
975*287e80b3SSadaf Ebrahimi {
976*287e80b3SSadaf Ebrahimi   int yylno = yyrline[yyrule];
977*287e80b3SSadaf Ebrahimi   int yynrhs = yyr2[yyrule];
978*287e80b3SSadaf Ebrahimi   int yyi;
979*287e80b3SSadaf Ebrahimi   YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
980*287e80b3SSadaf Ebrahimi              yyrule - 1, yylno);
981*287e80b3SSadaf Ebrahimi   /* The symbols being reduced.  */
982*287e80b3SSadaf Ebrahimi   for (yyi = 0; yyi < yynrhs; yyi++)
983*287e80b3SSadaf Ebrahimi     {
984*287e80b3SSadaf Ebrahimi       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
985*287e80b3SSadaf Ebrahimi       yy_symbol_print (stderr,
986*287e80b3SSadaf Ebrahimi                        YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
987*287e80b3SSadaf Ebrahimi                        &yyvsp[(yyi + 1) - (yynrhs)], sb);
988*287e80b3SSadaf Ebrahimi       YYFPRINTF (stderr, "\n");
989*287e80b3SSadaf Ebrahimi     }
990*287e80b3SSadaf Ebrahimi }
991*287e80b3SSadaf Ebrahimi 
992*287e80b3SSadaf Ebrahimi # define YY_REDUCE_PRINT(Rule)          \
993*287e80b3SSadaf Ebrahimi do {                                    \
994*287e80b3SSadaf Ebrahimi   if (yydebug)                          \
995*287e80b3SSadaf Ebrahimi     yy_reduce_print (yyssp, yyvsp, Rule, sb); \
996*287e80b3SSadaf Ebrahimi } while (0)
997*287e80b3SSadaf Ebrahimi 
998*287e80b3SSadaf Ebrahimi /* Nonzero means print parse trace.  It is left uninitialized so that
999*287e80b3SSadaf Ebrahimi    multiple parsers can coexist.  */
1000*287e80b3SSadaf Ebrahimi int yydebug;
1001*287e80b3SSadaf Ebrahimi #else /* !TRACEFS_DEBUG */
1002*287e80b3SSadaf Ebrahimi # define YYDPRINTF(Args) ((void) 0)
1003*287e80b3SSadaf Ebrahimi # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
1004*287e80b3SSadaf Ebrahimi # define YY_STACK_PRINT(Bottom, Top)
1005*287e80b3SSadaf Ebrahimi # define YY_REDUCE_PRINT(Rule)
1006*287e80b3SSadaf Ebrahimi #endif /* !TRACEFS_DEBUG */
1007*287e80b3SSadaf Ebrahimi 
1008*287e80b3SSadaf Ebrahimi 
1009*287e80b3SSadaf Ebrahimi /* YYINITDEPTH -- initial size of the parser's stacks.  */
1010*287e80b3SSadaf Ebrahimi #ifndef YYINITDEPTH
1011*287e80b3SSadaf Ebrahimi # define YYINITDEPTH 200
1012*287e80b3SSadaf Ebrahimi #endif
1013*287e80b3SSadaf Ebrahimi 
1014*287e80b3SSadaf Ebrahimi /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1015*287e80b3SSadaf Ebrahimi    if the built-in stack extension method is used).
1016*287e80b3SSadaf Ebrahimi 
1017*287e80b3SSadaf Ebrahimi    Do not make this value too large; the results are undefined if
1018*287e80b3SSadaf Ebrahimi    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1019*287e80b3SSadaf Ebrahimi    evaluated with infinite-precision integer arithmetic.  */
1020*287e80b3SSadaf Ebrahimi 
1021*287e80b3SSadaf Ebrahimi #ifndef YYMAXDEPTH
1022*287e80b3SSadaf Ebrahimi # define YYMAXDEPTH 10000
1023*287e80b3SSadaf Ebrahimi #endif
1024*287e80b3SSadaf Ebrahimi 
1025*287e80b3SSadaf Ebrahimi 
1026*287e80b3SSadaf Ebrahimi 
1027*287e80b3SSadaf Ebrahimi 
1028*287e80b3SSadaf Ebrahimi 
1029*287e80b3SSadaf Ebrahimi 
1030*287e80b3SSadaf Ebrahimi /*-----------------------------------------------.
1031*287e80b3SSadaf Ebrahimi | Release the memory associated to this symbol.  |
1032*287e80b3SSadaf Ebrahimi `-----------------------------------------------*/
1033*287e80b3SSadaf Ebrahimi 
1034*287e80b3SSadaf Ebrahimi static void
yydestruct(const char * yymsg,yysymbol_kind_t yykind,YYSTYPE * yyvaluep,struct sqlhist_bison * sb)1035*287e80b3SSadaf Ebrahimi yydestruct (const char *yymsg,
1036*287e80b3SSadaf Ebrahimi             yysymbol_kind_t yykind, YYSTYPE *yyvaluep, struct sqlhist_bison *sb)
1037*287e80b3SSadaf Ebrahimi {
1038*287e80b3SSadaf Ebrahimi   YYUSE (yyvaluep);
1039*287e80b3SSadaf Ebrahimi   YYUSE (sb);
1040*287e80b3SSadaf Ebrahimi   if (!yymsg)
1041*287e80b3SSadaf Ebrahimi     yymsg = "Deleting";
1042*287e80b3SSadaf Ebrahimi   YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
1043*287e80b3SSadaf Ebrahimi 
1044*287e80b3SSadaf Ebrahimi   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1045*287e80b3SSadaf Ebrahimi   YYUSE (yykind);
1046*287e80b3SSadaf Ebrahimi   YY_IGNORE_MAYBE_UNINITIALIZED_END
1047*287e80b3SSadaf Ebrahimi }
1048*287e80b3SSadaf Ebrahimi 
1049*287e80b3SSadaf Ebrahimi 
1050*287e80b3SSadaf Ebrahimi 
1051*287e80b3SSadaf Ebrahimi 
1052*287e80b3SSadaf Ebrahimi 
1053*287e80b3SSadaf Ebrahimi 
1054*287e80b3SSadaf Ebrahimi /*----------.
1055*287e80b3SSadaf Ebrahimi | yyparse.  |
1056*287e80b3SSadaf Ebrahimi `----------*/
1057*287e80b3SSadaf Ebrahimi 
1058*287e80b3SSadaf Ebrahimi int
yyparse(struct sqlhist_bison * sb)1059*287e80b3SSadaf Ebrahimi yyparse (struct sqlhist_bison *sb)
1060*287e80b3SSadaf Ebrahimi {
1061*287e80b3SSadaf Ebrahimi /* The lookahead symbol.  */
1062*287e80b3SSadaf Ebrahimi int yychar;
1063*287e80b3SSadaf Ebrahimi 
1064*287e80b3SSadaf Ebrahimi 
1065*287e80b3SSadaf Ebrahimi /* The semantic value of the lookahead symbol.  */
1066*287e80b3SSadaf Ebrahimi /* Default value used for initialization, for pacifying older GCCs
1067*287e80b3SSadaf Ebrahimi    or non-GCC compilers.  */
1068*287e80b3SSadaf Ebrahimi YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
1069*287e80b3SSadaf Ebrahimi YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
1070*287e80b3SSadaf Ebrahimi 
1071*287e80b3SSadaf Ebrahimi     /* Number of syntax errors so far.  */
1072*287e80b3SSadaf Ebrahimi     int yynerrs;
1073*287e80b3SSadaf Ebrahimi 
1074*287e80b3SSadaf Ebrahimi     yy_state_fast_t yystate;
1075*287e80b3SSadaf Ebrahimi     /* Number of tokens to shift before error messages enabled.  */
1076*287e80b3SSadaf Ebrahimi     int yyerrstatus;
1077*287e80b3SSadaf Ebrahimi 
1078*287e80b3SSadaf Ebrahimi     /* The stacks and their tools:
1079*287e80b3SSadaf Ebrahimi        'yyss': related to states.
1080*287e80b3SSadaf Ebrahimi        'yyvs': related to semantic values.
1081*287e80b3SSadaf Ebrahimi 
1082*287e80b3SSadaf Ebrahimi        Refer to the stacks through separate pointers, to allow yyoverflow
1083*287e80b3SSadaf Ebrahimi        to reallocate them elsewhere.  */
1084*287e80b3SSadaf Ebrahimi 
1085*287e80b3SSadaf Ebrahimi     /* Their size.  */
1086*287e80b3SSadaf Ebrahimi     YYPTRDIFF_T yystacksize;
1087*287e80b3SSadaf Ebrahimi 
1088*287e80b3SSadaf Ebrahimi     /* The state stack.  */
1089*287e80b3SSadaf Ebrahimi     yy_state_t yyssa[YYINITDEPTH];
1090*287e80b3SSadaf Ebrahimi     yy_state_t *yyss;
1091*287e80b3SSadaf Ebrahimi     yy_state_t *yyssp;
1092*287e80b3SSadaf Ebrahimi 
1093*287e80b3SSadaf Ebrahimi     /* The semantic value stack.  */
1094*287e80b3SSadaf Ebrahimi     YYSTYPE yyvsa[YYINITDEPTH];
1095*287e80b3SSadaf Ebrahimi     YYSTYPE *yyvs;
1096*287e80b3SSadaf Ebrahimi     YYSTYPE *yyvsp;
1097*287e80b3SSadaf Ebrahimi 
1098*287e80b3SSadaf Ebrahimi   int yyn;
1099*287e80b3SSadaf Ebrahimi   /* The return value of yyparse.  */
1100*287e80b3SSadaf Ebrahimi   int yyresult;
1101*287e80b3SSadaf Ebrahimi   /* Lookahead token as an internal (translated) token number.  */
1102*287e80b3SSadaf Ebrahimi   yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
1103*287e80b3SSadaf Ebrahimi   /* The variables used to return semantic value and location from the
1104*287e80b3SSadaf Ebrahimi      action routines.  */
1105*287e80b3SSadaf Ebrahimi   YYSTYPE yyval;
1106*287e80b3SSadaf Ebrahimi 
1107*287e80b3SSadaf Ebrahimi 
1108*287e80b3SSadaf Ebrahimi 
1109*287e80b3SSadaf Ebrahimi #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
1110*287e80b3SSadaf Ebrahimi 
1111*287e80b3SSadaf Ebrahimi   /* The number of symbols on the RHS of the reduced rule.
1112*287e80b3SSadaf Ebrahimi      Keep to zero when no symbol should be popped.  */
1113*287e80b3SSadaf Ebrahimi   int yylen = 0;
1114*287e80b3SSadaf Ebrahimi 
1115*287e80b3SSadaf Ebrahimi   yynerrs = 0;
1116*287e80b3SSadaf Ebrahimi   yystate = 0;
1117*287e80b3SSadaf Ebrahimi   yyerrstatus = 0;
1118*287e80b3SSadaf Ebrahimi 
1119*287e80b3SSadaf Ebrahimi   yystacksize = YYINITDEPTH;
1120*287e80b3SSadaf Ebrahimi   yyssp = yyss = yyssa;
1121*287e80b3SSadaf Ebrahimi   yyvsp = yyvs = yyvsa;
1122*287e80b3SSadaf Ebrahimi 
1123*287e80b3SSadaf Ebrahimi 
1124*287e80b3SSadaf Ebrahimi   YYDPRINTF ((stderr, "Starting parse\n"));
1125*287e80b3SSadaf Ebrahimi 
1126*287e80b3SSadaf Ebrahimi   yychar = TRACEFS_EMPTY; /* Cause a token to be read.  */
1127*287e80b3SSadaf Ebrahimi   goto yysetstate;
1128*287e80b3SSadaf Ebrahimi 
1129*287e80b3SSadaf Ebrahimi 
1130*287e80b3SSadaf Ebrahimi /*------------------------------------------------------------.
1131*287e80b3SSadaf Ebrahimi | yynewstate -- push a new state, which is found in yystate.  |
1132*287e80b3SSadaf Ebrahimi `------------------------------------------------------------*/
1133*287e80b3SSadaf Ebrahimi yynewstate:
1134*287e80b3SSadaf Ebrahimi   /* In all cases, when you get here, the value and location stacks
1135*287e80b3SSadaf Ebrahimi      have just been pushed.  So pushing a state here evens the stacks.  */
1136*287e80b3SSadaf Ebrahimi   yyssp++;
1137*287e80b3SSadaf Ebrahimi 
1138*287e80b3SSadaf Ebrahimi 
1139*287e80b3SSadaf Ebrahimi /*--------------------------------------------------------------------.
1140*287e80b3SSadaf Ebrahimi | yysetstate -- set current state (the top of the stack) to yystate.  |
1141*287e80b3SSadaf Ebrahimi `--------------------------------------------------------------------*/
1142*287e80b3SSadaf Ebrahimi yysetstate:
1143*287e80b3SSadaf Ebrahimi   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1144*287e80b3SSadaf Ebrahimi   YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
1145*287e80b3SSadaf Ebrahimi   YY_IGNORE_USELESS_CAST_BEGIN
1146*287e80b3SSadaf Ebrahimi   *yyssp = YY_CAST (yy_state_t, yystate);
1147*287e80b3SSadaf Ebrahimi   YY_IGNORE_USELESS_CAST_END
1148*287e80b3SSadaf Ebrahimi   YY_STACK_PRINT (yyss, yyssp);
1149*287e80b3SSadaf Ebrahimi 
1150*287e80b3SSadaf Ebrahimi   if (yyss + yystacksize - 1 <= yyssp)
1151*287e80b3SSadaf Ebrahimi #if !defined yyoverflow && !defined YYSTACK_RELOCATE
1152*287e80b3SSadaf Ebrahimi     goto yyexhaustedlab;
1153*287e80b3SSadaf Ebrahimi #else
1154*287e80b3SSadaf Ebrahimi     {
1155*287e80b3SSadaf Ebrahimi       /* Get the current used size of the three stacks, in elements.  */
1156*287e80b3SSadaf Ebrahimi       YYPTRDIFF_T yysize = yyssp - yyss + 1;
1157*287e80b3SSadaf Ebrahimi 
1158*287e80b3SSadaf Ebrahimi # if defined yyoverflow
1159*287e80b3SSadaf Ebrahimi       {
1160*287e80b3SSadaf Ebrahimi         /* Give user a chance to reallocate the stack.  Use copies of
1161*287e80b3SSadaf Ebrahimi            these so that the &'s don't force the real ones into
1162*287e80b3SSadaf Ebrahimi            memory.  */
1163*287e80b3SSadaf Ebrahimi         yy_state_t *yyss1 = yyss;
1164*287e80b3SSadaf Ebrahimi         YYSTYPE *yyvs1 = yyvs;
1165*287e80b3SSadaf Ebrahimi 
1166*287e80b3SSadaf Ebrahimi         /* Each stack pointer address is followed by the size of the
1167*287e80b3SSadaf Ebrahimi            data in use in that stack, in bytes.  This used to be a
1168*287e80b3SSadaf Ebrahimi            conditional around just the two extra args, but that might
1169*287e80b3SSadaf Ebrahimi            be undefined if yyoverflow is a macro.  */
1170*287e80b3SSadaf Ebrahimi         yyoverflow (YY_("memory exhausted"),
1171*287e80b3SSadaf Ebrahimi                     &yyss1, yysize * YYSIZEOF (*yyssp),
1172*287e80b3SSadaf Ebrahimi                     &yyvs1, yysize * YYSIZEOF (*yyvsp),
1173*287e80b3SSadaf Ebrahimi                     &yystacksize);
1174*287e80b3SSadaf Ebrahimi         yyss = yyss1;
1175*287e80b3SSadaf Ebrahimi         yyvs = yyvs1;
1176*287e80b3SSadaf Ebrahimi       }
1177*287e80b3SSadaf Ebrahimi # else /* defined YYSTACK_RELOCATE */
1178*287e80b3SSadaf Ebrahimi       /* Extend the stack our own way.  */
1179*287e80b3SSadaf Ebrahimi       if (YYMAXDEPTH <= yystacksize)
1180*287e80b3SSadaf Ebrahimi         goto yyexhaustedlab;
1181*287e80b3SSadaf Ebrahimi       yystacksize *= 2;
1182*287e80b3SSadaf Ebrahimi       if (YYMAXDEPTH < yystacksize)
1183*287e80b3SSadaf Ebrahimi         yystacksize = YYMAXDEPTH;
1184*287e80b3SSadaf Ebrahimi 
1185*287e80b3SSadaf Ebrahimi       {
1186*287e80b3SSadaf Ebrahimi         yy_state_t *yyss1 = yyss;
1187*287e80b3SSadaf Ebrahimi         union yyalloc *yyptr =
1188*287e80b3SSadaf Ebrahimi           YY_CAST (union yyalloc *,
1189*287e80b3SSadaf Ebrahimi                    YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
1190*287e80b3SSadaf Ebrahimi         if (! yyptr)
1191*287e80b3SSadaf Ebrahimi           goto yyexhaustedlab;
1192*287e80b3SSadaf Ebrahimi         YYSTACK_RELOCATE (yyss_alloc, yyss);
1193*287e80b3SSadaf Ebrahimi         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
1194*287e80b3SSadaf Ebrahimi #  undef YYSTACK_RELOCATE
1195*287e80b3SSadaf Ebrahimi         if (yyss1 != yyssa)
1196*287e80b3SSadaf Ebrahimi           YYSTACK_FREE (yyss1);
1197*287e80b3SSadaf Ebrahimi       }
1198*287e80b3SSadaf Ebrahimi # endif
1199*287e80b3SSadaf Ebrahimi 
1200*287e80b3SSadaf Ebrahimi       yyssp = yyss + yysize - 1;
1201*287e80b3SSadaf Ebrahimi       yyvsp = yyvs + yysize - 1;
1202*287e80b3SSadaf Ebrahimi 
1203*287e80b3SSadaf Ebrahimi       YY_IGNORE_USELESS_CAST_BEGIN
1204*287e80b3SSadaf Ebrahimi       YYDPRINTF ((stderr, "Stack size increased to %ld\n",
1205*287e80b3SSadaf Ebrahimi                   YY_CAST (long, yystacksize)));
1206*287e80b3SSadaf Ebrahimi       YY_IGNORE_USELESS_CAST_END
1207*287e80b3SSadaf Ebrahimi 
1208*287e80b3SSadaf Ebrahimi       if (yyss + yystacksize - 1 <= yyssp)
1209*287e80b3SSadaf Ebrahimi         YYABORT;
1210*287e80b3SSadaf Ebrahimi     }
1211*287e80b3SSadaf Ebrahimi #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
1212*287e80b3SSadaf Ebrahimi 
1213*287e80b3SSadaf Ebrahimi   if (yystate == YYFINAL)
1214*287e80b3SSadaf Ebrahimi     YYACCEPT;
1215*287e80b3SSadaf Ebrahimi 
1216*287e80b3SSadaf Ebrahimi   goto yybackup;
1217*287e80b3SSadaf Ebrahimi 
1218*287e80b3SSadaf Ebrahimi 
1219*287e80b3SSadaf Ebrahimi /*-----------.
1220*287e80b3SSadaf Ebrahimi | yybackup.  |
1221*287e80b3SSadaf Ebrahimi `-----------*/
1222*287e80b3SSadaf Ebrahimi yybackup:
1223*287e80b3SSadaf Ebrahimi   /* Do appropriate processing given the current state.  Read a
1224*287e80b3SSadaf Ebrahimi      lookahead token if we need one and don't already have one.  */
1225*287e80b3SSadaf Ebrahimi 
1226*287e80b3SSadaf Ebrahimi   /* First try to decide what to do without reference to lookahead token.  */
1227*287e80b3SSadaf Ebrahimi   yyn = yypact[yystate];
1228*287e80b3SSadaf Ebrahimi   if (yypact_value_is_default (yyn))
1229*287e80b3SSadaf Ebrahimi     goto yydefault;
1230*287e80b3SSadaf Ebrahimi 
1231*287e80b3SSadaf Ebrahimi   /* Not known => get a lookahead token if don't already have one.  */
1232*287e80b3SSadaf Ebrahimi 
1233*287e80b3SSadaf Ebrahimi   /* YYCHAR is either empty, or end-of-input, or a valid lookahead.  */
1234*287e80b3SSadaf Ebrahimi   if (yychar == TRACEFS_EMPTY)
1235*287e80b3SSadaf Ebrahimi     {
1236*287e80b3SSadaf Ebrahimi       YYDPRINTF ((stderr, "Reading a token\n"));
1237*287e80b3SSadaf Ebrahimi       yychar = yylex (&yylval, scanner);
1238*287e80b3SSadaf Ebrahimi     }
1239*287e80b3SSadaf Ebrahimi 
1240*287e80b3SSadaf Ebrahimi   if (yychar <= TRACEFS_EOF)
1241*287e80b3SSadaf Ebrahimi     {
1242*287e80b3SSadaf Ebrahimi       yychar = TRACEFS_EOF;
1243*287e80b3SSadaf Ebrahimi       yytoken = YYSYMBOL_YYEOF;
1244*287e80b3SSadaf Ebrahimi       YYDPRINTF ((stderr, "Now at end of input.\n"));
1245*287e80b3SSadaf Ebrahimi     }
1246*287e80b3SSadaf Ebrahimi   else if (yychar == TRACEFS_error)
1247*287e80b3SSadaf Ebrahimi     {
1248*287e80b3SSadaf Ebrahimi       /* The scanner already issued an error message, process directly
1249*287e80b3SSadaf Ebrahimi          to error recovery.  But do not keep the error token as
1250*287e80b3SSadaf Ebrahimi          lookahead, it is too special and may lead us to an endless
1251*287e80b3SSadaf Ebrahimi          loop in error recovery. */
1252*287e80b3SSadaf Ebrahimi       yychar = TRACEFS_UNDEF;
1253*287e80b3SSadaf Ebrahimi       yytoken = YYSYMBOL_YYerror;
1254*287e80b3SSadaf Ebrahimi       goto yyerrlab1;
1255*287e80b3SSadaf Ebrahimi     }
1256*287e80b3SSadaf Ebrahimi   else
1257*287e80b3SSadaf Ebrahimi     {
1258*287e80b3SSadaf Ebrahimi       yytoken = YYTRANSLATE (yychar);
1259*287e80b3SSadaf Ebrahimi       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1260*287e80b3SSadaf Ebrahimi     }
1261*287e80b3SSadaf Ebrahimi 
1262*287e80b3SSadaf Ebrahimi   /* If the proper action on seeing token YYTOKEN is to reduce or to
1263*287e80b3SSadaf Ebrahimi      detect an error, take that action.  */
1264*287e80b3SSadaf Ebrahimi   yyn += yytoken;
1265*287e80b3SSadaf Ebrahimi   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1266*287e80b3SSadaf Ebrahimi     goto yydefault;
1267*287e80b3SSadaf Ebrahimi   yyn = yytable[yyn];
1268*287e80b3SSadaf Ebrahimi   if (yyn <= 0)
1269*287e80b3SSadaf Ebrahimi     {
1270*287e80b3SSadaf Ebrahimi       if (yytable_value_is_error (yyn))
1271*287e80b3SSadaf Ebrahimi         goto yyerrlab;
1272*287e80b3SSadaf Ebrahimi       yyn = -yyn;
1273*287e80b3SSadaf Ebrahimi       goto yyreduce;
1274*287e80b3SSadaf Ebrahimi     }
1275*287e80b3SSadaf Ebrahimi 
1276*287e80b3SSadaf Ebrahimi   /* Count tokens shifted since error; after three, turn off error
1277*287e80b3SSadaf Ebrahimi      status.  */
1278*287e80b3SSadaf Ebrahimi   if (yyerrstatus)
1279*287e80b3SSadaf Ebrahimi     yyerrstatus--;
1280*287e80b3SSadaf Ebrahimi 
1281*287e80b3SSadaf Ebrahimi   /* Shift the lookahead token.  */
1282*287e80b3SSadaf Ebrahimi   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1283*287e80b3SSadaf Ebrahimi   yystate = yyn;
1284*287e80b3SSadaf Ebrahimi   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1285*287e80b3SSadaf Ebrahimi   *++yyvsp = yylval;
1286*287e80b3SSadaf Ebrahimi   YY_IGNORE_MAYBE_UNINITIALIZED_END
1287*287e80b3SSadaf Ebrahimi 
1288*287e80b3SSadaf Ebrahimi   /* Discard the shifted token.  */
1289*287e80b3SSadaf Ebrahimi   yychar = TRACEFS_EMPTY;
1290*287e80b3SSadaf Ebrahimi   goto yynewstate;
1291*287e80b3SSadaf Ebrahimi 
1292*287e80b3SSadaf Ebrahimi 
1293*287e80b3SSadaf Ebrahimi /*-----------------------------------------------------------.
1294*287e80b3SSadaf Ebrahimi | yydefault -- do the default action for the current state.  |
1295*287e80b3SSadaf Ebrahimi `-----------------------------------------------------------*/
1296*287e80b3SSadaf Ebrahimi yydefault:
1297*287e80b3SSadaf Ebrahimi   yyn = yydefact[yystate];
1298*287e80b3SSadaf Ebrahimi   if (yyn == 0)
1299*287e80b3SSadaf Ebrahimi     goto yyerrlab;
1300*287e80b3SSadaf Ebrahimi   goto yyreduce;
1301*287e80b3SSadaf Ebrahimi 
1302*287e80b3SSadaf Ebrahimi 
1303*287e80b3SSadaf Ebrahimi /*-----------------------------.
1304*287e80b3SSadaf Ebrahimi | yyreduce -- do a reduction.  |
1305*287e80b3SSadaf Ebrahimi `-----------------------------*/
1306*287e80b3SSadaf Ebrahimi yyreduce:
1307*287e80b3SSadaf Ebrahimi   /* yyn is the number of a rule to reduce with.  */
1308*287e80b3SSadaf Ebrahimi   yylen = yyr2[yyn];
1309*287e80b3SSadaf Ebrahimi 
1310*287e80b3SSadaf Ebrahimi   /* If YYLEN is nonzero, implement the default value of the action:
1311*287e80b3SSadaf Ebrahimi      '$$ = $1'.
1312*287e80b3SSadaf Ebrahimi 
1313*287e80b3SSadaf Ebrahimi      Otherwise, the following line sets YYVAL to garbage.
1314*287e80b3SSadaf Ebrahimi      This behavior is undocumented and Bison
1315*287e80b3SSadaf Ebrahimi      users should not rely upon it.  Assigning to YYVAL
1316*287e80b3SSadaf Ebrahimi      unconditionally makes the parser a bit smaller, and it avoids a
1317*287e80b3SSadaf Ebrahimi      GCC warning that YYVAL may be used uninitialized.  */
1318*287e80b3SSadaf Ebrahimi   yyval = yyvsp[1-yylen];
1319*287e80b3SSadaf Ebrahimi 
1320*287e80b3SSadaf Ebrahimi 
1321*287e80b3SSadaf Ebrahimi   YY_REDUCE_PRINT (yyn);
1322*287e80b3SSadaf Ebrahimi   switch (yyn)
1323*287e80b3SSadaf Ebrahimi     {
1324*287e80b3SSadaf Ebrahimi   case 3:
1325*287e80b3SSadaf Ebrahimi #line 78 "sqlhist.y"
1326*287e80b3SSadaf Ebrahimi                 { CHECK_RETURN_PTR((yyval.string) = store_str(sb, (yyvsp[0].string))); }
1327*287e80b3SSadaf Ebrahimi #line 1328 "sqlhist.tab.c"
1328*287e80b3SSadaf Ebrahimi     break;
1329*287e80b3SSadaf Ebrahimi 
1330*287e80b3SSadaf Ebrahimi   case 4:
1331*287e80b3SSadaf Ebrahimi #line 79 "sqlhist.y"
1332*287e80b3SSadaf Ebrahimi         { CHECK_RETURN_PTR((yyval.string) = store_str(sb, (yyvsp[0].string))); }
1333*287e80b3SSadaf Ebrahimi #line 1334 "sqlhist.tab.c"
1334*287e80b3SSadaf Ebrahimi     break;
1335*287e80b3SSadaf Ebrahimi 
1336*287e80b3SSadaf Ebrahimi   case 5:
1337*287e80b3SSadaf Ebrahimi #line 82 "sqlhist.y"
1338*287e80b3SSadaf Ebrahimi                  { table_start(sb); }
1339*287e80b3SSadaf Ebrahimi #line 1340 "sqlhist.tab.c"
1340*287e80b3SSadaf Ebrahimi     break;
1341*287e80b3SSadaf Ebrahimi 
1342*287e80b3SSadaf Ebrahimi   case 9:
1343*287e80b3SSadaf Ebrahimi #line 96 "sqlhist.y"
1344*287e80b3SSadaf Ebrahimi                                 {
1345*287e80b3SSadaf Ebrahimi 					CHECK_RETURN_VAL(add_selection(sb, (yyvsp[0].expr), NULL));
1346*287e80b3SSadaf Ebrahimi 				}
1347*287e80b3SSadaf Ebrahimi #line 1348 "sqlhist.tab.c"
1348*287e80b3SSadaf Ebrahimi     break;
1349*287e80b3SSadaf Ebrahimi 
1350*287e80b3SSadaf Ebrahimi   case 10:
1351*287e80b3SSadaf Ebrahimi #line 100 "sqlhist.y"
1352*287e80b3SSadaf Ebrahimi                                 {
1353*287e80b3SSadaf Ebrahimi 					CHECK_RETURN_VAL(add_selection(sb, (yyvsp[-1].expr), (yyvsp[0].string)));
1354*287e80b3SSadaf Ebrahimi 				}
1355*287e80b3SSadaf Ebrahimi #line 1356 "sqlhist.tab.c"
1356*287e80b3SSadaf Ebrahimi     break;
1357*287e80b3SSadaf Ebrahimi 
1358*287e80b3SSadaf Ebrahimi   case 12:
1359*287e80b3SSadaf Ebrahimi #line 107 "sqlhist.y"
1360*287e80b3SSadaf Ebrahimi                                 {  (yyval.expr) = (yyvsp[-1].expr); }
1361*287e80b3SSadaf Ebrahimi #line 1362 "sqlhist.tab.c"
1362*287e80b3SSadaf Ebrahimi     break;
1363*287e80b3SSadaf Ebrahimi 
1364*287e80b3SSadaf Ebrahimi   case 14:
1365*287e80b3SSadaf Ebrahimi #line 109 "sqlhist.y"
1366*287e80b3SSadaf Ebrahimi                                 {  (yyval.expr) = (yyvsp[-1].expr); }
1367*287e80b3SSadaf Ebrahimi #line 1368 "sqlhist.tab.c"
1368*287e80b3SSadaf Ebrahimi     break;
1369*287e80b3SSadaf Ebrahimi 
1370*287e80b3SSadaf Ebrahimi   case 15:
1371*287e80b3SSadaf Ebrahimi #line 110 "sqlhist.y"
1372*287e80b3SSadaf Ebrahimi                                 {
1373*287e80b3SSadaf Ebrahimi 					 (yyval.expr) = add_cast(sb, (yyvsp[-3].expr), (yyvsp[-1].string));
1374*287e80b3SSadaf Ebrahimi 					 CHECK_RETURN_PTR((yyval.expr));
1375*287e80b3SSadaf Ebrahimi 				}
1376*287e80b3SSadaf Ebrahimi #line 1377 "sqlhist.tab.c"
1377*287e80b3SSadaf Ebrahimi     break;
1378*287e80b3SSadaf Ebrahimi 
1379*287e80b3SSadaf Ebrahimi   case 16:
1380*287e80b3SSadaf Ebrahimi #line 118 "sqlhist.y"
1381*287e80b3SSadaf Ebrahimi                                 {
1382*287e80b3SSadaf Ebrahimi 					(yyval.expr) = add_compare(sb, (yyvsp[-2].expr), (yyvsp[0].expr), COMPARE_ADD);
1383*287e80b3SSadaf Ebrahimi 					CHECK_RETURN_PTR((yyval.expr));
1384*287e80b3SSadaf Ebrahimi 				}
1385*287e80b3SSadaf Ebrahimi #line 1386 "sqlhist.tab.c"
1386*287e80b3SSadaf Ebrahimi     break;
1387*287e80b3SSadaf Ebrahimi 
1388*287e80b3SSadaf Ebrahimi   case 17:
1389*287e80b3SSadaf Ebrahimi #line 123 "sqlhist.y"
1390*287e80b3SSadaf Ebrahimi                                 {
1391*287e80b3SSadaf Ebrahimi 					(yyval.expr) = add_compare(sb, (yyvsp[-2].expr), (yyvsp[0].expr), COMPARE_SUB);
1392*287e80b3SSadaf Ebrahimi 					CHECK_RETURN_PTR((yyval.expr));
1393*287e80b3SSadaf Ebrahimi 				}
1394*287e80b3SSadaf Ebrahimi #line 1395 "sqlhist.tab.c"
1395*287e80b3SSadaf Ebrahimi     break;
1396*287e80b3SSadaf Ebrahimi 
1397*287e80b3SSadaf Ebrahimi   case 20:
1398*287e80b3SSadaf Ebrahimi #line 135 "sqlhist.y"
1399*287e80b3SSadaf Ebrahimi                 { (yyval.expr) = add_field(sb, (yyvsp[0].string), NULL); CHECK_RETURN_PTR((yyval.expr)); }
1400*287e80b3SSadaf Ebrahimi #line 1401 "sqlhist.tab.c"
1401*287e80b3SSadaf Ebrahimi     break;
1402*287e80b3SSadaf Ebrahimi 
1403*287e80b3SSadaf Ebrahimi   case 21:
1404*287e80b3SSadaf Ebrahimi #line 139 "sqlhist.y"
1405*287e80b3SSadaf Ebrahimi                { (yyval.expr) = add_field(sb, (yyvsp[-1].string), (yyvsp[0].string)); CHECK_RETURN_PTR((yyval.expr)); }
1406*287e80b3SSadaf Ebrahimi #line 1407 "sqlhist.tab.c"
1407*287e80b3SSadaf Ebrahimi     break;
1408*287e80b3SSadaf Ebrahimi 
1409*287e80b3SSadaf Ebrahimi   case 23:
1410*287e80b3SSadaf Ebrahimi #line 147 "sqlhist.y"
1411*287e80b3SSadaf Ebrahimi                 { (yyval.expr) = add_string(sb, (yyvsp[0].string)); CHECK_RETURN_PTR((yyval.expr)); }
1412*287e80b3SSadaf Ebrahimi #line 1413 "sqlhist.tab.c"
1413*287e80b3SSadaf Ebrahimi     break;
1414*287e80b3SSadaf Ebrahimi 
1415*287e80b3SSadaf Ebrahimi   case 25:
1416*287e80b3SSadaf Ebrahimi #line 152 "sqlhist.y"
1417*287e80b3SSadaf Ebrahimi                 { (yyval.expr) = add_number(sb, (yyvsp[0].number)); CHECK_RETURN_PTR((yyval.expr)); }
1418*287e80b3SSadaf Ebrahimi #line 1419 "sqlhist.tab.c"
1419*287e80b3SSadaf Ebrahimi     break;
1420*287e80b3SSadaf Ebrahimi 
1421*287e80b3SSadaf Ebrahimi   case 26:
1422*287e80b3SSadaf Ebrahimi #line 157 "sqlhist.y"
1423*287e80b3SSadaf Ebrahimi                         { (yyval.expr) = add_filter(sb, (yyvsp[-2].expr), (yyvsp[0].expr), FILTER_LT); CHECK_RETURN_PTR((yyval.expr)); }
1424*287e80b3SSadaf Ebrahimi #line 1425 "sqlhist.tab.c"
1425*287e80b3SSadaf Ebrahimi     break;
1426*287e80b3SSadaf Ebrahimi 
1427*287e80b3SSadaf Ebrahimi   case 27:
1428*287e80b3SSadaf Ebrahimi #line 158 "sqlhist.y"
1429*287e80b3SSadaf Ebrahimi                         { (yyval.expr) = add_filter(sb, (yyvsp[-2].expr), (yyvsp[0].expr), FILTER_GT); CHECK_RETURN_PTR((yyval.expr)); }
1430*287e80b3SSadaf Ebrahimi #line 1431 "sqlhist.tab.c"
1431*287e80b3SSadaf Ebrahimi     break;
1432*287e80b3SSadaf Ebrahimi 
1433*287e80b3SSadaf Ebrahimi   case 28:
1434*287e80b3SSadaf Ebrahimi #line 159 "sqlhist.y"
1435*287e80b3SSadaf Ebrahimi                 { (yyval.expr) = add_filter(sb, (yyvsp[-2].expr), (yyvsp[0].expr), FILTER_LE); CHECK_RETURN_PTR((yyval.expr)); }
1436*287e80b3SSadaf Ebrahimi #line 1437 "sqlhist.tab.c"
1437*287e80b3SSadaf Ebrahimi     break;
1438*287e80b3SSadaf Ebrahimi 
1439*287e80b3SSadaf Ebrahimi   case 29:
1440*287e80b3SSadaf Ebrahimi #line 160 "sqlhist.y"
1441*287e80b3SSadaf Ebrahimi                 { (yyval.expr) = add_filter(sb, (yyvsp[-2].expr), (yyvsp[0].expr), FILTER_GE); CHECK_RETURN_PTR((yyval.expr)); }
1442*287e80b3SSadaf Ebrahimi #line 1443 "sqlhist.tab.c"
1443*287e80b3SSadaf Ebrahimi     break;
1444*287e80b3SSadaf Ebrahimi 
1445*287e80b3SSadaf Ebrahimi   case 30:
1446*287e80b3SSadaf Ebrahimi #line 161 "sqlhist.y"
1447*287e80b3SSadaf Ebrahimi                         { (yyval.expr) = add_filter(sb, (yyvsp[-2].expr), (yyvsp[0].expr), FILTER_EQ); CHECK_RETURN_PTR((yyval.expr)); }
1448*287e80b3SSadaf Ebrahimi #line 1449 "sqlhist.tab.c"
1449*287e80b3SSadaf Ebrahimi     break;
1450*287e80b3SSadaf Ebrahimi 
1451*287e80b3SSadaf Ebrahimi   case 31:
1452*287e80b3SSadaf Ebrahimi #line 162 "sqlhist.y"
1453*287e80b3SSadaf Ebrahimi                 { (yyval.expr) = add_filter(sb, (yyvsp[-2].expr), (yyvsp[0].expr), FILTER_EQ); CHECK_RETURN_PTR((yyval.expr)); }
1454*287e80b3SSadaf Ebrahimi #line 1455 "sqlhist.tab.c"
1455*287e80b3SSadaf Ebrahimi     break;
1456*287e80b3SSadaf Ebrahimi 
1457*287e80b3SSadaf Ebrahimi   case 32:
1458*287e80b3SSadaf Ebrahimi #line 163 "sqlhist.y"
1459*287e80b3SSadaf Ebrahimi                         { (yyval.expr) = add_filter(sb, (yyvsp[-2].expr), (yyvsp[0].expr), FILTER_NE); CHECK_RETURN_PTR((yyval.expr)); }
1460*287e80b3SSadaf Ebrahimi #line 1461 "sqlhist.tab.c"
1461*287e80b3SSadaf Ebrahimi     break;
1462*287e80b3SSadaf Ebrahimi 
1463*287e80b3SSadaf Ebrahimi   case 33:
1464*287e80b3SSadaf Ebrahimi #line 164 "sqlhist.y"
1465*287e80b3SSadaf Ebrahimi                         { (yyval.expr) = add_filter(sb, (yyvsp[-2].expr), (yyvsp[0].expr), FILTER_NE); CHECK_RETURN_PTR((yyval.expr)); }
1466*287e80b3SSadaf Ebrahimi #line 1467 "sqlhist.tab.c"
1467*287e80b3SSadaf Ebrahimi     break;
1468*287e80b3SSadaf Ebrahimi 
1469*287e80b3SSadaf Ebrahimi   case 34:
1470*287e80b3SSadaf Ebrahimi #line 165 "sqlhist.y"
1471*287e80b3SSadaf Ebrahimi                         { (yyval.expr) = add_filter(sb, (yyvsp[-2].expr), (yyvsp[0].expr), FILTER_BIN_AND); CHECK_RETURN_PTR((yyval.expr)); }
1472*287e80b3SSadaf Ebrahimi #line 1473 "sqlhist.tab.c"
1473*287e80b3SSadaf Ebrahimi     break;
1474*287e80b3SSadaf Ebrahimi 
1475*287e80b3SSadaf Ebrahimi   case 35:
1476*287e80b3SSadaf Ebrahimi #line 166 "sqlhist.y"
1477*287e80b3SSadaf Ebrahimi                         { (yyval.expr) = add_filter(sb, (yyvsp[-2].expr), (yyvsp[0].expr), FILTER_STR_CMP); CHECK_RETURN_PTR((yyval.expr)); }
1478*287e80b3SSadaf Ebrahimi #line 1479 "sqlhist.tab.c"
1479*287e80b3SSadaf Ebrahimi     break;
1480*287e80b3SSadaf Ebrahimi 
1481*287e80b3SSadaf Ebrahimi   case 36:
1482*287e80b3SSadaf Ebrahimi #line 170 "sqlhist.y"
1483*287e80b3SSadaf Ebrahimi                                         { (yyval.expr) = add_filter(sb, (yyvsp[-2].expr), (yyvsp[0].expr), FILTER_OR); CHECK_RETURN_PTR((yyval.expr)); }
1484*287e80b3SSadaf Ebrahimi #line 1485 "sqlhist.tab.c"
1485*287e80b3SSadaf Ebrahimi     break;
1486*287e80b3SSadaf Ebrahimi 
1487*287e80b3SSadaf Ebrahimi   case 37:
1488*287e80b3SSadaf Ebrahimi #line 171 "sqlhist.y"
1489*287e80b3SSadaf Ebrahimi                                         { (yyval.expr) = add_filter(sb, (yyvsp[-2].expr), (yyvsp[0].expr), FILTER_AND); CHECK_RETURN_PTR((yyval.expr)); }
1490*287e80b3SSadaf Ebrahimi #line 1491 "sqlhist.tab.c"
1491*287e80b3SSadaf Ebrahimi     break;
1492*287e80b3SSadaf Ebrahimi 
1493*287e80b3SSadaf Ebrahimi   case 38:
1494*287e80b3SSadaf Ebrahimi #line 172 "sqlhist.y"
1495*287e80b3SSadaf Ebrahimi                                         { (yyval.expr) = add_filter(sb, (yyvsp[-1].expr), NULL, FILTER_NOT_GROUP); CHECK_RETURN_PTR((yyval.expr)); }
1496*287e80b3SSadaf Ebrahimi #line 1497 "sqlhist.tab.c"
1497*287e80b3SSadaf Ebrahimi     break;
1498*287e80b3SSadaf Ebrahimi 
1499*287e80b3SSadaf Ebrahimi   case 39:
1500*287e80b3SSadaf Ebrahimi #line 173 "sqlhist.y"
1501*287e80b3SSadaf Ebrahimi                                         { (yyval.expr) = add_filter(sb, (yyvsp[0].expr), NULL, FILTER_NOT_GROUP); CHECK_RETURN_PTR((yyval.expr)); }
1502*287e80b3SSadaf Ebrahimi #line 1503 "sqlhist.tab.c"
1503*287e80b3SSadaf Ebrahimi     break;
1504*287e80b3SSadaf Ebrahimi 
1505*287e80b3SSadaf Ebrahimi   case 41:
1506*287e80b3SSadaf Ebrahimi #line 178 "sqlhist.y"
1507*287e80b3SSadaf Ebrahimi                                         { (yyval.expr) = add_filter(sb, (yyvsp[-2].expr), (yyvsp[0].expr), FILTER_OR); CHECK_RETURN_PTR((yyval.expr)); }
1508*287e80b3SSadaf Ebrahimi #line 1509 "sqlhist.tab.c"
1509*287e80b3SSadaf Ebrahimi     break;
1510*287e80b3SSadaf Ebrahimi 
1511*287e80b3SSadaf Ebrahimi   case 42:
1512*287e80b3SSadaf Ebrahimi #line 179 "sqlhist.y"
1513*287e80b3SSadaf Ebrahimi                                         { (yyval.expr) = add_filter(sb, (yyvsp[-1].expr), NULL, FILTER_GROUP); CHECK_RETURN_PTR((yyval.expr)); }
1514*287e80b3SSadaf Ebrahimi #line 1515 "sqlhist.tab.c"
1515*287e80b3SSadaf Ebrahimi     break;
1516*287e80b3SSadaf Ebrahimi 
1517*287e80b3SSadaf Ebrahimi   case 43:
1518*287e80b3SSadaf Ebrahimi #line 180 "sqlhist.y"
1519*287e80b3SSadaf Ebrahimi                                         { (yyval.expr) = add_filter(sb, (yyvsp[-1].expr), NULL, FILTER_NOT_GROUP); CHECK_RETURN_PTR((yyval.expr)); }
1520*287e80b3SSadaf Ebrahimi #line 1521 "sqlhist.tab.c"
1521*287e80b3SSadaf Ebrahimi     break;
1522*287e80b3SSadaf Ebrahimi 
1523*287e80b3SSadaf Ebrahimi   case 44:
1524*287e80b3SSadaf Ebrahimi #line 181 "sqlhist.y"
1525*287e80b3SSadaf Ebrahimi                                         { (yyval.expr) = add_filter(sb, (yyvsp[0].expr), NULL, FILTER_NOT_GROUP); CHECK_RETURN_PTR((yyval.expr)); }
1526*287e80b3SSadaf Ebrahimi #line 1527 "sqlhist.tab.c"
1527*287e80b3SSadaf Ebrahimi     break;
1528*287e80b3SSadaf Ebrahimi 
1529*287e80b3SSadaf Ebrahimi   case 46:
1530*287e80b3SSadaf Ebrahimi #line 186 "sqlhist.y"
1531*287e80b3SSadaf Ebrahimi                                 { CHECK_RETURN_VAL(add_where(sb, (yyvsp[0].expr))); }
1532*287e80b3SSadaf Ebrahimi #line 1533 "sqlhist.tab.c"
1533*287e80b3SSadaf Ebrahimi     break;
1534*287e80b3SSadaf Ebrahimi 
1535*287e80b3SSadaf Ebrahimi   case 56:
1536*287e80b3SSadaf Ebrahimi #line 219 "sqlhist.y"
1537*287e80b3SSadaf Ebrahimi                         { CHECK_RETURN_VAL(add_from(sb, (yyvsp[0].expr))); }
1538*287e80b3SSadaf Ebrahimi #line 1539 "sqlhist.tab.c"
1539*287e80b3SSadaf Ebrahimi     break;
1540*287e80b3SSadaf Ebrahimi 
1541*287e80b3SSadaf Ebrahimi   case 57:
1542*287e80b3SSadaf Ebrahimi #line 234 "sqlhist.y"
1543*287e80b3SSadaf Ebrahimi                                 { add_to(sb, (yyvsp[-2].expr)); }
1544*287e80b3SSadaf Ebrahimi #line 1545 "sqlhist.tab.c"
1545*287e80b3SSadaf Ebrahimi     break;
1546*287e80b3SSadaf Ebrahimi 
1547*287e80b3SSadaf Ebrahimi   case 58:
1548*287e80b3SSadaf Ebrahimi #line 238 "sqlhist.y"
1549*287e80b3SSadaf Ebrahimi                  { CHECK_RETURN_VAL(add_match(sb, (yyvsp[-2].expr), (yyvsp[0].expr))); }
1550*287e80b3SSadaf Ebrahimi #line 1551 "sqlhist.tab.c"
1551*287e80b3SSadaf Ebrahimi     break;
1552*287e80b3SSadaf Ebrahimi 
1553*287e80b3SSadaf Ebrahimi   case 59:
1554*287e80b3SSadaf Ebrahimi #line 239 "sqlhist.y"
1555*287e80b3SSadaf Ebrahimi                 { CHECK_RETURN_VAL(add_match(sb, (yyvsp[-2].expr), (yyvsp[0].expr))); }
1556*287e80b3SSadaf Ebrahimi #line 1557 "sqlhist.tab.c"
1557*287e80b3SSadaf Ebrahimi     break;
1558*287e80b3SSadaf Ebrahimi 
1559*287e80b3SSadaf Ebrahimi 
1560*287e80b3SSadaf Ebrahimi #line 1561 "sqlhist.tab.c"
1561*287e80b3SSadaf Ebrahimi 
1562*287e80b3SSadaf Ebrahimi       default: break;
1563*287e80b3SSadaf Ebrahimi     }
1564*287e80b3SSadaf Ebrahimi   /* User semantic actions sometimes alter yychar, and that requires
1565*287e80b3SSadaf Ebrahimi      that yytoken be updated with the new translation.  We take the
1566*287e80b3SSadaf Ebrahimi      approach of translating immediately before every use of yytoken.
1567*287e80b3SSadaf Ebrahimi      One alternative is translating here after every semantic action,
1568*287e80b3SSadaf Ebrahimi      but that translation would be missed if the semantic action invokes
1569*287e80b3SSadaf Ebrahimi      YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
1570*287e80b3SSadaf Ebrahimi      if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
1571*287e80b3SSadaf Ebrahimi      incorrect destructor might then be invoked immediately.  In the
1572*287e80b3SSadaf Ebrahimi      case of YYERROR or YYBACKUP, subsequent parser actions might lead
1573*287e80b3SSadaf Ebrahimi      to an incorrect destructor call or verbose syntax error message
1574*287e80b3SSadaf Ebrahimi      before the lookahead is translated.  */
1575*287e80b3SSadaf Ebrahimi   YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
1576*287e80b3SSadaf Ebrahimi 
1577*287e80b3SSadaf Ebrahimi   YYPOPSTACK (yylen);
1578*287e80b3SSadaf Ebrahimi   yylen = 0;
1579*287e80b3SSadaf Ebrahimi 
1580*287e80b3SSadaf Ebrahimi   *++yyvsp = yyval;
1581*287e80b3SSadaf Ebrahimi 
1582*287e80b3SSadaf Ebrahimi   /* Now 'shift' the result of the reduction.  Determine what state
1583*287e80b3SSadaf Ebrahimi      that goes to, based on the state we popped back to and the rule
1584*287e80b3SSadaf Ebrahimi      number reduced by.  */
1585*287e80b3SSadaf Ebrahimi   {
1586*287e80b3SSadaf Ebrahimi     const int yylhs = yyr1[yyn] - YYNTOKENS;
1587*287e80b3SSadaf Ebrahimi     const int yyi = yypgoto[yylhs] + *yyssp;
1588*287e80b3SSadaf Ebrahimi     yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
1589*287e80b3SSadaf Ebrahimi                ? yytable[yyi]
1590*287e80b3SSadaf Ebrahimi                : yydefgoto[yylhs]);
1591*287e80b3SSadaf Ebrahimi   }
1592*287e80b3SSadaf Ebrahimi 
1593*287e80b3SSadaf Ebrahimi   goto yynewstate;
1594*287e80b3SSadaf Ebrahimi 
1595*287e80b3SSadaf Ebrahimi 
1596*287e80b3SSadaf Ebrahimi /*--------------------------------------.
1597*287e80b3SSadaf Ebrahimi | yyerrlab -- here on detecting error.  |
1598*287e80b3SSadaf Ebrahimi `--------------------------------------*/
1599*287e80b3SSadaf Ebrahimi yyerrlab:
1600*287e80b3SSadaf Ebrahimi   /* Make sure we have latest lookahead translation.  See comments at
1601*287e80b3SSadaf Ebrahimi      user semantic actions for why this is necessary.  */
1602*287e80b3SSadaf Ebrahimi   yytoken = yychar == TRACEFS_EMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
1603*287e80b3SSadaf Ebrahimi   /* If not already recovering from an error, report this error.  */
1604*287e80b3SSadaf Ebrahimi   if (!yyerrstatus)
1605*287e80b3SSadaf Ebrahimi     {
1606*287e80b3SSadaf Ebrahimi       ++yynerrs;
1607*287e80b3SSadaf Ebrahimi       yyerror (sb, YY_("syntax error"));
1608*287e80b3SSadaf Ebrahimi     }
1609*287e80b3SSadaf Ebrahimi 
1610*287e80b3SSadaf Ebrahimi   if (yyerrstatus == 3)
1611*287e80b3SSadaf Ebrahimi     {
1612*287e80b3SSadaf Ebrahimi       /* If just tried and failed to reuse lookahead token after an
1613*287e80b3SSadaf Ebrahimi          error, discard it.  */
1614*287e80b3SSadaf Ebrahimi 
1615*287e80b3SSadaf Ebrahimi       if (yychar <= TRACEFS_EOF)
1616*287e80b3SSadaf Ebrahimi         {
1617*287e80b3SSadaf Ebrahimi           /* Return failure if at end of input.  */
1618*287e80b3SSadaf Ebrahimi           if (yychar == TRACEFS_EOF)
1619*287e80b3SSadaf Ebrahimi             YYABORT;
1620*287e80b3SSadaf Ebrahimi         }
1621*287e80b3SSadaf Ebrahimi       else
1622*287e80b3SSadaf Ebrahimi         {
1623*287e80b3SSadaf Ebrahimi           yydestruct ("Error: discarding",
1624*287e80b3SSadaf Ebrahimi                       yytoken, &yylval, sb);
1625*287e80b3SSadaf Ebrahimi           yychar = TRACEFS_EMPTY;
1626*287e80b3SSadaf Ebrahimi         }
1627*287e80b3SSadaf Ebrahimi     }
1628*287e80b3SSadaf Ebrahimi 
1629*287e80b3SSadaf Ebrahimi   /* Else will try to reuse lookahead token after shifting the error
1630*287e80b3SSadaf Ebrahimi      token.  */
1631*287e80b3SSadaf Ebrahimi   goto yyerrlab1;
1632*287e80b3SSadaf Ebrahimi 
1633*287e80b3SSadaf Ebrahimi 
1634*287e80b3SSadaf Ebrahimi /*---------------------------------------------------.
1635*287e80b3SSadaf Ebrahimi | yyerrorlab -- error raised explicitly by YYERROR.  |
1636*287e80b3SSadaf Ebrahimi `---------------------------------------------------*/
1637*287e80b3SSadaf Ebrahimi yyerrorlab:
1638*287e80b3SSadaf Ebrahimi   /* Pacify compilers when the user code never invokes YYERROR and the
1639*287e80b3SSadaf Ebrahimi      label yyerrorlab therefore never appears in user code.  */
1640*287e80b3SSadaf Ebrahimi   if (0)
1641*287e80b3SSadaf Ebrahimi     YYERROR;
1642*287e80b3SSadaf Ebrahimi 
1643*287e80b3SSadaf Ebrahimi   /* Do not reclaim the symbols of the rule whose action triggered
1644*287e80b3SSadaf Ebrahimi      this YYERROR.  */
1645*287e80b3SSadaf Ebrahimi   YYPOPSTACK (yylen);
1646*287e80b3SSadaf Ebrahimi   yylen = 0;
1647*287e80b3SSadaf Ebrahimi   YY_STACK_PRINT (yyss, yyssp);
1648*287e80b3SSadaf Ebrahimi   yystate = *yyssp;
1649*287e80b3SSadaf Ebrahimi   goto yyerrlab1;
1650*287e80b3SSadaf Ebrahimi 
1651*287e80b3SSadaf Ebrahimi 
1652*287e80b3SSadaf Ebrahimi /*-------------------------------------------------------------.
1653*287e80b3SSadaf Ebrahimi | yyerrlab1 -- common code for both syntax error and YYERROR.  |
1654*287e80b3SSadaf Ebrahimi `-------------------------------------------------------------*/
1655*287e80b3SSadaf Ebrahimi yyerrlab1:
1656*287e80b3SSadaf Ebrahimi   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
1657*287e80b3SSadaf Ebrahimi 
1658*287e80b3SSadaf Ebrahimi   /* Pop stack until we find a state that shifts the error token.  */
1659*287e80b3SSadaf Ebrahimi   for (;;)
1660*287e80b3SSadaf Ebrahimi     {
1661*287e80b3SSadaf Ebrahimi       yyn = yypact[yystate];
1662*287e80b3SSadaf Ebrahimi       if (!yypact_value_is_default (yyn))
1663*287e80b3SSadaf Ebrahimi         {
1664*287e80b3SSadaf Ebrahimi           yyn += YYSYMBOL_YYerror;
1665*287e80b3SSadaf Ebrahimi           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
1666*287e80b3SSadaf Ebrahimi             {
1667*287e80b3SSadaf Ebrahimi               yyn = yytable[yyn];
1668*287e80b3SSadaf Ebrahimi               if (0 < yyn)
1669*287e80b3SSadaf Ebrahimi                 break;
1670*287e80b3SSadaf Ebrahimi             }
1671*287e80b3SSadaf Ebrahimi         }
1672*287e80b3SSadaf Ebrahimi 
1673*287e80b3SSadaf Ebrahimi       /* Pop the current state because it cannot handle the error token.  */
1674*287e80b3SSadaf Ebrahimi       if (yyssp == yyss)
1675*287e80b3SSadaf Ebrahimi         YYABORT;
1676*287e80b3SSadaf Ebrahimi 
1677*287e80b3SSadaf Ebrahimi 
1678*287e80b3SSadaf Ebrahimi       yydestruct ("Error: popping",
1679*287e80b3SSadaf Ebrahimi                   YY_ACCESSING_SYMBOL (yystate), yyvsp, sb);
1680*287e80b3SSadaf Ebrahimi       YYPOPSTACK (1);
1681*287e80b3SSadaf Ebrahimi       yystate = *yyssp;
1682*287e80b3SSadaf Ebrahimi       YY_STACK_PRINT (yyss, yyssp);
1683*287e80b3SSadaf Ebrahimi     }
1684*287e80b3SSadaf Ebrahimi 
1685*287e80b3SSadaf Ebrahimi   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1686*287e80b3SSadaf Ebrahimi   *++yyvsp = yylval;
1687*287e80b3SSadaf Ebrahimi   YY_IGNORE_MAYBE_UNINITIALIZED_END
1688*287e80b3SSadaf Ebrahimi 
1689*287e80b3SSadaf Ebrahimi 
1690*287e80b3SSadaf Ebrahimi   /* Shift the error token.  */
1691*287e80b3SSadaf Ebrahimi   YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
1692*287e80b3SSadaf Ebrahimi 
1693*287e80b3SSadaf Ebrahimi   yystate = yyn;
1694*287e80b3SSadaf Ebrahimi   goto yynewstate;
1695*287e80b3SSadaf Ebrahimi 
1696*287e80b3SSadaf Ebrahimi 
1697*287e80b3SSadaf Ebrahimi /*-------------------------------------.
1698*287e80b3SSadaf Ebrahimi | yyacceptlab -- YYACCEPT comes here.  |
1699*287e80b3SSadaf Ebrahimi `-------------------------------------*/
1700*287e80b3SSadaf Ebrahimi yyacceptlab:
1701*287e80b3SSadaf Ebrahimi   yyresult = 0;
1702*287e80b3SSadaf Ebrahimi   goto yyreturn;
1703*287e80b3SSadaf Ebrahimi 
1704*287e80b3SSadaf Ebrahimi 
1705*287e80b3SSadaf Ebrahimi /*-----------------------------------.
1706*287e80b3SSadaf Ebrahimi | yyabortlab -- YYABORT comes here.  |
1707*287e80b3SSadaf Ebrahimi `-----------------------------------*/
1708*287e80b3SSadaf Ebrahimi yyabortlab:
1709*287e80b3SSadaf Ebrahimi   yyresult = 1;
1710*287e80b3SSadaf Ebrahimi   goto yyreturn;
1711*287e80b3SSadaf Ebrahimi 
1712*287e80b3SSadaf Ebrahimi 
1713*287e80b3SSadaf Ebrahimi #if !defined yyoverflow
1714*287e80b3SSadaf Ebrahimi /*-------------------------------------------------.
1715*287e80b3SSadaf Ebrahimi | yyexhaustedlab -- memory exhaustion comes here.  |
1716*287e80b3SSadaf Ebrahimi `-------------------------------------------------*/
1717*287e80b3SSadaf Ebrahimi yyexhaustedlab:
1718*287e80b3SSadaf Ebrahimi   yyerror (sb, YY_("memory exhausted"));
1719*287e80b3SSadaf Ebrahimi   yyresult = 2;
1720*287e80b3SSadaf Ebrahimi   /* Fall through.  */
1721*287e80b3SSadaf Ebrahimi #endif
1722*287e80b3SSadaf Ebrahimi 
1723*287e80b3SSadaf Ebrahimi 
1724*287e80b3SSadaf Ebrahimi /*-----------------------------------------------------.
1725*287e80b3SSadaf Ebrahimi | yyreturn -- parsing is finished, return the result.  |
1726*287e80b3SSadaf Ebrahimi `-----------------------------------------------------*/
1727*287e80b3SSadaf Ebrahimi yyreturn:
1728*287e80b3SSadaf Ebrahimi   if (yychar != TRACEFS_EMPTY)
1729*287e80b3SSadaf Ebrahimi     {
1730*287e80b3SSadaf Ebrahimi       /* Make sure we have latest lookahead translation.  See comments at
1731*287e80b3SSadaf Ebrahimi          user semantic actions for why this is necessary.  */
1732*287e80b3SSadaf Ebrahimi       yytoken = YYTRANSLATE (yychar);
1733*287e80b3SSadaf Ebrahimi       yydestruct ("Cleanup: discarding lookahead",
1734*287e80b3SSadaf Ebrahimi                   yytoken, &yylval, sb);
1735*287e80b3SSadaf Ebrahimi     }
1736*287e80b3SSadaf Ebrahimi   /* Do not reclaim the symbols of the rule whose action triggered
1737*287e80b3SSadaf Ebrahimi      this YYABORT or YYACCEPT.  */
1738*287e80b3SSadaf Ebrahimi   YYPOPSTACK (yylen);
1739*287e80b3SSadaf Ebrahimi   YY_STACK_PRINT (yyss, yyssp);
1740*287e80b3SSadaf Ebrahimi   while (yyssp != yyss)
1741*287e80b3SSadaf Ebrahimi     {
1742*287e80b3SSadaf Ebrahimi       yydestruct ("Cleanup: popping",
1743*287e80b3SSadaf Ebrahimi                   YY_ACCESSING_SYMBOL (+*yyssp), yyvsp, sb);
1744*287e80b3SSadaf Ebrahimi       YYPOPSTACK (1);
1745*287e80b3SSadaf Ebrahimi     }
1746*287e80b3SSadaf Ebrahimi #ifndef yyoverflow
1747*287e80b3SSadaf Ebrahimi   if (yyss != yyssa)
1748*287e80b3SSadaf Ebrahimi     YYSTACK_FREE (yyss);
1749*287e80b3SSadaf Ebrahimi #endif
1750*287e80b3SSadaf Ebrahimi 
1751*287e80b3SSadaf Ebrahimi   return yyresult;
1752*287e80b3SSadaf Ebrahimi }
1753*287e80b3SSadaf Ebrahimi 
1754*287e80b3SSadaf Ebrahimi #line 248 "sqlhist.y"
1755*287e80b3SSadaf Ebrahimi 
1756