rbs 1.2.1 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/docs/stdlib.md CHANGED
@@ -57,7 +57,7 @@ But it will help you to have an overview of the signatures you are trying to wri
57
57
 
58
58
  ### What to do with existing RBS files
59
59
 
60
- Generating prototypes will override everything, so the problem is if there is a RBS files already.
60
+ Generating prototypes will overwrite existing RBS files, which might be undesirable.
61
61
  You can try to find missing parts, or you can start from the scratch.
62
62
 
63
63
  One non-trivial but absolutely better solution is to make a tool:
data/docs/syntax.md CHANGED
@@ -352,9 +352,6 @@ def +: (Float | Integer) -> (Float | Integer)
352
352
  | (Numeric) -> Numeric
353
353
  ```
354
354
 
355
- Method types can end with `super` which means the methods from existing definitions.
356
- This is useful to define an _extension_, which adds a new variation to the existing method preserving the original behavior.
357
-
358
355
  ### Attribute definition
359
356
 
360
357
  Attribute definitions help to define methods and instance variables based on the convention of `attr_reader`, `attr_writer` and `attr_accessor` methods in Ruby.
@@ -774,26 +774,10 @@ module RBS
774
774
  end
775
775
 
776
776
  def try_cache(type_name, cache:, key: type_name)
777
- # @type var cc: Hash[untyped, Definition | false | nil]
777
+ # @type var cc: Hash[untyped, Definition | nil]
778
778
  cc = _ = cache
779
- cached = cc[key]
780
779
 
781
- case cached
782
- when Definition
783
- cached
784
- when false
785
- raise
786
- when nil
787
- cc[key] = false
788
- begin
789
- cc[key] = yield
790
- rescue => ex
791
- cc.delete(key)
792
- raise ex
793
- end
794
- else
795
- raise
796
- end
780
+ cc[key] ||= yield
797
781
  end
798
782
 
799
783
  def expand_alias(type_name)
@@ -237,6 +237,7 @@ module RBS
237
237
  end
238
238
 
239
239
  mixin_ancestors(entry,
240
+ type_name,
240
241
  included_modules: ancestors.included_modules,
241
242
  included_interfaces: ancestors.included_interfaces,
242
243
  prepended_modules: ancestors.prepended_modules,
@@ -284,6 +285,7 @@ module RBS
284
285
  end
285
286
 
286
287
  mixin_ancestors(entry,
288
+ type_name,
287
289
  included_modules: nil,
288
290
  included_interfaces: nil,
289
291
  prepended_modules: nil,
@@ -301,6 +303,7 @@ module RBS
301
303
 
302
304
  OneAncestors.interface(type_name: type_name, params: params).tap do |ancestors|
303
305
  mixin_ancestors0(entry.decl,
306
+ type_name,
304
307
  align_params: nil,
305
308
  included_modules: nil,
306
309
  included_interfaces: ancestors.included_interfaces,
@@ -311,7 +314,7 @@ module RBS
311
314
  end
312
315
  end
313
316
 
314
- def mixin_ancestors0(decl, align_params:, included_modules:, included_interfaces:, extended_modules:, prepended_modules:, extended_interfaces:)
317
+ def mixin_ancestors0(decl, type_name, align_params:, included_modules:, included_interfaces:, extended_modules:, prepended_modules:, extended_interfaces:)
315
318
  decl.each_mixin do |member|
316
319
  case member
317
320
  when AST::Members::Include
@@ -321,6 +324,7 @@ module RBS
321
324
 
322
325
  case
323
326
  when member.name.class? && included_modules
327
+ MixinClassError.check!(type_name: type_name, env: env, member: member)
324
328
  NoMixinFoundError.check!(member.name, env: env, member: member)
325
329
  included_modules << ancestor
326
330
  when member.name.interface? && included_interfaces
@@ -330,6 +334,7 @@ module RBS
330
334
 
331
335
  when AST::Members::Prepend
332
336
  if prepended_modules
337
+ MixinClassError.check!(type_name: type_name, env: env, member: member)
333
338
  NoMixinFoundError.check!(member.name, env: env, member: member)
334
339
 
335
340
  module_name = member.name
@@ -345,6 +350,7 @@ module RBS
345
350
 
346
351
  case
347
352
  when member.name.class? && extended_modules
353
+ MixinClassError.check!(type_name: type_name, env: env, member: member)
348
354
  NoMixinFoundError.check!(member.name, env: env, member: member)
349
355
  extended_modules << ancestor
350
356
  when member.name.interface? && extended_interfaces
@@ -355,7 +361,7 @@ module RBS
355
361
  end
356
362
  end
357
363
 
358
- def mixin_ancestors(entry, included_modules:, included_interfaces:, extended_modules:, prepended_modules:, extended_interfaces:)
364
+ def mixin_ancestors(entry, type_name, included_modules:, included_interfaces:, extended_modules:, prepended_modules:, extended_interfaces:)
359
365
  entry.decls.each do |d|
360
366
  decl = d.decl
361
367
 
@@ -365,6 +371,7 @@ module RBS
365
371
  )
366
372
 
367
373
  mixin_ancestors0(decl,
374
+ type_name,
368
375
  align_params: align_params,
369
376
  included_modules: included_modules,
370
377
  included_interfaces: included_interfaces,
data/lib/rbs/errors.rb CHANGED
@@ -350,4 +350,40 @@ module RBS
350
350
  original.location
351
351
  end
352
352
  end
353
+
354
+ class MixinClassError < DefinitionError
355
+ attr_reader :type_name
356
+ attr_reader :member
357
+
358
+ def initialize(type_name:, member:)
359
+ @type_name = type_name
360
+ @member = member
361
+
362
+ super "#{Location.to_string member.location}: Cannot #{mixin_name} a class `#{member.name}` in the definition of `#{type_name}`"
363
+ end
364
+
365
+ def location
366
+ member.location
367
+ end
368
+
369
+ def self.check!(type_name:, env:, member:)
370
+ case env.class_decls[member.name]
371
+ when Environment::ClassEntry
372
+ raise new(type_name: type_name, member: member)
373
+ end
374
+ end
375
+
376
+ private
377
+
378
+ def mixin_name
379
+ case member
380
+ when AST::Members::Prepend
381
+ "prepend"
382
+ when AST::Members::Include
383
+ "include"
384
+ when AST::Members::Extend
385
+ "extend"
386
+ end
387
+ end
388
+ end
353
389
  end
data/lib/rbs/parser.rb CHANGED
@@ -8,7 +8,7 @@ require 'racc/parser.rb'
8
8
  module RBS
9
9
  class Parser < Racc::Parser
10
10
 
11
- module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1393)
11
+ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1394)
12
12
 
13
13
  Types = RBS::Types
14
14
  Namespace = RBS::Namespace
@@ -332,12 +332,16 @@ def next_token
332
332
  new_token(:tIVAR, input.matched.to_sym)
333
333
  when input.scan(/@@[a-zA-Z_]\w*/)
334
334
  new_token(:tCLASSVAR, input.matched.to_sym)
335
- when input.scan(/_[a-zA-Z]\w*\b/)
335
+ when input.scan(/_[A-Z]\w*\b/)
336
336
  new_token(:tINTERFACEIDENT)
337
337
  when input.scan(/[A-Z]\w*\b/)
338
338
  new_token(:tUIDENT)
339
- when input.scan(/[a-z_]\w*\b/)
339
+ when input.scan(/[a-z]\w*\b/)
340
340
  new_token(:tLIDENT)
