rbs 1.2.0 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +5 -1
  3. data/.gitignore +2 -0
  4. data/CHANGELOG.md +53 -0
  5. data/README.md +1 -1
  6. data/Rakefile +9 -0
  7. data/Steepfile +1 -0
  8. data/core/array.rbs +1 -1
  9. data/core/basic_object.rbs +1 -1
  10. data/core/io.rbs +1 -1
  11. data/core/kernel.rbs +2 -2
  12. data/core/marshal.rbs +4 -3
  13. data/docs/rbs_by_example.md +328 -0
  14. data/docs/sigs.md +3 -1
  15. data/docs/stdlib.md +1 -1
  16. data/docs/syntax.md +0 -3
  17. data/lib/rbs/definition_builder.rb +2 -18
  18. data/lib/rbs/definition_builder/ancestor_builder.rb +9 -2
  19. data/lib/rbs/errors.rb +36 -0
  20. data/lib/rbs/parser.rb +913 -892
  21. data/lib/rbs/parser.y +10 -6
  22. data/lib/rbs/prototype/rb.rb +7 -3
  23. data/lib/rbs/prototype/runtime.rb +118 -42
  24. data/lib/rbs/version.rb +1 -1
  25. data/rbs.gemspec +1 -1
  26. data/sig/ancestor_builder.rbs +2 -0
  27. data/sig/errors.rbs +15 -0
  28. data/sig/namespace.rbs +1 -1
  29. data/sig/polyfill.rbs +0 -18
  30. data/stdlib/dbm/0/dbm.rbs +43 -30
  31. data/stdlib/mutex_m/0/mutex_m.rbs +1 -1
  32. data/stdlib/net-http/0/net-http.rbs +1846 -0
  33. data/stdlib/optparse/0/optparse.rbs +1214 -0
  34. data/stdlib/resolv/0/resolv.rbs +1504 -0
  35. data/stdlib/socket/0/addrinfo.rbs +469 -0
  36. data/stdlib/socket/0/basic_socket.rbs +503 -0
  37. data/stdlib/socket/0/ip_socket.rbs +72 -0
  38. data/stdlib/socket/0/socket.rbs +2687 -0
  39. data/stdlib/socket/0/tcp_server.rbs +177 -0
  40. data/stdlib/socket/0/tcp_socket.rbs +35 -0
  41. data/stdlib/socket/0/udp_socket.rbs +111 -0
  42. data/stdlib/socket/0/unix_server.rbs +154 -0
  43. data/stdlib/socket/0/unix_socket.rbs +132 -0
  44. data/stdlib/timeout/0/timeout.rbs +5 -0
  45. data/steep/Gemfile.lock +12 -12
  46. metadata +16 -12
  47. data/bin/annotate-with-rdoc +0 -153
  48. data/bin/console +0 -14
  49. data/bin/query-rdoc +0 -103
  50. data/bin/rbs-prof +0 -9
  51. data/bin/run_in_md.rb +0 -49
  52. data/bin/setup +0 -8
  53. data/bin/sort +0 -89
  54. data/bin/steep +0 -4
  55. data/bin/test_runner.rb +0 -29
data/docs/sigs.md CHANGED
@@ -131,9 +131,11 @@ You may need to specify `-r` or `-I` to load signatures.
131
131
  The default is `-I sig`.
132
132
 
133
133
  ```
134
- RBS_TEST_OPT='-r set -r pathname -I sig'
134
+ RBS_TEST_OPT='-r pathname -I sig'
135
135
  ```
136
136
 
137
+ Replacing `pathname` with the `stdlib` you want to include. For example, if you need to load `Set` and `BigDecimal` in `stdlib`, you would need to have `RBS_TEST_OPT='-r set -r bigdecimal -I sig'`
138
+
137
139
  `RBS_TEST_LOGLEVEL` can be used to configure log level. Defaults to `info`.
138
140
 
139
141
  `RBS_TEST_RAISE` may help to debug the type signatures.
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
@@ -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(/_\w*\b/)
344
+ new_token(:tPARAMNAME)
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,120 +424,123 @@ 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,',
460
- '131,132,133,134,135,136,137,138,142,16,139,130,140,141,66,77,67,68,69',
461
- '83,,32,,,,28,,156,,157,159,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,',
462
- ',84,85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,-219,25,,30,,131,132,133',
463
- '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',
427
+ '192,195,33,193,192,195,33,193,192,195,33,193,113,192,195,33,193,192',
428
+ '195,5,193,40,41,192,195,33,193,-4,160,-245,185,33,33,33,117,33,-245',
429
+ '33,49,228,33,113,37,32,33,40,41,32,33,40,41,32,283,40,41,186,32,161',
430
+ '40,41,293,334,40,41,229,42,32,194,40,41,53,194,32,32,32,194,32,284,32',
431
+ '196,194,32,49,196,194,32,186,196,367,32,194,324,196,351,352,354,196',
432
+ '353,40,41,399,43,196,338,39,209,209,40,41,350,322,336,48,186,53,104',
433
+ '55,56,57,58,59,60,61,62,356,186,63,54,64,65,66,77,67,68,69,83,39,53',
434
+ '53,346,340,341,411,412,344,342,345,2,3,4,126,343,82,70,71,72,74,76,75',
435
+ '339,348,349,73,78,80,40,41,186,186,84,85,81,86,351,352,354,408,353,40',
436
+ '41,174,180,39,177,407,175,180,120,179,350,101,102,125,264,103,165,55',
437
+ '56,57,58,59,60,61,62,79,176,63,54,64,65,66,77,67,68,69,83,40,41,166',
438
+ '346,340,341,40,41,344,342,345,40,41,40,41,343,82,70,71,72,74,76,75,339',
439
+ '348,349,73,78,80,40,41,40,41,84,85,81,86,351,352,354,167,353,168,96',
440
+ '97,98,99,40,41,40,41,40,41,350,40,41,286,287,370,371,55,56,57,58,59',
441
+ '60,61,62,79,170,63,54,64,65,66,77,67,68,69,83,40,41,171,346,340,341',
442
+ '40,41,344,342,345,386,387,40,41,343,82,70,71,72,74,76,75,339,348,349',
443
+ '73,78,80,40,41,40,41,84,85,81,86,351,352,354,172,353,113,96,97,98,99',
444
+ '40,41,40,41,40,41,350,40,41,178,181,184,41,55,56,57,58,59,60,61,62,79',
445
+ '187,63,54,64,65,66,77,67,68,69,83,189,180,190,346,340,341,-105,-106',
446
+ '344,342,345,-107,-108,-109,-110,343,82,70,71,72,74,76,75,339,348,349',
447
+ '73,78,80,-111,-112,-113,-114,84,85,81,86,351,352,354,-115,353,48,96',
448
+ '97,98,99,-130,197,198,199,200,201,350,202,210,211,42,212,230,55,56,57',
449
+ '58,59,60,61,62,79,244,63,54,64,65,66,77,67,68,69,83,253,254,255,346',
450
+ '340,341,257,259,344,342,345,260,42,262,262,343,82,70,71,72,74,76,75',
451
+ '339,348,349,73,78,80,262,266,42,230,84,85,81,86,351,352,354,270,353',
452
+ '274,276,291,292,315,274,317,291,330,331,332,350,358,358,358,366,368',
453
+ '369,55,56,57,58,59,60,61,62,79,372,63,54,64,65,66,77,67,68,69,83,374',
454
+ '381,382,346,340,341,383,391,344,342,345,391,391,403,404,343,82,70,71',
455
+ '72,74,76,75,339,348,349,73,78,80,405,406,409,410,84,85,81,86,351,352',
456
+ '354,415,353,416,96,97,98,99,417,419,422,415,,,350,,,,,,,55,56,57,58',
457
+ '59,60,61,62,79,,63,54,64,65,66,77,67,68,69,83,,,,346,340,341,,,344,342',
458
+ '345,,,,,343,82,70,71,72,74,76,75,339,348,349,73,78,80,,,,,84,85,81,86',
459
+ '351,352,354,,353,,,,,,,,,,,,350,,,,,,,55,56,57,58,59,60,61,62,79,,63',
460
+ '54,64,65,66,77,67,68,69,83,,,,346,340,341,,,344,342,345,,,,,343,82,70',
461
+ '71,72,74,76,75,339,348,349,73,78,80,,,,,84,85,81,86,33,,,96,97,98,99',
462
+ ',,,22,23,21,,26,-220,25,,30,,131,132,133,134,135,136,137,138,142,16',
463
+ '139,130,140,141,66,77,67,68,69,83,,32,,,,28,,156,,157,159,,,,,,82,70',
464
+ '71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,33,,,96,97,98,99,,,,22,23',
465
+ '21,,26,,25,,30,,131,132,133,134,135,136,137,138,142,16,139,130,140,141',
466
+ '66,77,67,68,69,83,,32,,,,28,,,,,,,,,,,82,70,71,72,74,76,75,,,,73,78',
467
+ '80,,,,,84,85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,-220,25,,30,,131',
468
+ '132,133,134,135,136,137,138,142,16,139,130,140,141,66,77,67,68,69,83',
469
+ ',32,,,,28,,156,,157,159,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84',
470
+ '85,81,86,33,,,96,97,98,99,,,,22,23,21,,26,-220,25,,30,,131,132,133,134',
471
+ '135,136,137,138,142,16,139,130,140,141,66,77,67,68,69,83,,32,,,,28,',
472
+ '156,,157,159,,,,,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,33',
473
+ ',,96,97,98,99,,,,22,23,21,,26,-220,25,,30,,131,132,133,134,135,136,137',
474
+ '138,142,16,139,130,140,141,66,77,67,68,69,83,,32,,,,28,,236,,,159,,',
475
+ ',,,82,70,71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,33,,,96,97,98,99',
476
+ ',,,22,23,21,,26,-220,25,,30,,131,132,133,134,135,136,137,138,142,16',
477
+ '139,130,140,141,66,77,67,68,69,83,,32,,,,28,,156,,157,159,,,,,,82,70',
478
+ '71,72,74,76,75,,,,73,78,80,,,,,84,85,81,86,33,,,96,97,98,99,,,,22,23',
479
+ '21,,26,-220,25,,30,,131,132,133,134,135,136,137,138,142,16,139,130,140',
480
+ '141,66,77,67,68,69,83,,32,,,,28,,236,,,159,,,,,,82,70,71,72,74,76,75',
481
+ ',,,73,78,80,,,,,84,85,81,86,96,97,98,99,,,,90,89,91,,,,,,,,55,56,57',
482
+ '58,59,60,61,62,79,,63,54,64,65,66,77,67,68,69,83,,,,,,,,,,,,,,,,,82',
483
+ '70,71,72,74,76,75,,95,94,73,78,80,,,,,84,85,81,86,96,97,98,99,,,,90',
484
+ '89,91,,,,,,,,55,56,57,58,59,60,61,62,79,,63,54,64,65,66,77,67,68,69',
485
+ '83,,,,,,,,,,,,,,,,,82,70,71,72,74,76,75,,95,94,73,78,80,96,97,98,99',
486
+ '84,85,81,86,,,,,,,,,,55,56,57,58,59,60,61,62,79,,63,54,64,65,66,77,67',
487
+ '68,69,83,,,,,,,,236,,,159,,,,,,82,70,71,72,74,76,75,,,,73,78,80,96,97',
488
+ '98,99,84,85,81,86,,,,,,,,,,55,56,57,58,59,60,61,62,79,,63,54,64,65,66',
489
+ '77,67,68,69,83,,,,,,,,236,,,159,,,,,,82,70,71,72,74,76,75,,,,73,78,80',
490
+ '96,97,98,99,84,85,81,86,,,,,,,,,,55,56,57,58,59,60,61,62,79,,63,54,64',
491
+ '65,66,77,67,68,69,83,-245,,,33,,117,,-245,,,312,313,113,,,,82,70,71',
492
+ '72,74,76,75,,,,73,78,80,,,314,,84,85,81,86,,,,309,308,-245,,32,33,,117',
493
+ ',-245,,,312,313,113,,-245,,,33,300,117,,-245,,,312,313,113,,,,,314,',
494
+ ',,,,,,,309,308,,,32,314,,,,,,,,,309,308,,33,32,,318,,,,,,,22,23,21,',
495
+ '26,,25,319,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,',
496
+ ',,28,22,23,21,,26,,25,45,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27',
497
+ ',,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16',
498
+ '17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10',
491
499
  '13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12',
492
500
  '19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25',
493
501
  ',30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23',
494
502
  '21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32',
495
503
  ',,,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',
525
- '15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20',
526
- '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
527
- ',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
528
- ',26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,',
529
- '28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33',
530
- ',,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
531
- '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)
504
+ ',,33,,,,,32,,,,28,22,23,21,,26,,25,-249,30,,8,12,19,20,9,10,13,14,15',
505
+ '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
506
+ '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
507
+ '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
508
+ ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
509
+ '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
510
+ '32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
511
+ '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
512
+ '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
513
+ '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
514
+ '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
515
+ ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
516
+ '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
517
+ '32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
518
+ '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
519
+ '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
520
+ '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
521
+ '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
522
+ ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
523
+ '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
524
+ '32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
525
+ '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
526
+ '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
527
+ '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
528
+ '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
529
+ ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
530
+ '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
531
+ '32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
532
+ '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
533
+ '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
534
+ '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
535
+ '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
536
+ ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
537
+ '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
538
+ '32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
539
+ '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
540
+ '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
541
+ '10,13,14,15,16,17,18,11,27,174,,,177,,175,,32,324,,,28,,,,,,,,,,,,,',
542
+ '176,,322,328,325,326,327,,,,329' ]
543
+ racc_action_table = arr = ::Array.new(3154, nil)
537
544
  idx = 0
538
545
  clist.each do |str|
539
546
  str.split(',', -1).each do |i|
