rbs 0.14.0 → 0.18.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +8 -4
  3. data/CHANGELOG.md +35 -0
  4. data/Gemfile +1 -0
  5. data/README.md +1 -1
  6. data/Rakefile +19 -1
  7. data/Steepfile +0 -1
  8. data/bin/test_runner.rb +15 -1
  9. data/{stdlib/builtin → core}/array.rbs +124 -120
  10. data/{stdlib/builtin → core}/basic_object.rbs +0 -0
  11. data/{stdlib/builtin → core}/binding.rbs +0 -0
  12. data/core/builtin.rbs +70 -0
  13. data/{stdlib/builtin → core}/class.rbs +0 -0
  14. data/{stdlib/builtin → core}/comparable.rbs +0 -0
  15. data/{stdlib/builtin → core}/complex.rbs +0 -0
  16. data/{stdlib/builtin → core}/constants.rbs +0 -0
  17. data/{stdlib/builtin → core}/data.rbs +0 -0
  18. data/{stdlib/builtin → core}/deprecated.rbs +0 -0
  19. data/{stdlib/builtin → core}/dir.rbs +1 -1
  20. data/{stdlib/builtin → core}/encoding.rbs +0 -0
  21. data/{stdlib/builtin → core}/enumerable.rbs +67 -60
  22. data/{stdlib/builtin → core}/enumerator.rbs +5 -5
  23. data/{stdlib/builtin → core}/errno.rbs +0 -0
  24. data/{stdlib/builtin → core}/errors.rbs +1 -1
  25. data/{stdlib/builtin → core}/exception.rbs +0 -0
  26. data/{stdlib/builtin → core}/false_class.rbs +0 -0
  27. data/{stdlib/builtin → core}/fiber.rbs +0 -0
  28. data/{stdlib/builtin → core}/fiber_error.rbs +0 -0
  29. data/{stdlib/builtin → core}/file.rbs +0 -0
  30. data/{stdlib/builtin → core}/file_test.rbs +0 -0
  31. data/{stdlib/builtin → core}/float.rbs +0 -0
  32. data/{stdlib/builtin → core}/gc.rbs +2 -2
  33. data/{stdlib/builtin → core}/hash.rbs +15 -15
  34. data/{stdlib/builtin → core}/integer.rbs +0 -0
  35. data/{stdlib/builtin → core}/io.rbs +6 -6
  36. data/{stdlib/builtin → core}/kernel.rbs +1 -85
  37. data/{stdlib/builtin → core}/marshal.rbs +0 -0
  38. data/{stdlib/builtin → core}/match_data.rbs +0 -0
  39. data/{stdlib/builtin → core}/math.rbs +0 -0
  40. data/{stdlib/builtin → core}/method.rbs +0 -0
  41. data/{stdlib/builtin → core}/module.rbs +13 -13
  42. data/{stdlib/builtin → core}/nil_class.rbs +0 -0
  43. data/{stdlib/builtin → core}/numeric.rbs +0 -0
  44. data/{stdlib/builtin → core}/object.rbs +1 -1
  45. data/core/object_space.rbs +98 -0
  46. data/{stdlib/builtin → core}/proc.rbs +0 -0
  47. data/{stdlib/builtin → core}/process.rbs +0 -0
  48. data/{stdlib/builtin → core}/random.rbs +1 -1
  49. data/{stdlib/builtin → core}/range.rbs +3 -3
  50. data/{stdlib/builtin → core}/rational.rbs +0 -0
  51. data/{stdlib/builtin → core}/rb_config.rbs +0 -0
  52. data/{stdlib/builtin → core}/regexp.rbs +0 -0
  53. data/{stdlib/builtin → core}/ruby_vm.rbs +0 -0
  54. data/{stdlib/builtin → core}/signal.rbs +0 -0
  55. data/{stdlib/builtin → core}/string.rbs +6 -6
  56. data/{stdlib/builtin → core}/string_io.rbs +7 -7
  57. data/{stdlib/builtin → core}/struct.rbs +2 -2
  58. data/{stdlib/builtin → core}/symbol.rbs +1 -1
  59. data/{stdlib/builtin → core}/thread.rbs +4 -4
  60. data/{stdlib/builtin → core}/thread_group.rbs +0 -0
  61. data/{stdlib/builtin → core}/time.rbs +0 -0
  62. data/{stdlib/builtin → core}/trace_point.rbs +0 -0
  63. data/{stdlib/builtin → core}/true_class.rbs +1 -1
  64. data/{stdlib/builtin → core}/unbound_method.rbs +0 -0
  65. data/{stdlib/builtin → core}/warning.rbs +0 -0
  66. data/docs/repo.md +125 -0
  67. data/docs/syntax.md +50 -6
  68. data/lib/rbs.rb +1 -0
  69. data/lib/rbs/cli.rb +105 -103
  70. data/lib/rbs/definition.rb +9 -4
  71. data/lib/rbs/definition_builder.rb +50 -17
  72. data/lib/rbs/environment_loader.rb +79 -105
  73. data/lib/rbs/environment_walker.rb +70 -35
  74. data/lib/rbs/parser.rb +404 -397
  75. data/lib/rbs/parser.y +18 -9
  76. data/lib/rbs/prototype/rb.rb +186 -25
  77. data/lib/rbs/prototype/runtime.rb +18 -7
  78. data/lib/rbs/repository.rb +121 -0
  79. data/lib/rbs/test/hook.rb +27 -15
  80. data/lib/rbs/test/setup.rb +5 -3
  81. data/lib/rbs/test/tester.rb +4 -1
  82. data/lib/rbs/test/type_check.rb +16 -5
  83. data/lib/rbs/type_name.rb +2 -1
  84. data/lib/rbs/vendorer.rb +38 -16
  85. data/lib/rbs/version.rb +1 -1
  86. data/sig/cli.rbs +58 -0
  87. data/sig/constant_table.rbs +1 -1
  88. data/sig/declarations.rbs +1 -1
  89. data/sig/definition.rbs +9 -4
  90. data/sig/definition_builder.rbs +4 -1
  91. data/sig/environment_loader.rbs +92 -46
  92. data/sig/members.rbs +2 -2
  93. data/sig/method_types.rbs +1 -1
  94. data/sig/namespace.rbs +1 -1
  95. data/sig/polyfill.rbs +42 -0
  96. data/sig/rbs.rbs +8 -0
  97. data/sig/repository.rbs +79 -0
  98. data/sig/vendorer.rbs +44 -0
  99. data/stdlib/abbrev/{abbrev.rbs → 0/abbrev.rbs} +0 -0
  100. data/stdlib/base64/{base64.rbs → 0/base64.rbs} +1 -1
  101. data/stdlib/benchmark/{benchmark.rbs → 0/benchmark.rbs} +0 -0
  102. data/stdlib/{bigdecimal/math → bigdecimal-math/0}/big_math.rbs +0 -0
  103. data/stdlib/bigdecimal/{big_decimal.rbs → 0/big_decimal.rbs} +0 -0
  104. data/stdlib/coverage/{coverage.rbs → 0/coverage.rbs} +2 -2
  105. data/stdlib/csv/{csv.rbs → 0/csv.rbs} +4 -4
  106. data/stdlib/date/{date.rbs → 0/date.rbs} +2 -2
  107. data/stdlib/date/{date_time.rbs → 0/date_time.rbs} +1 -1
  108. data/stdlib/dbm/0/dbm.rbs +277 -0
  109. data/stdlib/erb/{erb.rbs → 0/erb.rbs} +0 -0
  110. data/stdlib/fiber/{fiber.rbs → 0/fiber.rbs} +0 -0
  111. data/stdlib/find/{find.rbs → 0/find.rbs} +2 -2
  112. data/stdlib/forwardable/{forwardable.rbs → 0/forwardable.rbs} +0 -0
  113. data/stdlib/ipaddr/{ipaddr.rbs → 0/ipaddr.rbs} +0 -0
  114. data/stdlib/json/{json.rbs → 0/json.rbs} +0 -0
  115. data/stdlib/logger/{formatter.rbs → 0/formatter.rbs} +0 -0
  116. data/stdlib/logger/{log_device.rbs → 0/log_device.rbs} +1 -1
  117. data/stdlib/logger/{logger.rbs → 0/logger.rbs} +1 -1
  118. data/stdlib/logger/{period.rbs → 0/period.rbs} +0 -0
  119. data/stdlib/logger/{severity.rbs → 0/severity.rbs} +0 -0
  120. data/stdlib/mutex_m/{mutex_m.rbs → 0/mutex_m.rbs} +0 -0
  121. data/stdlib/pathname/{pathname.rbs → 0/pathname.rbs} +39 -39
  122. data/stdlib/prime/{integer-extension.rbs → 0/integer-extension.rbs} +0 -0
  123. data/stdlib/prime/{prime.rbs → 0/prime.rbs} +1 -1
  124. data/stdlib/pstore/0/pstore.rbs +287 -0
  125. data/stdlib/pty/{pty.rbs → 0/pty.rbs} +1 -1
  126. data/stdlib/securerandom/{securerandom.rbs → 0/securerandom.rbs} +0 -0
  127. data/stdlib/set/{set.rbs → 0/set.rbs} +10 -10
  128. data/stdlib/singleton/0/singleton.rbs +111 -0
  129. data/stdlib/tmpdir/{tmpdir.rbs → 0/tmpdir.rbs} +0 -0
  130. data/stdlib/tsort/0/cyclic.rbs +4 -0
  131. data/stdlib/tsort/0/interfaces.rbs +19 -0
  132. data/stdlib/tsort/0/tsort.rbs +363 -0
  133. data/stdlib/uri/{file.rbs → 0/file.rbs} +0 -0
  134. data/stdlib/uri/{generic.rbs → 0/generic.rbs} +1 -1
  135. data/stdlib/uri/{http.rbs → 0/http.rbs} +0 -0
  136. data/stdlib/uri/{https.rbs → 0/https.rbs} +0 -0
  137. data/stdlib/uri/{ldap.rbs → 0/ldap.rbs} +0 -0
  138. data/stdlib/uri/{ldaps.rbs → 0/ldaps.rbs} +0 -0
  139. data/stdlib/yaml/0/dbm.rbs +221 -0
  140. data/stdlib/yaml/0/store.rbs +53 -0
  141. data/stdlib/zlib/{zlib.rbs → 0/zlib.rbs} +0 -0
  142. data/steep/Gemfile.lock +9 -9
  143. metadata +108 -94
  144. data/stdlib/builtin/builtin.rbs +0 -42
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # DO NOT MODIFY!!!!
3
- # This file is automatically generated by Racc 1.5.0
3
+ # This file is automatically generated by Racc 1.5.1
4
4
  # from Racc grammar file "".
5
5
  #
6
6
 
@@ -8,7 +8,7 @@ require 'racc/parser.rb'
8
8
  module RBS
9
9
  class Parser < Racc::Parser
10
10
 
11
- module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1042)
11
+ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1044)
12
12
 
13
13
  Types = RBS::Types
14
14
  Namespace = RBS::Namespace
@@ -136,14 +136,21 @@ end
136
136
 
137
137
  def new_token(type, value = input.matched)
138
138
  charpos = charpos(input)
139
- start_index = charpos - input.matched.size
140
- end_index = charpos
139
+ matched = input.matched
141
140
 
142
- location = RBS::Location.new(buffer: buffer,
143
- start_pos: start_index,
144
- end_pos: end_index)
141
+ if matched
142
+ start_index = charpos - matched.size
143
+ end_index = charpos
145
144
 
146
- [type, LocatedValue.new(location: location, value: value)]
145
+ location = RBS::Location.new(buffer: buffer,
146
+ start_pos: start_index,
147
+ end_pos: end_index)
148
+
149
+ [type, LocatedValue.new(location: location, value: value)]
150
+ else
151
+ # scanner hasn't matched yet
152
+ [false, nil]
153
+ end
147
154
  end
148
155
 
149
156
  def charpos(scanner)
@@ -262,10 +269,10 @@ def next_token
262
269
  return [:"type_#{type}", nil]
263
270
  end
264
271
 
265
- return if @eof
272
+ return new_token(false, '') if @eof
266
273
 
267
274
  while true
268
- return if input.eos?
275
+ return new_token(false, '') if input.eos?
269
276
 
270
277
  case
271
278
  when input.scan(/\s+/)
@@ -376,118 +383,118 @@ end
376
383
  ##### State transition tables begin ###
377
384
 