341
+ when input.scan(/_[a-z]\w*\b/)
342
+ new_token(:tUNDERSCOREIDENT)
343
+ when input.scan(/_/)
344
+ new_token(:kUNDERSCORE)
341
345
  when input.scan(/"(\\"|[^"])*"/)
342
346
  s = input.matched.yield_self {|s| s[1, s.length - 2] }
343
347
  .gsub(DBL_QUOTE_STR_ESCAPE_SEQUENCES_RE) do |match|
@@ -420,108 +424,75 @@ end
420
424
  ##### State transition tables begin ###
421
425
 
422
426
  clist = [
423
- '349,350,33,351,-4,113,-242,33,33,5,117,336,-242,33,33,348,37,113,42',
424
- '334,40,41,55,56,57,58,59,60,61,62,353,43,63,54,64,65,66,77,67,68,69',
425
- '83,33,32,33,344,338,339,32,32,342,340,343,291,32,32,49,341,82,70,71',
426
- '72,74,76,75,337,346,347,73,78,80,349,350,33,351,84,85,81,86,33,39,405',
427
- '48,32,33,32,348,104,53,404,40,41,49,55,56,57,58,59,60,61,62,79,33,63',
428
- '54,64,65,66,77,67,68,69,83,33,32,160,344,338,339,33,32,342,340,343,53',
429
- '32,322,207,341,82,70,71,72,74,76,75,337,346,347,73,78,80,126,32,161',
430
- '320,84,85,81,86,349,350,39,351,32,96,97,98,99,53,32,207,180,40,41,348',
431
- '40,41,179,185,40,41,55,56,57,58,59,60,61,62,79,226,63,54,64,65,66,77',
432
- '67,68,69,83,39,53,186,344,338,339,281,332,342,340,343,2,3,4,227,341',
433
- '82,70,71,72,74,76,75,337,346,347,73,78,80,364,396,282,186,84,85,81,86',
434
- '349,350,120,351,180,96,97,98,99,125,262,101,102,165,103,348,166,186',
435
- '186,408,40,41,55,56,57,58,59,60,61,62,79,409,63,54,64,65,66,77,67,68',
436
- '69,83,40,41,186,344,338,339,40,41,342,340,343,40,41,167,186,341,82,70',
437
- '71,72,74,76,75,337,346,347,73,78,80,40,41,40,41,84,85,81,86,349,350',
438
- '168,351,170,96,97,98,99,40,41,40,41,40,41,348,40,41,284,285,367,368',
439
- '55,56,57,58,59,60,61,62,79,171,63,54,64,65,66,77,67,68,69,83,40,41,172',
440
- '344,338,339,40,41,342,340,343,383,384,40,41,341,82,70,71,72,74,76,75',
441
- '337,346,347,73,78,80,349,350,113,351,84,85,81,86,40,41,40,41,40,41,178',
442
- '348,40,41,40,41,40,41,55,56,57,58,59,60,61,62,79,181,63,54,64,65,66',
443
- '77,67,68,69,83,184,41,187,344,338,339,189,180,342,340,343,190,-104,-105',
444
- '-106,341,82,70,71,72,74,76,75,337,346,347,73,78,80,-107,-108,-109,-110',
445
- '84,85,81,86,349,350,-111,351,-112,96,97,98,99,-113,-114,48,-129,195',
446
- '196,348,197,198,199,200,208,209,55,56,57,58,59,60,61,62,79,42,63,54',
447
- '64,65,66,77,67,68,69,83,210,228,242,344,338,339,251,252,342,340,343',
448
- '253,255,257,258,341,82,70,71,72,74,76,75,337,346,347,73,78,80,349,350',
449
- '42,351,84,85,81,86,260,260,260,264,42,228,268,348,272,274,289,290,313',
450
- '272,55,56,57,58,59,60,61,62,79,315,63,54,64,65,66,77,67,68,69,83,289',
451
- '328,329,344,338,339,330,355,342,340,343,355,355,363,365,341,82,70,71',
452
- '72,74,76,75,337,346,347,73,78,80,366,369,371,378,84,85,81,86,33,379',
453
- '380,96,97,98,99,388,388,388,22,23,21,400,26,-219,25,401,30,402,131,132',
454
- '133,134,135,136,137,138,142,16,139,130,140,141,66,77,67,68,69,83,403',
455
- '32,406,407,412,28,413,156,414,157,159,416,419,412,,,82,70,71,72,74,76',
456
- '75,,,,73,78,80,,,,,84,85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,,25',
457
- ',30,,131,132,133,134,135,136,137,138,142,16,139,130,140,141,66,77,67',
458
- '68,69,83,,32,,,174,28,,177,,175,,,,,,,82,70,71,72,74,76,75,,,,73,78',
459
- '80,176,,,,84,85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,-219,25,,30,',
427
+ '192,195,33,193,192,195,33,193,192,195,33,193,113,192,195,33,193,192',
428
+ '195,160,193,180,324,192,195,33,193,185,179,33,228,33,33,33,5,33,33,33',
429
+ '37,174,283,322,177,32,175,40,41,32,161,40,41,32,186,40,41,229,32,49',
430
+ '40,41,293,49,40,41,176,284,32,194,40,41,32,194,32,32,32,194,32,32,32',
431
+ '196,194,351,352,196,194,353,42,196,334,53,194,338,196,53,209,407,196',
432
+ '350,209,336,40,41,196,406,55,56,57,58,59,60,61,62,355,186,63,54,64,65',
433
+ '66,77,67,68,69,83,40,41,53,346,340,341,53,366,344,342,345,126,2,3,4',
434
+ '343,82,70,71,72,74,76,75,339,348,349,73,78,80,39,398,410,186,84,85,81',
435
+ '86,351,352,40,41,353,180,43,411,-4,48,-244,104,264,33,39,117,350,-244',
436
+ '186,186,40,41,113,55,56,57,58,59,60,61,62,79,186,63,54,64,65,66,77,67',
437
+ '68,69,83,40,41,120,346,340,341,40,41,344,342,345,32,40,41,125,343,82',
438
+ '70,71,72,74,76,75,339,348,349,73,78,80,40,41,40,41,84,85,81,86,351,352',
439
+ '40,41,353,39,96,97,98,99,101,102,40,41,103,165,350,40,41,40,41,40,41',
440
+ '55,56,57,58,59,60,61,62,79,166,63,54,64,65,66,77,67,68,69,83,40,41,167',
441
+ '346,340,341,286,287,344,342,345,369,370,40,41,343,82,70,71,72,74,76',
442
+ '75,339,348,349,73,78,80,40,41,385,386,84,85,81,86,351,352,40,41,353',
443
+ '168,96,97,98,99,40,41,40,41,40,41,350,40,41,40,41,40,41,55,56,57,58',
444
+ '59,60,61,62,79,170,63,54,64,65,66,77,67,68,69,83,171,172,113,346,340',
445
+ '341,178,181,344,342,345,184,41,187,189,343,82,70,71,72,74,76,75,339',
446
+ '348,349,73,78,80,180,190,-104,-105,84,85,81,86,351,352,-106,-107,353',
447
+ '-108,96,97,98,99,-109,-110,-111,-112,-113,-114,350,48,-129,197,198,199',
448
+ '200,55,56,57,58,59,60,61,62,79,201,63,54,64,65,66,77,67,68,69,83,202',
449
+ '210,211,346,340,341,42,212,344,342,345,230,244,253,254,343,82,70,71',
450
+ '72,74,76,75,339,348,349,73,78,80,255,257,259,260,84,85,81,86,351,352',
451
+ '42,262,353,262,262,266,42,230,270,274,276,291,292,315,350,274,317,291',
452
+ '330,331,332,55,56,57,58,59,60,61,62,79,357,63,54,64,65,66,77,67,68,69',
453
+ '83,357,357,365,346,340,341,367,368,344,342,345,371,373,380,381,343,82',
454
+ '70,71,72,74,76,75,339,348,349,73,78,80,382,390,390,390,84,85,81,86,351',
455
+ '352,402,403,353,404,96,97,98,99,405,408,409,414,415,416,350,418,421',
456
+ '414,,,,55,56,57,58,59,60,61,62,79,,63,54,64,65,66,77,67,68,69,83,,,',
457
+ '346,340,341,,,344,342,345,,,,,343,82,70,71,72,74,76,75,339,348,349,73',
458
+ '78,80,,,,,84,85,81,86,351,352,,,353,,,,,,,,,,,,350,,,,,,,55,56,57,58',
459
+ '59,60,61,62,79,,63,54,64,65,66,77,67,68,69,83,,,,346,340,341,,,344,342',
460
+ '345,,,,,343,82,70,71,72,74,76,75,339,348,349,73,78,80,,,,,84,85,81,86',
461
+ '33,,,96,97,98,99,,,,22,23,21,,26,-219,25,,30,,131,132,133,134,135,136',
462
+ '137,138,142,16,139,130,140,141,66,77,67,68,69,83,,32,,,,28,,156,,157',
463
+ '159,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,33,,,96,97',
464
+ '98,99,,,,22,23,21,,26,,25,,30,,131,132,133,134,135,136,137,138,142,16',
465
+ '139,130,140,141,66,77,67,68,69,83,,32,,,,28,,,,,,,,,,,82,70,71,72,74',
466
+ '76,75,,,,73,78,80,,,,,84,85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,-219',
467
+ '25,,30,,131,132,133,134,135,136,137,138,142,16,139,130,140,141,66,77',
468
+ '67,68,69,83,,32,,,,28,,156,,157,159,,,,,,82,70,71,72,74,76,75,,,,73',
469
+ '78,80,,,,,84,85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,-219,25,,30,',
460
470
  '131,132,133,134,135,136,137,138,142,16,139,130,140,141,66,77,67,68,69',
461
471
  '83,,32,,,,28,,156,,157,159,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,',
462
472
  ',84,85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,-219,25,,30,,131,132,133',
463
473
  '134,135,136,137,138,142,16,139,130,140,141,66,77,67,68,69,83,,32,,,',
464
- '28,,156,,157,159,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84,85,81',
465
- '86,33,,,96,97,98,99,,,,22,23,21,,26,-219,25,,30,,131,132,133,134,135',
466
- '136,137,138,142,16,139,130,140,141,66,77,67,68,69,83,,32,,,,28,,234',
467
- ',,159,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,33,,,96',
468
- '97,98,99,,,,22,23,21,,26,-219,25,,30,,131,132,133,134,135,136,137,138',
469
- '142,16,139,130,140,141,66,77,67,68,69,83,,32,,,,28,,156,,157,159,,,',
470
- ',,82,70,71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,33,,,96,97,98,99',
471
- ',,,22,23,21,,26,-219,25,,30,,131,132,133,134,135,136,137,138,142,16',
472
- '139,130,140,141,66,77,67,68,69,83,,32,,,,28,,234,,,159,,,,,,82,70,71',
473
- '72,74,76,75,,,,73,78,80,,,,,84,85,81,86,96,97,98,99,,,,90,89,91,,,,',
474
- ',,,55,56,57,58,59,60,61,62,79,,63,54,64,65,66,77,67,68,69,83,,,,,,,',
475
- ',192,,193,,,,,,82,70,71,72,74,76,75,,95,94,73,78,80,,,,,84,85,81,86',
476
- '96,97,98,99,,,,90,89,91,,,,,,40,41,55,56,57,58,59,60,61,62,79,,63,54',
477
- '64,65,66,77,67,68,69,83,194,,,,,,,,,,,,,,,,82,70,71,72,74,76,75,,95',
478
- '94,73,78,80,96,97,98,99,84,85,81,86,,,,,,,,,,55,56,57,58,59,60,61,62',
479
- '79,,63,54,64,65,66,77,67,68,69,83,192,,193,,,,,234,,,159,,,,,,82,70',
480
- '71,72,74,76,75,192,,193,73,78,80,96,97,98,99,84,85,81,86,,,,,,,,40,41',
481
- '55,56,57,58,59,60,61,62,79,,63,54,64,65,66,77,67,68,69,83,194,40,41',
482
- ',,,,234,,,159,,,,,,82,70,71,72,74,76,75,194,,,73,78,80,96,97,98,99,84',
483
- '85,81,86,,,,,,,,,,55,56,57,58,59,60,61,62,79,,63,54,64,65,66,77,67,68',
484
- '69,83,192,,193,192,,193,192,,193,,,,,,,,82,70,71,72,74,76,75,,,,73,78',
485
- '80,,,,,84,85,81,86,,,,,,,,40,41,,40,41,,40,41,-242,,33,,117,,-242,,',
486
- '310,311,113,,,194,,,194,,,194,,-242,,33,,117,,-242,,312,310,311,113',
487
- ',,,,,307,306,,,32,-242,,33,,117,,-242,,312,310,311,113,,,,298,,307,306',
488
- ',174,32,,177,,175,,,322,,312,,,,,,,316,,307,306,,33,32,,176,,320,326',
489
- '323,324,325,22,23,21,327,26,,25,317,30,,8,12,19,20,9,10,13,14,15,16',
490
- '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,45,30,,8,12,19,20,9,10',
491
- '13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
492
- '19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
493
- ',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
494
- '21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
495
- ',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
496
- ',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
497
- '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
498
- '13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,-246,30,',
499
- '8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,',
500
- '26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28',
501
- '22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,',
502
- ',,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
503
- '11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14',
504
- '15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20',
505
- '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
506
- ',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
507
- ',26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,',
508
- '28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33',
509
- ',,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
510
- '11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14',
511
- '15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20',
512
- '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
513
- ',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
514
- ',26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,',
515
- '28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33',
516
- ',,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
517
- '11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14',
518
- '15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20',
519
- '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
520
- ',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
521
- ',26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,',
522
- '28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33',
523
- ',,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
524
- '11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14',
474
+ '28,,236,,,159,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86',
475
+ '33,,,96,97,98,99,,,,22,23,21,,26,-219,25,,30,,131,132,133,134,135,136',
476
+ '137,138,142,16,139,130,140,141,66,77,67,68,69,83,,32,,,,28,,156,,157',
477
+ '159,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,33,,,96,97',
478
+ '98,99,,,,22,23,21,,26,-219,25,,30,,131,132,133,134,135,136,137,138,142',
479
+ '16,139,130,140,141,66,77,67,68,69,83,,32,,,,28,,236,,,159,,,,,,82,70',
480
+ '71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,96,97,98,99,,,,90,89,91,',
481
+ ',,,,,,55,56,57,58,59,60,61,62,79,,63,54,64,65,66,77,67,68,69,83,,,,',
482
+ ',,,,,,,,,,,,82,70,71,72,74,76,75,,95,94,73,78,80,,,,,84,85,81,86,96',
483
+ '97,98,99,,,,90,89,91,,,,,,,,55,56,57,58,59,60,61,62,79,,63,54,64,65',
484
+ '66,77,67,68,69,83,,,,,,,,,,,,,,,,,82,70,71,72,74,76,75,,95,94,73,78',
485
+ '80,96,97,98,99,84,85,81,86,,,,,,,,,,55,56,57,58,59,60,61,62,79,,63,54',
486
+ '64,65,66,77,67,68,69,83,,,,,,,,236,,,159,,,,,,82,70,71,72,74,76,75,',
487
+ ',,73,78,80,96,97,98,99,84,85,81,86,,,,,,,,,,55,56,57,58,59,60,61,62',
488
+ '79,,63,54,64,65,66,77,67,68,69,83,,,,,,,,236,,,159,,,,,,82,70,71,72',
489
+ '74,76,75,,,,73,78,80,96,97,98,99,84,85,81,86,,,,,,,,,,55,56,57,58,59',
490
+ '60,61,62,79,,63,54,64,65,66,77,67,68,69,83,-244,,,33,,117,,-244,,,312',
491
+ '313,113,,,,82,70,71,72,74,76,75,,,,73,78,80,,,314,,84,85,81,86,,,,309',
492
+ '308,-244,,32,33,,117,,-244,,,312,313,113,,-244,,,33,300,117,,-244,,',
493
+ '312,313,113,,,,,314,,,,,,,,,309,308,,,32,314,,,,,,,,,309,308,,33,32',
494
+ ',318,,,,,,,22,23,21,,26,,25,319,30,,8,12,19,20,9,10,13,14,15,16,17,18',
495
+ '11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,45,30,,8,12,19,20,9,10,13,14',
525
496
  '15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20',
526
497
  '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
527
498
  ',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
@@ -529,11 +500,46 @@ clist = [
529
500
  '28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33',
530
501
  ',,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
531
502
  '11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14',
532
- '15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20',
533
- '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
534
- ',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
535
- ',26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,,,,,,32,,,,28' ]
536
- racc_action_table = arr = ::Array.new(3044, nil)
503
+ '15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,-248,30,,8,12,19',
504
+ '20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,',
505
+ '30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
506
+ '21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
507
+ ',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
508
+ ',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
509
+ '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
510
+ '13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
511
+ '19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
512
+ ',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
513
+ '21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
514
+ ',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
515
+ ',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
516
+ '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
517
+ '13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
518
+ '19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
519
+ ',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
520
+ '21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
521
+ ',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
522
+ ',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
523
+ '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
524
+ '13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
525
+ '19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
526
+ ',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
527
+ '21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
528
+ ',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
529
+ ',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
530
+ '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
531
+ '13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
532
+ '19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
533
+ ',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
534
+ '21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
535
+ ',,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
536
+ ',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
537
+ '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
538
+ '13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
539
+ '19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
540
+ ',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,174,,,177,,175,,32,324',
541
+ ',,28,,,,,,,,,,,,,,176,,322,328,325,326,327,,,,329' ]
542
+ racc_action_table = arr = ::Array.new(3142, nil)
537
543
  idx = 0
538
544
  clist.each do |str|
539
545
  str.split(',', -1).each do |i|
@@ -543,98 +549,99 @@ clist = [
543
549
  end
544
550
 
545
551
  clist = [
546
- '322,322,48,322,34,278,34,177,34,1,34,321,34,218,219,322,5,34,7,321,44',
547
- '44,322,322,322,322,322,322,322,322,322,24,322,322,322,322,322,322,322',
548
- '322,322,322,220,48,262,322,322,322,177,34,322,322,322,278,218,219,28',
549
- '322,322,322,322,322,322,322,322,322,322,322,322,322,322,354,354,268',
550
- '354,322,322,322,322,274,34,388,27,220,289,262,354,32,28,388,169,169',
551
- '119,354,354,354,354,354,354,354,354,354,320,354,354,354,354,354,354',
552
- '354,354,354,354,326,268,51,354,354,354,327,274,354,354,354,119,289,296',
553
- '160,354,354,354,354,354,354,354,354,354,354,354,354,354,354,47,320,51',
554
- '296,354,354,354,354,356,356,35,356,326,356,356,356,356,160,327,208,116',
555
- '6,6,356,188,188,116,123,47,47,356,356,356,356,356,356,356,356,356,183',
556
- '356,356,356,356,356,356,356,356,356,356,6,208,123,356,356,356,269,319',
557
- '356,356,356,0,0,0,183,356,356,356,356,356,356,356,356,356,356,356,356',
558
- '356,356,331,381,269,319,356,356,356,356,357,357,36,357,248,357,357,357',
559
- '357,46,248,31,31,87,31,357,89,331,381,393,212,212,357,357,357,357,357',
560
- '357,357,357,357,394,357,357,357,357,357,357,357,357,357,357,213,213',
561
- '393,357,357,357,214,214,357,357,357,215,215,90,394,357,357,357,357,357',
562
- '357,357,357,357,357,357,357,357,357,216,216,217,217,357,357,357,357',
563
- '358,358,91,358,93,358,358,358,358,223,223,224,224,225,225,358,265,265',
564
- '271,271,345,345,358,358,358,358,358,358,358,358,358,94,358,358,358,358',
565
- '358,358,358,358,358,358,361,361,95,358,358,358,362,362,358,358,358,366',
566
- '366,386,386,358,358,358,358,358,358,358,358,358,358,358,358,358,358',
567
- '369,369,113,369,358,358,358,358,389,389,391,391,395,395,115,369,415',
568
- '415,417,417,418,418,369,369,369,369,369,369,369,369,369,117,369,369',
569
- '369,369,369,369,369,369,369,369,120,121,124,369,369,369,127,128,369',
570
- '369,369,129,130,131,132,369,369,369,369,369,369,369,369,369,369,369',
571
- '369,369,369,133,134,135,136,369,369,369,369,382,382,137,382,138,382',
572
- '382,382,382,139,140,141,142,145,146,382,148,150,153,154,161,162,382',
573
- '382,382,382,382,382,382,382,382,163,382,382,382,382,382,382,382,382',
574
- '382,382,164,190,206,382,382,382,221,222,382,382,382,227,232,243,244',
575
- '382,382,382,382,382,382,382,382,382,382,382,382,382,382,414,414,245',
576
- '414,382,382,382,382,246,247,249,250,254,257,259,414,260,261,275,277',
577
- '280,282,414,414,414,414,414,414,414,414,414,283,414,414,414,414,414',
578
- '414,414,414,414,414,287,310,311,414,414,414,312,323,414,414,414,324',
579
- '325,330,333,414,414,414,414,414,414,414,414,414,414,414,414,414,414',
580
- '335,353,355,359,414,414,414,414,49,360,363,49,49,49,49,373,375,377,49',
581
- '49,49,383,49,49,49,384,49,385,49,49,49,49,49,49,49,49,49,49,49,49,49',
582
- '49,49,49,49,49,49,49,387,49,390,392,397,49,399,49,402,49,49,405,411',
583
- '419,,,49,49,49,49,49,49,49,,,,49,49,49,,,,,49,49,49,49,156,,,156,156',
584
- '156,156,,,,156,156,156,,156,,156,,156,,156,156,156,156,156,156,156,156',
585
- '156,156,156,156,156,156,156,156,156,156,156,156,,156,,,114,156,,114',
586
- ',114,,,,,,,156,156,156,156,156,156,156,,,,156,156,156,114,,,,156,156',
587
- '156,156,196,,,196,196,196,196,,,,196,196,196,,196,196,196,,196,,196',
588
- '196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196',
589
- '196,196,,196,,,,196,,196,,196,196,,,,,,196,196,196,196,196,196,196,',
590
- ',,196,196,196,,,,,196,196,196,196,197,,,197,197,197,197,,,,197,197,197',
591
- ',197,197,197,,197,,197,197,197,197,197,197,197,197,197,197,197,197,197',
592
- '197,197,197,197,197,197,197,,197,,,,197,,197,,197,197,,,,,,197,197,197',
593
- '197,197,197,197,,,,197,197,197,,,,,197,197,197,197,198,,,198,198,198',
594
- '198,,,,198,198,198,,198,198,198,,198,,198,198,198,198,198,198,198,198',
595
- '198,198,198,198,198,198,198,198,198,198,198,198,,198,,,,198,,198,,,198',
596
- ',,,,,198,198,198,198,198,198,198,,,,198,198,198,,,,,198,198,198,198',
597
- '207,,,207,207,207,207,,,,207,207,207,,207,207,207,,207,,207,207,207',
598
- '207,207,207,207,207,207,207,207,207,207,207,207,207,207,207,207,207',
599
- ',207,,,,207,,207,,207,207,,,,,,207,207,207,207,207,207,207,,,,207,207',
600
- '207,,,,,207,207,207,207,255,,,255,255,255,255,,,,255,255,255,,255,255',
601
- '255,,255,,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255',
602
- '255,255,255,255,255,,255,,,,255,,255,,,255,,,,,,255,255,255,255,255',
603
- '255,255,,,,255,255,255,,,,,255,255,255,255,30,30,30,30,,,,30,30,30,',
604
- ',,,,,,30,30,30,30,30,30,30,30,30,,30,30,30,30,30,30,30,30,30,30,,,,',
605
- ',,,,143,,143,,,,,,30,30,30,30,30,30,30,,30,30,30,30,30,,,,,30,30,30',
606
- '30,165,165,165,165,,,,165,165,165,,,,,,143,143,165,165,165,165,165,165',
607
- '165,165,165,,165,165,165,165,165,165,165,165,165,165,143,,,,,,,,,,,',
608
- ',,,,165,165,165,165,165,165,165,,165,165,165,165,165,199,199,199,199',
609
- '165,165,165,165,,,,,,,,,,199,199,199,199,199,199,199,199,199,,199,199',
610
- '199,199,199,199,199,199,199,199,201,,201,,,,,199,,,199,,,,,,199,199',
611
- '199,199,199,199,199,203,,203,199,199,199,200,200,200,200,199,199,199',
612
- '199,,,,,,,,201,201,200,200,200,200,200,200,200,200,200,,200,200,200',
613
- '200,200,200,200,200,200,200,201,203,203,,,,,200,,,200,,,,,,200,200,200',
614
- '200,200,200,200,203,,,200,200,200,234,234,234,234,200,200,200,200,,',
615
- ',,,,,,,234,234,234,234,234,234,234,234,234,,234,234,234,234,234,234',
616
- '234,234,234,234,204,,204,205,,205,238,,238,,,,,,,,234,234,234,234,234',
617
- '234,234,,,,234,234,234,,,,,234,234,234,234,,,,,,,,204,204,,205,205,',
618
- '238,238,279,,279,,279,,279,,,279,279,279,,,204,,,205,,,238,,286,,286',
619
- ',286,,286,,279,286,286,286,,,,,,279,279,,,279,288,,288,,288,,288,,286',
620
- '288,288,288,,,,279,,286,286,,297,286,,297,,297,,,297,,288,,,,,,,286',
621
- ',288,288,,2,288,,297,,297,297,297,297,297,2,2,2,297,2,,2,288,2,,2,2',
622
- '2,2,2,2,2,2,2,2,2,2,2,2,,,25,,,,,2,,,,2,25,25,25,,25,,25,25,25,,25,25',
623
- '25,25,25,25,25,25,25,25,25,25,25,25,,,26,,,,,25,,,,25,26,26,26,,26,',
624
- '26,,26,,26,26,26,26,26,26,26,26,26,26,26,26,26,26,,,40,,,,,26,,,,26',
625
- '40,40,40,,40,,40,,40,,40,40,40,40,40,40,40,40,40,40,40,40,40,40,,,41',
626
- ',,,,40,,,,40,41,41,41,,41,,41,,41,,41,41,41,41,41,41,41,41,41,41,41',
627
- '41,41,41,,,43,,,,,41,,,,41,43,43,43,,43,,43,,43,,43,43,43,43,43,43,43',
628
- '43,43,43,43,43,43,43,,,53,,,,,43,,,,43,53,53,53,,53,,53,,53,,53,53,53',
629
- '53,53,53,53,53,53,53,53,53,53,53,,,92,,,,,53,,,,53,92,92,92,,92,,92',
630
- ',92,,92,92,92,92,92,92,92,92,92,92,92,92,92,92,,,125,,,,,92,,,,92,125',
631
- '125,125,,125,,125,125,125,,125,125,125,125,125,125,125,125,125,125,125',
632
- '125,125,125,,,157,,,,,125,,,,125,157,157,157,,157,,157,,157,,157,157',
633
- '157,157,157,157,157,157,157,157,157,157,157,157,,,158,,,,,157,,,,157',
634
- '158,158,158,,158,,158,,158,,158,158,158,158,158,158,158,158,158,158',
635
- '158,158,158,158,,,159,,,,,158,,,,158,159,159,159,,159,,159,,159,,159',
636
- '159,159,159,159,159,159,159,159,159,159,159,159,159,,,166,,,,,159,,',
637
- ',159,166,166,166,,166,,166,,166,,166,166,166,166,166,166,166,166,166',
552
+ '143,143,48,143,203,203,177,203,205,205,220,205,280,206,206,221,206,207',
553
+ '207,51,207,116,298,240,240,222,240,123,116,264,183,270,276,291,1,322',
554
+ '328,329,5,114,271,298,114,48,114,143,143,177,51,203,203,220,123,205',
555
+ '205,183,221,28,206,206,280,119,207,207,114,271,222,143,240,240,264,203',
556
+ '270,276,291,205,322,328,329,143,206,324,324,203,207,324,7,205,321,28',
557
+ '240,323,206,119,160,390,207,324,210,323,44,44,240,390,324,324,324,324',
558
+ '324,324,324,324,324,321,324,324,324,324,324,324,324,324,324,324,6,6',
559
+ '160,324,324,324,210,333,324,324,324,47,0,0,0,324,324,324,324,324,324',
560
+ '324,324,324,324,324,324,324,324,6,383,395,333,324,324,324,324,356,356',
561
+ '47,47,356,250,24,396,34,27,34,32,250,34,35,34,356,34,383,395,169,169',
562
+ '34,356,356,356,356,356,356,356,356,356,396,356,356,356,356,356,356,356',
563
+ '356,356,356,188,188,36,356,356,356,214,214,356,356,356,34,215,215,46',
564
+ '356,356,356,356,356,356,356,356,356,356,356,356,356,356,216,216,217',
565
+ '217,356,356,356,356,358,358,218,218,358,34,358,358,358,358,31,31,219',
566
+ '219,31,87,358,225,225,226,226,227,227,358,358,358,358,358,358,358,358',
567
+ '358,89,358,358,358,358,358,358,358,358,358,358,267,267,90,358,358,358',
568
+ '273,273,358,358,358,347,347,363,363,358,358,358,358,358,358,358,358',
569
+ '358,358,358,358,358,358,364,364,368,368,358,358,358,358,359,359,388',
570
+ '388,359,91,359,359,359,359,391,391,393,393,397,397,359,417,417,419,419',
571
+ '420,420,359,359,359,359,359,359,359,359,359,93,359,359,359,359,359,359',
572
+ '359,359,359,359,94,95,113,359,359,359,115,117,359,359,359,120,121,124',
573
+ '127,359,359,359,359,359,359,359,359,359,359,359,359,359,359,128,129',
574
+ '130,131,359,359,359,359,360,360,132,133,360,134,360,360,360,360,135',
575
+ '136,137,138,139,140,360,141,142,145,146,148,150,360,360,360,360,360',
576
+ '360,360,360,360,153,360,360,360,360,360,360,360,360,360,360,154,161',
577
+ '162,360,360,360,163,164,360,360,360,190,208,223,224,360,360,360,360',
578
+ '360,360,360,360,360,360,360,360,360,360,229,234,245,246,360,360,360',
579
+ '360,371,371,247,248,371,249,251,252,256,259,261,262,263,277,279,282',
580
+ '371,284,285,289,312,313,314,371,371,371,371,371,371,371,371,371,325',
581
+ '371,371,371,371,371,371,371,371,371,371,326,327,332,371,371,371,335',
582
+ '337,371,371,371,355,357,361,362,371,371,371,371,371,371,371,371,371',
583
+ '371,371,371,371,371,365,375,377,379,371,371,371,371,384,384,385,386',
584
+ '384,387,384,384,384,384,389,392,394,399,401,404,384,407,413,421,,,,384',
585
+ '384,384,384,384,384,384,384,384,,384,384,384,384,384,384,384,384,384',
586
+ '384,,,,384,384,384,,,384,384,384,,,,,384,384,384,384,384,384,384,384',
587
+ '384,384,384,384,384,384,,,,,384,384,384,384,416,416,,,416,,,,,,,,,,',
588
+ ',416,,,,,,,416,416,416,416,416,416,416,416,416,,416,416,416,416,416',
589
+ '416,416,416,416,416,,,,416,416,416,,,416,416,416,,,,,416,416,416,416',
590
+ '416,416,416,416,416,416,416,416,416,416,,,,,416,416,416,416,49,,,49',
591
+ '49,49,49,,,,49,49,49,,49,49,49,,49,,49,49,49,49,49,49,49,49,49,49,49',
592
+ '49,49,49,49,49,49,49,49,49,,49,,,,49,,49,,49,49,,,,,,49,49,49,49,49',
593
+ '49,49,,,,49,49,49,,,,,49,49,49,49,156,,,156,156,156,156,,,,156,156,156',
594
+ ',156,,156,,156,,156,156,156,156,156,156,156,156,156,156,156,156,156',
595
+ '156,156,156,156,156,156,156,,156,,,,156,,,,,,,,,,,156,156,156,156,156',
596
+ '156,156,,,,156,156,156,,,,,156,156,156,156,198,,,198,198,198,198,,,',
597
+ '198,198,198,,198,198,198,,198,,198,198,198,198,198,198,198,198,198,198',
598
+ '198,198,198,198,198,198,198,198,198,198,,198,,,,198,,198,,198,198,,',
599
+ ',,,198,198,198,198,198,198,198,,,,198,198,198,,,,,198,198,198,198,199',
600
+ ',,199,199,199,199,,,,199,199,199,,199,199,199,,199,,199,199,199,199',
601
+ '199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,,199',
602
+ ',,,199,,199,,199,199,,,,,,199,199,199,199,199,199,199,,,,199,199,199',
603
+ ',,,,199,199,199,199,200,,,200,200,200,200,,,,200,200,200,,200,200,200',
604
+ ',200,,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200',
605
+ '200,200,200,200,,200,,,,200,,200,,,200,,,,,,200,200,200,200,200,200',
606
+ '200,,,,200,200,200,,,,,200,200,200,200,209,,,209,209,209,209,,,,209',
607
+ '209,209,,209,209,209,,209,,209,209,209,209,209,209,209,209,209,209,209',
608
+ '209,209,209,209,209,209,209,209,209,,209,,,,209,,209,,209,209,,,,,,209',
609
+ '209,209,209,209,209,209,,,,209,209,209,,,,,209,209,209,209,257,,,257',
610
+ '257,257,257,,,,257,257,257,,257,257,257,,257,,257,257,257,257,257,257',
611
+ '257,257,257,257,257,257,257,257,257,257,257,257,257,257,,257,,,,257',
612
+ ',257,,,257,,,,,,257,257,257,257,257,257,257,,,,257,257,257,,,,,257,257',
613
+ '257,257,30,30,30,30,,,,30,30,30,,,,,,,,30,30,30,30,30,30,30,30,30,,30',
614
+ '30,30,30,30,30,30,30,30,30,,,,,,,,,,,,,,,,,30,30,30,30,30,30,30,,30',
615
+ '30,30,30,30,,,,,30,30,30,30,165,165,165,165,,,,165,165,165,,,,,,,,165',
616
+ '165,165,165,165,165,165,165,165,,165,165,165,165,165,165,165,165,165',
617
+ '165,,,,,,,,,,,,,,,,,165,165,165,165,165,165,165,,165,165,165,165,165',
618
+ '201,201,201,201,165,165,165,165,,,,,,,,,,201,201,201,201,201,201,201',
619
+ '201,201,,201,201,201,201,201,201,201,201,201,201,,,,,,,,201,,,201,,',
620
+ ',,,201,201,201,201,201,201,201,,,,201,201,201,202,202,202,202,201,201',
621
+ '201,201,,,,,,,,,,202,202,202,202,202,202,202,202,202,,202,202,202,202',
622
+ '202,202,202,202,202,202,,,,,,,,202,,,202,,,,,,202,202,202,202,202,202',
623
+ '202,,,,202,202,202,236,236,236,236,202,202,202,202,,,,,,,,,,236,236',
624
+ '236,236,236,236,236,236,236,,236,236,236,236,236,236,236,236,236,236',
625
+ '281,,,281,,281,,281,,,281,281,281,,,,236,236,236,236,236,236,236,,,',
626
+ '236,236,236,,,281,,236,236,236,236,,,,281,281,288,,281,288,,288,,288',
627
+ ',,288,288,288,,290,,,290,281,290,,290,,,290,290,290,,,,,288,,,,,,,,',
628
+ '288,288,,,288,290,,,,,,,,,290,290,,2,290,,288,,,,,,,2,2,2,,2,,2,290',
629
+ '2,,2,2,2,2,2,2,2,2,2,2,2,2,2,2,,,25,,,,,2,,,,2,25,25,25,,25,,25,25,25',
630
+ ',25,25,25,25,25,25,25,25,25,25,25,25,25,25,,,26,,,,,25,,,,25,26,26,26',
631
+ ',26,,26,,26,,26,26,26,26,26,26,26,26,26,26,26,26,26,26,,,40,,,,,26,',
632
+ ',,26,40,40,40,,40,,40,,40,,40,40,40,40,40,40,40,40,40,40,40,40,40,40',
633
+ ',,41,,,,,40,,,,40,41,41,41,,41,,41,,41,,41,41,41,41,41,41,41,41,41,41',
634
+ '41,41,41,41,,,43,,,,,41,,,,41,43,43,43,,43,,43,,43,,43,43,43,43,43,43',
635
+ '43,43,43,43,43,43,43,43,,,53,,,,,43,,,,43,53,53,53,,53,,53,,53,,53,53',
636
+ '53,53,53,53,53,53,53,53,53,53,53,53,,,92,,,,,53,,,,53,92,92,92,,92,',
637
+ '92,,92,,92,92,92,92,92,92,92,92,92,92,92,92,92,92,,,125,,,,,92,,,,92',
638
+ '125,125,125,,125,,125,125,125,,125,125,125,125,125,125,125,125,125,125',
639
+ '125,125,125,125,,,157,,,,,125,,,,125,157,157,157,,157,,157,,157,,157',
640
+ '157,157,157,157,157,157,157,157,157,157,157,157,157,,,158,,,,,157,,',
641
+ ',157,158,158,158,,158,,158,,158,,158,158,158,158,158,158,158,158,158',
642
+ '158,158,158,158,158,,,159,,,,,158,,,,158,159,159,159,,159,,159,,159',
643
+ ',159,159,159,159,159,159,159,159,159,159,159,159,159,159,,,166,,,,,159',
644
+ ',,,159,166,166,166,,166,,166,,166,,166,166,166,166,166,166,166,166,166',
638
645
  '166,166,166,166,166,,,167,,,,,166,,,,166,167,167,167,,167,,167,,167',
639
646
  ',167,167,167,167,167,167,167,167,167,167,167,167,167,167,,,168,,,,,167',
640
647
  ',,,167,168,168,168,,168,,168,,168,,168,168,168,168,168,168,168,168,168',
@@ -648,36 +655,36 @@ clist = [
648
655
  ',179,179,179,179,179,179,179,179,179,179,179,179,179,179,,,181,,,,,179',
649
656
  ',,,179,181,181,181,,181,,181,,181,,181,181,181,181,181,181,181,181,181',
650
657
  '181,181,181,181,181,,,186,,,,,181,,,,181,186,186,186,,186,,186,,186',
651
- ',186,186,186,186,186,186,186,186,186,186,186,186,186,186,,,202,,,,,186',
652
- ',,,186,202,202,202,,202,,202,,202,,202,202,202,202,202,202,202,202,202',
653
- '202,202,202,202,202,,,209,,,,,202,,,,202,209,209,209,,209,,209,,209',
654
- ',209,209,209,209,209,209,209,209,209,209,209,209,209,209,,,228,,,,,209',
655
- ',,,209,228,228,228,,228,,228,,228,,228,228,228,228,228,228,228,228,228',
656
- '228,228,228,228,228,,,251,,,,,228,,,,228,251,251,251,,251,,251,,251',
657
- ',251,251,251,251,251,251,251,251,251,251,251,251,251,251,,,290,,,,,251',
658
- ',,,251,290,290,290,,290,,290,,290,,290,290,290,290,290,290,290,290,290',
659
- '290,290,290,290,290,,,313,,,,,290,,,,290,313,313,313,,313,,313,,313',
660
- ',313,313,313,313,313,313,313,313,313,313,313,313,313,313,,,328,,,,,313',
661
- ',,,313,328,328,328,,328,,328,,328,,328,328,328,328,328,328,328,328,328',
662
- '328,328,328,328,328,,,329,,,,,328,,,,328,329,329,329,,329,,329,,329',
663
- ',329,329,329,329,329,329,329,329,329,329,329,329,329,329,,,365,,,,,329',
664
- ',,,329,365,365,365,,365,,365,,365,,365,365,365,365,365,365,365,365,365',
665
- '365,365,365,365,365,,,372,,,,,365,,,,365,372,372,372,,372,,372,,372',
666
- ',372,372,372,372,372,372,372,372,372,372,372,372,372,372,,,374,,,,,372',
667
- ',,,372,374,374,374,,374,,374,,374,,374,374,374,374,374,374,374,374,374',
668
- '374,374,374,374,374,,,376,,,,,374,,,,374,376,376,376,,376,,376,,376',
669
- ',376,376,376,376,376,376,376,376,376,376,376,376,376,376,,,378,,,,,376',
670
- ',,,376,378,378,378,,378,,378,,378,,378,378,378,378,378,378,378,378,378',
671
- '378,378,378,378,378,,,379,,,,,378,,,,378,379,379,379,,379,,379,,379',
672
- ',379,379,379,379,379,379,379,379,379,379,379,379,379,379,,,380,,,,,379',
673
- ',,,379,380,380,380,,380,,380,,380,,380,380,380,380,380,380,380,380,380',
674
- '380,380,380,380,380,,,403,,,,,380,,,,380,403,403,403,,403,,403,,403',
675
- ',403,403,403,403,403,403,403,403,403,403,403,403,403,403,,,406,,,,,403',
676
- ',,,403,406,406,406,,406,,406,,406,,406,406,406,406,406,406,406,406,406',
677
- '406,406,406,406,406,,,407,,,,,406,,,,406,407,407,407,,407,,407,,407',
678
- ',407,407,407,407,407,407,407,407,407,407,407,407,407,407,,,,,,,,407',
679
- ',,,407' ]
680
- racc_action_check = arr = ::Array.new(3044, nil)
658
+ ',186,186,186,186,186,186,186,186,186,186,186,186,186,186,,,204,,,,,186',
659
+ ',,,186,204,204,204,,204,,204,,204,,204,204,204,204,204,204,204,204,204',
660
+ '204,204,204,204,204,,,211,,,,,204,,,,204,211,211,211,,211,,211,,211',
661
+ ',211,211,211,211,211,211,211,211,211,211,211,211,211,211,,,230,,,,,211',
662
+ ',,,211,230,230,230,,230,,230,,230,,230,230,230,230,230,230,230,230,230',
663
+ '230,230,230,230,230,,,253,,,,,230,,,,230,253,253,253,,253,,253,,253',
664
+ ',253,253,253,253,253,253,253,253,253,253,253,253,253,253,,,292,,,,,253',
665
+ ',,,253,292,292,292,,292,,292,,292,,292,292,292,292,292,292,292,292,292',
666
+ '292,292,292,292,292,,,315,,,,,292,,,,292,315,315,315,,315,,315,,315',
667
+ ',315,315,315,315,315,315,315,315,315,315,315,315,315,315,,,330,,,,,315',
668
+ ',,,315,330,330,330,,330,,330,,330,,330,330,330,330,330,330,330,330,330',
669
+ '330,330,330,330,330,,,331,,,,,330,,,,330,331,331,331,,331,,331,,331',
670
+ ',331,331,331,331,331,331,331,331,331,331,331,331,331,331,,,367,,,,,331',
671
+ ',,,331,367,367,367,,367,,367,,367,,367,367,367,367,367,367,367,367,367',
672
+ '367,367,367,367,367,,,374,,,,,367,,,,367,374,374,374,,374,,374,,374',
673
+ ',374,374,374,374,374,374,374,374,374,374,374,374,374,374,,,376,,,,,374',
674
+ ',,,374,376,376,376,,376,,376,,376,,376,376,376,376,376,376,376,376,376',
675
+ '376,376,376,376,376,,,378,,,,,376,,,,376,378,378,378,,378,,378,,378',
676
+ ',378,378,378,378,378,378,378,378,378,378,378,378,378,378,,,380,,,,,378',
677
+ ',,,378,380,380,380,,380,,380,,380,,380,380,380,380,380,380,380,380,380',
678
+ '380,380,380,380,380,,,381,,,,,380,,,,380,381,381,381,,381,,381,,381',
679
+ ',381,381,381,381,381,381,381,381,381,381,381,381,381,381,,,382,,,,,381',
680
+ ',,,381,382,382,382,,382,,382,,382,,382,382,382,382,382,382,382,382,382',
681
+ '382,382,382,382,382,,,405,,,,,382,,,,382,405,405,405,,405,,405,,405',
682
+ ',405,405,405,405,405,405,405,405,405,405,405,405,405,405,,,408,,,,,405',
683
+ ',,,405,408,408,408,,408,,408,,408,,408,408,408,408,408,408,408,408,408',
684
+ '408,408,408,408,408,,,409,,,,,408,,,,408,409,409,409,,409,,409,,409',
685
+ ',409,409,409,409,409,409,409,409,409,409,409,409,409,409,299,,,299,',
686
+ '299,,409,299,,,409,,,,,,,,,,,,,,299,,299,299,299,299,299,,,,299' ]
687
+ racc_action_check = arr = ::Array.new(3142, nil)
681
688
  idx = 0
682
689
  clist.each do |str|
683
690
  str.split(',', -1).each do |i|
@@ -687,539 +694,543 @@ clist = [
687
694
  end
688
695
 
689
696
  racc_action_pointer = [
690
- 130, 9, 1590, nil, nil, 16, 116, -33, nil, nil,
697
+ 62, 34, 1663, nil, nil, 38, 76, 34, nil, nil,
691
698
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
692
- nil, nil, nil, nil, 11, 1626, 1662, 64, 38, nil,
693
- 1140, 238, 83, nil, 4, 76, 211, nil, nil, nil,
694
- 1698, 1734, nil, 1770, -27, nil, 192, 123, -2, 604,
695
- nil, 93, nil, 1806, nil, nil, nil, nil, nil, nil,
699
+ nil, nil, nil, nil, 146, 1699, 1735, 151, 38, nil,
700
+ 1252, 249, 167, nil, 169, 98, 185, nil, nil, nil,
701
+ 1771, 1807, nil, 1843, 52, nil, 171, 115, -3, 716,
702
+ nil, -4, nil, 1879, nil, nil, nil, nil, nil, nil,
696
703
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
697
704
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
698
- nil, nil, nil, nil, nil, nil, nil, 196, nil, 190,
699
- 229, 255, 1842, 268, 295, 308, nil, nil, nil, nil,
705
+ nil, nil, nil, nil, nil, nil, nil, 209, nil, 217,
706
+ 230, 270, 1915, 308, 319, 320, nil, nil, nil, nil,
700
707
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
701
- nil, nil, nil, 368, 694, 349, 160, 366, nil, 74,
702
- 419, 374, nil, 148, 402, 1878, nil, 408, 426, 413,
703
- 389, 390, 391, 406, 407, 408, 409, 416, 418, 423,
704
- 424, 451, 426, 1189, nil, 427, 426, nil, 428, nil,
705
- 429, nil, nil, 430, 431, nil, 681, 1914, 1950, 1986,
706
- 109, 456, 429, 438, 477, 1214, 2022, 2058, 2094, 43,
707
- 2130, 2166, 2202, nil, nil, nil, nil, 3, 2238, 2274,
708
- nil, 2310, nil, 160, nil, nil, 2346, nil, 119, nil,
709
- 451, nil, nil, nil, nil, nil, 758, 835, 912, 1280,
710
- 1346, 1321, 2382, 1344, 1453, 1456, 479, 989, 143, 2418,
711
- nil, nil, 202, 224, 230, 235, 253, 255, 9, 10,
712
- 38, 450, 504, 270, 272, 274, nil, 509, 2454, nil,
713
- nil, nil, 466, nil, 1412, nil, nil, nil, 1459, nil,
714
- nil, nil, nil, 494, 491, 480, 517, 518, 231, 519,
715
- 535, 2490, nil, nil, 490, 1066, nil, 492, nil, 484,
716
- 466, 502, 40, nil, nil, 277, nil, nil, 69, 177,
717
- nil, 249, nil, nil, 75, 501, nil, 528, -8, 1506,
718
- 529, nil, 471, 558, nil, nil, 1528, 525, 1550, 80,
719
- 2526, nil, nil, nil, nil, nil, 83, 1537, nil, nil,
708
+ nil, nil, nil, 352, 3, 325, 19, 326, nil, 42,
709
+ 373, 327, nil, 5, 355, 1951, nil, 358, 391, 374,
710
+ 350, 351, 358, 359, 361, 366, 367, 368, 369, 370,
711
+ 371, 399, 374, -3, nil, 375, 374, nil, 375, nil,
712
+ 376, nil, nil, 386, 397, nil, 793, 1987, 2023, 2059,
713
+ 75, 422, 395, 398, 427, 1326, 2095, 2131, 2167, 133,
714
+ 2203, 2239, 2275, nil, nil, nil, nil, 1, 2311, 2347,
715
+ nil, 2383, nil, 8, nil, nil, 2419, nil, 156, nil,
716
+ 404, nil, nil, nil, nil, nil, nil, nil, 870, 947,
717
+ 1024, 1392, 1458, 1, 2455, 5, 10, 14, 432, 1101,
718
+ 79, 2491, nil, nil, 162, 168, 185, 187, 195, 205,
719
+ 5, 10, 20, 400, 455, 210, 212, 214, nil, 471,
720
+ 2527, nil, nil, nil, 427, nil, 1524, nil, nil, nil,
721
+ 20, nil, nil, nil, nil, 455, 452, 431, 463, 465,
722
+ 164, 466, 482, 2563, nil, nil, 437, 1178, nil, 439,
723
+ nil, 431, 412, 448, 24, nil, nil, 236, nil, nil,
724
+ 26, 18, nil, 212, nil, nil, 27, 447, nil, 474,
725
+ -2, 1567, 475, nil, 418, 497, nil, nil, 1609, 453,
726
+ 1623, 28, 2599, nil, nil, nil, nil, nil, -22, 3070,
720
727
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
721
- 528, 529, 520, 2562, nil, nil, nil, nil, nil, 178,
722
- 98, -61, -2, 546, 550, 551, 109, 115, 2598, 2634,
723
- 573, 200, nil, 565, nil, 561, nil, nil, nil, nil,
724
- nil, nil, nil, nil, nil, 277, nil, nil, nil, nil,
725
- nil, nil, nil, 544, 69, 545, 148, 227, 306, 583,
726
- 589, 303, 309, 566, nil, 2670, 329, nil, nil, 377,
727
- nil, nil, 2706, 597, 2742, 598, 2778, 599, 2814, 2850,
728
- 2886, 201, 456, 564, 568, 595, 316, 604, 70, 340,
729
- 606, 342, 607, 227, 239, 344, nil, 594, nil, 610,
730
- nil, nil, 599, 2922, nil, 640, 2958, 2994, nil, nil,
731
- nil, 613, nil, nil, 527, 348, nil, 350, 352, 603,
732
- nil, nil ]
728
+ nil, nil, 456, 457, 445, 2635, nil, nil, nil, nil,
729
+ nil, 66, 30, 18, 79, 480, 491, 492, 31, 32,
730
+ 2671, 2707, 514, 109, nil, 509, nil, 491, nil, nil,
731
+ nil, nil, nil, nil, nil, nil, nil, 243, nil, nil,
732
+ nil, nil, nil, nil, nil, 477, 159, 478, 239, 319,
733
+ 399, 516, 517, 249, 265, 508, nil, 2743, 282, nil,
734
+ nil, 479, nil, nil, 2779, 535, 2815, 536, 2851, 537,
735
+ 2887, 2923, 2959, 132, 559, 505, 506, 533, 275, 526,
736
+ 83, 283, 527, 285, 528, 133, 146, 287, nil, 515,
737
+ nil, 530, nil, nil, 518, 2995, nil, 558, 3031, 3067,
738
+ nil, nil, nil, 531, nil, nil, 639, 290, nil, 292,
739
+ 294, 521, nil, nil ]
733
740
 
734
741
  racc_action_default = [
735
- -248, -248, -242, -6, -15, -248, -4, -157, -160, -161,
742
+ -250, -250, -244, -6, -15, -250, -4, -157, -160, -161,
736
743
  -162, -163, -164, -165, -166, -167, -168, -169, -170, -171,
737
- -172, -173, -174, -175, -176, -242, -242, -248, -80, -184,
738
- -248, -248, -243, -245, -16, -4, -147, 422, -1, -5,
739
- -242, -242, -183, -242, -185, -178, -247, -248, -242, -242,
740
- -182, -248, -204, -242, -104, -105, -106, -107, -108, -109,
744
+ -172, -173, -174, -175, -176, -244, -244, -250, -80, -184,
745
+ -250, -250, -245, -247, -16, -4, -147, 424, -1, -5,
746
+ -244, -244, -183, -244, -185, -178, -249, -250, -244, -244,
747
+ -182, -250, -204, -244, -104, -105, -106, -107, -108, -109,
741
748
  -110, -111, -112, -113, -114, -115, -116, -117, -118, -119,
742
749
  -120, -121, -122, -123, -124, -125, -126, -127, -128, -129,
743
- -130, -131, -132, -133, -134, -135, -136, -247, -188, -248,
744
- -248, -248, -242, -248, -248, -248, -199, -200, -201, -202,
745
- -235, -236, -237, -238, -244, -2, -7, -8, -9, -10,
746
- -11, -12, -13, -16, -248, -248, -248, -248, -3, -80,
747
- -248, -158, -159, -248, -248, -242, -180, -248, -248, -248,
750
+ -130, -131, -132, -133, -134, -135, -136, -249, -188, -250,
751
+ -250, -250, -244, -250, -250, -250, -199, -200, -201, -202,
752
+ -237, -238, -239, -240, -246, -2, -7, -8, -9, -10,
753
+ -11, -12, -13, -16, -250, -250, -250, -250, -3, -80,
754
+ -250, -158, -159, -250, -250, -244, -180, -250, -250, -250,
748
755
  -170, -160, -164, -171, -172, -161, -162, -165, -166, -169,
749
- -163, -115, -167, -231, -197, -248, -208, -209, -211, -212,
750
- -214, -215, -218, -221, -223, -224, -242, -242, -242, -242,
751
- -248, -248, -248, -206, -248, -246, -242, -242, -242, -193,
752
- -242, -242, -242, -17, -14, -14, -14, -242, -242, -242,
753
- -240, -242, -79, -248, -149, -177, -242, -179, -186, -181,
754
- -81, -225, -232, -233, -234, -198, -242, -242, -242, -219,
755
- -219, -231, -242, -231, -231, -231, -248, -242, -248, -242,
756
- -187, -189, -190, -191, -192, -194, -195, -196, -242, -242,
757
- -242, -248, -248, -154, -155, -156, -148, -248, -242, -207,
758
- -215, -210, -217, -213, -248, -220, -222, -226, -231, -227,
759
- -228, -230, -82, -248, -248, -203, -137, -137, -248, -137,
760
- -248, -242, -241, -150, -205, -242, -229, -248, -83, -19,
761
- -145, -24, -242, -57, -239, -153, -216, -30, -242, -248,
762
- -139, -142, -146, -30, -242, -30, -26, -29, -16, -16,
763
- -20, -138, -145, -248, -143, -144, -16, -25, -16, -242,
764
- -242, -56, -58, -59, -60, -61, -71, -71, -18, -31,
765
- -32, -33, -34, -35, -36, -37, -38, -39, -40, -41,
766
- -248, -248, -248, -242, -140, -141, -22, -23, -27, -248,
767
- -242, -68, -248, -42, -42, -42, -242, -242, -242, -242,
768
- -248, -248, -28, -62, -69, -248, -72, -86, -87, -88,
769
- -89, -90, -91, -92, -93, -94, -97, -98, -99, -100,
770
- -101, -102, -103, -129, -248, -248, -248, -248, -248, -64,
771
- -66, -53, -54, -248, -21, -242, -73, -95, -96, -248,
772
- -151, -43, -242, -50, -242, -50, -242, -50, -242, -242,
773
- -242, -248, -248, -248, -248, -248, -44, -248, -248, -46,
774
- -248, -48, -248, -248, -248, -55, -63, -15, -84, -248,
775
- -74, -75, -248, -242, -51, -248, -242, -242, -65, -67,
776
- -70, -76, -77, -85, -248, -45, -52, -47, -49, -15,
777
- -152, -78 ]
756
+ -163, -115, -167, -231, -197, -250, -208, -209, -211, -212,
757
+ -214, -215, -218, -221, -223, -224, -244, -244, -244, -244,
758
+ -250, -250, -250, -206, -250, -248, -244, -244, -244, -193,
759
+ -244, -244, -244, -17, -14, -14, -14, -244, -244, -244,
760
+ -242, -244, -79, -250, -149, -177, -244, -179, -186, -181,
761
+ -81, -225, -232, -233, -234, -235, -236, -198, -244, -244,
762
+ -244, -219, -219, -231, -244, -231, -231, -231, -250, -244,
763
+ -250, -244, -187, -189, -190, -191, -192, -194, -195, -196,
764
+ -244, -244, -244, -250, -250, -154, -155, -156, -148, -250,
765
+ -244, -207, -215, -210, -217, -213, -250, -220, -222, -226,
766
+ -231, -227, -228, -230, -82, -250, -250, -203, -137, -137,
767
+ -250, -137, -250, -244, -243, -150, -205, -244, -229, -250,
768
+ -83, -19, -145, -24, -244, -57, -241, -153, -216, -30,
769
+ -244, -250, -139, -142, -146, -30, -244, -30, -26, -29,
770
+ -16, -16, -20, -138, -145, -250, -143, -144, -16, -25,
771
+ -16, -244, -244, -56, -58, -59, -60, -61, -71, -71,
772
+ -18, -31, -32, -33, -34, -35, -36, -37, -38, -39,
773
+ -40, -41, -250, -250, -250, -244, -140, -141, -22, -23,
774
+ -27, -250, -244, -68, -250, -42, -42, -42, -244, -244,
775
+ -244, -244, -250, -250, -28, -62, -69, -250, -72, -86,
776
+ -87, -88, -89, -90, -91, -92, -93, -94, -97, -98,
777
+ -99, -100, -101, -102, -103, -129, -250, -250, -250, -250,
778
+ -250, -64, -66, -53, -54, -250, -21, -244, -73, -95,
779
+ -96, -250, -151, -43, -244, -50, -244, -50, -244, -50,
780
+ -244, -244, -244, -250, -250, -250, -250, -250, -44, -250,
781
+ -250, -46, -250, -48, -250, -250, -250, -55, -63, -15,
782
+ -84, -250, -74, -75, -250, -244, -51, -250, -244, -244,
783
+ -65, -67, -70, -76, -77, -85, -250, -45, -52, -47,
784
+ -49, -15, -152, -78 ]
778
785
 
779
786
  racc_goto_table = [
780
- 6, 46, 116, 127, 93, 163, 114, 92, 88, 191,
781
- 50, 202, 206, 129, 354, 277, 128, 124, 230, 123,
782
- 233, 410, 270, 38, 47, 232, 232, 277, 275, 279,
783
- 387, 1, 390, 34, 392, 286, 35, 288, 121, 122,
784
- 287, 106, 277, 421, 314, 267, 370, 143, 373, 375,
785
- 377, 105, 118, 259, 261, 273, 263, 318, 164, 293,
786
- 244, 385, 218, 219, 220, 235, 236, 237, 294, 239,
787
- 240, 241, 295, 333, 399, 249, 278, 266, 292, 359,
788
- 360, 335, 382, 232, 397, 173, 356, 357, 358, 202,
789
- 169, 119, 162, 269, 283, 183, 221, 87, 231, 100,
790
- nil, 182, nil, nil, 256, nil, 420, nil, nil, nil,
787
+ 6, 46, 116, 88, 93, 163, 114, 92, 127, 191,
788
+ 356, 129, 50, 204, 208, 232, 128, 235, 124, 123,
789
+ 234, 234, 279, 38, 47, 277, 412, 281, 272, 261,
790
+ 263, 1, 265, 288, 279, 290, 34, 289, 121, 122,
791
+ 237, 238, 372, 35, 375, 377, 379, 143, 423, 279,
792
+ 316, 105, 118, 106, 389, 269, 392, 387, 394, 164,
793
+ 220, 221, 222, 275, 246, 358, 359, 360, 320, 239,
794
+ 401, 241, 242, 243, 268, 295, 296, 297, 234, 251,
795
+ 335, 280, 294, 337, 384, 173, 361, 362, 399, 119,
796
+ 169, 162, 271, 204, 285, 183, 223, 87, 233, 100,
797
+ nil, nil, 422, 182, nil, nil, 258, nil, nil, nil,
791
798
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
792
799
  nil, nil, nil, 188, nil, nil, nil, nil, nil, nil,
793
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 93,
794
- nil, nil, 92, 211, nil, 222, nil, nil, nil, nil,
795
- nil, nil, nil, nil, 201, 203, 204, 205, nil, nil,
796
- 229, 245, nil, nil, 212, 213, 214, nil, 215, 216,
797
- 217, 243, nil, 246, 247, nil, 223, 224, nil, 225,
798
- 254, nil, nil, nil, 188, nil, 128, 248, 250, nil,
799
- nil, nil, nil, nil, 143, 143, 143, nil, nil, nil,
800
- 238, nil, nil, nil, nil, 143, nil, nil, nil, nil,
800
+ nil, nil, nil, nil, nil, nil, nil, nil, 213, 93,
801
+ nil, nil, 92, nil, nil, 224, nil, nil, nil, nil,
802
+ nil, nil, nil, nil, 203, 205, 206, 207, nil, nil,
803
+ 231, nil, nil, 247, 214, 215, 216, nil, 217, 218,
804
+ 219, 245, nil, nil, nil, nil, 225, 226, nil, 227,
805
+ 248, 249, 256, nil, 188, nil, nil, nil, 128, 250,
806
+ 252, nil, nil, nil, nil, nil, 143, 143, 143, nil,
807
+ nil, nil, 240, nil, nil, nil, nil, 143, nil, nil,
801
808
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
802
- nil, nil, nil, 280, nil, nil, nil, nil, nil, nil,
803
- nil, nil, nil, nil, nil, nil, 128, nil, nil, nil,
804
- nil, nil, nil, nil, nil, nil, nil, 116, nil, 265,
805
- 296, nil, nil, 143, 116, nil, 116, nil, nil, nil,
806
- nil, nil, nil, nil, nil, nil, 319, nil, nil, nil,
807
809
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
808
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 331,
809
- nil, nil, nil, nil, nil, nil, 352, nil, nil, nil,
810
+ 282, nil, nil, nil, nil, nil, nil, nil, 128, nil,
811
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 116,
812
+ nil, 267, 298, nil, nil, 143, 116, nil, 116, nil,
813
+ nil, nil, nil, nil, nil, nil, nil, nil, 321, nil,
810
814
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
811
815
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
812
- nil, nil, nil, nil, nil, nil, 361, 362, 352, nil,
813
- 352, 352, 352, 372, 374, 376, nil, nil, nil, nil,
814
- nil, 381, nil, 352, nil, nil, nil, nil, nil, nil,
815
- nil, nil, nil, nil, 393, 394, 352, nil, nil, 398,
816
+ nil, 333, nil, nil, nil, nil, nil, nil, 354, nil,
816
817
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
817
- 386, nil, 389, nil, 391, nil, nil, nil, 395, nil,
818
- nil, nil, nil, nil, nil, nil, nil, nil, 352, nil,
819
818
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
820
- nil, 415, nil, nil, 417, 418 ]
819
+ nil, nil, nil, nil, nil, nil, nil, nil, 363, 364,
820
+ 354, nil, 354, 354, 354, 374, 376, 378, nil, nil,
821
+ nil, nil, nil, 383, nil, 354, nil, nil, nil, nil,
822
+ nil, nil, nil, nil, nil, nil, 395, 396, 354, nil,
823
+ nil, 400, nil, nil, nil, nil, nil, nil, nil, nil,
824
+ nil, nil, 388, nil, 391, nil, 393, nil, nil, nil,
825
+ 397, nil, nil, nil, nil, nil, nil, nil, nil, nil,
826
+ 354, nil, nil, nil, nil, nil, nil, nil, nil, nil,
827
+ nil, nil, nil, 417, nil, nil, 419, 420 ]
821
828
 
