yarp 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -47,9 +47,9 @@ module YARP
47
47
  Ripper::PARSER_EVENT_TABLE.each do |event, arity|
48
48
  case event
49
49
  when /_new\z/
50
- alias :"on_#{event}" :_dispatch_event_new if arity == 0
50
+ alias_method :"on_#{event}", :_dispatch_event_new if arity == 0
51
51
  when /_add\z/
52
- alias :"on_#{event}" :_dispatch_event_push
52
+ alias_method :"on_#{event}", :_dispatch_event_push
53
53
  end
54
54
  end
55
55
  end
@@ -168,7 +168,7 @@ module YARP
168
168
  def _dispatch7(_, _, _, _, _, _, _); end
169
169
 
170
170
  (Ripper::SCANNER_EVENT_TABLE.merge(Ripper::PARSER_EVENT_TABLE)).each do |event, arity|
171
- alias :"on_#{event}" :"_dispatch#{arity}"
171
+ alias_method :"on_#{event}", :"_dispatch#{arity}"
172
172
  end
173
173
  end
174
174
  end
@@ -20,39 +20,63 @@ end
20
20
 
21
21
  module YARP
22
22
  module Serialize
23
+ MAJOR_VERSION = 0
24
+ MINOR_VERSION = 7
25
+ PATCH_VERSION = 0
26
+
23
27
  def self.load(input, serialized)
24
- io = StringIO.new(serialized)
25
- io.set_encoding(Encoding::BINARY)
28
+ Loader.new(Source.new(input), serialized).load
29
+ end
26
30
 
27
- Loader.new(input, serialized, io).load
31
+ def self.load_tokens(source, serialized)
32
+ Loader.new(source, serialized).load_tokens
28
33
  end
29
34
 
30
35
  class Loader
31
36
  attr_reader :encoding, :input, :serialized, :io
32
37
  attr_reader :constant_pool_offset, :constant_pool, :source
33
38
 
34
- def initialize(input, serialized, io)
39
+ def initialize(source, serialized)
35
40
  @encoding = Encoding::UTF_8
36
41
 
37
- @input = input.dup
42
+ @input = source.source.dup
38
43
  @serialized = serialized
39
- @io = io
44
+ @io = StringIO.new(serialized)
45
+ @io.set_encoding(Encoding::BINARY)
40
46
 
41
47
  @constant_pool_offset = nil
42
48
  @constant_pool = nil
43
49
 
44
- offsets = [0]
45
- input.b.scan("\n") { offsets << $~.end(0) }
46
- @source = Source.new(input, offsets)
50
+ @source = source
51
+ end
52
+
53
+ def load_tokens
54
+ tokens = []
55
+ while type = TOKEN_TYPES.fetch(load_varint)
56
+ start = load_varint
57
+ length = load_varint
58
+ lex_state = load_varint
59
+ location = Location.new(@source, start, length)
60
+ tokens << [YARP::Token.new(type, location.slice, location), lex_state]
61
+ end
62
+
63
+ comments = load_varint.times.map { Comment.new(Comment::TYPES.fetch(load_varint), load_location) }
64
+ errors = load_varint.times.map { ParseError.new(load_string, load_location) }
65
+ warnings = load_varint.times.map { ParseWarning.new(load_string, load_location) }
66
+
67
+ raise "Expected to consume all bytes while deserializing" unless @io.eof?
68
+
69
+ YARP::ParseResult.new(tokens, comments, errors, warnings, @source)
47
70
  end
48
71
 
49
72
  def load
50
73
  raise "Invalid serialization" if io.read(4) != "YARP"
51
- raise "Invalid serialization" if io.read(3).unpack("C3") != [0, 6, 0]
74
+ raise "Invalid serialization" if io.read(3).unpack("C3") != [MAJOR_VERSION, MINOR_VERSION, PATCH_VERSION]
52
75
 
53
76
  @encoding = Encoding.find(io.read(load_varint))
54
77
  @input = input.force_encoding(@encoding).freeze
55
78
 
79
+ comments = load_varint.times.map { Comment.new(Comment::TYPES.fetch(io.getbyte), load_location) }
56
80
  errors = load_varint.times.map { ParseError.new(load_string, load_location) }