378
385
  clist = [
379
- '341,342,33,343,406,76,5,33,33,380,354,37,50,33,33,340,42,379,352,2,3',
380
- '4,209,210,211,212,213,214,215,216,220,33,217,208,218,219,104,115,105',
381
- '106,107,121,33,32,51,336,330,331,32,32,334,332,335,301,32,32,33,333',
382
- '120,108,109,110,112,114,113,329,338,339,111,116,118,196,32,199,87,122',
383
- '123,119,124,341,342,33,343,32,58,59,60,61,279,280,43,33,33,33,340,231',
384
- '50,32,200,88,197,209,210,211,212,213,214,215,216,220,361,217,208,218',
385
- '219,104,115,105,106,107,121,33,32,48,336,330,331,50,51,334,332,335,32',
386
- '32,32,88,333,120,108,109,110,112,114,113,329,338,339,111,116,118,341',
387
- '342,320,343,122,123,119,124,66,51,158,39,32,40,41,340,157,83,324,395',
388
- '89,316,209,210,211,212,213,214,215,216,355,276,217,208,218,219,104,115',
389
- '105,106,107,121,39,88,88,336,330,331,40,41,334,332,335,40,41,144,277',
390
- '333,120,108,109,110,112,114,113,329,338,339,111,116,118,164,397,396',
391
- '145,122,123,119,124,341,342,146,343,147,58,59,60,61,63,64,148,65,272',
392
- '273,340,76,88,88,88,40,41,209,210,211,212,213,214,215,216,220,156,217',
393
- '208,218,219,104,115,105,106,107,121,40,41,159,336,330,331,40,41,334',
394
- '332,335,40,41,387,388,333,120,108,109,110,112,114,113,329,338,339,111',
395
- '116,118,341,342,161,343,122,123,119,124,163,58,59,60,61,40,41,340,55',
396
- '54,56,40,41,41,209,210,211,212,213,214,215,216,220,166,217,208,218,219',
397
- '104,115,105,106,107,121,40,41,158,336,330,331,40,41,334,332,335,40,41',
398
- '40,41,333,120,108,109,110,112,114,113,329,338,339,111,116,118,40,41',
399
- '40,41,122,123,119,124,341,342,-107,343,-108,58,59,60,61,58,59,60,61',
400
- '40,41,340,55,54,56,40,41,-109,209,210,211,212,213,214,215,216,220,-110',
401
- '217,208,218,219,104,115,105,106,107,121,40,41,-111,336,330,331,40,41',
402
- '334,332,335,365,366,40,41,333,120,108,109,110,112,114,113,329,338,339',
403
- '111,116,118,341,342,-112,343,122,123,119,124,40,41,-113,-114,-115,-116',
404
- '-117,340,48,-132,171,172,173,174,209,210,211,212,213,214,215,216,220',
405
- '175,217,208,218,219,104,115,105,106,107,121,176,177,42,336,330,331,201',
406
- '234,334,332,335,235,237,238,239,333,120,108,109,110,112,114,113,329',
407
- '338,339,111,116,118,241,83,245,245,122,123,119,124,341,342,245,343,251',
408
- '58,59,60,61,254,42,257,259,263,265,340,267,268,42,270,307,309,209,210',
409
- '211,212,213,214,215,216,220,263,217,208,218,219,104,115,105,106,107',
410
- '121,311,267,321,336,330,331,322,323,334,332,335,359,364,364,364,333',
411
- '120,108,109,110,112,114,113,329,338,339,111,116,118,371,372,373,374',
412
- '122,123,119,124,33,375,377,58,59,60,61,378,381,382,22,23,21,392,26,-217',
413
- '25,401,30,402,93,94,95,96,97,98,99,100,117,16,101,92,102,103,104,115',
414
- '105,106,107,121,403,32,406,407,408,28,409,139,,140,142,,,,,,120,108',
415
- '109,110,112,114,113,,,,111,116,118,,,,,122,123,119,124,33,,,58,59,60',
416
- '61,,,,22,23,21,,26,,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102',
417
- '103,104,115,105,106,107,121,,32,,,,28,,,,,,,,,,,120,108,109,110,112',
418
- '114,113,,,,111,116,118,,,,,122,123,119,124,33,,,58,59,60,61,,,,22,23',
419
- '21,,26,-217,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102,103,104',
420
- '115,105,106,107,121,,32,,,,28,,207,,,142,,,,,,120,108,109,110,112,114',
421
- '113,,,,111,116,118,,,,,122,123,119,124,33,,,58,59,60,61,,,,22,23,21',
422
- ',26,-217,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102,103,104',
423
- '115,105,106,107,121,,32,,,,28,,207,,,142,,,,,,120,108,109,110,112,114',
386
+ '341,342,33,343,5,58,59,60,61,37,354,380,33,33,33,340,42,50,352,379,40',
387
+ '41,209,210,211,212,213,214,215,216,220,33,217,208,218,219,104,115,105',
388
+ '106,107,121,76,32,196,336,330,331,33,51,334,332,335,32,32,32,33,333',
389
+ '120,108,109,110,112,114,113,329,338,339,111,116,118,43,32,197,48,122',
390
+ '123,119,124,341,342,33,343,66,58,59,60,61,39,32,301,33,33,33,340,231',
391
+ '50,32,40,41,83,209,210,211,212,213,214,215,216,220,33,217,208,218,219',
392
+ '104,115,105,106,107,121,33,32,144,336,330,331,39,51,334,332,335,32,32',
393
+ '32,50,333,120,108,109,110,112,114,113,329,338,339,111,116,118,89,32',
394
+ '87,320,122,123,119,124,341,342,145,343,32,58,59,60,61,51,158,2,3,4,316',
395
+ '340,157,164,199,88,40,41,209,210,211,212,213,214,215,216,220,276,217',
396
+ '208,218,219,104,115,105,106,107,121,88,200,146,336,330,331,324,147,334',
397
+ '332,335,40,41,361,277,333,120,108,109,110,112,114,113,329,338,339,111',
398
+ '116,118,341,342,88,343,122,123,119,124,-4,88,-239,148,33,76,80,340,-239',
399
+ '395,396,397,156,76,209,210,211,212,213,214,215,216,355,159,217,208,218',
400
+ '219,104,115,105,106,107,121,88,88,88,336,330,331,40,41,334,332,335,32',
401
+ '40,41,161,333,120,108,109,110,112,114,113,329,338,339,111,116,118,341',
402
+ '342,163,343,122,123,119,124,41,58,59,60,61,39,166,340,55,54,56,40,41',
403
+ '158,209,210,211,212,213,214,215,216,220,-107,217,208,218,219,104,115',
404
+ '105,106,107,121,40,41,-108,336,330,331,40,41,334,332,335,63,64,-109',
405
+ '65,333,120,108,109,110,112,114,113,329,338,339,111,116,118,341,342,-110',
406
+ '343,122,123,119,124,-111,58,59,60,61,40,41,340,55,54,56,40,41,-112,209',
407
+ '210,211,212,213,214,215,216,220,-113,217,208,218,219,104,115,105,106',
408
+ '107,121,40,41,-114,336,330,331,272,273,334,332,335,279,280,365,366,333',
409
+ '120,108,109,110,112,114,113,329,338,339,111,116,118,40,41,40,41,122',
410
+ '123,119,124,341,342,-115,343,-116,58,59,60,61,40,41,40,41,40,41,340',
411
+ '387,388,40,41,40,41,209,210,211,212,213,214,215,216,220,-117,217,208',
412
+ '218,219,104,115,105,106,107,121,40,41,48,336,330,331,40,41,334,332,335',
413
+ '-132,171,172,173,333,120,108,109,110,112,114,113,329,338,339,111,116',
414
+ '118,341,342,174,343,122,123,119,124,175,176,177,42,201,234,235,340,237',
415
+ '238,239,241,83,245,209,210,211,212,213,214,215,216,220,245,217,208,218',
416
+ '219,104,115,105,106,107,121,245,251,254,336,330,331,42,257,334,332,335',
417
+ '259,263,265,267,333,120,108,109,110,112,114,113,329,338,339,111,116',
418
+ '118,268,42,270,307,122,123,119,124,33,309,263,58,59,60,61,311,267,321',
419
+ '22,23,21,322,26,-217,25,323,30,359,93,94,95,96,97,98,99,100,117,16,101',
420
+ '92,102,103,104,115,105,106,107,121,364,32,364,364,371,28,372,139,373',
421
+ '140,142,374,375,377,378,381,120,108,109,110,112,114,113,382,392,401',
422
+ '111,116,118,402,403,406,407,122,123,119,124,33,408,409,58,59,60,61,406',
423
+ ',,22,23,21,,26,,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102,103',
424
+ '104,115,105,106,107,121,,32,,,,28,,,,,,,,,,,120,108,109,110,112,114',
424
425
  '113,,,,111,116,118,,,,,122,123,119,124,33,,,58,59,60,61,,,,22,23,21',
425
426
  ',26,-217,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102,103,104',
426
427
  '115,105,106,107,121,,32,,,,28,,139,,140,142,,,,,,120,108,109,110,112',
427
428
  '114,113,,,,111,116,118,,,,,122,123,119,124,33,,,58,59,60,61,,,,22,23',
428
429
  '21,,26,-217,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102,103,104',
429
- '115,105,106,107,121,-4,32,-239,,33,28,80,139,-239,140,142,,,76,,,120',
430
- '108,109,110,112,114,113,,,,111,116,118,,,,,122,123,119,124,,,,,,,,,32',
431
- ',,,,,,,,,,168,33,169,,58,59,60,61,,,,22,23,21,,26,-217,25,,30,39,93',
432
- '94,95,96,97,98,99,100,117,16,101,92,102,103,104,115,105,106,107,121',
433
- '168,32,169,40,41,28,,139,,140,142,,,,,,120,108,109,110,112,114,113,',
434
- ',170,111,116,118,58,59,60,61,122,123,119,124,,,,,,,,40,41,209,210,211',
435
- '212,213,214,215,216,220,,217,208,218,219,104,115,105,106,107,121,170',
436
- ',,,,,,207,,,142,,,,,,120,108,109,110,112,114,113,168,,169,111,116,118',
437
- '58,59,60,61,122,123,119,124,,,,,,,,,,209,210,211,212,213,214,215,216',
438
- '220,,217,208,218,219,104,115,105,106,107,121,,40,41,,,,,207,,,142,,',
439
- ',,,120,108,109,110,112,114,113,170,,,111,116,118,58,59,60,61,122,123',
440
- '119,124,,,,,,,,,,209,210,211,212,213,214,215,216,220,,217,208,218,219',
441
- '104,115,105,106,107,121,168,,169,168,152,169,168,155,169,153,,,,,,,120',
442
- '108,109,110,112,114,113,,,,111,116,118,154,,,,122,123,119,124,,,,151',
443
- ',,,40,41,,40,41,,40,41,-239,,33,,80,,-239,,,296,297,76,,,170,,,170,',
444
- ',170,,-239,,33,,80,,-239,,298,296,297,76,,,,,,293,292,,,32,-239,,33',
445
- ',80,,-239,,298,296,297,76,,,,284,,293,292,,,32,-239,,33,,80,,-239,,298',
446
- '296,297,76,,,,312,,293,292,,,32,,,,,,,,,298,,,,,,,360,,293,292,,33,32',
447
- ',,,,,,,,22,23,21,,26,,25,308,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
448
- '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
449
- '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
450
- '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
451
- '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
452
- ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
453
- '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
454
- '32,,,,28,22,23,21,,26,,25,45,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
455
- '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
456
- '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
457
- '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
458
- '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
459
- ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
460
- '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
461
- '32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
462
- '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
463
- '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
464
- '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
465
- '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
466
- ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
467
- '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
468
- '32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
469
- '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
470
- '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
471
- '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
472
- '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
473
- ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
474
- '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
475
- '32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
476
- '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
477
- '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
478
- '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
479
- '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
480
- ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
481
- '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,',
482
- '32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11',
483
- '27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15',
484
- '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9',
485
- '10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8',
486
- '12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26',
487
- ',25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22',
488
- '23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,152,,,155',
489
- ',153,,32,320,,,28,,,,,,,,,,,,,,154,,316,317,313,314,315,,,,318,151' ]
490
- racc_action_table = arr = ::Array.new(2819, nil)
430
+ '115,105,106,107,121,,32,,,,28,,139,,140,142,,,,,,120,108,109,110,112',
431
+ '114,113,,,,111,116,118,,,,,122,123,119,124,33,,,58,59,60,61,,,,22,23',
432
+ '21,,26,-217,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102,103,104',
433
+ '115,105,106,107,121,,32,,,,28,,139,,140,142,,,,,,120,108,109,110,112',
434
+ '114,113,,,,111,116,118,,,,,122,123,119,124,33,,,58,59,60,61,,,,22,23',
435
+ '21,,26,-217,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102,103,104',
436
+ '115,105,106,107,121,,32,,,,28,,207,,,142,,,,,,120,108,109,110,112,114',
437
+ '113,,,,111,116,118,,,,,122,123,119,124,33,,,58,59,60,61,,,,22,23,21',
438
+ ',26,-217,25,,30,,93,94,95,96,97,98,99,100,117,16,101,92,102,103,104',
439
+ '115,105,106,107,121,168,32,169,,,28,,207,,,142,,,,,,120,108,109,110',
440
+ '112,114,113,168,,169,111,116,118,58,59,60,61,122,123,119,124,,,,,,,',
441
+ '40,41,209,210,211,212,213,214,215,216,220,,217,208,218,219,104,115,105',
442
+ '106,107,121,170,40,41,,,,,207,,,142,,,,,,120,108,109,110,112,114,113',
443
+ '170,,,111,116,118,58,59,60,61,122,123,119,124,,,,,,,,,,209,210,211,212',
444
+ '213,214,215,216,220,,217,208,218,219,104,115,105,106,107,121,168,,169',
445
+ ',,,,207,,,142,,,,,,120,108,109,110,112,114,113,168,,169,111,116,118',
446
+ '58,59,60,61,122,123,119,124,,,,,,,,40,41,209,210,211,212,213,214,215',
447
+ '216,220,,217,208,218,219,104,115,105,106,107,121,170,40,41,168,152,169',
448
+ '168,155,169,153,,,,,,,120,108,109,110,112,114,113,170,,,111,116,118',
449
+ '154,,,,122,123,119,124,,,,151,,,,,,,40,41,,40,41,-239,,33,,80,,-239',
450
+ ',,296,297,76,-239,,33,,80,170,-239,,170,296,297,76,,,,-239,,33,298,80',
451
+ ',-239,,,296,297,76,293,292,,298,32,,,,,,,,293,292,,-239,32,33,298,80',
452
+ '284,-239,,,296,297,76,293,292,,,32,308,,,,,,,,,,,,,298,,312,,,,,,,293',
453
+ '292,,33,32,,,,,,,,,22,23,21,,26,,25,360,30,,8,12,19,20,9,10,13,14,15',
454
+ '16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,45,30,,8,12,19,20',
455
+ '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
456
+ ',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
457
+ ',26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,',
458
+ '28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33',
459
+ ',,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
460
+ '11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14',
461
+ '15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20',
462
+ '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
463
+ ',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
464
+ ',26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,',
465
+ '28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33',
466
+ ',,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
467
+ '11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14',
468
+ '15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20',
469
+ '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
470
+ ',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
471
+ ',26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,',
472
+ '28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33',
473
+ ',,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
474
+ '11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14',
475
+ '15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20',
476
+ '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
477
+ ',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
478
+ ',26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,',
479
+ '28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33',
480
+ ',,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
481
+ '11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14',
482
+ '15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20',
483
+ '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
484
+ ',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
485
+ ',26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,',
486
+ '28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33',
487
+ ',,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
488
+ '11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14',
489
+ '15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20',
490
+ '9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21,,26,,25,,30',
491
+ ',8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,,28,22,23,21',
492
+ ',26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33,,,,,32,,,',
493
+ '28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18,11,27,,,33',
494
+ ',,,,32,,,,28,22,23,21,,26,,25,,30,,8,12,19,20,9,10,13,14,15,16,17,18',
495
+ '11,27,152,,,155,,153,,32,320,,,28,,,,,,,,,,,,,,154,,316,317,313,314',
496
+ '315,,,,318,151' ]
497
+ racc_action_table = arr = ::Array.new(2779, nil)
491
498
  idx = 0
