Ruby  2.0.0p247(2013-06-27revision41674)
parse.h
Go to the documentation of this file.
00001 /* A Bison parser, made by GNU Bison 2.3.  */
00002 
00003 /* Skeleton interface for Bison's Yacc-like parsers in C
00004 
00005    Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
00006    Free Software Foundation, Inc.
00007 
00008    This program is free software; you can redistribute it and/or modify
00009    it under the terms of the GNU General Public License as published by
00010    the Free Software Foundation; either version 2, or (at your option)
00011    any later version.
00012 
00013    This program is distributed in the hope that it will be useful,
00014    but WITHOUT ANY WARRANTY; without even the implied warranty of
00015    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016    GNU General Public License for more details.
00017 
00018    You should have received a copy of the GNU General Public License
00019    along with this program; if not, write to the Free Software
00020    Foundation, Inc., 51 Franklin Street, Fifth Floor,
00021    Boston, MA 02110-1301, USA.  */
00022 
00023 /* As a special exception, you may create a larger work that contains
00024    part or all of the Bison parser skeleton and distribute that work
00025    under terms of your choice, so long as that work isn't itself a
00026    parser generator using the skeleton or a modified version thereof
00027    as a parser skeleton.  Alternatively, if you modify or redistribute
00028    the parser skeleton itself, you may (at your option) remove this
00029    special exception, which will cause the skeleton and the resulting
00030    Bison output files to be licensed under the GNU General Public
00031    License without this special exception.
00032 
00033    This special exception was added by the Free Software Foundation in
00034    version 2.2 of Bison.  */
00035 
00036 /* Tokens.  */
00037 #ifndef YYTOKENTYPE
00038 # define YYTOKENTYPE
00039    /* Put the tokens into the symbol table, so that GDB and other debuggers
00040       know about them.  */
00041    enum yytokentype {
00042      END_OF_INPUT = 0,
00043      keyword_class = 258,
00044      keyword_module = 259,
00045      keyword_def = 260,
00046      keyword_undef = 261,
00047      keyword_begin = 262,
00048      keyword_rescue = 263,
00049      keyword_ensure = 264,
00050      keyword_end = 265,
00051      keyword_if = 266,
00052      keyword_unless = 267,
00053      keyword_then = 268,
00054      keyword_elsif = 269,
00055      keyword_else = 270,
00056      keyword_case = 271,
00057      keyword_when = 272,
00058      keyword_while = 273,
00059      keyword_until = 274,
00060      keyword_for = 275,
00061      keyword_break = 276,
00062      keyword_next = 277,
00063      keyword_redo = 278,
00064      keyword_retry = 279,
00065      keyword_in = 280,
00066      keyword_do = 281,
00067      keyword_do_cond = 282,
00068      keyword_do_block = 283,
00069      keyword_do_LAMBDA = 284,
00070      keyword_return = 285,
00071      keyword_yield = 286,
00072      keyword_super = 287,
00073      keyword_self = 288,
00074      keyword_nil = 289,
00075      keyword_true = 290,
00076      keyword_false = 291,
00077      keyword_and = 292,
00078      keyword_or = 293,
00079      keyword_not = 294,
00080      modifier_if = 295,
00081      modifier_unless = 296,
00082      modifier_while = 297,
00083      modifier_until = 298,
00084      modifier_rescue = 299,
00085      keyword_alias = 300,
00086      keyword_defined = 301,
00087      keyword_BEGIN = 302,
00088      keyword_END = 303,
00089      keyword__LINE__ = 304,
00090      keyword__FILE__ = 305,
00091      keyword__ENCODING__ = 306,
00092      tIDENTIFIER = 307,
00093      tFID = 308,
00094      tGVAR = 309,
00095      tIVAR = 310,
00096      tCONSTANT = 311,
00097      tCVAR = 312,
00098      tLABEL = 313,
00099      tINTEGER = 314,
00100      tFLOAT = 315,
00101      tSTRING_CONTENT = 316,
00102      tCHAR = 317,
00103      tNTH_REF = 318,
00104      tBACK_REF = 319,
00105      tREGEXP_END = 320,
00106      tUPLUS = 130,
00107      tUMINUS = 131,
00108      tPOW = 132,
00109      tCMP = 134,
00110      tEQ = 139,
00111      tEQQ = 140,
00112      tNEQ = 141,
00113      tGEQ = 138,
00114      tLEQ = 137,
00115      tANDOP = 321,
00116      tOROP = 322,
00117      tMATCH = 142,
00118      tNMATCH = 143,
00119      tDOT2 = 128,
00120      tDOT3 = 129,
00121      tAREF = 144,
00122      tASET = 145,
00123      tLSHFT = 135,
00124      tRSHFT = 136,
00125      tCOLON2 = 323,
00126      tCOLON3 = 324,
00127      tOP_ASGN = 325,
00128      tASSOC = 326,
00129      tLPAREN = 327,
00130      tLPAREN_ARG = 328,
00131      tRPAREN = 329,
00132      tLBRACK = 330,
00133      tLBRACE = 331,
00134      tLBRACE_ARG = 332,
00135      tSTAR = 333,
00136      tDSTAR = 334,
00137      tAMPER = 335,
00138      tLAMBDA = 336,
00139      tSYMBEG = 337,
00140      tSTRING_BEG = 338,
00141      tXSTRING_BEG = 339,
00142      tREGEXP_BEG = 340,
00143      tWORDS_BEG = 341,
00144      tQWORDS_BEG = 342,
00145      tSYMBOLS_BEG = 343,
00146      tQSYMBOLS_BEG = 344,
00147      tSTRING_DBEG = 345,
00148      tSTRING_DEND = 346,
00149      tSTRING_DVAR = 347,
00150      tSTRING_END = 348,
00151      tLAMBEG = 349,
00152      tLOWEST = 350,
00153      tUMINUS_NUM = 351,
00154      tLAST_TOKEN = 352
00155    };
00156 #endif
00157 /* Tokens.  */
00158 #define END_OF_INPUT 0
00159 #define keyword_class 258
00160 #define keyword_module 259
00161 #define keyword_def 260
00162 #define keyword_undef 261
00163 #define keyword_begin 262
00164 #define keyword_rescue 263
00165 #define keyword_ensure 264
00166 #define keyword_end 265
00167 #define keyword_if 266
00168 #define keyword_unless 267
00169 #define keyword_then 268
00170 #define keyword_elsif 269
00171 #define keyword_else 270
00172 #define keyword_case 271
00173 #define keyword_when 272
00174 #define keyword_while 273
00175 #define keyword_until 274
00176 #define keyword_for 275
00177 #define keyword_break 276
00178 #define keyword_next 277
00179 #define keyword_redo 278
00180 #define keyword_retry 279
00181 #define keyword_in 280
00182 #define keyword_do 281
00183 #define keyword_do_cond 282
00184 #define keyword_do_block 283
00185 #define keyword_do_LAMBDA 284
00186 #define keyword_return 285
00187 #define keyword_yield 286
00188 #define keyword_super 287
00189 #define keyword_self 288
00190 #define keyword_nil 289
00191 #define keyword_true 290
00192 #define keyword_false 291
00193 #define keyword_and 292
00194 #define keyword_or 293
00195 #define keyword_not 294
00196 #define modifier_if 295
00197 #define modifier_unless 296
00198 #define modifier_while 297
00199 #define modifier_until 298
00200 #define modifier_rescue 299
00201 #define keyword_alias 300
00202 #define keyword_defined 301
00203 #define keyword_BEGIN 302
00204 #define keyword_END 303
00205 #define keyword__LINE__ 304
00206 #define keyword__FILE__ 305
00207 #define keyword__ENCODING__ 306
00208 #define tIDENTIFIER 307
00209 #define tFID 308
00210 #define tGVAR 309
00211 #define tIVAR 310
00212 #define tCONSTANT 311
00213 #define tCVAR 312
00214 #define tLABEL 313
00215 #define tINTEGER 314
00216 #define tFLOAT 315
00217 #define tSTRING_CONTENT 316
00218 #define tCHAR 317
00219 #define tNTH_REF 318
00220 #define tBACK_REF 319
00221 #define tREGEXP_END 320
00222 #define tUPLUS 130
00223 #define tUMINUS 131
00224 #define tPOW 132
00225 #define tCMP 134
00226 #define tEQ 139
00227 #define tEQQ 140
00228 #define tNEQ 141
00229 #define tGEQ 138
00230 #define tLEQ 137
00231 #define tANDOP 321
00232 #define tOROP 322
00233 #define tMATCH 142
00234 #define tNMATCH 143
00235 #define tDOT2 128
00236 #define tDOT3 129
00237 #define tAREF 144
00238 #define tASET 145
00239 #define tLSHFT 135
00240 #define tRSHFT 136
00241 #define tCOLON2 323
00242 #define tCOLON3 324
00243 #define tOP_ASGN 325
00244 #define tASSOC 326
00245 #define tLPAREN 327
00246 #define tLPAREN_ARG 328
00247 #define tRPAREN 329
00248 #define tLBRACK 330
00249 #define tLBRACE 331
00250 #define tLBRACE_ARG 332
00251 #define tSTAR 333
00252 #define tDSTAR 334
00253 #define tAMPER 335
00254 #define tLAMBDA 336
00255 #define tSYMBEG 337
00256 #define tSTRING_BEG 338
00257 #define tXSTRING_BEG 339
00258 #define tREGEXP_BEG 340
00259 #define tWORDS_BEG 341
00260 #define tQWORDS_BEG 342
00261 #define tSYMBOLS_BEG 343
00262 #define tQSYMBOLS_BEG 344
00263 #define tSTRING_DBEG 345
00264 #define tSTRING_DEND 346
00265 #define tSTRING_DVAR 347
00266 #define tSTRING_END 348
00267 #define tLAMBEG 349
00268 #define tLOWEST 350
00269 #define tUMINUS_NUM 351
00270 #define tLAST_TOKEN 352
00271 
00272 
00273 
00274 
00275 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
00276 typedef union YYSTYPE
00277 {
00278     VALUE val;
00279     NODE *node;
00280     ID id;
00281     int num;
00282     const struct vtable *vars;
00283 }
00284 /* Line 1489 of yacc.c.  */
00285         YYSTYPE;
00286 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
00287 # define YYSTYPE_IS_DECLARED 1
00288 # define YYSTYPE_IS_TRIVIAL 1
00289 #endif
00290 
00291 
00292 
00293