57
81
  warnings = load_varint.times.map { ParseWarning.new(load_string, load_location) }
58
82
 
@@ -61,7 +85,7 @@ module YARP
61
85
 
62
86
  ast = load_node
63
87
 
64
- YARP::ParseResult.new(ast, [], errors, warnings, @source)
88
+ YARP::ParseResult.new(ast, comments, errors, warnings, @source)
65
89
  end
66
90
 
67
91
  private
@@ -219,171 +243,340 @@ module YARP
219
243
  when 45 then
220
244
  FindPatternNode.new(load_optional_node, load_node, Array.new(load_varint) { load_node }, load_node, load_optional_location, load_optional_location, location)
221
245
  when 46 then
222
- FloatNode.new(location)
246
+ FlipFlopNode.new(load_optional_node, load_optional_node, load_location, load_varint, location)
223
247
  when 47 then
224
- ForNode.new(load_node, load_node, load_optional_node, load_location, load_location, load_optional_location, load_location, location)
248
+ FloatNode.new(location)
225
249
  when 48 then
226
- ForwardingArgumentsNode.new(location)
250
+ ForNode.new(load_node, load_node, load_optional_node, load_location, load_location, load_optional_location, load_location, location)
227
251
  when 49 then
228
- ForwardingParameterNode.new(location)
252
+ ForwardingArgumentsNode.new(location)
229
253
  when 50 then
230
- ForwardingSuperNode.new(load_optional_node, location)
254
+ ForwardingParameterNode.new(location)
231
255
  when 51 then
232
- GlobalVariableOperatorAndWriteNode.new(load_location, load_location, load_node, location)
256
+ ForwardingSuperNode.new(load_optional_node, location)
233
257
  when 52 then
234
- GlobalVariableOperatorOrWriteNode.new(load_location, load_location, load_node, location)
258
+ GlobalVariableOperatorAndWriteNode.new(load_location, load_location, load_node, location)
235
259
  when 53 then
236
- GlobalVariableOperatorWriteNode.new(load_location, load_location, load_node, load_constant, location)
260
+ GlobalVariableOperatorOrWriteNode.new(load_location, load_location, load_node, location)
237
261
  when 54 then
238
- GlobalVariableReadNode.new(location)
262
+ GlobalVariableOperatorWriteNode.new(load_location, load_location, load_node, load_constant, location)
239
263
  when 55 then
240
- GlobalVariableWriteNode.new(load_location, load_optional_location, load_optional_node, location)
264
+ GlobalVariableReadNode.new(location)
241
265
  when 56 then
242
- HashNode.new(load_location, Array.new(load_varint) { load_node }, load_location, location)
266
+ GlobalVariableWriteNode.new(load_location, load_optional_location, load_optional_node, location)
243
267
  when 57 then
244
- HashPatternNode.new(load_optional_node, Array.new(load_varint) { load_node }, load_optional_node, load_optional_location, load_optional_location, location)
268
+ HashNode.new(load_location, Array.new(load_varint) { load_node }, load_location, location)
245
269
  when 58 then
246
- IfNode.new(load_optional_location, load_node, load_optional_node, load_optional_node, load_optional_location, location)
270
+ HashPatternNode.new(load_optional_node, Array.new(load_varint) { load_node }, load_optional_node, load_optional_location, load_optional_location, location)
247
271
  when 59 then
248
- ImaginaryNode.new(load_node, location)
272
+ IfNode.new(load_optional_location, load_node, load_optional_node, load_optional_node, load_optional_location, location)
249
273
  when 60 then
250
- InNode.new(load_node, load_optional_node, load_location, load_optional_location, location)
274
+ ImaginaryNode.new(load_node, location)
251
275
  when 61 then
252
- InstanceVariableOperatorAndWriteNode.new(load_location, load_location, load_node, location)
276
+ InNode.new(load_node, load_optional_node, load_location, load_optional_location, location)
253
277
  when 62 then