@@ -543,141 +550,143 @@ clist = [
543
550
  end
544
551
 
545
552
  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,',
553
+ '143,143,48,143,203,203,177,203,205,205,220,205,280,206,206,221,206,207',
554
+ '207,1,207,44,44,240,240,222,240,34,51,34,123,264,34,270,34,276,34,291',
555
+ '28,183,322,34,5,48,328,143,143,177,329,203,203,220,271,205,205,123,221',
556
+ '51,206,206,280,321,207,207,183,7,222,143,240,240,28,203,264,34,270,205',
557
+ '276,271,291,143,206,322,119,203,207,328,321,205,333,329,240,298,206',
558
+ '324,324,324,207,324,169,169,384,24,240,323,34,160,210,6,6,324,298,323',
559
+ '27,333,119,32,324,324,324,324,324,324,324,324,324,384,324,324,324,324',
560
+ '324,324,324,324,324,324,6,160,210,324,324,324,396,397,324,324,324,0',
561
+ '0,0,47,324,324,324,324,324,324,324,324,324,324,324,324,324,324,188,188',
562
+ '396,397,324,324,324,324,357,357,357,391,357,47,47,114,116,35,114,391',
563
+ '114,250,36,116,357,31,31,46,250,31,87,357,357,357,357,357,357,357,357',
564
+ '357,114,357,357,357,357,357,357,357,357,357,357,214,214,89,357,357,357',
565
+ '215,215,357,357,357,216,216,217,217,357,357,357,357,357,357,357,357',
566
+ '357,357,357,357,357,357,218,218,219,219,357,357,357,357,359,359,359',
567
+ '90,359,91,359,359,359,359,225,225,226,226,227,227,359,267,267,273,273',
568
+ '347,347,359,359,359,359,359,359,359,359,359,93,359,359,359,359,359,359',
569
+ '359,359,359,359,364,364,94,359,359,359,365,365,359,359,359,369,369,389',
570
+ '389,359,359,359,359,359,359,359,359,359,359,359,359,359,359,392,392',
571
+ '394,394,359,359,359,359,360,360,360,95,360,113,360,360,360,360,398,398',
572
+ '418,418,420,420,360,421,421,115,117,120,121,360,360,360,360,360,360',
573
+ '360,360,360,124,360,360,360,360,360,360,360,360,360,360,127,128,129',
574
+ '360,360,360,130,131,360,360,360,132,133,134,135,360,360,360,360,360',
575
+ '360,360,360,360,360,360,360,360,360,136,137,138,139,360,360,360,360',
576
+ '361,361,361,140,361,141,361,361,361,361,142,145,146,148,150,153,361',
577
+ '154,161,162,163,164,190,361,361,361,361,361,361,361,361,361,208,361',
578
+ '361,361,361,361,361,361,361,361,361,223,224,229,361,361,361,234,245',
579
+ '361,361,361,246,247,248,249,361,361,361,361,361,361,361,361,361,361',
580
+ '361,361,361,361,251,252,256,259,361,361,361,361,372,372,372,261,372',
581
+ '262,263,277,279,282,284,285,289,312,313,314,372,325,326,327,332,335',
582
+ '337,372,372,372,372,372,372,372,372,372,356,372,372,372,372,372,372',
583
+ '372,372,372,372,358,362,363,372,372,372,366,376,372,372,372,378,380',
584
+ '386,387,372,372,372,372,372,372,372,372,372,372,372,372,372,372,388',
585
+ '390,393,395,372,372,372,372,385,385,385,400,385,402,385,385,385,385',
586
+ '405,408,414,422,,,385,,,,,,,385,385,385,385,385,385,385,385,385,,385',
587
+ '385,385,385,385,385,385,385,385,385,,,,385,385,385,,,385,385,385,,,',
588
+ ',385,385,385,385,385,385,385,385,385,385,385,385,385,385,,,,,385,385',
589
+ '385,385,417,417,417,,417,,,,,,,,,,,,417,,,,,,,417,417,417,417,417,417',
590
+ '417,417,417,,417,417,417,417,417,417,417,417,417,417,,,,417,417,417',
591
+ ',,417,417,417,,,,,417,417,417,417,417,417,417,417,417,417,417,417,417',
592
+ '417,,,,,417,417,417,417,49,,,49,49,49,49,,,,49,49,49,,49,49,49,,49,',
593
+ '49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,,49,,,,49',
594
+ ',49,,49,49,,,,,,49,49,49,49,49,49,49,,,,49,49,49,,,,,49,49,49,49,156',
595
+ ',,156,156,156,156,,,,156,156,156,,156,,156,,156,,156,156,156,156,156',
596
+ '156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,,156,,,',
597
+ '156,,,,,,,,,,,156,156,156,156,156,156,156,,,,156,156,156,,,,,156,156',
598
+ '156,156,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,198,198,198',
600
+ '198,198,,198,,,,198,,198,,198,198,,,,,,198,198,198,198,198,198,198,',
601
+ ',,198,198,198,,,,,198,198,198,198,199,,,199,199,199,199,,,,199,199,199',
602
+ ',199,199,199,,199,,199,199,199,199,199,199,199,199,199,199,199,199,199',
603
+ '199,199,199,199,199,199,199,,199,,,,199,,199,,199,199,,,,,,199,199,199',
604
+ '199,199,199,199,,,,199,199,199,,,,,199,199,199,199,200,,,200,200,200',
605
+ '200,,,,200,200,200,,200,200,200,,200,,200,200,200,200,200,200,200,200',
606
+ '200,200,200,200,200,200,200,200,200,200,200,200,,200,,,,200,,200,,,200',
607
+ ',,,,,200,200,200,200,200,200,200,,,,200,200,200,,,,,200,200,200,200',
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,209,209,209,209',
610
+ ',209,,,,209,,209,,209,209,,,,,,209,209,209,209,209,209,209,,,,209,209',
611
+ '209,,,,,209,209,209,209,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,257,257,257',
613
+ '257,257,257,257,257,,257,,,,257,,257,,,257,,,,,,257,257,257,257,257',
614
+ '257,257,,,,257,257,257,,,,,257,257,257,257,30,30,30,30,,,,30,30,30,',
604
615
  ',,,,,,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',
638
- '166,166,166,166,166,,,167,,,,,166,,,,166,167,167,167,,167,,167,,167',
639
- ',167,167,167,167,167,167,167,167,167,167,167,167,167,167,,,168,,,,,167',
640
- ',,,167,168,168,168,,168,,168,,168,,168,168,168,168,168,168,168,168,168',
641
- '168,168,168,168,168,,,170,,,,,168,,,,168,170,170,170,,170,,170,,170',
642
- ',170,170,170,170,170,170,170,170,170,170,170,170,170,170,,,171,,,,,170',
643
- ',,,170,171,171,171,,171,,171,,171,,171,171,171,171,171,171,171,171,171',
644
- '171,171,171,171,171,,,172,,,,,171,,,,171,172,172,172,,172,,172,,172',
645
- ',172,172,172,172,172,172,172,172,172,172,172,172,172,172,,,178,,,,,172',
646
- ',,,172,178,178,178,,178,,178,,178,,178,178,178,178,178,178,178,178,178',
647
- '178,178,178,178,178,,,179,,,,,178,,,,178,179,179,179,,179,,179,,179',
648
- ',179,179,179,179,179,179,179,179,179,179,179,179,179,179,,,181,,,,,179',
649
- ',,,179,181,181,181,,181,,181,,181,,181,181,181,181,181,181,181,181,181',
650
- '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)
616
+ ',,,,,,,,,,,,30,30,30,30,30,30,30,,30,30,30,30,30,,,,,30,30,30,30,165',
617
+ '165,165,165,,,,165,165,165,,,,,,,,165,165,165,165,165,165,165,165,165',
618
+ ',165,165,165,165,165,165,165,165,165,165,,,,,,,,,,,,,,,,,165,165,165',
619
+ '165,165,165,165,,165,165,165,165,165,201,201,201,201,165,165,165,165',
620
+ ',,,,,,,,,201,201,201,201,201,201,201,201,201,,201,201,201,201,201,201',
621
+ '201,201,201,201,,,,,,,,201,,,201,,,,,,201,201,201,201,201,201,201,,',
622
+ ',201,201,201,202,202,202,202,201,201,201,201,,,,,,,,,,202,202,202,202',
623
+ '202,202,202,202,202,,202,202,202,202,202,202,202,202,202,202,,,,,,,',
624
+ '202,,,202,,,,,,202,202,202,202,202,202,202,,,,202,202,202,236,236,236',
625
+ '236,202,202,202,202,,,,,,,,,,236,236,236,236,236,236,236,236,236,,236',
626
+ '236,236,236,236,236,236,236,236,236,281,,,281,,281,,281,,,281,281,281',
627
+ ',,,236,236,236,236,236,236,236,,,,236,236,236,,,281,,236,236,236,236',
628
+ ',,,281,281,288,,281,288,,288,,288,,,288,288,288,,290,,,290,281,290,',
629
+ '290,,,290,290,290,,,,,288,,,,,,,,,288,288,,,288,290,,,,,,,,,290,290',
630
+ ',2,290,,288,,,,,,,2,2,2,,2,,2,290,2,,2,2,2,2,2,2,2,2,2,2,2,2,2,2,,,25',
631
+ ',,,,2,,,,2,25,25,25,,25,,25,25,25,,25,25,25,25,25,25,25,25,25,25,25',
632
+ '25,25,25,,,26,,,,,25,,,,25,26,26,26,,26,,26,,26,,26,26,26,26,26,26,26',
633
+ '26,26,26,26,26,26,26,,,40,,,,,26,,,,26,40,40,40,,40,,40,,40,,40,40,40',
634
+ '40,40,40,40,40,40,40,40,40,40,40,,,41,,,,,40,,,,40,41,41,41,,41,,41',
635
+ ',41,,41,41,41,41,41,41,41,41,41,41,41,41,41,41,,,43,,,,,41,,,,41,43',
636
+ '43,43,,43,,43,,43,,43,43,43,43,43,43,43,43,43,43,43,43,43,43,,,53,,',
637
+ ',,43,,,,43,53,53,53,,53,,53,,53,,53,53,53,53,53,53,53,53,53,53,53,53',
638
+ '53,53,,,92,,,,,53,,,,53,92,92,92,,92,,92,,92,,92,92,92,92,92,92,92,92',
639
+ '92,92,92,92,92,92,,,125,,,,,92,,,,92,125,125,125,,125,,125,125,125,',
640
+ '125,125,125,125,125,125,125,125,125,125,125,125,125,125,,,157,,,,,125',
641
+ ',,,125,157,157,157,,157,,157,,157,,157,157,157,157,157,157,157,157,157',
642
+ '157,157,157,157,157,,,158,,,,,157,,,,157,158,158,158,,158,,158,,158',
643
+ ',158,158,158,158,158,158,158,158,158,158,158,158,158,158,,,159,,,,,158',
644
+ ',,,158,159,159,159,,159,,159,,159,,159,159,159,159,159,159,159,159,159',
645
+ '159,159,159,159,159,,,166,,,,,159,,,,159,166,166,166,,166,,166,,166',
646
+ ',166,166,166,166,166,166,166,166,166,166,166,166,166,166,,,167,,,,,166',
647
+ ',,,166,167,167,167,,167,,167,,167,,167,167,167,167,167,167,167,167,167',
648
+ '167,167,167,167,167,,,168,,,,,167,,,,167,168,168,168,,168,,168,,168',
649
+ ',168,168,168,168,168,168,168,168,168,168,168,168,168,168,,,170,,,,,168',
650
+ ',,,168,170,170,170,,170,,170,,170,,170,170,170,170,170,170,170,170,170',
651
+ '170,170,170,170,170,,,171,,,,,170,,,,170,171,171,171,,171,,171,,171',
652
+ ',171,171,171,171,171,171,171,171,171,171,171,171,171,171,,,172,,,,,171',
653
+ ',,,171,172,172,172,,172,,172,,172,,172,172,172,172,172,172,172,172,172',
654
+ '172,172,172,172,172,,,178,,,,,172,,,,172,178,178,178,,178,,178,,178',
655
+ ',178,178,178,178,178,178,178,178,178,178,178,178,178,178,,,179,,,,,178',
656
+ ',,,178,179,179,179,,179,,179,,179,,179,179,179,179,179,179,179,179,179',
657
+ '179,179,179,179,179,,,181,,,,,179,,,,179,181,181,181,,181,,181,,181',
658
+ ',181,181,181,181,181,181,181,181,181,181,181,181,181,181,,,186,,,,,181',
659
+ ',,,181,186,186,186,,186,,186,,186,,186,186,186,186,186,186,186,186,186',
660
+ '186,186,186,186,186,,,204,,,,,186,,,,186,204,204,204,,204,,204,,204',
661
+ ',204,204,204,204,204,204,204,204,204,204,204,204,204,204,,,211,,,,,204',
662
+ ',,,204,211,211,211,,211,,211,,211,,211,211,211,211,211,211,211,211,211',
663
+ '211,211,211,211,211,,,230,,,,,211,,,,211,230,230,230,,230,,230,,230',
664
+ ',230,230,230,230,230,230,230,230,230,230,230,230,230,230,,,253,,,,,230',
665
+ ',,,230,253,253,253,,253,,253,,253,,253,253,253,253,253,253,253,253,253',
666
+ '253,253,253,253,253,,,292,,,,,253,,,,253,292,292,292,,292,,292,,292',
667
+ ',292,292,292,292,292,292,292,292,292,292,292,292,292,292,,,315,,,,,292',
668
+ ',,,292,315,315,315,,315,,315,,315,,315,315,315,315,315,315,315,315,315',
669
+ '315,315,315,315,315,,,330,,,,,315,,,,315,330,330,330,,330,,330,,330',
670
+ ',330,330,330,330,330,330,330,330,330,330,330,330,330,330,,,331,,,,,330',
671
+ ',,,330,331,331,331,,331,,331,,331,,331,331,331,331,331,331,331,331,331',
672
+ '331,331,331,331,331,,,368,,,,,331,,,,331,368,368,368,,368,,368,,368',
673
+ ',368,368,368,368,368,368,368,368,368,368,368,368,368,368,,,375,,,,,368',
674
+ ',,,368,375,375,375,,375,,375,,375,,375,375,375,375,375,375,375,375,375',
675
+ '375,375,375,375,375,,,377,,,,,375,,,,375,377,377,377,,377,,377,,377',
676
+ ',377,377,377,377,377,377,377,377,377,377,377,377,377,377,,,379,,,,,377',
677
+ ',,,377,379,379,379,,379,,379,,379,,379,379,379,379,379,379,379,379,379',
678
+ '379,379,379,379,379,,,381,,,,,379,,,,379,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,,,383,,,,,382,,,,382,383,383,383,,383,,383,,383',
682
+ ',383,383,383,383,383,383,383,383,383,383,383,383,383,383,,,406,,,,,383',
683
+ ',,,383,406,406,406,,406,,406,,406,,406,406,406,406,406,406,406,406,406',
684
+ '406,406,406,406,406,,,409,,,,,406,,,,406,409,409,409,,409,,409,,409',
685
+ ',409,409,409,409,409,409,409,409,409,409,409,409,409,409,,,410,,,,,409',
686
+ ',,,409,410,410,410,,410,,410,,410,,410,410,410,410,410,410,410,410,410',
687
+ '410,410,410,410,410,299,,,299,,299,,410,299,,,410,,,,,,,,,,,,,,299,',
688
+ '299,299,299,299,299,,,,299' ]
689
+ racc_action_check = arr = ::Array.new(3154, nil)
681
690
  idx = 0
682
691
  clist.each do |str|
683
692
  str.split(',', -1).each do |i|
@@ -687,539 +696,544 @@ clist = [
687
696
  end
688
697
 
689
698
  racc_action_pointer = [
690
- 130, 9, 1590, nil, nil, 16, 116, -33, nil, nil,
699
+ 73, 19, 1675, nil, nil, 42, 59, 13, nil, nil,
691
700
  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,
701
+ nil, nil, nil, nil, 80, 1711, 1747, 93, 19, nil,
702
+ 1264, 188, 110, nil, 27, 105, 166, nil, nil, nil,
703
+ 1783, 1819, nil, 1855, -27, nil, 145, 130, -3, 728,
704
+ nil, 5, nil, 1891, nil, nil, nil, nil, nil, nil,
696
705
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
697
706
  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,
707
+ nil, nil, nil, nil, nil, nil, nil, 148, nil, 162,
708
+ 200, 202, 1927, 240, 253, 291, nil, nil, nil, nil,
700
709
  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,
710
+ nil, nil, nil, 324, 144, 307, 179, 308, nil, 63,
711
+ 352, 306, nil, 8, 343, 1963, nil, 356, 375, 358,
712
+ 337, 338, 342, 343, 344, 345, 360, 361, 362, 363,
713
+ 371, 399, 378, -3, nil, 379, 378, nil, 379, nil,
714
+ 380, nil, nil, 381, 383, nil, 805, 1999, 2035, 2071,
715
+ 86, 408, 381, 381, 410, 1338, 2107, 2143, 2179, 50,
716
+ 2215, 2251, 2287, nil, nil, nil, nil, 1, 2323, 2359,
717
+ nil, 2395, nil, 17, nil, nil, 2431, nil, 117, nil,
718
+ 384, nil, nil, nil, nil, nil, nil, nil, 882, 959,
719
+ 1036, 1404, 1470, 1, 2467, 5, 10, 14, 421, 1113,
720
+ 87, 2503, nil, nil, 168, 174, 179, 181, 197, 199,
721
+ 5, 10, 20, 399, 454, 215, 217, 219, nil, 456,
722
+ 2539, nil, nil, nil, 415, nil, 1536, nil, nil, nil,
723
+ 20, nil, nil, nil, nil, 443, 443, 416, 448, 449,
724
+ 184, 464, 480, 2575, nil, nil, 435, 1190, nil, 437,
725
+ nil, 436, 418, 454, 26, nil, nil, 222, nil, nil,
726
+ 28, 30, nil, 194, nil, nil, 30, 453, nil, 480,
727
+ -2, 1579, 481, nil, 423, 502, nil, nil, 1621, 458,
728
+ 1635, 32, 2611, nil, nil, nil, nil, nil, 47, 3082,
720
729
  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 ]
730
+ nil, nil, 461, 462, 450, 2647, nil, nil, nil, nil,
731
+ nil, 39, 35, 30, 91, 477, 478, 479, 39, 43,
732
+ 2683, 2719, 501, 66, nil, 493, nil, 475, nil, nil,
733
+ nil, nil, nil, nil, nil, nil, nil, 222, nil, nil,
734
+ nil, nil, nil, nil, nil, nil, 467, 171, 478, 251,
735
+ 331, 411, 516, 517, 248, 254, 497, nil, 2755, 274,
736
+ nil, nil, 491, nil, nil, 2791, 524, 2827, 528, 2863,
737
+ 529, 2899, 2935, 2971, 78, 571, 491, 492, 532, 261,
738
+ 521, 164, 277, 522, 279, 523, 120, 121, 295, nil,
739
+ 517, nil, 533, nil, nil, 525, 3007, nil, 564, 3043,
740
+ 3079, nil, nil, nil, 537, nil, nil, 651, 297, nil,
741
+ 299, 302, 527, nil, nil ]
733
742
 
