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_YY_THRIFT_THRIFTY_HH_INCLUDED
34 # define YY_YY_THRIFT_THRIFTY_HH_INCLUDED
35 /* Debug traces.  */
36 #ifndef YYDEBUG
37 # define YYDEBUG 0
38 #endif
39 #if YYDEBUG
40 extern int yydebug;
41 #endif
42 /* "%code requires" blocks.  */
43 #line 1 "thrift/thrifty.yy" /* yacc.c:1909  */
44 
45 #include "thrift/parse/t_program.h"
46 
47 #line 48 "thrift/thrifty.hh" /* yacc.c:1909  */
48 
49 /* Token type.  */
50 #ifndef YYTOKENTYPE
51 # define YYTOKENTYPE
52   enum yytokentype
53   {
54     tok_identifier = 258,
55     tok_literal = 259,
56     tok_doctext = 260,
57     tok_int_constant = 261,
58     tok_dub_constant = 262,
59     tok_include = 263,
60     tok_namespace = 264,
61     tok_cpp_include = 265,
62     tok_cpp_type = 266,
63     tok_xsd_all = 267,
64     tok_xsd_optional = 268,
65     tok_xsd_nillable = 269,
66     tok_xsd_attrs = 270,
67     tok_void = 271,
68     tok_bool = 272,
69     tok_string = 273,
70     tok_binary = 274,
71     tok_slist = 275,
72     tok_senum = 276,
73     tok_i8 = 277,
74     tok_i16 = 278,
75     tok_i32 = 279,
76     tok_i64 = 280,
77     tok_double = 281,
78     tok_map = 282,
79     tok_list = 283,
80     tok_set = 284,
81     tok_oneway = 285,
82     tok_typedef = 286,
83     tok_struct = 287,
84     tok_xception = 288,
85     tok_throws = 289,
86     tok_extends = 290,
87     tok_service = 291,
88     tok_enum = 292,
89     tok_const = 293,
90     tok_required = 294,
91     tok_optional = 295,
92     tok_union = 296,
93     tok_reference = 297
94   };
95 #endif
96 /* Tokens.  */
97 #define tok_identifier 258
98 #define tok_literal 259
99 #define tok_doctext 260
100 #define tok_int_constant 261
101 #define tok_dub_constant 262
102 #define tok_include 263
103 #define tok_namespace 264
104 #define tok_cpp_include 265
105 #define tok_cpp_type 266
106 #define tok_xsd_all 267
107 #define tok_xsd_optional 268
108 #define tok_xsd_nillable 269
109 #define tok_xsd_attrs 270
110 #define tok_void 271
111 #define tok_bool 272
112 #define tok_string 273
113 #define tok_binary 274
114 #define tok_slist 275
115 #define tok_senum 276
116 #define tok_i8 277
117 #define tok_i16 278
118 #define tok_i32 279
119 #define tok_i64 280
120 #define tok_double 281
121 #define tok_map 282
122 #define tok_list 283
123 #define tok_set 284
124 #define tok_oneway 285
125 #define tok_typedef 286
126 #define tok_struct 287
127 #define tok_xception 288
128 #define tok_throws 289
129 #define tok_extends 290
130 #define tok_service 291
131 #define tok_enum 292
132 #define tok_const 293
133 #define tok_required 294
134 #define tok_optional 295
135 #define tok_union 296
136 #define tok_reference 297
137 
138 /* Value type.  */
139 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
140 
141 union YYSTYPE
142 {
143 #line 82 "thrift/thrifty.yy" /* yacc.c:1909  */
144 
145   char*          id;
146   int64_t        iconst;
147   double         dconst;
148   bool           tbool;
149   t_doc*         tdoc;
150   t_type*        ttype;
151   t_base_type*   tbase;
152   t_typedef*     ttypedef;
153   t_enum*        tenum;
154   t_enum_value*  tenumv;
155   t_const*       tconst;
156   t_const_value* tconstv;
157   t_struct*      tstruct;
158   t_service*     tservice;
159   t_function*    tfunction;
160   t_field*       tfield;
161   char*          dtext;
162   t_field::e_req ereq;
163   t_annotation*  tannot;
164   t_field_id     tfieldid;
165 
166 #line 167 "thrift/thrifty.hh" /* yacc.c:1909  */
167 };
168 
169 typedef union YYSTYPE YYSTYPE;
170 # define YYSTYPE_IS_TRIVIAL 1
171 # define YYSTYPE_IS_DECLARED 1
172 #endif
173 
174 
175 extern YYSTYPE yylval;
176 
177 int yyparse (void);
178 
179 #endif /* !YY_YY_THRIFT_THRIFTY_HH_INCLUDED  */
180