254
- InstanceVariableOperatorOrWriteNode.new(load_location, load_location, load_node, location)
278
+ InstanceVariableOperatorAndWriteNode.new(load_location, load_location, load_node, location)
255
279
  when 63 then
256
- InstanceVariableOperatorWriteNode.new(load_location, load_location, load_node, load_constant, location)
280
+ InstanceVariableOperatorOrWriteNode.new(load_location, load_location, load_node, location)
257
281
  when 64 then
258
- InstanceVariableReadNode.new(location)
282
+ InstanceVariableOperatorWriteNode.new(load_location, load_location, load_node, load_constant, location)
259
283
  when 65 then
260
- InstanceVariableWriteNode.new(load_location, load_optional_node, load_optional_location, location)
284
+ InstanceVariableReadNode.new(location)
261
285
  when 66 then
262
- IntegerNode.new(location)
286
+ InstanceVariableWriteNode.new(load_location, load_optional_node, load_optional_location, location)
263
287
  when 67 then
264
- InterpolatedRegularExpressionNode.new(load_location, Array.new(load_varint) { load_node }, load_location, load_varint, location)
288
+ IntegerNode.new(location)
265
289
  when 68 then
266
- InterpolatedStringNode.new(load_optional_location, Array.new(load_varint) { load_node }, load_optional_location, location)
290
+ InterpolatedRegularExpressionNode.new(load_location, Array.new(load_varint) { load_node }, load_location, load_varint, location)
267
291
  when 69 then
268
- InterpolatedSymbolNode.new(load_optional_location, Array.new(load_varint) { load_node }, load_optional_location, location)
292
+ InterpolatedStringNode.new(load_optional_location, Array.new(load_varint) { load_node }, load_optional_location, location)
269
293
  when 70 then
270
- InterpolatedXStringNode.new(load_location, Array.new(load_varint) { load_node }, load_location, location)
294
+ InterpolatedSymbolNode.new(load_optional_location, Array.new(load_varint) { load_node }, load_optional_location, location)
271
295
  when 71 then
272
- KeywordHashNode.new(Array.new(load_varint) { load_node }, location)
296
+ InterpolatedXStringNode.new(load_location, Array.new(load_varint) { load_node }, load_location, location)
273
297
  when 72 then
274
- KeywordParameterNode.new(load_location, load_optional_node, location)
298
+ KeywordHashNode.new(Array.new(load_varint) { load_node }, location)
275
299
  when 73 then
276
- KeywordRestParameterNode.new(load_location, load_optional_location, location)
300
+ KeywordParameterNode.new(load_location, load_optional_node, location)
277
301
  when 74 then
278
- LambdaNode.new(Array.new(load_varint) { load_constant }, load_location, load_optional_node, load_optional_node, location)
302
+ KeywordRestParameterNode.new(load_location, load_optional_location, location)
279
303
  when 75 then
280
- LocalVariableOperatorAndWriteNode.new(load_location, load_location, load_node, load_constant, location)
304
+ LambdaNode.new(Array.new(load_varint) { load_constant }, load_location, load_optional_node, load_optional_node, location)
281
305
  when 76 then
282
- LocalVariableOperatorOrWriteNode.new(load_location, load_location, load_node, load_constant, location)
306
+ LocalVariableOperatorAndWriteNode.new(load_location, load_location, load_node, load_constant, location)
283
307
  when 77 then
284
- LocalVariableOperatorWriteNode.new(load_location, load_location, load_node, load_constant, load_constant, location)
308
+ LocalVariableOperatorOrWriteNode.new(load_location, load_location, load_node, load_constant, location)
285
309
  when 78 then
286
- LocalVariableReadNode.new(load_constant, load_varint, location)
310
+ LocalVariableOperatorWriteNode.new(load_location, load_location, load_node, load_constant, load_constant, location)
287
311
  when 79 then
288
- LocalVariableWriteNode.new(load_constant, load_varint, load_optional_node, load_location, load_optional_location, location)
312
+ LocalVariableReadNode.new(load_constant, load_varint, location)
289
313
  when 80 then
290
- MatchPredicateNode.new(load_node, load_node, load_location, location)
314
+ LocalVariableWriteNode.new(load_constant, load_varint, load_optional_node, load_location, load_optional_location, location)
291
315
  when 81 then