492
499
  clist.each do |str|
493
500
  str.split(',', -1).each do |i|
@@ -497,131 +504,129 @@ clist = [
497
504
  end
498
505
 
499
506
  clist = [
500
- '375,375,317,375,409,269,1,259,267,364,319,5,28,265,231,375,7,364,319',
501
- '0,0,0,375,375,375,375,375,375,375,375,375,318,375,375,375,375,375,375',
502
- '375,375,375,375,316,317,28,375,375,375,259,267,375,375,375,269,265,231',
503
- '190,375,375,375,375,375,375,375,375,375,375,375,375,375,375,160,318',
504
- '162,46,375,375,375,375,314,314,188,314,316,314,314,314,314,262,262,24',
505
- '189,187,48,314,189,196,190,162,46,160,314,314,314,314,314,314,314,314',
506
- '314,326,314,314,314,314,314,314,314,314,314,314,155,188,27,314,314,314',
507
- '237,196,314,314,314,189,187,48,326,314,314,314,314,314,314,314,314,314',
508
- '314,314,314,314,314,320,320,306,320,314,314,314,314,32,237,79,35,155',
509
- '6,6,320,79,36,300,383,47,306,320,320,320,320,320,320,320,320,320,260',
510
- '320,320,320,320,320,320,320,320,320,320,6,300,383,320,320,320,47,47',
511
- '320,320,320,252,252,52,260,320,320,320,320,320,320,320,320,320,320,320',
512
- '320,320,320,86,385,384,53,320,320,320,320,386,386,54,386,55,386,386',
513
- '386,386,31,31,56,31,257,257,386,76,86,385,384,149,149,386,386,386,386',
514
- '386,386,386,386,386,78,386,386,386,386,386,386,386,386,386,386,391,391',
515
- '80,386,386,386,393,393,386,386,386,394,394,374,374,386,386,386,386,386',
516
- '386,386,386,386,386,386,386,386,386,408,408,82,408,386,386,386,386,83',
517
- '30,30,30,30,369,369,408,30,30,30,367,367,84,408,408,408,408,408,408',
518
- '408,408,408,90,408,408,408,408,408,408,408,408,408,408,184,184,91,408',
519
- '408,408,185,185,408,408,408,186,186,362,362,408,408,408,408,408,408',
520
- '408,408,408,408,408,408,408,408,165,165,358,358,408,408,408,408,315',
521
- '315,92,315,93,315,315,315,315,145,145,145,145,192,192,315,145,145,145',
522
- '193,193,94,315,315,315,315,315,315,315,315,315,95,315,315,315,315,315',
523
- '315,315,315,315,315,194,194,96,315,315,315,357,357,315,315,315,337,337',
524
- '390,390,315,315,315,315,315,315,315,315,315,315,315,315,315,315,356',
525
- '356,97,356,315,315,315,315,44,44,98,99,100,101,102,356,103,117,127,128',
526
- '129,131,356,356,356,356,356,356,356,356,356,133,356,356,356,356,356',
527
- '356,356,356,356,356,136,137,143,356,356,356,172,191,356,356,356,195',
528
- '197,198,200,356,356,356,356,356,356,356,356,356,356,356,356,356,356',
529
- '205,228,229,230,356,356,356,356,313,313,232,313,233,313,313,313,313',
530
- '236,240,243,244,245,246,313,247,249,253,255,271,275,313,313,313,313',
531
- '313,313,313,313,313,277,313,313,313,313,313,313,313,313,313,313,278',
532
- '282,296,313,313,313,297,298,313,313,313,323,328,346,348,313,313,313',
533
- '313,313,313,313,313,313,313,313,313,313,313,349,350,351,353,313,313',
534
- '313,313,174,355,359,174,174,174,174,363,368,370,174,174,174,380,174',
535
- '174,174,387,174,388,174,174,174,174,174,174,174,174,174,174,174,174',
536
- '174,174,174,174,174,174,174,174,389,174,398,400,403,174,405,174,,174',
537
- '174,,,,,,174,174,174,174,174,174,174,,,,174,174,174,,,,,174,174,174',
538
- '174,139,,,139,139,139,139,,,,139,139,139,,139,,139,,139,,139,139,139',
539
- '139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139',
540
- ',139,,,,139,,,,,,,,,,,139,139,139,139,139,139,139,,,,139,139,139,,,',
541
- ',139,139,139,139,241,,,241,241,241,241,,,,241,241,241,,241,241,241,',
542
- '241,,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241',
543
- '241,241,241,241,,241,,,,241,,241,,,241,,,,,,241,241,241,241,241,241',
544
- '241,,,,241,241,241,,,,,241,241,241,241,175,,,175,175,175,175,,,,175',
507
+ '313,313,48,313,1,313,313,313,313,5,319,364,155,187,188,313,7,28,319',
508
+ '364,44,44,313,313,313,313,313,313,313,313,313,190,313,313,313,313,313',
509
+ '313,313,313,313,313,269,48,160,313,313,313,231,28,313,313,313,155,187',
510
+ '188,259,313,313,313,313,313,313,313,313,313,313,313,313,313,313,24,190',
511
+ '160,27,313,313,313,313,314,314,265,314,32,314,314,314,314,35,231,269',
512
+ '189,267,316,314,189,196,259,6,6,36,314,314,314,314,314,314,314,314,314',
513
+ '317,314,314,314,314,314,314,314,314,314,314,318,265,52,314,314,314,6',
514
+ '196,314,314,314,189,267,316,237,314,314,314,314,314,314,314,314,314',
515
+ '314,314,314,314,314,47,317,46,306,314,314,314,314,315,315,53,315,318',
516
+ '315,315,315,315,237,79,0,0,0,306,315,79,86,162,46,47,47,315,315,315',
517
+ '315,315,315,315,315,315,260,315,315,315,315,315,315,315,315,315,315',
518
+ '86,162,54,315,315,315,300,55,315,315,315,149,149,326,260,315,315,315',
519
+ '315,315,315,315,315,315,315,315,315,315,315,320,320,300,320,315,315',
520
+ '315,315,34,326,34,56,34,76,34,320,34,383,384,385,78,34,320,320,320,320',
521
+ '320,320,320,320,320,80,320,320,320,320,320,320,320,320,320,320,383,384',
522
+ '385,320,320,320,165,165,320,320,320,34,184,184,82,320,320,320,320,320',
523
+ '320,320,320,320,320,320,320,320,320,356,356,83,356,320,320,320,320,84',
524
+ '30,30,30,30,34,90,356,30,30,30,185,185,91,356,356,356,356,356,356,356',
525
+ '356,356,92,356,356,356,356,356,356,356,356,356,356,186,186,93,356,356',
526
+ '356,192,192,356,356,356,31,31,94,31,356,356,356,356,356,356,356,356',
527
+ '356,356,356,356,356,356,375,375,95,375,356,356,356,356,96,145,145,145',
528
+ '145,193,193,375,145,145,145,194,194,97,375,375,375,375,375,375,375,375',
529
+ '375,98,375,375,375,375,375,375,375,375,375,375,252,252,99,375,375,375',
530
+ '257,257,375,375,375,262,262,337,337,375,375,375,375,375,375,375,375',
531
+ '375,375,375,375,375,375,357,357,358,358,375,375,375,375,386,386,100',
532
+ '386,101,386,386,386,386,362,362,367,367,369,369,386,374,374,390,390',
533
+ '391,391,386,386,386,386,386,386,386,386,386,102,386,386,386,386,386',
534
+ '386,386,386,386,386,393,393,103,386,386,386,394,394,386,386,386,117',
535
+ '127,128,129,386,386,386,386,386,386,386,386,386,386,386,386,386,386',
536
+ '408,408,131,408,386,386,386,386,133,136,137,143,172,191,195,408,197',
537
+ '198,200,205,228,229,408,408,408,408,408,408,408,408,408,230,408,408',
538
+ '408,408,408,408,408,408,408,408,232,233,236,408,408,408,240,243,408',
539
+ '408,408,244,245,246,247,408,408,408,408,408,408,408,408,408,408,408',
540
+ '408,408,408,249,253,255,271,408,408,408,408,50,275,277,50,50,50,50,278',
541
+ '282,296,50,50,50,297,50,50,50,298,50,323,50,50,50,50,50,50,50,50,50',
542
+ '50,50,50,50,50,50,50,50,50,50,50,328,50,346,348,349,50,350,50,351,50',
543
+ '50,353,355,359,363,368,50,50,50,50,50,50,50,370,380,387,50,50,50,388',
544
+ '389,398,400,50,50,50,50,139,403,405,139,139,139,139,409,,,139,139,139',
545
+ ',139,,139,,139,,139,139,139,139,139,139,139,139,139,139,139,139,139',
546
+ '139,139,139,139,139,139,139,,139,,,,139,,,,,,,,,,,139,139,139,139,139',
547
+ '139,139,,,,139,139,139,,,,,139,139,139,139,161,,,161,161,161,161,,,',
548
+ '161,161,161,,161,161,161,,161,,161,161,161,161,161,161,161,161,161,161',
549
+ '161,161,161,161,161,161,161,161,161,161,,161,,,,161,,161,,161,161,,',
550
+ ',,,161,161,161,161,161,161,161,,,,161,161,161,,,,,161,161,161,161,173',
551
+ ',,173,173,173,173,,,,173,173,173,,173,173,173,,173,,173,173,173,173',
552
+ '173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,,173',
553
+ ',,,173,,173,,173,173,,,,,,173,173,173,173,173,173,173,,,,173,173,173',
554
+ ',,,,173,173,173,173,174,,,174,174,174,174,,,,174,174,174,,174,174,174',
555
+ ',174,,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174',
556
+ '174,174,174,174,,174,,,,174,,174,,174,174,,,,,,174,174,174,174,174,174',
557
+ '174,,,,174,174,174,,,,,174,174,174,174,175,,,175,175,175,175,,,,175',
545
558
  '175,175,,175,175,175,,175,,175,175,175,175,175,175,175,175,175,175,175',
546
559
  '175,175,175,175,175,175,175,175,175,,175,,,,175,,175,,,175,,,,,,175',
547
- '175,175,175,175,175,175,,,,175,175,175,,,,,175,175,175,175,161,,,161',
548
- '161,161,161,,,,161,161,161,,161,161,161,,161,,161,161,161,161,161,161',
549
- '161,161,161,161,161,161,161,161,161,161,161,161,161,161,,161,,,,161',
550
- ',161,,161,161,,,,,,161,161,161,161,161,161,161,,,,161,161,161,,,,,161',
551
- '161,161,161,173,,,173,173,173,173,,,,173,173,173,,173,173,173,,173,',
552
- '173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173',
553
- '173,173,173,34,173,34,,34,173,34,173,34,173,173,,,34,,,173,173,173,173',
554
- '173,173,173,,,,173,173,173,,,,,173,173,173,173,,,,,,,,,34,,,,,,,,,,',
555
- '180,50,180,,50,50,50,50,,,,50,50,50,,50,50,50,,50,34,50,50,50,50,50',
556
- '50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,181,50,181,180,180,50,',
557
- '50,,50,50,,,,,,50,50,50,50,50,50,50,,,180,50,50,50,177,177,177,177,50',
558
- '50,50,50,,,,,,,,181,181,177,177,177,177,177,177,177,177,177,,177,177',
559
- '177,177,177,177,177,177,177,177,181,,,,,,,177,,,177,,,,,,177,177,177',
560
- '177,177,177,177,224,,224,177,177,177,176,176,176,176,177,177,177,177',
561
- ',,,,,,,,,176,176,176,176,176,176,176,176,176,,176,176,176,176,176,176',
562
- '176,176,176,176,,224,224,,,,,176,,,176,,,,,,176,176,176,176,176,176',
563
- '176,224,,,176,176,176,207,207,207,207,176,176,176,176,,,,,,,,,,207,207',
564
- '207,207,207,207,207,207,207,,207,207,207,207,207,207,207,207,207,207',
565
- '125,,125,178,77,178,182,77,182,77,,,,,,,207,207,207,207,207,207,207',
566
- ',,,207,207,207,77,,,,207,207,207,207,,,,77,,,,125,125,,178,178,,182',
567
- '182,266,,266,,266,,266,,,266,266,266,,,125,,,178,,,182,,281,,281,,281',
568
- ',281,,266,281,281,281,,,,,,266,266,,,266,325,,325,,325,,325,,281,325',
569
- '325,325,,,,266,,281,281,,,281,274,,274,,274,,274,,325,274,274,274,,',
570
- ',281,,325,325,,,325,,,,,,,,,274,,,,,,,325,,274,274,,156,274,,,,,,,,',
571
- '156,156,156,,156,,156,274,156,,156,156,156,156,156,156,156,156,156,156',
572
- '156,156,156,156,,,26,,,,,156,,,,156,26,26,26,,26,,26,,26,,26,26,26,26',
573
- '26,26,26,26,26,26,26,26,26,26,,,40,,,,,26,,,,26,40,40,40,,40,,40,,40',
574
- ',40,40,40,40,40,40,40,40,40,40,40,40,40,40,,,41,,,,,40,,,,40,41,41,41',
575
- ',41,,41,,41,,41,41,41,41,41,41,41,41,41,41,41,41,41,41,,,43,,,,,41,',
576
- ',,41,43,43,43,,43,,43,,43,,43,43,43,43,43,43,43,43,43,43,43,43,43,43',
577
- ',,88,,,,,43,,,,43,88,88,88,,88,,88,,88,,88,88,88,88,88,88,88,88,88,88',
578
- '88,88,88,88,,,25,,,,,88,,,,88,25,25,25,,25,,25,25,25,,25,25,25,25,25',
579
- '25,25,25,25,25,25,25,25,25,,,235,,,,,25,,,,25,235,235,235,,235,,235',
580
- ',235,,235,235,235,235,235,235,235,235,235,235,235,235,235,235,,,268',
581
- ',,,,235,,,,235,268,268,268,,268,,268,,268,,268,268,268,268,268,268,268',
582
- '268,268,268,268,268,268,268,,,140,,,,,268,,,,268,140,140,140,,140,,140',
583
- ',140,,140,140,140,140,140,140,140,140,140,140,140,140,140,140,,,141',
584
- ',,,,140,,,,140,141,141,141,,141,,141,,141,,141,141,141,141,141,141,141',
585
- '141,141,141,141,141,141,141,,,142,,,,,141,,,,141,142,142,142,,142,,142',
586
- ',142,,142,142,142,142,142,142,142,142,142,142,142,142,142,142,,,234',
587
- ',,,,142,,,,142,234,234,234,,234,,234,,234,,234,234,234,234,234,234,234',
588
- '234,234,234,234,234,234,234,,,146,,,,,234,,,,234,146,146,146,,146,,146',
589
- ',146,,146,146,146,146,146,146,146,146,146,146,146,146,146,146,,,147',
590
- ',,,,146,,,,146,147,147,147,,147,,147,,147,,147,147,147,147,147,147,147',
591
- '147,147,147,147,147,147,147,,,57,,,,,147,,,,147,57,57,57,,57,,57,,57',
592
- ',57,57,57,57,57,57,57,57,57,57,57,57,57,57,,,309,,,,,57,,,,57,309,309',
593
- '309,,309,,309,,309,,309,309,309,309,309,309,309,309,309,309,309,309',
594
- '309,309,,,321,,,,,309,,,,309,321,321,321,,321,,321,,321,,321,321,321',
595
- '321,321,321,321,321,321,321,321,321,321,321,,,322,,,,,321,,,,321,322',
596
- '322,322,,322,,322,,322,,322,322,322,322,322,322,322,322,322,322,322',
597
- '322,322,322,,,148,,,,,322,,,,322,148,148,148,,148,,148,,148,,148,148',
598
- '148,148,148,148,148,148,148,148,148,148,148,148,,,327,,,,,148,,,,148',
599
- '327,327,327,,327,,327,,327,,327,327,327,327,327,327,327,327,327,327',
600
- '327,327,327,327,,,201,,,,,327,,,,327,201,201,201,,201,,201,,201,,201',
601
- '201,201,201,201,201,201,201,201,201,201,201,201,201,,,2,,,,,201,,,,201',
602
- '2,2,2,,2,,2,,2,,2,2,2,2,2,2,2,2,2,2,2,2,2,2,,,345,,,,,2,,,,2,345,345',
603
- '345,,345,,345,,345,,345,345,345,345,345,345,345,345,345,345,345,345',
604
- '345,345,,,347,,,,,345,,,,345,347,347,347,,347,,347,,347,,347,347,347',
605
- '347,347,347,347,347,347,347,347,347,347,347,,,157,,,,,347,,,,347,157',
606
- '157,157,,157,,157,,157,,157,157,157,157,157,157,157,157,157,157,157',
607
- '157,157,157,,,159,,,,,157,,,,157,159,159,159,,159,,159,,159,,159,159',
608
- '159,159,159,159,159,159,159,159,159,159,159,159,,,51,,,,,159,,,,159',
609
- '51,51,51,,51,,51,,51,,51,51,51,51,51,51,51,51,51,51,51,51,51,51,,,371',
610
- ',,,,51,,,,51,371,371,371,,371,,371,,371,,371,371,371,371,371,371,371',
611
- '371,371,371,371,371,371,371,,,372,,,,,371,,,,371,372,372,372,,372,,372',
612
- ',372,,372,372,372,372,372,372,372,372,372,372,372,372,372,372,,,373',
613
- ',,,,372,,,,372,373,373,373,,373,,373,,373,,373,373,373,373,373,373,373',
614
- '373,373,373,373,373,373,373,,,377,,,,,373,,,,373,377,377,377,,377,,377',
615
- ',377,,377,377,377,377,377,377,377,377,377,377,377,377,377,377,,,378',
616
- ',,,,377,,,,377,378,378,378,,378,,378,,378,,378,378,378,378,378,378,378',
617
- '378,378,378,378,378,378,378,,,381,,,,,378,,,,378,381,381,381,,381,,381',
618
- ',381,,381,381,381,381,381,381,381,381,381,381,381,381,381,381,,,382',
619
- ',,,,381,,,,381,382,382,382,,382,,382,,382,,382,382,382,382,382,382,382',
620
- '382,382,382,382,382,382,382,,,179,,,,,382,,,,382,179,179,179,,179,,179',
621
- ',179,,179,179,179,179,179,179,179,179,179,179,179,179,179,179,283,,',
622
- '283,,283,,179,283,,,179,,,,,,,,,,,,,,283,,283,283,283,283,283,,,,283',
623
- '283' ]
624
- racc_action_check = arr = ::Array.new(2819, nil)
560
+ '175,175,175,175,175,175,,,,175,175,175,,,,,175,175,175,175,241,,,241',
561
+ '241,241,241,,,,241,241,241,,241,241,241,,241,,241,241,241,241,241,241',
562
+ '241,241,241,241,241,241,241,241,241,241,241,241,241,241,125,241,125',
563
+ ',,241,,241,,,241,,,,,,241,241,241,241,241,241,241,178,,178,241,241,241',
564
+ '176,176,176,176,241,241,241,241,,,,,,,,125,125,176,176,176,176,176,176',
565
+ '176,176,176,,176,176,176,176,176,176,176,176,176,176,125,178,178,,,',
566
+ ',176,,,176,,,,,,176,176,176,176,176,176,176,178,,,176,176,176,177,177',
567
+ '177,177,176,176,176,176,,,,,,,,,,177,177,177,177,177,177,177,177,177',
568
+ ',177,177,177,177,177,177,177,177,177,177,180,,180,,,,,177,,,177,,,,',
569
+ ',177,177,177,177,177,177,177,181,,181,177,177,177,207,207,207,207,177',
570
+ '177,177,177,,,,,,,,180,180,207,207,207,207,207,207,207,207,207,,207',
571
+ '207,207,207,207,207,207,207,207,207,180,181,181,182,77,182,224,77,224',
572
+ '77,,,,,,,207,207,207,207,207,207,207,181,,,207,207,207,77,,,,207,207',
573
+ '207,207,,,,77,,,,,,,182,182,,224,224,266,,266,,266,,266,,,266,266,266',
574
+ '274,,274,,274,182,274,,224,274,274,274,,,,281,,281,266,281,,281,,,281',
575
+ '281,281,266,266,,274,266,,,,,,,,274,274,,325,274,325,281,325,266,325',
576
+ ',,325,325,325,281,281,,,281,274,,,,,,,,,,,,,325,,281,,,,,,,325,325,',
577
+ '2,325,,,,,,,,,2,2,2,,2,,2,325,2,,2,2,2,2,2,2,2,2,2,2,2,2,2,2,,,25,,',
578
+ ',,2,,,,2,25,25,25,,25,,25,25,25,,25,25,25,25,25,25,25,25,25,25,25,25',
579
+ '25,25,,,26,,,,,25,,,,25,26,26,26,,26,,26,,26,,26,26,26,26,26,26,26,26',
580
+ '26,26,26,26,26,26,,,40,,,,,26,,,,26,40,40,40,,40,,40,,40,,40,40,40,40',
581
+ '40,40,40,40,40,40,40,40,40,40,,,41,,,,,40,,,,40,41,41,41,,41,,41,,41',
582
+ ',41,41,41,41,41,41,41,41,41,41,41,41,41,41,,,43,,,,,41,,,,41,43,43,43',
583
+ ',43,,43,,43,,43,43,43,43,43,43,43,43,43,43,43,43,43,43,,,51,,,,,43,',
584
+ ',,43,51,51,51,,51,,51,,51,,51,51,51,51,51,51,51,51,51,51,51,51,51,51',
585
+ ',,57,,,,,51,,,,51,57,57,57,,57,,57,,57,,57,57,57,57,57,57,57,57,57,57',
586
+ '57,57,57,57,,,88,,,,,57,,,,57,88,88,88,,88,,88,,88,,88,88,88,88,88,88',
587
+ '88,88,88,88,88,88,88,88,,,140,,,,,88,,,,88,140,140,140,,140,,140,,140',
588
+ ',140,140,140,140,140,140,140,140,140,140,140,140,140,140,,,141,,,,,140',
589
+ ',,,140,141,141,141,,141,,141,,141,,141,141,141,141,141,141,141,141,141',
590
+ '141,141,141,141,141,,,142,,,,,141,,,,141,142,142,142,,142,,142,,142',
591
+ ',142,142,142,142,142,142,142,142,142,142,142,142,142,142,,,146,,,,,142',
592
+ ',,,142,146,146,146,,146,,146,,146,,146,146,146,146,146,146,146,146,146',
593
+ '146,146,146,146,146,,,147,,,,,146,,,,146,147,147,147,,147,,147,,147',
594
+ ',147,147,147,147,147,147,147,147,147,147,147,147,147,147,,,148,,,,,147',
595
+ ',,,147,148,148,148,,148,,148,,148,,148,148,148,148,148,148,148,148,148',
596
+ '148,148,148,148,148,,,156,,,,,148,,,,148,156,156,156,,156,,156,,156',
597
+ ',156,156,156,156,156,156,156,156,156,156,156,156,156,156,,,157,,,,,156',
598
+ ',,,156,157,157,157,,157,,157,,157,,157,157,157,157,157,157,157,157,157',
599
+ '157,157,157,157,157,,,159,,,,,157,,,,157,159,159,159,,159,,159,,159',
600
+ ',159,159,159,159,159,159,159,159,159,159,159,159,159,159,,,179,,,,,159',
601
+ ',,,159,179,179,179,,179,,179,,179,,179,179,179,179,179,179,179,179,179',
602
+ '179,179,179,179,179,,,201,,,,,179,,,,179,201,201,201,,201,,201,,201',
603
+ ',201,201,201,201,201,201,201,201,201,201,201,201,201,201,,,234,,,,,201',
604
+ ',,,201,234,234,234,,234,,234,,234,,234,234,234,234,234,234,234,234,234',
605
+ '234,234,234,234,234,,,235,,,,,234,,,,234,235,235,235,,235,,235,,235',
606
+ ',235,235,235,235,235,235,235,235,235,235,235,235,235,235,,,268,,,,,235',
607
+ ',,,235,268,268,268,,268,,268,,268,,268,268,268,268,268,268,268,268,268',
608
+ '268,268,268,268,268,,,309,,,,,268,,,,268,309,309,309,,309,,309,,309',
609
+ ',309,309,309,309,309,309,309,309,309,309,309,309,309,309,,,321,,,,,309',
610
+ ',,,309,321,321,321,,321,,321,,321,,321,321,321,321,321,321,321,321,321',
611
+ '321,321,321,321,321,,,322,,,,,321,,,,321,322,322,322,,322,,322,,322',
612
+ ',322,322,322,322,322,322,322,322,322,322,322,322,322,322,,,327,,,,,322',
613
+ ',,,322,327,327,327,,327,,327,,327,,327,327,327,327,327,327,327,327,327',
614
+ '327,327,327,327,327,,,345,,,,,327,,,,327,345,345,345,,345,,345,,345',
615
+ ',345,345,345,345,345,345,345,345,345,345,345,345,345,345,,,347,,,,,345',
616
+ ',,,345,347,347,347,,347,,347,,347,,347,347,347,347,347,347,347,347,347',
617
+ '347,347,347,347,347,,,371,,,,,347,,,,347,371,371,371,,371,,371,,371',
618
+ ',371,371,371,371,371,371,371,371,371,371,371,371,371,371,,,372,,,,,371',
619
+ ',,,371,372,372,372,,372,,372,,372,,372,372,372,372,372,372,372,372,372',
620
+ '372,372,372,372,372,,,373,,,,,372,,,,372,373,373,373,,373,,373,,373',
621
+ ',373,373,373,373,373,373,373,373,373,373,373,373,373,373,,,377,,,,,373',
622
+ ',,,373,377,377,377,,377,,377,,377,,377,377,377,377,377,377,377,377,377',
623
+ '377,377,377,377,377,,,378,,,,,377,,,,377,378,378,378,,378,,378,,378',
624
+ ',378,378,378,378,378,378,378,378,378,378,378,378,378,378,,,381,,,,,378',
625
+ ',,,378,381,381,381,,381,,381,,381,,381,381,381,381,381,381,381,381,381',
626
+ '381,381,381,381,381,,,382,,,,,381,,,,381,382,382,382,,382,,382,,382',
627
+ ',382,382,382,382,382,382,382,382,382,382,382,382,382,382,283,,,283,',
628
+ '283,,382,283,,,382,,,,,,,,,,,,,,283,,283,283,283,283,283,,,,283,283' ]
629
+ racc_action_check = arr = ::Array.new(2779, nil)
625
630
  idx = 0