822
829
  racc_goto_check = [
823
- 2, 20, 22, 16, 53, 60, 15, 35, 64, 76,
824
- 47, 65, 51, 49, 36, 25, 22, 61, 71, 20,
825
- 71, 45, 55, 3, 2, 66, 66, 25, 23, 19,
826
- 37, 1, 37, 4, 37, 19, 5, 19, 2, 2,
827
- 23, 6, 25, 45, 55, 18, 36, 2, 36, 36,
828
- 36, 3, 3, 17, 17, 21, 17, 24, 61, 27,
829
- 51, 36, 13, 13, 13, 72, 72, 76, 28, 76,
830
- 76, 76, 33, 25, 36, 38, 39, 71, 40, 25,
831
- 25, 41, 43, 66, 44, 15, 34, 34, 34, 65,
832
- 2, 46, 50, 54, 57, 58, 59, 63, 67, 77,
833
- nil, 47, nil, nil, 76, nil, 36, nil, nil, nil,
830
+ 2, 20, 22, 64, 53, 60, 15, 35, 16, 76,
831
+ 36, 49, 47, 65, 51, 71, 22, 71, 61, 20,
832
+ 66, 66, 25, 3, 2, 23, 45, 19, 55, 17,
833
+ 17, 1, 17, 19, 25, 19, 4, 23, 2, 2,
834
+ 72, 72, 36, 5, 36, 36, 36, 2, 45, 25,
835
+ 55, 3, 3, 6, 37, 18, 37, 36, 37, 61,
836
+ 13, 13, 13, 21, 51, 34, 34, 34, 24, 76,
837
+ 36, 76, 76, 76, 71, 27, 28, 33, 66, 38,
838
+ 25, 39, 40, 41, 43, 15, 25, 25, 44, 46,
839
+ 2, 50, 54, 65, 57, 58, 59, 63, 67, 77,
840
+ nil, nil, 36, 47, nil, nil, 76, nil, nil, nil,
834
841
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
835
842
  nil, nil, nil, 2, nil, nil, nil, nil, nil, nil,
836
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 53,
837
- nil, nil, 35, 64, nil, 22, nil, nil, nil, nil,
843
+ nil, nil, nil, nil, nil, nil, nil, nil, 64, 53,
844
+ nil, nil, 35, nil, nil, 22, nil, nil, nil, nil,
838
845
  nil, nil, nil, nil, 2, 2, 2, 2, nil, nil,
839
- 49, 60, nil, nil, 2, 2, 2, nil, 2, 2,
840
- 2, 49, nil, 16, 16, nil, 2, 2, nil, 2,
841
- 60, nil, nil, nil, 2, nil, 22, 22, 22, nil,
842
- nil, nil, nil, nil, 2, 2, 2, nil, nil, nil,
843
- 2, nil, nil, nil, nil, 2, nil, nil, nil, nil,
846
+ 49, nil, nil, 60, 2, 2, 2, nil, 2, 2,
847
+ 2, 49, nil, nil, nil, nil, 2, 2, nil, 2,
848
+ 16, 16, 60, nil, 2, nil, nil, nil, 22, 22,
849
+ 22, nil, nil, nil, nil, nil, 2, 2, 2, nil,
850
+ nil, nil, 2, nil, nil, nil, nil, 2, nil, nil,
844
851
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
845
- nil, nil, nil, 16, nil, nil, nil, nil, nil, nil,
846
- nil, nil, nil, nil, nil, nil, 22, nil, nil, nil,
847
- nil, nil, nil, nil, nil, nil, nil, 22, nil, 2,
848
- 15, nil, nil, 2, 22, nil, 22, nil, nil, nil,
849
- nil, nil, nil, nil, nil, nil, 20, nil, nil, nil,
850
852
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
851
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 20,
852
- nil, nil, nil, nil, nil, nil, 53, nil, nil, nil,
853
+ 16, nil, nil, nil, nil, nil, nil, nil, 22, nil,
854
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 22,
855
+ nil, 2, 15, nil, nil, 2, 22, nil, 22, nil,
856
+ nil, nil, nil, nil, nil, nil, nil, nil, 20, nil,
853
857
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
854
858
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
855
- nil, nil, nil, nil, nil, nil, 2, 2, 53, nil,
856
- 53, 53, 53, 35, 35, 35, nil, nil, nil, nil,
857
- nil, 20, nil, 53, nil, nil, nil, nil, nil, nil,
858
- nil, nil, nil, nil, 20, 20, 53, nil, nil, 35,
859
+ nil, 20, nil, nil, nil, nil, nil, nil, 53, nil,
859
860
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
860
- 2, nil, 2, nil, 2, nil, nil, nil, 2, nil,
861
- nil, nil, nil, nil, nil, nil, nil, nil, 53, nil,
862
861
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
863
- nil, 2, nil, nil, 2, 2 ]
862
+ nil, nil, nil, nil, nil, nil, nil, nil, 2, 2,
863
+ 53, nil, 53, 53, 53, 35, 35, 35, nil, nil,
864
+ nil, nil, nil, 20, nil, 53, nil, nil, nil, nil,
865
+ nil, nil, nil, nil, nil, nil, 20, 20, 53, nil,
866
+ nil, 35, nil, nil, nil, nil, nil, nil, nil, nil,
867
+ nil, nil, 2, nil, 2, nil, 2, nil, nil, nil,
868
+ 2, nil, nil, nil, nil, nil, nil, nil, nil, nil,
869
+ 53, nil, nil, nil, nil, nil, nil, nil, nil, nil,
870
+ nil, nil, nil, 2, nil, nil, 2, 2 ]
864
871
 