292
- MatchRequiredNode.new(load_node, load_node, load_location, location)
316
+ MatchPredicateNode.new(load_node, load_node, load_location, location)
293
317
  when 82 then
294
- MissingNode.new(location)
318
+ MatchRequiredNode.new(load_node, load_node, load_location, location)
295
319
  when 83 then
296
- ModuleNode.new(Array.new(load_varint) { load_constant }, load_location, load_node, load_optional_node, load_location, location)
320
+ MissingNode.new(location)
297
321
  when 84 then
298
- MultiWriteNode.new(Array.new(load_varint) { load_node }, load_optional_location, load_optional_node, load_optional_location, load_optional_location, location)
322
+ ModuleNode.new(Array.new(load_varint) { load_constant }, load_location, load_node, load_optional_node, load_location, location)
299
323
  when 85 then
300
- NextNode.new(load_optional_node, load_location, location)
324
+ MultiWriteNode.new(Array.new(load_varint) { load_node }, load_optional_location, load_optional_node, load_optional_location, load_optional_location, location)
301
325
  when 86 then
302
- NilNode.new(location)
326
+ NextNode.new(load_optional_node, load_location, location)
303
327
  when 87 then
304
- NoKeywordsParameterNode.new(load_location, load_location, location)
328
+ NilNode.new(location)
305
329
  when 88 then
306
- NumberedReferenceReadNode.new(location)
330
+ NoKeywordsParameterNode.new(load_location, load_location, location)
307
331
  when 89 then
308
- OptionalParameterNode.new(load_constant, load_location, load_location, load_node, location)
332
+ NumberedReferenceReadNode.new(location)
309
333
  when 90 then
310
- OrNode.new(load_node, load_node, load_location, location)
334
+ OptionalParameterNode.new(load_constant, load_location, load_location, load_node, location)
311
335
  when 91 then
312
- ParametersNode.new(Array.new(load_varint) { load_node }, Array.new(load_varint) { load_node }, Array.new(load_varint) { load_node }, load_optional_node, Array.new(load_varint) { load_node }, load_optional_node, load_optional_node, location)
336
+ OrNode.new(load_node, load_node, load_location, location)
313
337
  when 92 then
314
- ParenthesesNode.new(load_optional_node, load_location, load_location, location)
338
+ ParametersNode.new(Array.new(load_varint) { load_node }, Array.new(load_varint) { load_node }, Array.new(load_varint) { load_node }, load_optional_node, Array.new(load_varint) { load_node }, load_optional_node, load_optional_node, location)
315
339
  when 93 then
316
- PinnedExpressionNode.new(load_node, load_location, load_location, load_location, location)
340
+ ParenthesesNode.new(load_optional_node, load_location, load_location, location)
317
341
  when 94 then
318
- PinnedVariableNode.new(load_node, load_location, location)
342
+ PinnedExpressionNode.new(load_node, load_location, load_location, load_location, location)
319
343
  when 95 then
320
- PostExecutionNode.new(load_optional_node, load_location, load_location, load_location, location)
344
+ PinnedVariableNode.new(load_node, load_location, location)
321
345
  when 96 then
322
- PreExecutionNode.new(load_optional_node, load_location, load_location, load_location, location)
346
+ PostExecutionNode.new(load_optional_node, load_location, load_location, load_location, location)
323
347
  when 97 then
324
- ProgramNode.new(Array.new(load_varint) { load_constant }, load_node, location)
348
+ PreExecutionNode.new(load_optional_node, load_location, load_location, load_location, location)
325
349
  when 98 then
326
- RangeNode.new(load_optional_node, load_optional_node, load_location, load_varint, location)
350
+ ProgramNode.new(Array.new(load_varint) { load_constant }, load_node, location)
327
351
  when 99 then
328
- RationalNode.new(load_node, location)
352
+ RangeNode.new(load_optional_node, load_optional_node, load_location, load_varint, location)
329
353
  when 100 then
330
- RedoNode.new(location)
354
+ RationalNode.new(load_node, location)
331
355
  when 101 then
