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