865
872
  racc_goto_pointer = [
866
- nil, 31, -2, 17, 30, 32, 7, nil, nil, nil,
867
- nil, nil, nil, -112, nil, -28, -45, -193, -214, -238,
868
- -24, -206, -32, -234, -232, -247, nil, -219, -210, nil,
869
- nil, nil, nil, -206, -237, -23, -308, -343, -145, -187,
870
- -200, -240, nil, -284, -298, -376, 55, -18, nil, -36,
871
- 41, -148, nil, -26, -167, -238, nil, -177, -25, -81,
872
- -48, -29, nil, 67, -22, -145, -172, -99, nil, nil,
873
- nil, -178, -134, nil, nil, nil, -134, 68 ]
873
+ nil, 31, -2, 17, 33, 39, 19, nil, nil, nil,
874
+ nil, nil, nil, -114, nil, -28, -40, -219, -206, -242,
875
+ -24, -200, -32, -239, -223, -242, nil, -205, -204, nil,
876
+ nil, nil, nil, -203, -260, -23, -314, -321, -143, -184,
877
+ -198, -240, nil, -284, -296, -373, 53, -16, nil, -38,
878
+ 40, -146, nil, -26, -170, -234, nil, -179, -25, -81,
879
+ -48, -28, nil, 67, -27, -143, -179, -101, nil, nil,
880
+ nil, -183, -161, nil, nil, nil, -134, 68 ]
874
881
 
875
882
  racc_goto_default = [
876
- nil, nil, 44, nil, nil, 411, 309, 107, 108, 109,
877
- 110, 111, 112, nil, 36, 297, 115, nil, nil, nil,
878
- nil, nil, 31, nil, 276, 24, 299, 300, 301, 302,
879
- 303, 304, 305, 308, nil, 144, nil, nil, nil, nil,
880
- nil, nil, 321, nil, nil, nil, nil, nil, 51, nil,
881
- nil, 52, 345, 145, nil, nil, 271, nil, nil, nil,
883
+ nil, nil, 44, nil, nil, 413, 311, 107, 108, 109,
884
+ 110, 111, 112, nil, 36, 299, 115, nil, nil, nil,
885
+ nil, nil, 31, nil, 278, 24, 301, 302, 303, 304,
886
+ 305, 306, 307, 310, nil, 144, nil, nil, nil, nil,
887
+ nil, nil, 323, nil, nil, nil, nil, nil, 51, nil,
888
+ nil, 52, 347, 145, nil, nil, 273, nil, nil, nil,
882
889
  7, nil, 29, nil, nil, 158, 146, 147, 148, 149,
883
890
  150, 151, 152, 153, 154, 155, nil, nil ]
884
891
 
885
892
  racc_reduce_table = [
886
893
  0, 0, :racc_error,
887
- 3, 82, :_reduce_1,
888
- 3, 82, :_reduce_2,
889
- 3, 82, :_reduce_3,
890
- 0, 84, :_reduce_none,
891
- 1, 84, :_reduce_none,
892
- 0, 85, :_reduce_6,
893
- 2, 85, :_reduce_7,
894
- 1, 87, :_reduce_none,
895
- 1, 87, :_reduce_none,
896
- 1, 87, :_reduce_none,
897
- 1, 87, :_reduce_none,
898
- 1, 87, :_reduce_none,
899
- 1, 87, :_reduce_none,
900
- 0, 94, :_reduce_14,
901
- 0, 95, :_reduce_15,
902
- 0, 96, :_reduce_16,
903
- 2, 96, :_reduce_17,
904
- 8, 93, :_reduce_18,
905
- 0, 99, :_reduce_19,
906
- 2, 99, :_reduce_20,
907
- 5, 99, :_reduce_21,
908
- 8, 92, :_reduce_22,
909
- 8, 92, :_reduce_23,
910
- 0, 102, :_reduce_24,
911
- 2, 102, :_reduce_25,
912
- 1, 104, :_reduce_26,
913
- 3, 104, :_reduce_27,
914
- 4, 105, :_reduce_28,
915
- 1, 105, :_reduce_29,
916
- 0, 100, :_reduce_30,
917
- 2, 100, :_reduce_31,
918
- 1, 107, :_reduce_none,
919
- 1, 107, :_reduce_none,
920
- 1, 107, :_reduce_none,
921
- 1, 107, :_reduce_none,
922
- 1, 107, :_reduce_none,
923
- 1, 107, :_reduce_none,
924
- 1, 107, :_reduce_38,
925
- 1, 107, :_reduce_39,
926
- 1, 107, :_reduce_none,
927
- 1, 107, :_reduce_none,
928
- 0, 115, :_reduce_42,
929
- 2, 115, :_reduce_43,
930
- 5, 113, :_reduce_44,
931
- 7, 113, :_reduce_45,
932
- 5, 113, :_reduce_46,
933
- 7, 113, :_reduce_47,
934
- 5, 113, :_reduce_48,
935
- 7, 113, :_reduce_49,
936
- 0, 118, :_reduce_50,
937
- 2, 118, :_reduce_51,
938
- 3, 118, :_reduce_52,
939
- 3, 112, :_reduce_53,
940
- 3, 112, :_reduce_54,
941
- 5, 112, :_reduce_55,
942
- 7, 91, :_reduce_56,
943
- 0, 120, :_reduce_57,
944
- 2, 120, :_reduce_58,
945
- 1, 121, :_reduce_59,
946
- 1, 121, :_reduce_60,
947
- 1, 121, :_reduce_none,
948
- 3, 109, :_reduce_62,
949
- 6, 109, :_reduce_63,
950
- 3, 110, :_reduce_64,
951
- 6, 110, :_reduce_65,
952
- 3, 111, :_reduce_66,
953
- 6, 111, :_reduce_67,
954
- 0, 122, :_reduce_68,
955
- 1, 122, :_reduce_69,
956
- 7, 108, :_reduce_70,
957
- 0, 123, :_reduce_none,
958
- 2, 123, :_reduce_72,
959
- 0, 124, :_reduce_73,
960
- 2, 124, :_reduce_74,
961
- 2, 124, :_reduce_75,
962
- 1, 126, :_reduce_76,
963
- 1, 126, :_reduce_77,
964
- 3, 126, :_reduce_78,
965
- 3, 86, :_reduce_79,
966
- 0, 129, :_reduce_80,
967
- 3, 129, :_reduce_81,
968
- 3, 131, :_reduce_82,
969
- 4, 131, :_reduce_83,
970
- 1, 125, :_reduce_84,
971
- 2, 125, :_reduce_85,
972
- 1, 117, :_reduce_none,
973
- 1, 117, :_reduce_none,
974
- 1, 117, :_reduce_none,
975
- 1, 117, :_reduce_none,
976
- 1, 117, :_reduce_none,
977
- 1, 117, :_reduce_none,
978
- 1, 117, :_reduce_none,
979
- 1, 117, :_reduce_none,
980
- 1, 117, :_reduce_none,
981
- 2, 117, :_reduce_95,
982
- 2, 117, :_reduce_96,
983
- 1, 117, :_reduce_none,
984
- 1, 117, :_reduce_none,
985
- 1, 117, :_reduce_none,
986
- 1, 133, :_reduce_none,
987
- 1, 133, :_reduce_none,
988
- 1, 133, :_reduce_none,
989
- 1, 133, :_reduce_none,
990
- 1, 134, :_reduce_none,
991
- 1, 134, :_reduce_none,
992
- 1, 134, :_reduce_none,
993
- 1, 134, :_reduce_none,
994
- 1, 134, :_reduce_none,
995
- 1, 134, :_reduce_none,
996
- 1, 134, :_reduce_none,
997
- 1, 134, :_reduce_none,
998
- 1, 134, :_reduce_none,
999
- 1, 134, :_reduce_none,
1000
- 1, 134, :_reduce_none,
1001
- 1, 134, :_reduce_none,
1002
- 1, 134, :_reduce_none,
1003
- 1, 134, :_reduce_none,
1004
- 1, 134, :_reduce_none,
1005
- 1, 134, :_reduce_none,
1006
- 1, 134, :_reduce_none,
1007
- 1, 134, :_reduce_none,
1008
- 1, 134, :_reduce_none,
1009
- 1, 134, :_reduce_none,
1010
- 1, 134, :_reduce_none,
1011
- 1, 134, :_reduce_none,
1012
- 1, 134, :_reduce_none,
1013
- 1, 134, :_reduce_none,
1014
- 1, 134, :_reduce_none,
1015
- 1, 134, :_reduce_none,
1016
- 1, 134, :_reduce_none,
1017
- 1, 134, :_reduce_none,
1018
- 1, 134, :_reduce_none,
1019
- 1, 134, :_reduce_none,
1020
- 1, 134, :_reduce_none,
1021
- 1, 134, :_reduce_none,
1022
- 1, 134, :_reduce_none,
1023
- 0, 98, :_reduce_137,
1024
- 3, 98, :_reduce_138,
1025
- 1, 135, :_reduce_139,
1026
- 3, 135, :_reduce_140,
1027
- 3, 136, :_reduce_141,
1028
- 0, 138, :_reduce_142,
1029
- 1, 138, :_reduce_143,
1030
- 1, 138, :_reduce_144,
1031
- 0, 137, :_reduce_145,
1032
- 1, 137, :_reduce_146,
1033
- 0, 127, :_reduce_147,
1034
- 3, 127, :_reduce_148,
1035
- 1, 139, :_reduce_149,
1036
- 3, 139, :_reduce_150,
1037
- 4, 114, :_reduce_151,
1038
- 8, 114, :_reduce_152,
1039
- 5, 88, :_reduce_153,
1040
- 3, 89, :_reduce_154,
1041
- 3, 89, :_reduce_155,
1042
- 3, 90, :_reduce_156,
1043
- 1, 83, :_reduce_none,
1044
- 3, 83, :_reduce_158,
1045
- 3, 83, :_reduce_159,
1046
- 1, 141, :_reduce_160,
1047
- 1, 141, :_reduce_161,
1048
- 1, 141, :_reduce_162,
1049
- 1, 141, :_reduce_163,
1050
- 1, 141, :_reduce_164,
1051
- 1, 141, :_reduce_165,
1052
- 1, 141, :_reduce_166,
1053
- 1, 141, :_reduce_167,
1054
- 1, 141, :_reduce_168,
1055
- 1, 141, :_reduce_169,
1056
- 1, 141, :_reduce_170,
1057
- 1, 141, :_reduce_171,
1058
- 1, 141, :_reduce_172,
1059
- 1, 141, :_reduce_173,
1060
- 1, 141, :_reduce_174,
1061
- 1, 141, :_reduce_175,
1062
- 1, 141, :_reduce_176,
1063
- 4, 141, :_reduce_177,
1064
- 2, 141, :_reduce_178,
1065
- 4, 141, :_reduce_179,
1066
- 3, 141, :_reduce_180,
1067
- 4, 141, :_reduce_181,
1068
- 2, 141, :_reduce_182,
1069
- 2, 141, :_reduce_183,
1070
- 1, 141, :_reduce_none,
1071
- 1, 101, :_reduce_185,
1072
- 3, 101, :_reduce_186,
1073
- 4, 143, :_reduce_187,
1074
- 1, 144, :_reduce_188,
1075
- 3, 144, :_reduce_189,
1076
- 3, 145, :_reduce_190,
1077
- 3, 145, :_reduce_191,
1078
- 3, 145, :_reduce_192,
1079
- 2, 145, :_reduce_193,
1080
- 3, 145, :_reduce_194,
1081
- 3, 145, :_reduce_195,
1082
- 3, 145, :_reduce_196,
1083
- 1, 146, :_reduce_none,
1084
- 2, 146, :_reduce_198,
1085
- 1, 116, :_reduce_none,
1086
- 1, 116, :_reduce_none,
1087
- 1, 116, :_reduce_none,
1088
- 1, 116, :_reduce_none,
1089
- 4, 128, :_reduce_203,
1090
- 1, 128, :_reduce_204,
1091
- 5, 132, :_reduce_205,
1092
- 2, 132, :_reduce_206,
1093
- 3, 130, :_reduce_207,
1094
- 1, 130, :_reduce_208,
1095
- 1, 130, :_reduce_none,
1096
- 3, 148, :_reduce_210,
1097
- 1, 148, :_reduce_211,
894
+ 3, 84, :_reduce_1,
895
+ 3, 84, :_reduce_2,
896
+ 3, 84, :_reduce_3,
897
+ 0, 86, :_reduce_none,
898
+ 1, 86, :_reduce_none,
899
+ 0, 87, :_reduce_6,
900
+ 2, 87, :_reduce_7,
901
+ 1, 89, :_reduce_none,
902
+ 1, 89, :_reduce_none,
903
+ 1, 89, :_reduce_none,
904
+ 1, 89, :_reduce_none,
905
+ 1, 89, :_reduce_none,
906
+ 1, 89, :_reduce_none,
907
+ 0, 96, :_reduce_14,
908
+ 0, 97, :_reduce_15,
909
+ 0, 98, :_reduce_16,
910
+ 2, 98, :_reduce_17,
911
+ 8, 95, :_reduce_18,
912
+ 0, 101, :_reduce_19,
913
+ 2, 101, :_reduce_20,
914
+ 5, 101, :_reduce_21,
915
+ 8, 94, :_reduce_22,
916
+ 8, 94, :_reduce_23,
917
+ 0, 104, :_reduce_24,
918
+ 2, 104, :_reduce_25,
919
+ 1, 106, :_reduce_26,
920
+ 3, 106, :_reduce_27,
921
+ 4, 107, :_reduce_28,
922
+ 1, 107, :_reduce_29,
923
+ 0, 102, :_reduce_30,
924
+ 2, 102, :_reduce_31,
925
+ 1, 109, :_reduce_none,
926
+ 1, 109, :_reduce_none,
927
+ 1, 109, :_reduce_none,
928
+ 1, 109, :_reduce_none,
929
+ 1, 109, :_reduce_none,
930
+ 1, 109, :_reduce_none,
931
+ 1, 109, :_reduce_38,
932
+ 1, 109, :_reduce_39,
933
+ 1, 109, :_reduce_none,
934
+ 1, 109, :_reduce_none,
935
+ 0, 117, :_reduce_42,
936
+ 2, 117, :_reduce_43,
937
+ 5, 115, :_reduce_44,
938
+ 7, 115, :_reduce_45,
939
+ 5, 115, :_reduce_46,
940
+ 7, 115, :_reduce_47,
941
+ 5, 115, :_reduce_48,
942
+ 7, 115, :_reduce_49,
943
+ 0, 120, :_reduce_50,
944
+ 2, 120, :_reduce_51,
945
+ 3, 120, :_reduce_52,
946
+ 3, 114, :_reduce_53,
947
+ 3, 114, :_reduce_54,
948
+ 5, 114, :_reduce_55,
949
+ 7, 93, :_reduce_56,
950
+ 0, 122, :_reduce_57,
951
+ 2, 122, :_reduce_58,
952
+ 1, 123, :_reduce_59,
953
+ 1, 123, :_reduce_60,
954
+ 1, 123, :_reduce_none,
955
+ 3, 111, :_reduce_62,
956
+ 6, 111, :_reduce_63,
957
+ 3, 112, :_reduce_64,
958
+ 6, 112, :_reduce_65,
959
+ 3, 113, :_reduce_66,
960
+ 6, 113, :_reduce_67,
961
+ 0, 124, :_reduce_68,
962
+ 1, 124, :_reduce_69,
963
+ 7, 110, :_reduce_70,
964
+ 0, 125, :_reduce_none,
965
+ 2, 125, :_reduce_72,
966
+ 0, 126, :_reduce_73,
967
+ 2, 126, :_reduce_74,
968
+ 2, 126, :_reduce_75,
969
+ 1, 128, :_reduce_76,
970
+ 1, 128, :_reduce_77,
971
+ 3, 128, :_reduce_78,
972
+ 3, 88, :_reduce_79,
973
+ 0, 131, :_reduce_80,
974
+ 3, 131, :_reduce_81,
975
+ 3, 133, :_reduce_82,
976
+ 4, 133, :_reduce_83,
977
+ 1, 127, :_reduce_84,
978
+ 2, 127, :_reduce_85,
979
+ 1, 119, :_reduce_none,
980
+ 1, 119, :_reduce_none,
981
+ 1, 119, :_reduce_none,
982
+ 1, 119, :_reduce_none,
983
+ 1, 119, :_reduce_none,
984
+ 1, 119, :_reduce_none,
985
+ 1, 119, :_reduce_none,
986
+ 1, 119, :_reduce_none,
987
+ 1, 119, :_reduce_none,
988
+ 2, 119, :_reduce_95,
989
+ 2, 119, :_reduce_96,
990
+ 1, 119, :_reduce_none,
991
+ 1, 119, :_reduce_none,
992
+ 1, 119, :_reduce_none,
993
+ 1, 135, :_reduce_none,
994
+ 1, 135, :_reduce_none,
995
+ 1, 135, :_reduce_none,
996
+ 1, 135, :_reduce_none,
997
+ 1, 136, :_reduce_none,
998
+ 1, 136, :_reduce_none,
999
+ 1, 136, :_reduce_none,
1000
+ 1, 136, :_reduce_none,
1001
+ 1, 136, :_reduce_none,
1002
+ 1, 136, :_reduce_none,
1003
+ 1, 136, :_reduce_none,
1004
+ 1, 136, :_reduce_none,
1005
+ 1, 136, :_reduce_none,
1006
+ 1, 136, :_reduce_none,
1007
+ 1, 136, :_reduce_none,
1008
+ 1, 136, :_reduce_none,
1009
+ 1, 136, :_reduce_none,
1010
+ 1, 136, :_reduce_none,
1011
+ 1, 136, :_reduce_none,
1012
+ 1, 136, :_reduce_none,
1013
+ 1, 136, :_reduce_none,
1014
+ 1, 136, :_reduce_none,
1015
+ 1, 136, :_reduce_none,
1016
+ 1, 136, :_reduce_none,
1017
+ 1, 136, :_reduce_none,
1018
+ 1, 136, :_reduce_none,
1019
+ 1, 136, :_reduce_none,
1020
+ 1, 136, :_reduce_none,
1021
+ 1, 136, :_reduce_none,
1022
+ 1, 136, :_reduce_none,
1023
+ 1, 136, :_reduce_none,
1024
+ 1, 136, :_reduce_none,
1025
+ 1, 136, :_reduce_none,
1026
+ 1, 136, :_reduce_none,
1027
+ 1, 136, :_reduce_none,
1028
+ 1, 136, :_reduce_none,
1029
+ 1, 136, :_reduce_none,
1030
+ 0, 100, :_reduce_137,
1031
+ 3, 100, :_reduce_138,
1032
+ 1, 137, :_reduce_139,
1033
+ 3, 137, :_reduce_140,
1034
+ 3, 138, :_reduce_141,
1035
+ 0, 140, :_reduce_142,
1036
+ 1, 140, :_reduce_143,
1037
+ 1, 140, :_reduce_144,
1038
+ 0, 139, :_reduce_145,
1039
+ 1, 139, :_reduce_146,
1040
+ 0, 129, :_reduce_147,
1041
+ 3, 129, :_reduce_148,
1042
+ 1, 141, :_reduce_149,
1043
+ 3, 141, :_reduce_150,
1044
+ 4, 116, :_reduce_151,
1045
+ 8, 116, :_reduce_152,
1046
+ 5, 90, :_reduce_153,
1047
+ 3, 91, :_reduce_154,
1048
+ 3, 91, :_reduce_155,
1049
+ 3, 92, :_reduce_156,
1050
+ 1, 85, :_reduce_none,
1051
+ 3, 85, :_reduce_158,
1052
+ 3, 85, :_reduce_159,
1053
+ 1, 143, :_reduce_160,
1054
+ 1, 143, :_reduce_161,
1055
+ 1, 143, :_reduce_162,
1056
+ 1, 143, :_reduce_163,
1057
+ 1, 143, :_reduce_164,
1058
+ 1, 143, :_reduce_165,
1059
+ 1, 143, :_reduce_166,
1060
+ 1, 143, :_reduce_167,
1061
+ 1, 143, :_reduce_168,
1062
+ 1, 143, :_reduce_169,
1063
+ 1, 143, :_reduce_170,
1064
+ 1, 143, :_reduce_171,
1065
+ 1, 143, :_reduce_172,
1066
+ 1, 143, :_reduce_173,
1067
+ 1, 143, :_reduce_174,
1068
+ 1, 143, :_reduce_175,
1069
+ 1, 143, :_reduce_176,
1070
+ 4, 143, :_reduce_177,
1071
+ 2, 143, :_reduce_178,
1072
+ 4, 143, :_reduce_179,
1073
+ 3, 143, :_reduce_180,
1074
+ 4, 143, :_reduce_181,
1075
+ 2, 143, :_reduce_182,
1076
+ 2, 143, :_reduce_183,
1077
+ 1, 143, :_reduce_none,
1078
+ 1, 103, :_reduce_185,
1079
+ 3, 103, :_reduce_186,
1080
+ 4, 145, :_reduce_187,
1081
+ 1, 146, :_reduce_188,
1082
+ 3, 146, :_reduce_189,
1083
+ 3, 147, :_reduce_190,
1084
+ 3, 147, :_reduce_191,
1085
+ 3, 147, :_reduce_192,
1086
+ 2, 147, :_reduce_193,
1087
+ 3, 147, :_reduce_194,
1088
+ 3, 147, :_reduce_195,
1089
+ 3, 147, :_reduce_196,
1098
1090
  1, 148, :_reduce_none,
1099
- 3, 150, :_reduce_213,
1100
- 1, 150, :_reduce_214,
1091
+ 2, 148, :_reduce_198,
1092
+ 1, 118, :_reduce_none,
1093
+ 1, 118, :_reduce_none,
1094
+ 1, 118, :_reduce_none,
1095
+ 1, 118, :_reduce_none,
1096
+ 4, 130, :_reduce_203,
1097
+ 1, 130, :_reduce_204,
1098
+ 5, 134, :_reduce_205,
1099
+ 2, 134, :_reduce_206,
1100
+ 3, 132, :_reduce_207,
1101
+ 1, 132, :_reduce_208,
1102
+ 1, 132, :_reduce_none,
1103
+ 3, 150, :_reduce_210,
1104
+ 1, 150, :_reduce_211,
1101
1105
  1, 150, :_reduce_none,
1102
- 3, 152, :_reduce_216,
1103
- 1, 152, :_reduce_217,
1106
+ 3, 152, :_reduce_213,
1107
+ 1, 152, :_reduce_214,
1104
1108
  1, 152, :_reduce_none,
1105
- 0, 153, :_reduce_219,
1106
- 3, 153, :_reduce_220,
1107
- 1, 153, :_reduce_221,
1108
- 3, 153, :_reduce_222,
1109
- 1, 153, :_reduce_223,
1110
- 1, 153, :_reduce_224,
1111
- 2, 147, :_reduce_225,
1112
- 3, 149, :_reduce_226,
1113
- 3, 151, :_reduce_227,
1114
- 3, 154, :_reduce_228,
1115
- 4, 155, :_reduce_229,
1116
- 3, 156, :_reduce_230,
1117
- 0, 157, :_reduce_none,
1118
- 1, 157, :_reduce_none,
1119
- 1, 157, :_reduce_none,
1120
- 1, 157, :_reduce_none,
1121
- 2, 106, :_reduce_235,
1122
- 1, 158, :_reduce_none,
1123
- 1, 158, :_reduce_none,
1124
- 1, 158, :_reduce_none,
1125
- 2, 119, :_reduce_239,
1126
- 2, 97, :_reduce_240,
1127
- 2, 140, :_reduce_241,
1128
- 0, 103, :_reduce_242,
1129
- 1, 103, :_reduce_243,
1130
- 2, 103, :_reduce_244,
1131
- 1, 103, :_reduce_245,
1132
- 1, 142, :_reduce_none,
1133
- 0, 142, :_reduce_none ]
1134
-
1135
- racc_reduce_n = 248
1136
-
1137
- racc_shift_n = 422
1109
+ 3, 154, :_reduce_216,
1110
+ 1, 154, :_reduce_217,
1111
+ 1, 154, :_reduce_none,
1112
+ 0, 155, :_reduce_219,
1113
+ 3, 155, :_reduce_220,
1114
+ 1, 155, :_reduce_221,
1115
+ 3, 155, :_reduce_222,
1116
+ 1, 155, :_reduce_223,
1117
+ 1, 155, :_reduce_224,
1118
+ 2, 149, :_reduce_225,
1119
+ 3, 151, :_reduce_226,
1120
+ 3, 153, :_reduce_227,
1121
+ 3, 156, :_reduce_228,
1122
+ 4, 157, :_reduce_229,
1123
+ 3, 158, :_reduce_230,
1124
+ 0, 159, :_reduce_none,
1125
+ 1, 159, :_reduce_none,
1126
+ 1, 159, :_reduce_none,
1127
+ 1, 159, :_reduce_none,
1128
+ 1, 159, :_reduce_none,
1129
+ 1, 159, :_reduce_none,
1130
+ 2, 108, :_reduce_237,
1131
+ 1, 160, :_reduce_none,
1132
+ 1, 160, :_reduce_none,
1133
+ 1, 160, :_reduce_none,
1134
+ 2, 121, :_reduce_241,
1135
+ 2, 99, :_reduce_242,
1136
+ 2, 142, :_reduce_243,
1137
+ 0, 105, :_reduce_244,
1138
+ 1, 105, :_reduce_245,
1139
+ 2, 105, :_reduce_246,
1140
+ 1, 105, :_reduce_247,
1141
+ 1, 144, :_reduce_none,
1142
+ 0, 144, :_reduce_none ]
1143
+
1144
+ racc_reduce_n = 250
1145
+
1146
+ racc_shift_n = 424
1138
1147
 
