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_Y_TAB_H_INCLUDED
34 # define YY_YY_Y_TAB_H_INCLUDED
35 /* Debug traces.  */
36 #ifndef YYDEBUG
37 # define YYDEBUG 0
38 #endif
39 #if YYDEBUG
40 extern int yydebug;
41 #endif
42 
43 /* Token type.  */
44 #ifndef YYTOKENTYPE
45 # define YYTOKENTYPE
46   enum yytokentype
47   {
48     ID = 258,
49     HBLOCK = 259,
50     POUND = 260,
51     STRING = 261,
52     WSTRING = 262,
53     INCLUDE = 263,
54     IMPORT = 264,
55     INSERT = 265,
56     CHARCONST = 266,
57     WCHARCONST = 267,
58     NUM_INT = 268,
59     NUM_FLOAT = 269,
60     NUM_UNSIGNED = 270,
61     NUM_LONG = 271,
62     NUM_ULONG = 272,
63     NUM_LONGLONG = 273,
64     NUM_ULONGLONG = 274,
65     NUM_BOOL = 275,
66     TYPEDEF = 276,
67     TYPE_INT = 277,
68     TYPE_UNSIGNED = 278,
69     TYPE_SHORT = 279,
70     TYPE_LONG = 280,
71     TYPE_FLOAT = 281,
72     TYPE_DOUBLE = 282,
73     TYPE_CHAR = 283,
74     TYPE_WCHAR = 284,
75     TYPE_VOID = 285,
76     TYPE_SIGNED = 286,
77     TYPE_BOOL = 287,
78     TYPE_COMPLEX = 288,
79     TYPE_TYPEDEF = 289,
80     TYPE_RAW = 290,
81     TYPE_NON_ISO_INT8 = 291,
82     TYPE_NON_ISO_INT16 = 292,
83     TYPE_NON_ISO_INT32 = 293,
84     TYPE_NON_ISO_INT64 = 294,
85     LPAREN = 295,
86     RPAREN = 296,
87     COMMA = 297,
88     SEMI = 298,
89     EXTERN = 299,
90     INIT = 300,
91     LBRACE = 301,
92     RBRACE = 302,
93     PERIOD = 303,
94     CONST_QUAL = 304,
95     VOLATILE = 305,
96     REGISTER = 306,
97     STRUCT = 307,
98     UNION = 308,
99     EQUAL = 309,
100     SIZEOF = 310,
101     MODULE = 311,
102     LBRACKET = 312,
103     RBRACKET = 313,
104     BEGINFILE = 314,
105     ENDOFFILE = 315,
106     ILLEGAL = 316,
107     CONSTANT = 317,
108     NAME = 318,
109     RENAME = 319,
110     NAMEWARN = 320,
111     EXTEND = 321,
112     PRAGMA = 322,
113     FEATURE = 323,
114     VARARGS = 324,
115     ENUM = 325,
116     CLASS = 326,
117     TYPENAME = 327,
118     PRIVATE = 328,
119     PUBLIC = 329,
120     PROTECTED = 330,
121     COLON = 331,
122     STATIC = 332,
123     VIRTUAL = 333,
124     FRIEND = 334,
125     THROW = 335,
126     CATCH = 336,
127     EXPLICIT = 337,
128     STATIC_ASSERT = 338,
129     CONSTEXPR = 339,
130     THREAD_LOCAL = 340,
131     DECLTYPE = 341,
132     AUTO = 342,
133     NOEXCEPT = 343,
134     OVERRIDE = 344,
135     FINAL = 345,
136     USING = 346,
137     NAMESPACE = 347,
138     NATIVE = 348,
139     INLINE = 349,
140     TYPEMAP = 350,
141     EXCEPT = 351,
142     ECHO = 352,
143     APPLY = 353,
144     CLEAR = 354,
145     SWIGTEMPLATE = 355,
146     FRAGMENT = 356,
147     WARN = 357,
148     LESSTHAN = 358,
149     GREATERTHAN = 359,
150     DELETE_KW = 360,
151     DEFAULT = 361,
152     LESSTHANOREQUALTO = 362,
153     GREATERTHANOREQUALTO = 363,
154     EQUALTO = 364,
155     NOTEQUALTO = 365,
156     ARROW = 366,
157     QUESTIONMARK = 367,
158     TYPES = 368,
159     PARMS = 369,
160     NONID = 370,
161     DSTAR = 371,
162     DCNOT = 372,
163     TEMPLATE = 373,
164     OPERATOR = 374,
165     CONVERSIONOPERATOR = 375,
166     PARSETYPE = 376,
167     PARSEPARM = 377,
168     PARSEPARMS = 378,
169     DOXYGENSTRING = 379,
170     DOXYGENPOSTSTRING = 380,
171     CAST = 381,
172     LOR = 382,
173     LAND = 383,
174     OR = 384,
175     XOR = 385,
176     AND = 386,
177     LSHIFT = 387,
178     RSHIFT = 388,
179     PLUS = 389,
180     MINUS = 390,
181     STAR = 391,
182     SLASH = 392,
183     MODULO = 393,
184     UMINUS = 394,
185     NOT = 395,
186     LNOT = 396,
187     DCOLON = 397
188   };
189 #endif
190 /* Tokens.  */
191 #define ID 258
192 #define HBLOCK 259
193 #define POUND 260
194 #define STRING 261
195 #define WSTRING 262
196 #define INCLUDE 263
197 #define IMPORT 264
198 #define INSERT 265
199 #define CHARCONST 266
200 #define WCHARCONST 267
201 #define NUM_INT 268
202 #define NUM_FLOAT 269
203 #define NUM_UNSIGNED 270
204 #define NUM_LONG 271
205 #define NUM_ULONG 272
206 #define NUM_LONGLONG 273
207 #define NUM_ULONGLONG 274
208 #define NUM_BOOL 275
209 #define TYPEDEF 276
210 #define TYPE_INT 277
211 #define TYPE_UNSIGNED 278
212 #define TYPE_SHORT 279
213 #define TYPE_LONG 280
214 #define TYPE_FLOAT 281
215 #define TYPE_DOUBLE 282
216 #define TYPE_CHAR 283
217 #define TYPE_WCHAR 284
218 #define TYPE_VOID 285
219 #define TYPE_SIGNED 286
220 #define TYPE_BOOL 287
221 #define TYPE_COMPLEX 288
222 #define TYPE_TYPEDEF 289
223 #define TYPE_RAW 290
224 #define TYPE_NON_ISO_INT8 291
225 #define TYPE_NON_ISO_INT16 292
226 #define TYPE_NON_ISO_INT32 293
227 #define TYPE_NON_ISO_INT64 294
228 #define LPAREN 295
229 #define RPAREN 296
230 #define COMMA 297
231 #define SEMI 298
232 #define EXTERN 299
233 #define INIT 300
234 #define LBRACE 301
235 #define RBRACE 302
236 #define PERIOD 303
237 #define CONST_QUAL 304
238 #define VOLATILE 305
239 #define REGISTER 306
240 #define STRUCT 307
241 #define UNION 308
242 #define EQUAL 309
243 #define SIZEOF 310
244 #define MODULE 311
245 #define LBRACKET 312
246 #define RBRACKET 313
247 #define BEGINFILE 314
248 #define ENDOFFILE 315
249 #define ILLEGAL 316
250 #define CONSTANT 317
251 #define NAME 318
252 #define RENAME 319
253 #define NAMEWARN 320
254 #define EXTEND 321
255 #define PRAGMA 322
256 #define FEATURE 323
257 #define VARARGS 324
258 #define ENUM 325
259 #define CLASS 326
260 #define TYPENAME 327
261 #define PRIVATE 328
262 #define PUBLIC 329
263 #define PROTECTED 330
264 #define COLON 331
265 #define STATIC 332
266 #define VIRTUAL 333
267 #define FRIEND 334
268 #define THROW 335
269 #define CATCH 336
270 #define EXPLICIT 337
271 #define STATIC_ASSERT 338
272 #define CONSTEXPR 339
273 #define THREAD_LOCAL 340
274 #define DECLTYPE 341
275 #define AUTO 342
276 #define NOEXCEPT 343
277 #define OVERRIDE 344
278 #define FINAL 345
279 #define USING 346
280 #define NAMESPACE 347
281 #define NATIVE 348
282 #define INLINE 349
283 #define TYPEMAP 350
284 #define EXCEPT 351
285 #define ECHO 352
286 #define APPLY 353
287 #define CLEAR 354
288 #define SWIGTEMPLATE 355
289 #define FRAGMENT 356
290 #define WARN 357
291 #define LESSTHAN 358
292 #define GREATERTHAN 359
293 #define DELETE_KW 360
294 #define DEFAULT 361
295 #define LESSTHANOREQUALTO 362
296 #define GREATERTHANOREQUALTO 363
297 #define EQUALTO 364
298 #define NOTEQUALTO 365
299 #define ARROW 366
300 #define QUESTIONMARK 367
301 #define TYPES 368
302 #define PARMS 369
303 #define NONID 370
304 #define DSTAR 371
305 #define DCNOT 372
306 #define TEMPLATE 373
307 #define OPERATOR 374
308 #define CONVERSIONOPERATOR 375
309 #define PARSETYPE 376
310 #define PARSEPARM 377
311 #define PARSEPARMS 378
312 #define DOXYGENSTRING 379
313 #define DOXYGENPOSTSTRING 380
314 #define CAST 381
315 #define LOR 382
316 #define LAND 383
317 #define OR 384
318 #define XOR 385
319 #define AND 386
320 #define LSHIFT 387
321 #define RSHIFT 388
322 #define PLUS 389
323 #define MINUS 390
324 #define STAR 391
325 #define SLASH 392
326 #define MODULO 393
327 #define UMINUS 394
328 #define NOT 395
329 #define LNOT 396
330 #define DCOLON 397
331 
332 /* Value type.  */
333 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
334 
335 union YYSTYPE
336 {
337 #line 1542 "parser.y" /* yacc.c:1909  */
338 
339   const char  *id;
340   List  *bases;
341   struct Define {
342     String *val;
343     String *rawval;
344     int     type;
345     String *qualifier;
346     String *refqualifier;
347     String *bitfield;
348     Parm   *throws;
349     String *throwf;
350     String *nexcept;
351     String *final;
352   } dtype;
353   struct {
354     const char *type;
355     String *filename;
356     int   line;
357   } loc;
358   struct {
359     char      *id;
360     SwigType  *type;
361     String    *defarg;
362     ParmList  *parms;
363     short      have_parms;
364     ParmList  *throws;
365     String    *throwf;
366     String    *nexcept;
367     String    *final;
368   } decl;
369   Parm         *tparms;
370   struct {
371     String     *method;
372     Hash       *kwargs;
373   } tmap;
374   struct {
375     String     *type;
376     String     *us;
377   } ptype;
378   SwigType     *type;
379   String       *str;
380   Parm         *p;
381   ParmList     *pl;
382   int           intvalue;
383   Node         *node;
384 
385 #line 386 "y.tab.h" /* yacc.c:1909  */
386 };
387 
388 typedef union YYSTYPE YYSTYPE;
389 # define YYSTYPE_IS_TRIVIAL 1
390 # define YYSTYPE_IS_DECLARED 1
391 #endif
392 
393 
394 extern YYSTYPE yylval;
395 
396 int yyparse (void);
397 
398 #endif /* !YY_YY_Y_TAB_H_INCLUDED  */
399