yarp 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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