734
743
  racc_action_default = [
735
- -248, -248, -242, -6, -15, -248, -4, -157, -160, -161,
736
- -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,
741
- -110, -111, -112, -113, -114, -115, -116, -117, -118, -119,
742
- -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,
748
- -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 ]
744
+ -251, -251, -245, -6, -15, -251, -4, -158, -161, -162,
745
+ -163, -164, -165, -166, -167, -168, -169, -170, -171, -172,
746
+ -173, -174, -175, -176, -177, -245, -245, -251, -80, -185,
747
+ -251, -251, -246, -248, -16, -4, -148, 425, -1, -5,
748
+ -245, -245, -184, -245, -186, -179, -250, -251, -245, -245,
749
+ -183, -251, -205, -245, -105, -106, -107, -108, -109, -110,
750
+ -111, -112, -113, -114, -115, -116, -117, -118, -119, -120,
751
+ -121, -122, -123, -124, -125, -126, -127, -128, -129, -130,
752
+ -131, -132, -133, -134, -135, -136, -137, -250, -189, -251,
753
+ -251, -251, -245, -251, -251, -251, -200, -201, -202, -203,
754
+ -238, -239, -240, -241, -247, -2, -7, -8, -9, -10,
755
+ -11, -12, -13, -16, -251, -251, -251, -251, -3, -80,
756
+ -251, -159, -160, -251, -251, -245, -181, -251, -251, -251,
757
+ -171, -161, -165, -172, -173, -162, -163, -166, -167, -170,
758
+ -164, -116, -168, -232, -198, -251, -209, -210, -212, -213,
759
+ -215, -216, -219, -222, -224, -225, -245, -245, -245, -245,
760
+ -251, -251, -251, -207, -251, -249, -245, -245, -245, -194,
761
+ -245, -245, -245, -17, -14, -14, -14, -245, -245, -245,
762
+ -243, -245, -79, -251, -150, -178, -245, -180, -187, -182,
763
+ -81, -226, -233, -234, -235, -236, -237, -199, -245, -245,
764
+ -245, -220, -220, -232, -245, -232, -232, -232, -251, -245,
765
+ -251, -245, -188, -190, -191, -192, -193, -195, -196, -197,
766
+ -245, -245, -245, -251, -251, -155, -156, -157, -149, -251,
767
+ -245, -208, -216, -211, -218, -214, -251, -221, -223, -227,
768
+ -232, -228, -229, -231, -82, -251, -251, -204, -138, -138,
769
+ -251, -138, -251, -245, -244, -151, -206, -245, -230, -251,
770
+ -83, -19, -146, -24, -245, -57, -242, -154, -217, -30,
771
+ -245, -251, -140, -143, -147, -30, -245, -30, -26, -29,
772
+ -16, -16, -20, -139, -146, -251, -144, -145, -16, -25,
773
+ -16, -245, -245, -56, -58, -59, -60, -61, -71, -71,
774
+ -18, -31, -32, -33, -34, -35, -36, -37, -38, -39,
775
+ -40, -41, -251, -251, -251, -245, -141, -142, -22, -23,
776
+ -27, -251, -245, -68, -251, -42, -42, -42, -245, -245,
777
+ -245, -245, -251, -251, -28, -62, -69, -251, -72, -86,
778
+ -87, -88, -89, -90, -91, -92, -93, -94, -97, -98,
779
+ -99, -100, -101, -102, -103, -104, -130, -251, -251, -251,
780
+ -251, -251, -64, -66, -53, -54, -251, -21, -245, -73,
781
+ -95, -96, -251, -152, -43, -245, -50, -245, -50, -245,
782
+ -50, -245, -245, -245, -251, -251, -251, -251, -251, -44,
783
+ -251, -251, -46, -251, -48, -251, -251, -251, -55, -63,
784
+ -15, -84, -251, -74, -75, -251, -245, -51, -251, -245,
785
+ -245, -65, -67, -70, -76, -77, -85, -251, -45, -52,
786
+ -47, -49, -15, -153, -78 ]
778
787
 
779
788
  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,
789
+ 6, 114, 116, 93, 46, 163, 88, 92, 127, 191,
790
+ 50, 129, 204, 124, 208, 357, 128, 279, 232, 413,
791
+ 235, 272, 123, 277, 47, 234, 234, 38, 281, 279,
792
+ 261, 263, 1, 265, 288, 289, 290, 34, 121, 122,
793
+ 35, 424, 106, 316, 279, 237, 238, 143, 373, 269,
794
+ 376, 378, 380, 275, 164, 105, 118, 390, 320, 393,
795
+ 295, 395, 296, 388, 246, 220, 221, 222, 297, 239,
796
+ 251, 241, 242, 243, 280, 335, 402, 268, 294, 337,
797
+ 173, 362, 363, 234, 359, 360, 361, 385, 400, 119,
798
+ 169, 162, 204, 271, 285, 183, 223, 87, 233, 100,
799
+ nil, 182, nil, nil, nil, nil, 258, nil, 423, nil,
791
800
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
792
801
  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,
802
+ nil, nil, nil, nil, nil, nil, nil, nil, 93, nil,
803
+ nil, 213, 92, nil, nil, 224, nil, nil, nil, nil,
804
+ nil, nil, nil, nil, 203, 205, 206, 207, nil, nil,
805
+ 231, nil, nil, 247, 214, 215, 216, nil, 217, 218,
806
+ 219, 245, nil, nil, nil, nil, 225, 226, nil, 227,
807
+ 248, 249, 256, nil, 188, nil, nil, nil, 128, 250,
808
+ 252, nil, nil, nil, nil, nil, 143, 143, 143, nil,
809
+ nil, nil, 240, nil, nil, nil, nil, 143, nil, nil,
801
810
  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
811
  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,
812
+ 282, nil, nil, nil, nil, nil, nil, nil, 128, nil,
813
+ nil, nil, nil, nil, nil, nil, nil, 298, nil, 116,
814
+ nil, 267, nil, nil, nil, 143, 116, nil, 116, nil,
810
815
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
816
+ nil, 321, nil, nil, nil, nil, nil, nil, nil, nil,
811
817
  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,
818
+ nil, nil, nil, nil, 333, nil, nil, 355, nil, nil,
816
819
  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
820
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
820
- nil, 415, nil, nil, 417, 418 ]
821
+ nil, nil, nil, nil, nil, nil, nil, nil, 364, 365,
822
+ 355, nil, 355, 355, 355, nil, 375, 377, 379, nil,
823
+ nil, nil, nil, nil, nil, 355, nil, 384, nil, nil,
824
+ nil, nil, nil, nil, nil, nil, nil, nil, 355, nil,
825
+ 396, 397, 401, nil, nil, nil, nil, nil, nil, nil,
826
+ nil, nil, nil, 389, nil, 392, nil, 394, nil, nil,
827
+ nil, 398, nil, nil, nil, nil, nil, nil, nil, nil,
828
+ 355, nil, nil, nil, nil, nil, nil, nil, nil, nil,
829
+ nil, nil, nil, nil, 418, nil, nil, 420, 421 ]
821
830
 
822
831
  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,
832
+ 2, 15, 22, 53, 20, 60, 64, 35, 16, 76,
833
+ 47, 49, 65, 61, 51, 36, 22, 25, 71, 45,
834
+ 71, 55, 20, 23, 2, 66, 66, 3, 19, 25,
835
+ 17, 17, 1, 17, 19, 23, 19, 4, 2, 2,
836
+ 5, 45, 6, 55, 25, 72, 72, 2, 36, 18,
837
+ 36, 36, 36, 21, 61, 3, 3, 37, 24, 37,
838
+ 27, 37, 28, 36, 51, 13, 13, 13, 33, 76,
839
+ 38, 76, 76, 76, 39, 25, 36, 71, 40, 41,
840
+ 15, 25, 25, 66, 34, 34, 34, 43, 44, 46,
841
+ 2, 50, 65, 54, 57, 58, 59, 63, 67, 77,
842
+ nil, 47, nil, nil, nil, nil, 76, nil, 36, nil,
834
843
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
835
844
  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,
845
+ nil, nil, nil, nil, nil, nil, nil, nil, 53, nil,
846
+ nil, 64, 35, nil, nil, 22, nil, nil, nil, nil,
838
847
  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,
848
+ 49, nil, nil, 60, 2, 2, 2, nil, 2, 2,
849
+ 2, 49, nil, nil, nil, nil, 2, 2, nil, 2,
850
+ 16, 16, 60, nil, 2, nil, nil, nil, 22, 22,
851
+ 22, nil, nil, nil, nil, nil, 2, 2, 2, nil,
852
+ nil, nil, 2, nil, nil, nil, nil, 2, nil, nil,
844
853
  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
854
  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,
855
+ 16, nil, nil, nil, nil, nil, nil, nil, 22, nil,
856
+ nil, nil, nil, nil, nil, nil, nil, 15, nil, 22,
857
+ nil, 2, nil, nil, nil, 2, 22, nil, 22, nil,
853
858
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
859
+ nil, 20, nil, nil, nil, nil, nil, nil, nil, nil,
854
860
  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,
861
+ nil, nil, nil, nil, 20, nil, nil, 53, nil, nil,
859
862
  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
863
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
863
- nil, 2, nil, nil, 2, 2 ]
864
+ nil, nil, nil, nil, nil, nil, nil, nil, 2, 2,
865
+ 53, nil, 53, 53, 53, nil, 35, 35, 35, nil,
866
+ nil, nil, nil, nil, nil, 53, nil, 20, nil, nil,
867
+ nil, nil, nil, nil, nil, nil, nil, nil, 53, nil,
868
+ 20, 20, 35, nil, nil, nil, nil, nil, nil, nil,
869
+ nil, nil, nil, 2, nil, 2, nil, 2, nil, nil,
870
+ nil, 2, nil, nil, nil, nil, nil, nil, nil, nil,
871
+ 53, nil, nil, nil, nil, nil, nil, nil, nil, nil,
872
+ nil, nil, nil, nil, 2, nil, nil, 2, 2 ]
864
873
 
865
874
  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 ]
875
+ nil, 32, -2, 21, 34, 36, 8, nil, nil, nil,
876
+ nil, nil, nil, -109, nil, -33, -40, -218, -212, -241,
877
+ -21, -210, -32, -241, -233, -247, nil, -220, -218, nil,
878
+ nil, nil, nil, -212, -241, -23, -309, -319, -152, -191,
879
+ -202, -244, nil, -282, -297, -381, 53, -18, nil, -38,
880
+ 40, -146, nil, -27, -169, -241, nil, -179, -25, -81,
881
+ -48, -33, nil, 67, -24, -144, -174, -101, nil, nil,
882
+ nil, -180, -156, nil, nil, nil, -134, 68 ]
874
883
 
875
884
  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,
885
+ nil, nil, 44, nil, nil, 414, 311, 107, 108, 109,
886
+ 110, 111, 112, nil, 36, 299, 115, nil, nil, nil,
887
+ nil, nil, 31, nil, 278, 24, 301, 302, 303, 304,
888
+ 305, 306, 307, 310, nil, 144, nil, nil, nil, nil,
889
+ nil, nil, 323, nil, nil, nil, nil, nil, 51, nil,
890
+ nil, 52, 347, 145, nil, nil, 273, nil, nil, nil,
882
891
  7, nil, 29, nil, nil, 158, 146, 147, 148, 149,
883
892
  150, 151, 152, 153, 154, 155, nil, nil ]
884
893
 
