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