1139
1148
  racc_token_table = {
1140
1149
  false => 0,
1141
1150
  :error => 1,
1142
1151
  :tUIDENT => 2,
1143
1152
  :tLIDENT => 3,
1144
- :tNAMESPACE => 4,
1145
- :tINTERFACEIDENT => 5,
1146
- :tGLOBALIDENT => 6,
1147
- :tLKEYWORD => 7,
1148
- :tUKEYWORD => 8,
1149
- :tLKEYWORD_Q_E => 9,
1150
- :tUKEYWORD_Q_E => 10,
1151
- :tIVAR => 11,
1152
- :tCLASSVAR => 12,
1153
- :tANNOTATION => 13,
1154
- :tSTRING => 14,
1155
- :tSYMBOL => 15,
1156
- :tINTEGER => 16,
1157
- :tWRITE_ATTR => 17,
1158
- :kLPAREN => 18,
1159
- :kRPAREN => 19,
1160
- :kLBRACKET => 20,
1161
- :kRBRACKET => 21,
1162
- :kLBRACE => 22,
1163
- :kRBRACE => 23,
1164
- :kVOID => 24,
1165
- :kNIL => 25,
1166
- :kTRUE => 26,
1167
- :kFALSE => 27,
1168
- :kANY => 28,
1169
- :kUNTYPED => 29,
1170
- :kTOP => 30,
1171
- :kBOT => 31,
1172
- :kSELF => 32,
1173
- :kSELFQ => 33,
1174
- :kINSTANCE => 34,
1175
- :kCLASS => 35,
1176
- :kBOOL => 36,
1177
- :kSINGLETON => 37,
1178
- :kTYPE => 38,
1179
- :kDEF => 39,
1180
- :kMODULE => 40,
1181
- :kPRIVATE => 41,
1182
- :kPUBLIC => 42,
1183
- :kALIAS => 43,
1184
- :kCOLON => 44,
1185
- :kCOLON2 => 45,
1186
- :kCOMMA => 46,
1187
- :kBAR => 47,
1188
- :kAMP => 48,
1189
- :kHAT => 49,
1190
- :kARROW => 50,
1191
- :kQUESTION => 51,
1192
- :kEXCLAMATION => 52,
1193
- :kSTAR => 53,
1194
- :kSTAR2 => 54,
1195
- :kFATARROW => 55,
1196
- :kEQ => 56,
1197
- :kDOT => 57,
1198
- :kDOT3 => 58,
1199
- :kLT => 59,
1200
- :kINTERFACE => 60,
1201
- :kEND => 61,
1202
- :kINCLUDE => 62,
1203
- :kEXTEND => 63,
1204
- :kATTRREADER => 64,
1205
- :kATTRWRITER => 65,
1206
- :kATTRACCESSOR => 66,
1207
- :tOPERATOR => 67,
1208
- :tQUOTEDMETHOD => 68,
1209
- :tQUOTEDIDENT => 69,
1210
- :kPREPEND => 70,
1211
- :kEXTENSION => 71,
1212
- :kINCOMPATIBLE => 72,
1213
- :type_TYPE => 73,
1214
- :type_SIGNATURE => 74,
1215
- :type_METHODTYPE => 75,
1216
- :tEOF => 76,
1217
- :kOUT => 77,
1218
- :kIN => 78,
1219
- :kUNCHECKED => 79,
1220
- :kOVERLOAD => 80 }
1221
-
1222
- racc_nt_base = 81
1153
+ :tUNDERSCOREIDENT => 4,
1154
+ :tNAMESPACE => 5,
1155
+ :tINTERFACEIDENT => 6,
1156
+ :tGLOBALIDENT => 7,
1157
+ :tLKEYWORD => 8,
1158
+ :tUKEYWORD => 9,
1159
+ :tLKEYWORD_Q_E => 10,
1160
+ :tUKEYWORD_Q_E => 11,
1161
+ :tIVAR => 12,
1162
+ :tCLASSVAR => 13,
1163
+ :tANNOTATION => 14,
1164
+ :tSTRING => 15,
1165
+ :tSYMBOL => 16,
1166
+ :tINTEGER => 17,
1167
+ :tWRITE_ATTR => 18,
1168
+ :kLPAREN => 19,
1169
+ :kRPAREN => 20,
1170
+ :kLBRACKET => 21,
1171
+ :kRBRACKET => 22,
1172
+ :kLBRACE => 23,
1173
+ :kRBRACE => 24,
1174
+ :kVOID => 25,
1175
+ :kNIL => 26,
1176
+ :kTRUE => 27,
1177
+ :kFALSE => 28,
1178
+ :kANY => 29,
1179
+ :kUNTYPED => 30,
1180
+ :kTOP => 31,
1181
+ :kBOT => 32,
1182
+ :kSELF => 33,
1183
+ :kSELFQ => 34,
1184
+ :kINSTANCE => 35,
1185
+ :kCLASS => 36,
1186
+ :kBOOL => 37,
1187
+ :kSINGLETON => 38,
1188
+ :kTYPE => 39,
1189
+ :kDEF => 40,
1190
+ :kMODULE => 41,
1191
+ :kPRIVATE => 42,
1192
+ :kPUBLIC => 43,
1193
+ :kALIAS => 44,
1194
+ :kCOLON => 45,
1195
+ :kCOLON2 => 46,
1196
+ :kCOMMA => 47,
1197
+ :kBAR => 48,
1198
+ :kAMP => 49,
1199
+ :kHAT => 50,
1200
+ :kARROW => 51,
1201
+ :kQUESTION => 52,
1202
+ :kEXCLAMATION => 53,
1203
+ :kSTAR => 54,
1204
+ :kSTAR2 => 55,
1205
+ :kFATARROW => 56,
1206
+ :kEQ => 57,
1207
+ :kDOT => 58,
1208
+ :kDOT3 => 59,
1209
+ :kLT => 60,
1210
+ :kINTERFACE => 61,
1211
+ :kEND => 62,
1212
+ :kINCLUDE => 63,
1213
+ :kEXTEND => 64,
1214
+ :kATTRREADER => 65,
1215
+ :kATTRWRITER => 66,
1216
+ :kATTRACCESSOR => 67,
1217
+ :tOPERATOR => 68,
1218
+ :tQUOTEDMETHOD => 69,
1219
+ :tQUOTEDIDENT => 70,
1220
+ :kPREPEND => 71,
1221
+ :kEXTENSION => 72,
1222
+ :kINCOMPATIBLE => 73,
1223
+ :type_TYPE => 74,
1224
+ :type_SIGNATURE => 75,
1225
+ :type_METHODTYPE => 76,
1226
+ :tEOF => 77,
1227
+ :kOUT => 78,
1228
+ :kIN => 79,
1229
+ :kUNCHECKED => 80,
1230
+ :kOVERLOAD => 81,
1231
+ :kUNDERSCORE => 82 }
1232
+
1233
+ racc_nt_base = 83
1223
1234
 
1224
1235
  racc_use_result_var = true
1225
1236
 