885
894
  racc_reduce_table = [
886
895
  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,
896
+ 3, 84, :_reduce_1,
897
+ 3, 84, :_reduce_2,
898
+ 3, 84, :_reduce_3,
899
+ 0, 86, :_reduce_none,
900
+ 1, 86, :_reduce_none,
901
+ 0, 87, :_reduce_6,
902
+ 2, 87, :_reduce_7,
903
+ 1, 89, :_reduce_none,
904
+ 1, 89, :_reduce_none,
905
+ 1, 89, :_reduce_none,
906
+ 1, 89, :_reduce_none,
907
+ 1, 89, :_reduce_none,
908
+ 1, 89, :_reduce_none,
909
+ 0, 96, :_reduce_14,
910
+ 0, 97, :_reduce_15,
911
+ 0, 98, :_reduce_16,
912
+ 2, 98, :_reduce_17,
913
+ 8, 95, :_reduce_18,
914
+ 0, 101, :_reduce_19,
915
+ 2, 101, :_reduce_20,
916
+ 5, 101, :_reduce_21,
917
+ 8, 94, :_reduce_22,
918
+ 8, 94, :_reduce_23,
919
+ 0, 104, :_reduce_24,
920
+ 2, 104, :_reduce_25,
921
+ 1, 106, :_reduce_26,
922
+ 3, 106, :_reduce_27,
923
+ 4, 107, :_reduce_28,
924
+ 1, 107, :_reduce_29,
925
+ 0, 102, :_reduce_30,
926
+ 2, 102, :_reduce_31,
927
+ 1, 109, :_reduce_none,
928
+ 1, 109, :_reduce_none,
929
+ 1, 109, :_reduce_none,
930
+ 1, 109, :_reduce_none,
931
+ 1, 109, :_reduce_none,
932
+ 1, 109, :_reduce_none,
933
+ 1, 109, :_reduce_38,
934
+ 1, 109, :_reduce_39,
935
+ 1, 109, :_reduce_none,
936
+ 1, 109, :_reduce_none,
937
+ 0, 117, :_reduce_42,
938
+ 2, 117, :_reduce_43,
939
+ 5, 115, :_reduce_44,
940
+ 7, 115, :_reduce_45,
941
+ 5, 115, :_reduce_46,
942
+ 7, 115, :_reduce_47,
943
+ 5, 115, :_reduce_48,
944
+ 7, 115, :_reduce_49,
945
+ 0, 120, :_reduce_50,
946
+ 2, 120, :_reduce_51,
947
+ 3, 120, :_reduce_52,
948
+ 3, 114, :_reduce_53,
949
+ 3, 114, :_reduce_54,
950
+ 5, 114, :_reduce_55,
951
+ 7, 93, :_reduce_56,
952
+ 0, 122, :_reduce_57,
953
+ 2, 122, :_reduce_58,
954
+ 1, 123, :_reduce_59,
955
+ 1, 123, :_reduce_60,
956
+ 1, 123, :_reduce_none,
957
+ 3, 111, :_reduce_62,
958
+ 6, 111, :_reduce_63,
959
+ 3, 112, :_reduce_64,
960
+ 6, 112, :_reduce_65,
961
+ 3, 113, :_reduce_66,
962
+ 6, 113, :_reduce_67,
963
+ 0, 124, :_reduce_68,
964
+ 1, 124, :_reduce_69,
965
+ 7, 110, :_reduce_70,
966
+ 0, 125, :_reduce_none,
967
+ 2, 125, :_reduce_72,
968
+ 0, 126, :_reduce_73,
969
+ 2, 126, :_reduce_74,
970
+ 2, 126, :_reduce_75,
971
+ 1, 128, :_reduce_76,
972
+ 1, 128, :_reduce_77,
973
+ 3, 128, :_reduce_78,
974
+ 3, 88, :_reduce_79,
975
+ 0, 131, :_reduce_80,
976
+ 3, 131, :_reduce_81,
977
+ 3, 133, :_reduce_82,
978
+ 4, 133, :_reduce_83,
979
+ 1, 127, :_reduce_84,
980
+ 2, 127, :_reduce_85,
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
+ 1, 119, :_reduce_none,
989
+ 1, 119, :_reduce_none,
990
+ 2, 119, :_reduce_95,
991
+ 2, 119, :_reduce_96,
992
+ 1, 119, :_reduce_none,
993
+ 1, 119, :_reduce_none,
994
+ 1, 119, :_reduce_none,
995
+ 1, 135, :_reduce_none,
996
+ 1, 135, :_reduce_none,
997
+ 1, 135, :_reduce_none,
998
+ 1, 135, :_reduce_none,
999
+ 1, 135, :_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
+ 1, 136, :_reduce_none,
1031
+ 1, 136, :_reduce_none,
1032
+ 1, 136, :_reduce_none,
1033
+ 0, 100, :_reduce_138,
1034
+ 3, 100, :_reduce_139,
1035
+ 1, 137, :_reduce_140,
1036
+ 3, 137, :_reduce_141,
1037
+ 3, 138, :_reduce_142,
1038
+ 0, 140, :_reduce_143,
1039
+ 1, 140, :_reduce_144,
1040
+ 1, 140, :_reduce_145,
1041
+ 0, 139, :_reduce_146,
1042
+ 1, 139, :_reduce_147,
1043
+ 0, 129, :_reduce_148,
1044
+ 3, 129, :_reduce_149,
1045
+ 1, 141, :_reduce_150,
1046
+ 3, 141, :_reduce_151,
1047
+ 4, 116, :_reduce_152,
1048
+ 8, 116, :_reduce_153,
1049
+ 5, 90, :_reduce_154,
1050
+ 3, 91, :_reduce_155,
1051
+ 3, 91, :_reduce_156,
1052
+ 3, 92, :_reduce_157,
1053
+ 1, 85, :_reduce_none,
1054
+ 3, 85, :_reduce_159,
1055
+ 3, 85, :_reduce_160,
1056
+ 1, 143, :_reduce_161,
1057
+ 1, 143, :_reduce_162,
1058
+ 1, 143, :_reduce_163,
1059
+ 1, 143, :_reduce_164,
1060
+ 1, 143, :_reduce_165,
1061
+ 1, 143, :_reduce_166,
1062
+ 1, 143, :_reduce_167,
1063
+ 1, 143, :_reduce_168,
1064
+ 1, 143, :_reduce_169,
1065
+ 1, 143, :_reduce_170,
1066
+ 1, 143, :_reduce_171,
1067
+ 1, 143, :_reduce_172,
1068
+ 1, 143, :_reduce_173,
1069
+ 1, 143, :_reduce_174,
1070
+ 1, 143, :_reduce_175,
1071
+ 1, 143, :_reduce_176,
1072
+ 1, 143, :_reduce_177,
1073
+ 4, 143, :_reduce_178,
1074
+ 2, 143, :_reduce_179,
1075
+ 4, 143, :_reduce_180,
1076
+ 3, 143, :_reduce_181,
1077
+ 4, 143, :_reduce_182,
1078
+ 2, 143, :_reduce_183,
1079
+ 2, 143, :_reduce_184,
1080
+ 1, 143, :_reduce_none,
1081
+ 1, 103, :_reduce_186,
1082
+ 3, 103, :_reduce_187,
1083
+ 4, 145, :_reduce_188,
1084
+ 1, 146, :_reduce_189,
1085
+ 3, 146, :_reduce_190,
1086
+ 3, 147, :_reduce_191,
1087
+ 3, 147, :_reduce_192,
1088
+ 3, 147, :_reduce_193,
1089
+ 2, 147, :_reduce_194,
1090
+ 3, 147, :_reduce_195,
1091
+ 3, 147, :_reduce_196,
1092
+ 3, 147, :_reduce_197,
1098
1093
  1, 148, :_reduce_none,
1099
- 3, 150, :_reduce_213,
1100
- 1, 150, :_reduce_214,
1094
+ 2, 148, :_reduce_199,
1095
+ 1, 118, :_reduce_none,
1096
+ 1, 118, :_reduce_none,
1097
+ 1, 118, :_reduce_none,
1098
+ 1, 118, :_reduce_none,
1099
+ 4, 130, :_reduce_204,
1100
+ 1, 130, :_reduce_205,
1101
+ 5, 134, :_reduce_206,
1102
+ 2, 134, :_reduce_207,
1103
+ 3, 132, :_reduce_208,
1104
+ 1, 132, :_reduce_209,
1105
+ 1, 132, :_reduce_none,
1106
+ 3, 150, :_reduce_211,
1107
+ 1, 150, :_reduce_212,
1101
1108
  1, 150, :_reduce_none,
1102
- 3, 152, :_reduce_216,
1103
- 1, 152, :_reduce_217,
1109
+ 3, 152, :_reduce_214,
1110
+ 1, 152, :_reduce_215,
1104
1111
  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,
1112
+ 3, 154, :_reduce_217,
1113
+ 1, 154, :_reduce_218,
1114
+ 1, 154, :_reduce_none,
1115
+ 0, 155, :_reduce_220,
1116
+ 3, 155, :_reduce_221,
1117
+ 1, 155, :_reduce_222,
1118
+ 3, 155, :_reduce_223,
1119
+ 1, 155, :_reduce_224,
1120
+ 1, 155, :_reduce_225,
1121
+ 2, 149, :_reduce_226,
1113
1122
  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
1123
+ 3, 153, :_reduce_228,
1124
+ 3, 156, :_reduce_229,
1125
+ 4, 157, :_reduce_230,
1126
+ 3, 158, :_reduce_231,
1127
+ 0, 159, :_reduce_none,
1128
+ 1, 159, :_reduce_none,
1129
+ 1, 159, :_reduce_none,
1130
+ 1, 159, :_reduce_none,
1131
+ 1, 159, :_reduce_none,
1132
+ 1, 159, :_reduce_none,
1133
+ 2, 108, :_reduce_238,
1134
+ 1, 160, :_reduce_none,
1135
+ 1, 160, :_reduce_none,
1136
+ 1, 160, :_reduce_none,
1137
+ 2, 121, :_reduce_242,
1138
+ 2, 99, :_reduce_243,
1139
+ 2, 142, :_reduce_244,
1140
+ 0, 105, :_reduce_245,
1141
+ 1, 105, :_reduce_246,
1142
+ 2, 105, :_reduce_247,
1143
+ 1, 105, :_reduce_248,
1144
+ 1, 144, :_reduce_none,
1145
+ 0, 144, :_reduce_none ]
1146
+
1147
+ racc_reduce_n = 251
1148
+
1149
+ racc_shift_n = 425
1138
1150
 
1139
1151
  racc_token_table = {
1140
1152
  false => 0,
1141
1153
  :error => 1,
1142
1154
  :tUIDENT => 2,
1143
1155
  :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
1156
+ :tUNDERSCOREIDENT => 4,
1157
+ :tNAMESPACE => 5,
1158
+ :tINTERFACEIDENT => 6,
1159
+ :tGLOBALIDENT => 7,
1160
+ :tLKEYWORD => 8,
1161
+ :tUKEYWORD => 9,
1162
+ :tLKEYWORD_Q_E => 10,
1163
+ :tUKEYWORD_Q_E => 11,
1164
+ :tIVAR => 12,
1165
+ :tCLASSVAR => 13,
1166
+ :tANNOTATION => 14,
1167
+ :tSTRING => 15,
1168
+ :tSYMBOL => 16,
1169
+ :tINTEGER => 17,
1170
+ :tWRITE_ATTR => 18,
1171
+ :kLPAREN => 19,
1172
+ :kRPAREN => 20,
1173
+ :kLBRACKET => 21,
1174
+ :kRBRACKET => 22,
1175
+ :kLBRACE => 23,
1176
+ :kRBRACE => 24,
1177
+ :kVOID => 25,
1178
+ :kNIL => 26,
1179
+ :kTRUE => 27,
1180
+ :kFALSE => 28,
1181
+ :kANY => 29,
1182
+ :kUNTYPED => 30,
1183
+ :kTOP => 31,
1184
+ :kBOT => 32,
1185
+ :kSELF => 33,
1186
+ :kSELFQ => 34,
1187
+ :kINSTANCE => 35,
1188
+ :kCLASS => 36,
1189
+ :kBOOL => 37,
1190
+ :kSINGLETON => 38,
1191
+ :kTYPE => 39,
1192
+ :kDEF => 40,
1193
+ :kMODULE => 41,
1194
+ :kPRIVATE => 42,
1195
+ :kPUBLIC => 43,
1196
+ :kALIAS => 44,
1197
+ :kCOLON => 45,
1198
+ :kCOLON2 => 46,
1199
+ :kCOMMA => 47,
1200
+ :kBAR => 48,
1201
+ :kAMP => 49,
1202
+ :kHAT => 50,
1203
+ :kARROW => 51,
1204
+ :kQUESTION => 52,
1205
+ :kEXCLAMATION => 53,
1206
+ :kSTAR => 54,
1207
+ :kSTAR2 => 55,
1208
+ :kFATARROW => 56,
1209
+ :kEQ => 57,
1210
+ :kDOT => 58,
1211
+ :kDOT3 => 59,
1212
+ :kLT => 60,
1213
+ :kINTERFACE => 61,
1214
+ :kEND => 62,
1215
+ :kINCLUDE => 63,
1216
+ :kEXTEND => 64,
1217
+ :kATTRREADER => 65,
1218
+ :kATTRWRITER => 66,
1219
+ :kATTRACCESSOR => 67,
1220
+ :tOPERATOR => 68,
1221
+ :tQUOTEDMETHOD => 69,
1222
+ :tQUOTEDIDENT => 70,
1223
+ :kPREPEND => 71,
1224
+ :kEXTENSION => 72,
1225
+ :kINCOMPATIBLE => 73,
1226
+ :type_TYPE => 74,
1227
+ :type_SIGNATURE => 75,
1228
+ :type_METHODTYPE => 76,
1229
+ :tEOF => 77,
1230
+ :kOUT => 78,
1231
+ :kIN => 79,
1232
+ :kUNCHECKED => 80,
1233
+ :kOVERLOAD => 81,
1234
+ :tPARAMNAME => 82 }
1235
+
1236
+ racc_nt_base = 83
1223
1237
 
1224
1238
  racc_use_result_var = true
1225
1239
 