332
- RegularExpressionNode.new(load_location, load_location, load_location, load_string, load_varint, location)
356
+ RedoNode.new(location)
333
357
  when 102 then
334
- RequiredDestructuredParameterNode.new(Array.new(load_varint) { load_node }, load_location, load_location, location)
358
+ RegularExpressionNode.new(load_location, load_location, load_location, load_string, load_varint, location)
335
359
  when 103 then
336
- RequiredParameterNode.new(load_constant, location)
360
+ RequiredDestructuredParameterNode.new(Array.new(load_varint) { load_node }, load_location, load_location, location)
337
361
  when 104 then
338
- RescueModifierNode.new(load_node, load_location, load_node, location)
362
+ RequiredParameterNode.new(load_constant, location)
339
363
  when 105 then
340
- RescueNode.new(load_location, Array.new(load_varint) { load_node }, load_optional_location, load_optional_node, load_optional_node, load_optional_node, location)
364
+ RescueModifierNode.new(load_node, load_location, load_node, location)
341
365
  when 106 then
342
- RestParameterNode.new(load_location, load_optional_location, location)
366
+ RescueNode.new(load_location, Array.new(load_varint) { load_node }, load_optional_location, load_optional_node, load_optional_node, load_optional_node, location)
343
367
  when 107 then
344
- RetryNode.new(location)
368
+ RestParameterNode.new(load_location, load_optional_location, location)
345
369
  when 108 then
346
- ReturnNode.new(load_location, load_optional_node, location)
370
+ RetryNode.new(location)
347
371
  when 109 then
348
- SelfNode.new(location)
372
+ ReturnNode.new(load_location, load_optional_node, location)
349
373
  when 110 then
350
- SingletonClassNode.new(Array.new(load_varint) { load_constant }, load_location, load_location, load_node, load_optional_node, load_location, location)
374
+ SelfNode.new(location)
351
375
  when 111 then
352
- SourceEncodingNode.new(location)
376
+ SingletonClassNode.new(Array.new(load_varint) { load_constant }, load_location, load_location, load_node, load_optional_node, load_location, location)
353
377
  when 112 then
354
- SourceFileNode.new(load_string, location)
378
+ SourceEncodingNode.new(location)
355
379
  when 113 then
356
- SourceLineNode.new(location)
380
+ SourceFileNode.new(load_string, location)
357
381
  when 114 then
358
- SplatNode.new(load_location, load_optional_node, location)
382
+ SourceLineNode.new(location)
359
383
  when 115 then
360
- StatementsNode.new(Array.new(load_varint) { load_node }, location)
384
+ SplatNode.new(load_location, load_optional_node, location)
361
385
  when 116 then
362
- StringConcatNode.new(load_node, load_node, location)
386
+ StatementsNode.new(Array.new(load_varint) { load_node }, location)
363
387
  when 117 then
364
- StringNode.new(load_optional_location, load_location, load_optional_location, load_string, location)
388
+ StringConcatNode.new(load_node, load_node, location)
365
389
  when 118 then
366
- SuperNode.new(load_location, load_optional_location, load_optional_node, load_optional_location, load_optional_node, location)
390
+ StringNode.new(load_optional_location, load_location, load_optional_location, load_string, location)
367
391
  when 119 then
368
- SymbolNode.new(load_optional_location, load_location, load_optional_location, load_string, location)
392
+ SuperNode.new(load_location, load_optional_location, load_optional_node, load_optional_location, load_optional_node, location)
369
393
  when 120 then
370
- TrueNode.new(location)
394
+ SymbolNode.new(load_optional_location, load_location, load_optional_location, load_string, location)
371
395
  when 121 then
372
- UndefNode.new(Array.new(load_varint) { load_node }, load_location, location)
396
+ TrueNode.new(location)
373
397
  when 122 then
374
- UnlessNode.new(load_location, load_node, load_optional_node, load_optional_node, load_optional_location, location)
398
+ UndefNode.new(Array.new(load_varint) { load_node }, load_location, location)
375
399
  when 123 then
