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