@@ -1244,6 +1258,7 @@ Racc_token_to_s_table = [
1244
1258
  "error",
1245
1259
  "tUIDENT",
1246
1260
  "tLIDENT",
1261
+ "tUNDERSCOREIDENT",
1247
1262
  "tNAMESPACE",
1248
1263
  "tINTERFACEIDENT",
1249
1264
  "tGLOBALIDENT",
@@ -1321,6 +1336,7 @@ Racc_token_to_s_table = [
1321
1336
  "kIN",
1322
1337
  "kUNCHECKED",
1323
1338
  "kOVERLOAD",
1339
+ "tPARAMNAME",
1324
1340
  "$start",
1325
1341
  "target",
1326
1342
  "type",
@@ -1406,7 +1422,7 @@ Racc_debug_parser = false
1406
1422
 
1407
1423
  # reduce 0 omitted
1408
1424
 
1409
- module_eval(<<'.,.,', 'parser.y', 28)
1425
+ module_eval(<<'.,.,', 'parser.y', 29)
1410
1426
  def _reduce_1(val, _values, result)
1411
1427
  result = val[1]
1412
1428
 
@@ -1414,7 +1430,7 @@ module_eval(<<'.,.,', 'parser.y', 28)
1414
1430
  end
1415
1431
  .,.,
1416
1432
 
1417
- module_eval(<<'.,.,', 'parser.y', 31)
1433
+ module_eval(<<'.,.,', 'parser.y', 32)
1418
1434
  def _reduce_2(val, _values, result)
1419
1435
  result = val[1]
1420
1436
 
@@ -1422,7 +1438,7 @@ module_eval(<<'.,.,', 'parser.y', 31)
1422
1438
  end
1423
1439
  .,.,
1424
1440
 
1425
- module_eval(<<'.,.,', 'parser.y', 34)
1441
+ module_eval(<<'.,.,', 'parser.y', 35)
1426
1442
  def _reduce_3(val, _values, result)
1427
1443
  result = val[1]
1428
1444
 
@@ -1434,14 +1450,14 @@ module_eval(<<'.,.,', 'parser.y', 34)
1434
1450
 
1435
1451
  # reduce 5 omitted
1436
1452
 
1437
- module_eval(<<'.,.,', 'parser.y', 40)
1453
+ module_eval(<<'.,.,', 'parser.y', 41)
1438
1454
  def _reduce_6(val, _values, result)
1439
1455
  result = []
1440
1456
  result
1441
1457
  end
1442
1458
  .,.,
1443
1459
 
1444
- module_eval(<<'.,.,', 'parser.y', 42)
1460
+ module_eval(<<'.,.,', 'parser.y', 43)
1445
1461
  def _reduce_7(val, _values, result)
1446
1462
  result = val[0].push(val[1])
1447
1463
 
@@ -1461,28 +1477,28 @@ module_eval(<<'.,.,', 'parser.y', 42)
1461
1477
 
1462
1478
  # reduce 13 omitted
1463
1479
 
1464
- module_eval(<<'.,.,', 'parser.y', 53)
1480
+ module_eval(<<'.,.,', 'parser.y', 54)
1465
1481
  def _reduce_14(val, _values, result)
1466
1482
  start_new_variables_scope
1467
1483
  result
1468
1484
  end
1469
1485
  .,.,
1470
1486
 
1471
- module_eval(<<'.,.,', 'parser.y', 54)
1487
+ module_eval(<<'.,.,', 'parser.y', 55)
1472
1488
  def _reduce_15(val, _values, result)
1473
1489
  start_merged_variables_scope
1474
1490
  result
1475
1491
  end
1476
1492
  .,.,
1477
1493
 
1478
- module_eval(<<'.,.,', 'parser.y', 57)
1494
+ module_eval(<<'.,.,', 'parser.y', 58)
1479
1495
  def _reduce_16(val, _values, result)
1480
1496
  result = []
1481
1497
  result
1482
1498
  end
1483
1499
  .,.,
1484
1500
 
1485
- module_eval(<<'.,.,', 'parser.y', 59)
1501
+ module_eval(<<'.,.,', 'parser.y', 60)
1486
1502
  def _reduce_17(val, _values, result)
1487
1503
  result = val[1].unshift(Annotation.new(string: val[0].value, location: val[0].location))
1488
1504
 
@@ -1490,7 +1506,7 @@ module_eval(<<'.,.,', 'parser.y', 59)
1490
1506
  end
1491
1507
  .,.,
1492
1508
 
1493
- module_eval(<<'.,.,', 'parser.y', 64)
1509
+ module_eval(<<'.,.,', 'parser.y', 65)
1494
1510
  def _reduce_18(val, _values, result)
1495
1511
  reset_variable_scope
1496
1512
 
@@ -1520,14 +1536,14 @@ module_eval(<<'.,.,', 'parser.y', 64)
1520
1536
  end
1521
1537
  .,.,
1522
1538
 
1523
- module_eval(<<'.,.,', 'parser.y', 90)
1539
+ module_eval(<<'.,.,', 'parser.y', 91)
1524
1540
  def _reduce_19(val, _values, result)
1525
1541
  result = nil
1526
1542
  result
1527
1543
  end
1528
1544
  .,.,
1529
1545
 
1530
- module_eval(<<'.,.,', 'parser.y', 92)
1546
+ module_eval(<<'.,.,', 'parser.y', 93)
1531
1547
  def _reduce_20(val, _values, result)
1532
1548
  loc = val[1].location.with_children(
1533
1549
  required: { name: val[1].location },
@@ -1540,7 +1556,7 @@ module_eval(<<'.,.,', 'parser.y', 92)
1540
1556
  end
1541
1557
  .,.,
1542
1558
 
1543
- module_eval(<<'.,.,', 'parser.y', 100)
1559
+ module_eval(<<'.,.,', 'parser.y', 101)
1544
1560
  def _reduce_21(val, _values, result)
1545
1561
  loc = (val[1].location + val[4].location).with_children(
1546
1562
  required: { name: val[1].location },
@@ -1553,7 +1569,7 @@ module_eval(<<'.,.,', 'parser.y', 100)
1553
1569
  end
1554
1570
  .,.,
1555
1571
 
1556
- module_eval(<<'.,.,', 'parser.y', 110)
1572
+ module_eval(<<'.,.,', 'parser.y', 111)
1557
1573
  def _reduce_22(val, _values, result)
1558
1574
  reset_variable_scope
1559
1575
 
@@ -1596,7 +1612,7 @@ module_eval(<<'.,.,', 'parser.y', 110)
1596
1612
  end
1597
1613
  .,.,
1598
1614
 
1599
- module_eval(<<'.,.,', 'parser.y', 148)
1615
+ module_eval(<<'.,.,', 'parser.y', 149)
1600
1616
  def _reduce_23(val, _values, result)
1601
1617
  reset_variable_scope
1602
1618
 
@@ -1629,14 +1645,14 @@ module_eval(<<'.,.,', 'parser.y', 148)
1629
1645
  end
1630
1646
  .,.,
1631
1647
 
1632
- module_eval(<<'.,.,', 'parser.y', 177)
1648
+ module_eval(<<'.,.,', 'parser.y', 178)
1633
1649
  def _reduce_24(val, _values, result)
1634
1650
  result = LocatedValue.new(value: [], location: nil)
1635
1651
  result
1636
1652
  end
1637
1653
  .,.,
1638
1654
 
1639
- module_eval(<<'.,.,', 'parser.y', 179)
1655
+ module_eval(<<'.,.,', 'parser.y', 180)
1640
1656
  def _reduce_25(val, _values, result)
1641
1657
  result = LocatedValue.new(value: val[1], location: val[0].location)
1642
1658
 
@@ -1644,7 +1660,7 @@ module_eval(<<'.,.,', 'parser.y', 179)
1644
1660
  end
1645
1661
  .,.,
1646
1662
 
1647
- module_eval(<<'.,.,', 'parser.y', 184)
1663
+ module_eval(<<'.,.,', 'parser.y', 185)
1648
1664
  def _reduce_26(val, _values, result)
1649
1665
  result = [val[0]]
1650
1666
 
@@ -1652,7 +1668,7 @@ module_eval(<<'.,.,', 'parser.y', 184)
1652
1668
  end
1653
1669
  .,.,
1654
1670
 
1655
- module_eval(<<'.,.,', 'parser.y', 187)
1671
+ module_eval(<<'.,.,', 'parser.y', 188)
1656
1672
  def _reduce_27(val, _values, result)
1657
1673
  result = val[0].push(val[2])
1658
1674
 
@@ -1660,7 +1676,7 @@ module_eval(<<'.,.,', 'parser.y', 187)
1660
1676
  end
1661
1677
  .,.,
1662
1678
 
1663
- module_eval(<<'.,.,', 'parser.y', 192)
1679
+ module_eval(<<'.,.,', 'parser.y', 193)
1664
1680
  def _reduce_28(val, _values, result)
1665
1681
  name = val[0].value
1666
1682
  args = val[2]
@@ -1683,7 +1699,7 @@ module_eval(<<'.,.,', 'parser.y', 192)
1683
1699
  end
1684
1700
  .,.,
1685
1701
 
1686
- module_eval(<<'.,.,', 'parser.y', 210)
1702
+ module_eval(<<'.,.,', 'parser.y', 211)
1687
1703
  def _reduce_29(val, _values, result)
1688
1704
  name = val[0].value
1689
1705
  args = []
@@ -1705,14 +1721,14 @@ module_eval(<<'.,.,', 'parser.y', 210)
1705
1721
  end
1706
1722
  .,.,
1707
1723
 
1708
- module_eval(<<'.,.,', 'parser.y', 228)
1724
+ module_eval(<<'.,.,', 'parser.y', 229)
1709
1725
  def _reduce_30(val, _values, result)
1710
1726
  result = []
1711
1727
  result
1712
1728
  end
1713
1729
  .,.,
1714
1730
 
1715
- module_eval(<<'.,.,', 'parser.y', 230)
1731
+ module_eval(<<'.,.,', 'parser.y', 231)
1716
1732
  def _reduce_31(val, _values, result)
1717
1733
  result = val[0].push(val[1])
1718
1734
 
@@ -1732,7 +1748,7 @@ module_eval(<<'.,.,', 'parser.y', 230)
1732
1748
 
1733
1749
  # reduce 37 omitted
1734
1750
 
1735
- module_eval(<<'.,.,', 'parser.y', 241)
1751
+ module_eval(<<'.,.,', 'parser.y', 242)
1736
1752
  def _reduce_38(val, _values, result)
1737
1753
  result = Members::Public.new(location: val[0].location)
1738
1754
 
@@ -1740,7 +1756,7 @@ module_eval(<<'.,.,', 'parser.y', 241)
1740
1756
  end
1741
1757
  .,.,
1742
1758
 
1743
- module_eval(<<'.,.,', 'parser.y', 244)
1759
+ module_eval(<<'.,.,', 'parser.y', 245)
1744
1760
  def _reduce_39(val, _values, result)
1745
1761
  result = Members::Private.new(location: val[0].location)
1746
1762
 
@@ -1752,21 +1768,21 @@ module_eval(<<'.,.,', 'parser.y', 244)
1752
1768
 
1753
1769
  # reduce 41 omitted
1754
1770
 
1755
- module_eval(<<'.,.,', 'parser.y', 250)
1771
+ module_eval(<<'.,.,', 'parser.y', 251)
1756
1772
  def _reduce_42(val, _values, result)
1757
1773
  result = LocatedValue.new(value: :instance, location: nil)
1758
1774
  result
1759
1775
  end
1760
1776
  .,.,
1761
1777
 
1762
- module_eval(<<'.,.,', 'parser.y', 251)
1778
+ module_eval(<<'.,.,', 'parser.y', 252)
1763
1779
  def _reduce_43(val, _values, result)
1764
1780
  result = LocatedValue.new(value: :singleton, location: val[0].location + val[1].location)
1765
1781
  result
1766
1782
  end
1767
1783
  .,.,
1768
1784
 
1769
- module_eval(<<'.,.,', 'parser.y', 255)
1785
+ module_eval(<<'.,.,', 'parser.y', 256)
1770
1786
  def _reduce_44(val, _values, result)
1771
1787
  location = val[1].location + val[4].location
1772
1788
  name_loc, colon_loc = split_kw_loc(val[3].location)
@@ -1786,7 +1802,7 @@ module_eval(<<'.,.,', 'parser.y', 255)
1786
1802
  end
1787
1803
  .,.,
1788
1804
 
1789
- module_eval(<<'.,.,', 'parser.y', 270)
1805
+ module_eval(<<'.,.,', 'parser.y', 271)
1790
1806
  def _reduce_45(val, _values, result)
1791
1807
  location = val[1].location + val[6].location
1792
1808
  ivar_loc = val[4]&.location
@@ -1817,7 +1833,7 @@ module_eval(<<'.,.,', 'parser.y', 270)
1817
1833
  end
1818
1834
  .,.,
1819
1835
 
1820
- module_eval(<<'.,.,', 'parser.y', 296)
1836
+ module_eval(<<'.,.,', 'parser.y', 297)
1821
1837
  def _reduce_46(val, _values, result)
1822
1838
  location = val[1].location + val[4].location
1823
1839
  name_loc, colon_loc = split_kw_loc(val[3].location)
@@ -1837,7 +1853,7 @@ module_eval(<<'.,.,', 'parser.y', 296)
1837
1853
  end
1838
1854
  .,.,
1839
1855
 
1840
- module_eval(<<'.,.,', 'parser.y', 311)
1856
+ module_eval(<<'.,.,', 'parser.y', 312)
1841
1857
  def _reduce_47(val, _values, result)
1842
1858
  location = val[1].location + val[6].location
1843
1859
  ivar_loc = val[4]&.location
@@ -1869,7 +1885,7 @@ module_eval(<<'.,.,', 'parser.y', 311)
1869
1885
  end
1870
1886
  .,.,
1871
1887
 
1872
- module_eval(<<'.,.,', 'parser.y', 338)
1888
+ module_eval(<<'.,.,', 'parser.y', 339)
1873
1889
  def _reduce_48(val, _values, result)
1874
1890
  location = val[1].location + val[4].location
1875
1891
  name_loc, colon_loc = split_kw_loc(val[3].location)
@@ -1890,7 +1906,7 @@ module_eval(<<'.,.,', 'parser.y', 338)
1890
1906
  end
1891
1907
  .,.,
1892
1908
 
1893
- module_eval(<<'.,.,', 'parser.y', 354)
1909
+ module_eval(<<'.,.,', 'parser.y', 355)
1894
1910
  def _reduce_49(val, _values, result)
1895
1911
  location = val[1].location + val[6].location
1896
1912
  ivar_loc = val[4]&.location
@@ -1922,21 +1938,21 @@ module_eval(<<'.,.,', 'parser.y', 354)
1922
1938
  end
1923
1939
  .,.,
1924
1940
 
1925
- module_eval(<<'.,.,', 'parser.y', 382)
1941
+ module_eval(<<'.,.,', 'parser.y', 383)
1926
1942
  def _reduce_50(val, _values, result)
1927
1943
  result = nil
1928
1944
  result
1929
1945
  end
1930
1946
  .,.,
1931
1947
 
1932
- module_eval(<<'.,.,', 'parser.y', 383)
1948
+ module_eval(<<'.,.,', 'parser.y', 384)
1933
1949
  def _reduce_51(val, _values, result)
1934
1950
  result = LocatedValue.new(value: false, location: val[0].location + val[1].location)
1935
1951
  result
1936
1952
  end
1937
1953
  .,.,
1938
1954
 
1939
- module_eval(<<'.,.,', 'parser.y', 385)
1955
+ module_eval(<<'.,.,', 'parser.y', 386)
1940
1956
  def _reduce_52(val, _values, result)
1941
1957
  result = LocatedValue.new(
1942
1958
  value: val[1],
@@ -1947,7 +1963,7 @@ module_eval(<<'.,.,', 'parser.y', 385)
1947
1963
  end
1948
1964
  .,.,
1949
1965
 
1950
- module_eval(<<'.,.,', 'parser.y', 393)
1966
+ module_eval(<<'.,.,', 'parser.y', 394)
1951
1967
  def _reduce_53(val, _values, result)
1952
1968
  location = (val[0].location + val[2].location).with_children(
1953
1969
  required: { name: val[0].location, colon: val[1].location },
@@ -1965,7 +1981,7 @@ module_eval(<<'.,.,', 'parser.y', 393)
1965
1981
  end
1966
1982
  .,.,
1967
1983
 
1968
- module_eval(<<'.,.,', 'parser.y', 406)
1984
+ module_eval(<<'.,.,', 'parser.y', 407)
1969
1985
  def _reduce_54(val, _values, result)
1970
1986
  type = val[2]
1971
1987
 
@@ -1993,7 +2009,7 @@ module_eval(<<'.,.,', 'parser.y', 406)
1993
2009
  end
1994
2010
  .,.,
1995
2011
 
1996
- module_eval(<<'.,.,', 'parser.y', 429)
2012
+ module_eval(<<'.,.,', 'parser.y', 430)
1997
2013
  def _reduce_55(val, _values, result)
1998
2014
  type = val[4]
1999
2015
 
@@ -2021,7 +2037,7 @@ module_eval(<<'.,.,', 'parser.y', 429)
2021
2037
  end
2022
2038
  .,.,
2023
2039
 
2024
- module_eval(<<'.,.,', 'parser.y', 454)
2040
+ module_eval(<<'.,.,', 'parser.y', 455)
2025
2041
  def _reduce_56(val, _values, result)
2026
2042
  reset_variable_scope
2027
2043
 
@@ -2043,14 +2059,14 @@ module_eval(<<'.,.,', 'parser.y', 454)
2043
2059
  end
2044
2060
  .,.,
2045
2061
 
2046
- module_eval(<<'.,.,', 'parser.y', 472)
2062
+ module_eval(<<'.,.,', 'parser.y', 473)
2047
2063
  def _reduce_57(val, _values, result)
2048
2064
  result = []
2049
2065
  result
2050
2066
  end
2051
2067
  .,.,
2052
2068
 
2053
- module_eval(<<'.,.,', 'parser.y', 474)
2069
+ module_eval(<<'.,.,', 'parser.y', 475)
2054
2070
  def _reduce_58(val, _values, result)
2055
2071
  result = val[0].push(val[1])
2056
2072
 
@@ -2058,7 +2074,7 @@ module_eval(<<'.,.,', 'parser.y', 474)
2058
2074
  end
2059
2075
  .,.,
2060
2076
 
2061
- module_eval(<<'.,.,', 'parser.y', 479)
2077
+ module_eval(<<'.,.,', 'parser.y', 480)
2062
2078
  def _reduce_59(val, _values, result)
2063
2079
  unless val[0].kind == :instance
2064
2080
  raise SemanticsError.new("Interface cannot have singleton method", subject: val[0], location: val[0].location)
@@ -2074,7 +2090,7 @@ module_eval(<<'.,.,', 'parser.y', 479)
2074
2090
  end
2075
2091
  .,.,
2076
2092
 
2077
- module_eval(<<'.,.,', 'parser.y', 490)
2093
+ module_eval(<<'.,.,', 'parser.y', 491)
2078
2094
  def _reduce_60(val, _values, result)
2079
2095
  unless val[0].name.interface?
2080
2096
  raise SemanticsError.new("Interface should include an interface", subject: val[0], location: val[0].location)
@@ -2088,7 +2104,7 @@ module_eval(<<'.,.,', 'parser.y', 490)
2088
2104
 
2089
2105
  # reduce 61 omitted
2090
2106
 
2091
- module_eval(<<'.,.,', 'parser.y', 500)
2107
+ module_eval(<<'.,.,', 'parser.y', 501)
2092
2108
  def _reduce_62(val, _values, result)
2093
2109
  if val[2].value.alias?
2094
2110
  raise SemanticsError.new("Should include module or interface", subject: val[2].value, location: val[2].location)
@@ -2109,7 +2125,7 @@ module_eval(<<'.,.,', 'parser.y', 500)
2109
2125
  end
2110
2126
  .,.,
2111
2127
 
2112
- module_eval(<<'.,.,', 'parser.y', 516)
2128
+ module_eval(<<'.,.,', 'parser.y', 517)
2113
2129
  def _reduce_63(val, _values, result)
2114
2130
  if val[2].value.alias?
2115
2131
  raise SemanticsError.new("Should include module or interface", subject: val[2].value, location: val[2].location)
@@ -2130,7 +2146,7 @@ module_eval(<<'.,.,', 'parser.y', 516)
2130
2146
  end
2131
2147
  .,.,
2132
2148
 
2133
- module_eval(<<'.,.,', 'parser.y', 534)
2149
+ module_eval(<<'.,.,', 'parser.y', 535)
2134
2150
  def _reduce_64(val, _values, result)
2135
2151
  if val[2].value.alias?
2136
2152
  raise SemanticsError.new("Should extend module or interface", subject: val[2].value, location: val[2].location)
@@ -2151,7 +2167,7 @@ module_eval(<<'.,.,', 'parser.y', 534)
2151
2167
  end
2152
2168
  .,.,
2153
2169
 
2154
- module_eval(<<'.,.,', 'parser.y', 550)
2170
+ module_eval(<<'.,.,', 'parser.y', 551)
2155
2171
  def _reduce_65(val, _values, result)
2156
2172
  if val[2].value.alias?
2157
2173
  raise SemanticsError.new("Should extend module or interface", subject: val[2].value, location: val[2].location)
@@ -2172,7 +2188,7 @@ module_eval(<<'.,.,', 'parser.y', 550)
2172
2188
  end
2173
2189
  .,.,
2174
2190
 
2175
- module_eval(<<'.,.,', 'parser.y', 568)
2191
+ module_eval(<<'.,.,', 'parser.y', 569)
2176
2192
  def _reduce_66(val, _values, result)
2177
2193
  unless val[2].value.class?
2178
2194
  raise SemanticsError.new("Should prepend module", subject: val[2].value, location: val[2].location)
@@ -2193,7 +2209,7 @@ module_eval(<<'.,.,', 'parser.y', 568)
2193
2209
  end
2194
2210
  .,.,
2195
2211
 
2196
- module_eval(<<'.,.,', 'parser.y', 584)
2212
+ module_eval(<<'.,.,', 'parser.y', 585)
2197
2213
  def _reduce_67(val, _values, result)
2198
2214
  unless val[2].value.class?
2199
2215
  raise SemanticsError.new("Should prepend module", subject: val[2].value, location: val[2].location)
@@ -2214,14 +2230,14 @@ module_eval(<<'.,.,', 'parser.y', 584)
2214
2230
  end
2215
2231
  .,.,
2216
2232
 
2217
- module_eval(<<'.,.,', 'parser.y', 601)
2233
+ module_eval(<<'.,.,', 'parser.y', 602)
2218
2234
  def _reduce_68(val, _values, result)
2219
2235
  result = nil
2220
2236
  result
2221
2237
  end
2222
2238
  .,.,
2223
2239
 
2224
- module_eval(<<'.,.,', 'parser.y', 603)
2240
+ module_eval(<<'.,.,', 'parser.y', 604)
2225
2241
  def _reduce_69(val, _values, result)
2226
2242
  RBS.logger.warn "`overload def` syntax is deprecated. Use `...` syntax instead."
2227
2243
  result = val[0]
@@ -2230,10 +2246,9 @@ module_eval(<<'.,.,', 'parser.y', 603)
2230
2246
  end
2231
2247
  .,.,
2232
2248
 
2233
- module_eval(<<'.,.,', 'parser.y', 609)
2249
+ module_eval(<<'.,.,', 'parser.y', 610)
2234
2250
  def _reduce_70(val, _values, result)
2235
2251
  location = val[3].location + val[6].last.location
2236
- children = {}
2237
2252
 
2238
2253
  required_children = { keyword: val[3].location, name: val[5].location }
2239
2254
  optional_children = { kind: nil, overload: nil }
@@ -2518,15 +2533,17 @@ module_eval(<<'.,.,', 'parser.y', 717)
2518
2533
 
2519
2534
  # reduce 136 omitted
2520
2535
 
2536
+ # reduce 137 omitted
2537
+
2521
2538
  module_eval(<<'.,.,', 'parser.y', 737)
2522
- def _reduce_137(val, _values, result)
2539
+ def _reduce_138(val, _values, result)
2523
2540
  result = nil
2524
2541
  result
2525
2542
  end
2526
2543
  .,.,
2527
2544
 
2528
2545
  module_eval(<<'.,.,', 'parser.y', 739)
2529
- def _reduce_138(val, _values, result)
2546
+ def _reduce_139(val, _values, result)
2530
2547
  val[1].each {|p| insert_bound_variable(p.name) }
2531
2548
 
2532
2549
  result = LocatedValue.new(value: val[1], location: val[0].location + val[2].location)
@@ -2536,7 +2553,7 @@ module_eval(<<'.,.,', 'parser.y', 739)
2536
2553
  .,.,
2537
2554
 
2538
2555
  module_eval(<<'.,.,', 'parser.y', 746)
2539
- def _reduce_139(val, _values, result)
2556
+ def _reduce_140(val, _values, result)
2540
2557
  result = Declarations::ModuleTypeParams.new()
2541
2558
  result.add(val[0])
2542
2559
 
@@ -2545,7 +2562,7 @@ module_eval(<<'.,.,', 'parser.y', 746)
2545
2562
  .,.,
2546
2563
 
2547
2564
  module_eval(<<'.,.,', 'parser.y', 750)
2548
- def _reduce_140(val, _values, result)
2565
+ def _reduce_141(val, _values, result)
2549
2566
  result = val[0].add(val[2])
2550
2567
 
2551
2568
  result
@@ -2553,7 +2570,7 @@ module_eval(<<'.,.,', 'parser.y', 750)
2553
2570
  .,.,
2554
2571
 
2555
2572
  module_eval(<<'.,.,', 'parser.y', 755)
2556
- def _reduce_141(val, _values, result)
2573
+ def _reduce_142(val, _values, result)
2557
2574
  loc = case
2558
2575
  when l0 = val[0].location
2559
2576
  l0 + val[2].location
@@ -2578,49 +2595,49 @@ module_eval(<<'.,.,', 'parser.y', 755)
2578
2595
  .,.,
2579
2596
 
2580
2597
  module_eval(<<'.,.,', 'parser.y', 776)
2581
- def _reduce_142(val, _values, result)
2598
+ def _reduce_143(val, _values, result)
2582
2599
  result = LocatedValue.new(value: :invariant, location: nil)
2583
2600
  result
2584
2601
  end
2585
2602
  .,.,
2586
2603
 
2587
2604
  module_eval(<<'.,.,', 'parser.y', 777)
2588
- def _reduce_143(val, _values, result)
2605
+ def _reduce_144(val, _values, result)
2589
2606
  result = LocatedValue.new(value: :covariant, location: val[0].location)
2590
2607
  result
2591
2608
  end
2592
2609
  .,.,
2593
2610
 
2594
2611
  module_eval(<<'.,.,', 'parser.y', 778)
2595
- def _reduce_144(val, _values, result)
2612
+ def _reduce_145(val, _values, result)
2596
2613
  result = LocatedValue.new(value: :contravariant, location: val[0].location)
2597
2614
  result
2598
2615
  end
2599
2616
  .,.,
2600
2617
 
2601
2618
  module_eval(<<'.,.,', 'parser.y', 781)
2602
- def _reduce_145(val, _values, result)
2619
+ def _reduce_146(val, _values, result)
2603
2620
  result = LocatedValue.new(value: false, location: nil)
2604
2621
  result
2605
2622
  end
2606
2623
  .,.,
2607
2624
 
2608
2625
  module_eval(<<'.,.,', 'parser.y', 782)
2609
- def _reduce_146(val, _values, result)
2626
+ def _reduce_147(val, _values, result)
2610
2627
  result = LocatedValue.new(value: true, location: val[0].location)
2611
2628
  result
2612
2629
  end
2613
2630
  .,.,
2614
2631
 
2615
2632
  module_eval(<<'.,.,', 'parser.y', 785)
2616
- def _reduce_147(val, _values, result)
2633
+ def _reduce_148(val, _values, result)
2617
2634
  result = nil
2618
2635
  result
2619
2636
  end
2620
2637
  .,.,
2621
2638
 
2622
2639
  module_eval(<<'.,.,', 'parser.y', 787)
2623
- def _reduce_148(val, _values, result)
2640
+ def _reduce_149(val, _values, result)
2624
2641
  val[1].each {|var| insert_bound_variable(var) }
2625
2642
 
2626
2643
  result = LocatedValue.new(value: val[1],
@@ -2631,7 +2648,7 @@ module_eval(<<'.,.,', 'parser.y', 787)
2631
2648
  .,.,
2632
2649
 
2633
2650
  module_eval(<<'.,.,', 'parser.y', 795)
2634
- def _reduce_149(val, _values, result)
2651
+ def _reduce_150(val, _values, result)
2635
2652
  result = [val[0].value.to_sym]
2636
2653
 
2637
2654
  result
@@ -2639,7 +2656,7 @@ module_eval(<<'.,.,', 'parser.y', 795)
2639
2656
  .,.,
2640
2657
 
2641
2658
  module_eval(<<'.,.,', 'parser.y', 798)
2642
- def _reduce_150(val, _values, result)
2659
+ def _reduce_151(val, _values, result)
2643
2660
  result = val[0].push(val[2].value.to_sym)
2644
2661
 
2645
2662
  result
@@ -2647,7 +2664,7 @@ module_eval(<<'.,.,', 'parser.y', 798)
2647
2664
  .,.,
2648
2665
 
2649
2666
  module_eval(<<'.,.,', 'parser.y', 803)
2650
- def _reduce_151(val, _values, result)
2667
+ def _reduce_152(val, _values, result)
2651
2668
  location = val[1].location + val[3].location
2652
2669
  location = location.with_children(
2653
2670
  required: { keyword: val[1].location, new_name: val[2].location, old_name: val[3].location },
@@ -2667,7 +2684,7 @@ module_eval(<<'.,.,', 'parser.y', 803)
2667
2684
  .,.,
2668
2685
 
2669
2686
  module_eval(<<'.,.,', 'parser.y', 818)
2670
- def _reduce_152(val, _values, result)
2687
+ def _reduce_153(val, _values, result)
2671
2688
  location = val[1].location + val[7].location
2672
2689
  location = location.with_children(
2673
2690
  required: { keyword: val[1].location, new_name: val[4].location, old_name: val[7].location },
@@ -2690,7 +2707,7 @@ module_eval(<<'.,.,', 'parser.y', 818)
2690
2707
  .,.,
2691
2708
 
2692
2709
  module_eval(<<'.,.,', 'parser.y', 838)
2693
- def _reduce_153(val, _values, result)
2710
+ def _reduce_154(val, _values, result)
2694
2711
  location = val[1].location + val[4].location
2695
2712
  location = location.with_children(
2696
2713
  required: { keyword: val[1].location, name: val[2].location, eq: val[3].location }
@@ -2708,7 +2725,7 @@ module_eval(<<'.,.,', 'parser.y', 838)
2708
2725
  .,.,
2709
2726
 
2710
2727
  module_eval(<<'.,.,', 'parser.y', 853)
2711
- def _reduce_154(val, _values, result)
2728
+ def _reduce_155(val, _values, result)
2712
2729
  location = val[0].location + val[2].location
2713
2730
  location = location.with_children(
2714
2731
  required: { name: val[0].location, colon: val[1].location }
@@ -2723,7 +2740,7 @@ module_eval(<<'.,.,', 'parser.y', 853)
2723
2740
  .,.,
2724
2741
 
2725
2742
  module_eval(<<'.,.,', 'parser.y', 863)
2726
- def _reduce_155(val, _values, result)
2743
+ def _reduce_156(val, _values, result)
2727
2744
  location = (val[0] || val[1]).location + val[2].location
2728
2745
 
2729
2746
  lhs_loc = (val[0] || val[1]).location + val[1].location
@@ -2743,7 +2760,7 @@ module_eval(<<'.,.,', 'parser.y', 863)
2743
2760
  .,.,
2744
2761
 
2745
2762
  module_eval(<<'.,.,', 'parser.y', 880)
2746
- def _reduce_156(val, _values, result)
2763
+ def _reduce_157(val, _values, result)
2747
2764
  location = val[0].location + val[2].location
2748
2765
  location = location.with_children(
2749
2766
  required: { name: val[0].location, colon: val[1].location }
@@ -2757,10 +2774,10 @@ module_eval(<<'.,.,', 'parser.y', 880)
2757
2774
  end
2758
2775
  .,.,
2759
2776
 
2760
- # reduce 157 omitted
2777
+ # reduce 158 omitted
2761
2778
 
2762
2779
  module_eval(<<'.,.,', 'parser.y', 893)
2763
- def _reduce_158(val, _values, result)
2780
+ def _reduce_159(val, _values, result)
2764
2781
  types = case l = val[0]
2765
2782
  when Types::Union
2766
2783
  l.types + [val[2]]
@@ -2775,7 +2792,7 @@ module_eval(<<'.,.,', 'parser.y', 893)
2775
2792
  .,.,
2776
2793
 
2777
2794
  module_eval(<<'.,.,', 'parser.y', 903)
2778
- def _reduce_159(val, _values, result)
2795
+ def _reduce_160(val, _values, result)
2779
2796
  types = case l = val[0]
2780
2797
  when Types::Intersection
2781
2798
  l.types + [val[2]]
@@ -2791,7 +2808,7 @@ module_eval(<<'.,.,', 'parser.y', 903)
2791
2808
  .,.,
2792
2809
 
2793
2810
  module_eval(<<'.,.,', 'parser.y', 916)
2794
- def _reduce_160(val, _values, result)
2811
+ def _reduce_161(val, _values, result)
2795
2812
  result = Types::Bases::Void.new(location: val[0].location)
2796
2813
 
2797
2814
  result
@@ -2799,7 +2816,7 @@ module_eval(<<'.,.,', 'parser.y', 916)
2799
2816
  .,.,
2800
2817
 
2801
2818
  module_eval(<<'.,.,', 'parser.y', 919)
2802
- def _reduce_161(val, _values, result)
2819
+ def _reduce_162(val, _values, result)
2803
2820
  RBS.logger.warn "`any` type is deprecated. Use `untyped` instead. (#{val[0].location.to_s})"
2804
2821
  result = Types::Bases::Any.new(location: val[0].location)
2805
2822
 
@@ -2808,7 +2825,7 @@ module_eval(<<'.,.,', 'parser.y', 919)
2808
2825
  .,.,
2809
2826
 
2810
2827
  module_eval(<<'.,.,', 'parser.y', 923)
2811
- def _reduce_162(val, _values, result)
2828
+ def _reduce_163(val, _values, result)
2812
2829
  result = Types::Bases::Any.new(location: val[0].location)
2813
2830
 
2814
2831
  result
@@ -2816,7 +2833,7 @@ module_eval(<<'.,.,', 'parser.y', 923)
2816
2833
  .,.,
2817
2834
 
2818
2835
  module_eval(<<'.,.,', 'parser.y', 926)
2819
- def _reduce_163(val, _values, result)
2836
+ def _reduce_164(val, _values, result)
2820
2837
  result = Types::Bases::Bool.new(location: val[0].location)
2821
2838
 
2822
2839
  result
@@ -2824,7 +2841,7 @@ module_eval(<<'.,.,', 'parser.y', 926)
2824
2841
  .,.,
2825
2842
 
2826
2843
  module_eval(<<'.,.,', 'parser.y', 929)
2827
- def _reduce_164(val, _values, result)
2844
+ def _reduce_165(val, _values, result)
2828
2845
  result = Types::Bases::Nil.new(location: val[0].location)
2829
2846
 
2830
2847
  result
@@ -2832,7 +2849,7 @@ module_eval(<<'.,.,', 'parser.y', 929)
2832
2849
  .,.,
2833
2850
 
2834
2851
  module_eval(<<'.,.,', 'parser.y', 932)
2835
- def _reduce_165(val, _values, result)
2852
+ def _reduce_166(val, _values, result)
2836
2853
  result = Types::Bases::Top.new(location: val[0].location)
2837
2854
 
2838
2855
  result
@@ -2840,7 +2857,7 @@ module_eval(<<'.,.,', 'parser.y', 932)
2840
2857
  .,.,
2841
2858
 
2842
2859
  module_eval(<<'.,.,', 'parser.y', 935)
2843
- def _reduce_166(val, _values, result)
2860
+ def _reduce_167(val, _values, result)
2844
2861
  result = Types::Bases::Bottom.new(location: val[0].location)
2845
2862
 
2846
2863
  result
@@ -2848,7 +2865,7 @@ module_eval(<<'.,.,', 'parser.y', 935)
2848
2865
  .,.,
2849
2866
 
2850
2867
  module_eval(<<'.,.,', 'parser.y', 938)
2851
- def _reduce_167(val, _values, result)
2868
+ def _reduce_168(val, _values, result)
2852
2869
  result = Types::Bases::Self.new(location: val[0].location)
2853
2870
 
2854
2871
  result
@@ -2856,7 +2873,7 @@ module_eval(<<'.,.,', 'parser.y', 938)
2856
2873
  .,.,
2857
2874
 
2858
2875
  module_eval(<<'.,.,', 'parser.y', 941)
2859
- def _reduce_168(val, _values, result)
2876
+ def _reduce_169(val, _values, result)
2860
2877
  result = Types::Optional.new(type: Types::Bases::Self.new(location: val[0].location),
2861
2878
  location: val[0].location)
2862
2879
 
@@ -2865,7 +2882,7 @@ module_eval(<<'.,.,', 'parser.y', 941)
2865
2882
  .,.,
2866
2883
 
2867
2884
  module_eval(<<'.,.,', 'parser.y', 945)
2868
- def _reduce_169(val, _values, result)
2885
+ def _reduce_170(val, _values, result)
2869
2886
  result = Types::Bases::Instance.new(location: val[0].location)
2870
2887
 
2871
2888
  result
@@ -2873,7 +2890,7 @@ module_eval(<<'.,.,', 'parser.y', 945)
2873
2890
  .,.,
2874
2891
 
2875
2892
  module_eval(<<'.,.,', 'parser.y', 948)
2876
- def _reduce_170(val, _values, result)
2893
+ def _reduce_171(val, _values, result)
2877
2894
  result = Types::Bases::Class.new(location: val[0].location)
2878
2895
 
2879
2896
  result
@@ -2881,7 +2898,7 @@ module_eval(<<'.,.,', 'parser.y', 948)
2881
2898
  .,.,
2882
2899
 
2883
2900
  module_eval(<<'.,.,', 'parser.y', 951)
2884
- def _reduce_171(val, _values, result)
2901
+ def _reduce_172(val, _values, result)
2885
2902
  result = Types::Literal.new(literal: true, location: val[0].location)
2886
2903
 
2887
2904
  result
@@ -2889,7 +2906,7 @@ module_eval(<<'.,.,', 'parser.y', 951)
2889
2906
  .,.,
2890
2907
 
2891
2908
  module_eval(<<'.,.,', 'parser.y', 954)
2892
- def _reduce_172(val, _values, result)
2909
+ def _reduce_173(val, _values, result)
2893
2910
  result = Types::Literal.new(literal: false, location: val[0].location)
2894
2911
 
2895
2912
  result
@@ -2897,7 +2914,7 @@ module_eval(<<'.,.,', 'parser.y', 954)
2897
2914
  .,.,
2898
2915
 
2899
2916
  module_eval(<<'.,.,', 'parser.y', 957)
2900
- def _reduce_173(val, _values, result)
2917
+ def _reduce_174(val, _values, result)
2901
2918
  result = Types::Literal.new(literal: val[0].value, location: val[0].location)
2902
2919
 
2903
2920
  result
@@ -2905,7 +2922,7 @@ module_eval(<<'.,.,', 'parser.y', 957)
2905
2922
  .,.,
2906
2923
 
2907
2924
  module_eval(<<'.,.,', 'parser.y', 960)
2908
- def _reduce_174(val, _values, result)
2925
+ def _reduce_175(val, _values, result)
2909
2926
  result = Types::Literal.new(literal: val[0].value, location: val[0].location)
2910
2927
 
2911
2928
  result
@@ -2913,7 +2930,7 @@ module_eval(<<'.,.,', 'parser.y', 960)
2913
2930
  .,.,
2914
2931
 
2915
2932
  module_eval(<<'.,.,', 'parser.y', 963)
2916
- def _reduce_175(val, _values, result)
2933
+ def _reduce_176(val, _values, result)
2917
2934
  result = Types::Literal.new(literal: val[0].value, location: val[0].location)
2918
2935
 
2919
2936
  result
@@ -2921,7 +2938,7 @@ module_eval(<<'.,.,', 'parser.y', 963)
2921
2938
  .,.,
2922
2939
 
2923
2940
  module_eval(<<'.,.,', 'parser.y', 966)
2924
- def _reduce_176(val, _values, result)
2941
+ def _reduce_177(val, _values, result)
2925
2942
  name = val[0].value
2926
2943
  args = []
2927
2944
  location = val[0].location
@@ -2956,7 +2973,7 @@ module_eval(<<'.,.,', 'parser.y', 966)
2956
2973
  .,.,
2957
2974
 
2958
2975
  module_eval(<<'.,.,', 'parser.y', 996)
2959
- def _reduce_177(val, _values, result)
2976
+ def _reduce_178(val, _values, result)
2960
2977
  name = val[0].value
2961
2978
  args = val[2]
2962
2979
  location = val[0].location + val[3].location
@@ -2986,7 +3003,7 @@ module_eval(<<'.,.,', 'parser.y', 996)
2986
3003
  .,.,
2987
3004
 
2988
3005
  module_eval(<<'.,.,', 'parser.y', 1021)
2989
- def _reduce_178(val, _values, result)
3006
+ def _reduce_179(val, _values, result)
2990
3007
  location = val[0].location + val[1].location
2991
3008
  result = Types::Tuple.new(types: [], location: location)
2992
3009
 
@@ -2995,7 +3012,7 @@ module_eval(<<'.,.,', 'parser.y', 1021)
2995
3012
  .,.,
2996
3013
 
2997
3014
  module_eval(<<'.,.,', 'parser.y', 1025)
2998
- def _reduce_179(val, _values, result)
3015
+ def _reduce_180(val, _values, result)
2999
3016
  location = val[0].location + val[3].location
3000
3017
  types = val[1]
3001
3018
  result = Types::Tuple.new(types: types, location: location)
@@ -3005,7 +3022,7 @@ module_eval(<<'.,.,', 'parser.y', 1025)
3005
3022
  .,.,
3006
3023
 
3007
3024
  module_eval(<<'.,.,', 'parser.y', 1030)
3008
- def _reduce_180(val, _values, result)
3025
+ def _reduce_181(val, _values, result)
3009
3026
  type = val[1].dup
3010
3027
  type.instance_eval do
3011
3028
  @location = val[0].location + val[2].location
@@ -3017,7 +3034,7 @@ module_eval(<<'.,.,', 'parser.y', 1030)
3017
3034
  .,.,
3018
3035
 
3019
3036
  module_eval(<<'.,.,', 'parser.y', 1037)
3020
- def _reduce_181(val, _values, result)
3037
+ def _reduce_182(val, _values, result)
3021
3038
  location = val[0].location + val[3].location
3022
3039
  location = location.with_children(
3023
3040
  required: { name: val[2].location }
@@ -3029,7 +3046,7 @@ module_eval(<<'.,.,', 'parser.y', 1037)
3029
3046
  .,.,
3030
3047
 
3031
3048
  module_eval(<<'.,.,', 'parser.y', 1044)
3032
- def _reduce_182(val, _values, result)
3049
+ def _reduce_183(val, _values, result)
3033
3050
  type, block = val[1].value
3034
3051
  result = Types::Proc.new(type: type, block: block, location: val[0].location + val[1].location)
3035
3052
 
@@ -3038,17 +3055,17 @@ module_eval(<<'.,.,', 'parser.y', 1044)
3038
3055
  .,.,
3039
3056
 
3040
3057
  module_eval(<<'.,.,', 'parser.y', 1048)
3041
- def _reduce_183(val, _values, result)
3058
+ def _reduce_184(val, _values, result)
3042
3059
  result = Types::Optional.new(type: val[0], location: val[0].location + val[1].location)
3043
3060
 
3044
3061
  result
3045
3062
  end
3046
3063
  .,.,
3047
3064
 
3048
- # reduce 184 omitted
3065
+ # reduce 185 omitted
3049
3066
 
3050
3067
  module_eval(<<'.,.,', 'parser.y', 1054)
3051
- def _reduce_185(val, _values, result)
3068
+ def _reduce_186(val, _values, result)
3052
3069
  result = [val[0]]
3053
3070
 
3054
3071
  result
@@ -3056,7 +3073,7 @@ module_eval(<<'.,.,', 'parser.y', 1054)
3056
3073
  .,.,
3057
3074
 
3058
3075
  module_eval(<<'.,.,', 'parser.y', 1057)
3059
- def _reduce_186(val, _values, result)
3076
+ def _reduce_187(val, _values, result)
3060
3077
  result = val[0] + [val[2]]
3061
3078
 
3062
3079
  result
@@ -3064,7 +3081,7 @@ module_eval(<<'.,.,', 'parser.y', 1057)
3064
3081
  .,.,
3065
3082
 
3066
3083
  module_eval(<<'.,.,', 'parser.y', 1062)
3067
- def _reduce_187(val, _values, result)
3084
+ def _reduce_188(val, _values, result)
3068
3085
  result = Types::Record.new(
3069
3086
  fields: val[1],
3070
3087
  location: val[0].location + val[3].location
@@ -3075,7 +3092,7 @@ module_eval(<<'.,.,', 'parser.y', 1062)
3075
3092
  .,.,
3076
3093
 
3077
3094
  module_eval(<<'.,.,', 'parser.y', 1070)
3078
- def _reduce_188(val, _values, result)
3095
+ def _reduce_189(val, _values, result)
3079
3096
  result = val[0]
3080
3097
 
3081
3098
  result
@@ -3083,7 +3100,7 @@ module_eval(<<'.,.,', 'parser.y', 1070)
3083
3100
  .,.,
3084
3101
 
3085
3102
  module_eval(<<'.,.,', 'parser.y', 1073)
3086
- def _reduce_189(val, _values, result)
3103
+ def _reduce_190(val, _values, result)
3087
3104
  result = val[0].merge!(val[2])
3088
3105
 
3089
3106
  result
@@ -3091,7 +3108,7 @@ module_eval(<<'.,.,', 'parser.y', 1073)
3091
3108
  .,.,
3092
3109
 
3093
3110
  module_eval(<<'.,.,', 'parser.y', 1078)
3094
- def _reduce_190(val, _values, result)
3111
+ def _reduce_191(val, _values, result)
3095
3112
  result = { val[0].value => val[2] }
3096
3113
 
3097
3114
  result
@@ -3099,7 +3116,7 @@ module_eval(<<'.,.,', 'parser.y', 1078)
3099
3116
  .,.,
3100
3117
 
3101
3118
  module_eval(<<'.,.,', 'parser.y', 1081)
3102
- def _reduce_191(val, _values, result)
3119
+ def _reduce_192(val, _values, result)
3103
3120
  result = { val[0].value => val[2] }
3104
3121
 
3105
3122
  result
@@ -3107,7 +3124,7 @@ module_eval(<<'.,.,', 'parser.y', 1081)
3107
3124
  .,.,
3108
3125
 
3109
3126
  module_eval(<<'.,.,', 'parser.y', 1084)
3110
- def _reduce_192(val, _values, result)
3127
+ def _reduce_193(val, _values, result)
3111
3128
  result = { val[0].value => val[2] }
3112
3129
 
3113
3130
  result
@@ -3115,7 +3132,7 @@ module_eval(<<'.,.,', 'parser.y', 1084)
3115
3132
  .,.,
3116
3133
 
3117
3134
  module_eval(<<'.,.,', 'parser.y', 1087)
3118
- def _reduce_193(val, _values, result)
3135
+ def _reduce_194(val, _values, result)
3119
3136
  result = { val[0].value => val[1] }
3120
3137
 
3121
3138
  result
@@ -3123,7 +3140,7 @@ module_eval(<<'.,.,', 'parser.y', 1087)
3123
3140
  .,.,
3124
3141
 
3125
3142
  module_eval(<<'.,.,', 'parser.y', 1090)
3126
- def _reduce_194(val, _values, result)
3143
+ def _reduce_195(val, _values, result)
3127
3144
  result = { val[0].value => val[2] }
3128
3145
 
3129
3146
  result
@@ -3131,7 +3148,7 @@ module_eval(<<'.,.,', 'parser.y', 1090)
3131
3148
  .,.,
3132
3149
 
3133
3150
  module_eval(<<'.,.,', 'parser.y', 1093)
3134
- def _reduce_195(val, _values, result)
3151
+ def _reduce_196(val, _values, result)
3135
3152
  result = { val[0].value => val[2] }
3136
3153
 
3137
3154
  result
@@ -3139,33 +3156,33 @@ module_eval(<<'.,.,', 'parser.y', 1093)
3139
3156
  .,.,
3140
3157
 
3141
3158
  module_eval(<<'.,.,', 'parser.y', 1096)
3142
- def _reduce_196(val, _values, result)
3159
+ def _reduce_197(val, _values, result)
3143
3160
  result = { val[0].value => val[2] }
3144
3161
 
3145
3162
  result
3146
3163
  end
3147
3164
  .,.,
3148
3165
 
3149
- # reduce 197 omitted
3166
+ # reduce 198 omitted
3150
3167
 
3151
3168
  module_eval(<<'.,.,', 'parser.y', 1102)
3152
- def _reduce_198(val, _values, result)
3169
+ def _reduce_199(val, _values, result)
3153
3170
  result = val[0]
3154
3171
 
3155
3172
  result
3156
3173
  end
3157
3174
  .,.,
3158
3175
 
3159
- # reduce 199 omitted
3160
-
3161
3176
  # reduce 200 omitted
3162
3177
 
3163
3178
  # reduce 201 omitted
3164
3179
 
3165
3180
  # reduce 202 omitted
3166
3181
 
3182
+ # reduce 203 omitted
3183
+
3167
3184
  module_eval(<<'.,.,', 'parser.y', 1109)
3168
- def _reduce_203(val, _values, result)
3185
+ def _reduce_204(val, _values, result)
3169
3186
  location = (val[0] || val[1] || val[2]).location + val[3].location
3170
3187
 
3171
3188
  params = val[0]&.value || [[], [], nil, [], {}, {}, nil]
@@ -3190,7 +3207,7 @@ module_eval(<<'.,.,', 'parser.y', 1109)
3190
3207
  .,.,
3191
3208
 
3192
3209
  module_eval(<<'.,.,', 'parser.y', 1129)
3193
- def _reduce_204(val, _values, result)
3210
+ def _reduce_205(val, _values, result)
3194
3211
  result = LocatedValue.new(value: [val[0].value, nil], location: val[0].location)
3195
3212
 
3196
3213
  result
@@ -3198,7 +3215,7 @@ module_eval(<<'.,.,', 'parser.y', 1129)
3198
3215
  .,.,
3199
3216
 
3200
3217
  module_eval(<<'.,.,', 'parser.y', 1134)
3201
- def _reduce_205(val, _values, result)
3218
+ def _reduce_206(val, _values, result)
3202
3219
  location = val[0].location + val[4].location
3203
3220
  type = Types::Function.new(
3204
3221
  required_positionals: val[1][0],
@@ -3218,7 +3235,7 @@ module_eval(<<'.,.,', 'parser.y', 1134)
3218
3235
  .,.,
3219
3236
 
3220
3237
  module_eval(<<'.,.,', 'parser.y', 1149)
3221
- def _reduce_206(val, _values, result)
3238
+ def _reduce_207(val, _values, result)
3222
3239
  location = val[0].location + val[1].location
3223
3240
  type = Types::Function.new(
3224
3241
  required_positionals: [],
@@ -3238,7 +3255,7 @@ module_eval(<<'.,.,', 'parser.y', 1149)
3238
3255
  .,.,
3239
3256
 
3240
3257
  module_eval(<<'.,.,', 'parser.y', 1166)
3241
- def _reduce_207(val, _values, result)
3258
+ def _reduce_208(val, _values, result)
3242
3259
  result = val[2]
3243
3260
  result[0].unshift(val[0])
3244
3261
 
@@ -3247,7 +3264,7 @@ module_eval(<<'.,.,', 'parser.y', 1166)
3247
3264
  .,.,
3248
3265
 
3249
3266
  module_eval(<<'.,.,', 'parser.y', 1170)
3250
- def _reduce_208(val, _values, result)
3267
+ def _reduce_209(val, _values, result)
3251
3268
  result = empty_params_result
3252
3269
  result[0].unshift(val[0])
3253
3270
 
@@ -3255,10 +3272,10 @@ module_eval(<<'.,.,', 'parser.y', 1170)
3255
3272
  end
3256
3273
  .,.,
3257
3274
 
3258
- # reduce 209 omitted
3275
+ # reduce 210 omitted
3259
3276
 
3260
3277
  module_eval(<<'.,.,', 'parser.y', 1177)
3261
- def _reduce_210(val, _values, result)
3278
+ def _reduce_211(val, _values, result)
3262
3279
  result = val[2]
3263
3280
  result[1].unshift(val[0])
3264
3281
 
@@ -3267,7 +3284,7 @@ module_eval(<<'.,.,', 'parser.y', 1177)
3267
3284
  .,.,
3268
3285
 
3269
3286
  module_eval(<<'.,.,', 'parser.y', 1181)
3270
- def _reduce_211(val, _values, result)
3287
+ def _reduce_212(val, _values, result)
3271
3288
  result = empty_params_result
3272
3289
  result[1].unshift(val[0])
3273
3290
 
@@ -3275,10 +3292,10 @@ module_eval(<<'.,.,', 'parser.y', 1181)
3275
3292
  end
3276
3293
  .,.,
3277
3294
 
3278
- # reduce 212 omitted
3295
+ # reduce 213 omitted
3279
3296
 
3280
3297
  module_eval(<<'.,.,', 'parser.y', 1188)
3281
- def _reduce_213(val, _values, result)
3298
+ def _reduce_214(val, _values, result)
3282
3299
  result = val[2]
3283
3300
  result[2] = val[0]
3284
3301
 
@@ -3287,7 +3304,7 @@ module_eval(<<'.,.,', 'parser.y', 1188)
3287
3304
  .,.,
3288
3305
 
3289
3306
  module_eval(<<'.,.,', 'parser.y', 1192)
3290
- def _reduce_214(val, _values, result)
3307
+ def _reduce_215(val, _values, result)
3291
3308
  result = empty_params_result
3292
3309
  result[2] = val[0]
3293
3310
 
@@ -3295,10 +3312,10 @@ module_eval(<<'.,.,', 'parser.y', 1192)
3295
3312
  end
3296
3313
  .,.,
3297
3314
 
3298
- # reduce 215 omitted
3315
+ # reduce 216 omitted
3299
3316
 
3300
3317
  module_eval(<<'.,.,', 'parser.y', 1199)
3301
- def _reduce_216(val, _values, result)
3318
+ def _reduce_217(val, _values, result)
3302
3319
  result = val[2]
3303
3320
  result[3].unshift(val[0])
3304
3321
 
@@ -3307,7 +3324,7 @@ module_eval(<<'.,.,', 'parser.y', 1199)
3307
3324
  .,.,
3308
3325
 
3309
3326
  module_eval(<<'.,.,', 'parser.y', 1203)
3310
- def _reduce_217(val, _values, result)
3327
+ def _reduce_218(val, _values, result)
3311
3328
  result = empty_params_result
3312
3329
  result[3].unshift(val[0])
3313
3330
 
@@ -3315,10 +3332,10 @@ module_eval(<<'.,.,', 'parser.y', 1203)
3315
3332
  end
3316
3333
  .,.,
3317
3334
 
3318
- # reduce 218 omitted
3335
+ # reduce 219 omitted
3319
3336
 
3320
3337
  module_eval(<<'.,.,', 'parser.y', 1210)
3321
- def _reduce_219(val, _values, result)
3338
+ def _reduce_220(val, _values, result)
3322
3339
  result = empty_params_result
3323
3340
 
3324
3341
  result
@@ -3326,7 +3343,7 @@ module_eval(<<'.,.,', 'parser.y', 1210)
3326
3343
  .,.,
3327
3344
 
3328
3345
  module_eval(<<'.,.,', 'parser.y', 1213)
3329
- def _reduce_220(val, _values, result)
3346
+ def _reduce_221(val, _values, result)
3330
3347
  result = val[2]
3331
3348
  result[4].merge!(val[0])
3332
3349
 
@@ -3335,7 +3352,7 @@ module_eval(<<'.,.,', 'parser.y', 1213)
3335
3352
  .,.,
3336
3353
 
3337
3354
  module_eval(<<'.,.,', 'parser.y', 1217)
3338
- def _reduce_221(val, _values, result)
3355
+ def _reduce_222(val, _values, result)
3339
3356
  result = empty_params_result
3340
3357
  result[4].merge!(val[0])
3341
3358
 
@@ -3344,7 +3361,7 @@ module_eval(<<'.,.,', 'parser.y', 1217)
3344
3361
  .,.,
3345
3362
 
3346
3363
  module_eval(<<'.,.,', 'parser.y', 1221)
3347
- def _reduce_222(val, _values, result)
3364
+ def _reduce_223(val, _values, result)
3348
3365
  result = val[2]
3349
3366
  result[5].merge!(val[0])
3350
3367
 
@@ -3353,7 +3370,7 @@ module_eval(<<'.,.,', 'parser.y', 1221)
3353
3370
  .,.,
3354
3371
 
3355
3372
  module_eval(<<'.,.,', 'parser.y', 1225)
3356
- def _reduce_223(val, _values, result)
3373
+ def _reduce_224(val, _values, result)
3357
3374
  result = empty_params_result
3358
3375
  result[5].merge!(val[0])
3359
3376
 
@@ -3362,7 +3379,7 @@ module_eval(<<'.,.,', 'parser.y', 1225)
3362
3379
  .,.,
3363
3380
 
3364
3381
  module_eval(<<'.,.,', 'parser.y', 1229)
3365
- def _reduce_224(val, _values, result)
3382
+ def _reduce_225(val, _values, result)
3366
3383
  result = empty_params_result
3367
3384
  result[6] = val[0]
3368
3385
 
@@ -3371,7 +3388,7 @@ module_eval(<<'.,.,', 'parser.y', 1229)
3371
3388
  .,.,
3372
3389
 
3373
3390
  module_eval(<<'.,.,', 'parser.y', 1235)
3374
- def _reduce_225(val, _values, result)
3391
+ def _reduce_226(val, _values, result)
3375
3392
  loc = val[0].location
3376
3393
  if var_name = val[1]
3377
3394
  loc = loc + var_name.location
@@ -3389,7 +3406,7 @@ module_eval(<<'.,.,', 'parser.y', 1235)
3389
3406
  .,.,
3390
3407
 
3391
3408
  module_eval(<<'.,.,', 'parser.y', 1250)
3392
- def _reduce_226(val, _values, result)
3409
+ def _reduce_227(val, _values, result)
3393
3410
  loc = val[0].location + val[1].location
3394
3411
  if var_name = val[2]
3395
3412
  loc = loc + var_name.location
@@ -3407,7 +3424,7 @@ module_eval(<<'.,.,', 'parser.y', 1250)
3407
3424
  .,.,
3408
3425
 
3409
3426
  module_eval(<<'.,.,', 'parser.y', 1265)
3410
- def _reduce_227(val, _values, result)
3427
+ def _reduce_228(val, _values, result)
3411
3428
  loc = val[0].location + val[1].location
3412
3429
  if var_name = val[2]
3413
3430
  loc = loc + var_name.location
@@ -3425,7 +3442,7 @@ module_eval(<<'.,.,', 'parser.y', 1265)
3425
3442
  .,.,
3426
3443
 
3427
3444
  module_eval(<<'.,.,', 'parser.y', 1280)
3428
- def _reduce_228(val, _values, result)
3445
+ def _reduce_229(val, _values, result)
3429
3446
  loc = val[0].location + val[1].location
3430
3447
  if var_name = val[2]
3431
3448
  loc = loc + var_name.location
@@ -3445,7 +3462,7 @@ module_eval(<<'.,.,', 'parser.y', 1280)
3445
3462
  .,.,
3446
3463
 
3447
3464
  module_eval(<<'.,.,', 'parser.y', 1297)
3448
- def _reduce_229(val, _values, result)
3465
+ def _reduce_230(val, _values, result)
3449
3466
  loc = val[0].location + val[2].location
3450
3467
  if var_name = val[3]
3451
3468
  loc = loc + var_name.location
@@ -3465,7 +3482,7 @@ module_eval(<<'.,.,', 'parser.y', 1297)
3465
3482
  .,.,
3466
3483
 
3467
3484
  module_eval(<<'.,.,', 'parser.y', 1314)
3468
- def _reduce_230(val, _values, result)
3485
+ def _reduce_231(val, _values, result)
3469
3486
  loc = val[0].location + val[1].location
3470
3487
  if var_name = val[2]
3471
3488
  loc = loc + var_name.location
@@ -3483,16 +3500,20 @@ module_eval(<<'.,.,', 'parser.y', 1314)
3483
3500
  end
3484
3501
  .,.,
3485
3502
 
3486
- # reduce 231 omitted
3487
-
3488
3503
  # reduce 232 omitted
3489
3504
 
3490
3505
  # reduce 233 omitted
3491
3506
 
3492
3507
  # reduce 234 omitted
3493
3508
 
3509
+ # reduce 235 omitted
3510
+
3511
+ # reduce 236 omitted
3512
+
3513
+ # reduce 237 omitted
3514
+
3494
3515
  module_eval(<<'.,.,', 'parser.y', 1333)
3495
- def _reduce_235(val, _values, result)
3516
+ def _reduce_238(val, _values, result)
3496
3517
  namespace = val[0]&.value || Namespace.empty
3497
3518
  name = val[1].value.to_sym
3498
3519
  type_name = TypeName.new(namespace: namespace, name: name)
@@ -3503,14 +3524,14 @@ module_eval(<<'.,.,', 'parser.y', 1333)
3503
3524
  end
3504
3525
  .,.,
3505
3526
 
3506
- # reduce 236 omitted
3527
+ # reduce 239 omitted
3507
3528
 
3508
- # reduce 237 omitted
3529
+ # reduce 240 omitted
3509
3530
 
3510
- # reduce 238 omitted
3531
+ # reduce 241 omitted
3511
3532
 
3512
3533
  module_eval(<<'.,.,', 'parser.y', 1345)
3513
- def _reduce_239(val, _values, result)
3534
+ def _reduce_242(val, _values, result)
3514
3535
  namespace = val[0]&.value || Namespace.empty
3515
3536
  name = val[1].value.to_sym
3516
3537
  type_name = TypeName.new(namespace: namespace, name: name)
@@ -3522,7 +3543,7 @@ module_eval(<<'.,.,', 'parser.y', 1345)
3522
3543
  .,.,
3523
3544
 
3524
3545
  module_eval(<<'.,.,', 'parser.y', 1354)
3525
- def _reduce_240(val, _values, result)
3546
+ def _reduce_243(val, _values, result)
3526
3547
  namespace = val[0]&.value || Namespace.empty
3527
3548
  name = val[1].value.to_sym
3528
3549
  type_name = TypeName.new(namespace: namespace, name: name)
@@ -3534,7 +3555,7 @@ module_eval(<<'.,.,', 'parser.y', 1354)
3534
3555
  .,.,
3535
3556
 
3536
3557
  module_eval(<<'.,.,', 'parser.y', 1363)
3537
- def _reduce_241(val, _values, result)
3558
+ def _reduce_244(val, _values, result)
3538
3559
  namespace = val[0]&.value || Namespace.empty
3539
3560
  name = val[1].value.to_sym
3540
3561
  type_name = TypeName.new(namespace: namespace, name: name)
@@ -3546,7 +3567,7 @@ module_eval(<<'.,.,', 'parser.y', 1363)
3546
3567
  .,.,
3547
3568
 
3548
3569
  module_eval(<<'.,.,', 'parser.y', 1373)
3549
- def _reduce_242(val, _values, result)
3570
+ def _reduce_245(val, _values, result)
3550
3571
  result = nil
3551
3572
 
3552
3573
  result
@@ -3554,7 +3575,7 @@ module_eval(<<'.,.,', 'parser.y', 1373)
3554
3575
  .,.,
3555
3576
 
3556
3577
  module_eval(<<'.,.,', 'parser.y', 1376)
3557
- def _reduce_243(val, _values, result)
3578
+ def _reduce_246(val, _values, result)
3558
3579
  result = LocatedValue.new(value: Namespace.root, location: val[0].location)
3559
3580
 
3560
3581
  result
@@ -3562,7 +3583,7 @@ module_eval(<<'.,.,', 'parser.y', 1376)
3562
3583
  .,.,
3563
3584
 
3564
3585
  module_eval(<<'.,.,', 'parser.y', 1379)
3565
- def _reduce_244(val, _values, result)
3586
+ def _reduce_247(val, _values, result)
3566
3587
  namespace = Namespace.parse(val[1].value).absolute!
3567
3588
  result = LocatedValue.new(value: namespace, location: val[0].location + val[1].location)
3568
3589
 
@@ -3571,7 +3592,7 @@ module_eval(<<'.,.,', 'parser.y', 1379)
3571
3592
  .,.,
3572
3593
 
3573
3594
  module_eval(<<'.,.,', 'parser.y', 1383)
3574
- def _reduce_245(val, _values, result)
3595
+ def _reduce_248(val, _values, result)
3575
3596
  namespace = Namespace.parse(val[0].value)
3576
3597
  result = LocatedValue.new(value: namespace, location: val[0].location)
3577
3598
 
@@ -3579,9 +3600,9 @@ module_eval(<<'.,.,', 'parser.y', 1383)
3579
3600
  end
3580
3601
  .,.,
3581
3602
 
3582
- # reduce 246 omitted
3603
+ # reduce 249 omitted
3583
3604
 
3584
- # reduce 247 omitted
3605
+ # reduce 250 omitted
3585
3606
 
3586
3607
  def _reduce_none(val, _values, result)
3587
3608
  val[0]