@@ -1244,6 +1255,7 @@ Racc_token_to_s_table = [
1244
1255
  "error",
1245
1256
  "tUIDENT",
1246
1257
  "tLIDENT",
1258
+ "tUNDERSCOREIDENT",
1247
1259
  "tNAMESPACE",
1248
1260
  "tINTERFACEIDENT",
1249
1261
  "tGLOBALIDENT",
@@ -1321,6 +1333,7 @@ Racc_token_to_s_table = [
1321
1333
  "kIN",
1322
1334
  "kUNCHECKED",
1323
1335
  "kOVERLOAD",
1336
+ "kUNDERSCORE",
1324
1337
  "$start",
1325
1338
  "target",
1326
1339
  "type",
@@ -1406,7 +1419,7 @@ Racc_debug_parser = false
1406
1419
 
1407
1420
  # reduce 0 omitted
1408
1421
 
1409
- module_eval(<<'.,.,', 'parser.y', 28)
1422
+ module_eval(<<'.,.,', 'parser.y', 29)
1410
1423
  def _reduce_1(val, _values, result)
1411
1424
  result = val[1]
1412
1425
 
@@ -1414,7 +1427,7 @@ module_eval(<<'.,.,', 'parser.y', 28)
1414
1427
  end
1415
1428
  .,.,
1416
1429
 
1417
- module_eval(<<'.,.,', 'parser.y', 31)
1430
+ module_eval(<<'.,.,', 'parser.y', 32)
1418
1431
  def _reduce_2(val, _values, result)
1419
1432
  result = val[1]
1420
1433
 
@@ -1422,7 +1435,7 @@ module_eval(<<'.,.,', 'parser.y', 31)
1422
1435
  end
1423
1436
  .,.,
1424
1437
 
1425
- module_eval(<<'.,.,', 'parser.y', 34)
1438
+ module_eval(<<'.,.,', 'parser.y', 35)
1426
1439
  def _reduce_3(val, _values, result)
1427
1440
  result = val[1]
1428
1441
 
@@ -1434,14 +1447,14 @@ module_eval(<<'.,.,', 'parser.y', 34)
1434
1447
 
1435
1448
  # reduce 5 omitted
1436
1449
 
1437
- module_eval(<<'.,.,', 'parser.y', 40)
1450
+ module_eval(<<'.,.,', 'parser.y', 41)
1438
1451
  def _reduce_6(val, _values, result)
1439
1452
  result = []
1440
1453
  result
1441
1454
  end
1442
1455
  .,.,
1443
1456
 
1444
- module_eval(<<'.,.,', 'parser.y', 42)
1457
+ module_eval(<<'.,.,', 'parser.y', 43)
1445
1458
  def _reduce_7(val, _values, result)
1446
1459
  result = val[0].push(val[1])
1447
1460
 
@@ -1461,28 +1474,28 @@ module_eval(<<'.,.,', 'parser.y', 42)
1461
1474
 
1462
1475
  # reduce 13 omitted
1463
1476
 
1464
- module_eval(<<'.,.,', 'parser.y', 53)
1477
+ module_eval(<<'.,.,', 'parser.y', 54)
1465
1478
  def _reduce_14(val, _values, result)
1466
1479
  start_new_variables_scope
1467
1480
  result
1468
1481
  end
1469
1482
  .,.,
1470
1483
 
1471
- module_eval(<<'.,.,', 'parser.y', 54)
1484
+ module_eval(<<'.,.,', 'parser.y', 55)
1472
1485
  def _reduce_15(val, _values, result)
1473
1486
  start_merged_variables_scope
1474
1487
  result
1475
1488
  end
1476
1489
  .,.,
1477
1490
 
1478
- module_eval(<<'.,.,', 'parser.y', 57)
1491
+ module_eval(<<'.,.,', 'parser.y', 58)
1479
1492
  def _reduce_16(val, _values, result)
1480
1493
  result = []
1481
1494
  result
1482
1495
  end
1483
1496
  .,.,
1484
1497
 
1485
- module_eval(<<'.,.,', 'parser.y', 59)
1498
+ module_eval(<<'.,.,', 'parser.y', 60)
1486
1499
  def _reduce_17(val, _values, result)
1487
1500
  result = val[1].unshift(Annotation.new(string: val[0].value, location: val[0].location))
1488
1501
 
@@ -1490,7 +1503,7 @@ module_eval(<<'.,.,', 'parser.y', 59)
1490
1503
  end
1491
1504
  .,.,
1492
1505
 
1493
- module_eval(<<'.,.,', 'parser.y', 64)
1506
+ module_eval(<<'.,.,', 'parser.y', 65)
1494
1507
  def _reduce_18(val, _values, result)
1495
1508
  reset_variable_scope
1496
1509
 
@@ -1520,14 +1533,14 @@ module_eval(<<'.,.,', 'parser.y', 64)
1520
1533
  end
1521
1534
  .,.,
1522
1535
 
1523
- module_eval(<<'.,.,', 'parser.y', 90)
1536
+ module_eval(<<'.,.,', 'parser.y', 91)
1524
1537
  def _reduce_19(val, _values, result)
1525
1538
  result = nil
1526
1539
  result
1527
1540
  end
1528
1541
  .,.,
1529
1542
 
1530
- module_eval(<<'.,.,', 'parser.y', 92)
1543
+ module_eval(<<'.,.,', 'parser.y', 93)
1531
1544
  def _reduce_20(val, _values, result)
1532
1545
  loc = val[1].location.with_children(
1533
1546
  required: { name: val[1].location },
@@ -1540,7 +1553,7 @@ module_eval(<<'.,.,', 'parser.y', 92)
1540
1553
  end
1541
1554
  .,.,
1542
1555
 
1543
- module_eval(<<'.,.,', 'parser.y', 100)
1556
+ module_eval(<<'.,.,', 'parser.y', 101)
1544
1557
  def _reduce_21(val, _values, result)
1545
1558
  loc = (val[1].location + val[4].location).with_children(
1546
1559
  required: { name: val[1].location },
@@ -1553,7 +1566,7 @@ module_eval(<<'.,.,', 'parser.y', 100)
1553
1566
  end
1554
1567
  .,.,
1555
1568
 
1556
- module_eval(<<'.,.,', 'parser.y', 110)
1569
+ module_eval(<<'.,.,', 'parser.y', 111)
1557
1570
  def _reduce_22(val, _values, result)
1558
1571
  reset_variable_scope
1559
1572
 
@@ -1596,7 +1609,7 @@ module_eval(<<'.,.,', 'parser.y', 110)
1596
1609
  end
1597
1610
  .,.,
1598
1611
 
1599
- module_eval(<<'.,.,', 'parser.y', 148)
1612
+ module_eval(<<'.,.,', 'parser.y', 149)
1600
1613
  def _reduce_23(val, _values, result)
1601
1614
  reset_variable_scope
1602
1615
 
@@ -1629,14 +1642,14 @@ module_eval(<<'.,.,', 'parser.y', 148)
1629
1642
  end
1630
1643
  .,.,
1631
1644
 
1632
- module_eval(<<'.,.,', 'parser.y', 177)
1645
+ module_eval(<<'.,.,', 'parser.y', 178)
1633
1646
  def _reduce_24(val, _values, result)
1634
1647
  result = LocatedValue.new(value: [], location: nil)
1635
1648
  result
1636
1649
  end
1637
1650
  .,.,
1638
1651
 
1639
- module_eval(<<'.,.,', 'parser.y', 179)
1652
+ module_eval(<<'.,.,', 'parser.y', 180)
1640
1653
  def _reduce_25(val, _values, result)
1641
1654
  result = LocatedValue.new(value: val[1], location: val[0].location)
1642
1655
 
@@ -1644,7 +1657,7 @@ module_eval(<<'.,.,', 'parser.y', 179)
1644
1657
  end
1645
1658
  .,.,
1646
1659
 
1647
- module_eval(<<'.,.,', 'parser.y', 184)
1660
+ module_eval(<<'.,.,', 'parser.y', 185)
1648
1661
  def _reduce_26(val, _values, result)
1649
1662
  result = [val[0]]
1650
1663
 
@@ -1652,7 +1665,7 @@ module_eval(<<'.,.,', 'parser.y', 184)
1652
1665
  end
1653
1666
  .,.,
1654
1667
 
1655
- module_eval(<<'.,.,', 'parser.y', 187)
1668
+ module_eval(<<'.,.,', 'parser.y', 188)
1656
1669
  def _reduce_27(val, _values, result)
1657
1670
  result = val[0].push(val[2])
1658
1671
 
@@ -1660,7 +1673,7 @@ module_eval(<<'.,.,', 'parser.y', 187)
1660
1673
  end
1661
1674
  .,.,
1662
1675
 
1663
- module_eval(<<'.,.,', 'parser.y', 192)
1676
+ module_eval(<<'.,.,', 'parser.y', 193)
1664
1677
  def _reduce_28(val, _values, result)
1665
1678
  name = val[0].value
1666
1679
  args = val[2]
@@ -1683,7 +1696,7 @@ module_eval(<<'.,.,', 'parser.y', 192)
1683
1696
  end
1684
1697
  .,.,
1685
1698
 
1686
- module_eval(<<'.,.,', 'parser.y', 210)
1699
+ module_eval(<<'.,.,', 'parser.y', 211)
1687
1700
  def _reduce_29(val, _values, result)
1688
1701
  name = val[0].value
1689
1702
  args = []
@@ -1705,14 +1718,14 @@ module_eval(<<'.,.,', 'parser.y', 210)
1705
1718
  end
1706
1719
  .,.,
1707
1720
 
1708
- module_eval(<<'.,.,', 'parser.y', 228)
1721
+ module_eval(<<'.,.,', 'parser.y', 229)
1709
1722
  def _reduce_30(val, _values, result)
1710
1723
  result = []
1711
1724
  result
1712
1725
  end
1713
1726
  .,.,
1714
1727
 
1715
- module_eval(<<'.,.,', 'parser.y', 230)
1728
+ module_eval(<<'.,.,', 'parser.y', 231)
1716
1729
  def _reduce_31(val, _values, result)
1717
1730
  result = val[0].push(val[1])
1718
1731
 
@@ -1732,7 +1745,7 @@ module_eval(<<'.,.,', 'parser.y', 230)
1732
1745
 
1733
1746
  # reduce 37 omitted
1734
1747
 
1735
- module_eval(<<'.,.,', 'parser.y', 241)
1748
+ module_eval(<<'.,.,', 'parser.y', 242)
1736
1749
  def _reduce_38(val, _values, result)
1737
1750
  result = Members::Public.new(location: val[0].location)
1738
1751
 
@@ -1740,7 +1753,7 @@ module_eval(<<'.,.,', 'parser.y', 241)
1740
1753
  end
1741
1754
  .,.,
1742
1755
 
1743
- module_eval(<<'.,.,', 'parser.y', 244)
1756
+ module_eval(<<'.,.,', 'parser.y', 245)
1744
1757
  def _reduce_39(val, _values, result)
1745
1758
  result = Members::Private.new(location: val[0].location)
1746
1759
 
@@ -1752,21 +1765,21 @@ module_eval(<<'.,.,', 'parser.y', 244)
1752
1765
 
1753
1766
  # reduce 41 omitted
1754
1767
 
1755
- module_eval(<<'.,.,', 'parser.y', 250)
1768
+ module_eval(<<'.,.,', 'parser.y', 251)
1756
1769
  def _reduce_42(val, _values, result)
1757
1770
  result = LocatedValue.new(value: :instance, location: nil)
1758
1771
  result
1759
1772
  end
1760
1773
  .,.,
1761
1774
 
1762
- module_eval(<<'.,.,', 'parser.y', 251)
1775
+ module_eval(<<'.,.,', 'parser.y', 252)
1763
1776
  def _reduce_43(val, _values, result)
1764
1777
  result = LocatedValue.new(value: :singleton, location: val[0].location + val[1].location)
1765
1778
  result
1766
1779
  end
1767
1780
  .,.,
1768
1781
 
1769
- module_eval(<<'.,.,', 'parser.y', 255)
1782
+ module_eval(<<'.,.,', 'parser.y', 256)
1770
1783
  def _reduce_44(val, _values, result)
1771
1784
  location = val[1].location + val[4].location
1772
1785
  name_loc, colon_loc = split_kw_loc(val[3].location)
@@ -1786,7 +1799,7 @@ module_eval(<<'.,.,', 'parser.y', 255)
1786
1799
  end
1787
1800
  .,.,
1788
1801
 
1789
- module_eval(<<'.,.,', 'parser.y', 270)
1802
+ module_eval(<<'.,.,', 'parser.y', 271)
1790
1803
  def _reduce_45(val, _values, result)
1791
1804
  location = val[1].location + val[6].location
1792
1805
  ivar_loc = val[4]&.location
@@ -1817,7 +1830,7 @@ module_eval(<<'.,.,', 'parser.y', 270)
1817
1830
  end
1818
1831
  .,.,
1819
1832
 
1820
- module_eval(<<'.,.,', 'parser.y', 296)
1833
+ module_eval(<<'.,.,', 'parser.y', 297)
1821
1834
  def _reduce_46(val, _values, result)
1822
1835
  location = val[1].location + val[4].location
1823
1836
  name_loc, colon_loc = split_kw_loc(val[3].location)
@@ -1837,7 +1850,7 @@ module_eval(<<'.,.,', 'parser.y', 296)
1837
1850
  end
1838
1851
  .,.,
1839
1852
 
1840
- module_eval(<<'.,.,', 'parser.y', 311)
1853
+ module_eval(<<'.,.,', 'parser.y', 312)
1841
1854
  def _reduce_47(val, _values, result)
1842
1855
  location = val[1].location + val[6].location
1843
1856
  ivar_loc = val[4]&.location
@@ -1869,7 +1882,7 @@ module_eval(<<'.,.,', 'parser.y', 311)
1869
1882
  end
1870
1883
  .,.,
1871
1884
 
1872
- module_eval(<<'.,.,', 'parser.y', 338)
1885
+ module_eval(<<'.,.,', 'parser.y', 339)
1873
1886
  def _reduce_48(val, _values, result)
1874
1887
  location = val[1].location + val[4].location
1875
1888
  name_loc, colon_loc = split_kw_loc(val[3].location)
@@ -1890,7 +1903,7 @@ module_eval(<<'.,.,', 'parser.y', 338)
1890
1903
  end
1891
1904
  .,.,
1892
1905
 
1893
- module_eval(<<'.,.,', 'parser.y', 354)
1906
+ module_eval(<<'.,.,', 'parser.y', 355)
1894
1907
  def _reduce_49(val, _values, result)
1895
1908
  location = val[1].location + val[6].location
1896
1909
  ivar_loc = val[4]&.location
@@ -1922,21 +1935,21 @@ module_eval(<<'.,.,', 'parser.y', 354)
1922
1935
  end
1923
1936
  .,.,
1924
1937
 
1925
- module_eval(<<'.,.,', 'parser.y', 382)
1938
+ module_eval(<<'.,.,', 'parser.y', 383)
1926
1939
  def _reduce_50(val, _values, result)
1927
1940
  result = nil
1928
1941
  result
1929
1942
  end
1930
1943
  .,.,
1931
1944
 
1932
- module_eval(<<'.,.,', 'parser.y', 383)
1945
+ module_eval(<<'.,.,', 'parser.y', 384)
1933
1946
  def _reduce_51(val, _values, result)
1934
1947
  result = LocatedValue.new(value: false, location: val[0].location + val[1].location)
1935
1948
  result
1936
1949
  end
1937
1950
  .,.,
1938
1951
 
1939
- module_eval(<<'.,.,', 'parser.y', 385)
1952
+ module_eval(<<'.,.,', 'parser.y', 386)
1940
1953
  def _reduce_52(val, _values, result)
1941
1954
  result = LocatedValue.new(
1942
1955
  value: val[1],
@@ -1947,7 +1960,7 @@ module_eval(<<'.,.,', 'parser.y', 385)
1947
1960
  end
1948
1961
  .,.,
1949
1962
 
1950
- module_eval(<<'.,.,', 'parser.y', 393)
1963
+ module_eval(<<'.,.,', 'parser.y', 394)
1951
1964
  def _reduce_53(val, _values, result)
1952
1965
  location = (val[0].location + val[2].location).with_children(
1953
1966
  required: { name: val[0].location, colon: val[1].location },
@@ -1965,7 +1978,7 @@ module_eval(<<'.,.,', 'parser.y', 393)
1965
1978
  end
1966
1979
  .,.,
1967
1980
 
1968
- module_eval(<<'.,.,', 'parser.y', 406)
1981
+ module_eval(<<'.,.,', 'parser.y', 407)
1969
1982
  def _reduce_54(val, _values, result)
1970
1983
  type = val[2]
1971
1984
 
@@ -1993,7 +2006,7 @@ module_eval(<<'.,.,', 'parser.y', 406)
1993
2006
  end
1994
2007
  .,.,
1995
2008
 
1996
- module_eval(<<'.,.,', 'parser.y', 429)
2009
+ module_eval(<<'.,.,', 'parser.y', 430)
1997
2010
  def _reduce_55(val, _values, result)
1998
2011
  type = val[4]
1999
2012
 
@@ -2021,7 +2034,7 @@ module_eval(<<'.,.,', 'parser.y', 429)
2021
2034
  end
2022
2035
  .,.,
2023
2036
 
2024
- module_eval(<<'.,.,', 'parser.y', 454)
2037
+ module_eval(<<'.,.,', 'parser.y', 455)
2025
2038
  def _reduce_56(val, _values, result)
2026
2039
  reset_variable_scope
2027
2040
 
@@ -2043,14 +2056,14 @@ module_eval(<<'.,.,', 'parser.y', 454)
2043
2056
  end
2044
2057
  .,.,
2045
2058
 
2046
- module_eval(<<'.,.,', 'parser.y', 472)
2059
+ module_eval(<<'.,.,', 'parser.y', 473)
2047
2060
  def _reduce_57(val, _values, result)
2048
2061
  result = []
2049
2062
  result
2050
2063
  end
2051
2064
  .,.,
2052
2065
 
2053
- module_eval(<<'.,.,', 'parser.y', 474)
2066
+ module_eval(<<'.,.,', 'parser.y', 475)
2054
2067
  def _reduce_58(val, _values, result)
2055
2068
  result = val[0].push(val[1])
2056
2069
 
@@ -2058,7 +2071,7 @@ module_eval(<<'.,.,', 'parser.y', 474)
2058
2071
  end
2059
2072
  .,.,
2060
2073
 
2061
- module_eval(<<'.,.,', 'parser.y', 479)
2074
+ module_eval(<<'.,.,', 'parser.y', 480)
2062
2075
  def _reduce_59(val, _values, result)
2063
2076
  unless val[0].kind == :instance
2064
2077
  raise SemanticsError.new("Interface cannot have singleton method", subject: val[0], location: val[0].location)
@@ -2074,7 +2087,7 @@ module_eval(<<'.,.,', 'parser.y', 479)
2074
2087
  end
2075
2088
  .,.,
2076
2089
 
2077
- module_eval(<<'.,.,', 'parser.y', 490)
2090
+ module_eval(<<'.,.,', 'parser.y', 491)
2078
2091
  def _reduce_60(val, _values, result)
2079
2092
  unless val[0].name.interface?
2080
2093
  raise SemanticsError.new("Interface should include an interface", subject: val[0], location: val[0].location)
@@ -2088,7 +2101,7 @@ module_eval(<<'.,.,', 'parser.y', 490)
2088
2101
 
2089
2102
  # reduce 61 omitted
2090
2103
 
2091
- module_eval(<<'.,.,', 'parser.y', 500)
2104
+ module_eval(<<'.,.,', 'parser.y', 501)
2092
2105
  def _reduce_62(val, _values, result)
2093
2106
  if val[2].value.alias?
2094
2107
  raise SemanticsError.new("Should include module or interface", subject: val[2].value, location: val[2].location)
@@ -2109,7 +2122,7 @@ module_eval(<<'.,.,', 'parser.y', 500)
2109
2122
  end
2110
2123
  .,.,
2111
2124
 
2112
- module_eval(<<'.,.,', 'parser.y', 516)
2125
+ module_eval(<<'.,.,', 'parser.y', 517)
2113
2126
  def _reduce_63(val, _values, result)
2114
2127
  if val[2].value.alias?
2115
2128
  raise SemanticsError.new("Should include module or interface", subject: val[2].value, location: val[2].location)
@@ -2130,7 +2143,7 @@ module_eval(<<'.,.,', 'parser.y', 516)
2130
2143
  end
2131
2144
  .,.,
2132
2145
 
2133
- module_eval(<<'.,.,', 'parser.y', 534)
2146
+ module_eval(<<'.,.,', 'parser.y', 535)
2134
2147
  def _reduce_64(val, _values, result)
2135
2148
  if val[2].value.alias?
2136
2149
  raise SemanticsError.new("Should extend module or interface", subject: val[2].value, location: val[2].location)
@@ -2151,7 +2164,7 @@ module_eval(<<'.,.,', 'parser.y', 534)
2151
2164
  end
2152
2165
  .,.,
2153
2166
 
2154
- module_eval(<<'.,.,', 'parser.y', 550)
2167
+ module_eval(<<'.,.,', 'parser.y', 551)
2155
2168
  def _reduce_65(val, _values, result)
2156
2169
  if val[2].value.alias?
2157
2170
  raise SemanticsError.new("Should extend module or interface", subject: val[2].value, location: val[2].location)
@@ -2172,7 +2185,7 @@ module_eval(<<'.,.,', 'parser.y', 550)
2172
2185
  end
2173
2186
  .,.,
2174
2187
 
2175
- module_eval(<<'.,.,', 'parser.y', 568)
2188
+ module_eval(<<'.,.,', 'parser.y', 569)
2176
2189
  def _reduce_66(val, _values, result)
2177
2190
  unless val[2].value.class?
2178
2191
  raise SemanticsError.new("Should prepend module", subject: val[2].value, location: val[2].location)
@@ -2193,7 +2206,7 @@ module_eval(<<'.,.,', 'parser.y', 568)
2193
2206
  end
2194
2207
  .,.,
2195
2208
 
2196
- module_eval(<<'.,.,', 'parser.y', 584)
2209
+ module_eval(<<'.,.,', 'parser.y', 585)
2197
2210
  def _reduce_67(val, _values, result)
2198
2211
  unless val[2].value.class?
2199
2212
  raise SemanticsError.new("Should prepend module", subject: val[2].value, location: val[2].location)
@@ -2214,14 +2227,14 @@ module_eval(<<'.,.,', 'parser.y', 584)
2214
2227
  end
2215
2228
  .,.,
2216
2229
 
2217
- module_eval(<<'.,.,', 'parser.y', 601)
2230
+ module_eval(<<'.,.,', 'parser.y', 602)
2218
2231
  def _reduce_68(val, _values, result)
2219
2232
  result = nil
2220
2233
  result
2221
2234
  end
2222
2235
  .,.,
2223
2236
 
2224
- module_eval(<<'.,.,', 'parser.y', 603)
2237
+ module_eval(<<'.,.,', 'parser.y', 604)
2225
2238
  def _reduce_69(val, _values, result)
2226
2239
  RBS.logger.warn "`overload def` syntax is deprecated. Use `...` syntax instead."
2227
2240
  result = val[0]
@@ -2230,7 +2243,7 @@ module_eval(<<'.,.,', 'parser.y', 603)
2230
2243
  end
2231
2244
  .,.,
2232
2245
 
2233
- module_eval(<<'.,.,', 'parser.y', 609)
2246
+ module_eval(<<'.,.,', 'parser.y', 610)
2234
2247
  def _reduce_70(val, _values, result)
2235
2248
  location = val[3].location + val[6].last.location
2236
2249
 
@@ -2269,7 +2282,7 @@ module_eval(<<'.,.,', 'parser.y', 609)
2269
2282
 
2270
2283
  # reduce 71 omitted
2271
2284
 
2272
- module_eval(<<'.,.,', 'parser.y', 643)
2285
+ module_eval(<<'.,.,', 'parser.y', 644)
2273
2286
  def _reduce_72(val, _values, result)
2274
2287
  RBS.logger.warn "`incompatible` method attribute is deprecated and ignored."
2275
2288
 
@@ -2277,42 +2290,42 @@ module_eval(<<'.,.,', 'parser.y', 643)
2277
2290
  end
2278
2291
  .,.,
2279
2292
 
2280
- module_eval(<<'.,.,', 'parser.y', 647)
2293
+ module_eval(<<'.,.,', 'parser.y', 648)
2281
2294
  def _reduce_73(val, _values, result)
2282
2295
  result = nil
2283
2296
  result
2284
2297
  end
2285
2298
  .,.,
2286
2299
 
2287
- module_eval(<<'.,.,', 'parser.y', 648)
2300
+ module_eval(<<'.,.,', 'parser.y', 649)
2288
2301
  def _reduce_74(val, _values, result)
2289
2302
  result = LocatedValue.new(value: :singleton, location: val[0].location + val[1].location)
2290
2303
  result
2291
2304
  end
2292
2305
  .,.,
2293
2306
 
2294
- module_eval(<<'.,.,', 'parser.y', 649)
2307
+ module_eval(<<'.,.,', 'parser.y', 650)
2295
2308
  def _reduce_75(val, _values, result)
2296
2309
  result = LocatedValue.new(value: :singleton_instance, location: val[0].location + val[1].location)
2297
2310
  result
2298
2311
  end
2299
2312
  .,.,
2300
2313
 
2301
- module_eval(<<'.,.,', 'parser.y', 652)
2314
+ module_eval(<<'.,.,', 'parser.y', 653)
2302
2315
  def _reduce_76(val, _values, result)
2303
2316
  result = [val[0]]
2304
2317
  result
2305
2318
  end
2306
2319
  .,.,
2307
2320
 
2308
- module_eval(<<'.,.,', 'parser.y', 653)
2321
+ module_eval(<<'.,.,', 'parser.y', 654)
2309
2322
  def _reduce_77(val, _values, result)
2310
2323
  result = [LocatedValue.new(value: :dot3, location: val[0].location)]
2311
2324
  result
2312
2325
  end
2313
2326
  .,.,
2314
2327
 
2315
- module_eval(<<'.,.,', 'parser.y', 655)
2328
+ module_eval(<<'.,.,', 'parser.y', 656)
2316
2329
  def _reduce_78(val, _values, result)
2317
2330
  result = val[2].unshift(val[0])
2318
2331
 
@@ -2320,7 +2333,7 @@ module_eval(<<'.,.,', 'parser.y', 655)
2320
2333
  end
2321
2334
  .,.,
2322
2335
 
2323
- module_eval(<<'.,.,', 'parser.y', 660)
2336
+ module_eval(<<'.,.,', 'parser.y', 661)
2324
2337
  def _reduce_79(val, _values, result)
2325
2338
  reset_variable_scope
2326
2339
 
@@ -2338,14 +2351,14 @@ module_eval(<<'.,.,', 'parser.y', 660)
2338
2351
  end
2339
2352
  .,.,
2340
2353
 
2341
- module_eval(<<'.,.,', 'parser.y', 674)
2354
+ module_eval(<<'.,.,', 'parser.y', 675)
2342
2355
  def _reduce_80(val, _values, result)
2343
2356
  result = nil
2344
2357
  result
2345
2358
  end
2346
2359
  .,.,
2347
2360
 
2348
- module_eval(<<'.,.,', 'parser.y', 676)
2361
+ module_eval(<<'.,.,', 'parser.y', 677)
2349
2362
  def _reduce_81(val, _values, result)
2350
2363
  result = LocatedValue.new(value: val[1], location: val[0].location + val[2].location)
2351
2364
 
@@ -2353,7 +2366,7 @@ module_eval(<<'.,.,', 'parser.y', 676)
2353
2366
  end
2354
2367
  .,.,
2355
2368
 
2356
- module_eval(<<'.,.,', 'parser.y', 681)
2369
+ module_eval(<<'.,.,', 'parser.y', 682)
2357
2370
  def _reduce_82(val, _values, result)
2358
2371
  block = Types::Block.new(type: val[1].value, required: true)
2359
2372
  result = LocatedValue.new(value: block, location: val[0].location + val[2].location)
@@ -2362,7 +2375,7 @@ module_eval(<<'.,.,', 'parser.y', 681)
2362
2375
  end
2363
2376
  .,.,
2364
2377
 
2365
- module_eval(<<'.,.,', 'parser.y', 685)
2378
+ module_eval(<<'.,.,', 'parser.y', 686)
2366
2379
  def _reduce_83(val, _values, result)
2367
2380
  block = Types::Block.new(type: val[2].value, required: false)
2368
2381
  result = LocatedValue.new(value: block, location: val[0].location + val[3].location)
@@ -2371,7 +2384,7 @@ module_eval(<<'.,.,', 'parser.y', 685)
2371
2384
  end
2372
2385
  .,.,
2373
2386
 
2374
- module_eval(<<'.,.,', 'parser.y', 691)
2387
+ module_eval(<<'.,.,', 'parser.y', 692)
2375
2388
  def _reduce_84(val, _values, result)
2376
2389
  loc = val[0].location
2377
2390
 
@@ -2384,7 +2397,7 @@ module_eval(<<'.,.,', 'parser.y', 691)
2384
2397
  end
2385
2398
  .,.,
2386
2399
 
2387
- module_eval(<<'.,.,', 'parser.y', 699)
2400
+ module_eval(<<'.,.,', 'parser.y', 700)
2388
2401
  def _reduce_85(val, _values, result)
2389
2402
  result = LocatedValue.new(value: val[0].value.to_sym,
2390
2403
  location: val[0].location + val[1].location)
@@ -2411,7 +2424,7 @@ module_eval(<<'.,.,', 'parser.y', 699)
2411
2424
 
2412
2425
  # reduce 94 omitted
2413
2426
 
2414
- module_eval(<<'.,.,', 'parser.y', 708)
2427
+ module_eval(<<'.,.,', 'parser.y', 709)
2415
2428
  def _reduce_95(val, _values, result)
2416
2429
  unless val[0].location.pred?(val[1].location)
2417
2430
  raise SyntaxError.new(token_str: "kQUESTION", error_value: val[1])
@@ -2424,7 +2437,7 @@ module_eval(<<'.,.,', 'parser.y', 708)
2424
2437
  end
2425
2438
  .,.,
2426
2439
 
2427
- module_eval(<<'.,.,', 'parser.y', 716)
2440
+ module_eval(<<'.,.,', 'parser.y', 717)
2428
2441
  def _reduce_96(val, _values, result)
2429
2442
  unless val[0].location.pred?(val[1].location)
2430
2443
  raise SyntaxError.new(token_str: "kEXCLAMATION", error_value: val[1])
@@ -2517,14 +2530,14 @@ module_eval(<<'.,.,', 'parser.y', 716)
2517
2530
 
2518
2531
  # reduce 136 omitted
2519
2532
 
2520
- module_eval(<<'.,.,', 'parser.y', 736)
2533
+ module_eval(<<'.,.,', 'parser.y', 737)
2521
2534
  def _reduce_137(val, _values, result)
2522
2535
  result = nil
2523
2536
  result
2524
2537
  end
2525
2538
  .,.,
2526
2539
 
2527
- module_eval(<<'.,.,', 'parser.y', 738)
2540
+ module_eval(<<'.,.,', 'parser.y', 739)
2528
2541
  def _reduce_138(val, _values, result)
2529
2542
  val[1].each {|p| insert_bound_variable(p.name) }
2530
2543
 
@@ -2534,7 +2547,7 @@ module_eval(<<'.,.,', 'parser.y', 738)
2534
2547
  end
2535
2548
  .,.,
2536
2549
 
2537
- module_eval(<<'.,.,', 'parser.y', 745)
2550
+ module_eval(<<'.,.,', 'parser.y', 746)
2538
2551
  def _reduce_139(val, _values, result)
2539
2552
  result = Declarations::ModuleTypeParams.new()
2540
2553
  result.add(val[0])
@@ -2543,7 +2556,7 @@ module_eval(<<'.,.,', 'parser.y', 745)
2543
2556
  end
2544
2557
  .,.,
2545
2558
 
2546
- module_eval(<<'.,.,', 'parser.y', 749)
2559
+ module_eval(<<'.,.,', 'parser.y', 750)
2547
2560
  def _reduce_140(val, _values, result)
2548
2561
  result = val[0].add(val[2])
2549
2562
 
@@ -2551,7 +2564,7 @@ module_eval(<<'.,.,', 'parser.y', 749)
2551
2564
  end
2552
2565
  .,.,
2553
2566
 
2554
- module_eval(<<'.,.,', 'parser.y', 754)
2567
+ module_eval(<<'.,.,', 'parser.y', 755)
2555
2568
  def _reduce_141(val, _values, result)
2556
2569
  loc = case
2557
2570
  when l0 = val[0].location
@@ -2576,49 +2589,49 @@ module_eval(<<'.,.,', 'parser.y', 754)
2576
2589
  end
2577
2590
  .,.,
2578
2591
 
2579
- module_eval(<<'.,.,', 'parser.y', 775)
2592
+ module_eval(<<'.,.,', 'parser.y', 776)
2580
2593
  def _reduce_142(val, _values, result)
2581
2594
  result = LocatedValue.new(value: :invariant, location: nil)
2582
2595
  result
2583
2596
  end
2584
2597
  .,.,
2585
2598
 
2586
- module_eval(<<'.,.,', 'parser.y', 776)
2599
+ module_eval(<<'.,.,', 'parser.y', 777)
2587
2600
  def _reduce_143(val, _values, result)
2588
2601
  result = LocatedValue.new(value: :covariant, location: val[0].location)
2589
2602
  result
2590
2603
  end
2591
2604
  .,.,
2592
2605
 
2593
- module_eval(<<'.,.,', 'parser.y', 777)
2606
+ module_eval(<<'.,.,', 'parser.y', 778)
2594
2607
  def _reduce_144(val, _values, result)
2595
2608
  result = LocatedValue.new(value: :contravariant, location: val[0].location)
2596
2609
  result
2597
2610
  end
2598
2611
  .,.,
2599
2612
 
2600
- module_eval(<<'.,.,', 'parser.y', 780)
2613
+ module_eval(<<'.,.,', 'parser.y', 781)
2601
2614
  def _reduce_145(val, _values, result)
2602
2615
  result = LocatedValue.new(value: false, location: nil)
2603
2616
  result
2604
2617
  end
2605
2618
  .,.,
2606
2619
 
2607
- module_eval(<<'.,.,', 'parser.y', 781)
2620
+ module_eval(<<'.,.,', 'parser.y', 782)
2608
2621
  def _reduce_146(val, _values, result)
2609
2622
  result = LocatedValue.new(value: true, location: val[0].location)
2610
2623
  result
2611
2624
  end
2612
2625
  .,.,
2613
2626
 
2614
- module_eval(<<'.,.,', 'parser.y', 784)
2627
+ module_eval(<<'.,.,', 'parser.y', 785)
2615
2628
  def _reduce_147(val, _values, result)
2616
2629
  result = nil
2617
2630
  result
2618
2631
  end
2619
2632
  .,.,
2620
2633
 
2621
- module_eval(<<'.,.,', 'parser.y', 786)
2634
+ module_eval(<<'.,.,', 'parser.y', 787)
2622
2635
  def _reduce_148(val, _values, result)
2623
2636
  val[1].each {|var| insert_bound_variable(var) }
2624
2637
 
@@ -2629,7 +2642,7 @@ module_eval(<<'.,.,', 'parser.y', 786)
2629
2642
  end
2630
2643
  .,.,
2631
2644
 
2632
- module_eval(<<'.,.,', 'parser.y', 794)
2645
+ module_eval(<<'.,.,', 'parser.y', 795)
2633
2646
  def _reduce_149(val, _values, result)
2634
2647
  result = [val[0].value.to_sym]
2635
2648
 
@@ -2637,7 +2650,7 @@ module_eval(<<'.,.,', 'parser.y', 794)
2637
2650
  end
2638
2651
  .,.,
2639
2652
 
2640
- module_eval(<<'.,.,', 'parser.y', 797)
2653
+ module_eval(<<'.,.,', 'parser.y', 798)
2641
2654
  def _reduce_150(val, _values, result)
2642
2655
  result = val[0].push(val[2].value.to_sym)
2643
2656
 
@@ -2645,7 +2658,7 @@ module_eval(<<'.,.,', 'parser.y', 797)
2645
2658
  end
2646
2659
  .,.,
2647
2660
 
2648
- module_eval(<<'.,.,', 'parser.y', 802)
2661
+ module_eval(<<'.,.,', 'parser.y', 803)
2649
2662
  def _reduce_151(val, _values, result)
2650
2663
  location = val[1].location + val[3].location
2651
2664
  location = location.with_children(
@@ -2665,7 +2678,7 @@ module_eval(<<'.,.,', 'parser.y', 802)
2665
2678
  end
2666
2679
  .,.,
2667
2680
 
2668
- module_eval(<<'.,.,', 'parser.y', 817)
2681
+ module_eval(<<'.,.,', 'parser.y', 818)
2669
2682
  def _reduce_152(val, _values, result)
2670
2683
  location = val[1].location + val[7].location
2671
2684
  location = location.with_children(
@@ -2688,7 +2701,7 @@ module_eval(<<'.,.,', 'parser.y', 817)
2688
2701
  end
2689
2702
  .,.,
2690
2703
 
2691
- module_eval(<<'.,.,', 'parser.y', 837)
2704
+ module_eval(<<'.,.,', 'parser.y', 838)
2692
2705
  def _reduce_153(val, _values, result)
2693
2706
  location = val[1].location + val[4].location
2694
2707
  location = location.with_children(
@@ -2706,7 +2719,7 @@ module_eval(<<'.,.,', 'parser.y', 837)
2706
2719
  end
2707
2720
  .,.,
2708
2721
 
2709
- module_eval(<<'.,.,', 'parser.y', 852)
2722
+ module_eval(<<'.,.,', 'parser.y', 853)
2710
2723
  def _reduce_154(val, _values, result)
2711
2724
  location = val[0].location + val[2].location
2712
2725
  location = location.with_children(
@@ -2721,7 +2734,7 @@ module_eval(<<'.,.,', 'parser.y', 852)
2721
2734
  end
2722
2735
  .,.,
2723
2736
 
2724
- module_eval(<<'.,.,', 'parser.y', 862)
2737
+ module_eval(<<'.,.,', 'parser.y', 863)
2725
2738
  def _reduce_155(val, _values, result)
2726
2739
  location = (val[0] || val[1]).location + val[2].location
2727
2740
 
@@ -2741,7 +2754,7 @@ module_eval(<<'.,.,', 'parser.y', 862)
2741
2754
  end
2742
2755
  .,.,
2743
2756
 
2744
- module_eval(<<'.,.,', 'parser.y', 879)
2757
+ module_eval(<<'.,.,', 'parser.y', 880)
2745
2758
  def _reduce_156(val, _values, result)
2746
2759
  location = val[0].location + val[2].location
2747
2760
  location = location.with_children(
@@ -2758,7 +2771,7 @@ module_eval(<<'.,.,', 'parser.y', 879)
2758
2771
 
2759
2772
  # reduce 157 omitted
2760
2773
 
2761
- module_eval(<<'.,.,', 'parser.y', 892)
2774
+ module_eval(<<'.,.,', 'parser.y', 893)
2762
2775
  def _reduce_158(val, _values, result)
2763
2776
  types = case l = val[0]
2764
2777
  when Types::Union
@@ -2773,7 +2786,7 @@ module_eval(<<'.,.,', 'parser.y', 892)
2773
2786
  end
2774
2787
  .,.,
2775
2788
 
2776
- module_eval(<<'.,.,', 'parser.y', 902)
2789
+ module_eval(<<'.,.,', 'parser.y', 903)
2777
2790
  def _reduce_159(val, _values, result)
2778
2791
  types = case l = val[0]
2779
2792
  when Types::Intersection
@@ -2789,7 +2802,7 @@ module_eval(<<'.,.,', 'parser.y', 902)
2789
2802
  end
2790
2803
  .,.,
2791
2804
 
2792
- module_eval(<<'.,.,', 'parser.y', 915)
2805
+ module_eval(<<'.,.,', 'parser.y', 916)
2793
2806
  def _reduce_160(val, _values, result)
2794
2807
  result = Types::Bases::Void.new(location: val[0].location)
2795
2808
 
@@ -2797,7 +2810,7 @@ module_eval(<<'.,.,', 'parser.y', 915)
2797
2810
  end
2798
2811
  .,.,
2799
2812
 
2800
- module_eval(<<'.,.,', 'parser.y', 918)
2813
+ module_eval(<<'.,.,', 'parser.y', 919)
2801
2814
  def _reduce_161(val, _values, result)
2802
2815
  RBS.logger.warn "`any` type is deprecated. Use `untyped` instead. (#{val[0].location.to_s})"
2803
2816
  result = Types::Bases::Any.new(location: val[0].location)
@@ -2806,7 +2819,7 @@ module_eval(<<'.,.,', 'parser.y', 918)
2806
2819
  end
2807
2820
  .,.,
2808
2821
 
2809
- module_eval(<<'.,.,', 'parser.y', 922)
2822
+ module_eval(<<'.,.,', 'parser.y', 923)
2810
2823
  def _reduce_162(val, _values, result)
2811
2824
  result = Types::Bases::Any.new(location: val[0].location)
2812
2825
 
@@ -2814,7 +2827,7 @@ module_eval(<<'.,.,', 'parser.y', 922)
2814
2827
  end
2815
2828
  .,.,
2816
2829
 
2817
- module_eval(<<'.,.,', 'parser.y', 925)
2830
+ module_eval(<<'.,.,', 'parser.y', 926)
2818
2831
  def _reduce_163(val, _values, result)
2819
2832
  result = Types::Bases::Bool.new(location: val[0].location)
2820
2833
 
@@ -2822,7 +2835,7 @@ module_eval(<<'.,.,', 'parser.y', 925)
2822
2835
  end
2823
2836
  .,.,
2824
2837
 
2825
- module_eval(<<'.,.,', 'parser.y', 928)
2838
+ module_eval(<<'.,.,', 'parser.y', 929)
2826
2839
  def _reduce_164(val, _values, result)
2827
2840
  result = Types::Bases::Nil.new(location: val[0].location)
2828
2841
 
@@ -2830,7 +2843,7 @@ module_eval(<<'.,.,', 'parser.y', 928)
2830
2843
  end
2831
2844
  .,.,
2832
2845
 
2833
- module_eval(<<'.,.,', 'parser.y', 931)
2846
+ module_eval(<<'.,.,', 'parser.y', 932)
2834
2847
  def _reduce_165(val, _values, result)
2835
2848
  result = Types::Bases::Top.new(location: val[0].location)
2836
2849
 
@@ -2838,7 +2851,7 @@ module_eval(<<'.,.,', 'parser.y', 931)
2838
2851
  end
2839
2852
  .,.,
2840
2853
 
2841
- module_eval(<<'.,.,', 'parser.y', 934)
2854
+ module_eval(<<'.,.,', 'parser.y', 935)
2842
2855
  def _reduce_166(val, _values, result)
2843
2856
  result = Types::Bases::Bottom.new(location: val[0].location)
2844
2857
 
@@ -2846,7 +2859,7 @@ module_eval(<<'.,.,', 'parser.y', 934)
2846
2859
  end
2847
2860
  .,.,
2848
2861
 
2849
- module_eval(<<'.,.,', 'parser.y', 937)
2862
+ module_eval(<<'.,.,', 'parser.y', 938)
2850
2863
  def _reduce_167(val, _values, result)
2851
2864
  result = Types::Bases::Self.new(location: val[0].location)
2852
2865
 
@@ -2854,7 +2867,7 @@ module_eval(<<'.,.,', 'parser.y', 937)
2854
2867
  end
2855
2868
  .,.,
2856
2869
 
2857
- module_eval(<<'.,.,', 'parser.y', 940)
2870
+ module_eval(<<'.,.,', 'parser.y', 941)
2858
2871
  def _reduce_168(val, _values, result)
2859
2872
  result = Types::Optional.new(type: Types::Bases::Self.new(location: val[0].location),
2860
2873
  location: val[0].location)
@@ -2863,7 +2876,7 @@ module_eval(<<'.,.,', 'parser.y', 940)
2863
2876
  end
2864
2877
  .,.,
2865
2878
 
2866
- module_eval(<<'.,.,', 'parser.y', 944)
2879
+ module_eval(<<'.,.,', 'parser.y', 945)
2867
2880
  def _reduce_169(val, _values, result)
2868
2881
  result = Types::Bases::Instance.new(location: val[0].location)
2869
2882
 
@@ -2871,7 +2884,7 @@ module_eval(<<'.,.,', 'parser.y', 944)
2871
2884
  end
2872
2885
  .,.,
2873
2886
 
2874
- module_eval(<<'.,.,', 'parser.y', 947)
2887
+ module_eval(<<'.,.,', 'parser.y', 948)
2875
2888
  def _reduce_170(val, _values, result)
2876
2889
  result = Types::Bases::Class.new(location: val[0].location)
2877
2890
 
@@ -2879,7 +2892,7 @@ module_eval(<<'.,.,', 'parser.y', 947)
2879
2892
  end
2880
2893
  .,.,
2881
2894
 
2882
- module_eval(<<'.,.,', 'parser.y', 950)
2895
+ module_eval(<<'.,.,', 'parser.y', 951)
2883
2896
  def _reduce_171(val, _values, result)
2884
2897
  result = Types::Literal.new(literal: true, location: val[0].location)
2885
2898
 
@@ -2887,7 +2900,7 @@ module_eval(<<'.,.,', 'parser.y', 950)
2887
2900
  end
2888
2901
  .,.,
2889
2902
 
2890
- module_eval(<<'.,.,', 'parser.y', 953)
2903
+ module_eval(<<'.,.,', 'parser.y', 954)
2891
2904
  def _reduce_172(val, _values, result)
2892
2905
  result = Types::Literal.new(literal: false, location: val[0].location)
2893
2906
 
@@ -2895,7 +2908,7 @@ module_eval(<<'.,.,', 'parser.y', 953)
2895
2908
  end
2896
2909
  .,.,
2897
2910
 
2898
- module_eval(<<'.,.,', 'parser.y', 956)
2911
+ module_eval(<<'.,.,', 'parser.y', 957)
2899
2912
  def _reduce_173(val, _values, result)
2900
2913
  result = Types::Literal.new(literal: val[0].value, location: val[0].location)
2901
2914
 
@@ -2903,7 +2916,7 @@ module_eval(<<'.,.,', 'parser.y', 956)
2903
2916
  end
2904
2917
  .,.,
2905
2918
 
2906
- module_eval(<<'.,.,', 'parser.y', 959)
2919
+ module_eval(<<'.,.,', 'parser.y', 960)
2907
2920
  def _reduce_174(val, _values, result)
2908
2921
  result = Types::Literal.new(literal: val[0].value, location: val[0].location)
2909
2922
 
@@ -2911,7 +2924,7 @@ module_eval(<<'.,.,', 'parser.y', 959)
2911
2924
  end
2912
2925
  .,.,
2913
2926
 
2914
- module_eval(<<'.,.,', 'parser.y', 962)
2927
+ module_eval(<<'.,.,', 'parser.y', 963)
2915
2928
  def _reduce_175(val, _values, result)
2916
2929
  result = Types::Literal.new(literal: val[0].value, location: val[0].location)
2917
2930
 
@@ -2919,7 +2932,7 @@ module_eval(<<'.,.,', 'parser.y', 962)
2919
2932
  end
2920
2933
  .,.,
2921
2934
 
2922
- module_eval(<<'.,.,', 'parser.y', 965)
2935
+ module_eval(<<'.,.,', 'parser.y', 966)
2923
2936
  def _reduce_176(val, _values, result)
2924
2937
  name = val[0].value
2925
2938
  args = []
@@ -2954,7 +2967,7 @@ module_eval(<<'.,.,', 'parser.y', 965)
2954
2967
  end
2955
2968
  .,.,
2956
2969
 
2957
- module_eval(<<'.,.,', 'parser.y', 995)
2970
+ module_eval(<<'.,.,', 'parser.y', 996)
2958
2971
  def _reduce_177(val, _values, result)
2959
2972
  name = val[0].value
2960
2973
  args = val[2]
@@ -2984,7 +2997,7 @@ module_eval(<<'.,.,', 'parser.y', 995)
2984
2997
  end
2985
2998
  .,.,
2986
2999
 
2987
- module_eval(<<'.,.,', 'parser.y', 1020)
3000
+ module_eval(<<'.,.,', 'parser.y', 1021)
2988
3001
  def _reduce_178(val, _values, result)
2989
3002
  location = val[0].location + val[1].location
2990
3003
  result = Types::Tuple.new(types: [], location: location)
@@ -2993,7 +3006,7 @@ module_eval(<<'.,.,', 'parser.y', 1020)
2993
3006
  end
2994
3007
  .,.,
2995
3008
 
2996
- module_eval(<<'.,.,', 'parser.y', 1024)
3009
+ module_eval(<<'.,.,', 'parser.y', 1025)
2997
3010
  def _reduce_179(val, _values, result)
2998
3011
  location = val[0].location + val[3].location
2999
3012
  types = val[1]
@@ -3003,7 +3016,7 @@ module_eval(<<'.,.,', 'parser.y', 1024)
3003
3016
  end
3004
3017
  .,.,
3005
3018
 
3006
- module_eval(<<'.,.,', 'parser.y', 1029)
3019
+ module_eval(<<'.,.,', 'parser.y', 1030)
3007
3020
  def _reduce_180(val, _values, result)
3008
3021
  type = val[1].dup
3009
3022
  type.instance_eval do
@@ -3015,7 +3028,7 @@ module_eval(<<'.,.,', 'parser.y', 1029)
3015
3028
  end
3016
3029
  .,.,
3017
3030
 
3018
- module_eval(<<'.,.,', 'parser.y', 1036)
3031
+ module_eval(<<'.,.,', 'parser.y', 1037)
3019
3032
  def _reduce_181(val, _values, result)
3020
3033
  location = val[0].location + val[3].location
3021
3034
  location = location.with_children(
@@ -3027,7 +3040,7 @@ module_eval(<<'.,.,', 'parser.y', 1036)
3027
3040
  end
3028
3041
  .,.,
3029
3042
 
3030
- module_eval(<<'.,.,', 'parser.y', 1043)
3043
+ module_eval(<<'.,.,', 'parser.y', 1044)
3031
3044
  def _reduce_182(val, _values, result)
3032
3045
  type, block = val[1].value
3033
3046
  result = Types::Proc.new(type: type, block: block, location: val[0].location + val[1].location)
@@ -3036,7 +3049,7 @@ module_eval(<<'.,.,', 'parser.y', 1043)
3036
3049
  end
3037
3050
  .,.,
3038
3051
 
3039
- module_eval(<<'.,.,', 'parser.y', 1047)
3052
+ module_eval(<<'.,.,', 'parser.y', 1048)
3040
3053
  def _reduce_183(val, _values, result)
3041
3054
  result = Types::Optional.new(type: val[0], location: val[0].location + val[1].location)
3042
3055
 
@@ -3046,7 +3059,7 @@ module_eval(<<'.,.,', 'parser.y', 1047)
3046
3059
 
3047
3060
  # reduce 184 omitted
3048
3061
 
3049
- module_eval(<<'.,.,', 'parser.y', 1053)
3062
+ module_eval(<<'.,.,', 'parser.y', 1054)
3050
3063
  def _reduce_185(val, _values, result)
3051
3064
  result = [val[0]]
3052
3065
 
@@ -3054,7 +3067,7 @@ module_eval(<<'.,.,', 'parser.y', 1053)
3054
3067
  end
3055
3068
  .,.,
3056
3069
 
3057
- module_eval(<<'.,.,', 'parser.y', 1056)
3070
+ module_eval(<<'.,.,', 'parser.y', 1057)
3058
3071
  def _reduce_186(val, _values, result)
3059
3072
  result = val[0] + [val[2]]
3060
3073
 
@@ -3062,7 +3075,7 @@ module_eval(<<'.,.,', 'parser.y', 1056)
3062
3075
  end
3063
3076
  .,.,
3064
3077
 
3065
- module_eval(<<'.,.,', 'parser.y', 1061)
3078
+ module_eval(<<'.,.,', 'parser.y', 1062)
3066
3079
  def _reduce_187(val, _values, result)
3067
3080
  result = Types::Record.new(
3068
3081
  fields: val[1],
@@ -3073,7 +3086,7 @@ module_eval(<<'.,.,', 'parser.y', 1061)
3073
3086
  end
3074
3087
  .,.,
3075
3088
 
3076
- module_eval(<<'.,.,', 'parser.y', 1069)
3089
+ module_eval(<<'.,.,', 'parser.y', 1070)
3077
3090
  def _reduce_188(val, _values, result)
3078
3091
  result = val[0]
3079
3092
 
@@ -3081,7 +3094,7 @@ module_eval(<<'.,.,', 'parser.y', 1069)
3081
3094
  end
3082
3095
  .,.,
3083
3096
 
3084
- module_eval(<<'.,.,', 'parser.y', 1072)
3097
+ module_eval(<<'.,.,', 'parser.y', 1073)
3085
3098
  def _reduce_189(val, _values, result)
3086
3099
  result = val[0].merge!(val[2])
3087
3100
 
@@ -3089,7 +3102,7 @@ module_eval(<<'.,.,', 'parser.y', 1072)
3089
3102
  end
3090
3103
  .,.,
3091
3104
 
3092
- module_eval(<<'.,.,', 'parser.y', 1077)
3105
+ module_eval(<<'.,.,', 'parser.y', 1078)
3093
3106
  def _reduce_190(val, _values, result)
3094
3107
  result = { val[0].value => val[2] }
3095
3108
 
@@ -3097,7 +3110,7 @@ module_eval(<<'.,.,', 'parser.y', 1077)
3097
3110
  end
3098
3111
  .,.,
3099
3112
 
3100
- module_eval(<<'.,.,', 'parser.y', 1080)
3113
+ module_eval(<<'.,.,', 'parser.y', 1081)
3101
3114
  def _reduce_191(val, _values, result)
3102
3115
  result = { val[0].value => val[2] }
3103
3116
 
@@ -3105,7 +3118,7 @@ module_eval(<<'.,.,', 'parser.y', 1080)
3105
3118
  end
3106
3119
  .,.,
3107
3120
 
3108
- module_eval(<<'.,.,', 'parser.y', 1083)
3121
+ module_eval(<<'.,.,', 'parser.y', 1084)
3109
3122
  def _reduce_192(val, _values, result)
3110
3123
  result = { val[0].value => val[2] }
3111
3124
 
@@ -3113,7 +3126,7 @@ module_eval(<<'.,.,', 'parser.y', 1083)
3113
3126
  end
3114
3127
  .,.,
3115
3128
 
3116
- module_eval(<<'.,.,', 'parser.y', 1086)
3129
+ module_eval(<<'.,.,', 'parser.y', 1087)
3117
3130
  def _reduce_193(val, _values, result)
3118
3131
  result = { val[0].value => val[1] }
3119
3132
 
@@ -3121,7 +3134,7 @@ module_eval(<<'.,.,', 'parser.y', 1086)
3121
3134
  end
3122
3135
  .,.,
3123
3136
 
3124
- module_eval(<<'.,.,', 'parser.y', 1089)
3137
+ module_eval(<<'.,.,', 'parser.y', 1090)
3125
3138
  def _reduce_194(val, _values, result)
3126
3139
  result = { val[0].value => val[2] }
3127
3140
 
@@ -3129,7 +3142,7 @@ module_eval(<<'.,.,', 'parser.y', 1089)
3129
3142
  end
3130
3143
  .,.,
3131
3144
 
3132
- module_eval(<<'.,.,', 'parser.y', 1092)
3145
+ module_eval(<<'.,.,', 'parser.y', 1093)
3133
3146
  def _reduce_195(val, _values, result)
3134
3147
  result = { val[0].value => val[2] }
3135
3148
 
@@ -3137,7 +3150,7 @@ module_eval(<<'.,.,', 'parser.y', 1092)
3137
3150
  end
3138
3151
  .,.,
3139
3152
 
3140
- module_eval(<<'.,.,', 'parser.y', 1095)
3153
+ module_eval(<<'.,.,', 'parser.y', 1096)
3141
3154
  def _reduce_196(val, _values, result)
3142
3155
  result = { val[0].value => val[2] }
3143
3156
 
@@ -3147,7 +3160,7 @@ module_eval(<<'.,.,', 'parser.y', 1095)
3147
3160
 
3148
3161
  # reduce 197 omitted
3149
3162
 
3150
- module_eval(<<'.,.,', 'parser.y', 1101)
3163
+ module_eval(<<'.,.,', 'parser.y', 1102)
3151
3164
  def _reduce_198(val, _values, result)
3152
3165
  result = val[0]
3153
3166
 
@@ -3163,7 +3176,7 @@ module_eval(<<'.,.,', 'parser.y', 1101)
3163
3176
 
3164
3177
  # reduce 202 omitted
3165
3178
 
3166
- module_eval(<<'.,.,', 'parser.y', 1108)
3179
+ module_eval(<<'.,.,', 'parser.y', 1109)
3167
3180
  def _reduce_203(val, _values, result)
3168
3181
  location = (val[0] || val[1] || val[2]).location + val[3].location
3169
3182
 
@@ -3188,7 +3201,7 @@ module_eval(<<'.,.,', 'parser.y', 1108)
3188
3201
  end
3189
3202
  .,.,
3190
3203
 
3191
- module_eval(<<'.,.,', 'parser.y', 1128)
3204
+ module_eval(<<'.,.,', 'parser.y', 1129)
3192
3205
  def _reduce_204(val, _values, result)
3193
3206
  result = LocatedValue.new(value: [val[0].value, nil], location: val[0].location)
3194
3207
 
@@ -3196,7 +3209,7 @@ module_eval(<<'.,.,', 'parser.y', 1128)
3196
3209
  end
3197
3210
  .,.,
3198
3211
 
3199
- module_eval(<<'.,.,', 'parser.y', 1133)
3212
+ module_eval(<<'.,.,', 'parser.y', 1134)
3200
3213
  def _reduce_205(val, _values, result)
3201
3214
  location = val[0].location + val[4].location
3202
3215
  type = Types::Function.new(
@@ -3216,7 +3229,7 @@ module_eval(<<'.,.,', 'parser.y', 1133)
3216
3229
  end
3217
3230
  .,.,
3218
3231
 
3219
- module_eval(<<'.,.,', 'parser.y', 1148)
3232
+ module_eval(<<'.,.,', 'parser.y', 1149)
3220
3233
  def _reduce_206(val, _values, result)
3221
3234
  location = val[0].location + val[1].location
3222
3235
  type = Types::Function.new(
@@ -3236,7 +3249,7 @@ module_eval(<<'.,.,', 'parser.y', 1148)
3236
3249
  end
3237
3250
  .,.,
3238
3251
 
3239
- module_eval(<<'.,.,', 'parser.y', 1165)
3252
+ module_eval(<<'.,.,', 'parser.y', 1166)
3240
3253
  def _reduce_207(val, _values, result)
3241
3254
  result = val[2]
3242
3255
  result[0].unshift(val[0])
@@ -3245,7 +3258,7 @@ module_eval(<<'.,.,', 'parser.y', 1165)
3245
3258
  end
3246
3259
  .,.,
3247
3260
 
3248
- module_eval(<<'.,.,', 'parser.y', 1169)
3261
+ module_eval(<<'.,.,', 'parser.y', 1170)
3249
3262
  def _reduce_208(val, _values, result)
3250
3263
  result = empty_params_result
3251
3264
  result[0].unshift(val[0])
@@ -3256,7 +3269,7 @@ module_eval(<<'.,.,', 'parser.y', 1169)
3256
3269
 
3257
3270
  # reduce 209 omitted
3258
3271
 
3259
- module_eval(<<'.,.,', 'parser.y', 1176)
3272
+ module_eval(<<'.,.,', 'parser.y', 1177)
3260
3273
  def _reduce_210(val, _values, result)
3261
3274
  result = val[2]
3262
3275
  result[1].unshift(val[0])
@@ -3265,7 +3278,7 @@ module_eval(<<'.,.,', 'parser.y', 1176)
3265
3278
  end
3266
3279
  .,.,
3267
3280
 
3268
- module_eval(<<'.,.,', 'parser.y', 1180)
3281
+ module_eval(<<'.,.,', 'parser.y', 1181)
3269
3282
  def _reduce_211(val, _values, result)
3270
3283
  result = empty_params_result
3271
3284
  result[1].unshift(val[0])
@@ -3276,7 +3289,7 @@ module_eval(<<'.,.,', 'parser.y', 1180)
3276
3289
 
3277
3290
  # reduce 212 omitted
3278
3291
 
3279
- module_eval(<<'.,.,', 'parser.y', 1187)
3292
+ module_eval(<<'.,.,', 'parser.y', 1188)
3280
3293
  def _reduce_213(val, _values, result)
3281
3294
  result = val[2]
3282
3295
  result[2] = val[0]
@@ -3285,7 +3298,7 @@ module_eval(<<'.,.,', 'parser.y', 1187)
3285
3298
  end
3286
3299
  .,.,
3287
3300
 
3288
- module_eval(<<'.,.,', 'parser.y', 1191)
3301
+ module_eval(<<'.,.,', 'parser.y', 1192)
3289
3302
  def _reduce_214(val, _values, result)
3290
3303
  result = empty_params_result
3291
3304
  result[2] = val[0]
@@ -3296,7 +3309,7 @@ module_eval(<<'.,.,', 'parser.y', 1191)
3296
3309
 
3297
3310
  # reduce 215 omitted
3298
3311
 
3299
- module_eval(<<'.,.,', 'parser.y', 1198)
3312
+ module_eval(<<'.,.,', 'parser.y', 1199)
3300
3313
  def _reduce_216(val, _values, result)
3301
3314
  result = val[2]
3302
3315
  result[3].unshift(val[0])
@@ -3305,7 +3318,7 @@ module_eval(<<'.,.,', 'parser.y', 1198)
3305
3318
  end
3306
3319
  .,.,
3307
3320
 
3308
- module_eval(<<'.,.,', 'parser.y', 1202)
3321
+ module_eval(<<'.,.,', 'parser.y', 1203)
3309
3322
  def _reduce_217(val, _values, result)
3310
3323
  result = empty_params_result
3311
3324
  result[3].unshift(val[0])
@@ -3316,7 +3329,7 @@ module_eval(<<'.,.,', 'parser.y', 1202)
3316
3329
 
3317
3330
  # reduce 218 omitted
3318
3331
 
3319
- module_eval(<<'.,.,', 'parser.y', 1209)
3332
+ module_eval(<<'.,.,', 'parser.y', 1210)
3320
3333
  def _reduce_219(val, _values, result)
3321
3334
  result = empty_params_result
3322
3335
 
@@ -3324,7 +3337,7 @@ module_eval(<<'.,.,', 'parser.y', 1209)
3324
3337
  end
3325
3338
  .,.,
3326
3339
 
3327
- module_eval(<<'.,.,', 'parser.y', 1212)
3340
+ module_eval(<<'.,.,', 'parser.y', 1213)
3328
3341
  def _reduce_220(val, _values, result)
3329
3342
  result = val[2]
3330
3343
  result[4].merge!(val[0])
@@ -3333,7 +3346,7 @@ module_eval(<<'.,.,', 'parser.y', 1212)
3333
3346
  end
3334
3347
  .,.,
3335
3348
 
3336
- module_eval(<<'.,.,', 'parser.y', 1216)
3349
+ module_eval(<<'.,.,', 'parser.y', 1217)
3337
3350
  def _reduce_221(val, _values, result)
3338
3351
  result = empty_params_result
3339
3352
  result[4].merge!(val[0])
@@ -3342,7 +3355,7 @@ module_eval(<<'.,.,', 'parser.y', 1216)
3342
3355
  end
3343
3356
  .,.,
3344
3357
 
3345
- module_eval(<<'.,.,', 'parser.y', 1220)
3358
+ module_eval(<<'.,.,', 'parser.y', 1221)
3346
3359
  def _reduce_222(val, _values, result)
3347
3360
  result = val[2]
3348
3361
  result[5].merge!(val[0])
@@ -3351,7 +3364,7 @@ module_eval(<<'.,.,', 'parser.y', 1220)
3351
3364
  end
3352
3365
  .,.,
3353
3366
 
3354
- module_eval(<<'.,.,', 'parser.y', 1224)
3367
+ module_eval(<<'.,.,', 'parser.y', 1225)
3355
3368
  def _reduce_223(val, _values, result)
3356
3369
  result = empty_params_result
3357
3370
  result[5].merge!(val[0])
@@ -3360,7 +3373,7 @@ module_eval(<<'.,.,', 'parser.y', 1224)
3360
3373
  end
3361
3374
  .,.,
3362
3375
 
3363
- module_eval(<<'.,.,', 'parser.y', 1228)
3376
+ module_eval(<<'.,.,', 'parser.y', 1229)
3364
3377
  def _reduce_224(val, _values, result)
3365
3378
  result = empty_params_result
3366
3379
  result[6] = val[0]
@@ -3369,7 +3382,7 @@ module_eval(<<'.,.,', 'parser.y', 1228)
3369
3382
  end
3370
3383
  .,.,
3371
3384
 
3372
- module_eval(<<'.,.,', 'parser.y', 1234)
3385
+ module_eval(<<'.,.,', 'parser.y', 1235)
3373
3386
  def _reduce_225(val, _values, result)
3374
3387
  loc = val[0].location
3375
3388
  if var_name = val[1]
@@ -3387,7 +3400,7 @@ module_eval(<<'.,.,', 'parser.y', 1234)
3387
3400
  end
3388
3401
  .,.,
3389
3402
 
3390
- module_eval(<<'.,.,', 'parser.y', 1249)
3403
+ module_eval(<<'.,.,', 'parser.y', 1250)
3391
3404
  def _reduce_226(val, _values, result)
3392
3405
  loc = val[0].location + val[1].location
3393
3406
  if var_name = val[2]
@@ -3405,7 +3418,7 @@ module_eval(<<'.,.,', 'parser.y', 1249)
3405
3418
  end
3406
3419
  .,.,
3407
3420
 
3408
- module_eval(<<'.,.,', 'parser.y', 1264)
3421
+ module_eval(<<'.,.,', 'parser.y', 1265)
3409
3422
  def _reduce_227(val, _values, result)
3410
3423
  loc = val[0].location + val[1].location
3411
3424
  if var_name = val[2]
@@ -3423,7 +3436,7 @@ module_eval(<<'.,.,', 'parser.y', 1264)
3423
3436
  end
3424
3437
  .,.,
3425
3438
 
3426
- module_eval(<<'.,.,', 'parser.y', 1279)
3439
+ module_eval(<<'.,.,', 'parser.y', 1280)
3427
3440
  def _reduce_228(val, _values, result)
3428
3441
  loc = val[0].location + val[1].location
3429
3442
  if var_name = val[2]
@@ -3443,7 +3456,7 @@ module_eval(<<'.,.,', 'parser.y', 1279)
3443
3456
  end
3444
3457
  .,.,
3445
3458
 
3446
- module_eval(<<'.,.,', 'parser.y', 1296)
3459
+ module_eval(<<'.,.,', 'parser.y', 1297)
3447
3460
  def _reduce_229(val, _values, result)
3448
3461
  loc = val[0].location + val[2].location
3449
3462
  if var_name = val[3]
@@ -3463,7 +3476,7 @@ module_eval(<<'.,.,', 'parser.y', 1296)
3463
3476
  end
3464
3477
  .,.,
3465
3478
 
3466
- module_eval(<<'.,.,', 'parser.y', 1313)
3479
+ module_eval(<<'.,.,', 'parser.y', 1314)
3467
3480
  def _reduce_230(val, _values, result)
3468
3481
  loc = val[0].location + val[1].location
3469
3482
  if var_name = val[2]
@@ -3490,8 +3503,12 @@ module_eval(<<'.,.,', 'parser.y', 1313)
3490
3503
 
3491
3504
  # reduce 234 omitted
3492
3505
 
3493
- module_eval(<<'.,.,', 'parser.y', 1332)
3494
- def _reduce_235(val, _values, result)
3506
+ # reduce 235 omitted
3507
+
3508
+ # reduce 236 omitted
3509
+
3510
+ module_eval(<<'.,.,', 'parser.y', 1333)
3511
+ def _reduce_237(val, _values, result)
3495
3512
  namespace = val[0]&.value || Namespace.empty
3496
3513
  name = val[1].value.to_sym
3497
3514
  type_name = TypeName.new(namespace: namespace, name: name)
@@ -3502,14 +3519,14 @@ module_eval(<<'.,.,', 'parser.y', 1332)
3502
3519
  end
3503
3520
  .,.,
3504
3521
 
3505
- # reduce 236 omitted
3522
+ # reduce 238 omitted
3506
3523
 
3507
- # reduce 237 omitted
3524
+ # reduce 239 omitted
3508
3525
 
3509
- # reduce 238 omitted
3526
+ # reduce 240 omitted
3510
3527
 
3511
- module_eval(<<'.,.,', 'parser.y', 1344)
3512
- def _reduce_239(val, _values, result)
3528
+ module_eval(<<'.,.,', 'parser.y', 1345)
3529
+ def _reduce_241(val, _values, result)
3513
3530
  namespace = val[0]&.value || Namespace.empty
3514
3531
  name = val[1].value.to_sym
3515
3532
  type_name = TypeName.new(namespace: namespace, name: name)
@@ -3520,8 +3537,8 @@ module_eval(<<'.,.,', 'parser.y', 1344)
3520
3537
  end
3521
3538
  .,.,
3522
3539
 
3523
- module_eval(<<'.,.,', 'parser.y', 1353)
3524
- def _reduce_240(val, _values, result)
3540
+ module_eval(<<'.,.,', 'parser.y', 1354)
3541
+ def _reduce_242(val, _values, result)
3525
3542
  namespace = val[0]&.value || Namespace.empty
3526
3543
  name = val[1].value.to_sym
3527
3544
  type_name = TypeName.new(namespace: namespace, name: name)
@@ -3532,8 +3549,8 @@ module_eval(<<'.,.,', 'parser.y', 1353)
3532
3549
  end
3533
3550
  .,.,
3534
3551
 
3535
- module_eval(<<'.,.,', 'parser.y', 1362)
3536
- def _reduce_241(val, _values, result)
3552
+ module_eval(<<'.,.,', 'parser.y', 1363)
3553
+ def _reduce_243(val, _values, result)
3537
3554
  namespace = val[0]&.value || Namespace.empty
3538
3555
  name = val[1].value.to_sym
3539
3556
  type_name = TypeName.new(namespace: namespace, name: name)
@@ -3544,24 +3561,24 @@ module_eval(<<'.,.,', 'parser.y', 1362)
3544
3561
  end
3545
3562
  .,.,
3546
3563
 
3547
- module_eval(<<'.,.,', 'parser.y', 1372)
3548
- def _reduce_242(val, _values, result)
3564
+ module_eval(<<'.,.,', 'parser.y', 1373)
3565
+ def _reduce_244(val, _values, result)
3549
3566
  result = nil
3550
3567
 
3551
3568
  result
3552
3569
  end
3553
3570
  .,.,
3554
3571
 
3555
- module_eval(<<'.,.,', 'parser.y', 1375)
3556
- def _reduce_243(val, _values, result)
3572
+ module_eval(<<'.,.,', 'parser.y', 1376)
3573
+ def _reduce_245(val, _values, result)
3557
3574
  result = LocatedValue.new(value: Namespace.root, location: val[0].location)
3558
3575
 
3559
3576
  result
3560
3577
  end
3561
3578
  .,.,
3562
3579
 
3563
- module_eval(<<'.,.,', 'parser.y', 1378)
3564
- def _reduce_244(val, _values, result)
3580
+ module_eval(<<'.,.,', 'parser.y', 1379)
3581
+ def _reduce_246(val, _values, result)
3565
3582
  namespace = Namespace.parse(val[1].value).absolute!
3566
3583
  result = LocatedValue.new(value: namespace, location: val[0].location + val[1].location)
3567
3584
 
@@ -3569,8 +3586,8 @@ module_eval(<<'.,.,', 'parser.y', 1378)
3569
3586
  end
3570
3587
  .,.,
3571
3588
 
3572
- module_eval(<<'.,.,', 'parser.y', 1382)
3573
- def _reduce_245(val, _values, result)
3589
+ module_eval(<<'.,.,', 'parser.y', 1383)
3590
+ def _reduce_247(val, _values, result)
3574
3591
  namespace = Namespace.parse(val[0].value)
3575
3592
  result = LocatedValue.new(value: namespace, location: val[0].location)
3576
3593
 
@@ -3578,9 +3595,9 @@ module_eval(<<'.,.,', 'parser.y', 1382)
3578
3595
  end
3579
3596
  .,.,
3580
3597
 
3581
- # reduce 246 omitted
3598
+ # reduce 248 omitted
3582
3599
 
3583
- # reduce 247 omitted
3600
+ # reduce 249 omitted
3584
3601
 
3585
3602
  def _reduce_none(val, _values, result)
3586
3603
  val[0]