626
631
  clist.each do |str|
627
632
  str.split(',', -1).each do |i|
@@ -631,47 +636,47 @@ clist = [
631
636
  end
632
637
 
633
638
  racc_action_pointer = [
634
- -54, 6, 2276, nil, nil, 11, 116, -35, nil, nil,
639
+ 96, 4, 1444, nil, nil, 9, 51, -35, nil, nil,
635
640
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
636
- nil, nil, nil, nil, 70, 1700, 1520, 105, -6, nil,
637
- 302, 236, 154, nil, 1033, 85, 147, nil, nil, nil,
638
- 1556, 1592, nil, 1628, 411, nil, 53, 151, 89, nil,
639
- 1086, 2456, 182, 178, 176, 178, 185, 2024, nil, nil,
641
+ nil, nil, nil, nil, 51, 1480, 1516, 56, -1, nil,
642
+ 302, 351, 79, nil, 237, 12, 80, nil, nil, nil,
643
+ 1552, 1588, nil, 1624, -27, nil, 131, 131, -2, nil,
644
+ 596, 1660, 100, 114, 147, 152, 185, 1696, nil, nil,
640
645
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
641
- nil, nil, nil, nil, nil, nil, 232, 1297, 216, 158,
642
- 229, nil, 284, 306, 273, nil, 200, nil, 1664, nil,
643
- 312, 342, 337, 339, 356, 366, 379, 408, 416, 417,
644
- 418, 419, 420, 448, nil, nil, nil, nil, nil, nil,
645
- nil, nil, nil, nil, nil, nil, nil, 423, nil, nil,
646
- nil, nil, nil, nil, nil, 1325, nil, 424, 450, 424,
647
- nil, 425, nil, 435, nil, nil, 446, 447, nil, 681,
648
- 1808, 1844, 1880, 443, nil, 381, 1952, 1988, 2168, 202,
649
- nil, nil, nil, nil, nil, 117, 1484, 2384, nil, 2420,
650
- 49, 912, 52, nil, nil, 324, nil, nil, nil, nil,
651
- nil, nil, 448, 989, 604, 835, 1218, 1152, 1328, 2744,
652
- 1086, 1127, 1331, nil, 295, 301, 306, 88, 77, 87,
653
- 52, 443, 345, 351, 374, 453, 78, 482, 486, nil,
654
- 504, 2240, nil, nil, nil, 475, nil, 1284, nil, nil,
646
+ nil, nil, nil, nil, nil, nil, 229, 1269, 205, 166,
647
+ 216, nil, 267, 300, 260, nil, 154, nil, 1732, nil,
648
+ 295, 319, 287, 300, 311, 329, 335, 348, 358, 371,
649
+ 408, 410, 437, 476, nil, nil, nil, nil, nil, nil,
650
+ nil, nil, nil, nil, nil, nil, nil, 459, nil, nil,
651
+ nil, nil, nil, nil, nil, 1099, nil, 460, 486, 460,
652
+ nil, 477, nil, 483, nil, nil, 484, 485, nil, 673,
653
+ 1768, 1804, 1840, 481, nil, 373, 1876, 1912, 1948, 164,
654
+ nil, nil, nil, nil, nil, 8, 1984, 2020, nil, 2056,
655
+ 22, 750, 155, nil, nil, 230, nil, nil, nil, nil,
656
+ nil, nil, 483, 827, 904, 981, 1124, 1190, 1122, 2092,
657
+ 1231, 1254, 1300, nil, 236, 272, 295, 9, 10, 87,
658
+ 27, 478, 301, 337, 343, 485, 78, 515, 519, nil,
659
+ 537, 2128, nil, nil, nil, 494, nil, 1256, nil, nil,
655
660
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
656
- nil, nil, nil, nil, 1216, nil, nil, nil, 502, 503,
657
- 504, 10, 511, 528, 1916, 1736, 515, 109, nil, nil,
658
- 488, 758, nil, 522, 482, 463, 499, 499, nil, 526,
659
- nil, nil, 156, 496, nil, 525, nil, 240, nil, 3,
660
- 160, nil, 11, nil, nil, 9, 1378, 4, 1772, -8,
661
- nil, 530, nil, nil, 1444, 530, nil, 481, 569, nil,
662
- nil, 1400, 526, 2747, nil, nil, nil, nil, nil, nil,
663
- nil, nil, nil, nil, nil, nil, 529, 533, 521, nil,
664
- 147, nil, nil, nil, nil, nil, 109, nil, nil, 2060,
665
- nil, nil, nil, 527, 77, 377, 38, -2, 27, -62,
666
- 148, 2096, 2132, 571, nil, 1422, 89, 2204, 565, nil,
667
- nil, nil, nil, nil, nil, nil, nil, 381, nil, nil,
668
- nil, nil, nil, nil, nil, 2312, 566, 2348, 567, 580,
669
- 581, 582, nil, 564, nil, 552, 448, 380, 326, 566,
670
- nil, nil, 308, 571, -2, nil, nil, 272, 572, 266,
671
- 573, 2492, 2528, 2564, 252, -2, nil, 2600, 2636, nil,
672
- 602, 2672, 2708, 148, 202, 201, 227, 568, 570, 616,
673
- 387, 224, nil, 230, 235, nil, nil, nil, 592, nil,
674
- 607, nil, nil, 595, nil, 607, nil, nil, 298, -54,
661
+ nil, nil, nil, nil, 1303, nil, nil, nil, 521, 522,
662
+ 532, 44, 543, 559, 2164, 2200, 542, 117, nil, nil,
663
+ 518, 1058, nil, 552, 515, 496, 532, 531, nil, 572,
664
+ nil, nil, 366, 542, nil, 571, nil, 417, nil, 52,
665
+ 168, nil, 347, nil, nil, 77, 1350, 88, 2236, 29,
666
+ nil, 576, nil, nil, 1362, 581, nil, 523, 605, nil,
667
+ nil, 1377, 562, 2707, nil, nil, nil, nil, nil, nil,
668
+ nil, nil, nil, nil, nil, nil, 565, 569, 560, nil,
669
+ 185, nil, nil, nil, nil, nil, 110, nil, nil, 2272,
670
+ nil, nil, nil, -2, 77, 156, 89, 106, 117, -62,
671
+ 227, 2308, 2344, 608, nil, 1404, 192, 2380, 622, nil,
672
+ nil, nil, nil, nil, nil, nil, nil, 375, nil, nil,
673
+ nil, nil, nil, nil, nil, 2416, 624, 2452, 625, 624,
674
+ 626, 628, nil, 612, nil, 595, 298, 395, 397, 609,
675
+ nil, nil, 412, 610, 0, nil, nil, 414, 611, 416,
676
+ 619, 2488, 2524, 2560, 434, 369, nil, 2596, 2632, nil,
677
+ 645, 2668, 2704, 225, 226, 227, 448, 608, 612, 638,
678
+ 421, 423, nil, 445, 451, nil, nil, nil, 613, nil,
679
+ 628, nil, nil, 621, nil, 632, nil, nil, 519, 626,
675
680
  nil, nil ]
676
681
 
677
682
  racc_action_default = [
@@ -720,18 +725,18 @@ racc_action_default = [
720
725
 
721
726
  racc_goto_table = [
722
727
  6, 57, 77, 46, 82, 191, 49, 128, 79, 90,
723
- 143, 52, 167, 247, 179, 203, 62, 206, 344, 344,
724
- 344, 86, 91, 38, 47, 344, 261, 328, 346, 348,
725
- 205, 205, 266, 34, 356, 404, 363, 35, 84, 85,
728
+ 143, 52, 167, 247, 179, 203, 1, 206, 328, 346,
729
+ 348, 86, 91, 38, 47, 356, 261, 344, 344, 344,
730
+ 205, 205, 266, 34, 344, 404, 363, 35, 84, 85,
726
731
  221, 222, 68, 274, 150, 271, 411, 282, 125, 281,
727
732
  258, 67, 81, 264, 368, 149, 370, 299, 310, 244,
728
- 246, 344, 250, 303, 304, 223, 305, 225, 226, 227,
729
- 376, 187, 188, 189, 190, 232, 269, 302, 353, 386,
730
- 344, 249, 179, 256, 398, 160, 165, 195, 260, 389,
731
- 278, 344, 325, 162, 204, 1, nil, 205, nil, nil,
732
- 400, nil, nil, nil, nil, nil, nil, nil, nil, nil,
733
- nil, 242, nil, 344, nil, 249, 57, 249, 198, nil,
734
- nil, nil, 410, nil, nil, nil, 183, nil, nil, nil,
733
+ 246, 376, 250, 303, 304, 223, 305, 225, 226, 227,
734
+ 344, 187, 188, 189, 190, 232, 269, 302, 353, 386,
735
+ 389, 249, 179, 256, 398, 160, 165, 195, 260, 344,
736
+ 278, 400, 325, 162, 204, 62, nil, 205, nil, nil,
737
+ 344, nil, nil, nil, nil, nil, nil, nil, nil, nil,
738
+ nil, 242, nil, 410, nil, 249, 57, 249, 198, nil,
739
+ nil, nil, 344, nil, nil, nil, 183, nil, nil, nil,
735
740
  202, nil, nil, nil, nil, nil, nil, 178, 180, 181,
736
741
  182, nil, nil, nil, 184, 185, 186, nil, 228, 229,
737
742
  230, nil, nil, nil, 192, 193, nil, 194, nil, 125,
@@ -761,18 +766,18 @@ racc_goto_table = [
761
766
 
762
767
  racc_goto_check = [
763
768
  2, 36, 16, 23, 18, 27, 51, 50, 59, 17,
764
- 49, 61, 74, 25, 63, 69, 75, 69, 53, 53,
765
- 53, 23, 59, 3, 2, 53, 55, 37, 37, 37,
766
- 64, 64, 20, 4, 37, 46, 38, 5, 2, 2,
769
+ 49, 61, 74, 25, 63, 69, 1, 69, 37, 37,
770
+ 37, 23, 59, 3, 2, 37, 55, 53, 53, 53,
771
+ 64, 64, 20, 4, 53, 46, 38, 5, 2, 2,
767
772
  70, 70, 6, 20, 16, 19, 46, 25, 2, 20,
768
773
  22, 3, 3, 24, 38, 2, 38, 26, 55, 21,
769
- 21, 53, 21, 29, 30, 74, 35, 74, 74, 74,
770
- 37, 14, 14, 14, 14, 39, 40, 41, 42, 44,
771
- 53, 27, 63, 69, 45, 47, 2, 48, 54, 37,
772
- 57, 53, 20, 58, 65, 1, nil, 64, nil, nil,
773
- 37, nil, nil, nil, nil, nil, nil, nil, nil, nil,
774
- nil, 74, nil, 53, nil, 27, 36, 27, 50, nil,
775
- nil, nil, 37, nil, nil, nil, 61, nil, nil, nil,
774
+ 21, 37, 21, 29, 30, 74, 35, 74, 74, 74,
775
+ 53, 14, 14, 14, 14, 39, 40, 41, 42, 44,
776
+ 37, 27, 63, 69, 45, 47, 2, 48, 54, 53,
777
+ 57, 37, 20, 58, 65, 75, nil, 64, nil, nil,
778
+ 53, nil, nil, nil, nil, nil, nil, nil, nil, nil,
779
+ nil, 74, nil, 37, nil, 27, 36, 27, 50, nil,
780
+ nil, nil, 53, nil, nil, nil, 61, nil, nil, nil,
776
781
  50, nil, nil, nil, nil, nil, nil, 2, 2, 2,
777
782
  2, nil, nil, nil, 2, 2, 2, nil, 17, 17,
778
783
  17, nil, nil, nil, 2, 2, nil, 2, nil, 2,
@@ -801,14 +806,14 @@ racc_goto_check = [
801
806
  2 ]
802
807
 
803
808
  racc_goto_pointer = [
804
- nil, 95, -2, 17, 30, 33, 8, nil, nil, nil,
809
+ nil, 16, -2, 17, 30, 33, 8, nil, nil, nil,
805
810
  nil, nil, nil, nil, -80, nil, -32, -39, -32, -212,
806
811
  -215, -170, -194, -22, -193, -218, -210, -150, nil, -206,
807
- -205, nil, nil, nil, nil, -203, -29, -286, -292, -115,
812
+ -205, nil, nil, nil, nil, -203, -29, -295, -292, -115,
808
813
  -174, -192, -241, nil, -295, -302, -363, 3, -73, -41,
809
- -43, -22, nil, -295, -157, -219, nil, -172, 10, -26,
814
+ -43, -22, nil, -286, -157, -219, nil, -172, 10, -26,
810
815
  nil, -19, nil, -125, -144, -80, nil, nil, nil, -158,
811
- -136, nil, nil, nil, -113, -15 ]
816
+ -136, nil, nil, nil, -113, 64 ]
812
817
 
813
818
  racc_goto_default = [
814
819
  nil, nil, 44, nil, nil, 405, 295, 69, 70, 71,
@@ -2067,7 +2072,9 @@ module_eval(<<'.,.,', 'parser.y', 472)
2067
2072
 
2068
2073
  module_eval(<<'.,.,', 'parser.y', 477)
2069
2074
  def _reduce_81(val, _values, result)
2070
- location = (val[1] || val[2] || val[3] || val[4]).location + val[5].location
2075
+ reset_variable_scope
2076
+
2077
+ location = (val[1] || val[2] || val[3] || val[4]).location + val[5].location
2071
2078
  type_params = val[1]&.value || []
2072
2079
 
2073
2080
  params = val[2]&.value || empty_params_result
@@ -2094,14 +2101,14 @@ module_eval(<<'.,.,', 'parser.y', 477)
2094
2101
  end
2095
2102
  .,.,
2096
2103
 
2097
- module_eval(<<'.,.,', 'parser.y', 502)
2104
+ module_eval(<<'.,.,', 'parser.y', 504)
2098
2105
  def _reduce_82(val, _values, result)
2099
2106
  result = nil
2100
2107
  result
2101
2108
  end
2102
2109
  .,.,
2103
2110
 
2104
- module_eval(<<'.,.,', 'parser.y', 504)
2111
+ module_eval(<<'.,.,', 'parser.y', 506)
2105
2112
  def _reduce_83(val, _values, result)
2106
2113
  result = LocatedValue.new(value: val[1], location: val[0].location + val[2].location)
2107
2114
 
@@ -2109,14 +2116,14 @@ module_eval(<<'.,.,', 'parser.y', 504)
2109
2116
  end
2110
2117
  .,.,
2111
2118
 
2112
- module_eval(<<'.,.,', 'parser.y', 508)
2119
+ module_eval(<<'.,.,', 'parser.y', 510)
2113
2120
  def _reduce_84(val, _values, result)
2114
2121
  result = nil
2115
2122
  result
2116
2123
  end
2117
2124
  .,.,
2118
2125
 
2119
- module_eval(<<'.,.,', 'parser.y', 510)
2126
+ module_eval(<<'.,.,', 'parser.y', 512)
2120
2127
  def _reduce_85(val, _values, result)
2121
2128
  block = MethodType::Block.new(type: val[1].value, required: true)
2122
2129
  result = LocatedValue.new(value: block, location: val[0].location + val[2].location)
@@ -2125,7 +2132,7 @@ module_eval(<<'.,.,', 'parser.y', 510)
2125
2132
  end
2126
2133
  .,.,
2127
2134
 
2128
- module_eval(<<'.,.,', 'parser.y', 514)
2135
+ module_eval(<<'.,.,', 'parser.y', 516)
2129
2136
  def _reduce_86(val, _values, result)
2130
2137
  block = MethodType::Block.new(type: val[2].value, required: false)
2131
2138
  result = LocatedValue.new(value: block, location: val[0].location + val[3].location)
@@ -2136,7 +2143,7 @@ module_eval(<<'.,.,', 'parser.y', 514)
2136
2143
 
2137
2144
  # reduce 87 omitted
2138
2145
 
2139
- module_eval(<<'.,.,', 'parser.y', 521)
2146
+ module_eval(<<'.,.,', 'parser.y', 523)
2140
2147
  def _reduce_88(val, _values, result)
2141
2148
  result = LocatedValue.new(value: val[0].value.to_sym,
2142
2149
  location: val[0].location + val[1].location)
@@ -2163,7 +2170,7 @@ module_eval(<<'.,.,', 'parser.y', 521)
2163
2170
 
2164
2171
  # reduce 97 omitted
2165
2172
 
2166
- module_eval(<<'.,.,', 'parser.y', 530)
2173
+ module_eval(<<'.,.,', 'parser.y', 532)
2167
2174
  def _reduce_98(val, _values, result)
2168
2175
  unless val[0].location.pred?(val[1].location)
2169
2176
  raise SyntaxError.new(token_str: "kQUESTION", error_value: val[1])
@@ -2176,7 +2183,7 @@ module_eval(<<'.,.,', 'parser.y', 530)
2176
2183
  end
2177
2184
  .,.,
2178
2185
 
2179
- module_eval(<<'.,.,', 'parser.y', 538)
2186
+ module_eval(<<'.,.,', 'parser.y', 540)
2180
2187
  def _reduce_99(val, _values, result)
2181
2188
  unless val[0].location.pred?(val[1].location)
2182
2189
  raise SyntaxError.new(token_str: "kEXCLAMATION", error_value: val[1])
@@ -2269,14 +2276,14 @@ module_eval(<<'.,.,', 'parser.y', 538)
2269
2276
 
2270
2277
  # reduce 139 omitted
2271
2278
 
2272
- module_eval(<<'.,.,', 'parser.y', 558)
2279
+ module_eval(<<'.,.,', 'parser.y', 560)
2273
2280
  def _reduce_140(val, _values, result)
2274
2281
  result = nil
2275
2282
  result
2276
2283
  end
2277
2284
  .,.,
2278
2285
 
2279
- module_eval(<<'.,.,', 'parser.y', 560)
2286
+ module_eval(<<'.,.,', 'parser.y', 562)
2280
2287
  def _reduce_141(val, _values, result)
2281
2288
  val[1].each {|p| insert_bound_variable(p.name) }
2282
2289
 
@@ -2286,7 +2293,7 @@ module_eval(<<'.,.,', 'parser.y', 560)
2286
2293
  end
2287
2294
  .,.,
2288
2295
 
2289
- module_eval(<<'.,.,', 'parser.y', 567)
2296
+ module_eval(<<'.,.,', 'parser.y', 569)
2290
2297
  def _reduce_142(val, _values, result)
2291
2298
  result = Declarations::ModuleTypeParams.new()
2292
2299
  result.add(val[0])
@@ -2295,7 +2302,7 @@ module_eval(<<'.,.,', 'parser.y', 567)
2295
2302
  end
2296
2303
  .,.,
2297
2304
 
2298
- module_eval(<<'.,.,', 'parser.y', 571)
2305
+ module_eval(<<'.,.,', 'parser.y', 573)
2299
2306
  def _reduce_143(val, _values, result)
2300
2307
  result = val[0].add(val[2])
2301
2308
 
@@ -2303,7 +2310,7 @@ module_eval(<<'.,.,', 'parser.y', 571)
2303
2310
  end
2304
2311
  .,.,
2305
2312
 
2306
- module_eval(<<'.,.,', 'parser.y', 576)
2313
+ module_eval(<<'.,.,', 'parser.y', 578)
2307
2314
  def _reduce_144(val, _values, result)
2308
2315
  result = Declarations::ModuleTypeParams::TypeParam.new(name: val[2].value.to_sym,
2309
2316
  variance: val[1],
@@ -2313,49 +2320,49 @@ module_eval(<<'.,.,', 'parser.y', 576)
2313
2320
  end
2314
2321
  .,.,
2315
2322
 
2316
- module_eval(<<'.,.,', 'parser.y', 582)
2323
+ module_eval(<<'.,.,', 'parser.y', 584)
2317
2324
  def _reduce_145(val, _values, result)
2318
2325
  result = :invariant
2319
2326
  result
2320
2327
  end
2321
2328
  .,.,
2322
2329
 
2323
- module_eval(<<'.,.,', 'parser.y', 583)
2330
+ module_eval(<<'.,.,', 'parser.y', 585)
2324
2331
  def _reduce_146(val, _values, result)
2325
2332
  result = :covariant
2326
2333
  result
2327
2334
  end
2328
2335
  .,.,
2329
2336
 
2330
- module_eval(<<'.,.,', 'parser.y', 584)
2337
+ module_eval(<<'.,.,', 'parser.y', 586)
2331
2338
  def _reduce_147(val, _values, result)
2332
2339
  result = :contravariant
2333
2340
  result
2334
2341
  end
2335
2342
  .,.,
2336
2343
 
2337
- module_eval(<<'.,.,', 'parser.y', 587)
2344
+ module_eval(<<'.,.,', 'parser.y', 589)
2338
2345
  def _reduce_148(val, _values, result)
2339
2346
  result = false
2340
2347
  result
2341
2348
  end
2342
2349
  .,.,
2343
2350
 
2344
- module_eval(<<'.,.,', 'parser.y', 588)
2351
+ module_eval(<<'.,.,', 'parser.y', 590)
2345
2352
  def _reduce_149(val, _values, result)
2346
2353
  result = true
2347
2354
  result
2348
2355
  end
2349
2356
  .,.,
2350
2357
 
2351
- module_eval(<<'.,.,', 'parser.y', 591)
2358
+ module_eval(<<'.,.,', 'parser.y', 593)
2352
2359
  def _reduce_150(val, _values, result)
2353
2360
  result = nil
2354
2361
  result
2355
2362
  end
2356
2363
  .,.,
2357
2364
 
2358
- module_eval(<<'.,.,', 'parser.y', 593)
2365
+ module_eval(<<'.,.,', 'parser.y', 595)
2359
2366
  def _reduce_151(val, _values, result)
2360
2367
  val[1].each {|var| insert_bound_variable(var) }
2361
2368
 
@@ -2366,7 +2373,7 @@ module_eval(<<'.,.,', 'parser.y', 593)
2366
2373
  end
2367
2374
  .,.,
2368
2375
 
2369
- module_eval(<<'.,.,', 'parser.y', 601)
2376
+ module_eval(<<'.,.,', 'parser.y', 603)
2370
2377
  def _reduce_152(val, _values, result)
2371
2378
  result = [val[0].value.to_sym]
2372
2379
 
@@ -2374,7 +2381,7 @@ module_eval(<<'.,.,', 'parser.y', 601)
2374
2381
  end
2375
2382
  .,.,
2376
2383
 
2377
- module_eval(<<'.,.,', 'parser.y', 604)
2384
+ module_eval(<<'.,.,', 'parser.y', 606)
2378
2385
  def _reduce_153(val, _values, result)
2379
2386
  result = val[0].push(val[2].value.to_sym)
2380
2387
 
@@ -2382,7 +2389,7 @@ module_eval(<<'.,.,', 'parser.y', 604)
2382
2389
  end
2383
2390
  .,.,
2384
2391
 
2385
- module_eval(<<'.,.,', 'parser.y', 609)
2392
+ module_eval(<<'.,.,', 'parser.y', 611)
2386
2393
  def _reduce_154(val, _values, result)
2387
2394
  location = val[1].location + val[3].location
2388
2395
  result = Members::Alias.new(
@@ -2398,7 +2405,7 @@ module_eval(<<'.,.,', 'parser.y', 609)
2398
2405
  end
2399
2406
  .,.,
2400
2407
 
2401
- module_eval(<<'.,.,', 'parser.y', 620)
2408
+ module_eval(<<'.,.,', 'parser.y', 622)
2402
2409
  def _reduce_155(val, _values, result)
2403
2410
  location = val[1].location + val[7].location
2404
2411
  result = Members::Alias.new(
@@ -2414,7 +2421,7 @@ module_eval(<<'.,.,', 'parser.y', 620)
2414
2421
  end
2415
2422
  .,.,
2416
2423
 
2417
- module_eval(<<'.,.,', 'parser.y', 633)
2424
+ module_eval(<<'.,.,', 'parser.y', 635)
2418
2425
  def _reduce_156(val, _values, result)
2419
2426
  location = val[1].location + val[4].location
2420
2427
  result = Declarations::Alias.new(name: val[2].value,
@@ -2427,7 +2434,7 @@ module_eval(<<'.,.,', 'parser.y', 633)
2427
2434
  end
2428
2435
  .,.,
2429
2436
 
2430
- module_eval(<<'.,.,', 'parser.y', 643)
2437
+ module_eval(<<'.,.,', 'parser.y', 645)
2431
2438
  def _reduce_157(val, _values, result)
2432
2439
  location = val[0].location + val[2].location
2433
2440
  result = Declarations::Constant.new(name: val[0].value,
@@ -2439,7 +2446,7 @@ module_eval(<<'.,.,', 'parser.y', 643)
2439
2446
  end
2440
2447
  .,.,
2441
2448
 
2442
- module_eval(<<'.,.,', 'parser.y', 650)
2449
+ module_eval(<<'.,.,', 'parser.y', 652)
2443
2450
  def _reduce_158(val, _values, result)
2444
2451
  location = (val[0] || val[1]).location + val[2].location
2445
2452
  name = TypeName.new(name: val[1].value, namespace: val[0]&.value || Namespace.empty)
@@ -2452,7 +2459,7 @@ module_eval(<<'.,.,', 'parser.y', 650)
2452
2459
  end
2453
2460
  .,.,
2454
2461
 
2455
- module_eval(<<'.,.,', 'parser.y', 660)
2462
+ module_eval(<<'.,.,', 'parser.y', 662)
2456
2463
  def _reduce_159(val, _values, result)
2457
2464
  location = val[0].location + val[2].location
2458
2465
  result = Declarations::Global.new(name: val[0].value.to_sym,
@@ -2466,7 +2473,7 @@ module_eval(<<'.,.,', 'parser.y', 660)
2466
2473
 
2467
2474
  # reduce 160 omitted
2468
2475
 
2469
- module_eval(<<'.,.,', 'parser.y', 670)
2476
+ module_eval(<<'.,.,', 'parser.y', 672)
2470
2477
  def _reduce_161(val, _values, result)
2471
2478
  types = case l = val[0]
2472
2479
  when Types::Union
@@ -2481,7 +2488,7 @@ module_eval(<<'.,.,', 'parser.y', 670)
2481
2488
  end
2482
2489
  .,.,
2483
2490
 
2484
- module_eval(<<'.,.,', 'parser.y', 680)
2491
+ module_eval(<<'.,.,', 'parser.y', 682)
2485
2492
  def _reduce_162(val, _values, result)
2486
2493
  types = case l = val[0]
2487
2494
  when Types::Intersection
@@ -2497,7 +2504,7 @@ module_eval(<<'.,.,', 'parser.y', 680)
2497
2504
  end
2498
2505
  .,.,
2499
2506
 
2500
- module_eval(<<'.,.,', 'parser.y', 693)
2507
+ module_eval(<<'.,.,', 'parser.y', 695)
2501
2508
  def _reduce_163(val, _values, result)
2502
2509
  result = Types::Bases::Void.new(location: val[0].location)
2503
2510
 
@@ -2505,7 +2512,7 @@ module_eval(<<'.,.,', 'parser.y', 693)
2505
2512
  end
2506
2513
  .,.,
2507
2514
 
2508
- module_eval(<<'.,.,', 'parser.y', 696)
2515
+ module_eval(<<'.,.,', 'parser.y', 698)
2509
2516
  def _reduce_164(val, _values, result)
2510
2517
  RBS.logger.warn "`any` type is deprecated. Use `untyped` instead. (#{val[0].location.to_s})"
2511
2518
  result = Types::Bases::Any.new(location: val[0].location)
@@ -2514,7 +2521,7 @@ module_eval(<<'.,.,', 'parser.y', 696)
2514
2521
  end
2515
2522
  .,.,
2516
2523
 
2517
- module_eval(<<'.,.,', 'parser.y', 700)
2524
+ module_eval(<<'.,.,', 'parser.y', 702)
2518
2525
  def _reduce_165(val, _values, result)
2519
2526
  result = Types::Bases::Any.new(location: val[0].location)
2520
2527
 
@@ -2522,7 +2529,7 @@ module_eval(<<'.,.,', 'parser.y', 700)
2522
2529
  end
2523
2530
  .,.,
2524
2531
 
2525
- module_eval(<<'.,.,', 'parser.y', 703)
2532
+ module_eval(<<'.,.,', 'parser.y', 705)
2526
2533
  def _reduce_166(val, _values, result)
2527
2534
  result = Types::Bases::Bool.new(location: val[0].location)
2528
2535
 
@@ -2530,7 +2537,7 @@ module_eval(<<'.,.,', 'parser.y', 703)
2530
2537
  end
2531
2538
  .,.,
2532
2539
 
2533
- module_eval(<<'.,.,', 'parser.y', 706)
2540
+ module_eval(<<'.,.,', 'parser.y', 708)
2534
2541
  def _reduce_167(val, _values, result)
2535
2542
  result = Types::Bases::Nil.new(location: val[0].location)
2536
2543
 
@@ -2538,7 +2545,7 @@ module_eval(<<'.,.,', 'parser.y', 706)
2538
2545
  end
2539
2546
  .,.,
2540
2547
 
2541
- module_eval(<<'.,.,', 'parser.y', 709)
2548
+ module_eval(<<'.,.,', 'parser.y', 711)
2542
2549
  def _reduce_168(val, _values, result)
2543
2550
  result = Types::Bases::Top.new(location: val[0].location)
2544
2551
 
@@ -2546,7 +2553,7 @@ module_eval(<<'.,.,', 'parser.y', 709)
2546
2553
  end
2547
2554
  .,.,
2548
2555
 
2549
- module_eval(<<'.,.,', 'parser.y', 712)
2556
+ module_eval(<<'.,.,', 'parser.y', 714)
2550
2557
  def _reduce_169(val, _values, result)
2551
2558
  result = Types::Bases::Bottom.new(location: val[0].location)
2552
2559
 
@@ -2554,7 +2561,7 @@ module_eval(<<'.,.,', 'parser.y', 712)
2554
2561
  end
2555
2562
  .,.,
2556
2563
 
2557
- module_eval(<<'.,.,', 'parser.y', 715)
2564
+ module_eval(<<'.,.,', 'parser.y', 717)
2558
2565
  def _reduce_170(val, _values, result)
2559
2566
  result = Types::Bases::Self.new(location: val[0].location)
2560
2567
 
@@ -2562,7 +2569,7 @@ module_eval(<<'.,.,', 'parser.y', 715)
2562
2569
  end
2563
2570
  .,.,
2564
2571
 
2565
- module_eval(<<'.,.,', 'parser.y', 718)
2572
+ module_eval(<<'.,.,', 'parser.y', 720)
2566
2573
  def _reduce_171(val, _values, result)
2567
2574
  result = Types::Optional.new(type: Types::Bases::Self.new(location: val[0].location),
2568
2575
  location: val[0].location)
@@ -2571,7 +2578,7 @@ module_eval(<<'.,.,', 'parser.y', 718)
2571
2578
  end
2572
2579
  .,.,
2573
2580
 
2574
- module_eval(<<'.,.,', 'parser.y', 722)
2581
+ module_eval(<<'.,.,', 'parser.y', 724)
2575
2582
  def _reduce_172(val, _values, result)
2576
2583
  result = Types::Bases::Instance.new(location: val[0].location)
2577
2584
 
@@ -2579,7 +2586,7 @@ module_eval(<<'.,.,', 'parser.y', 722)
2579
2586
  end
2580
2587
  .,.,
2581
2588
 
2582
- module_eval(<<'.,.,', 'parser.y', 725)
2589
+ module_eval(<<'.,.,', 'parser.y', 727)
2583
2590
  def _reduce_173(val, _values, result)
2584
2591
  result = Types::Bases::Class.new(location: val[0].location)
2585
2592
 
@@ -2587,7 +2594,7 @@ module_eval(<<'.,.,', 'parser.y', 725)
2587
2594
  end
2588
2595
  .,.,
2589
2596
 
2590
- module_eval(<<'.,.,', 'parser.y', 728)
2597
+ module_eval(<<'.,.,', 'parser.y', 730)
2591
2598
  def _reduce_174(val, _values, result)
2592
2599
  result = Types::Literal.new(literal: true, location: val[0].location)
2593
2600
 
@@ -2595,7 +2602,7 @@ module_eval(<<'.,.,', 'parser.y', 728)
2595
2602
  end
2596
2603
  .,.,
2597
2604
 
2598
- module_eval(<<'.,.,', 'parser.y', 731)
2605
+ module_eval(<<'.,.,', 'parser.y', 733)
2599
2606
  def _reduce_175(val, _values, result)
2600
2607
  result = Types::Literal.new(literal: false, location: val[0].location)
2601
2608
 
@@ -2603,7 +2610,7 @@ module_eval(<<'.,.,', 'parser.y', 731)
2603
2610
  end
2604
2611
  .,.,
2605
2612
 
2606
- module_eval(<<'.,.,', 'parser.y', 734)
2613
+ module_eval(<<'.,.,', 'parser.y', 736)
2607
2614
  def _reduce_176(val, _values, result)
2608
2615
  result = Types::Literal.new(literal: val[0].value, location: val[0].location)
2609
2616
 
@@ -2611,7 +2618,7 @@ module_eval(<<'.,.,', 'parser.y', 734)
2611
2618
  end
2612
2619
  .,.,
2613
2620
 
2614
- module_eval(<<'.,.,', 'parser.y', 737)
2621
+ module_eval(<<'.,.,', 'parser.y', 739)
2615
2622
  def _reduce_177(val, _values, result)
2616
2623
  result = Types::Literal.new(literal: val[0].value, location: val[0].location)
2617
2624
 
@@ -2619,7 +2626,7 @@ module_eval(<<'.,.,', 'parser.y', 737)
2619
2626
  end
2620
2627
  .,.,
2621
2628
 
2622
- module_eval(<<'.,.,', 'parser.y', 740)
2629
+ module_eval(<<'.,.,', 'parser.y', 742)
2623
2630
  def _reduce_178(val, _values, result)
2624
2631
  result = Types::Literal.new(literal: val[0].value, location: val[0].location)
2625
2632
 
@@ -2627,7 +2634,7 @@ module_eval(<<'.,.,', 'parser.y', 740)
2627
2634
  end
2628
2635
  .,.,
2629
2636
 
2630
- module_eval(<<'.,.,', 'parser.y', 743)
2637
+ module_eval(<<'.,.,', 'parser.y', 745)
2631
2638
  def _reduce_179(val, _values, result)
2632
2639
  name = val[0].value
2633
2640
  args = []
@@ -2650,7 +2657,7 @@ module_eval(<<'.,.,', 'parser.y', 743)
2650
2657
  end
2651
2658
  .,.,
2652
2659
 
2653
- module_eval(<<'.,.,', 'parser.y', 761)
2660
+ module_eval(<<'.,.,', 'parser.y', 763)
2654
2661
  def _reduce_180(val, _values, result)
2655
2662
  name = val[0].value
2656
2663
  args = val[2]
@@ -2672,7 +2679,7 @@ module_eval(<<'.,.,', 'parser.y', 761)
2672
2679
  end
2673
2680
  .,.,
2674
2681
 
2675
- module_eval(<<'.,.,', 'parser.y', 778)
2682
+ module_eval(<<'.,.,', 'parser.y', 780)
2676
2683
  def _reduce_181(val, _values, result)
2677
2684
  location = val[0].location + val[1].location
2678
2685
  result = Types::Tuple.new(types: [], location: location)
@@ -2681,7 +2688,7 @@ module_eval(<<'.,.,', 'parser.y', 778)
2681
2688
  end
2682
2689
  .,.,
2683
2690
 
2684
- module_eval(<<'.,.,', 'parser.y', 782)
2691
+ module_eval(<<'.,.,', 'parser.y', 784)
2685
2692
  def _reduce_182(val, _values, result)
2686
2693
  location = val[0].location + val[2].location
2687
2694
  types = val[1]
@@ -2691,7 +2698,7 @@ module_eval(<<'.,.,', 'parser.y', 782)
2691
2698
  end
2692
2699
  .,.,
2693
2700
 
2694
- module_eval(<<'.,.,', 'parser.y', 787)
2701
+ module_eval(<<'.,.,', 'parser.y', 789)
2695
2702
  def _reduce_183(val, _values, result)
2696
2703
  type = val[1].dup
2697
2704
  type.instance_eval do
@@ -2703,7 +2710,7 @@ module_eval(<<'.,.,', 'parser.y', 787)
2703
2710
  end
2704
2711
  .,.,
2705
2712
 
2706
- module_eval(<<'.,.,', 'parser.y', 794)
2713
+ module_eval(<<'.,.,', 'parser.y', 796)
2707
2714
  def _reduce_184(val, _values, result)
2708
2715
  result = Types::ClassSingleton.new(name: val[2].value,
2709
2716
  location: val[0].location + val[3].location)
@@ -2712,7 +2719,7 @@ module_eval(<<'.,.,', 'parser.y', 794)
2712
2719
  end
2713
2720
  .,.,
2714
2721
 
2715
- module_eval(<<'.,.,', 'parser.y', 798)
2722
+ module_eval(<<'.,.,', 'parser.y', 800)
2716
2723
  def _reduce_185(val, _values, result)
2717
2724
  result = Types::Proc.new(type: val[1].value, location: val[0].location + val[1].location)
2718
2725
 
@@ -2720,7 +2727,7 @@ module_eval(<<'.,.,', 'parser.y', 798)
2720
2727
  end
2721
2728
  .,.,
2722
2729
 
2723
- module_eval(<<'.,.,', 'parser.y', 801)
2730
+ module_eval(<<'.,.,', 'parser.y', 803)
2724
2731
  def _reduce_186(val, _values, result)
2725
2732
  result = Types::Optional.new(type: val[0], location: val[0].location + val[1].location)
2726
2733
 
@@ -2730,7 +2737,7 @@ module_eval(<<'.,.,', 'parser.y', 801)
2730
2737
 
2731
2738
  # reduce 187 omitted
2732
2739
 
2733
- module_eval(<<'.,.,', 'parser.y', 807)
2740
+ module_eval(<<'.,.,', 'parser.y', 809)
2734
2741
  def _reduce_188(val, _values, result)
2735
2742
  result = [val[0]]
2736
2743
 
@@ -2738,7 +2745,7 @@ module_eval(<<'.,.,', 'parser.y', 807)
2738
2745
  end
2739
2746
  .,.,
2740
2747
 
2741
- module_eval(<<'.,.,', 'parser.y', 810)
2748
+ module_eval(<<'.,.,', 'parser.y', 812)
2742
2749
  def _reduce_189(val, _values, result)
2743
2750
  result = val[0] + [val[2]]
2744
2751
 
@@ -2746,7 +2753,7 @@ module_eval(<<'.,.,', 'parser.y', 810)
2746
2753
  end
2747
2754
  .,.,
2748
2755
 
2749
- module_eval(<<'.,.,', 'parser.y', 815)
2756
+ module_eval(<<'.,.,', 'parser.y', 817)
2750
2757
  def _reduce_190(val, _values, result)
2751
2758
  result = Types::Record.new(
2752
2759
  fields: val[1],
@@ -2757,7 +2764,7 @@ module_eval(<<'.,.,', 'parser.y', 815)
2757
2764
  end
2758
2765
  .,.,
2759
2766
 
2760
- module_eval(<<'.,.,', 'parser.y', 823)
2767
+ module_eval(<<'.,.,', 'parser.y', 825)
2761
2768
  def _reduce_191(val, _values, result)
2762
2769
  result = val[0]
2763
2770
 
@@ -2765,7 +2772,7 @@ module_eval(<<'.,.,', 'parser.y', 823)
2765
2772
  end
2766
2773
  .,.,
2767
2774
 
2768
- module_eval(<<'.,.,', 'parser.y', 826)
2775
+ module_eval(<<'.,.,', 'parser.y', 828)
2769
2776
  def _reduce_192(val, _values, result)
2770
2777
  result = val[0].merge!(val[2])
2771
2778
 
@@ -2773,7 +2780,7 @@ module_eval(<<'.,.,', 'parser.y', 826)
2773
2780
  end
2774
2781
  .,.,
2775
2782
 
2776
- module_eval(<<'.,.,', 'parser.y', 831)
2783
+ module_eval(<<'.,.,', 'parser.y', 833)
2777
2784
  def _reduce_193(val, _values, result)
2778
2785
  result = { val[0].value => val[2] }
2779
2786
 
@@ -2781,7 +2788,7 @@ module_eval(<<'.,.,', 'parser.y', 831)
2781
2788
  end
2782
2789
  .,.,
2783
2790
 
2784
- module_eval(<<'.,.,', 'parser.y', 834)
2791
+ module_eval(<<'.,.,', 'parser.y', 836)
2785
2792
  def _reduce_194(val, _values, result)
2786
2793
  result = { val[0].value => val[2] }
2787
2794
 
@@ -2789,7 +2796,7 @@ module_eval(<<'.,.,', 'parser.y', 834)
2789
2796
  end
2790
2797
  .,.,
2791
2798
 
2792
- module_eval(<<'.,.,', 'parser.y', 837)
2799
+ module_eval(<<'.,.,', 'parser.y', 839)
2793
2800
  def _reduce_195(val, _values, result)
2794
2801
  result = { val[0].value => val[2] }
2795
2802
 
@@ -2797,7 +2804,7 @@ module_eval(<<'.,.,', 'parser.y', 837)
2797
2804
  end
2798
2805
  .,.,
2799
2806
 
2800
- module_eval(<<'.,.,', 'parser.y', 840)
2807
+ module_eval(<<'.,.,', 'parser.y', 842)
2801
2808
  def _reduce_196(val, _values, result)
2802
2809
  result = { val[0].value => val[1] }
2803
2810
 
@@ -2807,7 +2814,7 @@ module_eval(<<'.,.,', 'parser.y', 840)
2807
2814
 
2808
2815
  # reduce 197 omitted
2809
2816
 
2810
- module_eval(<<'.,.,', 'parser.y', 846)
2817
+ module_eval(<<'.,.,', 'parser.y', 848)
2811
2818
  def _reduce_198(val, _values, result)
2812
2819
  result = val[0]
2813
2820
 
@@ -2823,7 +2830,7 @@ module_eval(<<'.,.,', 'parser.y', 846)
2823
2830
 
2824
2831
  # reduce 202 omitted
2825
2832
 
2826
- module_eval(<<'.,.,', 'parser.y', 853)
2833
+ module_eval(<<'.,.,', 'parser.y', 855)
2827
2834
  def _reduce_203(val, _values, result)
2828
2835
  location = val[0].location + val[4].location
2829
2836
  type = Types::Function.new(
@@ -2843,7 +2850,7 @@ module_eval(<<'.,.,', 'parser.y', 853)
2843
2850
  end
2844
2851
  .,.,
2845
2852
 
2846
- module_eval(<<'.,.,', 'parser.y', 868)
2853
+ module_eval(<<'.,.,', 'parser.y', 870)
2847
2854
  def _reduce_204(val, _values, result)
2848
2855
  location = val[0].location + val[1].location
2849
2856
  type = Types::Function.new(
@@ -2854,7 +2861,7 @@ module_eval(<<'.,.,', 'parser.y', 868)
2854
2861
  required_keywords: {},
2855
2862
  optional_keywords: {},
2856
2863
  rest_keywords: nil,
2857
- return_type: val[2]
2864
+ return_type: val[1]
2858
2865
  )
2859
2866
 
2860
2867
  result = LocatedValue.new(value: type, location: location)
@@ -2863,7 +2870,7 @@ module_eval(<<'.,.,', 'parser.y', 868)
2863
2870
  end
2864
2871
  .,.,
2865
2872
 
2866
- module_eval(<<'.,.,', 'parser.y', 885)
2873
+ module_eval(<<'.,.,', 'parser.y', 887)
2867
2874
  def _reduce_205(val, _values, result)
2868
2875
  result = val[2]
2869
2876
  result[0].unshift(val[0])
@@ -2872,7 +2879,7 @@ module_eval(<<'.,.,', 'parser.y', 885)
2872
2879
  end
2873
2880
  .,.,
2874
2881
 
2875
- module_eval(<<'.,.,', 'parser.y', 889)
2882
+ module_eval(<<'.,.,', 'parser.y', 891)
2876
2883
  def _reduce_206(val, _values, result)
2877
2884
  result = empty_params_result
2878
2885
  result[0].unshift(val[0])
@@ -2883,7 +2890,7 @@ module_eval(<<'.,.,', 'parser.y', 889)
2883
2890
 
2884
2891
  # reduce 207 omitted
2885
2892
 
2886
- module_eval(<<'.,.,', 'parser.y', 896)
2893
+ module_eval(<<'.,.,', 'parser.y', 898)
2887
2894
  def _reduce_208(val, _values, result)
2888
2895
  result = val[2]
2889
2896
  result[1].unshift(val[0])
@@ -2892,7 +2899,7 @@ module_eval(<<'.,.,', 'parser.y', 896)
2892
2899
  end
2893
2900
  .,.,
2894
2901
 
2895
- module_eval(<<'.,.,', 'parser.y', 900)
2902
+ module_eval(<<'.,.,', 'parser.y', 902)
2896
2903
  def _reduce_209(val, _values, result)
2897
2904
  result = empty_params_result
2898
2905
  result[1].unshift(val[0])
@@ -2903,7 +2910,7 @@ module_eval(<<'.,.,', 'parser.y', 900)
2903
2910
 
2904
2911
  # reduce 210 omitted
2905
2912
 
2906
- module_eval(<<'.,.,', 'parser.y', 907)
2913
+ module_eval(<<'.,.,', 'parser.y', 909)
2907
2914
  def _reduce_211(val, _values, result)
2908
2915
  result = val[2]
2909
2916
  result[2] = val[0]
@@ -2912,7 +2919,7 @@ module_eval(<<'.,.,', 'parser.y', 907)
2912
2919
  end
2913
2920
  .,.,
2914
2921
 
2915
- module_eval(<<'.,.,', 'parser.y', 911)
2922
+ module_eval(<<'.,.,', 'parser.y', 913)
2916
2923
  def _reduce_212(val, _values, result)
2917
2924
  result = empty_params_result
2918
2925
  result[2] = val[0]
@@ -2923,7 +2930,7 @@ module_eval(<<'.,.,', 'parser.y', 911)
2923
2930
 
2924
2931
  # reduce 213 omitted
2925
2932
 
2926
- module_eval(<<'.,.,', 'parser.y', 918)
2933
+ module_eval(<<'.,.,', 'parser.y', 920)
2927
2934
  def _reduce_214(val, _values, result)
2928
2935
  result = val[2]
2929
2936
  result[3].unshift(val[0])
@@ -2932,7 +2939,7 @@ module_eval(<<'.,.,', 'parser.y', 918)
2932
2939
  end
2933
2940
  .,.,
2934
2941
 
2935
- module_eval(<<'.,.,', 'parser.y', 922)
2942
+ module_eval(<<'.,.,', 'parser.y', 924)
2936
2943
  def _reduce_215(val, _values, result)
2937
2944
  result = empty_params_result
2938
2945
  result[3].unshift(val[0])
@@ -2943,7 +2950,7 @@ module_eval(<<'.,.,', 'parser.y', 922)
2943
2950
 
2944
2951
  # reduce 216 omitted
2945
2952
 
2946
- module_eval(<<'.,.,', 'parser.y', 929)
2953
+ module_eval(<<'.,.,', 'parser.y', 931)
2947
2954
  def _reduce_217(val, _values, result)
2948
2955
  result = empty_params_result
2949
2956
 
@@ -2951,7 +2958,7 @@ module_eval(<<'.,.,', 'parser.y', 929)
2951
2958
  end
2952
2959
  .,.,
2953
2960
 
2954
- module_eval(<<'.,.,', 'parser.y', 932)
2961
+ module_eval(<<'.,.,', 'parser.y', 934)
2955
2962
  def _reduce_218(val, _values, result)
2956
2963
  result = val[2]
2957
2964
  result[4].merge!(val[0])
@@ -2960,7 +2967,7 @@ module_eval(<<'.,.,', 'parser.y', 932)
2960
2967
  end
2961
2968
  .,.,
2962
2969
 
2963
- module_eval(<<'.,.,', 'parser.y', 936)
2970
+ module_eval(<<'.,.,', 'parser.y', 938)
2964
2971
  def _reduce_219(val, _values, result)
2965
2972
  result = empty_params_result
2966
2973
  result[4].merge!(val[0])
@@ -2969,7 +2976,7 @@ module_eval(<<'.,.,', 'parser.y', 936)
2969
2976
  end
2970
2977
  .,.,
2971
2978
 
2972
- module_eval(<<'.,.,', 'parser.y', 940)
2979
+ module_eval(<<'.,.,', 'parser.y', 942)
2973
2980
  def _reduce_220(val, _values, result)
2974
2981
  result = val[2]
2975
2982
  result[5].merge!(val[0])
@@ -2978,7 +2985,7 @@ module_eval(<<'.,.,', 'parser.y', 940)
2978
2985
  end
2979
2986
  .,.,
2980
2987
 
2981
- module_eval(<<'.,.,', 'parser.y', 944)
2988
+ module_eval(<<'.,.,', 'parser.y', 946)
2982
2989
  def _reduce_221(val, _values, result)
2983
2990
  result = empty_params_result
2984
2991
  result[5].merge!(val[0])
@@ -2987,7 +2994,7 @@ module_eval(<<'.,.,', 'parser.y', 944)
2987
2994
  end
2988
2995
  .,.,
2989
2996
 
2990
- module_eval(<<'.,.,', 'parser.y', 948)
2997
+ module_eval(<<'.,.,', 'parser.y', 950)
2991
2998
  def _reduce_222(val, _values, result)
2992
2999
  result = empty_params_result
2993
3000
  result[6] = val[0]
@@ -2996,7 +3003,7 @@ module_eval(<<'.,.,', 'parser.y', 948)
2996
3003
  end
2997
3004
  .,.,
2998
3005
 
2999
- module_eval(<<'.,.,', 'parser.y', 954)
3006
+ module_eval(<<'.,.,', 'parser.y', 956)
3000
3007
  def _reduce_223(val, _values, result)
3001
3008
  result = Types::Function::Param.new(type: val[0],
3002
3009
  name: val[1]&.value&.to_sym)
@@ -3005,7 +3012,7 @@ module_eval(<<'.,.,', 'parser.y', 954)
3005
3012
  end
3006
3013
  .,.,
3007
3014
 
3008
- module_eval(<<'.,.,', 'parser.y', 960)
3015
+ module_eval(<<'.,.,', 'parser.y', 962)
3009
3016
  def _reduce_224(val, _values, result)
3010
3017
  result = Types::Function::Param.new(type: val[1],
3011
3018
  name: val[2]&.value&.to_sym)
@@ -3014,7 +3021,7 @@ module_eval(<<'.,.,', 'parser.y', 960)
3014
3021
  end
3015
3022
  .,.,
3016
3023
 
3017
- module_eval(<<'.,.,', 'parser.y', 966)
3024
+ module_eval(<<'.,.,', 'parser.y', 968)
3018
3025
  def _reduce_225(val, _values, result)
3019
3026
  result = Types::Function::Param.new(type: val[1],
3020
3027
  name: val[2]&.value&.to_sym)
@@ -3023,7 +3030,7 @@ module_eval(<<'.,.,', 'parser.y', 966)
3023
3030
  end
3024
3031
  .,.,
3025
3032
 
3026
- module_eval(<<'.,.,', 'parser.y', 972)
3033
+ module_eval(<<'.,.,', 'parser.y', 974)
3027
3034
  def _reduce_226(val, _values, result)
3028
3035
  param = Types::Function::Param.new(type: val[1],
3029
3036
  name: val[2]&.value&.to_sym)
@@ -3033,7 +3040,7 @@ module_eval(<<'.,.,', 'parser.y', 972)
3033
3040
  end
3034
3041
  .,.,
3035
3042
 
3036
- module_eval(<<'.,.,', 'parser.y', 979)
3043
+ module_eval(<<'.,.,', 'parser.y', 981)
3037
3044
  def _reduce_227(val, _values, result)
3038
3045
  param = Types::Function::Param.new(type: val[2],
3039
3046
  name: val[3]&.value&.to_sym)
@@ -3043,7 +3050,7 @@ module_eval(<<'.,.,', 'parser.y', 979)
3043
3050
  end
3044
3051
  .,.,
3045
3052
 
3046
- module_eval(<<'.,.,', 'parser.y', 986)
3053
+ module_eval(<<'.,.,', 'parser.y', 988)
3047
3054
  def _reduce_228(val, _values, result)
3048
3055
  result = Types::Function::Param.new(type: val[1],
3049
3056
  name: val[2]&.value&.to_sym)
@@ -3060,7 +3067,7 @@ module_eval(<<'.,.,', 'parser.y', 986)
3060
3067
 
3061
3068
  # reduce 232 omitted
3062
3069
 
3063
- module_eval(<<'.,.,', 'parser.y', 995)
3070
+ module_eval(<<'.,.,', 'parser.y', 997)
3064
3071
  def _reduce_233(val, _values, result)
3065
3072
  namespace = val[0]&.value || Namespace.empty
3066
3073
  name = val[1].value.to_sym
@@ -3078,7 +3085,7 @@ module_eval(<<'.,.,', 'parser.y', 995)
3078
3085
 
3079
3086
  # reduce 236 omitted
3080
3087
 
3081
- module_eval(<<'.,.,', 'parser.y', 1007)
3088
+ module_eval(<<'.,.,', 'parser.y', 1009)
3082
3089
  def _reduce_237(val, _values, result)
3083
3090
  namespace = val[0]&.value || Namespace.empty
3084
3091
  name = val[1].value.to_sym
@@ -3090,7 +3097,7 @@ module_eval(<<'.,.,', 'parser.y', 1007)
3090
3097
  end
3091
3098
  .,.,
3092
3099
 
3093
- module_eval(<<'.,.,', 'parser.y', 1016)
3100
+ module_eval(<<'.,.,', 'parser.y', 1018)
3094
3101
  def _reduce_238(val, _values, result)
3095
3102
  namespace = val[0]&.value || Namespace.empty
3096
3103
  name = val[1].value.to_sym
@@ -3102,7 +3109,7 @@ module_eval(<<'.,.,', 'parser.y', 1016)
3102
3109
  end
3103
3110
  .,.,
3104
3111
 
3105
- module_eval(<<'.,.,', 'parser.y', 1025)
3112
+ module_eval(<<'.,.,', 'parser.y', 1027)
3106
3113
  def _reduce_239(val, _values, result)
3107
3114
  result = nil
3108
3115
 
@@ -3110,7 +3117,7 @@ module_eval(<<'.,.,', 'parser.y', 1025)
3110
3117
  end
3111
3118
  .,.,
3112
3119
 
3113
- module_eval(<<'.,.,', 'parser.y', 1028)
3120
+ module_eval(<<'.,.,', 'parser.y', 1030)
3114
3121
  def _reduce_240(val, _values, result)
3115
3122
  result = LocatedValue.new(value: Namespace.root, location: val[0].location)
3116
3123
 
@@ -3118,7 +3125,7 @@ module_eval(<<'.,.,', 'parser.y', 1028)
3118
3125
  end
3119
3126
  .,.,
3120
3127
 
3121
- module_eval(<<'.,.,', 'parser.y', 1031)
3128
+ module_eval(<<'.,.,', 'parser.y', 1033)
3122
3129
  def _reduce_241(val, _values, result)
3123
3130
  namespace = Namespace.parse(val[1].value).absolute!
3124
3131
  result = LocatedValue.new(value: namespace, location: val[0].location + val[1].location)
@@ -3127,7 +3134,7 @@ module_eval(<<'.,.,', 'parser.y', 1031)
3127
3134
  end
3128
3135
  .,.,
3129
3136
 
3130
- module_eval(<<'.,.,', 'parser.y', 1035)
3137
+ module_eval(<<'.,.,', 'parser.y', 1037)
3131
3138
  def _reduce_242(val, _values, result)
3132
3139
  namespace = Namespace.parse(val[0].value)
3133
3140
  result = LocatedValue.new(value: namespace, location: val[0].location)