Ruby  2.5.0dev(2017-10-22revision60238)
parse.h
Go to the documentation of this file.
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 {
45  keyword_def = 260,
50  keyword_end = 265,
51  keyword_if = 266,
53  keyword_then = 268,
55  keyword_else = 270,
56  keyword_case = 271,
57  keyword_when = 272,
60  keyword_for = 275,
62  keyword_next = 277,
63  keyword_redo = 278,
65  keyword_in = 280,
66  keyword_do = 281,
73  keyword_self = 288,
74  keyword_nil = 289,
75  keyword_true = 290,
77  keyword_and = 292,
78  keyword_or = 293,
79  keyword_not = 294,
80  modifier_if = 295,
88  keyword_END = 303,
92  tIDENTIFIER = 307,
93  tFID = 308,
94  tGVAR = 309,
95  tIVAR = 310,
96  tCONSTANT = 311,
97  tCVAR = 312,
98  tLABEL = 313,
99  tINTEGER = 314,
100  tFLOAT = 315,
101  tRATIONAL = 316,
102  tIMAGINARY = 317,
104  tCHAR = 319,
105  tNTH_REF = 320,
106  tBACK_REF = 321,
107  tREGEXP_END = 322,
108  tUPLUS = 130,
109  tUMINUS = 131,
110  tPOW = 132,
111  tCMP = 133,
112  tEQ = 138,
113  tEQQ = 139,
114  tNEQ = 140,
115  tGEQ = 137,
116  tLEQ = 136,
117  tANDOP = 146,
118  tOROP = 147,
119  tMATCH = 141,
120  tNMATCH = 142,
121  tDOT2 = 128,
122  tDOT3 = 129,
123  tAREF = 143,
124  tASET = 144,
125  tLSHFT = 134,
126  tRSHFT = 135,
127  tANDDOT = 148,
128  tCOLON2 = 145,
129  tCOLON3 = 323,
130  tOP_ASGN = 324,
131  tASSOC = 325,
132  tLPAREN = 326,
133  tLPAREN_ARG = 327,
134  tRPAREN = 328,
135  tLBRACK = 329,
136  tLBRACE = 330,
137  tLBRACE_ARG = 331,
138  tSTAR = 332,
139  tDSTAR = 333,
140  tAMPER = 334,
141  tLAMBDA = 335,
142  tSYMBEG = 336,
143  tSTRING_BEG = 337,
145  tREGEXP_BEG = 339,
146  tWORDS_BEG = 340,
147  tQWORDS_BEG = 341,
153  tSTRING_END = 347,
154  tLAMBEG = 348,
155  tLABEL_END = 349,
156  tLOWEST = 350,
157  tUMINUS_NUM = 351,
159  };
160 #endif
161 /* Tokens. */
162 #define END_OF_INPUT 0
163 #define keyword_class 258
164 #define keyword_module 259
165 #define keyword_def 260
166 #define keyword_undef 261
167 #define keyword_begin 262
168 #define keyword_rescue 263
169 #define keyword_ensure 264
170 #define keyword_end 265
171 #define keyword_if 266
172 #define keyword_unless 267
173 #define keyword_then 268
174 #define keyword_elsif 269
175 #define keyword_else 270
176 #define keyword_case 271
177 #define keyword_when 272
178 #define keyword_while 273
179 #define keyword_until 274
180 #define keyword_for 275
181 #define keyword_break 276
182 #define keyword_next 277
183 #define keyword_redo 278
184 #define keyword_retry 279
185 #define keyword_in 280
186 #define keyword_do 281
187 #define keyword_do_cond 282
188 #define keyword_do_block 283
189 #define keyword_do_LAMBDA 284
190 #define keyword_return 285
191 #define keyword_yield 286
192 #define keyword_super 287
193 #define keyword_self 288
194 #define keyword_nil 289
195 #define keyword_true 290
196 #define keyword_false 291
197 #define keyword_and 292
198 #define keyword_or 293
199 #define keyword_not 294
200 #define modifier_if 295
201 #define modifier_unless 296
202 #define modifier_while 297
203 #define modifier_until 298
204 #define modifier_rescue 299
205 #define keyword_alias 300
206 #define keyword_defined 301
207 #define keyword_BEGIN 302
208 #define keyword_END 303
209 #define keyword__LINE__ 304
210 #define keyword__FILE__ 305
211 #define keyword__ENCODING__ 306
212 #define tIDENTIFIER 307
213 #define tFID 308
214 #define tGVAR 309
215 #define tIVAR 310
216 #define tCONSTANT 311
217 #define tCVAR 312
218 #define tLABEL 313
219 #define tINTEGER 314
220 #define tFLOAT 315
221 #define tRATIONAL 316
222 #define tIMAGINARY 317
223 #define tSTRING_CONTENT 318
224 #define tCHAR 319
225 #define tNTH_REF 320
226 #define tBACK_REF 321
227 #define tREGEXP_END 322
228 #define tUPLUS 130
229 #define tUMINUS 131
230 #define tPOW 132
231 #define tCMP 133
232 #define tEQ 138
233 #define tEQQ 139
234 #define tNEQ 140
235 #define tGEQ 137
236 #define tLEQ 136
237 #define tANDOP 146
238 #define tOROP 147
239 #define tMATCH 141
240 #define tNMATCH 142
241 #define tDOT2 128
242 #define tDOT3 129
243 #define tAREF 143
244 #define tASET 144
245 #define tLSHFT 134
246 #define tRSHFT 135
247 #define tANDDOT 148
248 #define tCOLON2 145
249 #define tCOLON3 323
250 #define tOP_ASGN 324
251 #define tASSOC 325
252 #define tLPAREN 326
253 #define tLPAREN_ARG 327
254 #define tRPAREN 328
255 #define tLBRACK 329
256 #define tLBRACE 330
257 #define tLBRACE_ARG 331
258 #define tSTAR 332
259 #define tDSTAR 333
260 #define tAMPER 334
261 #define tLAMBDA 335
262 #define tSYMBEG 336
263 #define tSTRING_BEG 337
264 #define tXSTRING_BEG 338
265 #define tREGEXP_BEG 339
266 #define tWORDS_BEG 340
267 #define tQWORDS_BEG 341
268 #define tSYMBOLS_BEG 342
269 #define tQSYMBOLS_BEG 343
270 #define tSTRING_DBEG 344
271 #define tSTRING_DEND 345
272 #define tSTRING_DVAR 346
273 #define tSTRING_END 347
274 #define tLAMBEG 348
275 #define tLABEL_END 349
276 #define tLOWEST 350
277 #define tUMINUS_NUM 351
278 #define tLAST_TOKEN 352
279 
280 
281 
282 
283 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
284 typedef union YYSTYPE
285 {
289  int num;
290  const struct vtable *vars;
291 }
292 /* Line 1529 of yacc.c. */
293  YYSTYPE;
294 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
295 # define YYSTYPE_IS_DECLARED 1
296 # define YYSTYPE_IS_TRIVIAL 1
297 #endif
298 
299 
300 
301 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
302 typedef struct YYLTYPE
303 {
308 } YYLTYPE;
309 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
310 # define YYLTYPE_IS_DECLARED 1
311 # define YYLTYPE_IS_TRIVIAL 1
312 #endif
313 
314 
#define keyword_yield
Definition: parse.h:191
VALUE val
Definition: parse.h:286
#define tLSHFT
Definition: parse.h:245
#define keyword__LINE__
Definition: parse.h:209
#define tCVAR
Definition: parse.h:217
#define keyword__FILE__
Definition: parse.h:210
#define tLAMBDA
Definition: parse.h:261
#define keyword_while
Definition: parse.h:178
int num
Definition: parse.h:289
#define keyword_and
Definition: parse.h:197
#define tNTH_REF
Definition: parse.h:225
#define tCHAR
Definition: parse.h:224
#define tASET
Definition: parse.h:244
#define tLABEL
Definition: parse.h:218
#define keyword_do_cond
Definition: parse.h:187
#define tMATCH
Definition: parse.h:239
#define tSTRING_DVAR
Definition: parse.h:272
#define keyword_begin
Definition: parse.h:167
#define keyword_BEGIN
Definition: parse.h:207
#define tLAMBEG
Definition: parse.h:274
#define tLPAREN_ARG
Definition: parse.h:253
#define tRSHFT
Definition: parse.h:246
union YYSTYPE YYSTYPE
#define keyword_false
Definition: parse.h:196
NODE * node
Definition: parse.h:287
#define tFLOAT
Definition: parse.h:220
#define keyword_until
Definition: parse.h:179
ID id
Definition: parse.h:288
#define keyword_do_block
Definition: parse.h:188
#define keyword__ENCODING__
Definition: parse.h:211
#define keyword_not
Definition: parse.h:199
int first_column
Definition: parse.h:305
#define keyword_or
Definition: parse.h:198
#define keyword_def
Definition: parse.h:165
#define tAMPER
Definition: parse.h:260
#define tNMATCH
Definition: parse.h:240
#define tCOLON3
Definition: parse.h:249
Definition: parse.h:302
#define tDOT3
Definition: parse.h:242
#define tUPLUS
Definition: parse.h:228
#define tLBRACE_ARG
Definition: parse.h:257
#define keyword_for
Definition: parse.h:180
#define keyword_defined
Definition: parse.h:206
#define tSTRING_BEG
Definition: parse.h:263
#define tIMAGINARY
Definition: parse.h:222
#define keyword_elsif
Definition: parse.h:174
Definition: node.h:233
#define tRPAREN
Definition: parse.h:254
Definition: parse.h:284
#define tNEQ
Definition: parse.h:234
#define tCOLON2
Definition: parse.h:248
#define tUMINUS_NUM
Definition: parse.h:277
#define tLEQ
Definition: parse.h:236
#define keyword_rescue
Definition: parse.h:168
#define tSTRING_DEND
Definition: parse.h:271
#define tASSOC
Definition: parse.h:251
#define tCONSTANT
Definition: parse.h:216
#define keyword_then
Definition: parse.h:173
#define END_OF_INPUT
Definition: parse.h:162
#define tCMP
Definition: parse.h:231
#define tIDENTIFIER
Definition: parse.h:212
#define tQWORDS_BEG
Definition: parse.h:267
#define keyword_undef
Definition: parse.h:166
#define tFID
Definition: parse.h:213
#define tLOWEST
Definition: parse.h:276
#define keyword_class
Definition: parse.h:163
#define tIVAR
Definition: parse.h:215
#define tLPAREN
Definition: parse.h:252
#define keyword_retry
Definition: parse.h:184
#define tOROP
Definition: parse.h:238
#define tGVAR
Definition: parse.h:214
#define keyword_true
Definition: parse.h:195
#define keyword_self
Definition: parse.h:193
#define tSTAR
Definition: parse.h:258
#define keyword_unless
Definition: parse.h:172
#define modifier_if
Definition: parse.h:200
int last_column
Definition: parse.h:307
#define tGEQ
Definition: parse.h:235
#define keyword_case
Definition: parse.h:176
#define keyword_ensure
Definition: parse.h:169
unsigned long ID
Definition: ruby.h:86
#define modifier_until
Definition: parse.h:203
#define tSTRING_END
Definition: parse.h:273
int last_line
Definition: parse.h:306
unsigned long VALUE
Definition: ruby.h:85
#define tAREF
Definition: parse.h:243
#define tLABEL_END
Definition: parse.h:275
#define keyword_else
Definition: parse.h:175
#define keyword_nil
Definition: parse.h:194
#define tWORDS_BEG
Definition: parse.h:266
#define keyword_end
Definition: parse.h:170
#define keyword_in
Definition: parse.h:185
#define keyword_do
Definition: parse.h:186
#define tDSTAR
Definition: parse.h:259
#define tDOT2
Definition: parse.h:241
#define tEQQ
Definition: parse.h:233
#define keyword_redo
Definition: parse.h:183
#define keyword_if
Definition: parse.h:171
#define keyword_do_LAMBDA
Definition: parse.h:189
const struct vtable * vars
Definition: parse.h:290
#define tSYMBOLS_BEG
Definition: parse.h:268
struct YYLTYPE YYLTYPE
yytokentype
Definition: ripper.c:68
#define modifier_while
Definition: parse.h:202
#define modifier_rescue
Definition: parse.h:204
#define tQSYMBOLS_BEG
Definition: parse.h:269
#define keyword_next
Definition: parse.h:182
#define tUMINUS
Definition: parse.h:229
#define tBACK_REF
Definition: parse.h:226
#define keyword_when
Definition: parse.h:177
#define tLAST_TOKEN
Definition: parse.h:278
#define keyword_END
Definition: parse.h:208
int first_line
Definition: parse.h:304
#define tREGEXP_BEG
Definition: parse.h:265
Definition: ripper.c:432
#define keyword_module
Definition: parse.h:164
#define tSTRING_CONTENT
Definition: parse.h:223
#define modifier_unless
Definition: parse.h:201
#define tLBRACE
Definition: parse.h:256
#define tRATIONAL
Definition: parse.h:221
#define tSTRING_DBEG
Definition: parse.h:270
#define tOP_ASGN
Definition: parse.h:250
#define tANDDOT
Definition: parse.h:247
#define tLBRACK
Definition: parse.h:255
#define tEQ
Definition: parse.h:232
#define keyword_return
Definition: parse.h:190
#define tINTEGER
Definition: parse.h:219
#define tREGEXP_END
Definition: parse.h:227
#define keyword_super
Definition: parse.h:192
#define tXSTRING_BEG
Definition: parse.h:264
#define keyword_alias
Definition: parse.h:205
#define keyword_break
Definition: parse.h:181
#define tSYMBEG
Definition: parse.h:262
#define tANDOP
Definition: parse.h:237
#define tPOW
Definition: parse.h:230