376
- UntilNode.new(load_location, load_node, load_optional_node, load_varint, location)
400
+ UnlessNode.new(load_location, load_node, load_optional_node, load_optional_node, load_optional_location, location)
377
401
  when 124 then
378
- WhenNode.new(load_location, Array.new(load_varint) { load_node }, load_optional_node, location)
402
+ UntilNode.new(load_location, load_node, load_optional_node, load_varint, location)
379
403
  when 125 then
380
- WhileNode.new(load_location, load_node, load_optional_node, load_varint, location)
404
+ WhenNode.new(load_location, Array.new(load_varint) { load_node }, load_optional_node, location)
381
405
  when 126 then
382
- XStringNode.new(load_location, load_location, load_location, load_string, location)
406
+ WhileNode.new(load_location, load_node, load_optional_node, load_varint, location)
383
407
  when 127 then
408
+ XStringNode.new(load_location, load_location, load_location, load_string, location)
409
+ when 128 then
384
410
  YieldNode.new(load_location, load_optional_location, load_optional_node, load_optional_location, location)
385
411
  end
386
412
  end
387
413
  end
414
+
415
+ TOKEN_TYPES = [
416
+ nil,
417
+ :EOF,
418
+ :MISSING,
419
+ :NOT_PROVIDED,
420
+ :AMPERSAND,
421
+ :AMPERSAND_AMPERSAND,
422
+ :AMPERSAND_AMPERSAND_EQUAL,
423
+ :AMPERSAND_DOT,
424
+ :AMPERSAND_EQUAL,
425
+ :BACKTICK,
426
+ :BACK_REFERENCE,
427
+ :BANG,
428
+ :BANG_EQUAL,
429
+ :BANG_TILDE,
430
+ :BRACE_LEFT,
431
+ :BRACE_RIGHT,
432
+ :BRACKET_LEFT,
433
+ :BRACKET_LEFT_ARRAY,
434
+ :BRACKET_LEFT_RIGHT,
435
+ :BRACKET_LEFT_RIGHT_EQUAL,
436
+ :BRACKET_RIGHT,
437
+ :CARET,
438
+ :CARET_EQUAL,
439
+ :CHARACTER_LITERAL,
440
+ :CLASS_VARIABLE,
441
+ :COLON,
442
+ :COLON_COLON,
443
+ :COMMA,
444
+ :COMMENT,
445
+ :CONSTANT,
446
+ :DOT,
447
+ :DOT_DOT,
448
+ :DOT_DOT_DOT,
449
+ :EMBDOC_BEGIN,
450
+ :EMBDOC_END,
451
+ :EMBDOC_LINE,
452
+ :EMBEXPR_BEGIN,
453
+ :EMBEXPR_END,
454
+ :EMBVAR,
455
+ :EQUAL,
456
+ :EQUAL_EQUAL,
457
+ :EQUAL_EQUAL_EQUAL,
458
+ :EQUAL_GREATER,
459
+ :EQUAL_TILDE,
460
+ :FLOAT,
461
+ :FLOAT_IMAGINARY,
462
+ :FLOAT_RATIONAL,
463
+ :FLOAT_RATIONAL_IMAGINARY,
464
+ :GLOBAL_VARIABLE,
465
+ :GREATER,
466
+ :GREATER_EQUAL,
467
+ :GREATER_GREATER,
468
+ :GREATER_GREATER_EQUAL,
469
+ :HEREDOC_END,
470
+ :HEREDOC_START,
471
+ :IDENTIFIER,
472
+ :IGNORED_NEWLINE,
473
+ :INSTANCE_VARIABLE,
474
+ :INTEGER,
475
+ :INTEGER_IMAGINARY,
476
+ :INTEGER_RATIONAL,
477
+ :INTEGER_RATIONAL_IMAGINARY,
478
+ :KEYWORD_ALIAS,
479
+ :KEYWORD_AND,
480
+ :KEYWORD_BEGIN,
481
+ :KEYWORD_BEGIN_UPCASE,
482
+ :KEYWORD_BREAK,
483
+ :KEYWORD_CASE,
484
+ :KEYWORD_CLASS,
485
+ :KEYWORD_DEF,
486
+ :KEYWORD_DEFINED,
487
+ :KEYWORD_DO,
488
+ :KEYWORD_DO_LOOP,
489
+ :KEYWORD_ELSE,
490
+ :KEYWORD_ELSIF,
491
+ :KEYWORD_END,
492
+ :KEYWORD_END_UPCASE,
493
+ :KEYWORD_ENSURE,
494
+ :KEYWORD_FALSE,
495
+ :KEYWORD_FOR,
496
+ :KEYWORD_IF,
497
+ :KEYWORD_IF_MODIFIER,
498
+ :KEYWORD_IN,
499
+ :KEYWORD_MODULE,
500
+ :KEYWORD_NEXT,
501
+ :KEYWORD_NIL,
502
+ :KEYWORD_NOT,
503
+ :KEYWORD_OR,
504
+ :KEYWORD_REDO,
505
+ :KEYWORD_RESCUE,
506
+ :KEYWORD_RESCUE_MODIFIER,
507
+ :KEYWORD_RETRY,
508
+ :KEYWORD_RETURN,
509
+ :KEYWORD_SELF,
510
+ :KEYWORD_SUPER,
511
+ :KEYWORD_THEN,
512
+ :KEYWORD_TRUE,
513
+ :KEYWORD_UNDEF,
514
+ :KEYWORD_UNLESS,
515
+ :KEYWORD_UNLESS_MODIFIER,
516
+ :KEYWORD_UNTIL,
517
+ :KEYWORD_UNTIL_MODIFIER,
518
+ :KEYWORD_WHEN,
519
+ :KEYWORD_WHILE,
520
+ :KEYWORD_WHILE_MODIFIER,
521
+ :KEYWORD_YIELD,
522
+ :KEYWORD___ENCODING__,
523
+ :KEYWORD___FILE__,
524
+ :KEYWORD___LINE__,
525
+ :LABEL,
526
+ :LABEL_END,
527
+ :LAMBDA_BEGIN,
528
+ :LESS,
529
+ :LESS_EQUAL,
530
+ :LESS_EQUAL_GREATER,
531
+ :LESS_LESS,
532
+ :LESS_LESS_EQUAL,
533
+ :MINUS,
534
+ :MINUS_EQUAL,
535
+ :MINUS_GREATER,
536
+ :NEWLINE,
537
+ :NUMBERED_REFERENCE,
538
+ :PARENTHESIS_LEFT,
539
+ :PARENTHESIS_LEFT_PARENTHESES,
540
+ :PARENTHESIS_RIGHT,
541
+ :PERCENT,
542
+ :PERCENT_EQUAL,
543
+ :PERCENT_LOWER_I,
544
+ :PERCENT_LOWER_W,
545
+ :PERCENT_LOWER_X,
546
+ :PERCENT_UPPER_I,
547
+ :PERCENT_UPPER_W,
548
+ :PIPE,
549
+ :PIPE_EQUAL,
550
+ :PIPE_PIPE,
551
+ :PIPE_PIPE_EQUAL,
552
+ :PLUS,
553
+ :PLUS_EQUAL,
554
+ :QUESTION_MARK,
555
+ :REGEXP_BEGIN,
556
+ :REGEXP_END,
557
+ :SEMICOLON,
558
+ :SLASH,
559
+ :SLASH_EQUAL,
560
+ :STAR,
561
+ :STAR_EQUAL,
562
+ :STAR_STAR,
563
+ :STAR_STAR_EQUAL,
564
+ :STRING_BEGIN,
565
+ :STRING_CONTENT,
566
+ :STRING_END,
567
+ :SYMBOL_BEGIN,
568
+ :TILDE,
569
+ :UAMPERSAND,
570
+ :UCOLON_COLON,
571
+ :UDOT_DOT,
572
+ :UDOT_DOT_DOT,
573
+ :UMINUS,
574
+ :UMINUS_NUM,
575
+ :UPLUS,
576
+ :USTAR,
577
+ :USTAR_STAR,
578
+ :WORDS_SEP,
579
+ :__END__,
580
+ ]
388
581
  end
389
582
  end