Add support for query key extraction
[com/gs-lite.git] / src / ftacmp / fta.tab.cc.h
1 /* A Bison parser, made by GNU Bison 3.0.4.  */
2
3 /* Bison interface for Yacc-like parsers in C
4
5    Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
6
7    This program is free software: you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation, either version 3 of the License, or
10    (at your option) any later version.
11
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    You should have received a copy of the GNU General Public License
18    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19
20 /* As a special exception, you may create a larger work that contains
21    part or all of the Bison parser skeleton and distribute that work
22    under terms of your choice, so long as that work isn't itself a
23    parser generator using the skeleton or a modified version thereof
24    as a parser skeleton.  Alternatively, if you modify or redistribute
25    the parser skeleton itself, you may (at your option) remove this
26    special exception, which will cause the skeleton and the resulting
27    Bison output files to be licensed under the GNU General Public
28    License without this special exception.
29
30    This special exception was added by the Free Software Foundation in
31    version 2.2 of Bison.  */
32
33 #ifndef YY_FTAPARSER_FTA_TAB_CC_H_INCLUDED
34 # define YY_FTAPARSER_FTA_TAB_CC_H_INCLUDED
35 /* Debug traces.  */
36 #ifndef YYDEBUG
37 # define YYDEBUG 0
38 #endif
39 #if YYDEBUG
40 extern int FtaParserdebug;
41 #endif
42
43 /* Token type.  */
44 #ifndef YYTOKENTYPE
45 # define YYTOKENTYPE
46   enum yytokentype
47   {
48     NAME = 258,
49     STRING_TOKEN = 259,
50     INTNUM = 260,
51     LONGINTNUM = 261,
52     APPROXNUM = 262,
53     OR = 263,
54     AND = 264,
55     NOT = 265,
56     COMPARISON = 266,
57     SHIFT_OP = 267,
58     UMINUS = 268,
59     SEMICOLON = 269,
60     LEFTBRACE = 270,
61     RIGHTBRACE = 271,
62     BY = 272,
63     AS = 273,
64     AGGR = 274,
65     FROM = 275,
66     INNER_JOIN = 276,
67     FILTER_JOIN = 277,
68     OUTER_JOIN = 278,
69     LEFT_OUTER_JOIN = 279,
70     RIGHT_OUTER_JOIN = 280,
71     GROUP = 281,
72     HAVING = 282,
73     IN = 283,
74     SELECT = 284,
75     WHERE = 285,
76     SUPERGROUP = 286,
77     CLEANING_WHEN = 287,
78     CLEANING_BY = 288,
79     CLOSING_WHEN = 289,
80     SUCH = 290,
81     THAT = 291,
82     CUBE = 292,
83     ROLLUP = 293,
84     GROUPING_SETS = 294,
85     TRUE_V = 295,
86     FALSE_V = 296,
87     TIMEVAL_L = 297,
88     HEX_L = 298,
89     LHEX_L = 299,
90     IP_L = 300,
91     IPV6_L = 301,
92     MERGE = 302,
93     SLACK = 303,
94     DEFINE_SEC = 304,
95     PARAM_SEC = 305,
96     PROTOCOL = 306,
97     TABLE = 307,
98     STREAM = 308,
99     FTA = 309,
100     UNPACK_FCNS = 310,
101     OPERATOR = 311,
102     OPERATOR_VIEW = 312,
103     FIELDS = 313,
104     SUBQUERIES = 314,
105     SELECTION_PUSHDOWN = 315
106   };
107 #endif
108
109 /* Value type.  */
110 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
111
112 union YYSTYPE
113 {
114 #line 52 "fta.y" /* yacc.c:1909  */
115
116         int intval;
117         double floatval;
118         char *strval;
119         int subtok;
120
121         string_t *stringval;
122
123 /*                      for FTA definition.     */
124         literal_t *litval;
125         scalarexp_t *scalarval;
126         se_list_t *se_listval;
127         select_list_t *select_listval;
128         table_exp_t *tblp;
129         predicate_t *predp;
130         literal_list_t *lit_l;
131         tablevar_t *table;
132         tablevar_list_t *tbl_list;
133         colref_t *colref;
134         ifpref_t *ifpref;
135         colref_list_t *clist;
136         var_defs_t *var_defs;
137         var_pair_t *var_pair;
138         gb_t *gb_val;
139         gb_list_t *gb_list;
140         list_of_gb_list_t *list_of_gb_list;
141         extended_gb_t *extended_gb;
142         extended_gb_list_t *extended_gb_list;
143
144         query_list_t *q_list;
145
146 /*              For table definition    */
147         field_entry *field_t;
148         field_entry_list *field_list_t;
149         table_def *table_def_t;
150         table_list *table_list_schema;
151         param_list *plist_t;
152         name_vec  *namevec_t;
153         subquery_spec *subq_spec_t;
154         subqueryspec_list *subqueryspec_list_t;
155         unpack_fcn      *ufcn;
156         unpack_fcn_list *ufcnl;
157
158
159 #line 160 "fta.tab.cc.h" /* yacc.c:1909  */
160 };
161
162 typedef union YYSTYPE YYSTYPE;
163 # define YYSTYPE_IS_TRIVIAL 1
164 # define YYSTYPE_IS_DECLARED 1
165 #endif
166
167
168 extern YYSTYPE FtaParserlval;
169
170 int FtaParserparse (void);
171
172 #endif /* !YY_FTAPARSER_FTA_TAB_CC_H_INCLUDED  */